progettare per l'errore
DESCRIPTION
Slides del corso di Interazione Uomo Macchina per il corso di laurea in Informatica - Università di Milano Bicocca (prof.R.Polillo)TRANSCRIPT
![Page 1: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/1.jpg)
Corso di Interazione Uomo MacchinaAA 2013-2014
Roberto Polillo
Corso di laurea in InformaticaUniversità di Milano BicoccaDipartimento di Informatica, Sistemistica e Comunicazione
PROGETTARE PER L'ERRORE1
R.Polillo - Marzo 2014 Edizione 2013-14
![Page 2: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/2.jpg)
Queste slides…
… si basano sul libro “Facile da usare”, dell’autore, dove si trovano tutte le necessarie spiegazioni. Vedi www.rpolillo.it
Queste slide sono disponibili con licenza Creative Commons (attribuzione, non commerciale, condividi allo stesso modo) a chiunque desiderasse utilizzarle, per esempio a scopo didattico, senza necessità di preventiva autorizzazione:
http://creativecommons.org/licenses/by-nc-sa/3.0/it/deed.it
La licenza non si estende alle immagini fotografiche e alle screen shots, i cui diritti restano in capo ai rispettivi proprietari, che sono stati indicati, ove possibile, nelle didascalie del libro. L’autore si scusa per eventuali omissioni, e resta a disposizione per correggerle.
R.Polillo - Marzo 2014
2
![Page 3: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/3.jpg)
Scopo di questa lezione3
Discutere la nozione di errore umano, e presentare alcune linee guida per il trattamento degli errori nell’interazione uomo-macchina
R.Polillo - Marzo 2014
![Page 4: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/4.jpg)
Errore
R.Polillo - Marzo 2014
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
![Page 5: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/5.jpg)
Classificare l’errore umano5
AZIONE NONINTENZIONALE(“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 CORRETTASI
c’era intenzionenell’azione?
NO
AZIONE NON INTENZIONALEEs Urto il tavolo e rovescio un bicchiere
NO
AZIONE SPONTANEAEs Mi lanciano una palla di neve e mi proteggo
SI
Da: J.Reason, Human Error, 1990
R.Polillo - Marzo 2014
![Page 6: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/6.jpg)
Slip (o lapsus)
R.Polillo - Marzo 2014
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
![Page 7: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/7.jpg)
Error handling
Error diagnosis
Error recovery
Progettare per l’errore: temi
R.Polillo - Marzo 2014
7
Error prevention
Error detection
Error explanation
![Page 8: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/8.jpg)
Prevenzione8
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 2014
![Page 9: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/9.jpg)
Prevenzione degli slip: esempio
R.Polillo - Marzo 2014
9
![Page 10: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/10.jpg)
Prevenzione dell’errore: alcune indicazioni
R.Polillo - Marzo 2014
10
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
![Page 11: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/11.jpg)
Comportamenti modali11
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 2014
![Page 12: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/12.jpg)
Comportamento modale: esempio
R.Polillo - Marzo 2014
12
Quando eseguo copy o cut, l’oggetto copiato o tagliato viene inserito nella clipboard, ma non è visibile: il sistema cambia stato ma l’utente non lo vede
NB: A volte però la clipboard può essere resa visibile
Office 2007
![Page 13: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/13.jpg)
Comportamento modale: esempio (PowerPoint)
21
3quale figura sto per disegnare?
Quando ho selezionato una figura in (1) PowerPonit è entrato in uno stato che non mi fa vedere13 R.Polillo - Marzo 2014
![Page 14: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/14.jpg)
La forma del cursore indica che sono in modalità “matita”
MacPaint, 198414 R.Polillo - Marzo 2014
![Page 15: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/15.jpg)
MacPaint, 198415 R.Polillo - Marzo 2014
![Page 16: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/16.jpg)
Il cursore indica che sono in modalità “cammina”
Wrath of the Gods (Luminaria, 1994)16
R.Polillo - Marzo 2014
![Page 17: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/17.jpg)
Funzioni obbliganti 17
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 2014
![Page 18: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/18.jpg)
Funzioni obbliganti: esercizio18
In un sistema desktop quale delle seguenti due soluzioni è preferibile?
1. Selezione azione selezione oggetto 2. Selezione oggetto selezione azione
R.Polillo - Marzo 2014
![Page 19: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/19.jpg)
Funzioni obbliganti: esercizio 119
In un sistema desktop quale delle seguenti due soluzioni è preferibile?
1. Selezione azione selezione oggetto 2. Selezione oggetto selezione azione
R.Polillo - Marzo 2014
![Page 20: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/20.jpg)
Finder Macintosh, 197420 R.Polillo - Marzo 2014
![Page 21: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/21.jpg)
R.Polillo - Marzo 2014
21
Input vincolati
Permettere all’utente di effettuare solo azioni lecite nel contesto corrente
(Generalizza la nozione di funzione obbligante)
![Page 22: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/22.jpg)
Input vincolati: esercizio22
1)
2)
3)
4)
Quale fra le seguenti soluzioni è la migliore per prevenire errori di input?
R.Polillo - Marzo 2014
![Page 23: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/23.jpg)
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 2014
23
![Page 24: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/24.jpg)
R.Polillo - Marzo 2014
24
Richiedere conferme
Chiedere sempre conferma prima di effettuare azioni irreversibili o pericolose…
…spiegando con chiarezza quali sono le alternative possibili, e le loro conseguenze
![Page 25: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/25.jpg)
25
Richieste di conferma: esempi da discutere
R.Polillo - Marzo 2014
![Page 26: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/26.jpg)
Richieste di conferma: esempi da discutere
R.Polillo - Marzo 2014
26
Da www.bravenet.com
Da: Microsoft Access 95
![Page 27: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/27.jpg)
27
Menuxxxyyyzzz
R.Polillo - Marzo 2014
Richieste di conferma: esempi da discutere
BackBack
XXXmvcbc bvbnv
Sei sicuro di voler tornare?
sìsì nonoBackBack
XXXmvcbc bvbnv
![Page 28: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/28.jpg)
Usare default inoffensivi: esempio
R.Polillo - Marzo 2014
28
(da Photoshop)
![Page 29: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/29.jpg)
Error handling
Error diagnosis
Error recovery
Progettare per l’errore: temi
R.Polillo - Marzo 2014
29
Error prevention
Error detection
Error explanation
![Page 30: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/30.jpg)
Un buon messaggio di errore deve…30
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 2014
![Page 31: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/31.jpg)
Note alert box(Livello 1)
Caution alert box(Livello 2)
Stop alert box(Livello 3)
Livelli di allerta
R.Polillo - Marzo 2014
31
![Page 32: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/32.jpg)
Messaggi di errore: linee guida32
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 2014
![Page 33: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/33.jpg)
33
Esempi da discutere
R.Polillo - Marzo 2014
![Page 34: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/34.jpg)
R.Polillo - Marzo 2014
34
Esempi da discutere
![Page 35: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/35.jpg)
R.Polillo - Marzo 2014
35
Esempi da discutere
![Page 36: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/36.jpg)
Linee guida per il web36
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 2014
![Page 37: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/37.jpg)
37 R.Polillo - Marzo 2014
![Page 38: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/38.jpg)
38 R.Polillo - Marzo 2014
![Page 39: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/39.jpg)
39 R.Polillo - Marzo 2014
![Page 40: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/40.jpg)
40 R.Polillo - Marzo 2014
![Page 41: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/41.jpg)
R.Polillo - Marzo 2014
![Page 42: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/42.jpg)
R.Polillo - Marzo 2014
![Page 43: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/43.jpg)
HTTP 404 - File not found
R.Polillo - Marzo 2014
43
![Page 44: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/44.jpg)
44 R.Polillo - Marzo 2014
![Page 45: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/45.jpg)
Esempio dal sito di Jakob Nielsen
45 R.Polillo - Marzo 2014
![Page 46: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/46.jpg)
Error handling
Error diagnosis
Error recovery
Progettare per l’errore: temi
R.Polillo - Marzo 2014
46
Error prevention
Error detection
Error explanation
![Page 47: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/47.jpg)
AZIONE CORRETTA
AZION
E ERR
ATA
Stato iniziale Stato finale
Stato di errore
FORWARD RECOVERY
BACKWARD RECOVERY
Error recovery (ripristino)47
Error tolerance
R.Polillo - Marzo 2014
![Page 48: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/48.jpg)
Tolleranza verso gli errori48
“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 2014
![Page 49: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/49.jpg)
Esempio49
R.Polillo - Marzo 2014
![Page 50: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/50.jpg)
R.Polillo - Marzo 2014
![Page 51: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/51.jpg)
Esempio di backward recovery: undo51
PowerPoint 2007 Photoshop CS3R.Polillo - Marzo 2014
![Page 52: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/52.jpg)
AZIONE CORRETTA
AZION
E ERR
ATA
Stato iniziale Stato finale
Stato di errore
Stato finaleapprossimato
Stato inizialeapprossimato
FORWARD RECOVERY
BACKWARD RECOVERY
Recovery imperfetta52
R.Polillo - Marzo 2014
da Francis Jambon, 1998
![Page 53: Progettare per l'errore](https://reader033.vdocumenti.com/reader033/viewer/2022061204/546efb48af7959aa568b4a95/html5/thumbnails/53.jpg)
Conclusioni53
“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 2014