Errors & Help An ounce of prevention...

advertisement
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
Download