You are on page 1of 31

1

Handling Errors, Handling Errors,


Help & Documentation Help & Documentation
John Stasko John Stasko
Spring 2007 Spring 2007
This material has been developed by Georgia Tech HCI faculty, and continues
to evolve. Contributors include Gregory Abowd, Al Badre, Jim Foley, Elizabeth
Mynatt, Jeff Pierce, Colin Potts, Chris Shaw, John Stasko, and Bruce Walker.
Permission is granted to use with acknowledgement for non-profit purposes.
Last revision: January 2007.
2 6750-Spr 07
Agenda Agenda
Handling errors Handling errors
Error types Error types
Slip types Slip types
Error prevention guidelines Error prevention guidelines
Error recovery guidelines Error recovery guidelines
Help & documentation Help & documentation
Guidelines Guidelines
Types of doc/help Types of doc/help
Presentation issues Presentation issues
Doc organization Doc organization
2
3 6750-Spr 07
Errors Errors
Three considerations: Three considerations:
Avoiding and preventing Avoiding and preventing
Identifying and understanding Identifying and understanding
Handling and recovering Handling and recovering
4 6750-Spr 07
Why errors are important Why errors are important
Errors are unavoidable Errors are unavoidable
To err is human To err is human
Making mistakes is part of learning Making mistakes is part of learning
Designers responsibility Designers responsibility
Understand why errors occur Understand why errors occur
Minimize likelihood Minimize likelihood
Allow for recognition of error and graceful recovery Allow for recognition of error and graceful recovery
(forward or backward) (forward or backward)
3
5 6750-Spr 07
User User- -Computer Dialog Computer Dialog
Three phases Three phases
Read Read- -scan phase scan phase -- -- Perceptual errors Perceptual errors
Think phase Think phase -- -- Cognitive errors Cognitive errors
Respond phase Respond phase -- -- Motor errors Motor errors
6 6750-Spr 07
Perceptual Errors Perceptual Errors
Result from insufficient or poor Result from insufficient or poor
perceptual cues perceptual cues
Examples Examples
Display of objects that are visually similar Display of objects that are visually similar
Invisible or poorly expressed states Invisible or poorly expressed states
Failure to capture users attention Failure to capture users attention
Lack of perceivable feedback Lack of perceivable feedback
4
7 6750-Spr 07
Cognitive Errors Cognitive Errors
Caused by taxing the memory and Caused by taxing the memory and
problem solving capabilities problem solving capabilities
Examples Examples
Tax recall memory Tax recall memory
Lack of or poor mnemonic aids Lack of or poor mnemonic aids
Inconsistency Inconsistency
Lack of context or status info Lack of context or status info
e.g., where came from in a menu e.g., where came from in a menu
Mental calculations and translations Mental calculations and translations
8 6750-Spr 07
Motor Errors Motor Errors
Taxing the eye Taxing the eye- -hand coordination and hand coordination and
motor skills motor skills
Examples Examples
Awkward motor movements Awkward motor movements
Highly similar motor sequences Highly similar motor sequences
e.g., double click, click e.g., double click, click
Pressure for speed Pressure for speed
Require a high degree of hand Require a high degree of hand- -eye eye
coordination coordination
Requiring special types of motor skills (type) Requiring special types of motor skills (type)
5
9 6750-Spr 07
Example Studies Example Studies
170 experienced UNIX users over 9 days 170 experienced UNIX users over 9 days
Individual commands had error rates of 3 Individual commands had error rates of 3- -50% 50%
300 security system users over 20 months 300 security system users over 20 months
12,117 error messages 12,117 error messages
Most common 11 errors Most common 11 errors - -> 65% > 65%
2517 involved repeated errors (with no non 2517 involved repeated errors (with no non- -errors in errors in
between) within 10 minutes between) within 10 minutes
Bad error recovery/help Bad error recovery/help
Kraut et al, CHI 83
Mosteller & Ballas, Human Factors 89
10 6750-Spr 07
Slips Slips
Automatic (subconscious) error that Automatic (subconscious) error that
occurs without deliberation occurs without deliberation
Examples? Examples?
6
11 6750-Spr 07
Types of Slips Types of Slips
1. Capture error 1. Capture error - - Continue frequently done Continue frequently done
activity instead of intended one (similar starts) activity instead of intended one (similar starts)
Type animation instead of animate Type animation instead of animate
Confirm deletion of file instead of cancel Confirm deletion of file instead of cancel
2. Description error 2. Description error - - Intended action has much Intended action has much
in common with others possible (usually when in common with others possible (usually when
distracted, close proximity) distracted, close proximity)
ctrl key & caps lock key / Sun & Mac ctrl key & caps lock key / Sun & Mac
12 6750-Spr 07
Types of Slips Types of Slips
3. Data driven error 3. Data driven error - - Triggered by arrival Triggered by arrival
of sensory info which intrudes into of sensory info which intrudes into
normal action normal action
Call to give someone a number, dial that Call to give someone a number, dial that
number instead number instead
4. Associative activation 4. Associative activation - - Internal Internal
thoughts and associations trigger action thoughts and associations trigger action
Phone rings, yell come in Phone rings, yell come in
7
13 6750-Spr 07
Types of Slips Types of Slips
5. Loss of activation 5. Loss of activation - - Forgetting goal in Forgetting goal in
middle of sequence of actions middle of sequence of actions
Start going into room, then forget why Start going into room, then forget why
youre going there youre going there
6. Mode errors 6. Mode errors - - Do action in one mode Do action in one mode
thinking youre in another thinking youre in another
Delete file, but youre in wrong directory Delete file, but youre in wrong directory
14 6750-Spr 07
Error Prevention Guidelines (1) Error Prevention Guidelines (1)
Eliminate modes or provide visible cues Eliminate modes or provide visible cues
for modes for modes
Use good coding techniques (color, style) Use good coding techniques (color, style)
Maximize recognition, minimize recall Maximize recognition, minimize recall
Design non Design non- -similar motor sequences or similar motor sequences or
commands commands
Minimize need for typing Minimize need for typing
8
15 6750-Spr 07
Error Prevention Guidelines (2) Error Prevention Guidelines (2)
Test and monitor for errors and engineer Test and monitor for errors and engineer
them out them out
Allow reconsideration of action by user Allow reconsideration of action by user
(e.g., removing file from trash) (e.g., removing file from trash)
16 6750-Spr 07
Error Recovery Guidelines (1) Error Recovery Guidelines (1)
Provide appropriate type of response Provide appropriate type of response
Gag Gag - - Prevent user from continuing Prevent user from continuing
Erroneous login Erroneous login
Warn Warn - - Warn user an unusual situation is Warn user an unusual situation is
occurring occurring
Bell or alert box Bell or alert box
Nothing Nothing - - Just dont do anything (Careful, Just dont do anything (Careful,
user must determine problem) user must determine problem)
Mac: move file to bad place Mac: move file to bad place
9
17 6750-Spr 07
Error Recovery Guidelines (2) Error Recovery Guidelines (2)
Responses (continued) Responses (continued)
Self Self- -correct correct - - Guess correct action & do it Guess correct action & do it
Spell Spell- -check correction check correction
Dialog Dialog - - System opens dialog with user System opens dialog with user
Go into debugger on run Go into debugger on run- -time crash time crash
Query Query - - Ask user what shouldve been Ask user what shouldve been
done, then allow error action as legal one done, then allow error action as legal one
Command language naming error Command language naming error
18 6750-Spr 07
Error Recovery Guidelines (3) Error Recovery Guidelines (3)
Provide undo function Provide undo function
Provide cancel function from operations Provide cancel function from operations
in progress in progress
Require confirmation for drastic, Require confirmation for drastic,
destructive commands destructive commands
Provide reasonableness checks on input Provide reasonableness checks on input
data data
Did you really mean to order 5000? Did you really mean to order 5000?
10
19 6750-Spr 07
Error Recovery Guidelines (4) Error Recovery Guidelines (4)
Return cursor to error field, allow fix Return cursor to error field, allow fix
Provide some intelligence Provide some intelligence
Guess what they wanted to do Guess what they wanted to do
Provide quick access to context Provide quick access to context- -sensitive sensitive
help help
20 6750-Spr 07
Error Message Error Message - - What to Say What to Say
Error: Error: Error code Error code - -37 37
Description: Description: Disk full Disk full
Prescription: Prescription: Disk full; recover disk space Disk full; recover disk space
Prescription + aid: Prescription + aid: Disk full; recover space by Disk full; recover space by
deleting files or deleting files or defragmenting defragmenting
Prescription + offer: Prescription + offer: Disk full; proceed with disk Disk full; proceed with disk
defragmentation defragmentation? Otherwise ? Otherwise
delete files delete files
11
21 6750-Spr 07
Error Message Wording Error Message Wording - - Vocabulary Vocabulary
Problem with previous example Problem with previous example - - some some
users will not know what users will not know what
defragmentation defragmentation means!! means!!
Vocabulary Vocabulary
User User- -oriented oriented
Defined in advance for commonality Defined in advance for commonality
throughout all messages (in style guide) throughout all messages (in style guide)
Alternatives to Alternatives to defragmentation defragmentation ? ?
22 6750-Spr 07
Error Message Wording Error Message Wording - - Tone Tone
Sorry, command not recognized Sorry, command not recognized
Command not recognized : Command not recognized :- -( (
Command not recognized Command not recognized
Command not recognized!! Command not recognized!!
12
23 6750-Spr 07
Or Even Worse Or Even Worse
Illegal command Illegal command
Illegal command! Illegal command!
ILLEGAL COMMAND !@#& ILLEGAL COMMAND !@#&
ILLEGAL COMMAND! ILLEGAL COMMAND!
Which may suggest Which may suggest
to some users to some users
24 6750-Spr 07
Help & Documentation Help & Documentation
Its in the manual Its in the manual
13
25 6750-Spr 07
Customer Support Customer Support
26 6750-Spr 07
User Support User Support
Help Help
Problem Problem- -oriented and specific oriented and specific
Documentation Documentation
System System- -oriented and general oriented and general
14
27 6750-Spr 07
Help & Documentation Help & Documentation
Never a replacement for bad design, but Never a replacement for bad design, but
essential essential
Simple systems may not use/require any Simple systems may not use/require any
User walks up and uses it User walks up and uses it
Name some Name some
Most other systems with rich features Most other systems with rich features
require help require help
28 6750-Spr 07
Documentation Documentation
Many users dont read manuals Many users dont read manuals
Boring, no goal Boring, no goal
Just dive in and start working Just dive in and start working
Often used in panic mode, Often used in panic mode,
when user needs immediate help when user needs immediate help
Manuals probably locked away somewhere Manuals probably locked away somewhere
Points to need for on Points to need for on- -line help with search line help with search
Sometimes want quick ref Sometimes want quick ref - - emacs emacs card card
15
29 6750-Spr 07
User Support Requirements (1) User Support Requirements (1)
Availability Availability
Should be available any time the user is Should be available any time the user is
operating the system operating the system
Accuracy & Completeness Accuracy & Completeness
Should be accurate (tricky with changing Should be accurate (tricky with changing
versions) and should cover all aspects of versions) and should cover all aspects of
application application
30 6750-Spr 07
User Support Requirements (2) User Support Requirements (2)
Consistency Consistency
Across different sections, between on Across different sections, between on- -line line
and paper documentation, in terminology, and paper documentation, in terminology,
content and style content and style
Robustness Robustness
Should be predictable and free of errors Should be predictable and free of errors
16
31 6750-Spr 07
User Support Requirements (3) User Support Requirements (3)
Flexibility Flexibility
Appropriate for novices through experts, Appropriate for novices through experts,
maybe by having expandable sections of maybe by having expandable sections of
details details
Unobtrusiveness Unobtrusiveness
Shouldnt distract from or interfere with Shouldnt distract from or interfere with
normal work flow normal work flow
32 6750-Spr 07
Types of Doc/Help Types of Doc/Help
1. Tutorial 1. Tutorial
For start For start- -up up
Gets user going Gets user going
Convey conceptual model Convey conceptual model
Communicate essential items Communicate essential items
Sometimes see on Sometimes see on- -line tour or demo line tour or demo
17
33 6750-Spr 07
Types of Doc/Help Types of Doc/Help
Quick start guide as a tutorial
34 6750-Spr 07
Tutorial Manual Tutorial Manual - - Outline Outline
1. Introduction 1. Introduction
Assumed background of reader Assumed background of reader
Ref on where to get it Ref on where to get it
General capabilities General capabilities
Key concepts Key concepts - - model, metaphor model, metaphor
2. Starter kit of tasks and how to accomplish 2. Starter kit of tasks and how to accomplish
For each task For each task - - examples, screen shots examples, screen shots
Introduce additional elements of conceptual model Introduce additional elements of conceptual model
only as needed only as needed
How to deal with How to deal with common common errors / exceptions errors / exceptions
Have plenty of examples, complete sample sessions Have plenty of examples, complete sample sessions
18
35 6750-Spr 07
Tutorial Manual Tutorial Manual - - Outline Outline
3. More tasks 3. More tasks
Introduce more commands as needed by tasks Introduce more commands as needed by tasks
More sophisticated uses of earlier commands More sophisticated uses of earlier commands
Changing defaults Changing defaults
Etc Etc
Etc Etc
N. Index N. Index
Organized by terms, concepts, tasks, commands Organized by terms, concepts, tasks, commands
36 6750-Spr 07
On On- -line Tutorial line Tutorial
Work through simple examples, provide a Work through simple examples, provide a
feel for application feel for application
19
37 6750-Spr 07
Types of Doc/Help Types of Doc/Help
2. Quick reference/review 2. Quick reference/review
Reminder or short reference Reminder or short reference
Often for syntax Often for syntax
Can be recall aid for expert Can be recall aid for expert
Can allow novice to see whats available Can allow novice to see whats available
Access 2000 Intermediate
PowerPoint Advanced Excel 2000 Charts
38 6750-Spr 07
Example Example
20
39 6750-Spr 07
Types of Doc/Help Types of Doc/Help
3. Reference Manual (Full explanation) 3. Reference Manual (Full explanation)
Detailed command descriptions Detailed command descriptions
Usually for experts Usually for experts
Unix on Unix on- -line manual pages, for example line manual pages, for example
40 6750-Spr 07
Types of Doc/Help Types of Doc/Help
Combined
Quick Reference
and full
Reference Manual
command
purpose
syntax
example
links to details
21
41 6750-Spr 07
Types of Doc/Help Types of Doc/Help
4. Searchable 4. Searchable
Sometimes it Sometimes it
works. works.
42 6750-Spr 07
Searchable Searchable
And And
sometimes, sometimes,
it doesnt. it doesnt.
22
43 6750-Spr 07
Types of Doc/Help Types of Doc/Help
5. Context 5. Context- -sensitive (task sensitive (task- -specific) help specific) help
System provides help on current situation System provides help on current situation
Macintosh balloon help (old), ToolTips, for Macintosh balloon help (old), ToolTips, for
example example
Other examples? Other examples?
44 6750-Spr 07
Types of Doc/Help Types of Doc/Help
Context Sensitive Help e.g. Photoshop
23
45 6750-Spr 07
Medium Medium
Paper versus monitor Paper versus monitor
Studies show that people are 15 Studies show that people are 15- -30% 30%
slower reading and comprehending text slower reading and comprehending text
from a display as compared to paper from a display as compared to paper
46 6750-Spr 07
Monitor Monitor
Causes for slow Causes for slow- -down down
Poor fonts ( Poor fonts (monospace monospace, bad kerning VA, , bad kerning VA,
bad spacing, ) bad spacing, )
Low contrast of letters & background Low contrast of letters & background
Emitted vs. reflected light (curved tube) Emitted vs. reflected light (curved tube)
Small display Small display - -> page turning > page turning
Distance, placement of monitor Distance, placement of monitor
Layout and formatting problems Layout and formatting problems
Reduced hand and body motion Reduced hand and body motion
24
47 6750-Spr 07
Presentation Issues Presentation Issues
Integrate with system, dont add on Integrate with system, dont add on
1. How is help requested? 1. How is help requested?
Command, button, function, separate application Command, button, function, separate application
Advantages, disadvantages? Advantages, disadvantages?
2. How is help displayed? 2. How is help displayed?
Separate window, whole screen, part of screen, on Separate window, whole screen, part of screen, on
top of application, pop top of application, pop- -up box, command line, up box, command line,
highlighted button, light bulb.. highlighted button, light bulb..
Largely depends on what type of help it is Largely depends on what type of help it is
48 6750-Spr 07
Presentation Issues Presentation Issues
3. Effective presentation of help 3. Effective presentation of help
Design it like any other part of UI: language, Design it like any other part of UI: language,
terminology, jargon, etc. terminology, jargon, etc.
Use active voice Use active voice
To close a window, place the mouse cursor in the box To close a window, place the mouse cursor in the box
at the upper right corner (with the X) and click the at the upper right corner (with the X) and click the
mouse button. mouse button.
4. Implementation issues 4. Implementation issues
Fast response time is important Fast response time is important
How is help stored? File, database, ? How is help stored? File, database, ?
25
49 6750-Spr 07
Adaptive Help Adaptive Help
Tailor help level and style to the Tailor help level and style to the
particular user particular user
Usually requires a system to maintain a Usually requires a system to maintain a
user model user model
50 6750-Spr 07
Help Levels Help Levels
1. Designer model 1. Designer model
System designer has model of typical user System designer has model of typical user
and builds interface with this in mind and builds interface with this in mind
2. Adaptable help 2. Adaptable help
User can edit their own model, for example, User can edit their own model, for example,
.profile on UNIX .profile on UNIX
3. Adaptive help 3. Adaptive help
System maintains a user model and can System maintains a user model and can
change it on the fly change it on the fly
26
51 6750-Spr 07
User Model User Model
How is user model constructed and How is user model constructed and
maintained? maintained?
1. Quantification 1. Quantification - - Numeric levels of use Numeric levels of use
2. Stereotype 2. Stereotype
Novice, intermediate, expert Novice, intermediate, expert
Utilize command use and errors to categorize Utilize command use and errors to categorize
3. Overlay model 3. Overlay model
Build expert user profile with optimal behavior Build expert user profile with optimal behavior
Compare to what user is currently doing Compare to what user is currently doing
52 6750-Spr 07
Adaptive Help Issues Adaptive Help Issues
Initiative & control Initiative & control
Does user feel that control was taken away by Does user feel that control was taken away by
system? system?
Youre not performing efficiently in this task Youre not performing efficiently in this task
Use Use
Is all this work actually useful? Is all this work actually useful?
Scope Scope
To what aspect of system or of help does it apply? To what aspect of system or of help does it apply?
27
53 6750-Spr 07
Documentation Documentation Worth It? Worth It?
Studies have taken documentation and Studies have taken documentation and
improved it improved it
People did perform better with the improved People did perform better with the improved
documentation documentation
- -> Effort here is worthwhile > Effort here is worthwhile
54 6750-Spr 07
Recommendations Recommendations
OK OK
All details of each All details of each
command command
BNF or formal BNF or formal
notation notation
Terse, technical prose Terse, technical prose
Better Better
Subsets of concepts Subsets of concepts
Lots of examples Lots of examples
Readable explanations Readable explanations
with a minimum of with a minimum of
technical terms technical terms
28
55 6750-Spr 07
Doc Organization Doc Organization
State educational objectives State educational objectives
Present concepts in logical sequence, Present concepts in logical sequence,
increasing order of difficulty increasing order of difficulty
Avoid forward references Avoid forward references
Make sections have roughly equal Make sections have roughly equal
amounts of material amounts of material
Have plenty of examples, complete Have plenty of examples, complete
sample sessions sample sessions
56 6750-Spr 07
Doc Organization Doc Organization
Each concept section: Each concept section:
Explain reason for concept Explain reason for concept
Describe concept in task Describe concept in task- -domain semantic domain semantic
terms terms
Show computer Show computer- -related semantic concepts related semantic concepts
Offer syntax Offer syntax
Table of contents and index are Table of contents and index are
important important
Keep reading level simple Keep reading level simple
29
57 6750-Spr 07
Reading Level Reading Level
Study on doc at 5th, 10th, 15th grade Study on doc at 5th, 10th, 15th grade
reading levels among low, mid, high reading levels among low, mid, high
reading level people reading level people
Reading level of person affected Reading level of person affected
performance, but not reading level of performance, but not reading level of
text text
People liked 5th grade text best People liked 5th grade text best
Roemer & Chapanis, CHI 82
58 6750-Spr 07
Improving Doc Improving Doc
Run through think Run through think- -aloud sessions aloud sessions
Use on Use on- -line example tutorials line example tutorials
Try to predict common states and Try to predict common states and
problems problems
Anticipate errors Anticipate errors
Develop manuals early and pilot test Develop manuals early and pilot test
Iteratively refine Iteratively refine
30
59 6750-Spr 07
Human Characteristics Human Characteristics
Dont anthropomorphize Dont anthropomorphize
The computer will calculate an answer after The computer will calculate an answer after
you respond you respond
Gives user inaccurate impression Gives user inaccurate impression
You can get the solution by pressing F1 You can get the solution by pressing F1
Better to put user in control Better to put user in control
60 6750-Spr 07
Terminology Terminology
Avoid Avoid
know, think, know, think,
understand, have understand, have
memory memory
ask, tell, speak to, ask, tell, speak to,
communicate with communicate with
Better Better
process, print, process, print,
compute, sort, store, compute, sort, store,
search, retrieve search, retrieve
use, direct, operate, use, direct, operate,
program, control program, control
31
61 6750-Spr 07
Upcoming Upcoming
Prototyping and UI Software Prototyping and UI Software
Exam Exam
Poster session Poster session

You might also like