Usability Based on material by Michael Ernst, University of Washington.

Slides:



Advertisements
Similar presentations
CSE 331 SOFTWARE DESIGN & IMPLEMENTATION USABILITY Autumn 2011 Much due to Rob Miller This lecture is FYI: the material will not be covered on the final.
Advertisements

Usability CSE 331 University of Washington 1 Slides originally from Robert Miller.
CSE 331 Software Design & Implementation Hal Perkins Winter 2012 Usability (Slides by Mike Ernst and David Notkin based on slides due to Robin Miller)
7M701 1 User Interface Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 15
User Interface Design Users should not have to adapt to a piece of software; the software should be designed to fit the user.
User interface design Designing effective interfaces for software systems Objectives To suggest some general design principles for user interface design.
User interface design.
User Interface Design Principles Gabriel Spitz 1 Lecture # 4.
User Characteristics & Design Principles Gabriel Spitz 1 Lecture # 11.
User Interface January 14, 2011 CSE 403, Winter 2011, Brun Three Mile Island.
Power Point EDU 271 Microsoft PowerPoint is a powerful tool to create professional looking presentations and slide shows. PowerPoint allows you to construct.
Spring /6.831 User Interface Design and Implementation1 Lecture 3: Visibility.
User interface design. Recap OOD is an approach to design so that design components have their own private state and operations Objects should have constructor.
CSC 480 Software Engineering Lecture 19 Nov 11, 2002.
©RavichandranUser interface Slide 1 User interface design.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Click to edit Master subtitle style USABILITY and USER INTERFACE DESIGN Application.
Designing Interface Components. Components Navigation components - the user uses these components to give instructions. Input – Components that are used.
← Select Exchange Once logged in. ↓ click Join Course Icon.
SEG3120 User Interfaces Design and Implementation
Software Architecture
INFO 355Week #71 Systems Analysis II User and system interface design INFO 355 Glenn Booker.
6.813/6.831 User Interface Design and Implementation
Gabriel Spitz 1. Light Switch Issues  Consistency – The switch design is inconsistent with common light switches  Visibility – No visible cue regarding.
Usability Olaa Motwalli CIS764, DR Bill – KSU. Overview Usability factors. Usability guidelines.  Software application.  Website. Common mistakes. Good.
6. (supplemental) User Interface Design. User Interface Design System users often judge a system by its interface rather than its functionality A poorly.
Programming Logic and Design Seventh Edition Chapter 12 Event-Driven GUI Programming, Multithreading, and Animation.
Welcome to the Basic Microsoft Word Guide. Before you start this Guide, you will need to complete “Basic Computer”; “Basic Windows” and know how to type.
Fundamentals of Windows Mouse n 4 Basic Operations: –Pointing –Clicking –Double Clicking –Dragging.
*Some slides are modified from ocw.mit.edu
Human Computer Interaction Lecture 21 User Support
Chapter 6 : User interface design
Microsoft Word 125 S. Clark St., 4th floor, Chicago, Illinois  Telephone  Fax
Creating a Presentation
User Interface Design SCMP Special Topic: Software Development
Lecture on UI Design and Paper Prototyping
Microsoft Excel.
Human Computer Interaction Lecture 21,22 User Support
11 Scheduling.
The Desktop Screen image displayed when a PC starts up A metaphor
Introduction to presentations ms PowerPoint
Lesson 2 Tables and Charts
Excise Tasks CS 4640 Programming Languages for Web Applications
Usability engineering
Wrapping up prototyping
Prototyping.
Unit 2 User Interface Design.
Guide To UNIX Using Linux Third Edition
Microsoft Word 2003 Illustrated Complete
Exploring the Basics of Windows XP
Design, prototyping and construction
Accidental and Essential Problems Excise Tasks
Microsoft Windows 2000 Professional
Web User Interface (WUI) Behavior
Microsoft Excel All editions of Microsoft office.
Chapter 2 – Introduction to the Visual Studio .NET IDE
Microsoft Word Text Basics.
Software Engineering D7025E
Design : Agenda Design challenges Idea generation Design principles
GRAPHICAL USER INTERFACE
This is where your title of your presentation will typically go.
Microsoft Word 2010 Lesson 10 Lesson 10
Human Factors / User Interface Design Guidelines
Systems Analysis and Design in a Changing World, 6th Edition
Microsoft Word 2010 Lesson 10 Lesson 10
Efficiency CS 422: UI Design and Programming
Official Interface Guidelines
Chapter 4 Enhancing the Graphical User Interface
Welcome To Microsoft Word 2016
Design, prototyping and construction
Presentation transcript:

Usability Based on material by Michael Ernst, University of Washington

Announcements Optional cumulative quiz will be given online in Submitty on May 2. Replaces your lowest Quiz 1 – 10. More details on Monday. Course evaluations are open. Current participation rate 22%. Bring your laptops on Monday. 5 – 10 minutes to complete your evaluations Review session initiative: participation rate >= 80% => optional review session for the final exam offered during study days

Outline Usability Iterative Design Design Implement Evaluate Design principles Implement Low-fidelity prototypes Evaluate User testing Spring 18 CSCI 2600, K. Kuzmin, A Milanova

User Interface Hall of Shame Click & Print Certificates is a useful little shareware program for printing a variety of certificates and awards. The program offers a "Style Buddy" to help the user select which of a number of certificates to print. Once you get past the obvious problems with the dialog (instructions in the title bar, right-aligned, vertically-oriented instructions, Cancel button before the OK button, reference to an "OKAY" button, the use of all capital letters, the hard-coded sickly green color, etc.), there are some important design problems related to the choice of control for selecting the desired style. The various styles can be previewed through the use of the horizontal scroll bar; each click displays a different certificate style. There are two significant problems with this design. In the first place, the only way to determine which styles are available is to scroll entirely through each of the styles. A second problem is that the only way to select a particular style is to browse through all those that precede it. For example, to select the "Team Player" certificate, the user must click on the scroll bar 9 times, waiting for the program to load a preview of each of the 9 certificates that precede it. Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Source: Interface Hall of Shame

User Interface Hall of Shame Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Source: Interface Hall of Shame

Better Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Source: Interface Hall of Shame

User Interface Hall of Shame You cannot directly edit the Date and Time fields from the keyboard. If you want to edit Time, you must click on “Set Time”, which triggers the “Clock” control, where you have to use the mouse to move the Minute and Hour hands. Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Source: Interface Hall of Shame

Hall of Shame or Fame? Context Menus Efficiency Steering Spring 18 CSCI 2600, K. Kuzmin, A Milanova

Hall of Shame or Fame? Mode Mode errors Unrecoverable errors Safety

MS Office Clippit. Hall of Shame or Fame? Spring 18 CSCI 2600, K. Kuzmin, A Milanova

Designing User Interfaces Is Hard You are not the user Most software engineering is about communicating with programmers Who are a lot like us UI is about communicating with users Users are NOT like us The user is ALWAYS right Usability problems are the design’s fault Hard lesson to learn: if the user consistently gets stuck, this is not because the user is dumb, but because the interface is poorly designed

Designing User Interfaces Is Hard … unfortunately, user is not always right User cannot predict what they really want 1950’s experiment with telephone handsets Users thought weight was fine Actually, they really wanted half the weight # of results displayed for a Google search query Users say they want 30 Actually, usage drops 20% relative to 10

Iterative Design UI development is an iterative process Iterations can be costly If the design turns out to be bad, you many have to throw away most of your code Design Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Slide from Michael Ernst

Spiral Model Use throw-away prototypes and cheap evaluation for early iterations Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Slide from Michael Ernst

Usability Usability: how well users can use the system’s functionality Dimensions of usability Learnability: is it easy to learn? Efficiency: once learned, is it fast to use? Safety: are errors few and recoverable? Memorability: is it easy to remember what you learned? Satisfaction: is it enjoyable to use? Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Slide from Michael Ernst

Dimensions of Usability Learnability Efficiency Safety Simplicity (not a usability dimension) Different dimensions vary in importance Depends on the user Depends on the task Usability is only one aspect of the system Software designers need to worry about other aspects: costs, security, functionality, maintainability, size, and more.

Learnability IBM’s Real CD Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Source: Interface Hall of Shame

Learnability Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Source: Interface Hall of Shame

Learnability LMS Create Weighted Column Spring 18 CSCI 2600, K. Kuzmin, A Milanova

Learnability LMS Create Weighted Column Spring 18 CSCI 2600, K. Kuzmin, A Milanova

Facts About Memory & Learning Working memory Small: 7 ± 2 “chunks” Short-lived: gone in ~10 seconds Maintenance rehearsal is required to keep it from decaying but costs attention Long-term memory Practically infinite in size and duration Elaborative rehearsal transfer chunks to long-term memory Working Memory Long-term Memory Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Slide from Michael Ernst

Design Principles for Learnability Consistency Similar things look similar, different things different Terminology, location, … Internal, external, metaphorical design Use common, simple words, not tech jargon! Recognition, not recall Labeled buttons are better than commands Combo boxes are better than text boxes

Tech Jargon UHLS Catalog Advanced Search Spring 18 CSCI 2600, K. Kuzmin, A Milanova

Tech Jargon UHLS Catalog Advanced Search Spring 18 CSCI 2600, K. Kuzmin, A Milanova

Google Back in 2003 Spring 18 CSCI 2600, K. Kuzmin, A Milanova

Google Now

Visibility Spring 18 CSCI 2600, K. Kuzmin, A Milanova

Facts About Human Perception Perceptual fusion: stimuli ~100 ms apart appear fused to our perceptual system 10 frames/sec is enough to perceive a moving picture Computer response < 100 ms feels instantaneous Color blindness: many users (~8% of all males) can’t distinguish red from green Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Slide from Michael Ernst

Design Principles for Visibility Make system state visible: keep the user informed about what’s going on Mouse cursor, selection highlight, status bar Give prompt feedback Response time rules-of-thumb: < 0.1 sec seems instantaneous 0.1 – 1 sec user notices 1 - 5 sec display busy cursor > 5 sec display progress bar Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Slide from Michael Ernst

Facts About Motor Processing Open-loop control Motor processor runs by itself Cycle time is ~ 70ms Closed-loop control Muscle movements are perceived and compared with desired result Cycle time is ~ 140ms Perception Cognitive Motor Senses Muscles The Human Motor Processer was developed as a high-level engineering model of how the human perception system works. With open-loop control, the motor processor has all the information to carry out the movement. With close-loop control, we are constantly registering and evaluating the accuracy of the movement. Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Slide due to Michael Ernst.

Pointing Tasks: Fitts’s Law How long does it take to move your hand to a target of size S at distance D away? E.g. moving mouse to target on screen The HMP model helps derive the Fitts law, which helps estimate how long does it take to reach a target. D S Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Slide from Michael Ernst

Fitts’s Law T = RT + MT = a + b log (D/S)  Reaction time  Movement time T = RT + MT = a + b log (D/S) log (D/S) is the index of difficulty of the pointing task a and b are model parameters that designers can suitably set up, for example, to model slower reaction or reduced movement ability. D S Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Slide from Michael Ernst

Derivation of Fitts’s Law Moving your hand is closed-loop control Each cycle covers remaining distance d with error εd After two cycles, within ε2D of target Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Slide from Michael Ernst

Path Steering Tasks: Steering Law Fitts’s Law applies only if path to target is unconstrained But the task is much harder if path is constrained to a tunnel Steering Law: T = RT + MT = a + b (D/S) Steering tasks are difficult! E.g., cascading menus. D D Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Slide from Michael Ernst

Design Principles for Efficiency Fitts’s Law and Steering Law Make important targets big, nearby, or at screen edges Avoid steering tasks! Provide shortcuts Keyboard accelerators Bookmarks History Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Slide from Michael Ernst

Usability Dimensions Learnability Efficiency Safety Simplicity Software designers need to worry about other aspects: costs, security, functionality, maintainability, size, and more. Spring 18 CSCI 2600, K. Kuzmin, A Milanova

Mode Errors Modes: states in which actions have different meanings E.g., vi’s insert mode vs. command mode Avoiding mode errors Eliminate modes entirely Visibility of mode Disjoint action sets in different modes Spring 18 CSCI 2600, K. Kuzmin, A Milanova

Hall of Shame or Fame? If while on Save, we click Ctl+Q, this doesn’t quit, it changes shortcut for Save to Ctl+Q! Mode error Unrecoverable

Confirmation Dialogs Spring 18 CSCI 2600, K. Kuzmin, A Milanova

Confirmation Dialogs: Deleting files in the LMS file system I selected the files and clicked Delete Spring 18 CSCI 2600, K. Kuzmin, A Milanova

Confirmation Dialogs: Deleting files in the LMS file system Not done! Confirmation dialog pops up. Clicked OK Spring 18 CSCI 2600, K. Kuzmin, A Milanova

Confirmation Dialogs: Deleting files in the LMS file system Still not done! Clicked Submit and finally done! Another issue with file system: behavior inconsistent with other systems. Spring 18 CSCI 2600, K. Kuzmin, A Milanova

Design Principles for Error Handling (Safety) Use confirmation dialogs sparingly Prevent errors as much as possible Selection is better than typing Avoid mode errors Disable illegal commands Separate risky command from common ones Support Undo Spring 18 CSCI 2600, K. Kuzmin, A Milanova

Design Principles for Error Handling (Safety) Good error messages Precise Speak the user’s language Constructive help Be polite Source: Interface Hall of Shame

Simplicity Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Slide by Michael Ernst.

Simplicity, Google Back in 2003 Spring 18 CSCI 2600, K. Kuzmin, A Milanova

Simplicity, Google Now Spring 18 CSCI 2600, K. Kuzmin, A Milanova

Simplicity, Google Now Spring 18 CSCI 2600, K. Kuzmin, A Milanova Bartolomeo Cristofori Spring 18 CSCI 2600, K. Kuzmin, A Milanova

Design Principles for Simplicity “Less is More!” Omit extraneous information, graphics & features Good graphic design Few well-chosen colors and fonts Group with whitespace Use concise language Choose labels carefully Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Slide from Michael Ernst

Document Your System Write the user manual What is hard to do? Program and UI metaphors Key functionality Do not include: exhaustive list of all menus What is hard to do? Who is your target audience? Power users need a manual Casual users might not Piecemeal online help is no substitute Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Slide from Michael Ernst

Outline of Today’s Class Usability Iterative Design Design Design principles Implement Low-fidelity prototypes Evaluate User testing Spring 18 CSCI 2600, K. Kuzmin, A Milanova

Low-fidelity Prototype Paper is a very fast and effective prototyping tool Sketch windows, menus, dialogs, widgets Crank out lots of designs and evaluate them Hand-sketching is OK --- even preferable Focus on behavior & interactions, not fonts & colors Similar to design of your ADTs and classes Paper prototypes can even be executed! Use pieces to represent windows, dialogs, menus Simulate computer’s responses by moving pieces around and writing on them Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Slide due to Michael Ernst

User Testing Start with a prototype Write up a few representative tasks Short but non-trivial E.g., “add this meeting to calendar”, E.g., “type this letter and print it” Find a few representative users 3 is often enough to find obvious problems Watch them do tasks with the prototype Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Slide due to Michael Ernst

How to Watch Users Brief the user first Ask user to think aloud “I’m testing the system, not testing you” “If you have trouble, it’s the system’s fault” “Feel free to quit at any time” Ethical issues: informed consent Ask user to think aloud Be quiet! Don’t help, don’t explain, don’t point out mistakes Two exceptions: prod user to think aloud, and move on to the next task when stuck Take lots of notes

Watch for Critical Incidents Critical incidents: events that strongly affect task performance or satisfaction Usually negative Errors Repeated attempts Curses Can also be positive “Cool!” “Oh, now I see.” Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Slide due to Michael Ernst

Summary You are not the user Keep human capabilities and design principles in mind Iterate over your design Write documentation Make cheap, throw-away prototypes Evaluate them with users Spring 18 CSCI 2600, K. Kuzmin, A Milanova. Slide due to Michael Ernst

Spring 18 CSCI 2600, K. Kuzmin, A Milanova