Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att...

19
1 Design och konstruktion av användargränssnitt – distanskurs 1MD113 Uppsala universitet @ 2005 Ett utvecklar- perspektiv Design och konstruktion av användargränssnitt - distanskurs Informationsteknologi | 2005-05-28 | #2 Uppsala universitet @ 2005 Användbarhet vs. utveckling Varför har så många system låg användbarhet? Konflikter – bråk om vad som ska utvecklas Tidsbrist – användbarhet hinns ej med Upphandling – kan ge formella hinder Okunskap – inte veta vad göra Oförmåga – inte klara av att möta mål Design och konstruktion av användargränssnitt - distanskurs Informationsteknologi | 2005-05-28 | #3 Uppsala universitet @ 2005 Konflikter Har vi egentligen konflikter mellan beställare och utvecklare? Nja, men… olika faktorer styr när man blir nöjd det är svårt att skilja systemutveckling från verksamhetsutveckling (= turbulens) svag förståelse för varann: mycket är en språk- och intressebarriär, ej nödvändigtvis en konflikt i sig dålig medverkan i de andras aktiviteter leder ofta till osämja

Transcript of Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att...

Page 1: Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att nå användbarhet så måste man kunna korrigera fel Lösningen är att inte låsa

1

Design och konstruktion av användargränssnitt – distanskurs 1MD113

Uppsa

la un

iversi

tet @

2005

Ett utvecklar-perspektiv

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #2Uppsala universitet @ 2005

Användbarhet vs. utvecklingVarför har så många system låg användbarhet?• Konflikter – bråk om vad som ska utvecklas• Tidsbrist – användbarhet hinns ej med• Upphandling – kan ge formella hinder• Okunskap – inte veta vad göra• Oförmåga – inte klara av att möta mål

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #3Uppsala universitet @ 2005

KonflikterHar vi egentligen konflikter mellan beställare och utvecklare? Nja, men…• olika faktorer styr när man blir nöjd• det är svårt att skilja systemutveckling från

verksamhetsutveckling (= turbulens)• svag förståelse för varann: mycket är en språk- och

intressebarriär, ej nödvändigtvis en konflikt i sig• dålig medverkan i de andras aktiviteter leder ofta till

osämja

Page 2: Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att nå användbarhet så måste man kunna korrigera fel Lösningen är att inte låsa

2

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #4Uppsala universitet @ 2005

Tidsrelaterade problemProduktivitet• Avtar med antalet personer. Kompensera med

gruppuppdelning; ger ännu fler parter att hantera• Att ”öka takten” är snudd på omöjligt

Människor är inte plug & play-kompatibla

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #5Uppsala universitet @ 2005

Formella hinderDåliga odds från första början på grund av upphandling• Fast pris + låsta krav = betong

Upphandling är ofta lek i en ”låtsasvärld”• Beställaren låtsas veta alla framtida krav• Leverantören låtsas tro på det, och låtsas vidare att det

går räkna ut fix kostnad för att konstruera systemet• Utvecklarna låtsas att utveckling är statiskt och använder

metoder som tar ”fyrkanter” som indata och som producerar nya fyrkanter

• Alla blir förvånade/upprörda när systemet sedan inte håller måttet…

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #6Uppsala universitet @ 2005

Upphandling

Analys: behov

Krav

Offert

Analys: tid & pengar

KUNDEN LEVERANTÖREN

Page 3: Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att nå användbarhet så måste man kunna korrigera fel Lösningen är att inte låsa

3

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #7Uppsala universitet @ 2005

FörändringarMjukvara är just mjuk; det bör gå att göra förändringarFör att nå användbarhet så måste man kunna korrigera felLösningen är att inte låsa krav, speciellt inte tidigtVad utvecklingskostnaden blir beror nästan enbart på krav (som vi ju inte vet i förväg)

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #8Uppsala universitet @ 2005

Offertvarianter

Löpande räkning

Blandformer

Fast pris

Fast pris med böter

Chans attfå kontrakt

Risk

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #9Uppsala universitet @ 2005

OkunskapDesign för användbarhet• Inget som skiljer sig från andra krav• Dock, det finns sällan konkreta

användbarhetsmål om man frågar beställare/användare/experter!

• Alltså ligger svaret troligen i hur man utvecklar, inte vad

Page 4: Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att nå användbarhet så måste man kunna korrigera fel Lösningen är att inte låsa

4

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #10Uppsala universitet @ 2005

OförmågaProjektmedlemmar• Något av ett tabu: vi är olika bra (och dåliga)• Vi är dessutom individuellt olika bra/dåliga på

olika saker• Ofta saknas kompetens för nya moment och

situationerMycket hade kunnat förbättras med lite framförhållning

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #11Uppsala universitet @ 2005

Lösningen?Problemen är många så enkla lösningar finns ej tyvärr!Dock, det går lösa flera problem genom en lämplig utvecklingsmetodikAnvändbarhetsprocess!• Svaret ligger i metoden!

Om utvecklarna varit med i framtagandet av krav och prototyp så ökar chanserna att nå bra resultat

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #12Uppsala universitet @ 2005

SvaghetStor brist ligger i ”my baby”-syndromet; att man aldrig vill ändra på en egen (=vacker) lösning• Leder till 1 enda utvecklingsspår mot målet; det är ej

tillräckligt• Denna naturlag fungerar åt båda håll, men oftast är det

utvecklarna som får skäll…Finns en mängd olika strategier för att undvika just den fällanHär är 7 stycken:

Page 5: Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att nå användbarhet så måste man kunna korrigera fel Lösningen är att inte låsa

5

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #13Uppsala universitet @ 2005

1. PerfektionismHela tiden leta efter den ultimata lösningen; nuvarande lösning endast temporär…Bygger på att det existerar en ”killer app” som löser alla våra problem• Inte riktigt sant• Eller…

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #14Uppsala universitet @ 2005

Verkligheten“Worse is Better” gäller tyvärr• Richard P. Gabriel vs. Nickieben Bourbaki

Good News, Bad News, How to Win Bighttp://www.dreamsongs.com/WorseIsBetter.html

• I korthet:Enkelhet i kod > enkelhet i designEnkel > korrektEnkel att bygga > enkel att använda

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #15Uppsala universitet @ 2005

2. ProjektledningArbetssätt är en fråga om inställning• Jämför hur coachning sker av målvakter i hockey och

handbollKompetens och självförtroende• Duktiga utvecklargrupper tvekar inte att slänga bort saker

som inte passar eller är bra nog. Det gäller nå denna nivå/attityd!

CoachningLedargestaltUtbildning, anställa den bästa i världenPrestigelös miljö

Page 6: Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att nå användbarhet så måste man kunna korrigera fel Lösningen är att inte låsa

6

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #16Uppsala universitet @ 2005

3. MetodikArbeta på ett sätt som omöjliggör revirbevakande och rigida strukturerPrototypdriven verksamhet är sådan, med stora vinster:• I en datorvärld kommer prototyper sanningen

mycket nära• Prototyper kan dock bara ge svar på frågor; ingen

generell räddningsplanka

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #17Uppsala universitet @ 2005

Metodik, hur bäst förstöraSkapa moment som går emot allt mänskligt• Förutsätt konsekvent beteende av de som ska använda

metodenOm vi bara folk kunde vara konsekventa (och vara snälla, motionera mera, röka mindre…) så skulle det inte vara ett problem

• Förutsätt att folk ska ändra beteende ifall någon vill detIngen byter personlighet pga metod

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #18Uppsala universitet @ 2005

4. eXtreme Programming (XP)Förändringarna har förändrats• Verksamhet förändras hela tiden, alltså bör även

systemen göra detEtt nytt sätt att utveckla system• Kontinuerliga förändringar!• Testdriven process• 2 x personer = 1 dator• Inga dokument sparas• Gemensamma ståmöten• Långsiktig planering är osäker, alltså låter man bli sånt

Page 7: Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att nå användbarhet så måste man kunna korrigera fel Lösningen är att inte låsa

7

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #19Uppsala universitet @ 2005

XP, del 2Gör upp med gamla ”sanningar”• Att tänka efter ger bättre kvalité än att göra nu

Fel: kvalité har med riktig användning att göra, inte planerad användning. T.ex. snabbast ta första tunnelbaneuppgången än den rätta

• Att göra rätt sak från början är billigare än att rätta i efterhand

Fel: troligtvis behövs saken inte alls, om den sedan behövs gör man det då.

• Dokumentation är viktig att sparaFel: den är så dålig att den inte är värd något

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #20Uppsala universitet @ 2005

XP, del 3• Planera noga för viktiga saker

Fel: om framtiden är oklar, och du kan fixa saker i efterhand, varför införa något som man misstänker kan vara bra?

• Välj bästa lösningenFel: välj enklaste lösningen, för den är ändå bra nog (och enklare att ändra)

• Se framåtFel: gör endast vad du vet, inget mer

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #21Uppsala universitet @ 2005

XP, del 4• Koda, testa sedan att det blev rätt

Fel: gör test först, koda sedan • Många rader kod/dag, och många funna fel i ett

test är braFel: få rader går snabbare att skriva, noll antal fel vore bättre

Page 8: Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att nå användbarhet så måste man kunna korrigera fel Lösningen är att inte låsa

8

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #22Uppsala universitet @ 2005

5. DesignkriteriaJobba mot förbestämda mål• Överenskomna• Gemensamma• Styrande

Målen riskerar bli förtäckta krav(Exempel kommer i del 2)

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #23Uppsala universitet @ 2005

6. RationaleAtt arbeta enligt Design Rationale kan hjälpa utvecklingsgruppen att ompröva alla lösningarMotiverar lösningar även för andra, externa personerGer bättre kvalité på varje del-lösning, men hjälper det i det stora hela?

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #24Uppsala universitet @ 2005

7. VerktygGenom att noggrant välja verktyg kan man uppnå många positiva effekter• Inga låsningar• Visionära

Nästan samma vinst som via prototyperPapperslappar, skisser, …

Page 9: Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att nå användbarhet så måste man kunna korrigera fel Lösningen är att inte låsa

9

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #25Uppsala universitet @ 2005

Verktyg, hur bäst förstöraVerktyg för kommunikation• Börja med 2 personer vid svarta tavlan• Ta bort närhet mellan personer (video)• Ta bort alla förklarande gester (telefon)• Se till att intonation inte kan användas till att förmedla vad

som är viktigt (epost)• Se till att man inte kan ställa frågor (dokument)

Detta är vad de flesta metoder rekommenderar…

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #26Uppsala universitet @ 2005

Verktyg, välj rätt

Kommunikation

Verktyg

Svarta tavlan

Epost

Formell notation

Dokument

Strukturerat dokument

Telefon

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #27Uppsala universitet @ 2005

Verktyg, välj rätt byggnad"Make sure there are whiteboards and coffee corners all over the building.” (IBM)

Page 10: Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att nå användbarhet så måste man kunna korrigera fel Lösningen är att inte låsa

10

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #28Uppsala universitet @ 2005

5 vanligaste verktygenFör hand (ovanligt)Färdigt bibliotek (toolkit)Färdigt gränssnittsverktyg (builder)Modell-baserade gränssnitt (kommer starkt)

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #29Uppsala universitet @ 2005

HandgjortLigger direkt ovanpå hårdvaraHögsta möjliga kontrollHögsta möjliga prestandaSvår och arbetskrävande utveckling, oflexibelt, hög kunskapströskelGer ganska ofta låg kvalité• Tänk ’videobandspelare’

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #30Uppsala universitet @ 2005

BibliotekHög tröskel; man måste kunna alla delar i biblioteketKräver mycket kod/arbeteUtmärkta prestandaBra kontroll

Page 11: Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att nå användbarhet så måste man kunna korrigera fel Lösningen är att inte låsa

11

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #31Uppsala universitet @ 2005

Hello, exempel i Java

import javax.swing.*;

class HelloWorldSwing {

public static void main(String args[]) {

JFrame mainWin = new JFrame("MainWindow");

JButton button = new JButton("Hello World");

mainWin.getContentPane().add(button);

mainWin.pack();

mainWin.show();

}

}

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #32Uppsala universitet @ 2005

Bibliotek, byggklossar

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #33Uppsala universitet @ 2005

Builder/RADVanligaste lösningen idag• Visual Basic, Visual C++, Forte, etc

Kräver fortfarande att man kan hela biblioteketFlexibel utveckling, stor frihetBilligt Hjälpsystem, underhåll, distribution, felhantering, …Ger initialt en snabb utveckling (falsk känsla dock)

Page 12: Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att nå användbarhet så måste man kunna korrigera fel Lösningen är att inte låsa

12

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #34Uppsala universitet @ 2005

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #35Uppsala universitet @ 2005

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #36Uppsala universitet @ 2005

Modellbaserat gränssnittrubrik:

textfält(ej inmatning),bakgrund=vit.

varningsrubrik:rubrik,bakgrund=röd.

Page 13: Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att nå användbarhet så måste man kunna korrigera fel Lösningen är att inte låsa

13

Design och konstruktion av användargränssnitt - distanskurs

Informationsteknologi | 2005-05-28 | #37Uppsala universitet @ 2005

Modellbaserat gränssnittBokabiljett:

rubrik(”Boka biljett”),dag,namn(”Ditt namn”),knapp(”Skicka beställning”).

dag:rubrik(”När vill du resa),datum.

Page 14: Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att nå användbarhet så måste man kunna korrigera fel Lösningen är att inte låsa

1

Medicinsk informatik - Telemedicin

Informationsteknologi | 2005-05-28 | #1Uppsala universitet @ 2005

Exempel: Medicus

Medicinsk informatik - Telemedicin

Informationsteknologi | 2005-05-28 | #2Uppsala universitet @ 2005

MedicusDeutsche Telekom beställare.Ville skapa produkter som använder ISDN, för att kunna sälja som mervärden till den tjänsten.Specifikation:• Telekonferens.• Utbyte av bilder.

Medicinsk informatik - Telemedicin

Informationsteknologi | 2005-05-28 | #3Uppsala universitet @ 2005

Tidiga kravBeställaren om systemet:• Ska nyttja ISDN• Konferens• ”Säljande”

Medicinsk personal:• Vara som förr, fast bättre• Katastofhjälp• Se motpart

Bild + ljud

• Dela ”pekare”

Page 15: Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att nå användbarhet så måste man kunna korrigera fel Lösningen är att inte låsa

2

Medicinsk informatik - Telemedicin

Informationsteknologi | 2005-05-28 | #4Uppsala universitet @ 2005

Medicinsk informatik - Telemedicin

Informationsteknologi | 2005-05-28 | #5Uppsala universitet @ 2005

Medicinsk informatik - Telemedicin

Informationsteknologi | 2005-05-28 | #6Uppsala universitet @ 2005

Medicus, design

Bag Panel Folder Panel

Work Area

Session Panel

Status Panel Quit Panel

Task Panel

Page 16: Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att nå användbarhet så måste man kunna korrigera fel Lösningen är att inte låsa

3

Medicinsk informatik - Telemedicin

Informationsteknologi | 2005-05-28 | #7Uppsala universitet @ 2005

Medicus, look&feel

Medicinsk informatik - Telemedicin

Informationsteknologi | 2005-05-28 | #8Uppsala universitet @ 2005

Medicinsk informatik - Telemedicin

Informationsteknologi | 2005-05-28 | #9Uppsala universitet @ 2005

Senare kravJättestor bildStor bildFunktionalitetAnvändbarPrisvärd

Page 17: Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att nå användbarhet så måste man kunna korrigera fel Lösningen är att inte låsa

4

Medicinsk informatik - Telemedicin

Informationsteknologi | 2005-05-28 | #10Uppsala universitet @ 2005

Medicinsk informatik - Telemedicin

Informationsteknologi | 2005-05-28 | #11Uppsala universitet @ 2005

Användning

Krankenhaus Salem Onkologische DiagnostikDeutsches Krebsforschungszentrum

Medicinsk informatik - Telemedicin

Informationsteknologi | 2005-05-28 | #12Uppsala universitet @ 2005

Start av applikation

0

20

40

60

80

100

120

01:00

03:00

05:00

07:00

09:00

11:00

13:00

15:00

17:00

19:00

21:00

23:00

Page 18: Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att nå användbarhet så måste man kunna korrigera fel Lösningen är att inte låsa

5

Medicinsk informatik - Telemedicin

Informationsteknologi | 2005-05-28 | #13Uppsala universitet @ 2005

Konferenslängd

0

50

100

150

200

250

<1min

1-2min

2-3mins

3-4min

4-5min

5-10min

10-15min

15-20min

20-25min

> 25min

Medicinsk informatik - Telemedicin

Informationsteknologi | 2005-05-28 | #14Uppsala universitet @ 2005

Start av konferens

0100200300400500600700800900

1 000

01:00 04:00 07:00 10:00 13:00 16:00 19:00 22:00

Medicinsk informatik - Telemedicin

Informationsteknologi | 2005-05-28 | #15Uppsala universitet @ 2005

Nya idéer

Page 19: Ett utvecklar- perspektiv · Mjukvara är just mjuk; det bör gå att göra förändringar För att nå användbarhet så måste man kunna korrigera fel Lösningen är att inte låsa

6

Medicinsk informatik - Telemedicin

Informationsteknologi | 2005-05-28 | #16Uppsala universitet @ 2005

CHILI PDA, senaste