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

Annotation of /Kamel/HCI_text.tex

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.17 - (hide annotations)
Wed Apr 9 22:33:03 2003 UTC (21 years, 1 month ago) by eax
Branch: MAIN
Changes since 1.16: +33 -35 lines
File MIME type: application/x-tex
Gjorde endel ändringar i filen ändå... bl.a. tog jag hand om alla s.k. "könslösa han" och gjorde till "han eller hon", alternativt "han/hon"
fixade några särskrivningar och annat godis, men nu tycker jag texten verkar sjysst.

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

root@recompile.se
ViewVC Help
Powered by ViewVC 1.1.26