0
Corso di Interazione Uomo Macchina
AA 2013-2014
Roberto Polillo
Corso di laurea in Informatica
Università di Milano Bicocc...
Queste slides…
… si basano sul libro “Facile da usare”, dell’autore, dove si trovano
tutte le necessarie spiegazioni. Vedi...
Scopo di questa lezione
3
Discutere la nozione di errore umano, e presentare
alcune linee guida per il trattamento degli e...
Errore
R.Polillo - Marzo 2014
4
Il concetto di errore umano è più complesso di quanto
non sembri a prima vista: infatti no...
Classificare l’errore umano
5
AZIONE NON
INTENZIONALE
(“SLIP” o “LAPSUS”)
NO
AZIONE
INTENZIONALE
MA ERRATA
(“MISTAKE”)
NO
...
Slip (o lapsus)
R.Polillo - Marzo 2014
6
Letteralmente: “scivolata”
Sostituzione involontaria di una lettera, suono,
parol...
Error handling
Error diagnosis
Error recovery
Progettare per l’errore: temi
R.Polillo - Marzo 2014
7
Error prevention
Erro...
Prevenzione
8
 Degli slip: di solito è abbastanza facile
Esempio: “giusta” distanza fra i pulsanti, allontanando
pulsanti...
Prevenzione degli slip: esempio
R.Polillo - Marzo 2014
9
Prevenzione dell’errore: alcune indicazioni
R.Polillo - Marzo 2014
10
 Diversificare le azioni dell’utente
 Evitare comp...
Comportamenti modali
11
Quando il sistema si comporta diversamente a seconda
dello stato (o modalità) in cui si trova, e q...
Comportamento modale: esempio
R.Polillo - Marzo 2014
12
Quando eseguo copy o cut, l’oggetto copiato o tagliato
viene inser...
Comportamento modale: esempio (PowerPoint)
21
3
quale figura sto
per disegnare?
Quando ho selezionato una
figura in (1) Po...
La forma del cursore
indica che sono in
modalità “matita”
MacPaint, 1984
14 R.Polillo - Marzo 2014
MacPaint, 1984
15 R.Polillo - Marzo 2014
Il cursore indica che sono in
modalità “cammina”
Wrath of the Gods (Luminaria, 1994)
16
R.Polillo - Marzo 2014
Funzioni obbliganti
17
Situazioni in cui le azioni sono vincolate in modo tale che
la mancata esecuzione di un passaggio i...
Funzioni obbliganti: esercizio
18
In un sistema desktop quale delle seguenti due soluzioni è
preferibile?
1. Selezione azi...
Funzioni obbliganti: esercizio 1
19
In un sistema desktop quale delle seguenti due soluzioni è
preferibile?
1. Selezione a...
Finder Macintosh, 1974
20 R.Polillo - Marzo 2014
Input vincolati
R.Polillo - Marzo 2014
21
 Permettere all’utente di effettuare solo azioni
lecite nel contesto corrente
...
Input vincolati: esercizio
22
1)
2)
3)
4)
Quale fra le seguenti soluzioni è la migliore per
prevenire errori di input?
R.P...
Per informazioni sulle nuove offerte, premi 1; per informazioni
sulle tariffe e bla bla bla, premi 2; se sei interessato a...
Richiedere conferme
R.Polillo - Marzo 2014
24
Chiedere sempre conferma prima di effettuare
azioni irreversibili o pericolo...
Richieste di conferma: esempi da discutere
R.Polillo - Marzo 2014
25
Richieste di conferma: esempi da discutere
R.Polillo - Marzo 2014
26
Da www.bravenet.com
Da: Microsoft Access 95
27
Menu
xxx
yyy
zzz
R.Polillo - Marzo 2014
Richieste di conferma: esempi da discutere
Back
XXX
mvcbc
bvbnv
Sei sicuro di
v...
Usare default inoffensivi: esempio
R.Polillo - Marzo 2014
28
(da Photoshop)
Error handling
Error diagnosis
Error recovery
Progettare per l’errore: temi
R.Polillo - Marzo 2014
29
Error prevention
Err...
Un buon messaggio di errore deve…
30
1. Allertare
“attenzione: qualcosa non va”
2. Identificare l’errore
“è questo che non...
Note alert box
(Livello 1)
Caution alert box
(Livello 2)
Stop alert box
(Livello 3)
Livelli di allerta
R.Polillo - Marzo 2...
Messaggi di errore: linee guida
32
 Spiegare esplicitamente che cosa non va…
 e dare indicazioni costruttive su come ris...
Esempi da discutere
R.Polillo - Marzo 2014
33
R.Polillo - Marzo 2014
34
Esempi da discutere
R.Polillo - Marzo 2014
35
Esempi da discutere
Linee guida per il web
36
 i messaggi di errore siano chiaramente visibili e
espressi in un linguaggio chiaro, comprensib...
37 R.Polillo - Marzo 2014
38 R.Polillo - Marzo 2014
39 R.Polillo - Marzo 2014
40 R.Polillo - Marzo 2014
R.Polillo - Marzo 2014
R.Polillo - Marzo 2014
HTTP 404 - File not found
R.Polillo - Marzo 2014
43
44 R.Polillo - Marzo 2014
Esempio dal sito di
Jakob Nielsen
45 R.Polillo - Marzo 2014
Error handling
Error diagnosis
Error recovery
Progettare per l’errore: temi
R.Polillo - Marzo 2014
46
Error prevention
Err...
AZIONE CORRETTA
Stato iniziale Stato finale
Stato di errore
FORWARD
RECOVERY
BACKWARD
RECOVERY
Error recovery (ripristino)...
Tolleranza verso gli errori
48
“Un dialogo è
tollerante verso
l’errore quando,
a dispetto di evidenti
errori nell’input,
i...
Esempio
49
R.Polillo - Marzo 2014
R.Polillo - Marzo 2014
Esempio di backward recovery: undo
51
PowerPoint 2007 Photoshop CS3
R.Polillo - Marzo 2014
AZIONE CORRETTA
Stato iniziale Stato finale
Stato di errore
Stato finale
approssimato
Stato iniziale
approssimato
FORWARD
...
Conclusioni
53
“Il progettista non deve concepire una semplice
dicotomia fra errori e comporta-mento corretto: al
contrari...
Upcoming SlideShare
Loading in...5
×

Progettare per l'errore

632

Published on

Slides del corso di Interazione Uomo Macchina per il corso di laurea in Informatica - Università di Milano Bicocca (prof.R.Polillo)

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
632
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
42
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Progettare per l'errore"

  1. 1. Corso di Interazione Uomo Macchina AA 2013-2014 Roberto Polillo Corso di laurea in Informatica Università di Milano Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione PROGETTARE PER L'ERRORE1 R.Polillo - Marzo 2014
  2. 2. 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
  3. 3. Scopo di questa lezione 3 Discutere la nozione di errore umano, e presentare alcune linee guida per il trattamento degli errori nell’interazione uomo-macchina R.Polillo - Marzo 2014
  4. 4. 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
  5. 5. 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 2014
  6. 6. 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
  7. 7. Error handling Error diagnosis Error recovery Progettare per l’errore: temi R.Polillo - Marzo 2014 7 Error prevention Error detection Error explanation
  8. 8. Prevenzione 8  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
  9. 9. Prevenzione degli slip: esempio R.Polillo - Marzo 2014 9
  10. 10. 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
  11. 11. Comportamenti modali 11 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
  12. 12. 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
  13. 13. Comportamento modale: esempio (PowerPoint) 21 3 quale 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
  14. 14. La forma del cursore indica che sono in modalità “matita” MacPaint, 1984 14 R.Polillo - Marzo 2014
  15. 15. MacPaint, 1984 15 R.Polillo - Marzo 2014
  16. 16. Il cursore indica che sono in modalità “cammina” Wrath of the Gods (Luminaria, 1994) 16 R.Polillo - Marzo 2014
  17. 17. 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
  18. 18. Funzioni obbliganti: esercizio 18 In un sistema desktop quale delle seguenti due soluzioni è preferibile? 1. Selezione azione selezione oggetto 2. Selezione oggetto selezione azione R.Polillo - Marzo 2014
  19. 19. Funzioni obbliganti: esercizio 1 19 In un sistema desktop quale delle seguenti due soluzioni è preferibile? 1. Selezione azione selezione oggetto 2. Selezione oggetto selezione azione R.Polillo - Marzo 2014
  20. 20. Finder Macintosh, 1974 20 R.Polillo - Marzo 2014
  21. 21. Input vincolati R.Polillo - Marzo 2014 21  Permettere all’utente di effettuare solo azioni lecite nel contesto corrente  (Generalizza la nozione di funzione obbligante)
  22. 22. Input vincolati: esercizio 22 1) 2) 3) 4) Quale fra le seguenti soluzioni è la migliore per prevenire errori di input? R.Polillo - Marzo 2014
  23. 23. 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
  24. 24. Richiedere conferme R.Polillo - Marzo 2014 24 Chiedere sempre conferma prima di effettuare azioni irreversibili o pericolose… …spiegando con chiarezza quali sono le alternative possibili, e le loro conseguenze
  25. 25. Richieste di conferma: esempi da discutere R.Polillo - Marzo 2014 25
  26. 26. Richieste di conferma: esempi da discutere R.Polillo - Marzo 2014 26 Da www.bravenet.com Da: Microsoft Access 95
  27. 27. 27 Menu xxx yyy zzz R.Polillo - Marzo 2014 Richieste di conferma: esempi da discutere Back XXX mvcbc bvbnv Sei sicuro di voler tornare? sì no Back XXX mvcbc bvbnv
  28. 28. Usare default inoffensivi: esempio R.Polillo - Marzo 2014 28 (da Photoshop)
  29. 29. Error handling Error diagnosis Error recovery Progettare per l’errore: temi R.Polillo - Marzo 2014 29 Error prevention Error detection Error explanation
  30. 30. 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
  31. 31. Note alert box (Livello 1) Caution alert box (Livello 2) Stop alert box (Livello 3) Livelli di allerta R.Polillo - Marzo 2014 31
  32. 32. Messaggi di errore: linee guida 32  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
  33. 33. Esempi da discutere R.Polillo - Marzo 2014 33
  34. 34. R.Polillo - Marzo 2014 34 Esempi da discutere
  35. 35. R.Polillo - Marzo 2014 35 Esempi da discutere
  36. 36. Linee guida per il web 36  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
  37. 37. 37 R.Polillo - Marzo 2014
  38. 38. 38 R.Polillo - Marzo 2014
  39. 39. 39 R.Polillo - Marzo 2014
  40. 40. 40 R.Polillo - Marzo 2014
  41. 41. R.Polillo - Marzo 2014
  42. 42. R.Polillo - Marzo 2014
  43. 43. HTTP 404 - File not found R.Polillo - Marzo 2014 43
  44. 44. 44 R.Polillo - Marzo 2014
  45. 45. Esempio dal sito di Jakob Nielsen 45 R.Polillo - Marzo 2014
  46. 46. Error handling Error diagnosis Error recovery Progettare per l’errore: temi R.Polillo - Marzo 2014 46 Error prevention Error detection Error explanation
  47. 47. AZIONE CORRETTA Stato iniziale Stato finale Stato di errore FORWARD RECOVERY BACKWARD RECOVERY Error recovery (ripristino) 47 Error tolerance R.Polillo - Marzo 2014
  48. 48. Tolleranza verso gli errori 48 “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
  49. 49. Esempio 49 R.Polillo - Marzo 2014
  50. 50. R.Polillo - Marzo 2014
  51. 51. Esempio di backward recovery: undo 51 PowerPoint 2007 Photoshop CS3 R.Polillo - Marzo 2014
  52. 52. AZIONE CORRETTA Stato iniziale Stato finale Stato di errore Stato finale approssimato Stato iniziale approssimato FORWARD RECOVERY BACKWARD RECOVERY Recovery imperfetta 52 R.Polillo - Marzo 2014 da Francis Jambon, 1998
  53. 53. Conclusioni 53 “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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×