• No results found

Prototyp av en interaktiv produktkatalog

N/A
N/A
Protected

Academic year: 2021

Share "Prototyp av en interaktiv produktkatalog"

Copied!
92
0
0

Loading.... (view fulltext now)

Full text

(1)

School of Mathematics and Systems Engineering

Reports from MSI - Rapporter från MSI

Prototyp av en interaktiv produktkatalog

(2)

Förord

(3)

Sammanfattning

I studien gör jag en avvägning mellan komplexitet, användbarhet och implementeringstid av olika komponenter som bygger upp en interaktiv produktkatalog.

Komplexitet är ett begrepp som är svårtolkat, detta beror dels på att olika personer tolkar begreppet på olika sätt. När ett system byggs upp är det bra att det har låg komplexitet och att systemet går fort att bygga upp. Anledning till att komponenterna som bygger upp systemet ska ha låg komplexitet är bland annat att det går att återanvända komponenterna i andra projekt, enklare att uppdatera och felsöka systemet, systemet upplevs bättre, enklare och är mer överskådligt.

För att kunna mäta komplexitet används Reschers nio olika aspekter av komplexitet, studien väger också in hur komplext användarna av katalogen upplever de olika

komponenterna.

Studien visar att en katalog som hämtar informationen från en extern källa och en katalog där informationen finns inbakad i systemet är komplex på olika sätt. Katalogen som hämtar informationen, är med få produkter mer komplex än den andra katalogen med samma antal produkter. Detta är på grund av tidskomplexiteten och alla

komponenter som katalogen är uppbyggd av. Katalogen som inte hämtar information från en extern källa är mer sammanflätad i sin uppbyggnad och därmed komplex. Det märks när uppdateringar av systemet ska ske och då kommer implementeringstiden för

katalogen som hämtar information från en extern källa att vara mindre än den andra katalogen. En lämplig avvägning är då att om katalogen ska uppdateras och har ett flertal produkter bör systemet vara uppbyggt på ett sätt som gör att katalogen kan hämta

(4)

Innehållsförteckning

1 Inledning ... 6 1.1 Bakgrund... 6 1.2 Frågeställning... 6 1.2.1 Förklaring av begrepp ... 6 1.3 Syfte ... 7 1.4 Målgrupp... 7 1.5 Metod ... 7 1.6 Avgränsningar... 8 2 Teori... 9 2.1 Tidigare forskning... 9 2.2 Interaktivitet... 10 2.3 Användartest ... 12 2.4 Fältstudier ... 14 2.5 Komplexitet... 14 3 Fältstudie... 17

3.1 Intervju med beställaren... 17

3.2 Intervju med en säljare... 17

3.3 Kravspecifikation... 19

3.3.1 Kravspecifikation från beställaren ... 19

3.3.2 Kravspecifikation över vilka funktioner som ska finnas med ... 21

4 Framtagning av prototyp... 22 4.1 Val av teknik ... 23 4.2 Val av verktyg... 23 4.2.1 Macromedia Director ... 25 4.2.2 Macromedia Flash... 25 4.2.3 PHP: Hypertext Preprocessor ... 25 4.2.4 MySQL ... 25 4.2.5 Cult3D... 25

4.2.6 Autodesk 3d studio Max ... 26

4.3 Implementering... 26

4.3.1 Dynamisk uppbyggnad och hämtning av information... 26

4.3.2 Databas... 28 4.3.3 Zoomfunktion ... 28 4.3.4 Sökfunktion... 31 4.3.5 Dynamisk tabell ... 32 4.3.6 Externa länkar ... 33 4.3.7 Egna anteckningar... 34 4.3.8 Klickbar navigationsbild... 35 4.3.9 Innehållsförteckning ... 35 4.3.10 3D-visualisering... 36

4.3.11 Resonemang kring komplexitet av funktionerna ... 36

5 Användartest 1 ... 42

6 Användartest 2 ... 43

(5)

7 Diskussion och slutsatser ... 51

8 Referenser ... 55

Bilaga A, Intervjufrågor. ... 57

Bilaga B, Användartest utförd av en sjuksköterska ... 58

Bilaga C, Användartest med kvalitets- och IT-ansvarige ... 61

Bilaga D, Användartest utfört av produktspecialist ... 63

Bilaga E, Användartest med konsult... 65

Bilaga F, Resultat och analys av användartest ett ... 68

Bilaga G, Användartest två ... 70

Figurförteckning

Figur 1. Dialog mellan användare och dator Figur 2. Dialog mellan användare och dator

Figur 3. Schematisk skiss över systemets uppbyggnad och funktion Figur 4. Översiktsbild över gasutrustning

Figur 5. Skiss över hur flexibel och statisk information kan vara lagrad Figur 6. Exempel på interaktion mellan Flash och Director

Figur 7. Beskriver hur kommunikationen går till

Figur 8. Figuren visar hur bildstorlek och textyta förhåller sig till varandra Figur 9. Skärmdump över visuell återkoppling.och mapping

Figur 10. Skärmdump över zoomfunktion

Figur 11. Skärmdump över zoomfunktion i författarverktyget Flash Figur 12. Översikt hur informationsflödet är i sökfunktionen Figur 13. Skärmdump över sökfunktion

Figur 14. Dynamisk tabell

Figur 15. Sortering och markering i en dynamisk tabell Figur 16. MySQL databas struktur för dynamisktabell Figur 17. Externa Länkar

Figur 18. Egna anteckningar Figur 19. Klickbar navigationsbild

Figur 20. Innehållsförteckningen är expanderbar

Figur 21. Diagram över viktigt det är att katalogen är uppdaterad

Figur 22. Graf över avvägning mellan komplexitet och användbarheten av de olika funktionerna

Figur 23. Graf över avvägning mellan komplexitet och antalet användare som skulle använda de olika funktionerna

Figur 24. Graf över avvägning mellan komplexitet och implementeringtid utifrån de olika funktionerna

Figur 25. Klickbar översiktsbild i prototypen Figur 26. Meny till höger

Figur 27. Innehållsförteckning som utvidgar sig Figur 28. Skärmdump över prototypen

Figur 29. Länkar till externa filer

(6)

Figur 32. Tryckvakt med locket öppet Figur 33. Zoomfunktion över en tryckvakt Figur 34. bläddringsnavigering

Tabellförteckning

Tabell 1. Tabell över komplexiteten i de olika funktionerna

Tabell 2. Tabell över implementeringstid, tekniker och komplexitet över de olika funktionerna. Siffrorna över komplexitet är hämtade från tabell 1, där summan av de olika aspekterna är dividerat på antalet aspekter

Tabell 3. Sammanställning av användartest 2

(7)

1

Inledning

Det här examensarbetet har utförts på kandidatnivå i medieteknologi, på Matematiska och Systemtekniska Institutionen vid Växjö Universitet. Prototypen som ligger till grund av för studien tillämpades på Lodge & Company AB:s produktkatalog. Handledare har varit Rune Körnefors.

Examensarbetet undersöker olika former av komplexitet och hur komplexiteten förhåller sig till implementeringstiden. Ett exempel på detta är att jag undersöker om en 3D-visualisering, som föreställer en produkt som går att rotera och zooma in, tar för lång tid att implementera i förhållande till komplexiteten och om funktionen är användbar.

1.1 Bakgrund

Lodge & Company AB anlitas av ledande företag och organisationer inom

rörledningssystem för att producera handböcker, instruktioner om regelverk, broschyrer, foldrar och kataloger. Produktkatalogerna har idag börjat digitaliseras i PDF-format, Portable Document Format, som är ett plattformsoberoende dokumentformat. Uppdraget för examensarbetet är att undersöka vad för slags interaktivitet som kan göra dessa kataloger bättre.

Idag är en traditionell produktkatalog tryckt på papper och skickas ut med post till kunder. Problemet med denna typ av produktkatalog är:

• att tryckning, paketering och distribution måste ske, • att det är svårt att återgärda felen direkt i en distribution, • att man får problem med gamla och inaktuella kopior, • att uppdateringar tar lång tid,

• att kostnaden är hög.

När kunden får dagens tryckta produktkatalog är den förmodligen redan inaktuell. En lösning på detta problem är att skicka ut klisterlappar till kunderna så att de själva kan klistra över den inaktuella informationen. På detta sätt går det att göra produktkatalogen förändringsbar och mer flexibel, men det är ingen bra lösning.

Idag har nästan alla kunder i målgruppen tillgång till en dator med en

Internetuppkoppling. Detta gör att det skapas nya möjligheter att byta medium av produktkatalogen från en statisk pappersversion till en flexibel digital version. Detta medför också att kostnaderna kan minskas och kunderna får aktuell information.

1.2 Frågeställning

Vad är en lämplig avvägning mellan komplexitet och implementeringstid i en interaktiv produktkatalog?

1.2.1 Förklaring av begrepp

(8)

hänger samman på ett överskådligt sätt. Aspekter som tidskomplexitet och strukturen av koden läggs också in i resonemangen kring komplexitet.

Systemet kan också bli svårbegripligt för användaren och därmed komplext.

Implementeringstid.

Med implementeringstid menas den tiden det tar att programmera. Alltså

implementeringstiden för en funktion är den tiden det tar att skriva funktionens källkod. Framtagning av material som inte rör programmeringen av katalogen räknas inte med i implementeringstiden. Exempel på material som inte räknas med i studien är modellering av 3D-objekt och framtagning av produktbilder.

I studien är implementeringstiden subjektiv då den bara har tagit hänsyn till den tiden det har tagit för mig att implementera de olika funktionerna.

Interaktiv produktkatalog

Att skapa interaktivitet i en produktkatalog är ett sätt att göra produktkatalogen mer användarvänlig och öppna upp nya möjligheter. Ett exempel på en möjlighet är att användaren kan snurra på ett 3D-objekt.

Alltså med en interaktiv elektronisk produktkatalog menar jag en digital produktkatalog där användaren kan påverka katalogen genom sitt handlande.

1.3 Syfte

Syftet med examensarbetet är att öka kvaliteten, tillgängligheten och minska kostnaden för informationen i en produktkatalog. Det är också meningen att ta reda på vilket

resonemang man kan vid implementering av en funktion till en interaktiv produktkatalog. Alltså vilka faktorer som rör implementeringen av de olika funktionerna. Ett exempel kan vara hur lång tid det tar att implementera funktionen gentemot vad användaren får ut av den.

1.4 Målgrupp

Målgruppen för produktkatalogen är AGA Linde Healthcare innesäljare, sjuksköterskor, medicintekniska avdelningar på svenska sjukhus, avdelningsföreståndare på svenska sjukhus, konsulter, svenska besiktningsmannakåren, VVS-installatörer samt inköpare för förbrukning och utrustning inom Landstingen.

I projektet avgränsade jag målgruppen till AGA Linde Healthcare innesäljare, sjuksköterskor, konsulter och VVS-arkitekter. Anledningen till avgränsningen är tillgängligheten och att den delen av målgruppen är den primära målgruppen.

1.5 Metod

(9)

Jag använde mig av en kombination av den kvantitativa och kvalitativa metoden. I startskedet av studien använde jag mig av den kvantitativa metoden då jag samlade in data och analyserade som låg till grunden för att skapade en prototyp. Detta övergick sedan till en mer kvalitativ metod då jag gjorde interjuver och användartest som bygger på observationer.

Trost (1997, s.7) hävdar att kvalitativa intervjuer utmärks bland annat genom att man ställer raka frågor och får tillbaka komplexa och innehållsrika svar. Det medför att efter alla intervjuer har man rikt material där man kan finna intressanta förlopp, åsikter, mönster och mycket annat.

Trost (1997, s.8) menar att med den kvantitativa metoden menas olika typer av mätningar där data utgörs av siffror.

Kvalitativa har öppna intervjuer, analys av skrivet material. Den kvalitativa metodiken är också ofta i sin karaktär subjektiv medan den kvantitativa metoden strävar efter

objektivitet.

Det första användartestet och de första intervjuerna bygger på en helt kvalitativ studie enligt Trost (1997, s.12) då datainsamling, analys/bearbetning och tolkningen var

kvalitativ. Det andra användartestet var en kombination av kvalitativ respektive kvantitativ studie. I bearbetningen av det andra användartestet klassificerar jag svaren som rangordningsskalor. Men jag tolkar resultatet på ett kvalitativt sätt.

Tidigare forskningsrapporter och litteratur inom området studerades för att få en bild av hur den aktuella situationen ser ut. Intervju med beställaren gjordes för att ta reda på företagets behov av att skapa en digital interaktiv produktkatalog. En jämförelse mellan det som togs fram i intervjun och tidigare forskningsrapporter samt litteraturen inom området gjordes och en kravspecifikation togs fram. En intervju med representanter från målgruppen gjordes för att ta reda på vilka målgruppens behov var. Kravspecifikationen reviderades och en ny kravspecifikation togs fram.

En prototyp av produktkatalogen skapades för att avgöra hur lång tid det tar att implementera de olika funktionerna som togs upp i kravspecifikationen samt för att ha underlag för att skapa ett användartest. Prototypen användartestades av representanter från produktkatalogens målgrupp samt av företaget. ”Tänka högt” metoden används vid användartest, se kapitel 2.3. En utvärdering av användartestet utfördes. Syftet med användartestet är att ta reda på vad för mervärde som användaren får ut av de olika funktionerna samt att stämma av med kravspecifikationen som togs fram.

Frågeställningen besvaras genom att ta reda på hur lång tid de olika funktionerna tar att implementera och analysera vad nyttan är av dem. Analysen baserar sig på

användartesten av prototypen där de olika funktionerna finns med.

1.6 Avgränsningar

Studien avgränsas till funktionalitet och gränssnitt. Den inriktar sig på interaktion och funktion. Analysen av komplexitet utgår jag ifrån Cilliers (1998) teori och Reschers (1998, s.9) nio aspekter av komplexitet.

(10)

2

Teori

Den litteratur och forskning som jag har använt mig av har jag hittat i böcker och i databaser på webben. Jag har använt mig av Google Scholar, ELIN (Electronic Library Information Navigator), Scirus och Libris för att hitta den elektroniska litteraturen. De sökord som jag har använt mig utav är: 3D, product, sale, magazine, online, catalog, zoom, search, cult3D, simulation, Internet, shop, interactive, interaktiv, usability,

cognitive science, e-lärande, web-based, catalogue, complexity, analys, komplexa system och komplexitet. Sökorden har jag kombinerat med varandra och jag har även böjt orden i olika former för att få begränsat urval och mer aktuella träffar. Jag använde mig av både svenska och engelska sökord. Innan begränsningarna gjordes, var det många samt

irrelevanta träffar.

2.1 Tidigare forskning

Det finns en hel del tidigare forskning gjord om visualisering i 3D och online-kataloger. Däremot hittade jag inte så mycket om de olika delar som bygger upp en interaktiv produktkatalog.

Skillnaden i tid och pris mellan att utveckla en papperskatalog och en digitalkatalog har undersökts av Yen med flera (2003, s.337-349). Det de kommer fram till i sin studie är att det tar längre tid att utveckla en digital katalog än en papperskatalog. Däremot är priset på att skapa digitala kataloger bara en tiondel av priset på en papperskatalog, då man räknar på en katalog som trycks i ca 250 exemplar. Dessutom kommer de fram till att det är mer effektivare att skapa en digital katalog som går att uppdatera än en statisk katalog som inte går att uppdatera. Det tar lite längre tid att utveckla en dynamisk katalogen, det vill säga en katalog som går att uppdatera på ett enkelt sätt, än en statisk katalog. Men den tiden spar man in när uppdateringarna av katalogen sker.

Enligt Bernsten med flera (2001, s.18-19), har en webbaserad katalog ett oändligt djup, eftersom den kan ta emot ordrar direkt och skicka tillbaka orderbekräftelser. Det går också att uppdatera katalogen kontinuerligt och kostnaderna för distributionen är låg. Problemet är att stora högupplösta bilder tar lång tid att ladda ner. De menar också att det är svårt att göra en digitalkatalog av en papperskatalog. Den traditionella katalogen får kunden med posten, lägger den sedan på bordet bläddrar i den titt som tätt och bestämmer sig att beställa en sak som de aldrig hade tänkt köpa tidigare. I detta avseende kan en digitalkatalog inte ersätta den tryckta papperskatalogen. Det gäller alltså att engagera kunden. Det sätt som man kan lösa detta med är ”selling-as-entertainment”, det vill säga förena ljud, bild och video. Detta kan man likna vid TV-shop där de gör lite av en show av produkten som de säljer.

Bernsten med flera (2001, s.19-20) menar att så länge informationen är beroende av sin bärare, styrs den av en kompromiss mellan kvalificerad information och det antal människor som utbyter informationen. Kvalificerad information i sin tur kan delas upp i tre begrepp; bandbredd [mängd information som kan skickas från en sändare till en mottagare inom given tid], skräddarsydd [att skapa mer personlig informationen för mottagaren] samt interaktivitet [interaktivitet mellan sändaren och mottagaren skapas].

(11)

papperskataloger. Ginza är ett postorderföretag som lät övergången mellan

papperskatalog till digital katalog ta tid och har fått en väldigt lyckad webbhandel. Under de fyra åren som utvecklingsfasen tog för att övergå från papperskatalog till e-handel ökade de sin försäljning med 50%. Detta är en av anledningarna till att Ginza har överlevt och ökat sin försäljning.

2.2 Interaktivitet

Interaktivitet är ett komplext begrepp och kan betyda olika saker. I teknisk mening betyder interaktivitet ett datorprogram eller datasystem som svarar på användarens aktivitet (Hörnqvist 2003).

Interaktivitet upplevs som ett positivt laddat begrepp. De senaste åren har det byggts upp flera tjänster på Internet som bygger på interaktivitet och det har blivit ett modeord i dagens samhälle (Hörnqvist 2003).

I en interaktiv applikation vill man få en aktiv användare att bli delaktig i händelseförloppet. Utformningen av interaktiviteten är viktig för att ge användaren kontroll. Man ska låta användarna vara kreativa och utforska själva genom att låta dem göra egna val (Körnefors 2003).

Körnefors (2003) menar att interaktion inte bara sker mellan en dator och en människa utan också mellan människor. Det är viktigt att datorns återkoppling i största mån sker i realtid. Meningen är att det ska vara människan och inte datorn som styr interaktiviteten och systemet (Körnefors 2003).

Körnefors (2003) fortsätter med att interaktivitet kan ske i olika former allt ifrån en länk för att gå till nya webbsidor till att interagera med olika objekt. Ju mer interaktivitet det finns i applikationen ju mer aktiveras användaren och hon blir mer delaktig.

Användaren upplever oftast applikationen roligare då hon kan använda produkten på flera olika sätt. Detta har till följd att användaren ökar inlärningen och gör det lättare att ta till sig informationen.

(12)

Figur 1. Dialog mellan användare och dator.

Figur 1 visar hur en dialog mellan en människa och en dator kan ske. Detta är en form av tvåvägskommunikation.

Enligt Körnefors (2003) finns det fyra olika sätt som karaktäriserar interaktion mellan människa och dator.

1. Användaren är en aktiv deltagare.

2. Det sker en dialog. Människan gör olika val som datorn gör en återkoppling till.

3. Det är användaren som styr.

4. Återkopplingen från datorn sker i realtid.

Anledningen till att återkopplingen från datorn måste ske direkt är att användaren ska se att någonting har hänt.

Körnefors (2003) har delat in interaktivitet i fyra olika nivåer. Nivå 1. Laborera, experimentera

Nivå 2. Ge indata får respons Nivå 3. Aktiv utforskning Nivå 4. Bläddring i information

Nivå 1 är den nivå där interaktivitet är som störst. Här kan användaren experimentera, laborera och påverka till exempel objekt och ändra värden i simuleringar. Här sker aktiv interaktivitet och användaren har fria händer för att påverka.

Exempel på interaktivitet under nivå 2 är att användaren kan mata in text i textrutor och sedan få någon slags bekräftelse.

Exempel på interaktivitet under nivå 3 är att användaren kan styra hur navigationen ska ske. Detta kan liknas vid vissa äventyrsspel och interaktiva berättelser där användaren kan få en känsla av att det är den som kontrollerar vad som sker. Här kan aktiv

(13)

Nivå 4 är nivån med minst interaktivitet i, här kan användaren endast påverka navigationen och det med de länkar eller andra navigationsmöjligheter som finns med (Körnefors 2003).

Enligt Norman (1988) finns det fyra principer inom människa-datorinteraktion, de olika principerna är visibility, affordance, mapping och feedback.

• Visibility. Synlighet är det vi kan och inte kan se i gränssnittet. Ett exempel på detta är menyerna i Word, här ser vi bara de senaste och de vanligaste valen (se längst till vänster i figur 2).

• Affordance är en egenskap som ger en antydan om vad objektet tillför. Ett exempel på detta är knapparna i Windows. De är utformade på ett sätt som gör att de ser tredimensionella ut så att användaren ska få en antydan till att de går att trycka på dem.

• Mapping är hur man visar för användaren vad som kommer att hända om man gör något. Om man vrider ratten i en bil åt höger bör bilen svänga åt höger och inte vänster.

• Feedback. Det är viktigt att ge användaren en återkoppling till sin handling. Exempel på detta kan vara att du ringer ett samtal. Först lyfter du luren, telefonen ger en återkoppling att den fungerar och att du har lyft luren genom att den ger ifrån sig en kopplingston. Du slår numret och telefonen ger dig återkoppling genom att ge dig en ton för varje siffra du har slagit. När du har slagit klar meddelar den dig antingen en upptagetton eller rington. Ett annat exempel är att datorn visar ett timglas på skärmen när den bearbetar en process.

Figur 2. Dialog mellan användare och dator.

2.3 Användartest

Att användartesta sin produkt kan vara A och O för att få en lyckad produkt. Genom att utföra användartest går det att upptäcka saker som man inte har tänkt på och motverka känslan av självklarhet kring gränssnittet. Man bör även ta in några testpersoner utanför projektet för att få någon att granska produkten med nya ögon. Fokus i användartest ska ligga på gränssnittet och designproblem, inte på själva innehållet (Häggstrand 2000).

Det finns lite olika metoder att utföra ett användartest på. Häggstrand (2000) tar upp följande fem metoder.

(14)

Man bör vara observant på ögonrörelser, munrörelser, miner, tvekan och eventuella kommentarer.

• Videokamera, är ungefär som observationsmetoden. Observationerna sker här genom att filma testpersonen. Fördelen med att filma testpersonen är att det underlättar analysarbetet. En nackdel är dock att testpersonens beteende kan förändras när man filmar denne.

• Enkät eller intervju bygger på att man sätter samman en enkät eller skriver ner frågor till en intervju. Efter att testpersonen har testat produkten intervjuas hon eller så fyller hon i enkäten.

• Låt testpersonen berätta. Här får testpersonen ”tänka högt” och berätta vad hon gör, tänker, tycker och upplever.

• Gruppdiskussion. Flera testpersoner får tillsammans testa produkten och sedan hålls en gruppdiskussion kring produkten. Personen som håller i användartestet håller sig i bakgrunden och noterar.

Tognazzini (1992) beskriver hur ”tänka högt” metoden går till genom en guide på 10 punkter.

1. Börja med en presentation.

2. Beskriv vad testet går ut på. Se till att testpersonen är lugn och inte stressar upp att du ska hitta fel i produkten. Du kan till exempel säga ”Du hjälper oss att testa produkten i en tidig fas” eller ”Om du har problem med produkten är det produktens fel, inte du. Känn dig inte dålig, det är precis det vi letar efter”.

3. Påpeka för testpersonen att det är ok att lägga av när som helst. 4. Berätta om utrustningen i rummet. Förklara varje del av utrustningen,

hårdvara och mjukvara, hur det ska användas i testet.

5. Förklara hur ”tänka högt” metoden fungerar. Testpersonen ska berätta om vilka tankar som dyker upp under testet. Projektgruppen är

intresserad av förväntningar, avsikter och problemlösningsstrategier. Under testets gång kan du om du behöver påminna om att personen ska fortsätta att prata.

6. Förklara att du inte kommer att hjälpa dem. Det är viktigt för testresultatet att testet utförs utan hjälp eller påverkan.

7. Beskriv uppgiften och berätta om produkten. Beskriv vad testpersonen ska göra först, göra som uppgift nummer två, tre och så vidare.

8. Fråga om det är några frågor före testet sätter igång. Starta sedan observationen.

9. Avsluta observationen. Förklara vad du försökte få reda på under testet. Svara på eventuella frågor som testpersonen har. Diskutera med

testpersonen något intressant beteende som testpersonen hade.

10. Använd resultatet. Se vad testpersonen hade problem med eller tyckte var svårt. Förändra de bitar av programvaran som testpersonen hade svårt med (Tognazzini 1992).

(15)

testpersonen säger utan det är det den gör. Detta för att en människa ofta säger en sak och sedan gör en annan (Backlund 2001, s.13).

Analysen som används bygger på den kvalitativa metoden. Enligt Olsson och Sörensen (2001) är intervjuer än vanlig förekommande insamlingsmetod för den kvalitativa metoden, här tillåts individuell tolkning där personer med egna ord får

beskriva sina upplevelser. Det kvalitativa arbetssättet bygger på att man vill karaktärisera något, hitta mönster. Forskaren strävar efter att förstå hennes perspektiv och få en så fullständig bild som möjligt av informantens situation (Olsson och Sörensen 2001). Enligt Sundström (2005) ska det vara minst åtta personer totalt som intervjuas inom målgruppen.

Motsatsen till den kvalitativa metoden är den kvantitativa metoden. Den kvantitativa metoden bygger på att data samlas in som sedan generalisera och slutsatser dras av helheten genom att studera delarna.

2.4 Fältstudier

Enligt Tognazzini (1992) ska man när man utvecklar en applikation veta vad för ämne som ska presenteras, hur produkten kommer att bli använd, vilka problem som ofta inträffar och vad som händer med omgivningen där produkten hamnar. Dessa svar kan man få fram genom att göra en fältstudie.

För att göra en fältstudie besöker man olika användare. Produkten måste vara

representativ för flera användare. Varje segment från målgruppen har sina egna problem och behov (Tognazzini 1992).

Frågor om hur användaren använder produkten, vad de gillar/inte gillar i produkten, vad de vill förändra och hur dessa förändringar kommer att bli, bör ställas. Men detta räcker inte riktigt för de vet inte vilka möjligheter det finns. Därför bör man lära känna personerna i fältstudien, detta både utanför och i jobbet. Man behöver ta reda på vilka saker personen ifråga blir frustrerad på? Kan personen klara av en mer komplex teknologi? (Tognazzini 1992).

En misslyckad fältstudie bygger ofta på att de är människorna i projektet som

intervjuas/observeras istället för personer som inte är inblandade i projektet (Tognazzini 1992). De som har varit med i projektet från starten har skapat en delad vision. Genom att inte ta in några utomstående personer så kan projektgruppen glömma bort målgruppens behov eller brister i produkten som inte projektgruppen ser. De utomstående personerna som tas in kan ha helt andra åsikter om produkten och hur den ska fungera.

En fältstudie slutar inte efter planeringsstadiet, utan det behövs vid alfa- och beta-versionen också. Bara för att en produkt och planeringsstadiet är över så betyder det inte att man har uppnått målgruppens behov, en ny fältstudie bör fortgå hela tiden för att få nya infallsvinklar och eventuellt lösa vissa problem som har fortskridit. Man får inte glöm att hitta nya personer till de fältstudierna också.

2.5 Komplexitet

(16)

Ordet komplexitet kommer ifrån ordet complexus vilket betyder slingrad omkring, sammanflätad. Detta tolkas som att det behöver vara mer än en komponent som är

sammanflätad på ett sätt att det är svårt att separera dem ifrån varandra (Heylighen 1998). Enligt Cilliers (1998, s.2-4) bygger begreppet komplexitet på de två skilda begreppen komplex och komplicerad. Ett komplext system är interaktionen mellan systemets beståndsdelar, mellan systemet och dess omgivning. Samt att systemet inte går att förstå sin helhet på ett enkelt sätt genom att bara analysera dess komponenter. Exempel på detta är ett språk. Ett komplicerat system kan bestå av ett antal komponenter där en komplett beskrivning kan ges genom sina individuella beståndsdelar, Cilliers (1998, s.2-4). Exempel på sådana system är jumbojets och datorer.

Enligt Nicolis och Prigogine (1989) går det inte att dra en slutsats om att ett enkelt system inte är ett komplext system. Många system upplevs som enkla men när man undersöker dem är de komplex, andra system upplevs komplexa men går att beskriva enkelt.

Cilliers (1998, s.5) skriver i ett exempel om att en snöflinga är ett komplext system. Snöflingan upplevs enkel på håll, men när den undersöks djupare märker man att den har ett sexhörnigt mönster med en invecklad struktur. Alla snöflingor är uppbyggda efter detta mönster men ändå är alla individuellt olika. Snöflingan är uppbyggd av ett stort antal olika element i en kristallisk struktur. Varje molekyl är påverkad av endast lokal information. Men molekylerna bestämda och det är inget öppet system. Snöflinga uppträder som ett komplext system men är ett komplicerat system.

Detta kan liknas med en sökfunktion i en katalog. På ytan av användaren ser den enkel ut. Men när det undersöks djupare märker man att den är uppbyggd av ett antal

komponenter och tekniker. Men till skillnad mot snöflingan uppträder den inte som ett komplext system utan det är bara ett komplicerat system.

Rescher (1998, s.9-16) nämner nio aspekter av komplexitet:

1. Descriptive complexity. Hur stor beskrivningen behöver vara för att vara en sakenlig beskrivning av systemet. Alltså om systemet är mer komplext så ska designdokumentet vara större. Beskrivningen kan också vara komplex då den är skriven på ett vagt sätt så att man inte riktigt vet vad som ska utvecklas. Om det sker ständiga ändringar ökar också komplexiteten för utvecklarna. När systemet är utvecklat visar beskrivningens komplexitet hur komplext systemet blev (Rescher 1998, s.9-16).

Ett designdokument bör tas fram vid en implementering av en produktkatalog. Detta för att underlätta implementeringen, få en allmän beskrivning som stämmer av med kravspecifikationen och för framtida uppdateringar.

2. Generative complexity. Hur många instruktioner som krävs för att konstruera systemet. Denna komplexitet är beroende på utvecklarens kunskaper för att de utvecklare med mer kunskap kan skapa samma system med färre instruktioner (Rescher 1998, s.9-16).

(17)

funktionen ska användas till fler ändamål är ofta den generiska lösningen bättre.

3. Computational complexity. Hur mycket tid och ansträngning det behövs för att lösa ett problem. Denna komplexitet är också beroende på utvecklarens kunskaper (Rescher 1998, s.9-16).

I datorvetenskapliga sammanhang nämns ofta tidskomplexitet som ett mått på komplexitet. I en interaktiv katalog är det bra om användaren inte upplever att systemet går långsamt och behöver vänta på det.

4. Constitutional complexity. Antal element eller komponenter i systemet. Alltså om antalet gränssnitt, delsystem, klasser och så vidare (Rescher 1998, s.9-16).

Ju mer komponenter, funktioner och delsystem en katalog är uppbyggd med desto svåröverskådlig blir katalogen.

5. Taxonomical complexity. Antalet varierande ingående element i systemet. Exempel på detta är ett konverteringsprogram, det kan läsa och skriva flera olika varianter av filformat. Alltså inte mängdkomplext utan

variationskomplext (Rescher 1998, s.9-16).

Om en interaktiv katalog hämtar extern data är det lättare att underhålla katalogen, om den interaktiva katalogen också kan läsa in flera olika typer av data förenklas systemet. Men att implementera detta är mer komplext och ger en komplex katalog.

6. Organizational complexity. Antalet möjliga olika sätt det går att arrangeras på. De olika komponenterna kan vara sammankopplade i olika grader (Rescher 1998, s.9-16).

För återanvändning av funktioner i andra projekt är det viktigt att koden inte är sammanflätad med resten av systemet. Alltså det är viktigt att funktionen inte är beroende av systemet utan funktionen ska kunna gå att tas ut och sättas in i ett annat projekt. Exempelvis om en zoomfunktion är implementerad i en produktkatalog ska det gå och ta ut den funktionen och kunna importera den i exempelvis ett bildvisningsprogram.

7. Hierarichical complexity. Antalet hierarkiska nivåer i systemet. Här kan det både handla om arkitektur och klasshierarki. Exempel på arkitektur är treskikts arkitektur som kan bestå av gränssnitt, funktion och modell (Rescher 1998, s.9-16).

Om en interaktiv katalog är uppbyggd med en klasshierarki där det är många arv så kan koden i katalogen bli svåröverskådlig. Det blir mer att hålla reda på. 8. Operational complexity. Antal sätt något kan fungera på. Ett program som

(18)

operationskomplexitet. Operationskomplexiteten ökar med funktionaliteten (Rescher 1998, s.9-16).

Interaktiviteten i en interaktiv katalog bygger på att systemet ska vara

händelsebaserat, att användaren ska styra programmet. Detta kan vara allt från att användaren väljer vilken information hon vill ta fram till att kunna snurra på ett 3D-objekt. Om användaren även kan flytta, gå in i och kunna interagera med 3D-objektet ökar operationskomplexiteten.

9. Nomic complexity. Mängden regler som påverkar systemet (Rescher 1998, s.9-16). Exempel i en interaktiv katalog skulle det kunna vara regler för hur en logistikfirma ska väljas utifrån pris, avstånd, kvantitet, vikt, volym och

leveranstid.

3

Fältstudie

Fältstudien gjordes med beställarna av företaget, men för att få in nya personer i projektet som inte hör till beställaren togs en säljare in för intervju. Syftet med fältstudien var att lägga grunden till kravspecifikationen av prototypen. Studien tar reda på vilka behov användaren har, vilka funktioner prototypen borde ha med samt vad de involverade parterna vill få ut av produktkatalogen. I bilaga A beskrivs utgångsfrågorna till de olika intervjuerna.

3.1 Intervju med beställaren

Två intervjuer med beställaren har gjorts. Detta har gjorts för att ta reda på vad de vill få ut av prototypen och studien. Intervjun skedde som ett samtal och beställaren beskrev såväl sin vision som hur produktkatalogen ser ut idag. En kravspecifikation togs fram som går att läsa under kapitel 3.3.1.

Enligt Larsson (2001, s.15-16) är det bra att lägga till en berättarröst eller ha en så kallad virtuell handledare. Jag tog med dessa förslag till första samtalet med företaget för att sätta upp kravspecifikationen. Men vi kom fram till att berättarrösten skulle ta alldeles för lång tid att läsa in till alla produkter samt att användarna av produktkatalogen inte skulle få så mycket mervärde av det.

3.2 Intervju med en säljare

För att ta reda på vilka behov och intressen som finns hos målgruppen har jag satt ihop en referensgrupp.

En referensgrupp består av användare som representerar olika områden. I denna referensgrupp finns det domänexperter som är insatta i verksamheten. De bidrar till insikter om det sammanhang produkten skall verka i (Sundström, 2005).

På grund av tillgängligheten har jag intervjuat domänexperter som är insatta inom målgruppens områden, behov och intressen. Detta är enligt Sundström (Sundström, 2005) ett alternativ till att intervjua målgruppen.

(19)

Den första intervjun genomförde jag med en säljare som är insatt i de flesta områdena där produktkatalogen kommer att användas. Syftet med intervjun är att ta fram en

kravspecifikation till prototypen. Intervjun skedde som ett samtal mellan mig och honom, där jag ställde frågor, se bilaga A.

Jag började intervjun med att ställa frågor om hur produktkatalogen används idag, för att få en överblick av hur det ser ut i dagens läge. De flesta användarna använder inte den befintliga produktkatalogen som finns idag. De som använder produktkatalogen idag är konsulterna. Sjukhuspersonalen tar i dagens läge inte del av informationen i

produktkatalogen utan de får informationen från konsulter och säljare. Kommunikationen sker idag genom muntlig kontakt, telefon, e-post och fax. Denna information finns idag inte nerskriven utan den finns bara i minnet på de olika personerna i målgruppen och ”trial and error” är den teknik som oftast används för montering av produkter och få del av annan information.

De funktioner som säljaren vill att den färdiga produktkatalogen ska innehålla är följande:

• Korta och informativa videofilmer på max 15 minuter. Filmerna kan till exempel handla om säkerhet, hur produkter ska användas i en ambulans. Idag finns det väldigt få filmer, av vilka flera är dåliga.

• Enkel navigation. Det ska alltså vara enkelt att hitta det som man är ute efter. • Sökfunktion med synonymer. En produkt kan ofta kallas för olika saker.

• Information ska vara helt tillgänglig på webben. När en kund undrar om något underlättar det att bara ge personen en webbadress, så att kunden får

informationen direkt utan att behöva få tag på rätt cd-skiva. Säkerhetsnivån på de olika datorerna i sjukhusen och i AGAs datorer är väldigt hög och därför tillåts det inte att installera egen programvara.

• Enkla uppdateringsmöjligheter. Det ska vara lätt och smidigt att uppdatera informationen i produktkatalogen och enkelt att distribuera den uppdaterade informationen till slutanvändarna.

• Gamla produkter. Vad händer om det blir fel på ett tio år gammalt larm? Det skulle vara bra om all information om gamla utgångna produkter sparades och fanns tillgängliga.

• Egna anteckningar (i viss mån). Idag skriver man ner minnesanteckningar på ett papper som är ibland tappas bort. Därför skulle det vara bra att kunna göra anteckningar som finns kvar och som aldrig försvinner. Information vara

tillgänglig för AGA för att få reda på vad kunderna antecknar och eventuellt kan förbättra produkterna.

• Orderbekräftelse. En orderbekräftelse ska både gå ut via e-post och via

produktkatalogen. Det är viktigt för kunden att veta att en order är mottagen och om det tar två dagar innan kunden får produkten.

• Monteringsanvisningar. Idag finns det dåligt med monteringsanvisningar och detta är en viktig sak som bör finnas med för varje produkt.

(20)

• Offertunderlag. Om det ska gå att beställa produkterna via produktkatalogen, är det bra om det skapas en offertmall på den beställda produkten så att varje offert ser likadan ut, på detta sätt sparas tid. Idag finns det mallar men de är dåliga och det tar ungefär lika lång tid att skriva en ny offert från grunden. Ibland är det billigare att säga till kunden att de får 6 % rabatt istället för att en offert ska skrivas. Att kunden får en snabb offert är ett vapen för att ligga före

konkurrenterna och det skapas en bild av ett seriöst företag.

• Senaste uppdatering. Detta är bra för konsulterna att få reda på, men sjukhusen har inte lika stort behov av detta.

• Förstoring av bilder och 3D-modeller.

• Bilder och 3D-modeller ska försöka efterlikna verkligheten.

• Loggning, det vill säga statistik skapas över hur kunderna söker, när de använder produkterna och vilka produkter de tittar på.

• Användarnamn och lösenord. Detta för att konkurrenter inte ska gå in och kopiera, samt för att kunna logga användarna.

• Olika versioner, till exempel en V.I.P. version som de kan sälja och eventuellt ge bort som present.

Jag analyserade vad som togs fram i intervjun och förde in det i kravspecifikation för prototypen se kapitel 3.3.2. De saker som jag inte kommer att undersöka är offert, V.I.P version, loggning och sådana saker som inte rör användaren i första situationen. Jag kommer inte heller att undersöka reservdelar och historik då jag inte har information om dessa.

3.3 Kravspecifikation

Två kravspecifikationer utformades. Den första som nämns är en framarbetad

kravspecifikation från beställaren av examensarbetet. Den andra är en kravspecifikation som är framarbetad utifrån fältstudien. Den sistnämnda innehåller vilka funktioner som prototypen ska innehålla. Kravspecifikationen från beställaren är en mer generell

kravspecifikation över vad för information den ska innehålla och vilken teknik katalogen ska använda sig utav.

3.3.1 Kravspecifikation från beställaren

Beställaren tog fram en kravspecifikation för den färdiga produktkatalogen. Den färdiga produktkatalogen ska således innehålla:

(21)

• ansvarförhållanden/garantier Produktkatalogen kommer att bestå av:

• PDF-filer • databas med DBMS • bildarkiv • PP-presentationer • Excel-ark Syfte

• Öka kvaliteten på informationen • Öka tillförlitligheten på informationen • Öka tillgången på informationen • Minska kostnaden för informationen

Figur 3. Schematisk skiss över systemets uppbyggnad och funktion

Tanken är att datasystemet kommer på CD-ROM och körs på användarens dator, se figur 3. Uppdateringar av systemet sköts automatiskt då användaren ansluter sig till Internet. Större uppdateringar (uppdateringar som blir långsamma att ta ner via

modem/ISDN) skickas till de användare som så vill via CD-ROM. Information om status för olika dokument/applikationer finns lagrade på en hemsida.

Information så som text, alltså snabbladdad data ska föras över via en

bredbandsuppkoppling. Systemet behöver inte heller vara bundet till vad systemet kommer att vara uppbyggt av utan det är bara en skiss. Användaren ska inte behöva installera någonting, för i allmänhet har inte användarna någon rättighet att installera

Användare CD-ROM INTERNET Uppdateringar Databas Ursprungligt program och större uppdateringar Handböcker Standard/ reglementen Uppdateringar PowerPoint

(22)

3.3.2 Kravspecifikation över vilka funktioner som ska finnas med

Efter att ha analyserat beställarens kravspecifikation, intervju med beställaren samt en intervju med en säljare har följande kravspecifikation för vilka funktioner prototypen ska innehålla tagits fram.

De funktioner som ska finnas med i prototypen är:

• In och ut -zoomning. En zoomeffekt för att kunna zooma in högupplösta bilder. • Enkel navigering.

• Utskriftsfunktion. En produkt ska kunna skrivas ut. Denna funktion implementerades inte i prototypen utan undersöktes bara.

• Sökfunktion. Det ska gå att söka på både text i produkter samt synonymer. • Anteckningsfunktion. Det ska gå att göra anteckningar som sparas centralt och

gärna i systemet.

• Eventuell video som visar upp en produkt.

• 3D-visualisering ska finnas med så att kunden kan zooma in, rotera och ”gå in” i objektet. Helst ska det också finnas med en linjal där användaren kan mäta de olika delarna i produkten.

(23)

4

Framtagning av prototyp

Prototypen ska vara så pass pedagogisk att kunden inte behöver lägga ner tid på att lära sig hur prototypen fungerar utan mer på vad prototypen är ämnad för.

Figur 4. Översiktsbild över gasutrustning

Ett exempel på detta kan vara att om man klickar på Lagringstanken för flytande medicinsk oxygen, det vill säga den stora tanken längst till vänster där det står AGA, så får man upp information om tanken, varför den är bra och varför den ska vara med. Även tvärtom, om man klickar vidare vid informationen om tanken får man upp bilden som figur 4 visar.

En av funktionerna jag ska undersöka är om det på ett enkelt sätt går att ändra om informationen (text och eventuella ljud) i prototypen för att göra det enklare och mindre tidskrävande att uppdatera prototypen.

(24)

4.1 Val av teknik

Valet av teknik är baserat på att flexibel information ska finnas i flexibla dokument och statiska dokument ska finnas i statiska dokument. I detta fall ska information som inte ändras ligga på en CD-ROM och pris och annan information som ändras kontinuerligt ligga i en databas vilket gör den lätt och billig att ändra.

Tekniken som jag har valt att bygga upp prototypen med är en databas som innehåller text och instruktioner för till den flexibla informationen. Databasen som jag använder mig av är en MySQL databas. Serverskriptet som används för att kommunicera mellan prototypen och databasen är PHP.

De statiska dokumenten placeras på en CD eller DVD, beroende på om allt får plats på en CD eller inte. Med den statiska informationen menas i detta fall information som förmodligen inte kommer att förändras. Detta kan vara bilder, filmer eller annan information som har en stor filstorlek.

Figur 5. Skiss över hur flexibel och statisk information kan vara lagrad. Vid dessa val går det att få en produkt där informationen är i sin rätta miljö.

4.2 Val av verktyg

Valet av författarverktyg är baserat på åtkomlighet, möjlighet och tillgänglighet. Målgruppen har i stort sett inte rättigheter att installera program och tilläggsmoduler på sina arbetsdatorer. Detta medför att jag inte kunde skapa produkten i

programmeringsspråk som till exempel Java och C#, där det krävs en tolk som tolkar koden installerat på datorn.

Databasen

Internet

(25)

Jag valde att kombinera flera olika tekniker för att ta vara på fördelarna av de olika teknikerna. Jag valde att skapa ett skalprogram i Director. Sedan har jag byggt upp de flesta funktionerna och det grafiska gränssnittet i Flash.

Flash är ett kraftigt utvecklingsprogram som används för att skapa interaktiva

applikationer. Men ibland behövs det mer kontroll över systemrelaterade funktioner och öppna externa filer och då räcker inte Flash till. Lösningen jag valde var att integrera Flash i Director. Detta gör det möjligt att köra 3D-visualiseringar som är gjorda med Cult3D, PDF-dokument, PowerPoint-presentationer med mera.

Figur 6. Exempel på interaktion mellan Flash och Director

Figur 6 visar hur man i Flash kan öppna externa filer med hjälp av Director. Det som händer är att användaren klickar på en knapp i Flash-filen som till exempel ska öppna en broschyr i PDF-format. Flash anropar att användaren vill öppna just den filen. Director kontrollerar vad det är för filändelse. När filändelsen är utläst kontrollerar Director med Operativsystemet om det finns någon fil associerad med den ändelsen. Om den inte gör det anropar Director ett installationsprogram som installerar Acrobat Reader för att sedan kunna öppna filen. Om operativsystemet däremot hittade ett program som kunde öppna filen med den filändelsen, öppnas broschyren med det programmet.

På detta sätt går det att få Directors fördelar med Flash. Operativsystem Director (.exe) Flash (.swf) Öppna dokument- knapp

Kontrollerar om det finns något program associerat till filen Kontrollera Nej Ja Anropar installationsprogram till program som kan visa filen.

Öppna filen

(26)

4.2.1 Macromedia Director

Director gör det möjligt att skapa interaktiv media med hjälp av animation, ljud, bilder, video och programmering. En stor fördel med Director är att det blir möjligt att integrera och styra andra mediafiler. Det går att skapa körbara filer som går att distribuera på CD, DVD eller på den lokala hårddisken. Det går även att skapa shockwave-filer som kan läggas ut på Internet. Dessa shockwavefiler kan man göra tillgängliga för alla som har tillgång till Internet och som har en shockwavespelare installerad på datorn. Gränssnittet av programmet är uppbyggt som filmmetafor, där du är regissör (Director).

Programmet har stöd för många olika format och stöder interaktiv 3D. Director har inte bara stöd för pixelgrafik utan också vektorgrafik.

4.2.2 Macromedia Flash

I Flash går det att skapa interaktiva presentationer, animationer, spel och applikationer med hjälp av vektorgrafik och skriptspråket ActionScript. Flash applikationer kan såväl vara enkla att implementera som de kan vara avancerade och komplexa, utan att personen som skapar applikationen behöver ha stora förkunskaper.

4.2.3 PHP: Hypertext Preprocessor

PHP är ett serverskriptspråk där förkortningen i början kommer i från Personal Home Page men som har blivit PHP: Hypertext Preprocessor. Detta skriptspråk används

framförallt för att skapa webbapplikationer. PHP är fri programvara som har stöd för flera databaser, bland annat MySQL.

4.2.4 MySQL

MySQL är en databas som använder sig av frågespråket SQL. MySQL är fri

programvara, licensierad under GNU General Public License. MySQL är skrivet av det svenska företaget MySQL AB som har sitt säte i Uppsala. MySQL är världens mest populära databas med öppen källkod.

4.2.5 Cult3D

Cult3D är en mjukvarumotor som gör det möjligt att skapa realtidsrendering av 3D-objekt. Cult3D-objekt går att publicera i en rad olika dokumentformat så som i Microsoft Word, Microsoft PowerPoint, Adobe Acrobat, Director, Internet Explorer och Netscape Navigator. För att integrera Cult3D-objekt med Microsoft-program används ActiveX, medan JavaScript används i en Macintosh. ActiveX är Microsofts koncept för att framställa interaktiva webbsidor. Active X är en plattform för komponentbaserad utveckling. Det är egentligen ett nytt namn för OLE (Objekt Linking and Embedding).

(27)

modellen ska bete sig. Den tredje är Cult3D Exporter som gör det möjligt att exportera en befintlig modell från 3d studio Max eller Alias Maya till ett Cult3D objekt.

4.2.6 Autodesk 3d studio Max

3d studio Max är en ledande programvara för att skapa animation och modellering för film, spel, visualiseringar och design. Det går att modellera och skapa i stort sett vilka 3D-visualiseringar som helst med hjälp av 3d studio. Med hjälp av Cult3D Exporter går det att exportera modeller som är gjorda i 3d studio till Cult3D.

4.3 Implementering

Jag har delat in detta kapitel i fler underkapitel där uppdelningen är gjord utefter de olika funktionerna i implementeringen. De första tio kapitlen beskriver hur de olika

funktionerna är implementerade. I det sista underkapitlet förs ett resonemang om komplexitet utifrån de olika komponterna.

4.3.1 Dynamisk uppbyggnad och hämtning av information

För att skapa en produktkatalog på en cd-skiva som kommer att vara aktuell då någon förändring av informationen har skett, kan en lösning vara att skapa en dynamisk produktkatalog där informationen hämtas från en server på Internet.

Som tidigare nämnts har huvudbeståndsdelarna av produktkatalogen skapats i Flash. Flash har inget direkt stöd för att kunna kommunicera med en databas som ligger på en annan server på Internet. Därför behövs det en tredjepartsmodul som sköter

kommunikationen med databasen. Det finns flera olika alternativ för kommunikation med tredjepartskommunikation med Flash. Kommunikationen sker med hjälp av en teknik som bygger på att skicka textsträngar via HTTP-protokollet via POST eller GET. I programmet Flash finns det en färdig klass för detta som heter LoadVars. Anledningen till att denna teknik har valts är att det inte krävs några speciella tilläggsprogram eller moduler installerat på servern som programmet ska kommunicera med. Det som krävs av servern är att den kan ta emot data via POST eller GET, som de flesta webbservrar klarar av i dagens läge. En annan anledning till att jag har valt denna teknik för kommunikation är att det inte behöver öppnas upp några nätverkssockets som flera brandväggar inte tillåter. I intervjun med beställaren och säljaren togs det upp att sjukhus och framför allt AGA har väldigt hårda säkerhetsföreskrifter i deras brandväggar, dem tillåter i stort sett ingenting. Denna teknik som jag har valt är en av de enklaste att implementera men är inte den mest optimala när man ser på paketstorlek, latens och säkerhetsaspekter.

Serverskriptet som jag använder mig utav för att sköta kommunikationen mellan Flash-applikationen och databasen är PHP. Kommunikationen fungerar på det sättet att:

• Flash-applikationen skapar en anslutning, skickar data och en förfrågan till PHP-skriptet

(28)

Figur 7 beskriver förloppet.

Figur 7. Beskriver hur kommunikationen går till.

När informationen i produktkatalogen hämtas som i figur 7 går det att förändra informationen som ligger på ett statiskt medium, till exempel en CD-skiva.

När implementeringen av prototypen skedde var det meningen att informationen i databasen ska styra all information i prototypen. Med detta menar jag vilka produkter som ska presenteras, bilder, externa filer och så vidare.

Figur 8. Figuren visar hur bildstorlek och textyta förhåller sig till varandra.

Bilderna på produkterna är olika stora och därför tar de olika mycket plats på skärmen. Detta löstes med att textytan som presenterar produktinformationen yta förändras i

förhållande till hur stor bilden är. Om bilden är stor så får textytan som presenterar produktinformationen vara liten och om bilden är liten kommer textytan att ta upp stor plats, se figur 8.

1. Anslutning skapas och förfrågan skickas

2. PHP-skriptet tar emot information och skickar vidare

förfrågan till databasen

3. Databasen tar emot förfrågan och skickar tillbaka resultatet

4. PHP-skriptet tar emot data från databasen och skickar vidare informationen till applikationen. 5. Informationen tas

(29)

När inte texten får plats på sin del av skärmen aktiveras en rullningslist så att användaren kan ”scrolla” neråt i textrutan.

En funktion för att bläddra framåt och bakåt togs fram för att ha en enkel navigation och få det mer som en papperskatalog där det går att bläddra från första sidan till den sista.

Det som jag har nämnt i detta kapitel har tagit ungefär 40 timmar för mig att implementera. Dessa funktioner är det som bygger upp grunden i prototyp, det tillför också det dynamiska och flexibla. Det jag menar med dynamisk är att det går att påverka katalogen från en extern källa, det kan till exempel vara produktinformationen. Med en statisk version menar jag att det inte går att påverka katalogen från utsidan av katalogen. Uppskattningsvis skulle det ha tagit ca 10-20 timmar att skapa en statisk version som skulle uppträda på samma sätt som den dynamiska versionen. Det som tas upp i detta kapitel tillför hög komplexitet av flexibilitet. Det går med enkla medel göra så att användaren får den aktuella informationen om produkterna. Det går även meddela att en ny katalog behövs eller lägga in ett beställningsformulär till en ny katalog så att kunden inte behöver fundera på hur hon ska få den nya katalogen. Det går även att ge ut viktig information till kunderna genom denna katalog om den är uppbyggd på detta sätt.

De tekniker som används och bör behärskas vid implementering av denna funktion på det viset som är beskrivet i detta kapitel är PHP, MySQL, Flash och ActionScript.

4.3.2 Databas

I projektet har jag använt mig utav en MySQL-databas. Databasen är grundpelaren till att göra prototypen dynamisk. Här har jag strukturerat all information som rör vilken

information som ska finnas med i prototypen.

Det tar längre tid att skapa grunden i den interaktiva katalogen med en databas än att inte använda sig av en databas. Tiden det tar att lägga in en ny produkt är större vid en katalog utan databas än en med databas. Tiden som det tar att lägga in en produkt är konstant stigande både i den katalogen som använder sig av en databas och den som inte använder sig av en databas. Med en databas möjliggörs det att kunna ändra informationen med hjälp av externa program.

De aspekter som att lägga in nya produkter, uppdatering av produkter eller gränssnitt har inte räknats med. Ifall en produkt ska uppdateras som ligger på en statisk digital produktkatalog och produktkatalogen redan är utskickad till kunden måste det skickas ut en ny produktkatalog. Om vi bortser från det så tar det ändå längre tid att gå in i Flash-filen än i databasen och ändra om informationen. Om gränssnittet för alla produkter behöver ändras, går det att ändra om den generiska koden så att alla produkter ändras på samma sätt. Men om gränssnittet i den statiska produktkatalogen ska förändras måste alla produkter ändras om var för sig. Undantag om du har skrivit generisk kod för hur

gränssnittet ska se ut, i så fall tar det lika lång tid att ändra om som vid den flexibla produktkatalogen.

(30)

Figur 9. Skärmdump över visuell återkoppling.och mapping.

När användaren drar musmarkören över en bild så ändras musmarkören till ett förstoringsglas där det står att bilden är klickbar, se figur 9. Under kapitel 2.2

Interaktivitet beskrivs det att det är bra att ge användaren feedback. Här talar programmet om för användaren att bilden är klickbar när hon drar musmarkören över bilden och om användaren klickar på bilden kommer hon att förstora bilden. Detta är då en form av mapping, se kapitel 2.2 Interaktivitet.

(31)

Zoomfunktionen öppnas överst i prototypen och det går fortfarande att se resten av prototypen vid sidan av funktion och den är delvis genomskinlig så att användaren ser igenom fönstret som öppnades. Bilden som förstoras är inte samma bild som den klickbara bilden utan det är en högupplöst bild. Anledningen till att det inte är samma bild är att prototypen ska vara snabbkörd och snabbladdad.

I zoomfunktionsfönstret finns det 5 olika knappar. Knappen ”Se allt” skalar om bilden så att den får plats i fönstret. Den placerar också bilden till grundplaceringen, det vill säga längst upp till vänster. Det räcker inte att trycka på ”Zooma in” knappen för att zooma in utan användaren behöver också trycka där bilden ska centreras och zoomas in. ”Zooma ut” fungera på samma vis som ”Zooma in” men bilden zoomas ut istället. ”Dra”

funktionen gör det möjligt för användaren att flytta bilden i sidled och i höjdled, detta görs genom att trycka in vänster musknapp på valfritt ställe på bilden och sedan dra bilden till den önskade positionen och sedan släppa vänster musknapp. ”Stänga fönstret” stänger zoomfunktionen, se figur 10.

När bilden förstoras kommer den att ta upp större yta, för att begränsa ytan av så att den inte tar upp större plats än zoomfönstret går det att lägga en mask som beskär bilden. Detta gör att det bara är den delen av bilden som är inne i zoomfönstret som syns.

Figur 11. Skärmdump över zoomfunktion i författarverktyget Flash.

Den gula rektangeln i figur 11 är masken som maskar den förstorade bilden. Storleken av masken bestäms med kod i skriptspråket ActionScript. Knapparna i zoomfönstret är standardknappar, vid vidareutveckling av zoomfunktionen går det att göra om dem till knappar som föreställer vad de ska utföra, se om mapping under kapitel 2.2 Interaktivitet.

Den högupplösta bilden som ska förstoras bör ligga med på CD-skivan så att inte användaren ska behöva vänta på att bilden ska laddas. Var bilden hämtas ifrån styrs av databasen.

Zoomfunktionen tog ca 20 timmar att implementera och uppdatering med att lägga till nya bilder som ska zoomas in tar några sekunder att implementera, det är bara att

(32)

4.3.4 Sökfunktion

En sökfunktion underlättar för användaren att hitta den informationen hon söker. Den stora biten av implementeringen av sökfunktionen är gjord i ett PHP-skript.

Figur 12. Översikt hur informationsflödet är i sökfunktionen.

Det som händer när användaren söker är att Flash applikationen skickar sökordet eller sökfrasen till PHP-skriptet. PHP-skriptet behandlar sökordet eller sökfrasen och sedan skickar vidare en förfrågan till databasen om den hittar något av användarens sökord. Databasen skickar tillbaka sitt resultat till PHP-skriptet som i sin tur utför en

sorteringsalgoritm och därefter skickar PHP-skriptet tillbaka sitt resultat till Flash applikationen där resultatet presenteras för användaren, se figur 12.

Figur 13. Skärmdump över sökfunktion. Flash applikation

PHP-skript

(33)

Användaren får i sin tur upp fönstret som vi ser i figur 13. Sökfönster är flyttbart så att det inte skymmer något som användaren vill se. Till vänster om i sökfönstret listas alla träffar i en dynamisk lista. När användaren håller musmarkören över en vald sökträff visas information om sökträffen i en textruta till höger om sökträffarna. Om användaren vill gå till önskad träff klickar hon på den i sökträffslistan.

Det går naturligtvis att bygga ut sökfunktionen så att den blir väldigt komplex och avancerad. Sökfunktion tog ca 10 timmar för mig att implementera och den uppfyller ofta standardbehoven. Sökalgoritmen som jag har implementerat är enkel och i stort sett bara hämtar data från MySQL databasen där sökorden påträffas. Dessa sökträffar listas och skickas numrerade till Flash-applikationen.

4.3.5 Dynamisk tabell

Den tekniska specifikationen för de olika produkterna presenteras i en dynamisk tabell.

Figur 14. Dynamisk tabell.

Tabellen är implementerad så att databasen styr hur många kolumner och vilken data som tabellen ska innehålla. Figur 14 visar hur en tabell kan se ut för användaren i

presentationslagret. För att enklare läsa ut en viss rad för användaren markeras raden som användaren håller musmarkören över, se figur 14. Det går även att klicka på en rad, då markeras den med en mörkare grön färg än när användaren bara håller musmarkören över den önskade raden, se figur 15.

Figur 15. Sortering och markering i en dynamisk tabell.

Det går även att sortera de olika kolumnerna genom att trycka på dess kolumnrubrik. Det markeras med en pil antingen uppåt eller neråt beroende på om kolumnen ska sorteras i stigande eller fallande ordning, se figur 15.

(34)

Figur 16. MySQL databas struktur för dynamisktabell.

Databasen är strukturerad som figur 16. Kolumnen radid bestämmer vilken rad datan ska presenteras på. Rad -2 beskriver hur många kolumner det ska vara i tabellen, rad -1 beskriver vad kolumnrubrikerna ska heta. Id är vilket id produkten har, varde är det värdet som ska presenteras i tabellen, kolumnid är vilken kolumn datan ska vara i och radid vilken rad datan ska vara i.

Det tog ungefär 10 timmar att implementera denna funktion. Det som tog tid att implementera var att rita upp den dynamiska tabellen medhjälp av ActionScript kod i Flash.

4.3.6 Externa länkar

De dynamiska länkarna är uppbyggda på det sättet som beskrivs i kapitel 4.2 Val av verktyg. Alltså när användaren klickar på en länk skickas ett anrop från Flash-filen till Director som i sin tur anropar operativsystemet och ser om det finns ett program installerat som kan öppna den filändelsen på datorn. Om det inte finns det öppnas ett installationsprogram där användaren kan installera programmet som behövs för att öppna filen. Om det redan finns ett program installerat på datorn öppnas den valda filen av det programmet.

(35)

Figur 17. Externa Länkar.

Jag har valt att ha stora ikoner som ska symbolisera vad det är för fil som ska öppnas, se figur 17. Detta är en form av mapping där ikonen ska symbolisera att det är en fil som kommer att öppnas i till exempel Acrobat Reader, se kapitel 2.2 Interaktivitet.

Det tog ca 10 timmar att implementera denna funktion.

4.3.7 Egna anteckningar

En anteckningsfunktion kan underlätta för minnet att komma ihåg.

Detta är en enkel funktion att implementera men vissa frågor bör ställas innan implementeringen sker. En fråga som borde bli besvarade är; Hur ska anteckningarna vara bundna? Ska användaren behöva logga in och lagra anteckningarna under ett användarnamn, ska anteckningarna vara lagrade för just den skivan eller ska anteckningarna vara lagrade för ett visst IP-nummer? Detta är de frågorna som de inblandade bör fundera på innan implementeringen sker. Om anteckningarna ska vara bundna till användarnamn ska det finnas en inloggningsfunktion också.

Figur 18. Egna anteckningar.

Anteckningsfunktionen i prototypen ser ut och fungerar som figur 18. När användaren börjar ändra anteckningarna kommer det upp en återkopplingstext där det står

”Anteckningarna är INTE sparade”, efter att användaren har sparat anteckningarna ändras texten till ”Anteckningarna är sparade”.

(36)

4.3.8 Klickbar navigationsbild

Grundfunktionerna i prototypen är uppbyggd så att det går att ersätta produktbilden med en shockwavefil. Tackvare det går det smidigt att skapa en klickbar översiktsbild som startbild i prototypen.

Figur 19. Klickbar navigationsbild.

En textruta i högra hörnet av bilden är skapad för att ge en liten beskrivning till användaren vad det är för produkt som användaren har musmarkören över samt att ge extra återkoppling till användaren att bilden är klickbar där musmarkören befinner sig, se figur 19.

De klickbara delarna av bilden är uppbyggd utav knappar som är blå men delvis genomskinliga. De är inte helt genomskinliga för att ge en indikation till användaren att det är klickbart. Länkningen bygger på samma sätt som resten av prototypen bygger på, alltså att en global funktion anropas med en parameter som beskriver vilken produkt som prototypen ska navigera till.

Implementeringen av klickbara bilden tog ca 1 timme. Men tiden för att rita bilden får inte glömmas. Bilden kommer från beställaren och är därför svårt att göra en

uppskattning om hur lång tid det tog att göra den.

4.3.9 Innehållsförteckning

Innehållsförteckningen är uppbyggt som en trädstruktur som det ser ut i utforskaren i Windows. Men på grund av att det bara är nio produkter i prototypen fick alla vara ”löv” i trädstrukturen, alltså det fanns inga mappar som gick att expandera där det är länkar i.

(37)

Figur 20. Innehållsförteckningen är expanderbar.

När användaren håller musmarkören över innehållsförteckningen expanderar den så att all text syns, se figur 20. Detta kallas för visibility, se kapitel 2.2 Interaktivitet. När musmarkören försvinner från innehållsförteckningen går den tillbaka till sin ursprungliga storlek.

Det tog ca en timme att implementera innehållsförteckningen.

4.3.10 3D-visualisering

Det finns flera olika sätt att skapa interaktiv 3D på. Jag har undersökt två olika program där det går att skapa interaktiv 3D i. Det första programmet är Director. Här går det lätt att importera en 3D-animation från 3d studio Max eller annat 3D-program. Det

komplicerade med Director är att skapa interaktivitet, det krävs en hel del kodande och kunskaper. Fördelen med ha skapat 3D-visualiseringen i Director i jämförelse med Cult3D är att det går göra en körbar fil av projektet i Director och då behöver inte

användare ha installerat någon extra tilläggsmodul. I Cult3D går det på ett smidigt sätt att importera en 3d studio MAX animering och sedan lägga till interaktivitet genom att klicka och dra olika funktioner. I jämförelse att göra samma interaktivitet i Cult3D och i Director så tar det ungefär tio gånger så lång tid att göra samma sak i Director som det tar i Cult3D. Nackdelen med Cult3D är att det är mer begränsat än Director om vad som går att utföra.

När man väger in frågeställningen och de två olika alternativen som det går att skapa interaktiv 3D på så är Cult3D alternativet för att skapa ett interaktivt 3D-objekt under liten arbetsinsats men ändå få en komplex funktion. Jag valde att kombinera Cult3D med Director för att kunna på ett enkelt sätt ge en beskrivning till användaren hur

3D-interaktiveten används.

Det som tar tid är att modulera och eventuellt animera 3D-objektet. Den nerlagda tiden för att skapa interaktiv 3D kan således vara allt från 10 minuter till flera hundra timmar beroende på hur komplex modell som ska skapas. När jag skapade 3D-visualiseringen till prototypen så tog det ca 1 timme.

4.3.11 Resonemang kring komplexitet av funktionerna

I detta avsnitt sammanfattas komplexiteten över de olika funktionerna.

References

Related documents

Förändringar på konstruktionen görs för att förbättra till exempel, luftfolier för bättre effektivitet och vajrar mellan ekrarna för att stärka hållfastheten.. Dessutom

• Hastighet  0.001c  4400 år till Alpha Centauri 26 miljoner år till Vintergatans mitt. • Hastighet  0.1c  44 år till Alpha

• Hastighet  0.001c  4400 år till Alpha Centauri 26 miljoner år till Vintergatans mitt. • Hastighet  0.1c  44 år till Alpha

Den kategoriseringsprocess som kommer till uttryck för människor med hög ålder inbegriper således ett ansvar att åldras på ”rätt” eller ”nor- malt” sätt, i handling

Syftet med denna studie är att bidra med ökad kunskap om lärande och undervisning i informell statistisk inferens. I studien användes en kvalitativ

För en person som läser Metro och andra tidningar kommer det att verka som om något fattas i Metro, men den som endast läser Metro har inte samma norm att gå efter och

Bilderna av den tryckta texten har tolkats maskinellt (OCR-tolkats) för att skapa en sökbar text som ligger osynlig bakom bilden.. Den maskinellt tolkade texten kan

For Duemilanove Arduino boards with an ATmega328 (check the text on the chip on the board), select Arduino Duemilanove or Nano w/ ATmega328. Previously, Arduino boards came with