/[cvs]/Kamel/HCI_text.tex
ViewVC logotype

Diff of /Kamel/HCI_text.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by eax, Sun Mar 9 16:40:50 2003 UTC revision 1.15 by eax, Tue Mar 18 17:50:50 2003 UTC
# Line 22  Line 22 
22    \onehalfspacing    \onehalfspacing
23      \section{Kurserfarenheter} %Är detta ett bra namn?      \section{Kurserfarenheter} %Är detta ett bra namn?
24    
25        Detta kapitel kommer vi att ta upp delar av det vi har gått igenom        Detta kapitel kommer att ta delar av det vi har gått igenom
26        i kursen, samt försöka belysa vissa av dem.        i kursen, samt försöka belysa vissa av dem.
27    
28          \subsection{Användandet av en minsta gemensamma          \subsection{Användandet av en minsta gemensamma
# Line 55  Line 55 
55            kommer användarna att med glädje byta, även om det kan            kommer användarna att med glädje byta, även om det kan
56            innebära vissa initiala problem.            innebära vissa initiala problem.
57    
58          \subsection{Användandet av script vid mjukvaruproduktion}          \subsection[Script vid mjukvaruproduktion]{Användandet av script vid mjukvaruproduktion}
59    
60            Detta kan lätt tyckas att detta inte har med MDI att            Detta kan lätt tyckas att detta inte har med MDI att
61            göra, men vi kommer att förklara detta lite senare.            göra, men vi kommer att förklara detta lite senare.
# Line 65  Line 65 
65            kommando. Detta innebär att det blir enklare att hålla            kommando. Detta innebär att det blir enklare att hålla
66            ordning på det man utvecklar då det i scriptet går            ordning på det man utvecklar då det i scriptet går
67            snabbt att skriva ner de kommandon som ser till att            snabbt att skriva ner de kommandon som ser till att
68            källfilerna ligger i en katalog, det kompilerade            källfilerna ligger i en katalog, de kompilerade
69            programmet i en, och hjälp filerna i en tredje (om            programmet i en, och hjälp filerna i en tredje (om
70            programmeringsspråket stödjer detta (t.ex. Java API).\\            programmeringsspråket stödjer detta (t.ex. Java API).
71    
72            %Eller är det svaret vi skall skjuta in?            %Eller är det svaret vi skall skjuta in?
73            Men hur är detta något som är intressant ur en MDI            Men hur är detta något som är intressant ur en MDI
# Line 105  Line 105 
105    
106          \subsection{Prototyper och Mock-ups}          \subsection{Prototyper och Mock-ups}
107    
108            En mock-up är en form av prototyp. Den görs i ett            Det finns flera olika sätt att demonstrera en idé, men
109            passande material, och beroende på vilken information            den bästa brukar vara att kunna visa upp något. Det kan
110            man har om den färdiga produkten så görs den med den            vara bra att kunna berätta om idéen man har, men om man
111            detaljnivå som är passande. Denna mock-up används sedan            kan ge kunden något han kan se, ta på, och till viss del
112            för att testa om konceptet man har håller, och hur det            kunna interagera med så är det mycket enklare, dels att
113            skall implementeras. En mock-up behöver inte vara för en            sälja idén, dels att upptäcka fel och brister i den.
114            programvara, utan kan lika gärna vara för en fysisk  
115            produkt, men i kursen har vi inriktat oss på programvara            Nu vet ju vi att vi bara har använt mock-ups i denna
116            då detta är det intressanta för oss. Då man skapat en            kursen, men det vore synd att inte ta tillfället i akt
117            mock-up så tar man denna, och testar på en eller flera            och prata lite om prototyper också.
118            tilltänkta användare, och lyssnar på deras åsikter om  
119            den. När man har kommit förbi detta stadiet så kan man            \subsubsection{Mock-up}
120            bygga en lite mera avancerad prototyp för att vidare  
121            utveckla produkten. En mock-up är vanligtvis (eller              En mock-up är en form av prototyp. Den görs i ett
122            i alla fall dom vi har gjort)              passande material, och beroende på vilken information
123            %Uhm, va?              man har om den färdiga produkten så görs den med den
124            ''dynamiskt statiska``              detaljnivå som är passande. Denna mock-up används sedan
125            vilket kan låta som en motsägelse, men vad vi menar med              för att testa om konceptet man har håller, och hur det
126            det är att den görs dynamisk är att det går att byta              skall implementeras. En mock-up behöver inte vara för en
127            detaljer i mock-upen för att symbolisera interaktion. En              programvara, utan kan lika gärna vara för en fysisk
128            annan fördel med en mock-up framför en fungerade              produkt, men i kursen har vi inriktat oss på programvara
129            prototyp är att en mock-up är gjord av ett billigt              då detta är det intressanta för oss. Då man skapat en
130            material, och går snabbt att göra och göra om då man inser att              mock-up så tar man denna, och testar på en eller flera
131            lösningen man har inte håller, utan behöver göras om för              tilltänkta användare, och lyssnar på deras åsikter om
132            att passa användaren och hans behov.              den. När man har kommit förbi detta stadiet så kan man
133                bygga en lite mera avancerad prototyp för att vidare
134                utveckla produkten. En mock-up är vanligtvis (eller
135                i alla fall dom vi har gjort) ``dynamiskt statiska''
136                vilket kan låta som en motsägelse, men vad vi menar med
137                det är att den görs dynamisk är att det går att byta
138                detaljer i mock-upen för att symbolisera interaktion. En
139                annan fördel med en mock-up framför en fungerade
140                prototyp är att en mock-up är gjord av ett billigt
141                material, och går snabbt att göra och göra om då man inser att
142                lösningen man har inte håller, utan behöver göras om för
143                att passa användaren och hans behov.
144    
145              \subsubsection{Lågnivå prototyper}
146    
147                En lågnivå prototyp är en enkel prototyp, som snarare
148                syftar till att visa den grundläggande idéen. Den kan
149                vara en mock-up, eller något annat. En lågnivå
150                prototyp är något som går relativt snabbt att slänga
151                ihop, och brukar vanligtvis vara ganska så billig. Den
152                kan vara i ett material som är väldigt långt från den
153                färdiga produkten (en mock-up på en kartongbit är ju
154                väldigt långt från ett färdigt program på datorn, och
155                vi är ganska säkra på att man kan komma ännu längre om
156                man bara vill).
157    
158                Lågnivå prototypen använder man för att demonstrera en
159                idéer, koncept och dyl. Den kan inte till fullo
160                användas för att fånga alla krav, men i samverkan med
161                andra metoder (som t.ex. intervjuer, användningsfall
162                osv) kan man komma nära nog i många fall.
163    
164              \subsubsection{Högnivå prototyper}
165    
166                En högnivå prototyp är en ''bättre`` prototyp, oftast
167                så ligger den närmare den färdiga produkten än lågnivå
168                prototypen till utseende, och material (där det
169                finns). Det som främst skiljer en högnivå prototyp
170                från en lågnivå är att högnivån har funktionalitet
171                (verklig sådan, inte att man vänder blad).
172    
173              \subsubsection{Vilken väljer vi?}
174    
175                Marc Rettig (1994) anser att det är bättre att använda
176                lågnivå prototyper framför högnivå, detta för att:
177    
178                \begin{itemize}
179                  \item Dom tar lång tid att göra
180                  \item Kritiker och testar tenderar att kritisera
181                  prototypen, och inte funktionaliteten i den.
182                  \item Utvecklar drar sig för att göra om något dom
183                  har lagt timmar (eller dagar) på att göra.
184                  \item En mjukvaru prototyp kan sätta förväntningarna
185                  för högt.
186                  \item En enda bugg i prototypen kan sätta stop för
187                  testningen av denna.
188                \end{itemize}
189    
190                  Vi måste säga att vi håller med honom. En lågnivå
191                  prototyp kan säga det mesta en högnivå kan, och det
192                  den inte kan säga är det tveksamt om man kan få
193                  tillbaka av den tid det tar att göra högnivå
194                  prototypen (iallafall i de små projekt vi har jobbat
195                  med hittills), det kan ju ändras om det är ett stort
196                  projekt, men vi är inte helt säkra på det. En
197                  prototyp skall endast ses som ett
198                  utvecklingsverktyg, det är ju inget som utvecklar av
199                  sig självt, på sin höjd kan det ju driva
200                  utvecklingen framåt.
201    
202                  Ett undantag bör dock göras. Om man kan utnyttja
203                  prototypen, eller en ansenlig del av denna senare.
204                  Om man t.ex. gör en prototyp av ett GUI, med begränsad
205                  (eller igen) funktionalitet så kan man ju använda
206                  detta i den färdiga produkten, förutsatt att det
207                  faller väl ut.
208    
209    
210    
211            \subsection{Erfarenhet}
212    
213            Vi tror att vi kommer att använda någon form av            Vi tror att vi kommer att använda någon form av
214            mock-uper efter denna kursen då en mock-up är ett snabbt            prototyper efter denna kursen då en lågnivå prototyp är ett snabbt
215            sätt att visa hur man menar att GUI't skall se ut, och            sätt att visa hur man menar att GUI't skall se ut, och
216            om man har ett förslag till ett GUI så är det enkelt att            om man har ett förslag till ett GUI så är det enkelt att
217            hitta funktionalitet som man har missat, och det kan            hitta funktionalitet som man har missat, och det kan
218            även vara enklare att förklara vad man vill göra för en            även vara enklare att förklara vad man vill göra för en
219            kund som inte kunskaper inom programvaruutveckling vad            kund som inte kunskaper inom programvaruutveckling vad
220            det är som man skall göra, och vad han får och inte får.            det är som man skall göra, och vad han får och inte får.
221            Han kan även ta mock-upen och visa för slutanvändarna,            Han kan även ta prototypen och visa för slutanvändarna,
222            och dessa kan också komma till tals om hur produkten            och dessa kan också komma till tals om hur produkten
223            skall se ut, och dess funktionalitet.            skall se ut, och dess funktionalitet.
224    
225        \section {Designmönster}        \section{Designmönster}
226    
227          När man designar GUI'n så är det nästan omöjligt att          När man designar GUI'n så är det nästan omöjligt att
228          inte använda något/några design mönster. Dom flesta sätt          inte använda några design mönster. Dom flesta sätt
229          att strukturera upp ett GUI följer de mönster som finns          att strukturera upp ett GUI följer de mönster som finns
230          definierade. Detta märkte vi av på första laborationen          definierade. Detta märkte vi av på första laborationen
231          när vi skulle identifiera mönster som vi hade använt i          när vi skulle identifiera mönster som vi hade använt i
# Line 224  Line 303 
303          modell som \emph{``en beskrivning av det föreslagna          modell som \emph{``en beskrivning av det föreslagna
304          systemet i termer av integrerade idéer och koncept om          systemet i termer av integrerade idéer och koncept om
305          vad det skall göra, bete sig samt se ut som, som skall          vad det skall göra, bete sig samt se ut som, som skall
306          förstås av användaren på rätt sätt''}\\          förstås av användaren på rätt sätt''}
307    
308          När man skapar en konceptuell modell så är det viktigt          När man skapar en konceptuell modell så är det viktigt
309          att man funderar över hur den slutliga produkten skall          att man funderar över hur den slutliga produkten skall
# Line 245  Line 324 
324          dags att börja fundera över hur GUI't skall se ut, olika          dags att börja fundera över hur GUI't skall se ut, olika
325          mönster, dess fördelar och nackdelar osv. Ju fler man          mönster, dess fördelar och nackdelar osv. Ju fler man
326          provar med, och funderar över, ju större är chansen att          provar med, och funderar över, ju större är chansen att
327          produkten blir bra. Det är viktigt att man jobbar          produkten blir bra, och det är viktigt att man jobbar
328          iterativt, att man använder lite olika metoder och          iterativt, och att man använder lite olika metoder, och
329          data (gärna även utvecklare om det går) i dom olika          data (gärna även utvecklare om det går) i dom olika
330          iterationerna för att täcka in så mycket som möjligt.          iterationerna för att täcka in så mycket som möjligt.
331    
# Line 265  Line 344 
344              \item Instruera              \item Instruera
345              \item Konversera              \item Konversera
346              \item Manipulera och navigera              \item Manipulera och navigera
347              \item Utforska och surfa %är surfa en bra översättning av browsing?              \item Utforska och ögna igenom %är surfa en bra översättning av browsing?
348            \end{itemize}            \end{itemize}
349            När man instruerar så förklarar man vad man vill att            När man instruerar så förklarar man vad man vill att
350            systemet skall göra, man ger order. Detta kan ske t.ex.            systemet skall göra, man ger order. Detta kan ske t.ex.
# Line 288  Line 367 
367            ofta kan man få ett resultat som blir närmare det            ofta kan man få ett resultat som blir närmare det
368            användaren efterfrågar om man väljer att blanda flera            användaren efterfrågar om man väljer att blanda flera
369            aktiviteter.            aktiviteter.
   
370          \subsubsection{Instruera}          \subsubsection{Instruera}
371    
372            a            Detta är en relativt enkel modell att bygga upp, även om
373              det kan vara krångligt att bygga upp den på ett bra
374              sätt. Antingen kan man använda knappar, menyer osv för
375              att ge instruktioner, eller så kan man använda
376              textsträngar. En klar nackdel med denna modellen är att
377              om kommandona är långa (eller krångliga) kommer
378              användaren att glömma bort det, och behöva extra hjälp
379              när han skall nyttja denna. Detta är ett vanligt
380              mönster, och återfinns i flera produkter på ett sätt
381              eller ett annat.
382    
383          \subsubsection{Konversera}          \subsubsection{Konversera}
384    
385            a            Denna metoden är vanligast om det handlar om någon form
386              av expert system, eller sökfunktioner. En klar fördel
387              med att nyttja detta mönster är att även en människa med
388              små kunskaper inom både data, och ämnet som experten kan
389              kan ställa frågor, och få hjälp. En nackdel med detta
390              mönstret är att om användaren ställer frågor på ett sätt
391              som man inte har tänkt sig, eller som inte finns med i
392              informations basen så kan svaren till användaren bli
393              helt uppåt väggarna om man inte är noga med hur man
394              behandlar indatan.
395    
396          \subsubsection{Manipulera och navigera}          \subsubsection{Manipulera och navigera}
397    
398            a          Visualisering måste innehålla mycket mer än att bara tillåta folk att ``se''
399            information. Dom måste också kunna manipulera och fokusera sig på vad som är relevant
400          \subsubsection{Utforska och surfa}          och känna igen det för att skapa ny information. Funktioner som hypertext (t.ex. HTML)
401            har blivit en dominant metod för att länka samman dokument, vilket tillåter användaren
402            a          att navigera sig genom dokument på ett väldigt dynamiskt och personligt sätt.
403    
404          \subsection{Konceptuella modeller baserat på objekt}        \subsubsection{Utforska och ögna igenom}
405    
406            a          Hypertext är
407            en smidig metod för att söka efter information då man
408        \section{Värdet av MDI}          kan länka vidare till djupare information då en
409            användare hittar något som intresserar. Nackdelen med
410          Hela ämnet kanske kan verka abstrakt, och som något som bara tar          denna metod är att det kan bli grötigt, och att det
411          upp tid att hålla på med, men faktum är att den tid (och de pengar)          kan vara svårt att komma igång om man inte riktigt vet
412          man lägger ner på MDI tjänar man igen ganska så fort.          vad man söker efter. Det ger däremot användaren en möjlighet
413          Dessutom så är det med hjälp av en mock-up lätt att tidigt          att hoppa runt på ett snabbt sätt mellan dokumenten tills
414          fånga design fel, eller till och med logik fel, och ju          han/hon hittar det som söktes.
415          tidigare man kan hitta fel, desto billigare blir dom att  
416          avhjälpa.        \subsection{Konceptuella modeller baserat på objekt}
417    
418          En annan viktig sak att tänka på med MDI är att man kan på          När man utgår från ett objekt så tar man ett objekt som
419          ett sätt använda det som en reklam tavla för sitt företag,          användaren kan relatera till, en bok, kaffe bryggare
420          om man gör en extraordinär lösning på något så kommer          eller dyl. Och sedan så gör man sin modell så att den
421          detta att sprida sig, men det kommer ännu mer att sprida          liknar det fysiska objektet. Det bör även gå att
422          sig om man gör dåliga MDI lösningar. Ett företag som          manipulera objektet på ett vis som liknar det fysiska
423          tidigare har köpt en produkt som kanske är bra, bara det          objektet. Men man bör även tänka på vilka funktioner en
424          att de inte kan nyttja den kommer inte att köpa en produkt          användare kan tänkas önska utöver dom som finns i det
425          till av samma företag som den förra.          verkliga objektet. Om man gör en ordebehandlare kan det
426            vara väldigt trevligt om denna klarar av att t.ex.
427          Även om själva funtionaliteten i applikationen (eller vad          kompilera texten, rättstavning osv.
428          det nu är som skapats) kanske är helt banbrytande och  
429          ruskigt innovativ så kanske inte produkten kan säljas        \subsection{Interface metaforer}
430          ändå, på grund av att användarna helt enkelt inte klarar  
431          av att använda den för att gränssnittet är alldeles för          Denna metod går ut på att man tar och försöker efterlikna
432          klumpigt, långsamt och förvirrande. \emph{``Jag fattar inte varför man år 2000 ska behöva          en välkänd metod, eller något som användaren känner igen
433          vänta ibland en sekund innan telefonen fattar att man          för att manipulera systemet. Det handlar oftast om att man
434          vill hoppa ett steg till vänster i menyerna.''}(Mats          försöker abstrahera bort hur datorn gör, och istället
435          Ekstrand, 2000-09-20 i en recension av Ericssons R310)          likna det vi något som man känner igen. Dock så är boken
436          Man brukar säga att utseendet inte spelar någon roll,          vi har väldigt kritisk mot denna metoden att utveckla
437          men när det gäller MDI så spelar det stor roll. Det första          produkter, så vi tänker inte gå in på denna så djupt. Dock så
438          man möts av när man får/köper en produkt är gränssnittet,          tror vi att det borde vara en bra metod att iallafall
439          må det så vara en knappsats, touchscreen eller ett flashigt GUI.          fundera på, men man måste nog vara försiktig så att man
440            inte gör ``hål'' i designen då man använder metaforer.
441    
442        \section{Värdet av MDI}
443    
444          Hela ämnet kanske kan verka abstrakt, och som något som bara tar
445          upp tid att hålla på med, men faktum är att den tid (och de pengar)
446          man lägger ner på MDI tjänar man igen ganska så fort.
447          Dessutom så är det med hjälp av en mock-up lätt att tidigt
448          fånga design fel, eller till och med logik fel, och ju
449          tidigare man kan hitta fel, desto billigare blir dom att
450          avhjälpa.
451    
452          En annan viktig sak att tänka på med MDI är att man kan på
453          ett sätt använda det som en reklam tavla för sitt företag,
454          om man gör en extraordinär lösning på något så kommer
455          detta att sprida sig, men det kommer ännu mer att sprida
456          sig om man gör dåliga MDI lösningar. Ett företag som
457          tidigare har köpt en produkt som kanske är bra, bara det
458          att de inte kan nyttja den kommer inte att köpa en produkt
459          till av samma företag som den förra.
460    
461          Även om själva funtionaliteten i applikationen (eller vad
462          det nu är som skapats) kanske är helt banbrytande och
463          ruskigt innovativ så kanske inte produkten kan säljas
464          ändå, på grund av att användarna helt enkelt inte klarar
465          av att använda den för att gränssnittet är alldeles för
466          klumpigt, långsamt och förvirrande. \emph{``Jag fattar inte varför man år 2000 ska behöva
467          vänta ibland en sekund innan telefonen fattar att man
468          vill hoppa ett steg till vänster i menyerna.''}(Mats
469          Ekstrand, 2000-09-20 i en recension av Ericssons R310)
470          Man brukar säga att utseendet inte spelar någon roll,
471          men när det gäller MDI så spelar det stor roll. Det första
472          man möts av när man får/köper en produkt är gränssnittet,
473          må det så vara en knappsats, touchscreen eller ett flashigt GUI.
474    
475  \end{document}  \end{document}

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.15

root@recompile.se
ViewVC Help
Powered by ViewVC 1.1.26