UI Responsiveness: Instantaneous, Immediate, Continuous, Captive
How long will users wait before they bail out of your website? How fast should your graphical button respond to a user's mouse click? When a visitor uses your solution, think of the interaction between user and solution as a conversation. Conversations have rules, etiquettes, and cultural norms—and it's no different with the user interaction in your solution. A one-second delay may be acceptable in one situation but inexcusable in another.
This article describes the four types of responsiveness that are pertinent to the design of your software solution:
- Instantaneous responsiveness
- Immediate responsiveness
- Continuous responsiveness
- Captive responsiveness
Many elements and controls on your UI will need to be perceived as instantaneous because the audio or visual feedback helps maintain the illusion that your solution is behaving and responding like real-life objects. Because physical objects observe physical laws, we typically don't witness physical objects violating those laws (for example, a ball floating in midair) unless we're watching a magic show.
Objects generated by software, such as a button, observe the "laws" we define in code. Research in human-computer interaction points to around 100 ms as the maximum acceptable response time to simulate instantaneous behavior, so it would be wise to aim to have the graphical objects in your solution give some form of auditory or visual feedback within 100 ms upon detecting user input (see Figure 1).
Figure 1 The timing between a click of the Search button and the moment a visual feedback is provided should be perceived as instantaneous.
Rule: Any UI that mimics objects in the real world (button, scrollbars, etc.) must exhibit instantaneous behavior.
Case study: A button on a website takes 0.4 second from mouse-click to the playback of a click sound.
Verdict: Because the click sound is mimicking the sound coming from the pressing of a mechanical button, its current timing of 0.4 second is inadequate, and must be reduced at least by half.
Remember: Research shows that delays from input (keyboard, mouse, etc.) may be as high as 70 ms, so if you're calculating system response time duration, don't forget to add this overhead (50 ms recommended) to the reported system response time, especially if the timing was collected using code.