InfoCamp 2009 User Interface Responsiveness Instantaneous Immediate Continuous Captive Steve Seow | User Researcher | Microsoft Surface Rajesh Kalidindi | User Researcher | Microsoft IT About Steve… Academic: Experimental Psychology Human Timing, Time Perception, Human-Computer Interaction Professional: User Researcher Microsoft Surface Spare time: Author Designing and Engineering Time About Rajesh… Academic: Economics, PG in Computer Applications Certified Usability Analyst Professional: User Researcher Microsoft IT Spare time: Observe Overview… Barnabus Effect Defining Responsiveness Classes of Responsiveness The Barnabus Effect… Clip 1 The Barnabus Effect… Clip 2 The Barnabus Effect… 1. WYSMNBWYG: - What you see may not be what you get! 2. Your brain plays tricks on you all the time! … so don’t trust your brain! Scholarly note: Look up Attenuation Hypothesis defining... relsponlsivelness relsponlsivelness the ability of a system to respond to user input and process internal operations without undue delay. Responsiveness is… 1. relative to the interaction in question • Reflex < Reaction < Verbal Acknowledgment • Key press < Local search < Large Data download 2. subjectively perceived & interpreted • A two-hour documentary = boring or captivating? • Two-hour virus scan = good or bad? 3. non-exclusive in its form • Street signs : Landmarks, structures, etc. • Notification: HDD thrashing, LED blinking, etc. Industry Standards 0.1 sec Key Response (1472) Perceptual Processing (C) Instantaneous system response (M) Response to menu selection by key (ESD) 0.2 sec Key Print (1472) Max for displayed feedback in normal data entry (ESD) Pointing (from input to display) and Sketching (1472) 0.5 sec Min for simple data request, next page (ESD) Page Scan (1472) Local database update (1472) 1 sec Page Turn (1472) Immediate Response (C) Max for simple data request, next page (ESD) Max for no feedback (M) 2 sec Max for simple data entry (ESD) Min for error messages (278) Error feedback (1472) Response to selection of command (1472) Non-local database update (1472) 4 sec Max for error messages (ESD) 10 sec Max limit for keeping focus on task (M) Unit Task (C) 1472 = MLT-STD-1472F C = Card et al (1990) ESD = ESD/MITRE M = Miller (1968) Metric A Interaction A Metric B Interaction B Metric C Interaction C ? Interaction C Version 2.0 Metric Interaction Interaction Metric User Expectancy Interaction Interaction 0.1 sec Key Response (1472) Perceptual Processing (C) Instantaneous system response (M) Response to menu selection by key (ESD) 0.2 sec Key Print (1472) Max for displayed feedback in normal data entry (ESD) Pointing (from input to display) and Sketching (1472) 0.5 sec Min for simple data request, next page (ESD) Page Scan (1472) Local database update (1472) 1 sec Page Turn (1472) Immediate Response (C) Max for simple data request, next page (ESD) Max for no feedback (M) 2 sec Max for simple data entry (ESD) Min for error messages (278) Error feedback (1472) Response to selection of command (1472) Non-local database update (1472) 4 sec Max for error messages (ESD) 10 sec Max limit for keeping focus on task (M) Unit Task (C) 0.1 sec Key Response (1472) Perceptual Processing (C) Instantaneous system response (M) Response to menu selection by key (ESD) 0.2 sec Key Print (1472) Max for displayed feedback in normal data entry (ESD) Pointing (from input to display) and Sketching (1472) 0.5 sec Min for simple data request, next page (ESD) Page Scan (1472) Local database update (1472) 1 sec Page Turn (1472) Immediate Response (C) Max for simple data request, next page (ESD) Max for no feedback (M) 2 sec Max for simple data entry (ESD) Min for error messages (278) Error feedback (1472) Response to selection of command (1472) Non-local database update (1472) 4 sec Max for error messages (ESD) 10 sec Max limit for keeping focus on task (M) Unit Task (C) 0.1 sec Key Response (1472) Perceptual Processing (C) Instantaneous system response (M) Response to menu selection by key (ESD) 0.2 sec Key Print (1472) Max for displayed feedback in normal data entry (ESD) Pointing (from input to display) and Sketching (1472) 0.5 sec Min for simple data request, next page (ESD) Page Scan (1472) Local database update (1472) 1 sec Page Turn (1472) Immediate Response (C) Max for simple data request, next page (ESD) Max for no feedback (M) 2 sec Max for simple data entry (ESD) Min for error messages (278) Error feedback (1472) Response to selection of command (1472) Non-local database update (1472) 4 sec Max for error messages (ESD) 10 sec Max limit for keeping focus on task (M) Unit Task (C) 0.1 sec Key Response (1472) Perceptual Processing (C) Instantaneous system response (M) Response to menu selection by key (ESD) 0.2 sec Key Print (1472) Max for displayed feedback in normal data entry (ESD) Pointing (from input to display) and Sketching (1472) 0.5 sec Min for simple data request, next page (ESD) Page Scan (1472) Local database update (1472) 1 sec Page Turn (1472) Immediate Response (C) Max for simple data request, next page (ESD) Max for no feedback (M) 2 sec Max for simple data entry (ESD) Min for error messages (278) Error feedback (1472) Response to selection of command (1472) Non-local database update (1472) 4 sec Max for error messages (ESD) 10 sec Max limit for keeping focus on task (M) Unit Task (C) 0.1 sec Key Response (1472) Perceptual Processing (C) Instantaneous system response (M) Response to menu selection by key (ESD) 0.2 sec Key Print (1472) Max for displayed feedback in normal data entry (ESD) Pointing (from input to display) and Sketching (1472) 0.5 sec Min for simple data request, next page (ESD) Page Scan (1472) Local database update (1472) 1 sec Page Turn (1472) Immediate Response (C) Max for simple data request, next page (ESD) Max for no feedback (M) 2 sec Max for simple data entry (ESD) Min for error messages (278) Error feedback (1472) Response to selection of command (1472) Non-local database update (1472) 4 sec Max for error messages (ESD) 10 sec Max limit for keeping focus on task (M) Unit Task (C) 0.1 sec Key Response (1472) Perceptual Processing (C) Instantaneous system response (M) Response to menu selection by key (ESD) 0.2 sec Key Print (1472) Max for displayed feedback in normal data entry (ESD) Pointing (from input to display) and Sketching (1472) 0.5 sec Min for simple data request, next page (ESD) Page Scan (1472) Local database update (1472) 1 sec Page Turn (1472) Immediate Response (C) Max for simple data request, next page (ESD) Max for no feedback (M) 2 sec Max for simple data entry (ESD) Min for error messages (278) Error feedback (1472) Response to selection of command (1472) Non-local database update (1472) 4 sec Max for error messages (ESD) 10 sec Max limit for keeping focus on task (M) Unit Task (C) Range of maximum acceptable response time What users expect 0.1 to 0.2 sec Instantaneous 0.5 to 1 sec Immediate 2 to 5 sec Continuous 7 to 10 sec Captive introducing... classes of relsponlsivelness 1. Instantaneous (< 0.1 – 0.2 sec) • Users Expect: Instantaneous behavior • Analogy: System’s Nerves, Senses, etc. • R.o.T: Anything that mimics physical objects • Examples: Key-press, GUI button press, etc. RoT: Rule of Thumb 2. Immediate (< .5 – 1 sec) • Users Expect: Acknowledgement • Analogy: Reflexes, Simple Reaction • R.o.T: “No-brainer”* operations • Examples: panning, zooming, viewing “processed” or ready* data * = as perceived by users! 3. Continuous (< 2 – 5 sec) • Users Expect: Uninterrupted Flow • Analogy: Thinking Time, “Calculated” Reaction • R.o.T: Periodic progress update, error messages • Examples: error messages, time-outs, progress indication 4. Captive (< 7 – 10 sec) • Users Expect: NOT to be held hostage or stay idle • Analogy: System Elevator Pitch • R.o.T: Attention Span • Examples: Downloading, Delivery of consumable information (status, etc.) Responsiveness Classes 1. Not mathematical model based on a continuum of “slow to fast”, letter gradeassignment, etc. • 0 to 1: Superfast. • 1 to 2: Fast. • >2 Slow! 2. Psychological, empirical model based on what users expect. • • So “gaps” are possible (0.1 to 0.2, 0.5 to 1) Even overlaps could have been possible! Summary 1. Defining Responsiveness Relative Subjective Non-Exclusive 2. Classes of Responsiveness Instantaneous Immediate Continuous Captive Thank you! More Info? Steve - SSeow@Microsoft.com Rajesh - RaKalidi@Microsoft.com Blog - http://blogs.msdn.com/time Book - Designing and Engineering Time Web - www.Engineering Time.com Handout: UI Timing Cheatsheet