A smooth user flow, in which users feel that they're making continuous progress, is essential to an overall good user experience. Having a seamless flow helps users feel productive, empowered, and in control. Just as there are awkward pauses in conversations, there can be awkward pauses in using software. Research and industry standards point to 2–5 seconds as the range of maximum acceptable response time for maintaining a continuous user flow. That is, in order to help users stay in flow, the system must provide meaningful feedback and indication every 2–5 seconds.
Rule: Very short waits under 2 seconds can do without details and progress bars. Simple animation or indication (wait cursors, etc.) in the UI to indicate some work is being done is sufficient.
Short waits above 2 seconds must begin to show progress feedback (progress bars), allowing users to eyeball the amount of progress. Waits above 5 seconds must begin to show more details such as time remaining or percent completed. Determinate progress indicators that show how much work is or has been completed or remains are appropriate in this case (see Figure 3).
Figure 3 Different forms of progress indicators should be used, depending on the duration of the wait.
Case study: An application launches and attempts to reach a resource on the Internet. The application can't reach the resource and notifies the user of the connection status every 20 seconds.
Verdict: Twenty seconds is far too long to maintain continuity. The application should provide some indication every 2–5 seconds that it's still attempting a connection.
Remember: To maintain continuity, default timeouts to 5 seconds. If a longer timeout is justified, provide some attempt status at no more than every 5 seconds.