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