SlideShare une entreprise Scribd logo
1  sur  47
Corso di Interazione Uomo Macchina
AA 2012-2013
Roberto Polillo
Corso di laurea in Informatica
Università di Milano Bicocca
Dipartimento di Informatica, Sistemistica e Comunicazione
PROGETTARE PER L'ERRORE1
R.Polillo - Marzo 2013
Errore
R.Polillo - Marzo 2013
4
Il concetto di errore umano è più complesso di quanto
non sembri a prima vista: infatti non esiste una
dicotomia semplice fra “errore” e comportamento
“corretto”
“Errore” sarà inteso come termine generico per comprendere tutti
quei casi in cui una sequenza pianificata di attività fisiche o mentali
fallisce il suo scopo, e quando questo fallimento non possa essere
attribuito all’intervento di qualche agente casuale
James Reason, Human Error
Classificare l’errore umano
5
AZIONE NON
INTENZIONALE
(“SLIP” o “LAPSUS”)
NO
AZIONE
INTENZIONALE
MA ERRATA
(“MISTAKE”)
NO
c’era
l’intenzione
di agire?
l’azione è
proceduta come
pianificato?
SI
l’azione
ha ottenuto lo scopo
desiderato?
SI
AZIONE CORRETTA
SI
c’era intenzione
nell’azione?
NO
AZIONE
NON INTENZIONALE
Es Urto il tavolo e rovescio un
bicchiere
NO
AZIONE
SPONTANEA
Es Mi lanciano una palla di
neve e mi proteggo
SI
Da: J.Reason, Human Error, 1990
R.Polillo - Marzo 2013
Slip (o lapsus)
R.Polillo - Marzo 2013
6
Letteralmente: “scivolata”
Sostituzione involontaria di una lettera, suono,
parola al posto di un’altra e, generalizzando,
sostituzione di azioni o comportamenti al posto di
altre
Esempi:
 lapsus linguae
 lapsus calami
Error handling
Error diagnosis
Error recovery
Progettare per l’errore: temi
R.Polillo - Marzo 2013
7
Error prevention
Error detection
Error explanation
Prevenzione
9
 Degli slip: di solito è abbastanza facile
Esempio: “giusta” distanza fra i pulsanti, allontanando
pulsanti di uso frequente da pulsanti “pericolosi”
 Dei mistake: più difficile
Esempio: formazione degli utenti, riprogettazione del sistema
R.Polillo - Marzo 2013
Prevenzione degli slip: esempio
R.Polillo - Marzo 2013
10
Prevenzione dell’errore: alcune indicazioni
R.Polillo - Marzo 2013
11
 Diversificare le azioni dell’utente
 Evitare comportamenti “modali”
 Usare “funzioni obbliganti”
 Imporre input vincolati
 Non sovraccaricare la memoria a breve termine dell’utente
 Richiedere conferme
 Usare default inoffensivi
 Fornire alternative sicure
Comportamenti modali
12
Quando il sistema si comporta diversamente a seconda
dello stato (o modalità) in cui si trova, e questo stato non è
facilmente riconoscibile dall’utente
Se l’utente non conosce lo stato, non può prevedere
come il sistema risponderà alle sue azioni
R.Polillo - Marzo 2013
La forma del cursore
indica che sono in
modalità “matita”
MacPaint, 1984
15 R.Polillo - Marzo 2013
MacPaint, 1984
16 R.Polillo - Marzo 2013
Il cursore indica che sono in
modalità “cammina”
Wrath of the Gods (Luminaria, 1994)
17
R.Polillo - Marzo 2013
Funzioni obbliganti
18
Situazioni in cui le azioni sono vincolate in modo tale che
la mancata esecuzione di un passaggio impedisca il
successivo (D.Norman)
Spesso ci danno noia, ma ci proteggono…
Esempio:
L’auto emette un segnale d’allarme quando si apre la porta
con la chiave inserita nel cruscotto…
… in tal modo è impossibile chiudersi fuori per errore
R.Polillo - Marzo 2013
Funzioni obbliganti: esercizio
19
In un sistema desktop quale delle seguenti due soluzioni è
preferibile?
1. Selezione azione selezione oggetto
2. Selezione oggetto selezione azione
R.Polillo - Marzo 2013
Finder Macintosh, 1974
21 R.Polillo - Marzo 2013
Input vincolati
R.Polillo - Marzo 2013
22
 Permettere all’utente di effettuare solo azioni
lecite nel contesto corrente
 (Generalizza la nozione di funzione obbligante)
Input vincolati: esercizio
23
1)
2)
3)
4)
Quale fra le seguenti soluzioni è la migliore per
prevenire errori di input?
R.Polillo - Marzo 2013
Per informazioni sulle nuove offerte, premi 1; per informazioni
sulle tariffe e bla bla bla, premi 2; se sei interessato a
conoscere i nuovi servizi e bla bla, premi 3; se desideri
comunicare furto o smarrimento del tuo telefonino o bla bla bla
per assitenza specialistica, premi 4; se desideri ricevere
informazioni sul credito bla bla premi 5; se desideri parlare con
un operatore premi 0
Ricordare sempre il
numero magico 7
Non sovraccaricare la memoria a breve termine
R.Polillo - Marzo 2013
24
Richiedere conferme
R.Polillo - Marzo 2013
25
Chiedere sempre conferma prima di effettuare
azioni irreversibili o pericolose…
…spiegando con chiarezza quali sono le alternative
possibili, e le loro conseguenze
Richieste di conferma: esempi da discutere
R.Polillo - Marzo 2013
26
Richieste di conferma: esempi da discutere
R.Polillo - Marzo 2013
27
Da www.bravenet.com
Da: Microsoft Access 95
28
Menu
xxx
yyy
zzz
R.Polillo - Marzo 2013
Richieste di conferma: esempi da discutere
Back
XXX
mvcbc
bvbnv
Sei sicuro di
voler tornare?
sì no
Back
XXX
mvcbc
bvbnv
Usare default inoffensivi: esempio
R.Polillo - Marzo 2013
29
(da Photoshop)
Error handling
Error diagnosis
Error recovery
Progettare per l’errore: temi
R.Polillo - Marzo 2013
30
Error prevention
Error detection
Error explanation
Un buon messaggio di errore deve…
31
1. Allertare
“attenzione: qualcosa non va”
2. Identificare l’errore
“è questo che non va”
3. Dirigere l’utente
“ora devi fare questo”
R.Polillo - Marzo 2013
Messaggi di errore: linee guida
33
 Spiegare esplicitamente che cosa non va…
 e dare indicazioni costruttive su come risolvere il
problema ...
 nel linguaggio dell’utente …
 in modo educato, esauriente e preciso
R.Polillo - Marzo 2013
Esempi da discutere
R.Polillo - Marzo 2013
34
R.Polillo - Marzo 2013
35
Esempi da discutere
R.Polillo - Marzo 2013
36
Esempi da discutere
Linee guida per il web
37
 i messaggi di errore siano chiaramente visibili e
espressi in un linguaggio chiaro, comprensibile a
tutti
 si cerchi di preservare per quanto è possibile il
lavoro già fatto dall’utente
 si cerchi di ridurre al massimo il lavoro necessario
per correggere l’errore
R.Polillo - Marzo 2013
38 R.Polillo - Marzo 2013
39 R.Polillo - Marzo 2013
40 R.Polillo - Marzo 2013
41 R.Polillo - Marzo 2013
R.Polillo - Marzo 2013
R.Polillo - Marzo 2013
HTTP 404 - File not found
R.Polillo - Marzo 2013
44
45 R.Polillo - Marzo 2013
Esempio dal sito di
Jakob Nielsen
46 R.Polillo - Marzo 2013
Error handling
Error diagnosis
Error recovery
Progettare per l’errore: temi
R.Polillo - Marzo 2013
47
Error prevention
Error detection
Error explanation
AZIONE CORRETTA
Stato iniziale Stato finale
Stato di errore
FORWARD
RECOVERY
BACKWARD
RECOVERY
Error recovery (ripristino)
48
Error tolerance
R.Polillo - Marzo 2013
Tolleranza verso gli errori
49
“Un dialogo è
tollerante verso
l’errore quando,
a dispetto di evidenti
errori nell’input,
i risultati desiderati
possono essere
ottenuti senza (o con
minime) azioni
correttive.”
ISO 9241 - 10
R.Polillo - Marzo 2013
Esempio
50
R.Polillo - Marzo 2013
R.Polillo - Marzo 2013
Esempio di backward recovery: undo
52
PowerPoint 2007 Photoshop CS3
R.Polillo - Marzo 2013
AZIONE CORRETTA
Stato iniziale Stato finale
Stato di errore
Stato finale
approssimato
Stato iniziale
approssimato
FORWARD
RECOVERY
BACKWARD
RECOVERY
Recovery imperfetta
53
R.Polillo - Marzo 2013
da Francis Jambon,
1998
Conclusioni
54
“Il progettista non deve concepire una semplice
dicotomia fra errori e comporta-mento corretto: al
contrario, tutta l’interazione uomo-macchina deve
essere trattata come una procedura cooperativa fra i
due, dove gli equivoci possono nascere da ambo le
parti.”
Donald Norman
R.Polillo - Marzo 2013

Contenu connexe

En vedette

Biodinamica e orticoltura, Progetto Link
Biodinamica e orticoltura, Progetto LinkBiodinamica e orticoltura, Progetto Link
Biodinamica e orticoltura, Progetto LinkMichele Mondora
 
Guido Vetere - Introduzione e critica al web semantico
Guido Vetere - Introduzione e critica al web semanticoGuido Vetere - Introduzione e critica al web semantico
Guido Vetere - Introduzione e critica al web semanticoSocial Media Lab
 
Introduzione alla terminologia
Introduzione alla terminologiaIntroduzione alla terminologia
Introduzione alla terminologiaLuigi Muzii
 
#rubicamp: i social network per aziende e professionisti
#rubicamp: i social network per aziende e professionisti#rubicamp: i social network per aziende e professionisti
#rubicamp: i social network per aziende e professionistiRubicom Partners
 
Le professioni incontrano il web_ Mario Alberto Catarozzo
Le professioni incontrano il web_ Mario Alberto CatarozzoLe professioni incontrano il web_ Mario Alberto Catarozzo
Le professioni incontrano il web_ Mario Alberto CatarozzoCatarozzo Mario Alberto
 
Climi e Ambienti Naturali
Climi e Ambienti NaturaliClimi e Ambienti Naturali
Climi e Ambienti Naturaliguest5987ed
 
Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3Michele Maffucci
 

En vedette (8)

Stoa 2
Stoa 2Stoa 2
Stoa 2
 
Biodinamica e orticoltura, Progetto Link
Biodinamica e orticoltura, Progetto LinkBiodinamica e orticoltura, Progetto Link
Biodinamica e orticoltura, Progetto Link
 
Guido Vetere - Introduzione e critica al web semantico
Guido Vetere - Introduzione e critica al web semanticoGuido Vetere - Introduzione e critica al web semantico
Guido Vetere - Introduzione e critica al web semantico
 
Introduzione alla terminologia
Introduzione alla terminologiaIntroduzione alla terminologia
Introduzione alla terminologia
 
#rubicamp: i social network per aziende e professionisti
#rubicamp: i social network per aziende e professionisti#rubicamp: i social network per aziende e professionisti
#rubicamp: i social network per aziende e professionisti
 
Le professioni incontrano il web_ Mario Alberto Catarozzo
Le professioni incontrano il web_ Mario Alberto CatarozzoLe professioni incontrano il web_ Mario Alberto Catarozzo
Le professioni incontrano il web_ Mario Alberto Catarozzo
 
Climi e Ambienti Naturali
Climi e Ambienti NaturaliClimi e Ambienti Naturali
Climi e Ambienti Naturali
 
Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3
 

Similaire à 15. Progettare per l'errore

21. Progettare per l'errore
21. Progettare per l'errore21. Progettare per l'errore
21. Progettare per l'erroreRoberto Polillo
 
9. Conoscere l'utente (I)
9. Conoscere l'utente (I)9. Conoscere l'utente (I)
9. Conoscere l'utente (I)Roberto Polillo
 
10. Progettare per l’errore
10. Progettare per l’errore 10. Progettare per l’errore
10. Progettare per l’errore Roberto Polillo
 
6. Progettare per l'utente (ii)
6. Progettare per l'utente (ii)6. Progettare per l'utente (ii)
6. Progettare per l'utente (ii)Roberto Polillo
 
5. Progettare per l'utente (i)
5. Progettare per l'utente (i)5. Progettare per l'utente (i)
5. Progettare per l'utente (i)Roberto Polillo
 
6. Progettare per l'utente (ii)
6. Progettare per l'utente (ii)6. Progettare per l'utente (ii)
6. Progettare per l'utente (ii)Roberto Polillo
 
10. Conoscere l'utente (Parte I)
10. Conoscere l'utente (Parte I)10. Conoscere l'utente (Parte I)
10. Conoscere l'utente (Parte I)Roberto Polillo
 
8. Valutare la usabilita'
8. Valutare la usabilita'8. Valutare la usabilita'
8. Valutare la usabilita'Roberto Polillo
 
16. Principi e linee guida
16. Principi e linee guida16. Principi e linee guida
16. Principi e linee guidaRoberto Polillo
 

Similaire à 15. Progettare per l'errore (11)

21. Progettare per l'errore
21. Progettare per l'errore21. Progettare per l'errore
21. Progettare per l'errore
 
9. Conoscere l'utente (I)
9. Conoscere l'utente (I)9. Conoscere l'utente (I)
9. Conoscere l'utente (I)
 
10. Progettare per l’errore
10. Progettare per l’errore 10. Progettare per l’errore
10. Progettare per l’errore
 
6. Progettare per l'utente (ii)
6. Progettare per l'utente (ii)6. Progettare per l'utente (ii)
6. Progettare per l'utente (ii)
 
5. Progettare per l'utente (i)
5. Progettare per l'utente (i)5. Progettare per l'utente (i)
5. Progettare per l'utente (i)
 
6. Progettare per l'utente (ii)
6. Progettare per l'utente (ii)6. Progettare per l'utente (ii)
6. Progettare per l'utente (ii)
 
10. Conoscere l'utente (Parte I)
10. Conoscere l'utente (Parte I)10. Conoscere l'utente (Parte I)
10. Conoscere l'utente (Parte I)
 
8. Valutare la usabilita'
8. Valutare la usabilita'8. Valutare la usabilita'
8. Valutare la usabilita'
 
3. Usabilita
3. Usabilita3. Usabilita
3. Usabilita
 
Managing debt remastered
Managing debt remasteredManaging debt remastered
Managing debt remastered
 
16. Principi e linee guida
16. Principi e linee guida16. Principi e linee guida
16. Principi e linee guida
 

Plus de Roberto Polillo

Future City, Ipotesi sulla città del futuro
Future City, Ipotesi sulla città del futuroFuture City, Ipotesi sulla città del futuro
Future City, Ipotesi sulla città del futuroRoberto Polillo
 
Teaching HCI to computing students: some considerations
Teaching HCI to computing students: some considerationsTeaching HCI to computing students: some considerations
Teaching HCI to computing students: some considerationsRoberto Polillo
 
22. Conclusioni del corso
22. Conclusioni del corso22. Conclusioni del corso
22. Conclusioni del corsoRoberto Polillo
 
ICT e sviluppo sociale: alcune riflessioni
ICT e sviluppo sociale: alcune riflessioniICT e sviluppo sociale: alcune riflessioni
ICT e sviluppo sociale: alcune riflessioniRoberto Polillo
 
Editoria e industria dei media di fronte alla rivoluzione digitale
Editoria e industria dei media di fronte alla rivoluzione digitaleEditoria e industria dei media di fronte alla rivoluzione digitale
Editoria e industria dei media di fronte alla rivoluzione digitaleRoberto Polillo
 
20. Principi e linee guida (II)
20. Principi e linee guida (II)20. Principi e linee guida (II)
20. Principi e linee guida (II)Roberto Polillo
 
20. Principi e linee guida (I)
20. Principi e linee guida (I)20. Principi e linee guida (I)
20. Principi e linee guida (I)Roberto Polillo
 
18. Paradigmi di interazione uomo macchina (III)
18. Paradigmi di interazione uomo macchina (III)18. Paradigmi di interazione uomo macchina (III)
18. Paradigmi di interazione uomo macchina (III)Roberto Polillo
 
17. Evoluzione dei paradigmi di interazione uomo macchina (I)
17. Evoluzione dei paradigmi di interazione uomo macchina (I)17. Evoluzione dei paradigmi di interazione uomo macchina (I)
17. Evoluzione dei paradigmi di interazione uomo macchina (I)Roberto Polillo
 
19. Le organnizzazioni sul web e segg
19. Le organnizzazioni sul web e segg19. Le organnizzazioni sul web e segg
19. Le organnizzazioni sul web e seggRoberto Polillo
 
18. Content sharing sites
18. Content sharing sites18. Content sharing sites
18. Content sharing sitesRoberto Polillo
 
17. Web feed e aggregatori
17. Web feed e aggregatori17. Web feed e aggregatori
17. Web feed e aggregatoriRoberto Polillo
 
15. Ancora sulla grafica
15. Ancora sulla grafica15. Ancora sulla grafica
15. Ancora sulla graficaRoberto Polillo
 
15. La forma breve e il microblogging
15. La forma  breve e il microblogging15. La forma  breve e il microblogging
15. La forma breve e il microbloggingRoberto Polillo
 

Plus de Roberto Polillo (20)

Future City, Ipotesi sulla città del futuro
Future City, Ipotesi sulla città del futuroFuture City, Ipotesi sulla città del futuro
Future City, Ipotesi sulla città del futuro
 
Teaching HCI to computing students: some considerations
Teaching HCI to computing students: some considerationsTeaching HCI to computing students: some considerations
Teaching HCI to computing students: some considerations
 
Conclusioni del corso
Conclusioni del corsoConclusioni del corso
Conclusioni del corso
 
22. Conclusioni del corso
22. Conclusioni del corso22. Conclusioni del corso
22. Conclusioni del corso
 
ICT e sviluppo sociale: alcune riflessioni
ICT e sviluppo sociale: alcune riflessioniICT e sviluppo sociale: alcune riflessioni
ICT e sviluppo sociale: alcune riflessioni
 
Editoria e industria dei media di fronte alla rivoluzione digitale
Editoria e industria dei media di fronte alla rivoluzione digitaleEditoria e industria dei media di fronte alla rivoluzione digitale
Editoria e industria dei media di fronte alla rivoluzione digitale
 
20. Principi e linee guida (II)
20. Principi e linee guida (II)20. Principi e linee guida (II)
20. Principi e linee guida (II)
 
20. Principi e linee guida (I)
20. Principi e linee guida (I)20. Principi e linee guida (I)
20. Principi e linee guida (I)
 
18. Paradigmi di interazione uomo macchina (III)
18. Paradigmi di interazione uomo macchina (III)18. Paradigmi di interazione uomo macchina (III)
18. Paradigmi di interazione uomo macchina (III)
 
Wikipedia
WikipediaWikipedia
Wikipedia
 
Open internet
Open internetOpen internet
Open internet
 
17. Evoluzione dei paradigmi di interazione uomo macchina (I)
17. Evoluzione dei paradigmi di interazione uomo macchina (I)17. Evoluzione dei paradigmi di interazione uomo macchina (I)
17. Evoluzione dei paradigmi di interazione uomo macchina (I)
 
20. Social networks
20. Social networks20. Social networks
20. Social networks
 
19. Le organnizzazioni sul web e segg
19. Le organnizzazioni sul web e segg19. Le organnizzazioni sul web e segg
19. Le organnizzazioni sul web e segg
 
18. Content sharing sites
18. Content sharing sites18. Content sharing sites
18. Content sharing sites
 
17. Web feed e aggregatori
17. Web feed e aggregatori17. Web feed e aggregatori
17. Web feed e aggregatori
 
15. Ancora sulla grafica
15. Ancora sulla grafica15. Ancora sulla grafica
15. Ancora sulla grafica
 
16. Social media
16. Social media16. Social media
16. Social media
 
14. Progettare il testo
14. Progettare il testo14. Progettare il testo
14. Progettare il testo
 
15. La forma breve e il microblogging
15. La forma  breve e il microblogging15. La forma  breve e il microblogging
15. La forma breve e il microblogging
 

15. Progettare per l'errore

  • 1. Corso di Interazione Uomo Macchina AA 2012-2013 Roberto Polillo Corso di laurea in Informatica Università di Milano Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione PROGETTARE PER L'ERRORE1 R.Polillo - Marzo 2013
  • 2. Errore R.Polillo - Marzo 2013 4 Il concetto di errore umano è più complesso di quanto non sembri a prima vista: infatti non esiste una dicotomia semplice fra “errore” e comportamento “corretto” “Errore” sarà inteso come termine generico per comprendere tutti quei casi in cui una sequenza pianificata di attività fisiche o mentali fallisce il suo scopo, e quando questo fallimento non possa essere attribuito all’intervento di qualche agente casuale James Reason, Human Error
  • 3. Classificare l’errore umano 5 AZIONE NON INTENZIONALE (“SLIP” o “LAPSUS”) NO AZIONE INTENZIONALE MA ERRATA (“MISTAKE”) NO c’era l’intenzione di agire? l’azione è proceduta come pianificato? SI l’azione ha ottenuto lo scopo desiderato? SI AZIONE CORRETTA SI c’era intenzione nell’azione? NO AZIONE NON INTENZIONALE Es Urto il tavolo e rovescio un bicchiere NO AZIONE SPONTANEA Es Mi lanciano una palla di neve e mi proteggo SI Da: J.Reason, Human Error, 1990 R.Polillo - Marzo 2013
  • 4. Slip (o lapsus) R.Polillo - Marzo 2013 6 Letteralmente: “scivolata” Sostituzione involontaria di una lettera, suono, parola al posto di un’altra e, generalizzando, sostituzione di azioni o comportamenti al posto di altre Esempi:  lapsus linguae  lapsus calami
  • 5. Error handling Error diagnosis Error recovery Progettare per l’errore: temi R.Polillo - Marzo 2013 7 Error prevention Error detection Error explanation
  • 6. Prevenzione 9  Degli slip: di solito è abbastanza facile Esempio: “giusta” distanza fra i pulsanti, allontanando pulsanti di uso frequente da pulsanti “pericolosi”  Dei mistake: più difficile Esempio: formazione degli utenti, riprogettazione del sistema R.Polillo - Marzo 2013
  • 7. Prevenzione degli slip: esempio R.Polillo - Marzo 2013 10
  • 8. Prevenzione dell’errore: alcune indicazioni R.Polillo - Marzo 2013 11  Diversificare le azioni dell’utente  Evitare comportamenti “modali”  Usare “funzioni obbliganti”  Imporre input vincolati  Non sovraccaricare la memoria a breve termine dell’utente  Richiedere conferme  Usare default inoffensivi  Fornire alternative sicure
  • 9. Comportamenti modali 12 Quando il sistema si comporta diversamente a seconda dello stato (o modalità) in cui si trova, e questo stato non è facilmente riconoscibile dall’utente Se l’utente non conosce lo stato, non può prevedere come il sistema risponderà alle sue azioni R.Polillo - Marzo 2013
  • 10. La forma del cursore indica che sono in modalità “matita” MacPaint, 1984 15 R.Polillo - Marzo 2013
  • 12. Il cursore indica che sono in modalità “cammina” Wrath of the Gods (Luminaria, 1994) 17 R.Polillo - Marzo 2013
  • 13. Funzioni obbliganti 18 Situazioni in cui le azioni sono vincolate in modo tale che la mancata esecuzione di un passaggio impedisca il successivo (D.Norman) Spesso ci danno noia, ma ci proteggono… Esempio: L’auto emette un segnale d’allarme quando si apre la porta con la chiave inserita nel cruscotto… … in tal modo è impossibile chiudersi fuori per errore R.Polillo - Marzo 2013
  • 14. Funzioni obbliganti: esercizio 19 In un sistema desktop quale delle seguenti due soluzioni è preferibile? 1. Selezione azione selezione oggetto 2. Selezione oggetto selezione azione R.Polillo - Marzo 2013
  • 15. Finder Macintosh, 1974 21 R.Polillo - Marzo 2013
  • 16. Input vincolati R.Polillo - Marzo 2013 22  Permettere all’utente di effettuare solo azioni lecite nel contesto corrente  (Generalizza la nozione di funzione obbligante)
  • 17. Input vincolati: esercizio 23 1) 2) 3) 4) Quale fra le seguenti soluzioni è la migliore per prevenire errori di input? R.Polillo - Marzo 2013
  • 18. Per informazioni sulle nuove offerte, premi 1; per informazioni sulle tariffe e bla bla bla, premi 2; se sei interessato a conoscere i nuovi servizi e bla bla, premi 3; se desideri comunicare furto o smarrimento del tuo telefonino o bla bla bla per assitenza specialistica, premi 4; se desideri ricevere informazioni sul credito bla bla premi 5; se desideri parlare con un operatore premi 0 Ricordare sempre il numero magico 7 Non sovraccaricare la memoria a breve termine R.Polillo - Marzo 2013 24
  • 19. Richiedere conferme R.Polillo - Marzo 2013 25 Chiedere sempre conferma prima di effettuare azioni irreversibili o pericolose… …spiegando con chiarezza quali sono le alternative possibili, e le loro conseguenze
  • 20. Richieste di conferma: esempi da discutere R.Polillo - Marzo 2013 26
  • 21. Richieste di conferma: esempi da discutere R.Polillo - Marzo 2013 27 Da www.bravenet.com Da: Microsoft Access 95
  • 22. 28 Menu xxx yyy zzz R.Polillo - Marzo 2013 Richieste di conferma: esempi da discutere Back XXX mvcbc bvbnv Sei sicuro di voler tornare? sì no Back XXX mvcbc bvbnv
  • 23. Usare default inoffensivi: esempio R.Polillo - Marzo 2013 29 (da Photoshop)
  • 24. Error handling Error diagnosis Error recovery Progettare per l’errore: temi R.Polillo - Marzo 2013 30 Error prevention Error detection Error explanation
  • 25. Un buon messaggio di errore deve… 31 1. Allertare “attenzione: qualcosa non va” 2. Identificare l’errore “è questo che non va” 3. Dirigere l’utente “ora devi fare questo” R.Polillo - Marzo 2013
  • 26. Messaggi di errore: linee guida 33  Spiegare esplicitamente che cosa non va…  e dare indicazioni costruttive su come risolvere il problema ...  nel linguaggio dell’utente …  in modo educato, esauriente e preciso R.Polillo - Marzo 2013
  • 27. Esempi da discutere R.Polillo - Marzo 2013 34
  • 28. R.Polillo - Marzo 2013 35 Esempi da discutere
  • 29. R.Polillo - Marzo 2013 36 Esempi da discutere
  • 30. Linee guida per il web 37  i messaggi di errore siano chiaramente visibili e espressi in un linguaggio chiaro, comprensibile a tutti  si cerchi di preservare per quanto è possibile il lavoro già fatto dall’utente  si cerchi di ridurre al massimo il lavoro necessario per correggere l’errore R.Polillo - Marzo 2013
  • 31. 38 R.Polillo - Marzo 2013
  • 32. 39 R.Polillo - Marzo 2013
  • 33. 40 R.Polillo - Marzo 2013
  • 34. 41 R.Polillo - Marzo 2013
  • 37. HTTP 404 - File not found R.Polillo - Marzo 2013 44
  • 38. 45 R.Polillo - Marzo 2013
  • 39. Esempio dal sito di Jakob Nielsen 46 R.Polillo - Marzo 2013
  • 40. Error handling Error diagnosis Error recovery Progettare per l’errore: temi R.Polillo - Marzo 2013 47 Error prevention Error detection Error explanation
  • 41. AZIONE CORRETTA Stato iniziale Stato finale Stato di errore FORWARD RECOVERY BACKWARD RECOVERY Error recovery (ripristino) 48 Error tolerance R.Polillo - Marzo 2013
  • 42. Tolleranza verso gli errori 49 “Un dialogo è tollerante verso l’errore quando, a dispetto di evidenti errori nell’input, i risultati desiderati possono essere ottenuti senza (o con minime) azioni correttive.” ISO 9241 - 10 R.Polillo - Marzo 2013
  • 45. Esempio di backward recovery: undo 52 PowerPoint 2007 Photoshop CS3 R.Polillo - Marzo 2013
  • 46. AZIONE CORRETTA Stato iniziale Stato finale Stato di errore Stato finale approssimato Stato iniziale approssimato FORWARD RECOVERY BACKWARD RECOVERY Recovery imperfetta 53 R.Polillo - Marzo 2013 da Francis Jambon, 1998
  • 47. Conclusioni 54 “Il progettista non deve concepire una semplice dicotomia fra errori e comporta-mento corretto: al contrario, tutta l’interazione uomo-macchina deve essere trattata come una procedura cooperativa fra i due, dove gli equivoci possono nascere da ambo le parti.” Donald Norman R.Polillo - Marzo 2013