[The Design of Everyday Things, Don Norman, Ch 7]

Slides:



Advertisements
Similar presentations
CS147 - Terry Winograd - 1 Lecture 6 – Usability Terry Winograd CS147 - Introduction to Human-Computer Interaction Design Computer Science Department Stanford.
Advertisements

32 1 What Makes a GUI Good? Sus Lundgren Just To Clarify GUI = Graphic User Interface So what makes a GUI good? –That you can intuitively understand.
 When you receive a new you will be shown a highlighted in yellow box where your can be found  To open your new just double click.
1 CS101 Introduction to Computing Lecture 24 Design Heuristics.
Copyright ©: SAMSUNG & Samsung Hope for Youth. All rights reserved Tutorials Software: Word processing Suitable for: Beginner Improver Advanced.
WEB FORM DESIGN. Creating forms for a web page For your web project you have to design a form for inclusion on your web site (the form information should.
Unit 1 – Improving Productivity Instructions ~ 100 words per box.
Level 2 IT Users Qualification – Unit 1 Improving Productivity Jordan Girling.
Moodle (Course Management Systems). Assignments 1 Assignments are a refreshingly simple method for collecting student work. They are a simple and flexible.
CS 4720 Usability and Accessibility CS 4720 – Web & Mobile Systems.
User Interface Overview Jeff Offutt SWE 432 Design and Implementation of Software for the Web.
SWE205 Review Spring Why is software unusable? Users are no longer trained. Why? Feature creep Inherently hard: a problem of communication Designed.
Level 2 IT Users Qualification – Unit 1 Improving Productivity Chris.
JENNIFER WONG CHAPTER 7: USER – CENTERED DESIGN. The point of the book was to advocate a user- centered design which is a philosophy that things should.
GUI Widgets Jeff Offutt SWE 432 Design and Implementation of Software for the Web.
Software Engineering Experimentation Rules for Reviewing Papers Jeff Offutt See my editorials 17(3) and 17(4) in STVR
SEG3120 User Interfaces Design and Implementation
Collecting Data Types, coding, accuracy, file formats and the effect of data loss.
CS 350, slide set 5 M. Overstreet Old Dominion University Spring 2005.
Systems Life Cycle. Know the elements of the system that are created Understand the need for thorough testing Be able to describe the different tests.
E.g.: MS-DOS interface. DIR C: /W /A:D will list all the directories in the root directory of drive C in wide list format. Disadvantage is that commands.
 When you receive a new you will be shown a highlighted in yellow box where your can be found  To open your new just double click.
Unit 1 – Improving Productivity Instructions ~ 100 words per box.
Lesson 4.  After a table has been created, you may need to modify it. You can make many changes to a table—or other database object—using its property.
1 Using Conditional Formatting & Data Validation Applications of Spreadsheets.
Work with Tables and Database Records Lesson 3. NAVIGATING AMONG RECORDS Access users who prefer using the keyboard to navigate records can press keys.
WEB FORM DESIGN. Creating forms for a web page For your web project you have to design a form for inclusion on your web site (the form information should.
Software Interfaces. Learning Objectives Describe the characteristics of different types of user interfaces. Discuss the types of user interfaces which.
Interaction Frameworks COMPSCI 345 S1 C and SoftEng 350 S1 C Lecture 3 Chapter (Heim)
Chapter 6 : User interface design
Usability Overview Upsorn Praphamontripong CS
FOP: Multi-Screen Apps
Getting Started with Flow
Paul Ammann & Jeff Offutt
AP CSP: Cleaning Data & Creating Summary Tables
Human-Computer Interaction
System Design Ashima Wadhwa.
Chapter 11 Object-Oriented Design
CS101 Introduction to Computing Lecture 24 Design Heuristics
Excise Tasks CS 4640 Programming Languages for Web Applications
Imran Hussain University of Management and Technology (UMT)
Prototyping.
Cooper Part III Interaction Details Designing for the Desktop
User Interface Design and Development
Krug Chapter 5 A: Omit Needless Words and Defaults and Memory
Accidental and Essential Problems Excise Tasks
Krug 8 Dialog Boxes Toolbars
Web User Interface (WUI) Behavior
Norman 7 C: Selecting Events
HCI – DESIGN RATIONALE 20 November 2018.
CS160 Discussion Section Design Patterns April
G061 - Tailored Interfaces
Cooper Part II Making Well-Behaved Products Data Entry
Databases Software This icon indicates the slide contains activities created in Flash. These activities are not editable. For more detailed instructions,
Cooper Part III Interaction Details Designing for the Desktop
Chapter 1 Cognitive psychology concepts
Norman 7 B: Improving Data Entry
Norman 7 A: User-Centered Design
CS305, HW1, Spring 2008 Evaluation Assignment
Software Engineering Experimentation
The Mental Capacity Act
To Err is Human Owen Brennan.
Norman Chapter 2 Psychology of Everyday Actions
Official Interface Guidelines
Lecture 22: HCI Design March 15, /6/2019
Test Cases, Test Suites and Test Case management systems
User-Centered Design Data Entry CS 4640 Programming Languages for Web Applications [The Design of Everyday Things, Don Norman, Ch 7]
User-Centered Design Data Entry CS 4640 Programming Languages for Web Applications [The Design of Everyday Things, Don Norman, Ch 7]
Presentation transcript:

[The Design of Everyday Things, Don Norman, Ch 7] User-Centered Design Data Entry CS 4640 Programming Languages for Web Applications [The Design of Everyday Things, Don Norman, Ch 7]

Today’s Topics Designing Everyday Things Improving Data Entry Selecting Events

Seven Principles for Making Hard Things Easy Use knowledge in the world and knowledge in the head Simplify task structure Make things visible Get the mappings right Exploit the power of constraints Design for error When all else fails, standardize

1. Use Knowledge in the World New users do better if everything they need to know is in the UI Experienced users can be faster by having knowledge in their heads All users are more effective if the implementation model matches their mental model Avoid depending on user manuals A very inconvenient part of the world

2. Simplify Task Structure Simplify tasks by considering the users’ : Psychology Short term memory Long term memory Concentration New technology should make tasks simpler Same task with mental aids Increase visibility Same task with simple steps automated Change the nature or structure of the task

3. Make Things Visible Users should quickly see What they can do How they can do it What will happen The possible actions should satisfy user’s goal Revenue, not excise System state should always be obvious Examples Patriot web needs to show state : semester and CRN PPT needs to make it easier to find slide animation controls (Animations  Custom Animation)

4. Get the Mappings Right Intentions (what users want) to actions (what they can do) Actions and effects on the software System state and what is visible Perceived system state and the users needs Graphics, icons and pictures are easier to understand But designing graphics is hard ! Not a common skill among programmers

5. Exploit Power of Constraints Constraints stop users from entering wrong data Ignore dashes in phone & credit card numbers Advanced controls like the dates in travel web sites Selections, as in radio boxes and dropdown lists My 1980s stereo system had 5 or 6 components and dozens of wires … all alike! Modern stereo systems have different wires with different connections for each component Think of this as strong typing for UIs …

6. Design for Error Users are not perfect and will enter invalid data Design for invalid inputs ! Use constraints to avoid invalid inputs Correct invalid inputs automatically Make it simple and convenient for users to correct invalid inputs Allow users to postpone invalid input corrections Make it easy to undo

7. Standardize The controls are all the same—consistent A last resort approach because it forces knowledge to be in the head Notice anything funny … ? Standardize early or it will be too late Standardization only has to be learned once

Improving Data Entry Data Integrity Input data validation means The state of the program depends on correct, valid input data Input data validation means Checking before sending to software Rejecting I it does not conform Makes users feel like suspects and treats typos like malicious behavior Sometimes invalid data is reasonable We don’t have the complete data We mis-typed something It doesn’t matter – the rules are too restrictive

Most invalid data can be made valid Data Immunity Don’t use data validation to ensure integrity Make the software immune from invalid data Four types of immunization Repairing automatically Masking out invalid data Flexible rule enforcement Auditing instead of editing Most invalid data can be made valid by the software !

It saves money to have programmers work more and users work less 1. Auto-Repair If you search for “thomas jfferson,” google will say : “Showing results for thomas jefferson” Plus a link that matches the original string Auto-fixing examples: Convert word to numbers (“five” to “5”) Look for relationships (“Charlottesville, BA” to “Charlottesville, VA”) Let the programmers be creative! It saves money to have programmers work more and users work less

2. Mask Invalid Data The UI can often prevent invalid data from being entered Do not allow “five” for a number – use masking to ignore all non-numeric characters Fill in dashes automatically, so it doesn’t matter if the users entered “123-45-6789” or “123456789” Use radio buttons or dropdowns when possible

3. Flexible Rule Enforcement Defining good rules is hard – defining perfect rules is impossible ! Three levels of rules : The restrictions we really want (intent) The restrictions we describe (specifications) The restrictions we implement (law) The three never match perfectly, and considerate people consider the intent instead of the law Allow some rules to be bent Keep a log to check later

Do we have to bother the useres right now? 4. Audit Don’t Edit If it can’t be fixed … Do we have to bother the useres right now? Missing data is not a data integrity error Missing data can sometimes be entered later Missing data can often be inferred from existing data The programmers have to work Mistakes can often be fixed later Spelling mistakes, TurboTax’s audit phase Tell users about mistakes with modeless feedback Modeless : feedback they do not have to respond to

Keep events close together Selecting Events Keep events close together Good Bad Better

Selection GUI operations have two parts: Operation (verb) Operands (objects) Command lines often use natural speaking style: verb- object GUIs should usually let the user select an object, then apply an operation: object-verb This makes selection very important

Discrete and Contiguous Selection Discrete data: Objects are independent and need to be selected independently Picture elements in a drawing tool Contiguous data: Objects are ordered in lists or matrices Spreadsheet cells and words in word processors Whether data is discrete or contiguous sometimes depends on user needs Files can often be selected in both ways Shift-left mouse for contiguous selection Ctrl-left mouse for discrete selection

Summary Make it easy to decide what actions are possible Make things visible Controls, choices, and the conceptual model Make it easy to see the state Use natural mappings Intentions  actions Actions  effect Visible information  actual state Protect the users from mistakes Don’t prevent them from doing their jobs Users must always know what was selected before choosing an operation