Errors&HelpAn ounce of prevention...
CS / Psych 6750
Microsofts Spectacular Errors
Adobe UI GripesFall 2006PSYCH / CS 6750*
CS / Psych 6750
AgendaError typesSlip typesError prevention guidelinesError recovery guidelinesFall 2006PSYCH / CS 6750*
CS / Psych 6750
Slips versus MistakesRecall:Human errors can be classified into slips and mistakesCan understand using Normans gulf of executionSLIP: 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.
Fall 2006PSYCH / CS 6750*
CS / Psych 6750
Fall 2006PSYCH / CS 6750*
CS / Psych 6750
Errors in User-Computer DialogThree phasesRead-scan phase -- Perceptual errorsThink phase -- Cognitive errorsRespond phase -- Motor errors
Can generally lead to either slips or mistakesFall 2006PSYCH / CS 6750*
CS / Psych 6750
Perceptual ErrorsResult from poor perceptual cuesDisplay of objects that are visually similarInvisible or poorly expressed statesFailure to capture users attentionLack of perceivable feedbackFall 2006PSYCH / CS 6750*
CS / Psych 6750
Perceptual ErrorsFall 2006PSYCH / CS 6750*Are perceptual errors likely here?Tallly Ho Uniforms
CS / Psych 6750
Cognitive ErrorsCaused by taxing memory and thinkingTax recall memoryPoor mnemonic aidsInconsistencyLack of context or status infoe.g., where came from in a menuMental calculations and translationsFall 2006PSYCH / CS 6750*
CS / Psych 6750
Cognitive ErrorsFall 2006PSYCH / CS 6750*Are cognitive errors likely here?
CS / Psych 6750
Motor ErrorsTaxing the motor skillsAwkward movementsHighly similar motor sequencese.g., double click, clickPressure for speedRequire a high degree of hand-eye coordinationRequiring special types of motor skills (type)Fall 2006PSYCH / CS 6750*
CS / Psych 6750
Motor ErrorsFall 2006PSYCH / CS 6750*Lots of errors are likely here!!
CS / Psych 6750
Example Studies170 experienced UNIX users over 9 daysIndividual commands error rates of 3-50%
300 security system users over 20 months12,117 error messagesMost common 11 errors -> 65%2517 involved repeated errors (with no non-errors in between) within 10 minutes Bad error recovery/helpFall 2006PSYCH / CS 6750*Kraut et al, CHI 83Mosteller & Ballas, Human Factors 89
CS / Psych 6750
SlipsAutomatic (subconscious) error that occurs without deliberation
Examples?Fall 2006PSYCH / CS 6750*
CS / Psych 6750
Types of Slips1. Capture errorContinue frequently done activity instead of intended oneType animation instead of animateConfirm deletion of file instead of cancel2. Description errorIntended action has much in common with others possible (usually when distracted, close proximity)ctrl key & caps lock key / Sun & MacFall 2006PSYCH / CS 6750*
CS / Psych 6750
Types of Slips3. Data driven errorTriggered by arrival of sensory info which intrudes into normal actionCall to give someone a number, dial that number instead4. Associative activationInternal thoughts and associations trigger actionPhone rings, yell come in
Fall 2006PSYCH / CS 6750*
CS / Psych 6750
Types of Slips5. Loss of activationForgetting goal in middle of sequence of actionsStart going into room, then forget why youre going there6. Mode errorsDo action in one mode thinking youre in anotherDelete file, but youre in wrong directoryFall 2006PSYCH / CS 6750*
CS / Psych 6750
Error-handling StrategiesAvoid and prevent
Identify and understand
Handle and recoverFall 2006PSYCH / CS 6750*
CS / Psych 6750
Preventing ErrorsRules 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 metaphorFall 2006PSYCH / CS 6750*
CS / Psych 6750
Error Prevention GuidelinesEliminate modes or provide visible cues for modesUse good coding techniques (color, style)Maximize recognition, minimize recallDesign non-similar motor sequences or commandsMinimize need for typingFall 2006PSYCH / CS 6750*
CS / Psych 6750
Error Prevention GuidelinesTest and monitor for errors and engineer them outAllow reconsideration of action by user (e.g., removing file from trash)Fall 2006PSYCH / CS 6750*
CS / Psych 6750
Error Prevention GuidelinesProvide appropriate type of feedbackGag - Prevent user from continuingErroneous loginFall 2006PSYCH / CS 6750*
CS / Psych 6750
Error preventionWarn user an unusual situation is occurringBell or alert box
Fall 2006PSYCH / CS 6750*
CS / Psych 6750
Error preventionNothing - Just dont do anything (Careful, user must determine problem)Mac: move file to bad place
Fall 2006PSYCH / CS 6750*
CS / Psych 6750
Error Recovery GuidelinesProvide undo functionProvide cancel function from operations in progressRequire confirmation for drastic, destructive commandsProvide reasonableness checks on input dataDid you really mean to order 5000?Fall 2006PSYCH / CS 6750*
CS / Psych 6750
Error Recovery GuidelinesHowever, before a user can recover, must be able to detect that an error has occurredDetection: provided by easy visibility, feedbackOther options?Self-correct - Guess correct action & do itSpell-check correctionDialog - System opens dialog with userGo into debugger on run-time crashQuery - Ask user what shouldve been done, then allow error action as legal one (did you mean?)Command language naming errorFall 2006PSYCH / CS 6750*
CS / Psych 6750
Error Recovery GuidelinesReturn cursor to error field, allow fixTell them what to fix, how to fix itProvide some intelligenceGuess what they wanted to doProvide quick access to context-sensitive helpFall 2006PSYCH / CS 6750*
CS / Psych 6750
Error Handling Example (Web)Form fill in is the most common error caseFall 2006PSYCH / CS 6750*
CS / Psych 6750
????Fall 2006PSYCH / CS 6750*
CS / Psych 6750
User Support (aka Help)Line between error recovery and help can be fuzzy
Overarching design principle: must be as unobtrusive as possible
Fall 2006PSYCH / CS 6750*
CS / Psych 6750
Command AssistanceE.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 informationButWhat 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.Fall 2006PSYCH / CS 6750*
CS / Psych 6750
Command PromptsIn CL interfaces, usage prompts are an example.Assumes thatsystem can detect erroruser understands the command well enough to apply the guidanceGenerally only helpful for simple errorsFall 2006PSYCH / CS 6750*
CS / Psych 6750
Context-sensitive HelpMove away from placing onus on user to remember the commandOften not very sophisticatedCommon examples:Microsofts Whats This? optionTooltipsClippy (arrrgh)Whats the context?Just the control itself? (Simple)Users past history and application state? (More sophisticated)Fall 2006PSYCH / CS 6750*
CS / Psych 6750
Wizards and AssistantsAttempt to prevent errors by providing common paths through softwareSafety, efficiency, and accuracy (as long as its a supported task)May be unnecessarily constrainingGuidelines: allow backward movement, show progress indicatorAssistant: Clippy is actually an example of this. A context-sensitive trigger to launch a wizard style interaction
Q: What went wrong with Clippy?Fall 2006PSYCH / CS 6750*
CS / Psych 6750