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

Annotation of /Kamel/HCI_text.tex

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.16 - (hide annotations)
Tue Apr 8 12:43:40 2003 UTC (21 years, 1 month ago) by jontas
Branch: MAIN
Changes since 1.15: +86 -47 lines
File MIME type: application/x-tex
*** empty log message ***

1 jontas 1.1 \documentclass[12pt, a4paper]{article}
2     \usepackage[latin1]{inputenc}
3     \usepackage{setspace}
4    
5     \begin{document}
6     \thispagestyle{empty}
7     \begin{centering}
8     \huge{HCI Text}\\
9     \huge{DVC002: Människa-datorinteraktion (MDI), 5p}\\
10 jontas 1.16 \huge{Läsåret 2003-2004, läsperiod 1}\\\vspace{.3in}
11 jontas 1.1 \large{av}\\
12     \LARGE{Jonas Petersson \& Mathias Börjesson}\\\vspace{.4in}
13     \large{Institutionen för programvaruteknik och datavetenskap\\
14 eax 1.6 Blekinge Tekniska Högskola\\\vspace{.03in}}
15 jontas 1.16 \texttt{e-post:}\\
16 eax 1.6 \emph{jopd01@student.bth.se}\\
17 jontas 1.1 \emph{tb00mbo@student.bth.se}\\
18     \end{centering}
19     \newpage
20     \tableofcontents
21     \newpage
22     \onehalfspacing
23     \section{Kurserfarenheter} %Är detta ett bra namn?
24    
25 jontas 1.5 Detta kapitel kommer att ta delar av det vi har gått igenom
26 jontas 1.1 i kursen, samt försöka belysa vissa av dem.
27    
28     \subsection{Användandet av en minsta gemensamma
29     utvecklingsmiljö}
30    
31     Ett syfte med att introducera en minsta gemensamma
32     utvecklingsmiljö är att underlätta processen att
33     producera programvara, även om man inte sitter vid sin
34     egen dator, utan hos någon annan.
35    
36     Nyttan med en minsta gemensamma utvecklingsmiljö i en miljö med flera utvecklare är att
37     det hämmar användandet av egna utvecklingsverktyg,
38     underlättar användandet av en annan dator, underlättar utbildning, samt
39     underlättar administrationen av systemet då alla datorer
40     har samma programvara installerad.
41     Dock så är ju en nackdel med att nyttja en gemensam
42     utvecklingsmiljö att då det kommer nya människor som
43     inte är vana vid denna miljö så måste de utbildas, men
44     genom att tänka sig för då man skapar en gemensam
45     utvecklingsmiljö så kan utbildningstiden minskas till
46     ett minimum, eller till och med undvikas.
47    
48     Det som skall eftersträvas i en gemensam
49     utvecklingsmiljö är dels att få den lättförståelig
50     (eller självförklarande), men att den för detta inte på
51     något sätt skall vara på en nivå för nybörjare, utan ha
52     all den styrka som utvecklarna behöver då de utvecklar
53     programvara. Kan den gemensamma utvecklingsmiljön
54     introduceras som något som kan underlätta arbetet så
55     kommer användarna att med glädje byta, även om det kan
56     innebära vissa initiala problem.
57    
58 eax 1.15 \subsection[Script vid mjukvaruproduktion]{Användandet av script vid mjukvaruproduktion}
59 jontas 1.1
60     Detta kan lätt tyckas att detta inte har med MDI att
61     göra, men vi kommer att förklara detta lite senare.
62     Tanken med att använda diverse script är främst att
63 jontas 1.16 kristallisera krångliga kommandon (eller om man vill långa)
64 jontas 1.1 från användaren, och istället bara använda ett kort
65     kommando. Detta innebär att det blir enklare att hålla
66     ordning på det man utvecklar då det i scriptet går
67     snabbt att skriva ner de kommandon som ser till att
68 jontas 1.5 källfilerna ligger i en katalog, de kompilerade
69 jontas 1.1 programmet i en, och hjälp filerna i en tredje (om
70 eax 1.15 programmeringsspråket stödjer detta (t.ex. Java API).
71 jontas 1.1
72 jontas 1.16
73 jontas 1.1 Men hur är detta något som är intressant ur en MDI
74     synpunkt?\\
75     Jo, tanken var ju att ta alla dom krångliga kommandona,
76     och helt enkelt byta ut mot ett kort script. Krasst sett
77     är detta grunden för MDI. Att ta något krångligt
78 jontas 1.16 kommando, och byta ut mot ett lättare. Eller att på
79     annat sätt underlätta användandet av en produkt.
80 jontas 1.1
81 jontas 1.16 \subsection{GUI designmönster}
82 jontas 1.1
83     GUI står för Graphical User Interface, eller grafiskt
84 jontas 1.16 användargränsnitt på svenska. Ett GUI kan se ut på
85 jontas 1.1 ett (nästan) oändligt antal sätt, men alla dessa följer
86     ett eller flera mönster för hur man använder dessa. Då
87     dessa mönster upprepas så är det viktigt för oss som
88     utvecklare att vi känner till de mönster som finns, vad
89     de går ut på, samt vad som är viktigt att tänka på. En
90     anledning till att detta var viktigt att lära oss är
91     genom att vi lär oss detta kan vi spara tid när vi skall
92     utveckla en programvara som skall interagera med en
93     människa (vilket det stora flertalet program gör), genom
94     att vi inte ska behöva uppfinna hjulet igen.
95    
96     Vi hade en laboration där vi skulle identifiera design
97     mönster i en färdig programvara från SUN Microsystems,
98     och efter detta även i en programvara vi själva har
99     gjort. Detta innebar att vi var tvungna att lära oss
100     känna igen de olika mönster som är vanligt förekommande,
101     och på detta sättet så kom vi även att fundera på när de
102     olika mönstren är praktiska, och när dom inte är det. Vi
103     har genom denna laboration kommit fram till att design
104     mönster är något viktigt i utveckling av programvara,
105     och är något vi kommer att ta med oss till framtiden.
106    
107     \subsection{Prototyper och Mock-ups}
108    
109 jontas 1.14 Det finns flera olika sätt att demonstrera en idé, men
110     den bästa brukar vara att kunna visa upp något. Det kan
111     vara bra att kunna berätta om idéen man har, men om man
112 jontas 1.16 kan ge kunden något han eller hon (dock för att underlätta
113     läsningen i fortsättningen använder vi ett könlöst han
114     för att symolisera en person av okänt kön, om inte annat
115     sägs) kan se, ta på, och till viss del
116 jontas 1.14 kunna interagera med så är det mycket enklare, dels att
117     sälja idén, dels att upptäcka fel och brister i den.
118    
119     Nu vet ju vi att vi bara har använt mock-ups i denna
120     kursen, men det vore synd att inte ta tillfället i akt
121     och prata lite om prototyper också.
122    
123     \subsubsection{Mock-up}
124    
125     En mock-up är en form av prototyp. Den görs i ett
126     passande material, och beroende på vilken information
127     man har om den färdiga produkten så görs den med den
128     detaljnivå som är passande. Denna mock-up används sedan
129     för att testa om konceptet man har håller, och hur det
130     skall implementeras. En mock-up behöver inte vara för en
131     programvara, utan kan lika gärna vara för en fysisk
132     produkt, men i kursen har vi inriktat oss på programvara
133     då detta är det intressanta för oss. Då man skapat en
134     mock-up så tar man denna, och testar på en eller flera
135     tilltänkta användare, och lyssnar på deras åsikter om
136     den. När man har kommit förbi detta stadiet så kan man
137 jontas 1.16 bygga en lite mera avancerad prototyp för att vidareutveckla
138     produkten. En mock-up är vanligtvis (eller
139 jontas 1.14 i alla fall dom vi har gjort) ``dynamiskt statiska''
140     vilket kan låta som en motsägelse, men vad vi menar med
141     det är att den görs dynamisk är att det går att byta
142     detaljer i mock-upen för att symbolisera interaktion. En
143     annan fördel med en mock-up framför en fungerade
144     prototyp är att en mock-up är gjord av ett billigt
145     material, och går snabbt att göra och göra om då man inser att
146     lösningen man har inte håller, utan behöver göras om för
147     att passa användaren och hans behov.
148    
149 jontas 1.16 \subsubsection{Lågnivåprototyper}
150 jontas 1.14
151 jontas 1.16 En lågnivåprototyp är en enkel prototyp, som snarare
152 jontas 1.14 syftar till att visa den grundläggande idéen. Den kan
153 jontas 1.16 vara en mock-up, eller något annat. En lågnivåprototyp
154     är något som går relativt snabbt att slänga
155 jontas 1.14 ihop, och brukar vanligtvis vara ganska så billig. Den
156     kan vara i ett material som är väldigt långt från den
157     färdiga produkten (en mock-up på en kartongbit är ju
158     väldigt långt från ett färdigt program på datorn, och
159     vi är ganska säkra på att man kan komma ännu längre om
160     man bara vill).
161    
162 jontas 1.16 Lågnivåprototypen använder man för att demonstrera
163 jontas 1.14 idéer, koncept och dyl. Den kan inte till fullo
164     användas för att fånga alla krav, men i samverkan med
165     andra metoder (som t.ex. intervjuer, användningsfall
166     osv) kan man komma nära nog i många fall.
167    
168 jontas 1.16 \subsubsection{Högnivåprototyper}
169 jontas 1.14
170 jontas 1.16 En högnivåprototyp är en ''bättre`` prototyp, oftast
171     så ligger den närmare den färdiga produkten än
172     lågnivåprototypen till utseende, och material (där det
173     finns). Det som främst skiljer en högnivåprototyp
174 jontas 1.14 från en lågnivå är att högnivån har funktionalitet
175     (verklig sådan, inte att man vänder blad).
176    
177     \subsubsection{Vilken väljer vi?}
178    
179 jontas 1.16 Marc Rettig (1994) anser att om man är tvungen att
180     välja så är det är bättre att välja
181     lågnivåprototyper framför högnivå, detta för att:
182 jontas 1.14
183     \begin{itemize}
184     \item Dom tar lång tid att göra
185     \item Kritiker och testar tenderar att kritisera
186     prototypen, och inte funktionaliteten i den.
187     \item Utvecklar drar sig för att göra om något dom
188     har lagt timmar (eller dagar) på att göra.
189     \item En mjukvaru prototyp kan sätta förväntningarna
190     för högt.
191     \item En enda bugg i prototypen kan sätta stop för
192     testningen av denna.
193     \end{itemize}
194    
195 jontas 1.16 Vi måste säga att vi håller med honom. En lågnivåprototyp
196     kan säga det mesta en högnivå kan, och det
197 jontas 1.14 den inte kan säga är det tveksamt om man kan få
198 jontas 1.16 tillbaka av den tid det tar att göra högnivåprototypen
199     (iallafall i de små projekt vi har jobbat
200 jontas 1.14 med hittills), det kan ju ändras om det är ett stort
201     projekt, men vi är inte helt säkra på det. En
202     prototyp skall endast ses som ett
203     utvecklingsverktyg, det är ju inget som utvecklar av
204     sig självt, på sin höjd kan det ju driva
205     utvecklingen framåt.
206    
207 jontas 1.16 Vi anser att de projekt vi har jobbat med har varit
208     så pass små att en högnivåprototyp inte skulle ha
209     hjälp oss komma framåt, utan snarare tvärt om, men
210     om man jobbar med större projekt så skall man nog
211     inte underskatta värdet av en högnivåprototyp, dock
212     så tror vi att det är viktigt att inte överskatta
213     den heller.
214    
215 jontas 1.14 Ett undantag bör dock göras. Om man kan utnyttja
216     prototypen, eller en ansenlig del av denna senare.
217     Om man t.ex. gör en prototyp av ett GUI, med begränsad
218     (eller igen) funktionalitet så kan man ju använda
219     detta i den färdiga produkten, förutsatt att det
220     faller väl ut.
221    
222    
223    
224     \subsection{Erfarenhet}
225 jontas 1.1
226     Vi tror att vi kommer att använda någon form av
227 jontas 1.16 prototyper efter denna kursen då en lågnivåprototyp är ett snabbt
228 jontas 1.1 sätt att visa hur man menar att GUI't skall se ut, och
229     om man har ett förslag till ett GUI så är det enkelt att
230     hitta funktionalitet som man har missat, och det kan
231     även vara enklare att förklara vad man vill göra för en
232     kund som inte kunskaper inom programvaruutveckling vad
233     det är som man skall göra, och vad han får och inte får.
234 jontas 1.14 Han kan även ta prototypen och visa för slutanvändarna,
235 jontas 1.1 och dessa kan också komma till tals om hur produkten
236     skall se ut, och dess funktionalitet.
237    
238 jontas 1.16 <<<<<<< HCI_text.tex
239     Man kan även se en möjlighet till att kunden kan komma
240     med mera direkta förslag på förändingar/förbättringar,
241     eller till och med själv göra designen (eller del av
242     den).
243    
244     Dessutom så innebär en prototyp av något slag att man
245     underlättar kommunikationen mellan utvecklaren och
246     kunden, och då ofta kund och utvecklare har olika
247     kunnskaper/erfarenheter innebär detta att man minskar
248     risken för missförstånd, och kan rätta till ev design
249     missar i ett tidigt stadium. Prototypen kan även till
250     viss del användas för att hitta saknad funktionalitet,
251     dock så kan det vara värre att hitta felaktig.
252 jontas 1.1
253 jontas 1.16 \section {Designmönster}
254     inte använda något/några designmönster. De flesta sätt
255 jontas 1.1 att strukturera upp ett GUI följer de mönster som finns
256     definierade. Detta märkte vi av på första laborationen
257     när vi skulle identifiera mönster som vi hade använt i
258     ett program vi själva hade gjort långt innan vi hade
259     hört talas om MDI, och dess betydelse. En anledning till
260     att man använder design mönster är att om flera program
261     ser ut likadant, och uppför sig likadant så kommer
262     användaren att känna sig hemma i det, även om han aldrig
263     har sett programmet tidigare, eller ens ett program som
264     liknar detta (till funktionalitet sett).
265    
266 eax 1.10 \emph{``Ett väl-designat GUI låter användaren göra fel''}
267 jontas 1.1 (Grand, M. 1999)\\
268     Detta är viktigt därför att om det inte går att göra fel,
269     eller viktigare att återhämta sig från ett fel utan en
270     förlust, då kommer användaren att ta det lugnt och
271     försiktigt, men trots detta kommer användaren att göra
272     många fel (eller snarare så är det så det upplevs då alla fel gör
273     skada). Men om GUI't låter användaren återhämta sig om han
274     gör fel så kommer han att jobba i ett bättre tempo, och
275     göra färre fel. Något som är väldigt viktigt om GUI't
276     tillåter att man gör fel så måste det varna om det finns
277     aktioner som man kan göra som det inte går att återhämta
278     sig ifrån.
279    
280     \subsection{Vikten av att känna igen sig i ett program}
281    
282     En viktig sak med att få användaren att känna igen sig
283 jontas 1.16 är att detta ger en ``säkerhetskänsla'' i programmet,
284 jontas 1.1 användaren känner att han vet (i viss mån) hur han skall
285     bära sig åt för att göra olika saker. Nästan alla
286     program där man kan spara sitt arbete, öppna en fil med
287 eax 1.10 gammalt arbete osv har detta i en meny märk ``Arkiv'' på
288 jontas 1.1 svenska, kommandon som kopiera, klistra in, gör om osv.
289 eax 1.10 ligger under en meny ``redigera''. Detta gör att en
290 jontas 1.1 användare kan känna igen sig även om han aldrig har
291     nyttjat programmet tidigare.
292    
293 jontas 1.16 \section{Interaktionsdesign}
294 jontas 1.1
295 jontas 1.16 När man pratar om interaktionsdesign så menar man att
296 jontas 1.1 man sätter användaren och hans behov i fokus, och att man
297     inte så mycket bryr sig om tekniken bakom.
298    
299     Detta innebär dock att för att kunna designa något så
300 eax 1.11 måste vi känna till målgruppen och dess behov. Att jobba med
301 jontas 1.1 interaktions design är väldigt snarlikt till att jobba med
302     en användarcentrerad lösning. Det går antingen att jobba
303     med interaktions design om man har en färdig målgrupp som
304     har ett behov av programvaran, eller att man tänker sig en
305     målgrupp, och skapar produkten därefter.
306    
307     Om man har en färdig målgrupp som har behov av en produkt
308 eax 1.10 så är det ``enkelt'' att skapa denna då man hela tiden kan
309 jontas 1.1 rådfråga målgruppen, skapa mock-uper, prototyper osv, och
310 eax 1.11 få direkt feedback på det man har gjort. Det finns undantag
311     då man inte kan skapa mock-uper och det är när själva slut
312     produkten är hemligstämplad och det finns andra aktörer på
313     marknaden som jobbar med samma område. Att då låta vanliga
314     användare komma i kontakt med sin design innebär att hemlig
315 jontas 1.16 information kan spridas till konkurrenterna om de nu råkar
316     få tag på dessa testpersoner, och fråga ut dessa.
317 jontas 1.1
318     En annan sak som är viktig, mycket viktig med Interaktions
319 jontas 1.16 design är att den sker iterativt. Detta för att om det
320     inte sker iterativt så kan man inte dra maximalt värde av
321     denna. Det finns ju en risk att om man gör en ändring så
322     som ska lösa ett problem, introducerar man två nya, och om
323     processen inte sker iterativt så finns det ingen möjlighet
324     att finna detta fören det har gått en lång tid, och det
325     kostar mer att åtgärda.
326 jontas 1.1
327 jontas 1.2 \section{Konceptuella modeller}
328 jontas 1.1
329 jontas 1.16 En konceptuell modell är en beskrivning av systemet, i
330     form av tankar och idéer om hur systemet skall verka och
331     se ut, och att det kan förstås av användaren.
332    
333 eax 1.10 \emph{``Det viktigaste är att designa användarens
334 jontas 1.2 konceptuella modell. Allt annat skall ses som
335     underordnat för att göra modellen klar, tydlig och
336     konkret. Detta är nästan tvärt emot hur den mesta
337 eax 1.10 mjukvaran utvecklas.''}(Liddle, David. 1996)\\
338 jontas 1.2 Preece, Rogers and Sharp 2002 definierar en konceptuell
339 eax 1.10 modell som \emph{``en beskrivning av det föreslagna
340 jontas 1.2 systemet i termer av integrerade idéer och koncept om
341     vad det skall göra, bete sig samt se ut som, som skall
342 eax 1.15 förstås av användaren på rätt sätt''}
343 jontas 1.1
344 jontas 1.2 När man skapar en konceptuell modell så är det viktigt
345     att man funderar över hur den slutliga produkten skall
346     se ut, baserat på användarnas behov och krav. För att
347     försäkra sig om att användaren kommer att förstå
348     modellen så som den är tänkt är det viktigt att
349     genomföra noggranna och iterativa tester.
350 jontas 1.1
351 jontas 1.2 En viktig del av den konceptuella modellen är att
352     besluta vad användaren skall göra när han använder
353 jontas 1.16 produkten. Detta kan även kallas interaktionssätt
354 jontas 1.2 dvs hur en användare skall få utföra jobbet. När man
355 jontas 1.16 väljer interaktionssätt så får man även tänka över hur
356 jontas 1.2 man skall interagera med produkten (programvaran), skall
357     det vara med knappar, menyer, röstkommandon osv.
358    
359     När man har kommit så här långt med sin modell så är det
360     dags att börja fundera över hur GUI't skall se ut, olika
361     mönster, dess fördelar och nackdelar osv. Ju fler man
362     provar med, och funderar över, ju större är chansen att
363 jontas 1.5 produkten blir bra, och det är viktigt att man jobbar
364     iterativt, och att man använder lite olika metoder, och
365 jontas 1.2 data (gärna även utvecklare om det går) i dom olika
366     iterationerna för att täcka in så mycket som möjligt.
367    
368     Basen i att konstruera en bra konceptuell modell är
369     användaren, och det användaren skall kunna göra.
370    
371     Det finns ett otal olika konceptuella modeller, men vi
372     kommer bara att ta upp dom två vanligaste.
373    
374     \subsection{Konceptuella modeller baserat på
375     aktiviteter}
376    
377     De fyra vanligaste aktiviteterna användarna kommer att
378     göra (sett ur MDI synpunkt) är:
379     \begin{itemize}
380     \item Instruera
381     \item Konversera
382     \item Manipulera och navigera
383 eax 1.13 \item Utforska och ögna igenom %är surfa en bra översättning av browsing?
384 jontas 1.2 \end{itemize}
385     När man instruerar så förklarar man vad man vill att
386     systemet skall göra, man ger order. Detta kan ske t.ex.
387 jontas 1.16 med knappar, menyer osv.
388    
389 jontas 1.2 När man konverserar så gör man det som man gör med en
390     människa, antingen talar man till systemet med rösten,
391     eller så skriver man, men man håller sig till ett
392 jontas 1.16 normalt språk.
393    
394 jontas 1.2 När man manipulerar och navigerar så har man en
395     representation (av något) som man kan manipulera för att
396     uppnå önskat resultat. Det är en klar fördel om
397     representationen delar vissa egenskaper som användaren
398 jontas 1.16 kan förstå av den fysiska världen. %analoga lät fel, men fysiska låter heller inte riktigt bra... Jag höll på att skriv riktiga, men kom att tänka på vad det skulle innebära
399    
400 jontas 1.2 När man utforskar och surfar så är systemet utformat på
401     ett sådant vis att användaren kan få information utan
402     att behöva formulera frågor.
403    
404     Det är viktigt att förstå att man måste inte välja en av
405     dessa, utan man kan välja flera om man känner för det,
406     ofta kan man få ett resultat som blir närmare det
407     användaren efterfrågar om man väljer att blanda flera
408     aktiviteter.
409     \subsubsection{Instruera}
410    
411 jontas 1.12 Detta är en relativt enkel modell att bygga upp, även om
412     det kan vara krångligt att bygga upp den på ett bra
413     sätt. Antingen kan man använda knappar, menyer osv för
414     att ge instruktioner, eller så kan man använda
415     textsträngar. En klar nackdel med denna modellen är att
416     om kommandona är långa (eller krångliga) kommer
417     användaren att glömma bort det, och behöva extra hjälp
418     när han skall nyttja denna. Detta är ett vanligt
419     mönster, och återfinns i flera produkter på ett sätt
420     eller ett annat.
421    
422 eax 1.13 \subsubsection{Konversera}
423 jontas 1.12
424 eax 1.13 Denna metoden är vanligast om det handlar om någon form
425     av expert system, eller sökfunktioner. En klar fördel
426     med att nyttja detta mönster är att även en människa med
427     små kunskaper inom både data, och ämnet som experten kan
428     kan ställa frågor, och få hjälp. En nackdel med detta
429     mönstret är att om användaren ställer frågor på ett sätt
430     som man inte har tänkt sig, eller som inte finns med i
431     informations basen så kan svaren till användaren bli
432     helt uppåt väggarna om man inte är noga med hur man
433     behandlar indatan.
434    
435 jontas 1.14 \subsubsection{Manipulera och navigera}
436 eax 1.13
437     Visualisering måste innehålla mycket mer än att bara tillåta folk att ``se''
438     information. Dom måste också kunna manipulera och fokusera sig på vad som är relevant
439     och känna igen det för att skapa ny information. Funktioner som hypertext (t.ex. HTML)
440     har blivit en dominant metod för att länka samman dokument, vilket tillåter användaren
441     att navigera sig genom dokument på ett väldigt dynamiskt och personligt sätt.
442    
443     \subsubsection{Utforska och ögna igenom}
444    
445 eax 1.15 Hypertext är
446 jontas 1.14 en smidig metod för att söka efter information då man
447     kan länka vidare till djupare information då en
448     användare hittar något som intresserar. Nackdelen med
449     denna metod är att det kan bli grötigt, och att det
450     kan vara svårt att komma igång om man inte riktigt vet
451 eax 1.15 vad man söker efter. Det ger däremot användaren en möjlighet
452     att hoppa runt på ett snabbt sätt mellan dokumenten tills
453     han/hon hittar det som söktes.
454 eax 1.13
455     \subsection{Konceptuella modeller baserat på objekt}
456    
457     När man utgår från ett objekt så tar man ett objekt som
458     användaren kan relatera till, en bok, kaffe bryggare
459     eller dyl. Och sedan så gör man sin modell så att den
460     liknar det fysiska objektet. Det bör även gå att
461     manipulera objektet på ett vis som liknar det fysiska
462     objektet. Men man bör även tänka på vilka funktioner en
463     användare kan tänkas önska utöver dom som finns i det
464     verkliga objektet. Om man gör en ordebehandlare kan det
465     vara väldigt trevligt om denna klarar av att t.ex.
466     kompilera texten, rättstavning osv.
467 jontas 1.5
468 jontas 1.16 \subsection{Interface-metaforer}
469 jontas 1.5
470     Denna metod går ut på att man tar och försöker efterlikna
471     en välkänd metod, eller något som användaren känner igen
472     för att manipulera systemet. Det handlar oftast om att man
473     försöker abstrahera bort hur datorn gör, och istället
474 jontas 1.16 likna det vid något som man känner igen. Då boken är
475     väldigt kritisk mot denna metoden att utveckla
476 jontas 1.5 produkter, så vi tänker inte gå in på denna så djupt. Dock så
477     tror vi att det borde vara en bra metod att iallafall
478     fundera på, men man måste nog vara försiktig så att man
479 eax 1.10 inte gör ``hål'' i designen då man använder metaforer.
480 jontas 1.5
481     \section{Värdet av MDI}
482    
483 eax 1.9 Hela ämnet kanske kan verka abstrakt, och som något som bara tar
484     upp tid att hålla på med, men faktum är att den tid (och de pengar)
485 jontas 1.5 man lägger ner på MDI tjänar man igen ganska så fort.
486     Dessutom så är det med hjälp av en mock-up lätt att tidigt
487 jontas 1.16 fånga designfel, eller till och med logikfel, och ju
488 jontas 1.5 tidigare man kan hitta fel, desto billigare blir dom att
489     avhjälpa.
490    
491     En annan viktig sak att tänka på med MDI är att man kan på
492 jontas 1.16 ett sätt använda det som en reklamtavla för sitt företag,
493 jontas 1.5 om man gör en extraordinär lösning på något så kommer
494     detta att sprida sig, men det kommer ännu mer att sprida
495 jontas 1.16 sig om man gör dåliga MDIlösningar. Ett företag som
496 jontas 1.5 tidigare har köpt en produkt som kanske är bra, bara det
497     att de inte kan nyttja den kommer inte att köpa en produkt
498     till av samma företag som den förra.
499 jontas 1.1
500 eax 1.8 Även om själva funtionaliteten i applikationen (eller vad
501     det nu är som skapats) kanske är helt banbrytande och
502     ruskigt innovativ så kanske inte produkten kan säljas
503     ändå, på grund av att användarna helt enkelt inte klarar
504     av att använda den för att gränssnittet är alldeles för
505     klumpigt, långsamt och förvirrande. \emph{``Jag fattar inte varför man år 2000 ska behöva
506     vänta ibland en sekund innan telefonen fattar att man
507     vill hoppa ett steg till vänster i menyerna.''}(Mats
508     Ekstrand, 2000-09-20 i en recension av Ericssons R310)
509     Man brukar säga att utseendet inte spelar någon roll,
510     men när det gäller MDI så spelar det stor roll. Det första
511     man möts av när man får/köper en produkt är gränssnittet,
512     må det så vara en knappsats, touchscreen eller ett flashigt GUI.
513 jontas 1.1
514     \end{document}

root@recompile.se
ViewVC Help
Powered by ViewVC 1.1.26