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
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.
Terminology | Duration | Response |
---|---|---|
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
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.
Do
Don’t
Fluency
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.
Do
Don’t
Do
Tolerance
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.
Do
Don’t
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
- Trends
- 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.