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.

Slides:



Advertisements
Similar presentations
Chapter 11 Designing the User Interface
Advertisements

GENERAL USABILITY CONSIDERATIONS. Overview of usability Aspects of usability – Learnability, memorability, efficiency, error reduction Techniques for.
2-May-15 GUI Design. 2 HMI design There are entire college courses taught on HMI (Human-Machine Interface) design This is just a very brief presentation.
© De Montfort University, Characteristics of Good Dialogues Howell Istance Department of Computer Science De Montfort University.
COMP 3715 Spring 05. Computer Interface Interaction between human and computer Has to deal with two things  User’s mental model Different user has different.
Usability CSE 331 University of Washington 1 Slides originally from Robert Miller.
Spring /6.831 User Interface Design and Implementation1 Lecture 1: Usability.
CSE 331 Software Design & Implementation Hal Perkins Winter 2012 Usability (Slides by Mike Ernst and David Notkin based on slides due to Robin Miller)
User Interface Design Notes p7 T120B pavasario sem.
Arthur Fink Page 1 Thinking about User Interface Design for OpenEdge GUI for.NET (or any other environment) by Arthur Fink
Ch 11 Cognitive Walkthroughs and Heuristic Evaluation Yonglei Tao School of Computing and Info Systems GVSU.
11 HCI - Lesson 5.1 Heuristic Inspection (Nielsen’s Heuristics) Prof. Garzotto.
XP Exploring the Basics of Microsoft Windows XP1 Exploring the Basics of Windows XP.
7M701 1 User Interface Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 15
1 SWE Introduction to Software Engineering Lecture 26 – User Interface Design (Chapter 16)
User Interface Design. Overview The Developer’s Responsibilities Goals and Considerations of UI Design Common UI Methods A UI Design Process Guidelines.
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.
MCT260-Operating Systems I Operating Systems I Interfaces to Operating Systems.
Chapter 13: Designing the User Interface
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 1 User interface design.
Spring /6.831 User Interface Design and Implementation1 Lecture 6: User-Centered Design GR1 (project proposal & analysis) released today, due.
User interface design.
Learning About Technology Chapter 2. 2 Learning New Tools How do you learn to use new tools?  Read the instruction manual Programming a VCR Cooling my.
User Interface January 14, 2011 CSE 403, Winter 2011, Brun Three Mile Island.
Systems Analysis and Design in a Changing World, 6th Edition
Human-Computer Interaction
Windows Basics: Desktop, Taskbar and Window
Windows Basics: Desktop, Taskbar and Window
Systems Analysis and Design in a Changing World, 6th Edition
Microsoft Wang Li, Wang Yini, Li YIcheng.  This is a presentation about Microsoft Windows7 guidelines  Wang Li K8wali00  Li Yicheng K8liyi00  Wang.
Spring /6.831 User Interface Design and Implementation1 Lecture 3: Visibility.
14 Chapter 11: Designing the User Interface. 14 Systems Analysis and Design in a Changing World, 3rd Edition 2 Identifying and Classifying Inputs and.
MICROSOFT WORD GETTING STARTED WITH WORD. CONTENTS 1.STARTING THE PROGRAMSTARTING THE PROGRAM 2.BASIC TEXT EDITINGBASIC TEXT EDITING 3.SAVING A DOCUMENTSAVING.
11.10 Human Computer Interface www. ICT-Teacher.com.
CS 4720 Usability and Accessibility CS 4720 – Web & Mobile Systems.
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.
Q Q Human Computer Interaction – Part 1© 2005 Mohammed Alabdulkareem Human Computer Interaction - 1 Dr. Mohammed Alabdulkareem
1 CSCI E-170: L01 February 2, Lecture Plan Introduction to this class Introduction to usability GUI usability: Design Process, Principles & Bloopers.
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.
Information Technology Word Processing. Word Processing is the preparation of documents such as letters, reports, memos, books, or any other type of correspondences.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
CS 352, W12 Eric Happe, Daniel Sills, Daniel Thornton, Marcos Zavala, Ben Zoon ANDROID/IOS RPG GAME UI.
Software Architecture
INFO 355Week #71 Systems Analysis II User and system interface design INFO 355 Glenn Booker.
More on Design of Everyday Things. Turn it up, or shut it down?
CS 352, W12 Eric Happe, Daniel Sills, Daniel Thornton, Marcos Zavala, Ben Zoon ANDROID/IOS RPG GAME UI.
Chapter Three The UNIX Editors.
Prototyping. REVIEW : Why a prototype? Helps with: –Screen layouts and information display –Work flow, task design –Technical issues –Difficult, controversial,
Oct 021 Outline What is a widget? Buttons Combo boxes Text components Message boxes.
LECTURE 18 16/11/15. MAKING THE INTERFACE CONSISTENT Consistency is one way to develop and reinforce the users conceptual model of applications and give.
Fall UI Design and Implementation1 Lecture 5: Design Principles.
Ch16: User Interface Design Users often judge a system by its interface rather than its functionality Poorly designed interfaces can cause users to make.
Design Phase intro & User Interface Design (Ch 8)
Cs413_design02.ppt GUI Design The User Controls Navigation Traditional GUI design the designer can control where the user can go gray out menu options.
Executive Summary - Human Factors Heuristic Evaluation 04/18/2014.
6. (supplemental) User Interface Design. User Interface Design System users often judge a system by its interface rather than its functionality A poorly.
Heuristic Evaluation May 4, 2016
*Some slides are modified from ocw.mit.edu
Chapter 6 : User interface design
Chapter 2 Hix & Hartson Guidelines.
Heuristic Evaluation August 5, 2016
Prototyping.
Usability Based on material by Michael Ernst, University of Washington.
Software Engineering D7025E
Human Factors / User Interface Design Guidelines
Presentation transcript:

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

What’s wrong?  Usability is about creating effective user interfaces  The first slide shows a WYSIWYG GUI – but it still fails – why?  The long help message is needed for a simple task because the interface is bizarre!  The scrollbar is used to select an award template  Each position on the scrollbar represents a template, and moving the scrollbar back and forth changes the template shown  Cute but bad use of a scrollbar  How many templates? No indication on scrollbar  How are the templates organized? No hint CSE 331 Autumn

User Interface Hall of Shame  Inconsistent with common usage of scrollbars – usually used for continuous scrolling, not discrete selection  How does a frequent user find a template they’ve used before? 3 Source: Interface Hall of Shame

Redesigning the Interface 4 Source: Interface Hall of Shame

Another for the Hall of Shame 5 Source: Interface Hall of Shame  The date and time look editable but aren’t – click “Set Time” for a dialog box instead  Dialog box displays inconsistently with launch time – 12 vs. 24, analog vs. digital  Click left [right] button to increase the minutes [hours] by 1 – makes a sophisticated GUI into a clock radio! Launches housekeeping tasks at scheduled intervals

User Interfaces Are Hard to Design  You are not the user  Most software engineering is about communicating with other programmers  UI is about communicating with users  The user is always right  Consistent problems are the system’s fault  …but the user is not always right  Users aren’t designers 6

7 Iterative Design  UI development is an iterative process  Iterations can be costly – but the benefits can be high  If the design turns out to be bad, you may have to throw away most of your code Design ImplementEvaluate

8 Spiral Model  Use throw-away prototypes and cheap evaluation for early iterations Design ImplementEvaluate

9 Usability Defined  Usability: how well users can use the system  Dimensions of usability  Learnability: is it easy to learn?  Efficiency: once learned, is it fast to use?  Memorability: is it easy to remember what you learned?  Errors: are errors few and recoverable?  Satisfaction: is it enjoyable to use?

10 Lecture Outline 1. Design 2. Implement3. Evaluate design principles low-fidelity prototypes user testing

Learnability 11  Related to “intuitive” and “user-friendly”  The first example had serious problems with learnability, especially with the scrollbar  Unfamiliar usage  Inconsistent usage  And outright inappropriate usage

Metaphorical Design  Designers based it on a real-world plastic CD case  Metaphors are one way to make an interface “intuitive,” since users can make guesses about how it will work  Dominated by static artwork – clicking it does nothing  Why? A CD case doesn’t actually play CDs, ao the designers had to find a place for the core player controls  The metaphor is dictating control layout, against all other considerations  Also disregards consistency with other desktop applications. Close box? Shut it down? 12 Source: Interface Hall of Shame

People Don't Learn Instantly  To design for learnability it helps to know how people actually learn  This example shows overreliance on the user’s memory  It’s a modal dialog box, so the user needs to click OK  But then the instructions vanish from the screen, and the user is left to struggle to remember them  Just because you've said it, doesn't mean they know it 13 Source: Interface Hall of Shame

Facts About Memory & Learning  Working memory  Small: 7 ± 2 “chunks”  Short-lived: gone in ~10 sec  Maintenance rehearsal is required to keep it from decaying (but costs attention)  Long-term memory  Practically infinite in size and duration  Elaborative rehearsal transfers chunks to long-term memory 14 Long-term Memory Working Memory

Design Principles for Learnability  Consistency  Similar things look similar, different things different  Terminology, location, argument order,...  Internal, external, metaphorical  Match the real world  Common words, not tech jargon  Recognition, not recall  Labeled buttons are better than command languages  Combo boxes are better than text boxes 15 Source: Interface Hall of Shame

Visibility  Familiar, easy to use  But passes up some tremendous opportunities, including  Why only one line of display? Why not a history?  Why only one memory slot? Why display “M” instead of the actual number stored in memory?  Visibility also compromised by invisible modes When entering a number, pressing a digit appends it to the number; but after pressing an operator button, the next digit starts a new number – no visible feedback the low-level mode It also lets you type numbers on the keyboard, but there is no hint about this 16

17 Feedback

18 Facts About Human Perception  Perceptual fusion: stimuli < 100ms apart appear fused to our perceptual systems  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 normal visionred-green deficient

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 secseems instantaneous  secuser notices, but no feedback needed  1-5 secdisplay busy cursor  > 1-5 secdisplay progress bar 19

Efficiency  How quickly can an expert operate the system – input, commands, perceiving and processing output  About the performance of the I/O channel between the user and the program  Fewer keystrokes to do a task is usually more efficient; but it’s subtle  The Gimp interface uses only contextual, cascading submenus – studies show it’s actually slower to use than a menu bar 20

21 Some Facts About Motor Processing  Open-loop control  Motor processor runs by itself  Cycle time is ~ 70 ms  Closed-loop control  Muscle movements (or their effect on the world) are perceived and compared with desired result  Cycle time is ~ 240 ms Senses PerceptualCognitive Motor Muscles Feedback

Pointing Tasks: Fitts’s Law  How long does it take to reach a target?  Moving mouse to target on screen  Moving finger to key on keyboard  Moving hand between keyboard and mouse 22 D S

Design Principles for Efficiency  Fitts's Law and Steering Law (constrained movement)  Make important targets big, nearby, or at screen edges  Avoid steering tasks  Provide shortcuts  Keyboard accelerators  Styles  Bookmarks  History 23 Source: Interface Hall of Shame

Mode Error  Modes: states in which actions have different meanings  Vi’s insert mode vs. command mode  Drawing palette  Reducing mode errors  Eliminate modes entirely  Visibility of mode  Disjoint action sets in different modes 24

Confirmation Dialogs: “Are you sure?”  They make common operations take two button presses rather than one  Frequent confirmations dialogs lead to expert users chunking it as part of the operation  Reversibility (i.e. undo) is a far better solution than confirmation – operations that are very hard to reverse may deserve confirmation, however 25

26 Design Principles for Error Handling  Prevent errors as much as possible  Selection is better than typing  Reduce mode errors  Disable illegal commands  Separate risky commands from common ones  Use confirmation dialogs sparingly  Support undo  Good error messages  Precise  Speak the user’s language  Constructive help  Polite Source: Interface Hall of Shame

27 Simplicity Source: Alex Papadimoulis

28 Simplicity

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 29

Document your system  Write the user manual  Program and UI metaphors  Key functionality  Not: exhaustive list of all menus  What is hard to describe?  Who is your target user?  Power users need a manual  Casual users might not  Piecemeal online help is no substitute 30

31 Lecture Outline 1. Design 2. Implement3. Evaluate design principles low-fidelity prototypes user testing

32 Low-fidelity Prototypes  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 & interaction, not fonts & colors  Similar to design of your data structures & algorithms  Paper prototypes can even be executed  Use pieces to represent windows, dialogs, menus  Simulate the computer’s responses by moving pieces around and writing on them

33 Paper Prototypes

34 Paper Prototypes

35 Paper Prototypes

User Testing  Start with a prototype  Write up a few representative tasks  Short, but not trivial  e.g.:“add this meeting to calendar”, “type this letter and print it”  Find a few representative users  Three is often enough to find obvious problems  Watch them do tasks with the prototype 36

How to Watch Users  Brief the user first (being a test user is stressful)  “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  Sit on your hands if it helps  Two exceptions: prod user to think aloud (“what are you thinking now?”), and move on to next task when stuck  Take lots of notes 37

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.” 38

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 39

Further Reading  General books on usability  Johnson. GUI Bloopers: Don’ts and Dos for Software Developers and Web Designers, Morgan Kaufmann,  Jef Raskin, The Humane Interface, Addison-Wesley  Hix & Hartson, Developing User Interfaces, Wiley  Low-fidelity prototyping  Rettig, “Prototyping for Tiny Fingers”, CACM April  Usability heuristics  Nielsen, “Heuristic Evaluation.”  Tognazzini, “First Principles.”

Next steps CSE 331 Autumn  Monday: UML; Wednesday: TBA  A5 and A6

CSE 331 Autumn