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