News Flash (not): Attention spans have been decreasing.
I'd argue that this is been taking place ever since the first TV remote control was sold.
As an end-user, I know you've stared at a spinner wondering if the process has stalled. When do you give up?
As a developer, it's much easier to throw in a spinner than a progress bar that actually tells the truth.
4 Second Rule
- process < 1 second => show nothing
- process < 4 seconds => show a spinner
- process < 1 minute => progress bar with % done
- process > 1 minute => progress bar with time remaining
A researcher at University of Nebraska-Lincoln has helped us as developers, and thus our end-users. Users expect our apps to have no lag time, wether that's downloading an image, pdf, or changing to a data/graph heavy view.
Go look at the Tables in the research report and you'll find a lot of very interesting tidbits:
- A delay of 2 seconds is the limit before interference with short-term memory occurs
- A delay of 0.1 second is perceived as instantaneous access
- A delay of 1 second is the limit for users' flow of thought to stay uninterrupted
- A delay of 10 seconds is the limit for keeping users' attention/focus on the dialogue
- A delay of 2 seconds is the limit where response to simple commands becomes unacceptable to users
- A delay of 12 seconds causes satisfaction to decrease
- A delay of 4 seconds causes performance and behavioural intentions to stabilize whereas attitudes remain unchanged after delay exceeds 8 seconds
What does all this say? We're one impatient group. Keep that in mind when you throw a notification in your code (and please, when you use a progress bar tie the progress into the actual event, it's not that hard now-a-days).