Errors & Help An ounce of prevention... Microsoft’s Spectacular Errors Adobe UI Gripes Fall 2006 PSYCH / CS 6750 2 Agenda Error types Slip types Error prevention guidelines Error recovery guidelines Fall 2006 PSYCH / CS 6750 3 Slips versus Mistakes • Recall: – Human errors can be classified into slips and mistakes • Can understand using Norman’s gulf of execution – SLIP: If you understand a system well you may know exactly what to do to satisfy your goals: you’ve formulated the correct action. But you may fail to execute that action correctly (mis-type, press the wrong button) – MISTAKE: If you don’t know the system well you may not even formulate the right goal. (Example: you may pick the magnifying glass icon thinking it is the ‘find’ function, when it actually zooms the text). • Both may be corrected for, and designed around. Fall 2006 PSYCH / CS 6750 4 Fall 2006 PSYCH / CS 6750 5 Errors in User-Computer Dialog • Three phases – Read-scan phase -- Perceptual errors – Think phase -- Cognitive errors – Respond phase -- Motor errors • Can generally lead to either slips or mistakes Fall 2006 PSYCH / CS 6750 6 Perceptual Errors Result from poor perceptual cues Display of objects that are visually similar Invisible or poorly expressed states Failure to capture user’s attention Lack of perceivable feedback Fall 2006 PSYCH / CS 6750 7 Perceptual Errors Are perceptual errors likely here? Fall 2006 Tallly Ho Uniforms PSYCH / CS 6750 8 Cognitive Errors Caused by taxing memory and thinking Tax recall memory Poor mnemonic aids Inconsistency Lack of context or status info e.g., where came from in a menu Mental calculations and translations Fall 2006 PSYCH / CS 6750 9 Cognitive Errors Are cognitive errors likely here? Fall 2006 PSYCH / CS 6750 10 Motor Errors Taxing the motor skills Awkward movements Highly similar motor sequences e.g., double click, click Pressure for speed Require a high degree of hand-eye coordination Requiring special types of motor skills (type) Fall 2006 PSYCH / CS 6750 11 Motor Errors Lots of errors are likely here!! Fall 2006 PSYCH / CS 6750 12 Example Studies 170 experienced UNIX users over 9 days Individual commands error rates of 3-50% Kraut et al, CHI ‘83 300 security system users over 20 months 12,117 error messages Most common 11 errors -> 65% 2517 involved repeated errors (with no non-errors in between) within 10 minutes Bad error recovery/help Mosteller & Ballas, Human Factors ‘89 Fall 2006 PSYCH / CS 6750 13 Slips Automatic (subconscious) error that occurs without deliberation Examples? Fall 2006 PSYCH / CS 6750 14 Types of Slips 1. Capture error Continue frequently done activity instead of intended one Type “animation” instead of animate Confirm deletion of file instead of cancel 2. Description error Intended action has much in common with others possible (usually when distracted, close proximity) ctrl key & caps lock key / Sun & Mac Fall 2006 PSYCH / CS 6750 15 Types of Slips 3. Data driven error Triggered by arrival of sensory info which intrudes into normal action Call to give someone a number, dial that number instead 4. Associative activation Internal thoughts and associations trigger action Phone rings, yell “come in” Fall 2006 PSYCH / CS 6750 16 Types of Slips 5. Loss of activation Forgetting goal in middle of sequence of actions Start going into room, then forget why you’re going there 6. Mode errors Do action in one mode thinking you’re in another Delete file, but you’re in wrong directory Fall 2006 PSYCH / CS 6750 17 Error-handling Strategies 1. Avoid and prevent 2. Identify and understand 3. Handle and recover Fall 2006 PSYCH / CS 6750 18 Preventing Errors • Rules of thumb: – Preventing slips can be done by analysing users’ interaction with the application, then tweaking screen design, button spacing, etc. – Preventing many mistakes requires that users understand the system better; may require more radical redesign, or perhaps a totally different metaphor Fall 2006 PSYCH / CS 6750 19 Error Prevention Guidelines Eliminate modes or provide visible cues for modes Use good coding techniques (color, style) Maximize recognition, minimize recall Design non-similar motor sequences or commands Minimize need for typing Fall 2006 PSYCH / CS 6750 20 Error Prevention Guidelines Test and monitor for errors and engineer them out Allow reconsideration of action by user (e.g., removing file from trash) Fall 2006 PSYCH / CS 6750 21 Error Prevention Guidelines • Provide appropriate type of feedback – Gag - Prevent user from continuing • Erroneous login Fall 2006 PSYCH / CS 6750 22 Error prevention Warn user an unusual situation is occurring Bell or alert box Fall 2006 PSYCH / CS 6750 23 Error prevention Nothing - Just don’t do anything (Careful, user must determine problem) Mac: move file to bad place Fall 2006 PSYCH / CS 6750 24 Error Recovery Guidelines Provide undo function Provide cancel function from operations in progress Require confirmation for drastic, destructive commands Provide reasonableness checks on input data Did you really mean to order 5000? Fall 2006 PSYCH / CS 6750 25 Error Recovery Guidelines However, before a user can recover, must be able to detect that an error has occurred Detection: provided by easy visibility, feedback Other options? Self-correct - Guess correct action & do it Spell-check correction Dialog - System opens dialog with user Go into debugger on run-time crash Query - Ask user what should’ve been done, then allow error action as legal one (“did you mean…?”) Command language naming error Fall 2006 PSYCH / CS 6750 26 Error Recovery Guidelines Return cursor to error field, allow fix Tell them what to fix, how to fix it Provide some intelligence Guess what they wanted to do Provide quick access to context-sensitive help Fall 2006 PSYCH / CS 6750 27 Error Handling Example (Web) Form fill in is the most common error case Fall 2006 PSYCH / CS 6750 28 ???? Fall 2006 PSYCH / CS 6750 29 User Support (aka “Help) • Line between error recovery and help can be fuzzy • Overarching design principle: must be as unobtrusive as possible Fall 2006 PSYCH / CS 6750 30 Command Assistance • E.g., on-screen manuals, help commands (“man” on Unix), etc. • Simple and efficient if the user knows what he/she is looking for and is seeking either a reminder or more detailed information • But… – What if people don’t know what they’re looking for? – What about commands that the user does not know about but needs? – What about commands the user thinks exist but do not? • Command assistance is little help here. Fall 2006 PSYCH / CS 6750 31 Command Prompts • In CL interfaces, usage prompts are an example. • Assumes that – system can detect error – user understands the command well enough to apply the guidance • Generally only helpful for simple errors Fall 2006 PSYCH / CS 6750 32 Context-sensitive Help • Move away from placing onus on user to remember the command • Often not very sophisticated • Common examples: – Microsoft’s “What’s This?” option – Tooltips – Clippy (arrrgh…) • What’s the “context”? – Just the control itself? (Simple) – User’s past history and application state? (More sophisticated) Fall 2006 PSYCH / CS 6750 33 Wizards and Assistants • Attempt to prevent errors by providing “common paths” through software – Safety, efficiency, and accuracy (as long as it’s a supported task) • May be unnecessarily constraining • Guidelines: allow backward movement, show progress indicator • Assistant: Clippy is actually an example of this. A contextsensitive trigger to launch a wizard style interaction • Q: What went wrong with Clippy? Fall 2006 PSYCH / CS 6750 34