Lecture 21 ● Questions about the group project? ● Schedule reminders: – Tuesday, December 2, is a project work day. Groups must meet during class time. – Group presentations will be Thursday, December 4. We also will do IDEA forms at the end of class. – Tuesday, December 9 will be a course wrap-up November 25, 2014 CS 350 - Computer/Human Interaction 1 Outline ● Chapter 21 – Interaction Cycle ● Chapter 22 – UX Design Guidelines – Planning – Translation November 25, 2014 CS 350 - Computer/Human Interaction 2 The Interaction Cycle ● ● ● Adaptation of Norman’s “stages-of-action” model Characterizes sequences of user actions typically occurring in interaction Between human user and almost any kind of machine November 25, 2014 CS 350 - Computer/Human Interaction 3 Norman’s stages-of-action model November 25, 2014 CS 350 - Computer/Human Interaction 4 The gulf of execution ● ● Language gap from user to system – Desired effect (user goals and intentions) known in work domain – What to do in system to make it happen? Need translation to convert – From intentions in work domain – To actions on objects in system domain November 25, 2014 CS 350 - Computer/Human Interaction 5 The gulf of evaluation ● ● Language gap from system back to user – Observe system feedback about what happened in the system – What does that mean in terms of meeting user goals? Need translation to convert – From state changes in system – To assessing outcome in work domain November 25, 2014 CS 350 - Computer/Human Interaction 6 The Interaction Cycle: adaptation of Norman’s model November 25, 2014 CS 350 - Computer/Human Interaction 7 Scope and universality ● Graphical user interfaces (GUIs) ● Web pages ● Hand-held or mobile devices ● ATMs, elevator buttons, highway signage ● Almost any kind of device or system November 25, 2014 CS 350 - Computer/Human Interaction 8 Planning ● ● ● Help users understand what system features exist and how they can be used in their work context Make clear all possibilities for what users can do at every point Help users plan most efficient ways to complete their tasks November 25, 2014 CS 350 - Computer/Human Interaction 9 Planning ● Design helping user know what to do – User model and high-level understanding of system – User goal decomposition – Task/step structuring and sequencing, workflow – Supporting learning at planning level November 25, 2014 CS 350 - Computer/Human Interaction 10 Planning ● Example: Tabs at top digital library Website pages not well organized by task November 25, 2014 CS 350 - Computer/Human Interaction 11 Planning ● ● Keep users aware of task progress, what has been done and what is left to do Provide cognitive affordances to remind users to complete transaction November 25, 2014 CS 350 - Computer/Human Interaction 12 Translation ● ● ● Provide effective cognitive affordances that help users get access to system functionality Help users know/learn what actions are needed to carry out intentions Help users predict outcome of actions November 25, 2014 CS 350 - Computer/Human Interaction 13 Translation ● Design helping user know how to do something – Existence of cognitive affordance – Presentation of cognitive affordance (issues about noticeability, legibility) – Content, meaning of cognitive affordance (issues about clarity, precision) – Task structures for flexibility and efficiency November 25, 2014 CS 350 - Computer/Human Interaction 14 Existence of cognitive affordance ● Help users determine how to get started November 25, 2014 CS 350 - Computer/Human Interaction 15 Presentation of cognitive affordance ● About how cognitive affordances appear to users – Not about how they convey meaning November 25, 2014 CS 350 - Computer/Human Interaction 16 Make cognitive affordances visible ● Example: Looking for deodorant in a store November 25, 2014 CS 350 - Computer/Human Interaction 17 Make cognitive affordances visible ● Example: Can't see sign until get around display November 25, 2014 CS 350 - Computer/Human Interaction 18 Presentation of cognitive affordance ● ● ● Make cognitive affordances noticeable – Status message lines often do not work – Pop-up message next to cursor will be far more noticeable Make text legible, readable Mainly about font size, color, contrast with background November 25, 2014 CS 350 - Computer/Human Interaction 19 Presentation of cognitive affordance ● Give similar cognitive affordances consistent appearance in presentation – Example: Archive button jumps around November 25, 2014 CS 350 - Computer/Human Interaction 20 Presentation of cognitive affordance November 25, 2014 CS 350 - Computer/Human Interaction 21 Content and meaning of cognitive affordance ● ● Use precise wording for clarity in labels, menu titles, menu choices, icons, data fields Example: adapt label to system state (“Marked for Deletion”) – Label is declarative whether box is checked or not – Better if label changes when checkbox state changes November 25, 2014 CS 350 - Computer/Human Interaction 22 Content and meaning of cognitive affordance November 25, 2014 CS 350 - Computer/Human Interaction 23 Content and meaning of cognitive affordance ● Provide cognitive affordances to indicate formatting within data fields – What is the format for the effective date? November 25, 2014 CS 350 - Computer/Human Interaction 24 Content and meaning of cognitive affordance ● ● Make choices distinguishable Example: Tragic airplane crash—unfortunate but true story – October 31, 1999 – EgyptAir Flight 990 airliner crash traced directly to poor usability in cockpit controls design November 25, 2014 CS 350 - Computer/Human Interaction 25 Make choices distinguishable ● Two sets of switches – – – ● Similar in appearance Similar labels: Cut out and Cut off Located relatively close to each other Both switches are used infrequently, only under (different) unusual flight conditions – – Even highly-trained expert pilots would not be experienced with these switches Therefore, higher importance of cognitive affordances in the labels November 25, 2014 CS 350 - Computer/Human Interaction 26 Make choices distinguishable ● Theory of crash (from blackbox data) – Hit a downdraft – Attempted to pull plane out of unexpected dive – Intended to set “Cut out” switches to stabilizer trim – But accidentally set “Cut off” switches, shutting off fuel to both engines November 25, 2014 CS 350 - Computer/Human Interaction 27 Design issues ● ● Distinguishability of labeling, especially under conditions of stress and infrequent use Solution: add distinguishability by making labels more complete (add all-important noun) – “Cut out trim” versus “Cut off fuel” – Putting noun first even better: “Fuel off” and “Trim out” November 25, 2014 CS 350 - Computer/Human Interaction 28 Design issues ● Physical proximity of the two controls – ● Inviting physical slip of grabbing wrong one despite knowing difference Stabilizer trim and fuel functions completely unrelated – Solution: Separate and regroup with related functions – Further: Protect “Fuel off” switch; require additional physical action to access November 25, 2014 CS 350 - Computer/Human Interaction 29 Content and meaning of cognitive affordance ● Consistency of cognitive affordance wording to convey meaning – Use consistent wording in labels for menus, buttons, icons, fields – Use similar names for similar kinds of things November 25, 2014 CS 350 - Computer/Human Interaction 30 Do not use multiple synonyms for same thing November 25, 2014 CS 350 - Computer/Human Interaction 31 Use same term for same things November 25, 2014 CS 350 - Computer/Human Interaction 32 Use consistent way for user to express similar kinds of choices ● Example: “Circle all selections,” but size choice is by check boxes November 25, 2014 CS 350 - Computer/Human Interaction 33 Control complexity with layout and grouping by function ● Group together objects and design elements associated with related tasks and functions – What does OK do? November 25, 2014 CS 350 - Computer/Human Interaction 34 Control complexity with layout and grouping by function ● November 25, 2014 CS 350 - Computer/Human Interaction Do not group together objects and design elements associated with different tasks or objects 35 Content and meaning of cognitive affordance ● ● Be complete in your design of cognitive affordances Include enough information for users to determine correct action ● Use enough words for unambiguous labels ● Long labels are not necessarily bad ● Adding words can add precision November 25, 2014 CS 350 - Computer/Human Interaction 36 Content and meaning of cognitive affordance ● Example: what does “revert” mean and what are consequences of “reverting?” November 25, 2014 CS 350 - Computer/Human Interaction 37 Content and meaning of cognitive affordance ● Example: urgent but unclear question – But what are the consequences? November 25, 2014 CS 350 - Computer/Human Interaction 38 Usage centeredness in cognitive affordances ● ● Employ usage-centered wording, language of user and work context Example: toaster “system” (at Harlaxton?) – Users put bread on input side of a conveyor belt going in – Inside, overhead heating coils – Bread comes out other end as toast November 25, 2014 CS 350 - Computer/Human Interaction 39 Usage centeredness in cognitive affordances ● Some toaster systems – Single control, a knob labeled “Speed” – Additional labels ● ● ● “Faster” (clockwise rotation of knob) “Slower” (counterclockwise rotation) Translation across gulf of execution – Slower moving belt makes darker toast because bread is under heating coils longer – Faster movement means lighter toast November 25, 2014 CS 350 - Computer/Human Interaction 40 Usage centeredness in cognitive affordances ● Often observed confusion and amusement – Concept of speed doesn't match mental model of toast making ● ● ● “Why do we have a knob to control toaster speed?” “Why would anyone wait to make toast slowly when they could get it faster?” Easy solution – Use labels in user’s work domain rather than in system domain – “Lighter” and “darker” November 25, 2014 CS 350 - Computer/Human Interaction 41 Anticipate and avoid user errors with cognitive affordances in design ● Shampoo and conditioner November 25, 2014 CS 350 - Computer/Human Interaction 42 Anticipate and avoid user errors with cognitive affordances in design ● User-created affordances November 25, 2014 CS 350 - Computer/Human Interaction 43 Anticipate and avoid user errors with cognitive affordances in design ● Another design approach November 25, 2014 CS 350 - Computer/Human Interaction 44 Anticipate and avoid user errors with cognitive affordances in design ● ● ● ● Help users avoid inappropriate and erroneous choices Disable buttons, menu choices to make inappropriate choices unavailable Gray out to make inappropriate choices appear unavailable But help users understand why a choice is unavailable November 25, 2014 CS 350 - Computer/Human Interaction 45 Cognitive affordances for error recovery ● ● Provide a clear way to undo and reverse actions Offer constructive help for error recovery November 25, 2014 CS 350 - Computer/Human Interaction 46 Design task structure for flexibility and efficiency ● Provide alternative ways to perform tasks ● Provide shortcuts ● ● Provide keyboard alternatives to avoid physical “switching” actions But don’t overload the possibilities – Avoid grouping of objects and functions that need to be dealt with separately November 25, 2014 CS 350 - Computer/Human Interaction 47 Design task structure for flexibility and efficiency ● Task thread continuity – – ● Anticipate most likely next action, step, or task path If you tell them what they should do, help them get there Example: dialogue box message – – – Tells user that page margins are too wide for printed page Suggests resetting page margins so document can be printed Therefore, follow up with button to go directly to page setup screen November 25, 2014 CS 350 - Computer/Human Interaction 48 Design task structure for flexibility and efficiency ● Efficiency – Do not make user redo any work, reenter data – Retain user state information ● Example: having to find folder you are working in, over and over November 25, 2014 CS 350 - Computer/Human Interaction 49 Design task structure for flexibility and efficiency ● Keeping users in control – Maddening when applications or webpages steal focus with no indication of what happened – Control jerked away and working context disappears – Takes extra cognitive energy and physical actions to get back – Can happen repeatedly November 25, 2014 CS 350 - Computer/Human Interaction 50 Physical Actions ● Design helping user do actions – Existence of necessary physical affordances in user interface. – Sensing UI objects for and during manipulation November 25, 2014 CS 350 - Computer/Human Interaction 51 Physical Actions ● Design helping user do actions – Manipulating UI objects, making physical actions – Fitts law issues – Issues of awkwardness and fatigue – Haptics and physicality November 25, 2014 CS 350 - Computer/Human Interaction 52 Outcomes ● Internal, invisible effect/result within system – ● ● ● Outcomes must be revealed to user via system feedback Where usefulness lives Functional affordance of non-user-interface system functionality Issues are about computational errors, software bugs November 25, 2014 CS 350 - Computer/Human Interaction 53 Assessment ● Design helping user know if interaction was successful – Existence of feedback – Presentation of feedback – Content, meaning of feedback November 25, 2014 CS 350 - Computer/Human Interaction 54