Responsiveness
- Adapts to different window sizes and/or devices
- Delivers feedback in a timely manner
Possible Improvement
- Loading data efficiently so it's available quickly
- Designing for human perception of time
Factors
- User expectations
- Application and Interface Design
- The interface keeps up with user actions
- The interface informs the user about application status
- The interface doesn't
- Responsiveness is the most important factor in determining user satisfaction
- Not neccesarily system performance
- Provide feedback to confirm user actions
- Provide feedback about what is happening (e.g. progress bars)
- Allow users to perform other tasks while waiting
- Anticipate users' most common requests
- Performs housing keeping and low-priority tasks in the background
Perceived Time
- The duration of perceptual and cognitive processes
- Helps with responsive design

- Visual stimulus (second row)
- Continous input latency should be less than 10ms
- Cause-effect events (fourth row)
- If UI feedback takes longer than 140ms to appear, the perception of "cause and effect" is broken
Design Implications
- Visual-motor reaction time for unexpected events
- Display busy/progress indicators for operations more than 1s
- Time to prepare for conscious cognition task
- Display a fake version (preview) of an application interface, while the real one loads (< 10s)
Responsive Design Methods
Designing a Progress Indicator
- Show work remaining as well as work completed
- Show total progress when multiple steps, not only step progress
- Display finished state (e.g. 100%)
- Show smooth progress (not erratic burests)
- Use human precision (about 4 minutes rather than 243.5 seconds)
Tweaking Progress Bars
- Can improve responsiveness by tweaking the mapping from actual progress to displayed progress
Progressive loading
- Provide user with some data while loading rest of data
- e.g. Incremental search, image rendering from low to high resolution etc.
Predicting Next Operation
- Use periods of low load to pre-compute responses to high probability requests
- e.g. Lookahead for the next occurence of the target word while user lookks at the current; web browser pre-download linked pages
Graceful Degradation of Feedback
- Simplify feedback for high-computational tasks
- E.g. Window only updates after drag; reduced render quality when panning or zooming etc.
Chuncking Process
- Avoid doing frequent processing during user interaction
- E.g. validate after pressing ENTER, not character by character; don't send data to server unti lafter direct manipulation action