49
Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Embed Size (px)

Citation preview

Page 1: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Utah School of Computing

Preliminaries II

CS5540 Human Computer InterfacesRich Riesenfeld

Fall 2011

Lect

ure

Set

3

Page 2: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Utah School of Computing

Donald A. Norman, Psychology/Design of

Everyday Things

Lect

ure

Set

3

Page 3: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 3Fall 2011

Affordances

• Affordances refers to the perceived

and actual properties, esp wrt how it

is used or applied

• Affordances provide “strong clues” to

the operation of things

Page 4: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 4Fall 2011

Mappings

• Mappings refers to the relationship between two things

• Eg, control and movement- Steering wheel- Door handle

Page 5: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 5Fall 2011

Map’s & Afford’s: Ex’s - 1

• Door Knobs v Levers

Page 6: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 6Fall 2011

Map’s & Afford’s: Ex’s - 2

Doors open left or right ?

Page 7: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 7Fall 2011

Map’s & Afford’s: Ex’s - 3

Lego pieces

Page 8: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 8Fall 2011

Map’s & Afford’s: Ex’s - 4

• Bicycle- Seat, position, handlebars, brakes

Page 9: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 9Fall 2011

Map’s & Afford’s: Ex’s - 5

• Mercedes power seat adjustment

Page 10: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 10Fall 2011

Map’s & Afford’s: Ex’s - 6

• Motorcycle- Clutch, shifting pattern

• Climate Control in (most) cars-- Want to set temperature- Really setting amount of hot water circulating

through radiator

Page 11: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 11Fall 2011

Mappings & Affordances: Ex’s -2

• Sound System Controls- Knobs v Sliders

• TV Controls- Menus

• Triggers• Joystick controls

Page 12: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 12

Is this function obvious?

Fall 2011

Page 13: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 13

Is this function obvious?

Fall 2011

Page 14: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 14

Is this function obvious?

Fall 2011

Page 15: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 15

Functionality v Interface/Mapping

Fall 2011

Page 16: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 16

Huh? What’s this ?

Fall 2011

Want to see theWovel at work ?

Page 17: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 17Fall 2011

Widgets

Page 18: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 18Fall 2011

7 Stages of Action - 1

1. Form Goal

2. Form Intent

3. Specify Action

4. Execute Action

5. Perceive State of World

6. Evaluate Outcome

7. Interpret State of World

Page 19: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 19Fall 2011

7 Stages of Action - 1

A. Abstraction1. Form Goal

B. Execution Phase2. Form Intent3. Specify Action4. Execute Action

C. Evaluation Phase5. Perceive State of World6. Evaluate Outcome7. Interpret State of World

Page 20: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 20Fall 2011

7 Stages of Action - 2

1. Form GoalGet more light to read

Page 21: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 21Fall 2011

7 Stages of Action - 2

2. Form IntentFlip on a wall switch

3. Specify Action (Instantiate Plan)Get out of chair, walk to switch …

4. Execute Action

Carry out plan

Page 22: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 22Fall 2011

7 Stages of Action - 4

5. Perceive State of World

Collect external data

6. Evaluate Outcome

7. Interpret State of World

Page 23: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 23Fall 2011

Page 24: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 24Fall 2011

Issues

• Gulf of Execution- Wrong thing happened- Unexpected response

• Gulf of Evaluation- What is going on?- Where am I?

Page 25: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 25Fall 2011

Control Structures

• Shallow structures- ice cream store menu

• Narrow structures

• Cooking recipe- small vocab

- many steps

Page 26: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 26

Designing for Errors - 1

• Design for errors

• Making mistakes is normal

• Implement fault tolerant designs- redundancy

Fall 2011

Page 27: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 27Fall 2011

Designing for Errors - 2

• Understand the cause, and minimize• Implement UNDO • Make errors easy to

- detect- Correct

• Think of user as - engaged in approximate behavior - don’t think of it as wrong behavior

Page 28: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 28Fall 2011

Designing for Errors - 3

• Example: Locking keys in car- various alerts and inhibitions- don’t want a voice telling you that you just

locked your keys in car!

Page 29: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 29Fall 2011

Forcing Functions - 1

• Forcing Functions are a form of physical constraint- Make this hard to turn, hard to open- Barriers- Loud fire alarms (120 db !)- Inadequate password rejection

Page 30: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 30Fall 2011

Forcing Functions: Examples - 2

• Child-proof medicine containers• Engaging reverse in a car• Inhibit start w transmission• Critical military decisions

- Requires two authorized people• Fire extinguisher

Page 31: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 31Fall 2011

Forcing Functions - 3

• Recessed reset button on equipment• Turnstiles and automatic gates• Speed governors on fleet cars• Function car locks

- Child locks on rear doors- Automatic locking when in Drive- Locked steering wheel w/o key

Page 32: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 32Fall 2011

Forcing Functions - 4

• Automatic seatbelts restraints• Open microwave door inhibits POWER• Self-cleaning oven – door stays locked• Firearm safety settings• Double instead of single mouse click• Elevator – door must be closed

Page 33: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 33Fall 2011

Forcing Functions - 5

• Legal and psychological- Policeman at intersection- Police car at roadside

• Security- Security guard- Surveillance camera- Surveillance sign (not for sale, officially)- Guard dog – or any dog

Page 34: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 34Fall 2011

Forcing Function: Advisories - 6

• “Shoplifters will be prosecuted to the fullest extend of law”

• “Speed enforced by radar”• Radio alert provided by police

- Radar in operation in following areas• Reminder of consequences

- Punishable by fine, jail, suspension, removal, etc.

Page 35: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 35Fall 2011

Forcing Function Approach- 7

• Drastic, imposing, assertive, militant, authoritative, officious, Big Brother, risky

• When to use?- This is a choice of the stick over carrot- Often has a goodwill cost

Motorcycle helmets Seatbelts Child restraining seats

Page 36: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 36Fall 2011

Forcing Function Approach- 8

• What circumstances justify this approach?- Safety?- Potential for major damage?- Harm to others/society?

Page 37: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 37Fall 2011

Forcing Function Approach- 8

• When does the user subscribe to the approach; when is it resented?- Gun control- Restricted (superuser) functions- Speed limits on German autobahn- Dress/behavior codes

Page 38: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 38Fall 2011

Forcing Function Approach- 8

• When does the user subscribe to the approach; when is it resented?- Drug control

Need a prescription Only dispensed for 1 month supply; cannot

renew Cannot call-in to pharmacy ID required Not honored from out-of-state prescription

Page 39: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 39Fall 2011

Forcing Function Approach- 8

Page 40: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 40Fall 2011

Fault “Intolerance”

• Design so that only correct actions can be taken

• Nuclear power plants• Cockpits: Flaps down• Shifting into reverse• Assemble only one way: right way!

Page 41: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 41

Can Force Function of Machine

Fall 2011

StopSaw

Page 42: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 42Fall 2011

Visibility

• Allow the user to be informed• Show him the state

- Where is the elevator? - Can I see the elevator in its shaft?

• Is the tape in correctly? Is it engaged?

Page 43: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 43Fall 2011

Interpreting Data

• Swiss Air flight- low oil pressure, level on Eng 1

turn off Eng 1

- ditto on Eng 2 & 3 impossible, not reasonable!

Page 44: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 44Fall 2011

Interpreting Data

• This happened!- New procedure- Same mistake on all engines- Oil ran out because of maintenance error on

new procedure- World view was wrong

Page 45: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 45Fall 2011

Effecting Actions

• Command mode- 3rd Person- Proxy- “fly by wire”

• Direct control- “hands on experience”- good feedback

Page 46: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 46Fall 2011

Make Complicated Simpler - 1

• Use both world and user knowledge- Can lead to difficult choices

• Simplify structure of tasks• Make things visible

- Bridging execution and evaluation

Page 47: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 47Fall 2011

Make Complicated Simpler - 2

• Get mappings right- test and validate

• Exploit constraints• Design for error• Standardize• Weigh cost/benefit of choices

Page 48: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Utah School of Computing

End D A Norman Notes

End

Lec

Set

3

Page 49: Utah School of Computing Preliminaries II CS5540 Human Computer Interfaces Rich Riesenfeld Fall 2011 Lecture Set 3

Student Name ServerUtah School of Computing slide 49Fall 2011