History of HCI

IAT 334
Interface Design
Cognitive Aspects (Review)
Usability Principles
______________________________________________________________________________________
SCHOOL OF INTERACTIVE ARTS + TECHNOLOGY [SIAT] | WWW.SIAT.SFU.CA
Jan 20, 2011
IAT 334
1
Agenda
 Cognitive
Processes
– Implications
– Motor system
 Usability
Principles
– Learnability Principles
– Flexibility Principles
– Robustness Principles
Jan 20, 2011
IAT 334
2
Basic HCI

Model Human Processor
– A simple model of human cognition
– Card, Moran, Newell 1983

Components:
–
–
–
–
–
Senses
Sensory store
Short-term memory
Long-term memory
Cognition
Jan 20, 2011
IAT 334
3
Model Human Processor
Basics
 Based
on Empirical Data
 Three interacting subsystems
– Perceptual (read-scan)
– Cognitive (think)
– Motor (respond)
Jan 20, 2011
IAT 334
4
Information Processing
 Usually
serial action
– Respond to buzzer by pressing button
 Usually
parallel recognition
• Driving, reading signs, listening to radio
Jan 20, 2011
IAT 334
5
Processes
 Four
main processes of cognitive system:
– Selective Attention
– Learning
– Problem Solving
– Language
Jan 20, 2011
IAT 334
6
Selective Attention
 We
can focus on one particular thing
– Eg cocktail party talk
 Salient
visual cues can facilitate s.a.
– Examples?
– Bold, Larger fonts
Jan 20, 2011
IAT 334
7
Learning
 Procedural
Learning:
– How to do something
 Declarative
Learning:
– Facts about something
 Involves
– Memorization
– Understanding concepts & rules
– Acquiring motor skills
– Automization
Jan 20, 2011
IAT 334
8
Learning
 Facilitated
– By analogy
– By structure & organization
– If presented in incremental units
– Repetition
 Use
user’s previous knowledge in interface
– Hence, I hate PowerPoint 07!
Jan 20, 2011
IAT 334
9
Observations
 Users
focus on getting job done, not
learning to effectively use system
 Users
apply
apply analogy even when it doesn’t
– Mac Trashcan for disk eject
Jan 20, 2011
IAT 334
10
Problem Solving
 Storage
in LTM, then application
 Reasoning
– Deductive- If P then Q, P
– Inductive-
If P then Q, Q
– Abductive- Generalization
Jan 20, 2011
IAT 334
11
Observations
 People
are more heuristic than algorithmic
 People
often choose suboptimal strategies
for low priority problems
 People
learn better strategies with
practice
Jan 20, 2011
IAT 334
12
Implications
 Allow
flexible shortcuts
– Forcing lengthy, mechanistic plans on user
will bore them
– Quick Keys! ALT-Q to Quit
 Have
active rather than passive help
– Recognize waste
Jan 20, 2011
IAT 334
13
Language

Rule-based
– How do you make plurals?

Productive
– We make up sentences

Key-word and positional
– Patterns

Should systems have natural language
interfaces?
Jan 20, 2011
IAT 334
14
People

“Good”
– Infinite capacity LTM
– LTM duration &
complexity
– High-learning
capability
– Powerful attention
mechanism
– Powerful pattern
recognition
Jan 20, 2011

“Bad”
– Limited capacity STM
– Limited duration STM
– Unreliable access to
LTM
– Error-prone processing
– Slow processing
IAT 334
15
Recap

I. Senses
– A. Sight
– B. Sound
– C. Touch

II. Information processing
– A. Perceptual
– B. Cognitive
• 1. Memory
– a. Short term
– b. Medium term
– c. Long term
• 2. Processes
–
–
–
–
a. Selective attention
b. Learning
c. Problem solving
d. Language
– C. Motor system
Jan 20, 2011
IAT 334
16
UI Design Principles
 Categories
– Learnability
• support for learning for users of all levels
– Flexibility
• support for multiple ways of doing tasks
– Robustness
• support for recovery
 Always
Jan 20, 2011
think about exceptions, suitability
IAT 334
17
Learnability Principles
 Predictability
 Synthesizability
 Familiarity
 Generalizability
 Consistency
Jan 20, 2011
IAT 334
18
Predictability
I
think that this action will do…
 Operation
visibility - can see avail actions
– e.g. menus vs. command shell
– grayed menu items
Jan 20, 2011
IAT 334
19
Predictable?
Jan 20, 2011
IAT 334
20
Synthesizability
 From
the resulting system state, My
previous action did…
– compare in command prompt vs UI
– same feedback needed for all users, all apps?
Jan 20, 2011
IAT 334
21
Familiarity
 Does
UI task relate real-world task or
domain knowledge?
– to anything user is familiar with?
– Use of metaphors
• pitfalls
– Are there limitations on familiarity?
Jan 20, 2011
IAT 334
22
Familiarity
 What
does the blinking green traffic light
mean in Ontario?
Jan 20, 2011
IAT 334
23
Generalizability
 Does
knowledge of one UI apply to
others?
– Cut and paste in many apps
 Does
knowledge of one aspect of a UI
apply to rest of the UI?
– File browsers in MacOS/ Windows
 Aid:
Jan 20, 2011
UI Developers guidelines
IAT 334
24
Consistency
 Similar
ways of doing tasks
– interacting
– output
– screen layout
 Is
this always desirable for all systems, all
users?
Jan 20, 2011
IAT 334
25
Flexibility Principles
 Dialog
Initiative
 Multithreading
 Task migratibility
 Substitutivity
 Customizability
Jan 20, 2011
IAT 334
26
Dialog Initiative
 System
pre-emptive
– system does all prompts, user responds
• sometimes necessary
• Eg. Bank machine
 User
pre-emptive
– user initiates actions
• more flexible
Jan 20, 2011
IAT 334
27
Multithreading
 Two
types
– Concurrent
• input to multiple tasks simultaneously
– Interleaved
• many tasks, but input to one task at a time
Jan 20, 2011
IAT 334
28
Task migratability
 Ability
to move performance of task to
entity (machine or person) that can do it
better
– Eg. Autopilot
– Spellchecking
– When is this good? Bad?
Jan 20, 2011
IAT 334
29
Substitutivity
 Flexibility
in details of operations
– Allow user to choose suitable interaction
methods
– Allow different ways to
• perform actions
• specify data
• configure
– Allow different ways of presenting output
• to suit task, user
Jan 20, 2011
IAT 334
30
Customizability
 Ability
to modify interface
– By user - adaptability
– By system - adaptivity
Jan 20, 2011
IAT 334
31
Robustness Principles
 Observability
 Recoverability
 Responsiveness
 Task
Jan 20, 2011
Conformance
IAT 334
32
Observability
 Can
user determine internal state of
system from observable state?
– Browsability
• explore current state (without changing it)
– Reachability
• navigate through observable states
– Persistence
• how long does observable state persist?
Jan 20, 2011
IAT 334
33
Recoverability
 Ability
to continue to a goal after
recognizing error
• Difficulty of Recovery procedure should relate to
difficulty of original task
– Forward Recoverability
• ability to fix when we can’t undo?
– Backward Recoverability
• undo previous error(s)
Jan 20, 2011
IAT 334
34
Responsiveness
 Rate
of communication between user and
system
– Response time
• time for system to respond in some way to user
action(s)
– Stability principle
• response time, rate should be consistent
– As computers have gotten better, required
computer response has gotten shorter
Jan 20, 2011
IAT 334
35
Task Conformance
 Task
coverage
– can system do all tasks of interest?
 Task
adequacy
– Can user do tasks?
– Does system match real-world tasks?
Jan 20, 2011
IAT 334
36