Title: Errors
1ErrorsHelp
- An ounce of prevention...
2- Microsofts Spectacular Errors
- Adobe UI Gripes
3Agenda
- Error types
- Slip types
- Error prevention guidelines
- Error recovery guidelines
4Slips versus Mistakes
- Recall
- Human errors can be classified into slips and
mistakes - Can understand using Normans gulf of execution
- SLIP If you understand a system well you may
know exactly what to do to satisfy your goals
youve formulated the correct action. But you may
fail to execute that action correctly (mis-type,
press the wrong button) - MISTAKE If you dont 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.
5(No Transcript)
6Errors 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
7Perceptual Errors
- Result from poor perceptual cues
- Display of objects that are visually similar
- Invisible or poorly expressed states
- Failure to capture users attention
- Lack of perceivable feedback
8Perceptual Errors
Are perceptual errors likely here?
Tallly Ho Uniforms
9Cognitive 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
10Cognitive Errors
Are cognitive errors likely here?
11Motor 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)
12Motor Errors
Lots of errors are likely here!!
13Example Studies
- 170 experienced UNIX users over 9 days
- Individual commands error rates of 3-50
- 300 security system users over 20 months
- 12,117 error messages
- Most common 11 errors -gt 65
- 2517 involved repeated errors (with no non-errors
in between) within 10 minutes - ? Bad error recovery/help
Kraut et al, CHI 83
Mosteller Ballas, Human Factors 89
14Slips
- Automatic (subconscious) error that occurs
without deliberation - Examples?
15Types 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
16Types 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
17Types of Slips
- 5. Loss of activation
- Forgetting goal in middle of sequence of actions
- Start going into room, then forget why youre
going there - 6. Mode errors
- Do action in one mode thinking youre in another
- Delete file, but youre in wrong directory
18Error-handling Strategies
- Avoid and prevent
- Identify and understand
- Handle and recover
19Preventing 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
20Error 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
21Error Prevention Guidelines
- Test and monitor for errors and engineer them out
- Allow reconsideration of action by user (e.g.,
removing file from trash)
22Error Prevention Guidelines
- Provide appropriate type of feedback
- Gag - Prevent user from continuing
- Erroneous login
23Error prevention
- Warn user an unusual situation is occurring
- Bell or alert box
24Error prevention
- Nothing - Just dont do anything (Careful, user
must determine problem) - Mac move file to bad place
25Error 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?
26Error 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 shouldve been done, then
allow error action as legal one (did you
mean?) - Command language naming error
27Error 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
28Error Handling Example (Web)
- Form fill in is the most common error case
29????
30User Support (aka Help)
- Line between error recovery and help can be fuzzy
- Overarching design principle must be as
unobtrusive as possible
31Command 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 dont know what theyre 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.
32Command 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
33Context-sensitive Help
- Move away from placing onus on user to remember
the command - Often not very sophisticated
- Common examples
- Microsofts Whats This? option
- Tooltips
- Clippy (arrrgh)
- Whats the context?
- Just the control itself? (Simple)
- Users past history and application state? (More
sophisticated)
34Wizards and Assistants
- Attempt to prevent errors by providing common
paths through software - Safety, efficiency, and accuracy (as long as its
a supported task) - May be unnecessarily constraining
- Guidelines allow backward movement, show
progress indicator - Assistant Clippy is actually an example of this.
A context-sensitive trigger to launch a wizard
style interaction - Q What went wrong with Clippy?