Design for Performance
Firefox products should look and feel fast!
Elements of Performance
The perception of performance is largely determined by four factors: Duration, Responsiveness, Fluency and Tolerance.
Duration is the actual duration that a process takes. This is the element that is often referred to as “performance” in technical discussions. Different magnitudes of duration require different treatments to achieve an optimal perceived performance.
|Instantaneous||up to 100ms||Acknowledge user input within this time frame. Ideally, a visible process towards the completion of the task begins within this time span.|
|Immediate||500–1000ms||Answers to simple requests must be completed within this time frame (e.g., opening a new window).|
|Continuous||2000–5000ms||Answers to complex questions must be completed within this time frame (e.g., loading a web page).|
|Captive||7000–10000ms||Users will begin switching tasks at this point. If a process takes longer than this, it should be segmented.|
Why Performance Matters by Denys Mishunov Part 1, Part 2, Part 3.
Responsiveness is the perceived time it takes the system to respond to user input.
Example: An empty dialog appearing immediately after a click and then taking a second to populate with content feels faster than the same dialog appearing with a second delay, but fully populated.
Fluency is the perceived smoothness of a process. It could also be described as a measure for how hard the machine appears to be working. Aim for constant 60 frames per second.
Example: A stuttering progress indicator gives the impression of lower performance, regardless of the actual duration of the process.
Tolerance is a measure of how long the user expects a process to take and at what point they will abandon or cancel the process.
Example: The tolerated duration for loading a web page is much longer than for saving a bookmark.
Bias and Priming
A user’s preconception about the speed of something – based on brand or prior knowledge – influences the perception of time.
Example: Users perceived a browser as being faster after reading an article about that browser having improved performance recently.
Other Influencing Factors
These factors can also influence the perception of performance:
- Perceived task complexity
- Emotional state
- UI complexity and visual noise
- Task frequency, attempts, failures
Literature to detail the concepts explained above.
Designing and Engineering Time: The Psychology of Time Perception in Software by Steven C. Seow Ph.D.
Thinking, fast and slow by Daniel Kahneman.
Designing with the mind in mind by Jeff Johnson.