Norman Chapter 5 Error Messages and Other Feedback
Norman Chapter 5 Error Messages and Other Feedback Jeff Offutt, updated by Paul Ammann http: //www. cs. gmu. edu/~pammann/ SWE 205 Software Usability and Design
Human Error • Inspector General/Airforce interaction – AF: It was pilot error – the pilot failed to take corrective action – IG: That’s because the pilot was probably unconscious – AF: So you agree, the pilot failed to solve the problem • Why does it matter from an engineering perspective if “human error” is the diagnosis? – What was the human asked to do? – What happens next time? • It’s really important to understand what 17 -Sep-21 © Offutt 2
Root Cause Analysis • Why did something (bad) happen? – Often a difficult question to answer – Asking the “why” questions recursively • The swiss cheese model – Accidents usually have many factors • Hazard analysis – Hazards can (often) be identified and controlled – Accidents are inherently unpredictable 17 -Sep-21 © Offutt 3
Two Kinds of Errors • Norman distinguishes: – Slip: Intends one thing, but does something else • Forgot to turn off the stove • Closed a window with a keyboard shortcut while intending to type text (and discarded work) – Mistake: Wrong goal or plan • Used the dishwasher to cook dinner • Closed the wrong window (and discarded work) • The distinction matters for usability – Think about the pop-up for the two window examples – Note that keyboard shortcuts are mode systems 17 -Sep-21 © Offutt 4
Slip Classification • Capture slips – Hand back graded work; continue with just-handed in work • Description-similarity slips – Work the wrong light switch • Memory-lapse slips – Use ATM; walk away without card (or money? ) • Mode-error slips – In “vi”, you think you’re in “input” mode 17 -Sep-21 © Offutt 5
Errors and Safety • Checklists – Are they better with slips or mistakes? – Why are they used sometimes but not others? • Error reporting – what to do after an error is made? – Are errors punished? – If so, under what circumstances? • Human error – What does that mean? 17 -Sep-21 © Offutt 6
Mistake Classification • Rule-based mistakes – With anti-lock brakes, is driver intervention required? • Knowledge-based mistakes – What to do in a novel situation • Memory-lapse mistakes – Often driven by interruptions! – Operator loses context, and proceeds with wrong plan 17 -Sep-21 © Offutt 7
Designing for Errors Understand causes for error and design to minimize them Make all actions undoable Make it easy to discover errors (visibility) Make it easy to correct errors Do not think in terms of “users making errors, ” think in terms of users getting close 17 -Sep-21 © Offutt 8
Forcing Functions If we fail at one step, we cannot take the next step • Examples : – Cannot take the key out of the ignition unless the car is in park – Cannot click Bold unless text is highlighted – Cannot fill out a form unless password is correct • Seatbelts : 1. Seatbelt automatically engaged when the car started (*choke*) 2. Car would not start if seatbelts are not engaged 3. Car buzzes or dings for 2 minutes if seatbelts not 17 -Sep-21 © Offutt 9
Other Safety Constraints 1. Interlocks : Users cannot reach step i unless step i-1 was completed – Microwave doors – User agreements in software installations 2. Lockin : Users cannot stop in mid-operation • Gmail won’t let us leave in the middle of an action 3. Lockout : Users cannot go to a dangerous place – Stairs to basements are barred to send people out the floor inconstraints a fire Safety & first security vs. usability Designers must minimize the impact 17 -Sep-21 © Offutt 10
Three General Principles for Error Message 1. Be specific 2. Give constructive guidance in a positive tone 3. Use a user-centered style These are also good leadership tips 17 -Sep-21 © Offutt 11
(1) Be Specific A message that has to be explained has failed • Users should not have to read a message twice • Messages should be concise, informative, and in the users’ vocabulary • A useful message should state: 1. What error has been detected 2. Which input field contains the error and most importantly … 3. What corrective action to take 17 -Sep-21 © Offutt 12
(1) Be Specific Examples Non-specific Invalid input Invalid date SYNTAX ERROR Illegal entry Error accessing http: //www. cs. gmu. edu: SOCKET: Connection refused 17 -Sep-21 Specific The id number must be 5 numeric digits Format: MM/DD/YY Unmatched left parenthesis Type first letter: Send, Read, or Drop www. cs. gmu. edu is busy, try again later © Offutt 13
(2) Give Constructive Guidance in a Positive Tone • Meaningful messages • Positive tone • Not incriminating • Blame system, not users • State what should be there, not what should not 17 -Sep-21 © Offutt 14
(2) Give Constructive Guidance in a Positive Tone Examples Non-constructive Illegal year! Your id # has characters ! Part Code not numeric. 17 -Sep-21 Constructive The year must be between 1995 and 2015. The id # must be numeric. Please re-enter. Part Code must be 3 numeric digits. © Offutt 15
(3) Use a User-Centered Style • Messages should be: – In the user’s vocabulary – Courteous – Not Imperative Examples Non-user-centered 17 -Sep-21 User-centered ENTER DATA. Ready for command: Ready! Your turn : © Offutt 16
Example 17 -Sep-21 © Offutt 17
Example I did! Maybe I need 50 cents … 50 17 -Sep-21 © Offutt 18
Example Must enter 2 zeros (other values not allowed) 00 50 17 -Sep-21 © Offutt 19
Example This modal dialog box will not allow me to see the message (with crucial info!) while editing the slides. I have to respond before editing. 17 -Sep-21 © Offutt 20
Examples L ! HT ACCESS: Error accessing “http: //www. cs. gmu. edu/offutt. html”: “HTTP: File/directory does not exist” ☺ The requested URL /offutt. html was not found on http: //. . . L !Print. Monitor is currently printing “Doc 1: Bad Examples” from “Word. Perfect 2. 1”. If Print. Monitor quits now, “Doc 1: Bad Examples" will be printed when the system is restarted with Multi. Finder. Do you want to finish printing before Print. Monitor quits? (Windows 95) ☺ Currently printing. If shutdown occurs now, the document will not be printed until MS Word restarts. You can still delay shutdown until the document finishes printing. Wait and shutdown after printing: Shutdown now and cancel printing: 17 -Sep-21 © Offutt 21
Another Example L http: //www. inwarehouse. se/ : Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC SQL Server Driver][SQL Server]Your transaction (process ID #85) was deadlocked with another process and has been chosen as the deadlock victim. Rerun your transaction. /script/webkatalogen/pb. asp, line 221 ☺ Internal failure, please try again. 17 -Sep-21 © Offutt 22
Another Example L Bus error, core dumped (Unix) ☺ Access through a nil pointer in function Get. Next() LTerminating thread, due to a stack overflow problem. A Vx. D, possibly recently installed, has consumed too muhc stack space. Increase the setting of Min. SPs in SYSTEM. INI or remove recently installed Vx. Ds. There are currently 5 SPs allocated. (Windows 2000) ☺ ? ? ? 17 -Sep-21 © Offutt 23
Yet Another Example • From Lotus notes • What does that mean ? ? ? 17 -Sep-21 © Offutt 24
A Confusing Example This webpage has a redirect loop. The webpage at https: //property. onesite. realpage. com/system/onlinepayments/default. asp has resulted in too many redirects. Clearing your cookies for this site may fix the problem. If not, it is possibly a server configuration issue and not a problem with your computer. Here are some suggestions: Reload this web page later. Learn more about this problem. More information on this error Below is the original error message Error 310 (net: : ERR_TOO_MANY_REDIRECTS): There were too many redirects. 17 -Sep-21 © Offutt 25
A Commonly Occurring Example • Most browsers give a warning before submitting POST data for the second time – Avoid duplicate submissions and updates – Avoid duplicate purchases • Users should be very careful before overriding this hesitation • However … how many users understand “POSTDATA”? 17 -Sep-21 © Offutt 26
Last (Negative) Example L Program Error: WINWORD. exe has generated errors and will be closed by Windows. You will need to restart this program. An error log is being created. (Word 2000) L I got this message, intermittently, for several months before diagnosing the problem L It occurred when I started MS Word (and Power. Point) … sometimes … and they immediately exited L Restarting the computer did not work L I took my computer to the support center, but they couldn’t get the problem to repeat ☹ The actual problem … ☺ The default printer is a network printer and is currently unavailable. Word is continuing, but you will 17 -Sep-21 © Offutt 27
An Outstanding Example ERROR 403 - Forbidden The server understood the request, but is refusing to fulfill it. Authorization will not help and the request SHOULD NOT be repeated. This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable. Having trouble? Maybe one of these links will help you find what you are looking for: Hardware, Software, Solutions, Storage Systems Products. Search: 17 -Sep-21 © Offutt 28
Another Outstanding Example From Thunderbird mailer, when it finds the string “attach” in an email message, but no attachment: 17 -Sep-21 © Offutt 29
An Interesting Example Command: Mail To: fred Subject: No subject – Continue with message? (y/n) n ___ Interesting escape A reminder that we should use subject lines. Intrusive or protection? 17 -Sep-21 © Offutt 30
A Stupid Example 17 -Sep-21 © Offutt 31
Another Stupid Example 17 -Sep-21 © Offutt 32
Philosophy of Designing for Errors • • Think of the user’s point of view Assume every mistake will occur Make every action reversible Put the required knowledge in the world – But provide shortcuts for users who have knowledge in their heads • Use syntactic constraints as much as possible – Selection vs. typing • Make the results of actions obvious – If possible, make them obvious before actions are committed 17 -Sep-21 © Offutt 33
Summary Good Error Messages: • Increase speed of use • Increase subjective satisfaction • Reduce repeat errors 17 -Sep-21 © Offutt 34
- Slides: 34