Anv¨
andarcentrerad design av verktyg f¨
or att
skapa funktionalitet i ett
gr¨
anssnittsdesignsprogram
av
Rikard Nordin
LITH-IDA-EX--2008/006--SE 2008-01-31
skapa funktionalitet i ett
gr¨
anssnittsdesignsprogram
av Rikard Nordin
LITH-IDA-EX--2008/006--SE
Handledare : Eva L. Ragnemalm
Institutionen f¨or datavetenskap vid Link¨opings universitet
Examinator : Eva L. Ragnemalm
Institutionen f¨or datavetenskap vid Link¨opings universitet
Spr˚ak Language Svenska/Swedish Engelska/English Rapporttyp Report category Licentiatavhandling Examensarbete C-uppsats D-uppsats ¨Ovrig rapport
URL f¨or elektronisk version
ISBN
ISRN
Serietitel och serienummer
Title of series, numbering
ISSN Titel Title F¨orfattare Author Sammanfattning Abstract Nyckelord Keywords
Idag finns det en stor m¨angd program f¨or att underl¨atta vid design av ett grafiskt anv¨andargr¨anssnitt. M˚anga av dessa g¨or det enkelt att snabbt skapa en prototyp f¨or att exempelvis illustrera en id´e kring hur ett gr¨anssnitt kan se ut. Vad som d¨aremot ofta saknas ¨ar ett effektivt och intuitivt verktyg f¨or att skapa funktionalitet i prototypen och g¨ora gr¨anssnittet levande utan att beh¨ova kunskaper i programmering.
Den h¨ar rapporten studerar hur ett verktyg f¨or att skapa funktionali-tet i prototyper, och som inte kr¨aver n˚agra kunskaper i programmering, skulle kunna fungera. Med hj¨alp av pappersprototyper och anv¨ andarin-tervjuer v¨ags f¨ordelar och nackdelar mot varandra, och resultatet blir ett nytt f¨orslag p˚a hur ett intuitivt men samtidigt kraftfullt verktyg skulle kunna se ut och fungera.
Institutionen f¨or datavetenskap 581 83 LINK ¨OPING 2008-01-31 — LITH-IDA-EX--2008/006--SE — http://www.ep.liu.se/exjobb/ida/202008/dd-d/006/
User-centered design of a function creation tool for a graphical user interface design program
Anv¨andarcentrerad design av verktyg f¨or att skapa funktionalitet i ett gr¨anssnittsdesignsprogram
Rikard Nordin
Anv¨andbarhet – Grafiskt gr¨anssnitt – Programutveckling – Program-meringsverktyg
grafiskt anv¨andargr¨anssnitt. M˚anga av dessa g¨or det enkelt att snabbt ska-pa en prototyp f¨or att exempelvis illustrera en id´e kring hur ett gr¨anssnitt kan se ut. Vad som d¨aremot ofta saknas ¨ar ett effektivt och intuitivt verk-tyg f¨or att skapa funktionalitet i prototypen och g¨ora gr¨anssnittet levande utan att beh¨ova kunskaper i programmering.
Den h¨ar rapporten studerar hur ett verktyg f¨or att skapa funktionalitet i prototyper, och som inte kr¨aver n˚agra kunskaper i programmering, skulle kunna fungera. Med hj¨alp av pappersprototyper och anv¨andarintervjuer v¨ags f¨ordelar och nackdelar mot varandra, och resultatet blir ett nytt f¨orslag p˚a hur ett intuitivt men samtidigt kraftfullt verktyg skulle kunna se ut och fungera.
Nyckelord : Anv¨andbarhet – Grafiskt gr¨anssnitt – Programutveckling – Programmeringsverktyg
Stort tack till Eva L. Ragnemalm och Jonas Lundberg f¨or handledning och inspiration som gjort det h¨ar arbetet m¨ojligt.
Mikael Kindborg f¨or inspiration och energi.
Olof Arnell, Joakim Fr¨ogren, Joakim Johansson, Nicklas Lindgren, Fredrik Linusson, Joakim Nemback, Mathias Nordvall, Nils Nyman, Erik Pryts och Therese ¨Oberg f¨or att jag fick stj¨ala en timme av era liv och pl˚aga er med korkade intervjufr˚agor.
Malin Persson och Hanna Norrman f¨or sena kv¨allar konsumerandes te och klaganden ¨over en rapport som aldrig blir klar.
Ylva som sparkade mig tills jag gjorde klart de sista detaljerna,
och sist, men inte f˚aast1: alla andra v¨anner och ov¨anner som st¨ottat, eggat och pinat mig till den h¨ar punkten i mitt liv.
1Korrekt b¨ojning enl. Svenska akademins ordbok 1926
1 Inledning 1
1.1 Bakgrund . . . 1
1.2 Anv¨andning av prototyper . . . 2
1.3 Disposition . . . 3
1.4 Definitioner och f¨ortydliganden . . . 3
2 Teori 7 2.1 Vad ¨ar design? . . . 7
2.2 Designmodeller . . . 8
2.3 Nyttan av sammanh˚allen design . . . 9
2.4 Anv¨andarunders¨okningar . . . 10
2.5 Konceptuella prototyper . . . 13 2.6 Prototyper . . . 13 2.7 Summering av teori . . . 14 3 Metod 17 4 Andra verktyg 19 4.1 Squeak . . . 19 4.2 Macromedia Director MX . . . 21 4.3 Adobe GO Live! . . . 22
4.4 Eclipse Visual Editor . . . 23
4.5 QT Designer . . . 25
4.6 TelePICTIVE . . . 26
x INNEH˚ALL 4.7 Summering av verktyg . . . 27 5 Programdesign 29 5.1 Scenarion . . . 29 5.1.1 Oppna f¨¨ onster . . . 29 5.1.2 Drag–och–sl¨app-funktion . . . 30 5.2 Designf¨orslag . . . 30
5.2.1 Prototyp 1 – Direkt manipulering . . . 31
5.2.2 Prototyp 2 – Drag funktioner . . . 32
5.2.3 Prototyp 3 – V¨alj funktion med sm˚a menyer . . . . 32
5.2.4 Prototyp 4 – Egenskapsf¨onster . . . 33
5.2.5 ˚Aterkoppling av skapade funktioner . . . 34
6 Anv¨andarunders¨okning 35 6.1 Intervjumallen . . . 35
6.2 Intervjuresultat . . . 38
6.2.1 Intervju med person A . . . 39
6.2.2 Intervju med Person B . . . 39
6.2.3 Intervju med Person C . . . 40
6.2.4 Intervju med person D . . . 41
6.2.5 Intervju med person E . . . 42
6.2.6 Intervju med person F . . . 43
6.2.7 Intervju med person G . . . 45
6.2.8 Intervju med person H . . . 46
6.2.9 Intervju med person I . . . 47
6.2.10 Intervju med person J . . . 48
6.3 Sammanfattning av intervjuerna . . . 49
6.4 Utv¨ardering av metodik . . . 50
7 Diskussion 51 7.1 Klassificering av intervjuerna . . . 51
7.2 Utv¨ardering av prototyperna . . . 52
7.2.1 Prototyp ett . . . 52
7.2.2 Prototyp tv˚a . . . 53
7.2.3 Prototyp tre . . . 53
7.2.5 ˚Aterkoppling . . . 54
7.3 Slutligt designf¨orslag . . . 55
7.4 Unikhet i slutprototypen . . . 56
7.5 Att t¨anka p˚a vid fortsatt arbete . . . 56
Figurer 58 Litteraturf¨orteckning 59 Index 61 A Designskisser 63 A.1 Prototyp 1 – Direkt manipulering . . . 63
A.2 Prototyp 2 – Drag funktioner . . . 65
A.3 Prototyp 3 – V¨alj funktion med sm˚a menyer . . . 67
A.4 Prototyp 4 – Egenskapsf¨onster . . . 69
A.5 ˚Aterkoppling av skapade funktioner . . . 71
Inledning
1.1
Bakgrund
M˚anga forskare inom designomr˚adet uttrycker hur viktigt det ¨ar att under programutvecklingsprocessen p˚a ett enkelt och snabbt s¨att kunna prova ut olika designf¨orslag. Det beh¨ovs f¨or att produkten ska bli anv¨andbar och f¨or att h˚alla nere utvecklingskostnaderna [1]. En mycket stor vikt ligger i just anv¨andargr¨anssnittet om programmet ska bli en succ´e eller inte d˚a detta ¨
ar den del av programmet som anv¨andaren kommer i direkt kontakt med [1]. D˚a ¨ar det ocks˚a viktigt att enkelt och snabbt kunna skapa en prototyp f¨or att demonstrera ett designf¨orslag f¨or tillt¨ankta anv¨andare [2].
De flesta av dagens verktyg f¨or gr¨anssnittsdesign klarar inte av att repre-sentera funktionalitet, utan ¨ar verktyg f¨or ren grafisk design av gr¨anssnitt [3]. De skapar grafiska prototyper eller ibland ett gr¨anssnitt som med hj¨alp av andra verktyg kan anv¨andas f¨or att skapa den slutgiltiga produkten, men de klarar inte av att representera hur gr¨anssnittet ska vara organi-serat i tiden, hur anv¨andaren ska kunna utf¨ora sina uppgifter med hj¨alp av det program prototypen ska illustrera och hur de datastrukturer som bygger upp gr¨anssnittet ska se ut och fungera. Dessa brister inskr¨anker ut-vecklingen d˚a en prototyp ska utvecklas med hj¨alp av ett s˚adant verktyg. F¨or det f¨orsta kan det vara sv˚art f¨or en tillt¨ankt anv¨andare att f˚a en k¨
2 1.2. Anv¨andning av prototyper
la f¨or hur slutprodukten ska se ut genom att unders¨oka en prototyp. F¨or det andra m˚aste ofta ett nytt gr¨anssnitt skapas utifr˚an prototyperna med hj¨alp av andra verktyg, exempelvis kraftfullare programspr˚ak [3]. Arbete som redan ¨ar gjort m˚aste d˚a g¨oras om, och en risk finns att man missar detaljer i prototypen vid tillverkningen av den slutliga produkten.
Jag har genom min utbildning och hobbyverksamhet inom programme-ring st¨ott p˚a m˚anga verktyg f¨or att grafiskt designa ett gr¨anssnitt. Vissa av dem ¨ar anpassade f¨or att anv¨andas av programmerare, och andra ¨ar an-passade f¨or att passa personer utan n˚agon programmeringsbakgrund. Jag lever i uppfattningen att verktygen som ¨ar anpassade f¨or ickeprogrammera-re ofta h¨avdar att man ska kunna skriva program eller prototyper utan att programmera, men ofta blir programutvecklaren ¨and˚a tvungen att anv¨ an-da programkod f¨or att l¨agga till funktionalitet i sitt gr¨anssnitt. Att beh¨ova skriva programkod ¨ar n˚agot jag uppfattar som besv¨arligt och tidskr¨avande om man snabbt vill skapa n˚agot f¨or att testa en id´e, men samtidigt ett kraftfullt verktyg f¨or den som kan hantera det fullt ut.
F¨or att sammanfatta ¨ar fr˚agan allts˚a: Hur ska ett verktyg f¨or att skapa funktionalitet i en prototyp se ut om det ska b˚ade vara l¨attanv¨ant f¨or n˚agon som inte har erfarehet av programmering, men samtidigt tillr¨ackligt kraftfullt f¨or att ge kontroll och ¨overblick f¨or en mer avancerad anv¨andare.
1.2
Anv¨
andning av prototyper
F¨or att finna svar p˚a min fr˚aga har jag valt att utveckla prototyper. I arbetet anv¨ander jag mig av prototyper p˚a tv˚a s¨att. Dels anv¨ander jag dem sj¨alv i form av mina designskisser f¨or att enkelt f¨ormedla det gr¨anssnitt som jag vill att subjekten ska ge ˚aterkoppling till under intervjuerna. Dels best˚ar hela mitt arbete i att utveckla ett verktyg f¨or att tillverka nya prototyper. Jag m˚aste d¨arf¨or b˚ade t¨anka p˚a att f˚a mina designskisser s˚a klara och tydliga som m¨ojligt och att mitt verktyg ska kunna skapa nya prototyper som blir klara och tydliga att visa upp f¨or en slutanv¨andare.
F¨or att ta reda p˚a mer om vad prototyper egentligen ¨ar och vad de kan tillf¨ora mitt arbete har jag valt att g¨ora en djupare litteraturstudie ¨over prototyper som bland annat presenteras i kapitlet teori.
1.3
Disposition
F¨orst presenteras den teori som denna rapport baseras p˚a. D¨arefter under-s¨oks n˚agra designverktyg som finns idag f¨or att beskriva tidigare bepr¨ovade id´eer. Sedan presenteras mina egna prototyper f¨or hur ett verktyg skulle kunna se ut.
F¨or att f¨orankra och f¨orb¨attra min id´e genomf¨ordes en anv¨ andarunder-s¨okning kring prototyperna, vad subjekten anv¨ande idag och vad de tycker om existerande verktyg. Intervjuerna genomf¨ordes med personer ur tv˚a oli-ka anv¨andargrupper, datavetenskap och kognitionsvetenskap, f¨or att f˚a med tv˚a olika perspektiv p˚a programdesign.
Intervjuerna analyseras och redovisas, och efter denna analys presenteras ett f¨orb¨attrat f¨orslag p˚a hur ett verktyg f¨or att skapa funktionalitet i ett gr¨anssnitt kan se ut. Till sist utv¨arderas arbetet och f¨orslag presenteras ¨
over vad som kan arbetas vidare p˚a. Rapporten ¨amnar inte att presentera en f¨ardig och fullt fungerande produkt, utan ska ses som en f¨orstudie till fortsatt utveckling.
1.4
Definitioner och f¨
ortydliganden
Detta ¨ar ett omr˚ade med m˚anga tekniska begrepp som kan vara sv˚ara att f¨orst˚a. Rapportens tillt¨ankta m˚algrupp ¨ar personer som arbetar med eller studerar datorspr˚ak eller gr¨anssnittsdesign, men ¨aven h¨ar kan begrepp s¨alla till med problem d˚a de kan betyda olika saker f¨or olika personer eller olika grupper. D¨arf¨or f¨ortydligas nedan vilken definition arbetet utg˚ar ifr˚an. Anv¨andare En person som anv¨ander n˚agot, fr¨amst ett program. Mina
anv¨andare ¨ar de som ska anv¨anda designverktyget. De har i sin tur anv¨andare, som ibland kallas “slutanv¨andare” f¨or att f¨ortydliga d˚a det beh¨ovs.
Anv¨andbar N˚agot anv¨andbart ¨ar n˚agot som g˚ar att anv¨anda, varken mer eller mindre. Ofta anv¨ands detta ord d˚a det handlar om gradering. Om produkt A ¨ar mer anv¨andbart ¨an produkt B betyder det att en anv¨andare hellre anv¨ander A ¨an B om denne f˚ar v¨alja.
4 1.4. Definitioner och f¨ortydliganden
Arbetsfl¨ode Inom design syftar arbetsfl¨ode till den ordning i vilken en anv¨andare anv¨ander gr¨anssnittet under sitt arbete. Ett arbetsfl¨ode kan till exempel beskrivas genom de kommandon anv¨andaren skri-ver i ett terminalgr¨anssnitt eller som de musr¨orelser och klick som anv¨andaren utf¨or i ett grafiskt gr¨anssnitt.
Bildmanus En sorts pappersprototyp som illustrerar funktionalitet och h¨andelsefl¨ode med hj¨alp av bildserier.
Datorbaserad prototyp Ett program implementerat p˚a en dator som ska visa funktionalitet och utseende hos en ¨annu ej utvecklad pro-dukt. Den datorbaserade prototypen kan sakna vissa funktioner, sak-na delar av funktioner eller vara implementerad i ett helt ansak-nat spr˚ak ¨
an man t¨ankt implementera slutprodukten i.
Design Med design syftas allt som oftast p˚a en helhetsdesign, vilket mer noggrant beskrivs i kapitel 2.1 p˚a sidan 7.
Designer Egentligen ¨ar detta mer eller mindre synonymt med program-utvecklare, men eftersom rapporten delar upp yrket i tv˚a kategorier s˚a kommer detta vara beteckningen p˚a en programutvecklare med huvudsakligt arbetsomr˚ade i det grafiska gr¨anssnittet.
Gr¨anssnitt Den del av programmet som interagerar med anv¨andaren. Det kan vara ett grafiskt gr¨anssnitt (GUI), men kan ¨aven vara till exem-pel ett r¨ostgr¨anssnitt i en automatisk telefontj¨anst eller ett terminal-gr¨anssnitt med en kommandoprompt. D˚a ordet “gr¨anssnitt” anv¨ands syftar det till valfri interaktionsform, och i annat fall specificeras det-ta.
Pappersprototyp Generellt ¨ar detta en grov skiss eller mer exakt ritning p˚a papper. Ibland klipper man ut dessa bilder och flyttar omkring i ett uppritat gr¨anssnitt f¨or att simulera funktionalitet. En pappers-prototyp kan ocks˚a vara av typen bildmanus.
Programmerare Programutvecklare med huvudsyssla att skapa program-kod och/eller designa underliggande datastrukturer och algoritmer.
Programutvecklare En person som arbetar med att skapa program. Till exempel genom att programmera, grafiskt designa eller genomf¨ora annat f¨orarbete eller kringarbete.
Prototyp N˚agot som beskriver utseende, funktion eller struktur hos en tillt¨ankt produkt. En prototyp kan till exempel vara en papperspro-totyp eller en datorbaserad propapperspro-totyp.
Teori
Detta arbete handlar i grund och botten om tre saker: design, prototyper och intervjuteknik. Teorin bakom dessa tre omr˚aden kan uppfattas som luddiga och odefinierade f¨or den oinvigde, men det finns mycket teori som definierar, f¨orklarar och utforskar omr˚adena.
2.1
Vad ¨
ar design?
Begreppet design ¨ar ett ganska omtvistat uttryck som jag h¨ar ¨amnar f¨ors¨oka reda ut en smula. Ordet design ¨ar ett annat ord f¨or formgivning, det vill s¨aga gestaltning av hantverkligt eller industriellt framst¨allda produkter och milj¨oer. I dagligt tal avser ordet vanligen en produkts form eller utseende [4].
I sin fulla bem¨arkelse syftar design allts˚a till formgivning av en produkt, men m˚anga programutvecklare inskr¨anker uttrycket n˚agot, till att endast omfatta formgivningen av den del av programmet som anv¨andaren kommer i kontakt med, den grafiska designen, och utesluter d¨armed underliggande datastrukturer och algoritmer. Vissa g˚ar till och med s˚a l˚angt att de an-v¨ander design f¨or att endast beteckna den grafiska utformningen av ett gr¨anssnitt [5].
D˚a man vill omfatta formgivningen av hela produkten kan man ibland
8 2.2. Designmodeller
anv¨anda sig av ordet helhetsdesign[4], f¨or att understryka att man inte in-skr¨anker uttrycket p˚a n˚agot s¨att. Detta innefattar allts˚a ¨aven formgivning-en av funktioner, deras interaktion med gr¨anssnittet och deras interaktion med bakomliggande strukturer.
Interaktionsdesign ¨ar ett uttryck f¨or att beskriva designen av ett f¨orem˚al som ¨ar skapat f¨or att interagera med anv¨andaren [4]. Det kan till exempel r¨ora sig om en telefon, ett datorspel eller en ringklocka p˚a en d¨orr. Termen interaktionsdesign ¨ar d¨aremot direkt ol¨amplig att applicera p˚a till exempel en gardin, ¨aven om man kan till¨ampa design p˚a gardiner.
Interaktionsdesignen syftar dessutom ofta till att skapa en anv¨ andarupp-levelse som ut¨okar eller f¨orb¨attrar s¨attet p˚a vilket m¨anniskor arbetar, kom-municerar och interagerar med varandra och med sina verktyg.
2.2
Designmodeller
Designmodeller ¨ar ett uttryck som anv¨ands f¨or att kategorisera olika de-lar av ett program eller en prototyp [6]. Designmodellerna kategoriserar programutvecklingen i fem olika grupper [6]:
Applikationsmodell Den datastruktur som anv¨andargr¨anssnittet beror och bygger p˚a. H¨ar definieras alla data som bygger upp det gr¨anssnitt som anv¨andaren kommer i kontakt med.
Abstrakt presentationsmodell Beskriver organisationen av gr¨ anssnit-tet. Hur komponenter ¨ar grupperade och vilka tekniker man anv¨ an-der f¨or att presentera informationen f¨or anv¨andaren. Modellen skapas oberoende av h˚ardvara och andra faktorer som existerar utanf¨or pro-dukten.
Konkret presentationsmodell Beskriver det s¨att som den abstrakta pre-sentationsmodellen faktiskt presenteras f¨or anv¨andaren. Beror p˚a h˚ ard-vara och andra faktorer utanf¨or programmet, eftersom dessa faktorer inverkar p˚a det intryck som anv¨andaren f˚ar fr˚an gr¨anssnittet.
Uppgifts-/dialogmodell Detta ¨ar tv˚a modeller som ligger mycket n¨ara varandra. Uppgiftsmodellen ¨ar den modell som beskriver hur en an-v¨andare kan utf¨ora olika uppgifter i programmet och dialogmodellen
¨
ar den modell som definierar dialogen som anv¨andaren skapar med programmet f¨or att utf¨ora uppgiften.
Kontextmodell Kontextmodellen beskriver i vilken kontext gr¨anssnittet anv¨ands. Med kontext menas den milj¨o och andra utomst˚aende va-riabler som p˚averkar anv¨andandet. Kontextmodellen p˚averkar och p˚averkas av till exempel uppgifts- och dialogmodellen i mycket h¨og grad d˚a uppgiften och milj¨on ofta samverkar. Den abstrakta presen-tationsmodellen d¨aremot har inget utbyte alls med kontextmodellen. Att anv¨anda sig av en eller flera designmodeller g¨or att man kan struktu-rera upp sitt designarbete och fokusera p˚a en del av designen i taget bland annat f¨or att undvika att man missar vissa omr˚aden och aspekter av de-signen [7]. Det underl¨attar ocks˚a designarbete i grupper, d˚a olika delar av gruppen kan ˚ata sig att utforska och utveckla olika delar av designen utan att r˚aka utf¨ora dubbelt arbete.
2.3
Nyttan av sammanh˚
allen design
Varf¨or ¨ar det d˚a s˚a viktigt att l¨agga tid och pengar p˚a att designa dator-program? Dels kan man se p˚a denna fr˚aga i perspektivet varf¨or utvecklare ska l¨agga tid p˚a f¨orarbete och unders¨okningar ist¨allet f¨or att bara skriva ihop ett program direkt. Dels kan man belysa fr˚agan fr˚an utg˚angspunkten vad de tillt¨ankta anv¨andarna ser f¨or anv¨andningsomr˚ade och m¨ojligheter i det program som ska produceras.
Enligt “The importance of Designing Usable Systems”[1] ser m˚anga pro-gramutvecklare funktionaliteten hos en produkt som n˚agot skilt fr˚an gr¨ ans-snittet. En anv¨andare ˚a andra sidan ser oftast gr¨anssnittet som hela funk-tionaliteten. D¨armed anser ofta anv¨andaren att programmet ¨ar anv¨andbart om gr¨anssnittet ¨ar anv¨andbart. Detta leder i sin tur till att n˚agon som ut-vecklar ett program m˚aste se till helheten. Man m˚aste designa med tanke p˚a [1]:
• Den grafiska representationen av programmet.
• De underliggande strukturer och algoritmer som bygger upp
10 2.4. Anv¨andarunders¨okningar
• De arbetsfl¨oden och arbetss¨att som anv¨andare anv¨ander sig av och
skapar.
• Interaktionen mellan programmets delar och eventuellt interaktionen
med andra program.
Att notera ¨ar att dessa fyra punkter sammanfaller ganska v¨al med de fem designmodeller som listas i kapitel 2.2, men teorierna kring detta kommer fr˚an n˚agot olika angreppspunkter.
Om utvecklaren h˚aller ihop alla dessa delar n¨ar programmet designas s˚a kan man finna flera f¨ordelar i slutprodukten; till exempel minskade support-behov, mindre behov av introduktion, h¨ogre produktivitet, mindre frustra-tion och h¨ogre bel˚atenhet hos anv¨andaren. Allt detta kan summeras ihop i h¨ogre inkomster i l¨angden f¨or ett f¨oretag inom programutveckling [1].
N˚agot som ofta fokuseras p˚a inom anv¨andbarhet och design ¨ar gr¨ ans-snittets utformning [8]. Det finns m˚anga verktyg som st¨odjer en gr¨ ans-snittsdesigner, och m˚anga verktyg som st¨odjer programmeraren, men de ¨ar segregerade och samarbetar inte. D¨arf¨or beh¨ovs det ett verktyg som b˚ade kan anv¨andas f¨or att designa den rent grafiska delen av gr¨anssnittet, testa detta p˚a anv¨andare och samtidigt kunna kopplas till programmerare och funktionsdesigners. Ett arbetss¨att som involverar anv¨andare, grafiska de-signers, programmerare och ¨ovriga medarbetare under hela utvecklingspro-cessen minskar utvecklingskostnaderna och leder till h¨ogre produktkvalit´e och b¨attre anv¨andbarhet [8]. Om splittring ist¨allet uppst˚ar mellan arbets-grupperna s˚a leder det ofta till att “den ena handen vet inte vad den andra g¨or”. Resultatet blir spretigt och produkten blir inte anv¨andarv¨anlig [4].
Med andra ord ¨ar det inte bara viktigt att h˚alla bra kvalitet i alla delar av produktens design, utan ocks˚a viktigt att h˚alla ihop alla utvecklargrupper i processen under samma tak s˚a att de kan diskutera f¨orslag och l¨osningar med varandra och utbyta erfarenheter.
2.4
Anv¨
andarunders¨
okningar
F¨or att kunna unders¨oka om prototyperna accepteras hos de tillt¨ankta anv¨andarna kan man exempelvis anv¨anda sig av intervjuer av en grupp m¨anniskor som kan t¨ankas vilja anv¨anda den f¨ardiga produkten.
Enligt rapporten “User involvement in Concept Creation” [9] kan en an-v¨andarunders¨okning kring anv¨andbarhet delas in i fyra delar, eller works-hops.
1. Anv¨andarna f˚ar diskutera de problem de upplever med deras nuva-rande system.
2. Anv¨andarna f˚ar sj¨alva komma p˚a f¨orslag till l¨osningar till sina pro-blem och eventuella framtida propro-blem.
3. Anv¨andarna f˚ar utveckla sina l¨osningar till prototyper.
4. Till sist f˚ar anv¨andarna utv¨ardera andra anv¨andares prototyper. Genom denna modell anv¨ander man sig av anv¨andare p˚a ett optimalt s¨att genom att l˚ata anv¨andaren definiera svaga punkter i en design. Ofta vet man kanske om att designen har svaga punkter men vill ha detta bekr¨aftat, eller s˚a kan anv¨andaren komma p˚a en l¨osning p˚a problemet. Det kan ocks˚a vara s˚a att anv¨andaren hittar svaga punkter som designern inte t¨ankt p˚a ¨
over huvud taget [9].
N˚agot som ¨ar mycket viktigt vid den h¨ar typen av intervjuer ¨ar att st¨alla r¨att fr˚agor, och att st¨alla dem p˚a r¨att s¨att. Artikeln “Generating Good De-sign Questions”[10] beskriver QOC-modellen, som g˚ar ut p˚a att identifiera Questions, Options och Criterion; allts˚a Fr˚agor, Alternativ och Slutkrite-rium. Innan intervjuen ska man skriva ett antal fr˚agor som var och en ska ha ett antal alternativ som resulterar i ett antal slutkriterium. Figur 2.1 illustrerar hur dessa tre element kan vara kopplade till varandra. Varje slut-kriterium ¨ar n˚agot som beh¨over lyftas ut och resultera i en funktion eller en l¨osning p˚a ett problem [10]. P˚a detta s¨att kan man engagera sitt subjekt till att utforska s˚a m˚anga alternativ som m¨ojligt.
¨
Aven om det ska finnas ett antal alternativ och slutkriterier vid inter-vjuens b¨orjan s˚a betyder det inte att m¨angden ¨ar fixerad under intervjuen. Nya alternativ och slutkriterium skall tillf¨oras ett intervjuformul¨ar om det uppt¨acks fler under intervjuernas g˚ang, och ¨aven nya m¨ojliga fr˚agor b¨or unders¨okas och eventuellt tillf¨oras under unders¨okningens g˚ang. Dessa kan anv¨andas vid en senare intervju med ett annat subjekt eller f¨or att st¨odja ett resultat.
12 2.4. Anv¨andarunders¨okningar F r å g a F r å g a F r å g a F r å g a S l u t k r i t e r i u m S l u t k r i t e r i u m S l u t k r i t e r i u m S l u t k r i t e r i u m A l t e r n a t i v Figur 2.1: QOC-modellen ¨
Aven artikeln “Design Space Analysis” [11] tar upp QOC-modellen, och tillf¨or m¨ojligheten att po¨angs¨atta olika alternativ genom att v¨aga samman f¨ordelar och nackdelar hos de olika alternativen till en l¨osning. Detta kan till exempel ˚astadkommas med en plus/minus-lista f¨or varje alternativ. Detta leder till att designern kan f˚a b¨attre ¨overblick och enklare kunna s˚alla ut bra alternativ och positiva slutkriterium fr˚an d˚aliga alternativ och negativa slutkriterium [11].
I artikeln “Design Space Analysis and Use-Representations” [12] utveck-las QOC-modellen vidare. I tidigare artiklar beskrivs en intervju som n˚agot statiskt och diskret, men nu appliceras teorin och beskrivs i praktiska sce-narion. Verklighetens intervjuer kan mycket s¨allan vara varken statiska eller diskreta utan m˚aste anpassas efter varje subjekts erfarenhet och inst¨allning till ¨amnet [12].
I artikeln [12] diskuteras ocks˚a olika verktyg och modeller f¨or att utveckla design, vilka verktyg och modeller som ¨ar bra vid vilka tillf¨allen, och hur de olika delarna kan samarbeta f¨or att underl¨atta arbetet. Sammanfattat kan man s¨aga att artikeln [12] beskriver en helhetssyn p˚a designarbetet baserat p˚a forskargruppens tidigare arbete.
2.5
Konceptuella prototyper
Artikeln “Conceptual Models”[13] beskriver konceptuella prototyper. Om man anv¨ander sig av konceptuella prototyper ska man inte designa med tanken att beskriva hur slutprodukten kommer se ut, utan hur slutproduk-ten kommer att fungera. Med andra ord ¨ar det inte gr¨anssnittets utseende som ¨ar viktigt, utan vad man kan g¨ora med gr¨anssittet och p˚a vilket s¨att gr¨anssnittet beter sig n¨ar anv¨andaren ska utf¨ora uppgifter. D¨arf¨or skall man beskriva v¨agar till funktioner och funktionernas resultat snarare ¨an utseende [13].
Det ¨ar ocks˚a l¨ampligt att inte beskriva samma funktion med hj¨alp av olika prototyper om de uppf¨or sig p˚a samma s¨att. Om man exempelvis kan rita cirklar och rektanglar genom att f¨orst v¨alja endera cirkel- eller rektangelverktyget och sedan klicka och dra f¨or att rita figuren ¨ar det ingen mening med att skapa prototyper f¨or b˚ada funktionerna, det r¨acker med att g¨ora en prototyp och sedan f¨orklara att man kan utf¨ora den andra funktionen p˚a samma s¨att enligt “Conceptual Models” [13].
Konceptuella prototyper skiljer sig fr˚an designmodeller genom att design-modeller kategoriserar programmets eller prototypens olika delar, medan konceptuella prototyper definierar hur man ska skapa en prototyp s˚a att den blir s˚a effektiv som m¨ojligt i utvecklingsarbetet. Man kan utveckla en konceptuell prototyp genom att inrikta sitt designarbete p˚a en eller flera designmodeller.
2.6
Prototyper
En prototyp kan vara v¨aldigt m˚anga olika saker beroende p˚a vilket yrkes-omr˚ade man r¨or sig i, men det viktiga med en prototyp ¨ar inte vad det ¨ar, utan vad den anv¨ands till att beskriva och p˚a vilket s¨att den beskriver [14].
Enligt Houde[14] kan man dela in prototyper i tre olika niv˚aer:
• Role
• Look and feel • Implementation
14 2.7. Summering av teori
Role-niv˚an inneb¨ar att man anv¨ander sig av pappersprototyper f¨or att ut-trycka grundl¨aggande placering av saker och funktionaliteten i gr¨anssnittet. Den kan ge en k¨ansla f¨or vad man kan g¨ora och hur man utf¨or detta. Des-sa skisser ¨ar ganska billiga att skapa, och d¨arf¨or kan man utveckla m˚anga prototyper och testa p˚a sina tillt¨ankta anv¨andare.
Look and feel inneb¨ar en prototyp som ska ge testpersonen en k¨ansla f¨or hur det kan k¨annas att anv¨anda produkten. Designern m˚aste nu troligtvis ta ett steg upp och implementera prototypen p˚a en dator. Det beh¨over d¨ ar-emot inte inneh˚alla all funktionalitet som slutprodukten ska inneh˚alla, utan kan till exempel vara en prototyp ¨over en viss funktion eller ett gr¨anssnitt som saknar viss funktionalitet.
En s˚adan prototyp kan tillverkas med ett helt annat verktyg ¨an slutpro-dukten tillverkas med. Det kr¨aver dock mer arbete ¨an den f¨orsta proto-typen, och oftast har ett designteam inte tillr¨ackligt med resurser f¨or att skapa mer ¨an ett f˚atal s˚adana prototyper. N˚agot som kan g¨oras ¨ar dock att skapa flera prototyper som var och en testar n˚agon funktion i gr¨anssnittet utan att de ¨annu ¨ar sammanl¨ankade med varandra i ett program.
Till sist tillverkas implementationsprototypen. Den tillverkas med samma verktyg som den slutgiltiga produkten och ska bland annat kunna testa hur den slutgiltiga produkten kommer bete sig p˚a olika h˚ardvara och andra detaljer kring effektivitet och resurskrav. Denna prototyp har man normalt bara resurser f¨or att bygga en version av, och helst ska den kunna anv¨andas f¨or att bygga den slutgiltiga produkten p˚a, allt enligt Houde [14].
2.7
Summering av teori
Design kan sammanfattas som all den teori som ligger till grund f¨or ett implementationsarbete. Den kan i sin tur delas in i olika underkategorier s˚asom helhetsdesign, interaktionsdesign eller grafisk design. Designmodeller ¨
ar en annan dimensionsaxel inom design som ser p˚a designbegreppet fr˚an en annan synvinkel.
Konceptuella prototyper ¨ar ett s¨att att designa prototyper genom att ist¨allet f¨or att skapa prototyper som beskriver utseendet hos produkten, skapa prototyper som beskriver funktioner hos produkten.
prototy-per kan man f˚a en objektiv bed¨omning, tips och id´eer som p˚a ett kostnads-effektivt s¨att kan ge en anv¨andbar slutprodukt. Dessa intervjuer beh¨over struktureras f¨or att ge maximalt med information och t¨acka upp s˚a m˚anga aspekter som m¨ojligt kring prototypen. Detta kan exempelvis g¨oras med hj¨alp av QOC-modellen.
Metod
Jag har valt att unders¨oka vilken funktionalitet ett designverktyg beh¨over f¨or att en programutvecklare ska kunna anv¨anda verktyget till att skapa funktionalitet i ett anv¨andargr¨anssnitt. Metoden f¨or att skapa funktionali-tet ska vara effektiv och intuitiv, f¨or att passa b˚ade personer med program-meringsbakgrund och personer som saknar den bakgrunden. Det ska vara enkelt att komma ig˚ang att anv¨anda verktyget, samtidigt som det ska vara tillr¨ackligt kraftfullt f¨or att fylla behovet hos programutvecklare med olika bakgrund.
De bildmanus jag utvecklat har jag skapat efter att f¨orst unders¨okt vilka verktyg som finns idag och vilken funktionalitet de erbjuder. Det finns en stor m¨angd olika program med den h¨ar typen av verktyg, men m˚anga av dem skapar funktionalitet p˚a ungef¨ar samma s¨att. F¨or att inte beh¨ova un-ders¨oka alla program har jag valt ut ett antal som jag anser representerar och t¨acker upp branchen idag. Dessa verktyg presenterar jag n¨armare i ka-pitel 4. Jag presenterar ocks˚a det jag anser vara de olika verktygens f¨ordelar och nackdelar. I kapitel 5 skapar jag sedan egna bildmanus som renodlar de olika positiva funktioner jag funnit i de andra verktyg jag unders¨okt.
Jag vill unders¨oka om min prototyp fungerar f¨or mina tillt¨ankta anv¨ an-dare. Jag vill ocks˚a f˚a hj¨alp med att utveckla mina initiala id´eer till en slutgiltig prototyp. F¨or att g¨ora detta har jag valt att titta p˚a intervjutek-niker f¨or designarbete.
18
Jag har valt att arbeta med en metod som p˚aminner om QOC-modellen, som beskrivs i kapitel 2.4. QOC-modellen anser jag ¨ar ett bra verktyg f¨or att kunna styra en intervju och f˚a konkreta resultat ur ett ¨amne som annars kan urarta i en l¨os diskussion utan n˚agra slutsatser. Samtidigt anser jag att den ger tillr¨ackligt mycket flexibilitet f¨or att inte l˚asa in subjekten i f¨ordefinierade svar p˚a fr˚agorna utan till˚ater att man t¨anker utanf¨or de uppsatta ramarna vid intervjuen. Det tror jag leder till ett mer kreativt och kvalitativt resultat. Det finns naturligtvis fler intervjumetoder som erbjuder samma resultat och kvalit´e, men jag k¨anner mig n¨ojd och trygg med QOC.
Eftersom jag tyv¨arr saknar de resurser som kr¨avs f¨or att genomf¨ora den omfattande unders¨okning i fyra steg som beskrivs i QOC-modellen, har jag valt att inte l˚ata mina anv¨andare helt p˚a egen hand utveckla prototy-per, utan har redan innan intervjuerna utvecklat ett antal prototyper som jag presenterar under intervjuerna. Jag har d¨aremot f¨ors¨okt se till att jag har en grov QOC-modell ¨over fr˚agorna ¨aven om inte alla alternativ ¨ar v¨al utforskade p˚a f¨orhand. P˚a detta s¨att kan jag anv¨anda mig av metoden i komprimerad form. Efter intervjuerna har jag applicerat plus/minus-listor enligt kapitel 2.4 p˚a intervuresultaten f¨or att enklare kunna skaffa mig en uppfattning och ¨overblick ¨over resultatet.
Resultatet av arbetet ¨ar ett f¨orslag p˚a hur ett nytt designverktyg kan se ut. Detta f¨orslag kan ligga till grund f¨or nya prototyper, eventuellt pap-persprototyper med h¨ogre detaljrikedom eller en datorbaserad prototyp med m¨ojlighet till interaktion.
Andra verktyg
Det finns idag en m¨angd verktyg som anv¨ands vid produktutveckling. Det h¨ar kapitlet g˚ar igenom ett urval av dessa. Dessa verktyg har alla olika s¨att att skapa funktionalitet i prototypen. Vad jag speciellt unders¨oker ¨ar hur en anv¨andare av verktyget kan skapa funktionalitet i sitt gr¨anssnitt och vilka funktioner som g¨or verktyget speciellt. Jag ger ocks˚a personliga kommentarer p˚a vad jag anser ¨ar f¨ordelar och nackdelar med verktygen.
4.1
Squeak
Squeak ¨ar en programmeringsmilj¨o baserad p˚a Smalltalk. Syftet med Sque-ak ¨ar att skapa en programmeringsmilj¨o som ¨ar anpassad f¨or barn. Syftet med milj¨on ¨ar att skapa olika former av spel, och verktyget ¨ar d¨arf¨or inte anpassat till vanlig f¨onstergr¨anssnittsprogrammering, men det g˚ar ¨aven att tillverka f¨onstergr¨anssnitt.
F¨or att skapa funktionalitet i Squeak finns det flera olika verktyg att anv¨anda. Ett av dem ¨ar Etoys [15] d¨ar anv¨andaren skapar funktionalitet genom att ¨andra v¨arden direkt p˚a ett objekt (se figur 4.1). Objekten ¨ar i det h¨ar fallet bilder som endera kan vara f¨ardiga bilder, eller bilder som man ritar sj¨alv. I bilden kan man se ett f¨onster med en knapp i som ritats p˚a arbetsytan. Genom att h¨ogerklicka p˚a ett objekt f˚ar man upp de verktyg
20 4.1. Squeak
man kan anv¨anda f¨or att f¨or¨andra objektet och ge den egenskaper och funktioner. I bilden har knappen “Button 1” precis h¨ogerklickats p˚a s˚a att menyn syns omkring.
Figur 4.1: EToys
Ett annat verktyg ¨ar MagicWords [16], som baseras p˚a samma bilder, men h¨ar skapar anv¨andaren ist¨allet funktionalitet genom att dra etiketter med text beskrivande funktionen hos etiketten till bildobjekten (se figur 4.2). En etikett kan till exempel vara “V¨anster”, som f˚ar objektet att b¨orja r¨ora sig ˚at v¨anster konstant. P˚a bilden ser vi en kanin i en ballong som representerar ett objekt. Genom att etiketten “up” har dragits till kaninen s˚a r¨or den sig upp˚at med en grundhastighet.
B˚ada dessa verktyg ser jag som ganska triviala att b¨orja anv¨anda. Spe-ciellt MagicWords som k¨anns mycket enkel att anv¨anda. Nackdelen med MagicWords kan vara att lyckas beskriva vad varje etikett g¨or med bara ett ord. Exempelvis etiketten “Studsa” som betyder att objektet ska b¨orja r¨ora sig ˚at motsatt h˚all n¨ar det n˚ar f¨onsterkanten, men det skulle egentligen lika g¨arna kunna betyda att det ska p˚averkas av en tyngdkraft och studsa precis som en boll.
Figur 4.2: MagicWords
stor m¨angd ikoner kring varje objekt, och jag tror att det kan vara st¨orande med kryptiska ikoner kring varje objekt.
B˚ada dessa verktyg till Squeak ¨ar anpassade f¨or att anv¨andas av barn, men jag tror att id´en som s˚adan kan vara anv¨andbar ¨aven f¨or en designer som konstruerar ett “vuxet” gr¨anssnitt.
4.2
Macromedia Director MX
Att bygga ett gr¨anssnitt i Macromedia Director MX baseras inte p˚a f¨onster i sig, utan anv¨andaren har en ganska h¨og frihet i att helt enkelt rita sitt gr¨anssnitt p˚a frihand. Varje objekt – en linje, cirkel eller en text – kan sedan funktionalitet l¨ankas till. Funktionalitet skapas genom att designern klickar p˚a ett objekt, och f˚ar d˚a m¨ojligheten att skriva skriptkod f¨or objektet [17] (se figur 4.3). P˚a bilden ser man en sk¨armdump fr˚an Macromedia Director MX. I mitten till h¨oger syns f¨onstret som inneh˚aller det gr¨anssnitt som ritats upp, i det h¨ar fallet kallas det “Window1”. I f¨onstret strax till v¨anster syns scriptet f¨or objektet “Button 1”, vilket man f˚ar upp genom att
22 4.3. Adobe GO Live!
h¨ogerklicka p˚a objektet i gr¨anssnittet. L¨angst till v¨anster syns slutligen de verktyg man har till f¨orfogande f¨or att rita sitt gr¨anssnitt.
Figur 4.3: Macromedia Director MX
En f¨ordel med Director ¨ar att designern ¨ar mycket fri i sin kreativitet. Man ¨ar inte p˚a f¨orhand bunden till att anv¨anda standardknappar och f¨ ons-ter, utan kan rita s˚adana saker precis som man vill att de ska se ut.
Nackdelar jag ser ¨ar att scriptspr˚aket kan vara sv˚art att anv¨anda f¨or en person som inte ¨ar van vid programmering, och scriptspr˚aket har dessutom stora begr¨ansningar i sina datastrukturer vilket g¨or att n˚agon som ¨ar insatt i programmering kan k¨anna sig begr¨ansad i spr˚aket.
4.3
Adobe GO Live!
GO Live anv¨ands f¨or att skapa interaktiva textsidor. Till exempel kan man med programmet skapa hemsidor, PDF:er och liknande sidor som till ex-empel ska inneh˚alla ett formul¨ar [18].
Sj¨alva den grafiska designprocessen g˚ar till p˚a ungef¨ar samma s¨att som i Macromedia Director MX. Skillnaden ¨ar dock att ist¨allet f¨or att skriva
scriptkod p˚a varje funktion s˚a f˚ar anv¨andaren ist¨allet m¨ojlighet att med hj¨alp av direktmanipulation konstruera funktionalitet f¨or ett objekt (se figur 4.4).
Figur 4.4: Adobe GO Live!
Jag anser att detta ger ett mycket verklighetsn¨ara implementationss¨att. Eftersom man utf¨or funktionen f¨or att skapa funktionen s˚a f˚ar designern direkt en liten feedback p˚a hur funktionen kommer att k¨annas f¨or anv¨ an-daren. En nackdel ¨ar att verktyget inneh˚aller en begr¨ansad m¨angd funktio-ner, och det g˚ar inte att kombinera dessa med varandra f¨or att skapa nya funktioner. ˚A andra sidan har GO Live inte uttryckt n˚agra ambitioner till att vara ett verktyg f¨or avancerad programutveckling, ett verktyg som g¨or s˚adana anspr˚ak kanske kan ha en annorlunda och bredare funktionsupp-s¨attning.
4.4
Eclipse Visual Editor
Eclipse ¨ar en programmeringsmilj¨o ursprungligen utvecklad f¨or javapro-gram, men kan idag anv¨andas till andra programspr˚ak. Fr˚an b¨orjan
in-24 4.4. Eclipse Visual Editor
neh¨oll den enbart en editor med kringverktyg f¨or att programmera, och f¨orst senare blev editorn ut¨okad med ett till¨aggsverktyg som p˚a grafisk v¨ag till˚ater programutvecklaren att rita upp gr¨anssnitt.
Figur 4.5: Eclipse Visual Editor
I figur 4.5 ser vi ett f¨onster kallat “Team Members” som ritats upp i ap-plikationen. Nedanf¨or ritytan ser man k¨allkoden f¨or f¨onstret, och det ¨ar allts˚a denna k¨allkod man editerar f¨or att skapa funktionalitet i prototypen. Till v¨anster syns en verktygsrad, “Palette”, och till h¨oger syns inst¨ allning-ar s˚asom storlek, f¨arger, teckensnitt och andra inst¨allningar f¨or de olika grafikkomponenterna.
Jag anser att det h¨ar ¨ar ett typiskt verktyg skapat av och f¨or programme-rare. En detalj man m¨arker det p˚a ¨ar att programmet startar upp i editor-l¨age, och programutvecklaren f˚ar sedan leta reda p˚a det grafiska verktyget. En annan detalj ¨ar att det enbart ¨ar den rent grafiska layouten som skapas i det grafiska verktyget, all funktionalitet f˚ar man sedan l¨agga till i det kodskelett som det grafiska verktyget genererar.
Eftersom verktyget ¨ar v¨aldigt starkt anpassat till det programspr˚ak man utvecklar i s˚a ¨ar det iallafall f¨or mig ett smidigt verktyg att anv¨anda vid programmering. Att anv¨anda det som ett grafiskt designverktyg d¨aremot
k¨anns inte helt trivialt d˚a det bara inneh˚aller de standardobjekt som finns i programspr˚akets bibliotek. Den artistiska friheten k¨anns begr¨ansad, och ingen funktionalitet g˚ar att skapa utan att man blir ganska v¨al bekant med hur spr˚aket ifr˚aga fungerar och ¨ar uppbyggt.
4.5
QT Designer
QT Designer ¨ar ett verktyg f¨or att skapa C++-program kopplade till QT-biblioteket, som ¨ar ett grafikbibliotek utvecklat f¨or C++-spr˚aket med tan-ken att det ska vara plattformsoberoende [19].
Figur 4.6: QT Designer
Till en b¨orjan uppfattar jag verktyget som ganska klassiskt f¨or ett GUI-verktyg skapat av och f¨or programmerare, men jag m¨arker ganska snabbt att det finns en skillnad. F¨or att skapa funktionalitet s˚a beh¨over n¨amligen inte anv¨andaren skriva kod, utan man v¨aljer helt enkelt ett objekt i en lista (vilket syns i figur 4.6), vilken h¨andelse som ska utl¨osa funktionen samt vilken funktion hos vilket objekt som ska k¨oras. I figuren b¨or man framf¨orallt l¨agga m¨arke till de tv˚a f¨onstren i mitten. Det nedre av dem
26 4.6. TelePICTIVE
inneh˚aller det uppritade gr¨anssnittet, och det ¨ovre f¨onstret inneh˚aller listan med funktioner som finns i gr¨anssnittet, f¨or nuvarande tv˚a stycken som b˚ada ¨ar kopplade till knapparna okButton och cancelButton.
I det ¨ovre f¨onstret som kallas “Signal/Slot editor” ˚aterfinns allts˚a alla funktioner. Det g¨or att anv¨andaren kan f˚a en snabb ¨overblick ¨over alla funktioner som skapats i gr¨anssnittet. Fr˚agan ¨ar bara hur l˚ang listan blir, och om det kanske blir sv˚art att ¨overblicka den efter ett tag.
QT Designer ¨ar ocks˚a starkt bundet till QT-biblioteket vilket betyder att en designer ¨ar ganska begr¨ansad till de knappar och andra objekt som redan finns f¨ordefinierade, och d¨armed till˚ater inte verktyget n˚agon st¨orre artistisk frihet.
4.6
TelePICTIVE
TelePICTIVE ¨ar ett exprimentiellt program som utvecklats av bland an-nat David S. Miller p˚a Bellcore [8] just f¨or att sammanfoga olika grupper av utvecklare under ett och samma program. Flera utvecklargrupper ska kunna anv¨anda samma verktyg till alla delar av programdesign och pro-gamutveckling. H¨ar kan man samla skisser, rita prototypgr¨anssnitt, skri-va programkod, skriskri-va kravspecifikationer och utf¨ora anv¨andarintervjuer i samma program med inbyggd versionshantering och access p˚a distans. [8]
Projektet verkar dock inte ha presenterat n˚agot sedan 1992, och de pro-totyper som finns visar p˚a ett f¨or˚aldrat gr¨anssnitt som jag inte tror skulle fungera till modern programutveckling. Vad som ¨and˚a g¨or programmet v¨art att notera ¨ar att det integrerar alla delar i programutvecklingen under ett och samma tak. Tekniken ¨ar enligt mig med andra ord f¨or˚aldrad, men te-orierna och resultaten som kom fram under utvecklingen av TelePICTIVE om att man kan samla olika utvecklare med olika bakgrund och m˚al under samma tak och f˚a dem att samarbeta i samma program [8] anser jag h˚alla ¨
4.7
Summering av verktyg
De verktyg jag nu g˚att igenom anser jag ha sina styrkor och svagheter. Problemet, som jag ser det, ¨ar att svagheterna ¨overv¨ager styrkorna. Sque-ak har kreativ feedback, men verktygen kanske inte ¨ar tillr¨ackligt kraftfulla f¨or att t¨acka upp en professionell programutvecklares krav. Macromedia Director MX har ungef¨ar samma problem d˚a det ¨ar enkelt att skapa enk-la funktioner men saknar enligt min uppfattning ett tillr¨ackligt kraftfullt scriptspr˚ak f¨or mer avancerade funktioner samtidigt som det kr¨aver att man ¨and˚a l¨ar sig beh¨arska ett scriptspr˚ak. GO Live ¨ar enbart utvecklat med hemsidor och PDF-formul¨ar i ˚atanke och saknar d¨armed funktioner f¨or att skapa generella programgr¨anssnitt. Eclipse ¨ar utvecklat f¨or och av programmerare vilket mer eller mindre kr¨aver att man l¨ar sig programmera innan man kan anv¨anda verktyget, precis som QT Designer. TelePICTIVE inneh˚aller ett intressant koncept d¨ar man f¨ors¨okt sammanfoga alla delar av programutvecklingen i ett program, men d˚a det ¨ar skapat med utg˚ angs-punkt i de primitiva grafiska gr¨anssnitt som byggdes f¨or ¨over 15 ˚ar sedan s˚a ¨
ar det sv˚art att se hur just TelePICTIVE skulle kunna anv¨andas i modern gr¨anssnittsutveckling.
Sammanfattningsvis kan man s¨aga att verktygen kan kategoriseras in i tv˚a grupper. Endera ¨ar de enkla att anv¨anda, men ¨aven enkla i de funk-tioner man kan skapa och l¨ampar sig d¨armed d˚aligt f¨or mer avancerad programutveckling. Alternativt har de kraftfulla funktioner, men n¨astan uteslutande m˚aste man d˚a l¨ara sig att programmera, vilket inte ¨ar ett helt trivialt steg f¨or den som inte gjort det f¨orut.
Programdesign
Jag v¨aljer att presentera mina fyra prototyper i tv˚a olika scenarion, f¨or att l¨attare kunna visa p˚a f¨or- och nackdelar i de olika prototyperna under min anv¨andarunders¨okning. Att beskriva samma funktion i flera olika de-signf¨orslag har jag baserat p˚a kapitel 2.5 kring teorierna om konceptuella prototyper.
M˚alet h¨ar ¨ar, som beskrivs i kapitel 3, att renodla de funktioner jag funnit d˚a jag unders¨okt olika existerande verktyg.
5.1
Scenarion
H¨ar beskrivs de tv˚a scenarion jag sedan applicerar mina prototyper p˚a f¨or att enkare genom exempel kunna f¨orklara funktionen hos mina prototyper.
5.1.1
Oppna f¨
¨
onster
F¨oruts¨attningarna f¨or detta scenario ¨ar att programutvecklaren har skapat tv˚a stycken f¨onster, “window1” och “window2”. I f¨onstret “window1” finns det en knapp. Funktionaliteten som ska skapas ¨ar att d˚a slutanv¨andaren klickar p˚a knappen i “window1” ska f¨onstret “window2” ¨oppnas.
30 5.2. Designf¨orslag
Figur 5.1: ¨oppna f¨onster
5.1.2
Drag–och–sl¨
app-funktion
F¨oruts¨attningarna f¨or det andra scenariot ¨ar att programutvecklaren har skapat ett f¨onster med tv˚a listor i. Listorna kan vara tomma eller inneh˚alla ett eller flera objekt. De skulle till exempel kunna vara tv˚a kataloger som inneh˚aller filer med en fil per rad representerade som filnamnet. Funktio-naliteten som ska skapas ¨ar att slutanv¨andaren ska kunna med hj¨alp av en drag–och–sl¨app-funktion kunna kopiera objekt fr˚an den ena listan till den andra.
5.2
Designf¨
orslag
Nedan presenteras de fyra olika prototyper jag arbetat fram, applicerat p˚a de tv˚a scenarion som beskrivits i kapitel 5.1.
Figur 5.2: drag–och–sl¨app-funktion
5.2.1
Prototyp 1 – Direkt manipulering
Syftet med prototypen ¨ar att designern ska skapa funktionalitet genom att utf¨ora precis den funktion man vill skapa. Om exempelvis en knapp ska st¨anga ett f¨onster s˚a markeras f¨orst knappen, och d¨arefter “st¨anger” man f¨onstret genom att klicka p˚a kryssrutan i f¨onstrets ¨ovre h¨ogra h¨orn.
Exemplet i figur A.1 illustrerar hur designern f¨orst klickar p˚a knappen, och sedan p˚a det andra f¨onstret – objektet som ska ¨oppnas. Eftersom det finns en os¨akerhet i vad designern vill g¨ora med det andra f¨onstret kommer det nu upp en ruta, d¨ar designern kan v¨alja om det andra f¨onstret ska ¨
oppnas eller fokuseras d˚a knappen trycks ned.
H¨ar kan man se ett problem med prototypen, d˚a det kan k¨annas okon-sekvent f¨or designern om en liten ruta kommer upp n¨ar det finns flera alternativ f¨or ett objekt.
I n¨asta scenario (Figur A.2) vill designern skapa tv˚a listor, d¨ar det ska g˚a att dra objekt fr˚an den f¨orsta listan till den andra. Designern tar d˚a och drar ett f¨ordefinierat dummyobjekt, som f˚ar symbolisera alla objekt som kan ligga i listan, och drar ¨over det till den andra listan, precis som
32 5.2. Designf¨orslag
slutanv¨andaren ska kunna g¨ora. H¨ar kr¨avs ocks˚a tv˚a alternativ som syns i en ruta d˚a dummyobjektet sl¨apps ned, eftersom designverktyget inte kan veta om slutanv¨andaren ska kunna dra objekt eller kopiera objekt mellan listorna.
5.2.2
Prototyp 2 – Drag funktioner
Prototyp nummer tv˚a anv¨ander sig av en etikettmodell som jag har l˚anat fr˚an MagicWords. Min id´e ¨ar att unders¨oka om ett koncept som ¨ar t¨ankt ska anv¨andas f¨or barn ocks˚a kan anv¨andas f¨or vuxna m¨anniskor i professionella milj¨oer.
Designern v¨aljer en funktion i listan ¨over funktioner, som sedan dras till det objekt som ska ha funktionen. Om funktionen sedan p˚averkar ett annat objekt s˚a dras ett “sn¨ore” ut fr˚an etiketten som “f¨asts” vid objektet som p˚averkas.
I scenariot d¨ar ett f¨onster ska ¨oppnas genom att anv¨andaren klickar p˚a en ¨oppna-knapp (Figur A.3), s˚a dras allts˚a funktionen “open” till knappen som ska utf¨ora funktionen, och “sn¨oret” dras sedan iv¨ag och placeras p˚a valfri plats i det f¨onster som ska ¨oppnas.
En f¨ordel med den h¨ar prototypen j¨amf¨ort med det f¨orsta prototypen ¨ar att det inte finns n˚agon os¨akerhet kring vilken funktion som ska utf¨oras. Funktionens namn finns ju redan p˚a etiketten, och om designern ist¨allet vill att en knapp ska fokusera ett f¨onster s˚a v¨aljer man helt enkelt “focus” ist¨allet f¨or “open” fr˚an b¨orjan.
F¨or att skapa tv˚a listor fr˚an vilka slutanv¨andaren ska kunna dra objekt fr˚an den ena till den andra, s˚a v¨aljs funktionen “copy” fr˚an listan ¨over funktioner, placeras p˚a den f¨orsta listan och sedan markeras att det ¨ar den andra listan slutanv¨andaren ska kunna dra objekt till (Figur A.4).
5.2.3
Prototyp 3 – V¨
alj funktion med sm˚
a menyer
Denna prototyp baserar sig p˚a att designern ska fr˚an en meny i varje objekt v¨alja en h¨andelse som ska utl¨osa en funktion. Funktionen v¨aljs sedan i det objekt som ska p˚averkas av funktionen.
Precis som i den f¨orsta prototypen s˚a ¨ar ˚aterkoppling av vilken funktion som utf¨orts bortplockad ur sammanhanget, d˚a jag anser att vilken som
helst av de fyra alternativen i figur A.9 kan anv¨andas.
I figur A.5 v¨aljer designern att n¨ar h¨andelsen “n˚agon klickar p˚a knappen” intr¨affar, s˚a ska funktionen “¨oppna f¨onster nummer tv˚a” utf¨oras. Det g¨ors genom att designern f¨orst v¨aljer “onklick” i menyn f¨or knappen, och sedan v¨aljer funktionen “open” fr˚an det andra f¨onstret.
I figur A.6 illustreras hur designern skapar m¨ojlighet att dra objekt fr˚an en lista till en annan. I den f¨orsta listan v¨aljs funktionen “att kunna dra”, och den andra listan markeras f¨or att visa var objekt ska kunna dras. Ef-tersom funktionen inte har n˚agra alternativ att v¨alja p˚a efter att man valt dragfunktionen, s˚a beh¨ovs ingen meny d¨ar designern ska v¨alja funktion.
En m¨ojlig feedback p˚a detta ¨ar att ¨andra musmark¨oren s˚a att den ˚ ater-speglar vad designverktyget f¨orv¨antar sig f¨or input fr˚an anv¨andaren. H¨ar finns ocks˚a utrymme f¨or att anv¨andaren ska kunna v¨alja flera listor som objekten fr˚an den f¨orsta listan ska kunna dras till.
5.2.4
Prototyp 4 – Egenskapsf¨
onster
Den sista prototypen ¨ar inspirerat av till exempel Adobe Go Live! och andra program d¨ar varje objekt har en egenskapsruta d¨ar diverse inst¨allningar kan g¨oras som till exempel f¨arg, namn och annat utseende. Tanken ¨ar att l¨angst ned i en s˚adan egenskapsruta presentera de funktioner som finns i objektet. Funktioner l¨aggs till genom att designern v¨aljer knappen “add”, och sedan v¨aljer vilken funktion som ska l¨aggas till.
I det f¨orsta scenariot – att ¨oppna ett f¨onster (Se figur A.7), s˚a v¨aljer f¨orst designern knappen, om det inte redan ¨ar gjort, f¨or att f˚a upp egenskaperna f¨or objektet. Sedan klickar designern p˚a knappen “add” f¨or att l¨agga till en ny funktion till knappen. Sedan klickar man p˚a det f¨onster som ska ¨oppnas, varp˚a en meny kommer upp d¨ar designern v¨aljer alternativet “open”.
Valet av vilken funktion som ska utf¨oras kan k¨annas igen fr˚an prototyp ett och tv˚a. Skillanden ligger i hur anv¨andaren v¨aljer vilket objekt som ska utl¨osa funktionen.
Om man ist¨allet applicerar prototypen p˚a scenariot “drag objekt” (Fi-gur A.8) s˚a v¨aljer desingern den lista fr˚an vilken man ska kunna dra objekt, v¨aljer att l¨agga till en funktion, och sedan vilken funktion som ska l¨aggas till, allts˚a m¨ojligheten att dra objekt till lista 2.
34 5.2. Designf¨orslag
5.2.5
˚
Aterkoppling av skapade funktioner
F¨or att anv¨andaren ska veta vad som ¨ar gjort, och f¨or att kunna ha m¨ oj-ligheten att ¨andra eller ta bort skapade funktioner, s˚a m˚aste det p˚a n˚agot s¨att g˚a att ta reda p˚a vilka funktioner som ¨ar skapade. D¨arf¨or beh¨ovs en ˚aterkoppling som tydligt talar om f¨or anv¨andaren vilka funktioner som ¨ar skapade och vad de betyder. Jag har utformat fyra olika alternativ (Se figur A.9) f¨or att ge ˚aterkoppling till vad programutvecklaren hittils har skapat.
Det f¨orsta av de fyra alternativen best˚ar av en lista som inneh˚aller de funktioner som skapats. Den ing˚ar redan i prototyp fyra (Figur A.7 och A.8), men skulle ocks˚a kunna visa alla funktioner f¨or alla objekt i den h¨ar proto-typen. Syftet ¨ar att varje rad representerar en funktion. Genom att skapa en ny funktion skapas ocks˚a en ny rad, och genom att markera en rad kan man komma ˚at olika alternativ s˚asom att f¨or¨andra funktionen eller ta bort den.
De ¨ovriga tre alternativen ¨ar olika former p˚a ˚aterkoppling som baserar sig p˚a etiketter, som p˚a lite olika s¨att visar vad funktionen i fr˚aga p˚averkar. D˚a man skapar en ny funktion s˚a skapas en etikett, och genom att markera etiketten kan man p˚a olika s¨att komma ˚at alternativ f¨or den funktionen. I Alternativ 2 och 4b visar ˚aterkopplingen visuellt vilken form av h¨andelse som utl¨oser funktionen, i de ¨ovriga f˚ar anv¨andaren sj¨alv anta detta utifr˚an sammanhanget. Dessa tre alternativ finns med i prototyp nummer tv˚a (Fi-gur A.3 och A.4) d¨ar etiketten anv¨ands direkt i prototypen n¨ar funktionen skapas.
Anv¨
andarunders¨
okning
Anv¨andarunders¨okningen ¨ar genomf¨ord med en intervjumall som beskrivs i kapitel 6.1. Varje intervju har sedan sammanfattats i kapitel 6.2.
6.1
Intervjumallen
Syftet med att g¨ora en intervju ¨ar dels att f˚a en utv¨ardering av de proto-typer jag skapat, och dels att utg¨ora en grund f¨or det slutgiltiga f¨orslaget p˚a hur ett verktyg skulle kunna fungera. Intervjuernas fokus kommer att ligga p˚a utv¨ardering och j¨amf¨orelse av f¨ordelar och nackdelar hos de oli-ka modellerna, men jag vill dessutom f˚a h¨ora andra id´eer och f¨orslag fr˚an subjekten. D¨arf¨or har jag valt den kvalitativa QOC-modellen framf¨or en kvantitativ metod, som hade kunnat fungera om jag bara ville rangordna prototyperna.
P˚a en punkt skiljer jag mig fr˚an QOC-modellen. Jag har valt att h˚alla en ganska ¨oppen diskussion kring de olika designf¨orslagen samtidigt som jag har f¨ardiga prototyper att bygga diskussionerna p˚a. Detta g¨or att jag f¨orvandlar QOC-modellen fr˚an en strukturerad intervjuteknik till n˚agot man skulle kunna kalla semistrukturerad. Man kan se detta som att mina fr˚agor leder till en o¨andlig m¨angd svarsalternativ ist¨allet f¨or en diskret ¨
andlig m¨angd, men mitt syfte ¨ar ¨andock att de ska leda fram till samma
36 6.1. Intervjumallen
slutkriterium och positiva/negativa utv¨arderingar kring resultaten.
Nedan presenteras de intervjufr˚agor jag har valt, med kommentarer och motiveringar till varf¨or jag valt fr˚agan samt vad jag hoppas f˚a ut f¨or resultat av fr˚agan under intervjuen.
1. Vad ¨ar ett gr¨anssnittsverktyg/vad ¨ar en funktion
I detta avsnitt syftar diskussionen till att dels ta reda p˚a vad anv¨ anda-re anv¨ander idag, samt att ta reda p˚a vilken niv˚a anv¨andaren ligger p˚a. Det ¨ar ocks˚a viktigt att vi b˚ada ¨ar ¨overens om vad begreppen gr¨anssnittsverktyg och funktion har f¨or mening.
(a) Har du tidigare anv¨ant ett grafiskt verktyg f¨or att bygga gr¨anssnitt?
Denna fr˚aga ¨ar till f¨or att ge mig en snabb check p˚a hur mycket bakgrundskunskap personen i fr˚aga har. Det ger mig m¨ojlighet att anpassa spr˚aket efter person.
(b) Is˚afall: Vilket verktyg anv¨ander du? ¨
Aven detta ¨ar en intressant fr˚aga eftersom anv¨andare ofta ut-g˚ar ifr˚an en k¨and v¨arld. Om jag kan definiera mina funktioner utifr˚an en redan k¨and milj¨o s˚a kommer det att underl¨atta kom-munikationen. Jag ¨ar ocks˚a intresserad av att f˚a reda p˚a fler m¨ojliga verktyg att titta p˚a f¨or att f˚a inspiration.
(c) Is˚afall: Hur skapar man funktionalitet med det verkty-get?
Fr˚agan b¨or st¨allas p˚a ett annorlunda vis f¨or att anpassa till per-son och vilket verktyg perper-sonen i fr˚aga ¨ar van vid. Fr˚agan ¨ar mest en kontroll p˚a att personen uppfattat vad jag menar med att skapa funktionalitet, men kan ocks˚a vara intressant om an-v¨andaren ¨ar van med ett verktyg som jag inte ¨ar bekant med. 2. Presentera funktionen “¨oppna f¨onster”
H¨ar kommer jag att presentera fyra olika s¨att att skapa funktionalitet p˚a, i ett scenario d¨ar anv¨andaren vill f˚a en knapp att ¨oppna ett nytt f¨onster.
(a) Vilken anser du ¨ar den b¨asta av de h¨ar 4 l¨osningarna? Fr˚agan har den naturliga f¨oljdfr˚agan “varf¨or?”, och ¨ar menad att leda fram till en diskussion kring vad som is˚afall ¨ar d˚aligt med de ¨
ovriga modellerna och vad som ¨ar bra med den b¨asta modellen. (b) Vad ser du f¨or problem i dem?
F¨orhoppningen ¨ar att problem kommer att tas upp i diskussio-nen tidigare. Diskussiodiskussio-nen syftar till att lyfta fram b˚ade bra och d˚aliga delar av varje funktionsmodell. Kan vara anv¨andbar om anv¨andaren ¨ar f¨or positivt inst¨alld och inte vill vara tillr¨ackligt kritisk.
(c) Vad kan man f¨orb¨attra f¨or att undvika problemen? Det h¨ar ¨ar en ganska ¨oppen fr˚aga d¨ar personen f˚ar komma med egna f¨orslag och id´eer p˚a vad man skulle kunna ¨andra eller f¨ or-b¨attra. Den finns f¨or att skapa utrymme f¨or s˚adan feedback fr˚an personen. Kanske kan besvaras med ett exempel p˚a hur det g¨ors i ett annat program om anv¨andaren anser att det s¨attet ¨ar enkla-re.
3. Presentera ˚aterkopplingsalternativ
Jag presenterar h¨ar fyra olika s¨att att f˚a ˚aterkoppling p˚a vad man som anv¨andare har gjort och inte har gjort.
(a) Vilken anser du ¨ar den b¨asta av de h¨ar fyra l¨osningarna? Fr˚agan syftar till diskussion kring vad som ¨ar bra och vad som ¨
ar mindre bra med de olika modellerna. (b) Vad ser du f¨or problem i dem?
Precis som i det tidigare scenariot en fr˚aga f¨or att f˚a fram b˚ade bra och d˚aliga sidor av modellerna.
(c) Vad kan man f¨orb¨attra f¨or att undvika problemen? ¨
Aven detta en fr˚aga med samma syfte som i tidigare diskussion. (d) Kan man kombinera flera olika ˚aterkopplingsalternativ
f¨or att f˚a en b¨attre milj¨o?
H¨ar h˚alls en liten diskussion kring att kombinera tv˚a eller flera olika alternativ. +/- kommer att uppf¨oras kring att kombinera
38 6.2. Intervjuresultat
saker i sig, men diskussionen kan bli ganska kort om vi redan kommer in p˚a omr˚adet tidigare. Syftet med fr˚agan ¨ar att jag har en misstanke om att viss ˚aterkoppling fungerar bra i vissa fall, medan en annan ˚aterkoppling passar b¨attre i andra fall.
4. Presentera funktionen “skapa drag n’ drop”
Detta scenario ¨ar till f¨or att s¨atta funktionsmodellerna i det tidigare scenariot p˚a prov. Scenariot finns ¨aven till som en hj¨alp om personen i fr˚aga skulle ha sv˚art att s¨atta sig in i det andra scenariot, lite som en backup.
(a) Med bakgrund i scenariot “¨oppna f¨onster”: Ser du n˚agra nya problem funktionsmodellen som var b¨ast d¨ar? Fr˚agan st¨alls f¨or att se om personen funnit n˚agra problem med en tidigare modell n¨ar den uts¨atts f¨or ett nytt scenario.
(b) Skulle en annan funktionsmodell vara b¨attre f¨or att ska-pa drag n’ drop?
Denna fr˚aga h¨anger ihop med den f¨oreg˚aende fr˚agan, och hand-lar ocks˚a den om att f¨ors¨oka f˚anga upp funna problem. Den leder ocks˚a in p˚a n¨asta fr˚aga.
(c) Kommer du p˚a n˚agot annat tillf¨alle n¨ar en funktions-modell kanske inte fungerar?
Detta ¨ar en ¨oppen fr˚aga som egentligen inte ¨ar s˚a viktig att f˚a svar p˚a, men den ¨ar en resurs f¨or att f˚anga upp id´eer fr˚an personen ifr˚aga. En diskussion kan ocks˚a svara p˚a om tv˚a eller flera olika modeller kan kombineras f¨or ett b¨attre resultat.
6.2
Intervjuresultat
Intervjuerna blev lyckade, och jag k¨anner efter˚at att jag f˚att fram myc-ket bra information som jag kan anv¨anda i fortsatt arbete. Varje intervju tog mellan en halv och en timme, och utf¨ordes i en lugn och avsk¨armad milj¨o. Jag f¨orde anteckningar under intervjuerna, och nedan redovisas n˚ a-got l¨angre och mer allm¨ant tillg¨angliga sammanfattningar fr˚an intervjuerna
baserade p˚a de anteckningar och minnen jag har fr˚an intervjuerna. Varje sammanfattning skrevs ned senast dagen efter varje intervju, och de skrevs ocks˚a innan jag p˚ab¨orjade n˚agon ny intervju.
6.2.1
Intervju med person A
Person A studerar kognitionsvetenskap och har tidigare inte anv¨ant n˚agot liknande verktyg inom omr˚adet och har lite programmeringserfarenhet fr˚an universitetskurser.
Person A tycker att prototyp ett k¨anns naturligt. Os¨akerhet r˚ader dock kring fr˚agan om man ska anv¨anda sig av en meny ifall flera alternativ finns. A tycker att det kan k¨annas ostrukturerat om menyn bara dyker upp n¨ar flera alternativ finns, men det ¨ar ocks˚a on¨odigt att ha en meny om det bara finns ett alternativ. Reflektion ¨over om man vill utf¨ora handlingen f¨orst och sedan f˚a alternativ uppkommer ocks˚a.
Prototyp tv˚a k¨anner A sig os¨aker till, och tror inte riktigt det blir bra. A menar att listor n¨astan alltid blir o¨overblickbara och att tid g˚ar ˚at till att leta efter r¨att funktion. Prototyp tre kommenteras med att det k¨anns likt f¨orsta prototypen.
Person A k¨anner att prototyp fyra till sist kan vara sv˚art att anv¨anda p˚a grund av att det k¨anns som det saknas en direkt visuell ˚aterkoppling till vilket objekt man egentligen arbetar med.
F¨or ˚aterkoppling tycker person A att etiketter ¨ar b¨ast, och om A m˚aste v¨alja en av dem s˚a k¨anns alternativ 4a b¨ast. A kommenterar ocks˚a al-ternativ 3 med att det kan vara sv˚art att veta vilket objekt som utl¨oser funktionen och vilket objekt som p˚averkas.
Sammanfattningsvis tycker person A att prototyp ett k¨anns trevligast att anv¨anda.
6.2.2
Intervju med Person B
Person B studerar kognitionsvetenskap och har tidigare anv¨ant Squeek i utbildningssyfte samt har lite programmeringserfarenhet fr˚an universitets-kurser.
B tycker att prototyp ett verkar enkelt att anv¨anda sig av. Eventuellt skulle man vid vissa tillf¨allen vilja f˚a upp alternativ innan man utf¨or
hand-40 6.2. Intervjuresultat
lingen, men det beror p˚a n¨ar det passar till handlingen. Det kan ocks˚a k¨annas inkonsistent om menyer inte kommer p˚a samma s¨att p˚a alla objekt. Prototyp tv˚a kommenterar person B med att listan troligtvis kommer att bli f¨or l˚ang f¨or att vektyget ska bli anv¨andbart i realiteten. N¨ar jag f¨oresl˚ar en flerniv˚alista s¨ager B att det kan bli praktiskt m¨ojligt, men att det fortfarande kan bli sv˚art att hitta och arbeta med den.
Prototyp tre tycker B k¨anns klassiskt och tror inte det ¨ar n˚agra problem att anv¨anda sig av, ¨aven om det inte k¨anns som n˚agon nyhet.
Prototyp fyra slutligen finner B ett problem i att det inte finns n˚agon direkt visuell koppling till vilket objekt som alternativf¨onstret visar alter-nativ f¨or, utan anv¨andaren m˚aste sj¨alv veta vilket objekt som ¨ar markerat. F¨or ˚aterkoppling tycker B att en direkt feedback i form av etiketter ¨ar b¨ast, och alternativ 4a ligger h¨ogst i topp f¨or b˚ada.
Slutligen tycker person B att prototyp ett k¨anns som det mest naturliga att anv¨anda.
6.2.3
Intervju med Person C
Person C studerar datavetenskap och har tidigare programmerat litegrann, och d˚a anv¨ant verktygen Eclipse, Visual Basic och Adobe Go Live. I de f¨orsta tv˚a verktygen skapas funktionalitet genom att man skriver program-kod. Det sista verktyget skapar funktionalitet p˚a ett s¨att som p˚aminner om prototyp fyra i skisserna. C har programmeringserfarenhet fr˚an univer-sitetskurser och har ¨aven programmerat n˚agra mindre projekt hemma.
Person C kommenterar de verktyg d¨ar man skriver kod som att de ¨ar trevliga att anv¨anda, ¨aven om det kan bli mycket kodskrivande ibland. Adobe Go Live d¨aremot tycker C inte alls om d˚a C tycker sig tappa kon-trollen ¨over funktionaliteten och inte l¨angre kan precisera exakt vad som ska h¨anda.
Prototyp ett och tre tycker C ¨ar helt okej, och uppfattar som att de kan vara bra i olika situationer. Att ha menyer p˚a olika st¨allen beroende p˚a om det kr¨avs eller inte ser C inte som ett problem utan faller sig troligtvis ganska naturligt n¨ar man f˚att v¨anja sig vid programmet.
Prototyp tv˚a anser person C kommer skapa en alldeles f¨or l˚ang lista med funktioner, och det kan vara sv˚art att veta vilken funktion som faktiskt utf¨or det man vill utf¨ora. ¨Ar det enkelt att ge relevanta namn till alla
funktioner?
Prototyp fyra k¨anner C igen fr˚an Adobe Go Live, och tror det blir sv˚art att anv¨anda effektivt ¨aven om C ser en viss f¨ordel gentemot Go Live ef-tersom det l¨amnar n˚agot mer kontroll till anv¨andaren.
Kring ˚aterkoppling tror C mest p˚a en lista precis som i alternativ 1, men kan ocks˚a t¨anka sig att kombinera tillsammans med n˚agot av de andra f¨orslagen. P˚a fr˚aga om vilket av de ¨ovriga tre etikettmodellerna som k¨anns b¨ast ¨ar C os¨aker och ser b˚ade f¨ordelar och nackdelar p˚a samtliga f¨orslag.
¨
Aven i slutet av intervjuen tror C fortfarande att prototyp ett eller tre skulle vara det b¨asta av de h¨ar prototyperna. En kombination av de b˚ada tror C kan bli riktigt bra.
6.2.4
Intervju med person D
Person D studerar datavetenskap och ¨ar mycket v¨al bevandrad inom pro-grammering och har anv¨ant verktygen Glade, Visual C++ och Visual Basic. I samtliga verktyg skapar D funktionalitet genom att skriva programkod, och verktygen anv¨ands endast f¨or att visuellt rita upp f¨onster.
Prototyp ett uppfattar D som ganska begr¨ansat och har sv˚art att se hur man skulle kunna generalisera det till att fungera f¨or alla typer av funktionsskapande. D tror ocks˚a att det kan vara sv˚art att veta vad man ska klicka p˚a f¨or att skapa funktionaliteten. ¨Ar det naturligt att man klickar p˚a f¨onstret man ska ¨oppna efter att man klickat p˚a knappen? ¨Ar f¨onstret det naturliga objekt som ¨oppnar sig?
Prototyp tv˚a ¨ar D tveksam till om det ¨ar ¨overblickbart. Listan kan bli f¨or l˚ang f¨or att man p˚a ett enkelt s¨att ska kunna hitta i den. Om listan d¨aremot kan h˚allas kort s˚a tror D att det kan vara ett mycket anv¨andbart och l¨attf¨orst˚aligt alternativ.
Prototyp tre tycker D har en f¨orv¨antad effekt, med en meny i varje ¨ande, men precis som i prototyp ett s˚a kan det vara sv˚art att hitta vilket objekt man ska hitta avsedd funktionalitet i.
Prototyp fyra tycker person D ¨ar den b¨asta prototypen av de fyra. Det har en vettig balans mellan direktmanipulering och effektivitet f¨or en van anv¨andare.
I fr˚aga om ˚aterkoppling tycker D att alternativ 2 beh¨over n˚agon form av markering f¨or att visa ˚at vilket h˚all effekten ¨ar. alternativ 3 uppfattas som