How would you feel if you were waiting in line at the store and stood in the same spot for a long time? You would probably get frustrated and move on. Users find themselves in this situation when same they see a spinner on their screen a few seconds too long.
Spinners Are Not For Long Load Times
Spinners don’t tell users how long the process will take to load. If you use it for long load times, they’ll end up wondering if something went wrong with the app. The lack of feedback creates uncertainty, which makes users assume the worst.
They’ll assume that it’ll take a long time to load which discourages them from waiting. Impatience will set in, and users may hit the back button or exit out of the app.
The 4-Second Rule
If you want users to stay on your app, don’t use spinners for processes that take longer than 4 seconds to load. A research study has found that the tolerable wait time for users is 4 seconds. This finding means that their behavioral intentions begin to change after 4 seconds.
When to Display a Spinner
Users expect an app’s response time to be immediate. Immediate response time is less than 1 second. If they don’t get any visual feedback after a second, they start to worry.
If you have a process that takes longer than a second, you should display a spinner. Doing this lets users know that the app is loading, which eases their worries.
Progress Bars Make Long Load Times Tolerable
If a process takes longer than 4 seconds to load, you should use a progress bar. Users are more willing to tolerate a long wait time if they see a progress bar.
A progress bar sets a clear expectation of the load time. The linear visual cue allows them to see progress, which encourages them to wait. A spinner wouldn’t show them how much progress they’re making. Users wouldn’t know if their action is processing and would have no incentive to wait.
How to Display a Progress Bar
A progress bar needs to show users how much progress the system is making. Your bar should animate from left to right at a gradual and consistent pace. If the animation pauses for too long, users will think it’s stuck and won’t wait.
You should also add a numeric estimation to your progress bar. If the process is under a minute, display the percent done or the number of items loaded. Inform them what activity the app is doing as it loads.
If loading takes over a minute, you should give users an estimated time remaining. This information lets them know that they can expect a longer than usual wait time. Displaying the number of minutes allows them to leave and come back to their screen.
Don’t Go Spinner Crazy
Many designers have a habit of using spinners for every process. But when you use spinners for long load times, you create user frustration. Avoid this by using progress bars when needed.
Progress bars make longer load times tolerable. Users don’t mind waiting if they know the app is doing work for them. But if it’s taking longer than expected, they need visual feedback. Not knowing what they’re waiting for makes them impatient and leave.