15. Progettare per l'errore

556 views
497 views

Published on

Slides delle lezioni del corso di Interazione Uomo Macchina per il corso di laurea in Informatica - Università di Milano Bicocca - Prof.R.Polillo - A.A.2012-13
Lezione dell'8 maggio 2013
Vedi anche www.rpolillo.it

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
556
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
61
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

15. Progettare per l'errore

  1. 1. Corso di Interazione Uomo MacchinaAA 2012-2013Roberto PolilloCorso di laurea in InformaticaUniversità di Milano BicoccaDipartimento di Informatica, Sistemistica e ComunicazionePROGETTARE PER LERRORE1R.Polillo - Marzo 2013
  2. 2. ErroreR.Polillo - Marzo 20134Il concetto di errore umano è più complesso di quantonon sembri a prima vista: infatti non esiste unadicotomia semplice fra “errore” e comportamento“corretto”“Errore” sarà inteso come termine generico per comprendere tuttiquei casi in cui una sequenza pianificata di attività fisiche o mentalifallisce il suo scopo, e quando questo fallimento non possa essereattribuito all’intervento di qualche agente casualeJames Reason, Human Error
  3. 3. Classificare l’errore umano5AZIONE NONINTENZIONALE(“SLIP” o “LAPSUS”)NOAZIONEINTENZIONALEMA ERRATA(“MISTAKE”)NOc’eral’intenzionedi agire?l’azione èproceduta comepianificato?SIl’azioneha ottenuto lo scopodesiderato?SIAZIONE CORRETTASIc’era intenzionenell’azione?NOAZIONENON INTENZIONALEEs Urto il tavolo e rovescio unbicchiereNOAZIONESPONTANEAEs Mi lanciano una palla dineve e mi proteggoSIDa: J.Reason, Human Error, 1990R.Polillo - Marzo 2013
  4. 4. Slip (o lapsus)R.Polillo - Marzo 20136Letteralmente: “scivolata”Sostituzione involontaria di una lettera, suono,parola al posto di un’altra e, generalizzando,sostituzione di azioni o comportamenti al posto dialtreEsempi: lapsus linguae lapsus calami
  5. 5. Error handlingError diagnosisError recoveryProgettare per l’errore: temiR.Polillo - Marzo 20137Error preventionError detectionError explanation
  6. 6. Prevenzione9 Degli slip: di solito è abbastanza facileEsempio: “giusta” distanza fra i pulsanti, allontanandopulsanti di uso frequente da pulsanti “pericolosi” Dei mistake: più difficileEsempio: formazione degli utenti, riprogettazione del sistemaR.Polillo - Marzo 2013
  7. 7. Prevenzione degli slip: esempioR.Polillo - Marzo 201310
  8. 8. Prevenzione dell’errore: alcune indicazioniR.Polillo - Marzo 201311 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. 9. Comportamenti modali12Quando il sistema si comporta diversamente a secondadello stato (o modalità) in cui si trova, e questo stato non èfacilmente riconoscibile dall’utenteSe l’utente non conosce lo stato, non può prevederecome il sistema risponderà alle sue azioniR.Polillo - Marzo 2013
  10. 10. La forma del cursoreindica che sono inmodalità “matita”MacPaint, 198415 R.Polillo - Marzo 2013
  11. 11. MacPaint, 198416 R.Polillo - Marzo 2013
  12. 12. Il cursore indica che sono inmodalità “cammina”Wrath of the Gods (Luminaria, 1994)17R.Polillo - Marzo 2013
  13. 13. Funzioni obbliganti18Situazioni in cui le azioni sono vincolate in modo tale chela mancata esecuzione di un passaggio impedisca ilsuccessivo (D.Norman)Spesso ci danno noia, ma ci proteggono…Esempio:L’auto emette un segnale d’allarme quando si apre la portacon la chiave inserita nel cruscotto…… in tal modo è impossibile chiudersi fuori per erroreR.Polillo - Marzo 2013
  14. 14. Funzioni obbliganti: esercizio19In un sistema desktop quale delle seguenti due soluzioni èpreferibile?1. Selezione azione selezione oggetto2. Selezione oggetto selezione azioneR.Polillo - Marzo 2013
  15. 15. Finder Macintosh, 197421 R.Polillo - Marzo 2013
  16. 16. Input vincolatiR.Polillo - Marzo 201322 Permettere all’utente di effettuare solo azionilecite nel contesto corrente (Generalizza la nozione di funzione obbligante)
  17. 17. Input vincolati: esercizio231)2)3)4)Quale fra le seguenti soluzioni è la migliore perprevenire errori di input?R.Polillo - Marzo 2013
  18. 18. Per informazioni sulle nuove offerte, premi 1; per informazionisulle tariffe e bla bla bla, premi 2; se sei interessato aconoscere i nuovi servizi e bla bla, premi 3; se desidericomunicare furto o smarrimento del tuo telefonino o bla bla blaper assitenza specialistica, premi 4; se desideri ricevereinformazioni sul credito bla bla premi 5; se desideri parlare conun operatore premi 0Ricordare sempre ilnumero magico 7Non sovraccaricare la memoria a breve termineR.Polillo - Marzo 201324
  19. 19. Richiedere confermeR.Polillo - Marzo 201325Chiedere sempre conferma prima di effettuareazioni irreversibili o pericolose……spiegando con chiarezza quali sono le alternativepossibili, e le loro conseguenze
  20. 20. Richieste di conferma: esempi da discutereR.Polillo - Marzo 201326
  21. 21. Richieste di conferma: esempi da discutereR.Polillo - Marzo 201327Da www.bravenet.comDa: Microsoft Access 95
  22. 22. 28MenuxxxyyyzzzR.Polillo - Marzo 2013Richieste di conferma: esempi da discutereBackXXXmvcbcbvbnvSei sicuro divoler tornare?sì noBackXXXmvcbcbvbnv
  23. 23. Usare default inoffensivi: esempioR.Polillo - Marzo 201329(da Photoshop)
  24. 24. Error handlingError diagnosisError recoveryProgettare per l’errore: temiR.Polillo - Marzo 201330Error preventionError detectionError explanation
  25. 25. Un buon messaggio di errore deve…311. 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. 26. Messaggi di errore: linee guida33 Spiegare esplicitamente che cosa non va… e dare indicazioni costruttive su come risolvere ilproblema ... nel linguaggio dell’utente … in modo educato, esauriente e precisoR.Polillo - Marzo 2013
  27. 27. Esempi da discutereR.Polillo - Marzo 201334
  28. 28. R.Polillo - Marzo 201335Esempi da discutere
  29. 29. R.Polillo - Marzo 201336Esempi da discutere
  30. 30. Linee guida per il web37 i messaggi di errore siano chiaramente visibili eespressi in un linguaggio chiaro, comprensibile atutti si cerchi di preservare per quanto è possibile illavoro già fatto dall’utente si cerchi di ridurre al massimo il lavoro necessarioper correggere l’erroreR.Polillo - Marzo 2013
  31. 31. 38 R.Polillo - Marzo 2013
  32. 32. 39 R.Polillo - Marzo 2013
  33. 33. 40 R.Polillo - Marzo 2013
  34. 34. 41 R.Polillo - Marzo 2013
  35. 35. R.Polillo - Marzo 2013
  36. 36. R.Polillo - Marzo 2013
  37. 37. HTTP 404 - File not foundR.Polillo - Marzo 201344
  38. 38. 45 R.Polillo - Marzo 2013
  39. 39. Esempio dal sito diJakob Nielsen46 R.Polillo - Marzo 2013
  40. 40. Error handlingError diagnosisError recoveryProgettare per l’errore: temiR.Polillo - Marzo 201347Error preventionError detectionError explanation
  41. 41. AZIONE CORRETTAStato iniziale Stato finaleStato di erroreFORWARDRECOVERYBACKWARDRECOVERYError recovery (ripristino)48Error toleranceR.Polillo - Marzo 2013
  42. 42. Tolleranza verso gli errori49“Un dialogo ètollerante versol’errore quando,a dispetto di evidentierrori nell’input,i risultati desideratipossono essereottenuti senza (o conminime) azionicorrettive.”ISO 9241 - 10R.Polillo - Marzo 2013
  43. 43. Esempio50R.Polillo - Marzo 2013
  44. 44. R.Polillo - Marzo 2013
  45. 45. Esempio di backward recovery: undo52PowerPoint 2007 Photoshop CS3R.Polillo - Marzo 2013
  46. 46. AZIONE CORRETTAStato iniziale Stato finaleStato di erroreStato finaleapprossimatoStato inizialeapprossimatoFORWARDRECOVERYBACKWARDRECOVERYRecovery imperfetta53R.Polillo - Marzo 2013da Francis Jambon,1998
  47. 47. Conclusioni54“Il progettista non deve concepire una semplicedicotomia fra errori e comporta-mento corretto: alcontrario, tutta l’interazione uomo-macchina deveessere trattata come una procedura cooperativa fra idue, dove gli equivoci possono nascere da ambo leparti.”Donald NormanR.Polillo - Marzo 2013

×