ELDFLUGA

hem om mig cv arbetsprov kontakt

KeyHole

ett program som hanterar ett bildbibliotek

Vi var en grupp studenter vid KTH som genomförde projektet ”KeyHole” som projektarbete i kursen Mjukvarukonstruktion (Software Enginering). Jag var projektledare eller samordnare, och i praktiken tog jag också ett ganska stort ansvar för att projektet skulle bli som det blev, att vi levererade dokument av kvalité i tid, och att produkten överhuvudtaget blev vad vi lovat.

KeyHole är ett fristående Windowsprogram avsett för ett lokalt nätverk. Därför kan det inte demonstreras i funktion på Internet. Läsaren får nöja sig med min beskrivning.

KeyHole är avsett för en mindre organisation, t.ex. en NGO eller en mindre tidningsredaktion. Det kan också vara en mindre bildbyrå. Vi räknar med att det kan finnas 100.000-tals bilder (men inte miljoner) som vi vill lagra på en server med en stor hårddisk. Problemet är att organisera bilderna så att man vågar tro att man kommer att återfinna dem när man behöver dem. Det finns 100-tals program på marknaden som påstår sig lösa detta problem. Men jag tycker inte de lyckas. Det vanligaste är att använda sig av nyckelord, etikettord (eng. ”tags”) som associeras med bilderna. Men då har man istället problemet att hålla reda på nyckelorden.

Taxonomi

En idé är att organisera ett ”naturligt” system av bildmotiv och sedan ordna katalogsystemet efter det. Problemet är att det inte finns ett naturligt system. Betrakta t.ex. en naturbild, den föreställer kanske en ekorre som sitter på stammen av ett träd och i bakgrunden syns skogen. Vi kan välja att sortera bilden systematiskt enligt Linnés ”Systema Natura” (här i en modernare version med vardagligt språk): djur-däggdjur-gnagare-ekorre. Men vi kunde lika gärna kunnat vilja ordna bilden ekologiskt. När bilden togs var det kanske i ett samband där en naturtyp skulle skildras. Då vore det mer adekvat att sätta taggarna: naturtyp-skog-blåbärsgranskog-växtätare-däggdjur. Ännu troligare är att vi vill ordna bilden geografiskt. Sverige-Uppland-Tierp-Sätra-”Sätra urskog”.

Flera taxonomier parallellt

Min idé är att tillåta flera naturliga system ordnade som trädstrukturer med nyckelord i varje nod (löv eller förgreningsställe). Man väljer nyckelord direkt ur träden. Bilderna tilldelas nyckelord från den valda noden och uppåt t.o.m. trädets rot.

Träden av nyckelord skall användas också när man söker. Genom att välja nyckelord ur en befintlig mängd minskar risken att vi använt olika ordformer. Den synliga strukturen är också ett utmärkt stöd för minnet.

Fotohögar

Vi ville också bemästra problemet med original och kopior. En bild bearbetas ju för det mesta och konverteras till andra format, beskärs m.m. Till slut har man hel ”hög” av varianter på en och samma bild. Vi ville erbjuda ett sätt att hantera dessa tillsammans, i vissa avseenden som en bild, men som kunde packa upp vid behov. Vi kallar det en ”fotohög” och vårt program hanterar sådana.

Client-Server

Förutom att vi utvecklat dessa nya egenskaper för ett bibliteksprogram fick vi tillfälle att pröva en rad vanliga standardtekniker för ett Windows-program med en server och ett klientprogram med grafiskt användargränssnitt. Vi använde C# och Visual Studio 2005, med stöd av Microsofts Team Foundation Server. Det känns som om vi prövat en professionell miljö för programutveckling.

Om designdokumentet