• No results found

Användarcentrerad design av verktyg för att skapa funktionalitet i ett gränssnittsdesignsprogram

N/A
N/A
Protected

Academic year: 2021

Share "Användarcentrerad design av verktyg för att skapa funktionalitet i ett gränssnittsdesignsprogram"

Copied!
93
0
0

Loading.... (view fulltext now)

Full text

(1)

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

(2)
(3)

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

(4)
(5)

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

(6)
(7)

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

(8)
(9)

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

(10)
(11)

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

(12)

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

(13)

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

(14)
(15)

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¨

(16)

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.

(17)

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.

(18)

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.

(19)

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.

(20)
(21)

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

(22)

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

(23)

¨

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

(24)

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.

(25)

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.

(26)

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.

(27)

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

(28)

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.

(29)

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.

(30)
(31)

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.

(32)

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.

(33)

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

(34)

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.

(35)

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

(36)

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

(37)

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

(38)

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

(39)

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

(40)

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 ¨

(41)

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.

(42)
(43)

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.

(44)

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.

(45)

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

(46)

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

(47)

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.

(48)

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.

(49)

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

(50)

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.

(51)

(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

(52)

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

(53)

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

(54)

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

(55)

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

References

Related documents

ståelse för psykoanalysen, är han också särskilt sysselsatt med striden mellan ande och natur i människans väsen, dessa krafter, som med hans egna ord alltid

The results stated that six factors, brand, quality, purchasing place, products price, previous experiences and recommendations do have influence on customers purchase intention

Tes: Man bör införa en litterär kanon, en lista över böcker som ska utgöra obligatorisk läsning, i kursplanerna i svenska. Argument: Att inte ha del i det gemensamma

Det skulle medföra att Google inte kan bli föremål för utredningar enligt artikel 102 FEUF och section 2 Sherman Act, och inte heller för rättsliga sanktioner eftersom det krävs

L¨ osningar skall presenteras p˚ a ett s˚ adant s¨ att att r¨ akningar och resonemang blir l¨ atta att f¨ olja.. M¨ ark varje l¨ osningsblad med namn

Resonemang, inf¨ orda beteck- ningar och utr¨ akningar f˚ ar inte vara s˚ a knapph¨ andigt presenterade att de blir sv˚ ara att f¨ olja.. ¨ Aven endast delvis l¨ osta problem kan

Jag har länge skrivit pop-musik till andra artister, ofta i session tillsammans med andra låtskrivare, men varje gång jag försökt skriva musik som jag själv ska framföra har det

Detta uppsatsarbete kommer att avgränsas till hur pedagogerna upplever användbarheten av de digitala verktyg de skapar prov samt uppgifter eller test i.. Anledning till detta är att