34
Errors & Help An ounce of prevention...

Errors & Help An ounce of prevention.... Microsoft’s Spectacular Errors Adobe UI Gripes Fall 2006PSYCH / CS 67502

Embed Size (px)

Citation preview

  • 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