Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

15. Progettare per l'errore

607 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
  • Be the first to comment

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

×