Norman Chapter 5 Error Messages and Other Feedback
Norman Chapter 5 Error Messages and Other Feedback Jeff Offutt http: //www. cs. gmu. edu/~offutt/ SWE 205 Software Usability and Design
Human Thought Models • Norman wrote that “human thought should be rational, logical, and orderly” • If this was true, then : – Communism would work – The 2008 -2009 recession would never have happened – Hitler would never have gained power in Germany • Human thought is not naturally rational – We have to train ourselves to think logically • Thinking is clouded by greed, prejudism, biases, and unsound “knowledge” 03 -Jun-21 © Offutt 2
Chapter 5 • A lot of chapter 5 shows up in artificial intelligence • Maybe more cognitive psychology than we need We ignore mistakes because they are unusual, thus we do not: think they are • Some basic principles real Many mistakes are because humans are poor at estimating and understanding probabilities People are not perfect … this may seem obvious, but many software programs only work correctly if all input data are valid and all user actions are correct 03 -Jun-21 © Offutt 3
Designing for Mistakes Understand causes for error and design to minimize them Make all actions undoable Make it easy to discover mistakes (visibility) Make it easy to correct mistakes Do not think in terms of “users making errors, ” think in terms of users getting close 03 -Jun-21 © Offutt 4
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 03 -Jun-21 © Offutt 5
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 03 -Jun-21 © Offutt 6
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 03 -Jun-21 © Offutt 7
(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 03 -Jun-21 © Offutt 8
(1) Be Specific Examples Non-specific Invalid input Invalid date SYNTAX ERROR Illegal entry Error accessing http: //www. cs. gmu. edu: SOCKET: Connection refused 03 -Jun-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 9
(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 03 -Jun-21 © Offutt 10
(2) Give Constructive Guidance in a Positive Tone Examples Non-constructive Illegal year! Your id # has characters ! Part Code not numeric. 03 -Jun-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 11
(3) Use a User-Centered Style • Messages should be: – In the user’s vocabulary – Courteous – Not Imperative Examples Non-user-centered 03 -Jun-21 User-centered ENTER DATA. Ready for command: Ready! Your turn : © Offutt 12
Example 03 -Jun-21 © Offutt 13
Example I did! Maybe I need 50 cents … 50 03 -Jun-21 © Offutt 14
Example Must enter 2 zeros (other values not allowed) 00 50 03 -Jun-21 © Offutt 15
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. 03 -Jun-21 © Offutt 16
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: 03 -Jun-21 © Offutt 17
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. 03 -Jun-21 © Offutt 18
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) ☺ ? ? ? 03 -Jun-21 © Offutt 19
Yet Another Example • From Lotus notes • What does that mean ? ? ? 03 -Jun-21 © Offutt 20
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. 03 -Jun-21 © Offutt 21
Yeta Yet Another Example • From an online bill payment system • Is it legal to “abort” in Virginia ? 03 -Jun-21 © Offutt 22
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”? 03 -Jun-21 © Offutt 23
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 03 -Jun-21 © Offutt 24
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: 03 -Jun-21 © Offutt 25
Another Outstanding Example From Thunderbird mailer, when it finds the string “attach” in an email message, but no attachment: 03 -Jun-21 © Offutt 26
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? 03 -Jun-21 © Offutt 27
A Stupid Example 03 -Jun-21 © Offutt 28
Another Stupid Example 03 -Jun-21 © Offutt 29
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 03 -Jun-21 © Offutt 30
Summary Good Error Messages: • Increase speed of use • Increase subjective satisfaction • Reduce repeat errors 03 -Jun-21 © Offutt 31
- Slides: 31