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

Slides:



Advertisements
Similar presentations
Copyright © 2013 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Schedule Collecting Data : Google Forms Chapter 13 Homework - Lab 1 Friday:
Advertisements

Chapter 07: Lecture Notes (CSIT 104) 1111 Exploring Microsoft Office Excel 2007 Chapter 7 Data Consolidation, Links, and Formula Auditing.
CS147 - Terry Winograd - 1 Lecture 6 – Usability Terry Winograd CS147 - Introduction to Human-Computer Interaction Design Computer Science Department Stanford.
User-Centered Design Good design The user says “Yes, I see” or “Of course”. A simple explanation is sufficient. Bad design The user says “How am I going.
How to build your own computer And why it will save you time and money.
 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.
People: Usability COMP 101 November 12, 2014 Carolyn Seaman Amanda Mancuso Susan Martin University of Maryland Baltimore County.
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.
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.
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
Unstated Requirements And useability 1. Many UI decisions End up being made by the technical development/implementation staff End up being made by the.
SEG3120 User Interfaces Design and Implementation
Collecting Data Types, coding, accuracy, file formats and the effect of data loss.
CIS 250 Advanced Computer Applications Introduction to Access.
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.
Moodle (Course Management Systems). Surveys and Choices.
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.
G063 - Human Computer Interface Design Designing the User Interface.
1 User Interface Design Components Chapter Key Definitions The navigation mechanism provides the way for users to tell the system what to do The.
 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.
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.
Bell Ringer What should a contract be based on? What things should be included in a contract? What things could make a contract no longer applicable?
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.
Ch16: User Interface Design Users often judge a system by its interface rather than its functionality Poorly designed interfaces can cause users to make.
Software Interfaces. Learning Objectives Describe the characteristics of different types of user interfaces. Discuss the types of user interfaces which.
[The Design of Everyday Things, Don Norman, Ch 7]
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
CMPE 280 Web UI Design and Development August 29 Class Meeting
Human-Computer Interaction
System Design Ashima Wadhwa.
CS101 Introduction to Computing Lecture 24 Design Heuristics
Excise Tasks CS 4640 Programming Languages for Web Applications
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
Cooper Part III Interaction Details Designing for the Desktop
Norman 7 B: Improving Data Entry
Norman 7 A: User-Centered Design
CS305, HW1, Spring 2008 Evaluation Assignment
Software Engineering Experimentation
To Err is Human Owen Brennan.
Official Interface Guidelines
Norman Chapter 1 Psychopathology
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]
Getting Started.
Presentation transcript:

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

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 Collab needs to show state: semester

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 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 if 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 Example: date selection 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

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