76
Tomorrow is October

Tomorrow is October. Project Plan Plan for the whole semester Expect more detail closer in Expect more accuracy closer in Expect individual

Embed Size (px)

Citation preview

Page 1: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Tomorrow is

October

Page 2: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

SHOULD HAVE BEEN DONE

Page 3: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Project Plan

Plan for the whole semester Expect more detail closer in Expect more accuracy closer in Expect individual detail Questions it will help answer

Demos, slack time, early warnings

Page 4: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

COMING SOON…

Page 5: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Test Plan

How are you planning to test? What tools are you going to use? How are you going to generate test

cases?

… starting the conversation …

Page 6: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

User Manuals

Next level of detail from functional spec What you plan to build Can be in any form: FAQ, read.me, tool

tips, doc. Focus on end users, not admins

Page 7: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Demos Next Week

7 per day Random draw If you have a team member missing one

day, let me know

Page 8: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Demos

What you are building How you are building it Demo

Page 9: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Tech Talks

Next week walkthrough with meLanguage gameRoad AmicoBricksRed Ribbon (Oct 12 okay)

Page 10: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Walkthroughs

Presentation and demo plannedWho is going to speakContent of visuals

Give me the presentation

Page 11: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Presentation Reminders

You can use two projectors Have something interesting for people to

look at Do not wing it Look at Presentation Tips on the class

site Google Death by Powerpoint

One of my favorites

Page 13: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Types of Interfaces

Computer-ComputerProgram APIsNetwork flowsFiles

Human-ComputerCommand lineGraphical

Page 14: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Interesting Issues We Aren’t Covering

Page 15: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Visualization and Information Design How to present results

Visualization usually refers to dynamically created results○ Data○ Information

Information design usually refers to crafted piece○ Edward Tufte

Page 16: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Minard: Napoleon’s March to Moscow

- Width of band shows size of army at each position. - Black band shows retreat tied to temperature and time

Page 17: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Computer-Computer

Page 18: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Program APIs

When do you need them?Should you build them into all systems?Consequences of not having them

Needed characteristicsBackward compatibility: how do you extend?Checking: caller or callee?

Appropriate scopeOne with parameters or many?

Page 19: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Network Flows

Same considerations as APIs, but more so Different machines will upgrade at different

times No control over the other side Always identify level and negotiate support

Base and towers Use well-supported protocols

FTTP, sockets, web-sockets, JSON, …

Page 20: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Files

See prior two pages: all the same Added problems

Files corruptedFiles deletedFiles edited

Use extensible formats preferably with readily available parsers

Page 21: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Human-Computer

Page 22: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

User Interfaces

“Human error” caused by bad design Disasters

1987 Therac-25: too many messages => ignored the important ones

1995 airline crash: chose the wrong landing plan

2009 airline crash: pilot and co-pilot controls not connected

Page 23: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Text Other

Command line Question and answer Form based Menu Natural language Speech

GUI Gesture Virtual reality Augmented reality Ubiquitous (unaware) Perceptual

Interaction Styles

Page 24: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

GUI or not to GUI?

How often is the task done? How many objects are handled at a

time?

Physical limitations Environment

Page 25: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

What Makes a Good Design? Consider designs you like

(we know web designs, but the principles apply to any interface)

… and those you don’t The Ugly

Top 20 listBiggest Mistakes

Page 26: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

More than the Look

Page 27: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

The UI Iceberg

Visuals

InteractionTechniques

Object Model

Feel30%

Look10%

The things you use60%

Toolkits and style guides help with look and feel, the tip of the usability iceberg.

Real usability gains come from system and application objects perceived by users.

Page 28: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Consider well-known sites What is the object model?

EbayAmazonFacebook

Page 29: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

User Interface Models

Object-actionChoose the object and then the action to

performWindows GUI:

select the file, right click for actions

Action-objectChoose the action and then the objectWindows command line:

“copy” file_a file_b

Page 30: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Fundamental Concepts

What the user needs to do

The order that he does it

Is it natural? How much does

he have to remember?

Page 31: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

HCI: Human Computer Interaction

Page 32: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

32

An Interaction Framework

Output

Input

the system’s capability to output information

Presentationthe user’s ability to understand the output

Observation

the system’s ability to accept the input

Performance

the user’s ability to do the input

Articulation

images from www.dilbert.com and www.palm.com

Page 33: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

33

Human traitsIncredibly slowError-proneIrrationalEmotionalInferentialRandomUnpredictableEthicalIntelligent

Computers and Humans

Computer traitsIncredibly fast

Error-freeDeterministic

ApatheticLiteral

SequentialPredictable

AmoralStupid

ideas from from The Inmates are Running the Asylum, A. Cooper, images from www.dilbert.com

Page 34: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Humans

Page 35: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

35

Memory Human memory is limited Miller's magical number 7 (+-2)

Page 36: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

36

Motor Skills

Easiest screen locations to point to? Fitt’s Law – The time to acquire a target is a

function of the distance to and size of the target.

Why do pop-ups work?

Page 37: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

37

Reasoning

Humans are not consistently logical. Wason's cards

4 E 7 K

Given cards with: a letter on one side

a number on the otherDoes a vowel on one side an even # on the other side?What cards do you have to turn over to check this?

Page 38: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

38

Things we regret eating

spam

bacon, eggs and spam

spam, spam, bacon, eggs and spam

just eggs without the spam

spam

bacon, eggs and

spam

spam, spam, bacon, eggs and spam

just eggs without the spam

Things we regret eating

Perception

Using Color:Some people are colorblind.Design in black and white.

Using Fonts:Make capital letters 2.3-5.2

mm high, lines ≤ 60 chars wide, & use ragged right.

Use dark letters (not blue) on a light background.

BLOCK CAPS only for non-words

illustrations from Spoelsky, 2001 and www.innergeek.com

Page 39: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

39

Humanity is diverse. People have different:

languagescultural expectationscolor perceptionergonomic needsabilities/disabilitiesages

Diversity

Page 40: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Making an Interface Accessible

Page 41: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Disability Challenges Visual

Text color and size, contrast, eye-hand coordination Movement

Simultaneous key strokes, mistaken strokes Hearing

Audio cues Cognitive and Language

Complex or inconsistent displays, word selection Seizures

Light and sound patterns

Page 42: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

General Requirements

Undo Restore defaults Minimize memory load Easy access to frequent functions Avoid unnecessary steps

NOT JUST ACCESSIBILITY ISSUES!

Page 43: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Keyboards

Keyboard shortcuts vs mouse Changeable shortcut combinations Tabbing order and items Multi-key strokes

Page 44: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Mouse

Cancellable Visual feedback Target size

Page 45: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Graphics and Text

Customizable Easily identifiable Space between

Page 46: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Displays

Do not interfere with screen readers or accessibility tools

Make labels consistent and obviousPositionStyleStand-alone and consistent

Screen-reader friendlyOrder

Do not depend on color

Page 47: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Other

Audio adjustable Animation optional Avoid flashing and blinking Make focus clear Clear indication of erroneous keystroke Adjustable timing

Page 48: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Just good interface practices

Page 49: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

One Methodology

Page 50: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

50

Jakob NielsenDiscount Usability (1993)

Basic elements:User/Task Observation

Scenarios

Heuristic Evaluation

Simplified Thinking-Aloud

Le mieux est l'ennemi du bien Voltaire, 1764

images from www.useit.com

Page 51: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

51

User Task Observation

Nielsen doesn’t explicitly list this step; he assumes it.

Customer Anthropology – the study of your customers' people and behaviours in their 'natural habitat'.

“Customer Anthropology is a lot like birdwatching in that you want to try to make yourself invisible to those you're watching

- Dave Pollard, salon.com

image from www.salon.com

Page 52: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

52

Scenarios

Nielsen sees this as a form of prototyping.

He suggests using either mockups or prototypes, provided that they are small.

Page 53: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

53

Heuristic Evaluation

Usability experts can review a design with respect to:Interface style guidesGeneral usability guidelines

Base the review on either:Mock-upsPrototypes

Approaches:Cognitive Walkthough

Page 54: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

54

Thinking-Aloud Protocols

Watch real users do real tasks using the system.

Have them talk about what they are doing and why.

“A user interface is well designed when the program behaves exactly how the user thought it would.”

- Joel Spolsky, UIDP

image from joel.spolsky.com

Page 55: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Design Principles

Page 56: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

56

Interface Design Principles Help the user learn the interface. Put the user in control of the

interface. Make the interface robust.

Page 57: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

57

Learnability

The interface is useless if it is unusable. Principles:

Be consistent.Plagiarize.Establish meaningful defaults.Make functions visible or memorable.Make the mapping from control to goal clear.Encapsulate action sequences.

Page 58: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

58

Control

Users, particularly experienced users, want to be in control.

Principles:Allow the user to be efficient.Enable shortcuts and customizations.Cluster common features together.Give appropriate feedback.Reduce short-term memory load.

Page 59: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

59

Robustness

The system must deal with error. Principles:

Offer error prevention and handling.Support undo and redo.Provide good help and error messages.

Page 60: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Good Screen Design

Consistency: use of pull-downs vs. entry

Starting in the upper left corner: first thing to fill in

Simple navigationGrouping and alignmentKeep related issues together

Hierarchy for importance Pleasing visuals Captions for clarity

Page 61: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Type checking saving mmf CD

Branch Main St. Elm St. High St.

Privileges newsletter discounts quick loans

First name

Middle name

Last name

Street

City

State/county

OK Apply Cancel Help

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

The content is all there…

Page 62: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

checking

OK Apply Cancel Help

Account type Privileges

savingmoney marketCD

newsletter

discountsquick loans

Branch

Main St.Elm St.High St.

New Customers

Name

FirstMiddle

Last

Address

StreetCity

State/county

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

But it can be better

Page 63: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Use of White Space

More advice than you could ever wantActive and passiveClassy vs. mass-producedClutter or incomplete …

Page 64: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Mobile Apps

Examples that areEasy to useHard to use

ErrorsNot knowing your audienceMaking it difficult to touch/manipulateTrying to do too much

64

Page 65: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Patterns

Page 66: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Three Types of Windows

Properties of automobile 189

Property Value

Brand Toyota

Model Camry

ID 893-8913-789014Help

Word ___________________

This screen All screens

ABC alert message

Caution: “age” must be < 120

OKProperty – information only

Dialogue – input from user and subsequent action

Alert – information that needs to be seen before continuing. Developer determined.

Page 67: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Why Classify?

Use the right type of window Consider purpose when designing

Example: alert window must be seen; property window not as critical

Page 68: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Rollovers Information that is optional and selected by

the user

But it often can’t be copied. It doesn’t remain visible. Are those important for this usage?

This is a rollover window, designed to provide on-the-fly amplification

Page 69: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

69

Multi-Level Undo

ProblemThe user makes a

mistake in a more involved task and needs to back the changes out.

SolutionProvide a multi-level

undo capability.

Pattern from Tidwell, 2005

Page 70: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

70

Progress

ProblemThe user is performing a

process and would like to know how far they are.

SolutionBuild a progress bar that

indicates the percentage completion of the task at 2 second intervals.

Pattern from van Welie, 2000

Page 71: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

71

Wizard

ProblemThe user must perform an

unfamiliar and involved task.

SolutionBuild a graphical, step-by-

step widget that takes the user through the task, indicating progress along the way.

Pattern from van Welie, 2000

Page 72: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

72

Preferences

ProblemThe user would like to

control the general feel of an interface.

SolutionProvide a parameterized

way to tailor the interface in pre-specified ways.

Pattern from van Welie, 2000

Page 73: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

73

Fisheye

ProblemThe user is working on

parts of a large artifact and has trouble “seeing” it all.

SolutionProvide a graphical view

of the artifact that shows all parts, but magnifies specific ones.

Pattern from salaakso, 2003

Page 74: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

Final Words

Page 75: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

GUI Screen Design Process

Know Your User or Client Understand the Business Function Understand the Principles of Good Screen Design Select the Proper Kinds of Windows Develop System Menus Select the Proper Device-Based Controls Select the Proper Screen-Based Controls Organize and Lay Out Windows Choose the Proper Colors Create Meaningful Icons Provide Effective Messages, Feedback, Guidance, and

Language Translation Test, Test, and Retest

Wilbert Galitz

Page 76: Tomorrow is October. Project Plan  Plan for the whole semester  Expect more detail closer in  Expect more accuracy closer in  Expect individual

76

Joel Spolsky (2001)Joel on Software

Usability, fundamentally, is a matter of bringing a bit of human rights into the world of computer-human interaction.

images from www.joelonsoftware.com

What’s theBig Idea