Interfaces for Staying in the Flow

advertisement
Interfaces for Staying in the Flow
Benjamin B. Bederson
Computer Science Department
Human-Computer Interaction Lab
University of Maryland
www.cs.umd.edu/hcil
bederson@cs.umd.edu
Human Goals
 Life Goal: Happiness
 Work Goal: productivity, creativity,
recognition, etc.
Flow – Folk Definition
 “To move or run freely in the manner
characteristic of a fluid”
 Concentrate to the exclusion of all else
 To be “in the zone”
 Counter example: Writer w/ writer’s block
Flow – Psychology Definition
 “Optimal Experience” – see “Flow” by
Mihaly Csikszentmihalyi (1990)
 Started by interviewing “experts”
 Then used “Experience Sampling Method”
=> Characteristics of optimal experience
=> Flow is universal, and is a combination of
activity, individual and state of mind
1. Challenge and Require Skill
 Person must expend effort to acquire skills,
and then apply them
 Examples:


Tennis
Programming
 Not passive or relaxing
 Not “go with the flow”
2. Concentrate
 Ability to focus attention at length is crucial
 Focusing enables tuning out of other input
 People w/ A.D.D. at real disadvantage
 Examples:


Reading
Painting
3. Clear Goals and Feedback
 Must define success up front
 Clearly measure progress along path
 Examples:


Surgery
Factory work
4. Maintain Control
 Minimize loss of “objective” control
 Maximize “subjective” control
 Examples:


Mountain climbing
Counter example: Driving in traffic
5. Transformation of Time
 Time flies
 Or, can slow down
 Examples:


Pottery
New romantic interest
Our Goal
 Build computer systems that work as a
“tool” to support optimal experience
► But computers could never be that
good. You’ve described only simple
tools.
► But isn’t flow a fuzzy, unmeasurable
and unscientific concept? And even if
you could measure it, is it really
important?
Interfaces for
Staying in the Flow
 How do these characteristics of flow
apply to interface design?
1. Challenge and Require Skill
 Interfaces should be:


neither so difficult as to discourage users
nor so easy as to be boring
Challenges
Anxiety
Boredom
Skills
2. Concentrate
 Avoid interruptions
 Stay in task domain, not interface domain
Three levels of interaction:
1. Learn from the interface
2. Feedback from the interface
3. Autonomous interaction
(no feedback necessary)
Guimbretière et al.
“FlowMenus: Combining Command,
Text Entry and direct manipulation”
UIST 2000
2. Concentrate (cont.)
 Maintain object constancy

Save short-term memory
3. Clear Goals and Feedback
 Help user to specify what they are doing
 And how they are getting there
 Many e-commerce
websites
4. Maintain Control
 Challenge of “Expert” vs. “Novice” interfaces
(controls vs. wizards)
(Microsoft vs. Apple philosophy)
 Emacs vs. IDEs (Visual Studio & Eclipse)





Difficulty of learning
Keyboard vs. mouse control
Home keys vs. arrow/nav keys
Integrated shell, grep, directory, etc.
Filename completion, command history
4. Maintain Control (cont.)
 Problem w/ adaptive interfaces:



Unpredictable
Loss of objective control
Leads to frustration and
slow performance
 Encourage controllable,
configurable interfaces
5. Transformation of Time
 Based on pyschology principle:

When interrupted, people will overestimate time
 Relative Subjective Duration (RSD)
Czerwinski et al., “Subjective Duration Assessment: A New Metric
for HCI”, HCI 2001

Avoids positive bias of subjective preference
Summary
 Maintain lofty goals

“Computer as tool”
should be an extension of our body
 Don’t underestimate the importance of speed
in supporting:



creativity
quality
enjoyment
Design Principles
 Human memory is limited
 Modes are bad
 Input device switches are bad
 Maintain object constancy
 Minimize use of interface
 Balance features vs. ease-of-use
Challenge
 Design for novices and experts is really
hard, but important
 Don’t forget the expert!
Suggestion
 Add Relative Subjective Duration (RSD)
to standard list of metrics
=> Minimizing cognitive load and improving
subjective satisfaction can help achieve
optimal experience
Download