The first usability heuristic defined by Dr. Jakob Nielsen is in many ways one of the most basic.
Visibility of System Status
The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.
– Dr. Jakob Nielsen, 10 Usability Heuristics for User Interface Design
Why is this important? Any webpage times time to load, and any software system takes a while to process data. When the user has requested the system to do something, without some kind of indicator that the system is working on processing the request, users can get antsy. “Is the system working?” they wonder. “Maybe I should try clicking/pressing again…” Pretty soon, they look like this while the system is trying to process their request:
Tell me that isn’t going to lead to errors and/or a complete system freeze up.
The most common design element to combat this problem and communicate system status is the progress bar, which has been with us for decades in the computing world. Depending on what kind of task you are working on, there are several different styles.
So why does any of this matter? Why is it important to let people know how things are progressing, and what how long is too long to wait? Aside from not wanting users to go smashing away at their keyboards thinking the system is broken, letting users know how much time they have to wait reduces cognitive load, which leads to happier and more efficient users (and less calls to the Help Desk). It also gives users permission to do something else, or prepare for the next step in the process, without them worrying they will miss something if they take their attention away from the task at hand.
According to Dr. Nielsen, optimum system response time is less than 1 second in order for users to experience uninterrupted flow of thoughts; anything longer than that may require notification that the system is working on their commands and will be done shortly. At the outside, Dr. Nielsen says that if the system is going to take longer than 10 seconds to finish a task, the system needs to alert them to the delay and give them an ETA for task completion. The 10 second threshold is defined as being “…about the limit for keeping a user’s attention…” but the article was written in 1993 and with the proliferation of smart phones I have a feeling 10 seconds may be a little generous.