Brukergrensesnittdesign Hva er brukergrensesnittet? Tone Bratteteig INF-102, 7/3 2003 se lenke fra INF102s web-side: http://www.sylvantech.com/~talin/projects/ui_design.html A summary of principles for user-interface design grensen mellom menneske og maskin skille funksjonalitet: hva programmet kan gjøre og brukergrensesnitt: hvordan funksjonaliteten er tilgjengelig eller presenteres eks: kommandospråk - >chmod ao+rx <fil> menyvalg pull-down meny, valg med piltast eller mus direkte manipulasjon - posisjonering med mus på skjermen, f.eks. på en skala 1 2 WIMP WIMP Windows Icons Menus Pointers Windows Icons Menus Pointers 3 4
Grensesnittet mot brukeren Metaforer tastatur mus annet innmatingsutstyr skjerm høyttaler skriver annet utmatingsutstyr grensesnitt mot programvare programmer operativesystem verktøy i arbeidet brukeren jobber med noe gjennom datamaskinens grensesnitt eller med å gjøre noe ved hjelp av data medium for kommunikasjon brukeren interagerer med andre gjennom datamaskinens grensesnitt brukergrensesnittet forsvinner fra oppmerksomheten (gjennomsiktig) menneske-maskin interaksjon: interaksjon med datamaskinen 5 6 Retningslinjer for brukergrensesnittdesign Fysiologi Human-Computer Interaction (HCI) el. menneske-maskin interaksjon (MMI) ergonomi bakgrunn: produktutvikling for massemarket kjenner ikke brukerne må derfor basere seg på generell kunnskap om mennesker fysiologi (kroppen) psykologi læring tenkning bevegelse større bevegelsesavstand gir mindre treffsikkerhet lange musbevegelser bør ha stort treffområde menyvalg i rullegardin fra toppen større enn pop-up meny statisk trykk mer belastende enn bevegelser lag alternative snarveier tale-innmating mer belastende enn hånd-innmating 7 8
Psykologi læring tid for å lære konsistens mellom grensesnitt (overføring av kunnskap) la maskinen hjelpe hukommelsen tid for å forstå tilbakemeldinger tenkning styr oppmerksomhet ved formmessige virkemidler organisering av informasjon gruppering av sammenhenger kategoriseringer, hierarki/system 9 10 11 12
trygghet følelse av kontroll hjelp interaktivt brukerstøtte kolleger feilforebygging forståelige valg og handlingsmuligheter forståelige feilmeldinger mulighet for omgjøring entydige avslutninger (eks minibank) system acceptability practical acceptability From Nielsen (1993) p. 25 social acceptability usefulness etc. cost utility usability compatability reliability easy to learn efficient to use easy to remember few errors subjectively pleasing 13 14 8 gyldne regler Talins prinsipper http://www.sylvantech.com/~talin/projects/ui_design.html fra Shneiderman 1. søk konsistens (terminologi, prompts, menyer, hjelp, farger, form, fonter) 2. lag snarveier for hyppige bruker (forkortelser, spesielle taster, gjemte kommandoer, makroer) 3. gi informativ tilbakemelding 4. design dialoger som lukkes (gruppèr handlingssekvenser, sekvens: begynnelse, midt, avslutning) 5. forebygg feil og tilby enkel feilhåndtering 6. tillat enkel omgjøring av en operasjon 7. støtt brukerens grunnlag for kontroll 8. reduser belastning av korttids-hukommelsen 1. profiler mot brukeren: kjenn brukerne 2. bruk metaforer som brukerne kjenner 3. still ut egenskapene: la brukerne se klart hvilke funksjoner som tilbys 4. skap sammenheng: programmene må være konsistente internt og eksternt 5. visualiser systemets tilstand: vis når systemet skifter oppførsel 6. lag snarveier: både konkrete og abstrakte måter å få utført en operasjon 7. styr fokus: velg ut hvilke aspekter av grensesnittet som trenger oppmerksomhet 8. skap en grammatikk: lag regler for systemets "språk" 15 16
Talins prinsipper forts. 12 krav til gode brukergrensesnitt kap. 9.3 9. tilby hjelp: forstå hvilke typer hjelp brukerne trenger (i. hva kan jeg gjøre? ii. hva er dette? iii. hvordan gjør jeg dette? iv. hvorfor skjedde dette? v. hvor er jeg?) 10. skap trygghet: brukerne får tillit til systemet når de har et sikkerhetsnett 11. lag en kontekst som kan favne oppgaven 12. lag vakre programmer 13. test programmet med brukere, og la dem hjelpe deg med å finne feilene 14. lytt til hva folk sier Gerhard Skagestein (og Jens Kaasbøll) 1. Brukergrensesnittet må følge etablerte standarder 2. Brukergrensesnittene må være mest mulig innbyrdes konsistente 3. Brukeren skla hele tiden ha kontrollen 4. Systemet må gi (informative) tilbakemeldinger 5. Systemet må oppfattes som trygt 6. Brukergrensesnittet må vise hvilke handlinger som står åpne for brukeren 7. Brukergrensesnittet skal ikke være basert på at brukeren må huske noe 8. Brukergrensesnittet må ikke gi brukeren for mye å velge mellom på en gang 9. Unngå en total utveksling av hva brukeren ser på skjermen 10. Brukergrensesnittet må tilby snarveier 11. Brukergrensesnittet må gi et intuitivt bilde av systemet 12. Brukergrensesnittet må være vakkert 17 18 + noen praktiske ting til fra Jens Kaasbøll 13. snakk brukernes språk 14. begrens fargebruk til det funksjonelle 15. grupper sammenhørende elementer 16. kombiner lys og lyd for viktige alarmer 17. tydelige avslutninger 18. forebygg feil 19. reversible operasjoner og 20. la brukergrensesnittet styrke funksjonaliteten den er viktigst, men funksjonaliteten må kommuniseres for å komme til nytte 19