Performance is a typical hygiene factor. Nobody notices a highly performing system. But when a system is not performing well enough, people start complaining quickly. As an example, a 2006 research by Akamai found that 75% of the 1,058 people asked would not return to websites that took longer than four seconds to load. Five years earlier, in 2001, a similar research revealed that people were willing to wait eight seconds.
The increase in bandwidth (in 2001 people mostly used modems to dial-in to the Internet), and the positive experience of very fast loading websites (like Google’s lightweight landing page) dropped this figure to four seconds and it would not surprise me that it will drop even more in the forthcoming years.
In general, the performance of a system can be defined as the amount of useful work that is accomplished by a system compared to the time and resources it used.
Perceived performance refers to how quickly a software feature appears to perform its task. Most people understand that running a very complex report in a BI environment takes longer than let’s say opening an email. But while people have intrinsic expectations about performance, they are seldom expressed in hard figures.
In general people tend to overestimate their own patience. Most people value predictability in performance. When the performance of a system is fluctuating, they get a bad experience, even if the fluctuation is relatively rare.
For instance, even when one gets a bad response time of a system once a week, it will color the perception of the system for a long time. In the mind of the users the system is often slow.
It is therefore important to have a system with a predictable and consistent performance. It is always best to inform the user about how long something will take (when it is not instantaneously of course). When the user knows she has to wait for 40 seconds to get a task performed, and is informed about it (for instance using a progress bar), she accepts it more quickly. On the other hand when the system seems unresponsive without a reason, people get irritated very quickly. Increasing the real performance of a system is one way to increase the perceived performance.
But when real performance cannot be increased (for instance due to physical limitations) or the cost of improving the performance is very high, some techniques can be used to increase perceived performance. Two of those techniques are splash screens and progress bars.
Of course the amount of time an application takes to start up, or the time it takes for a file to download, is not made any faster by showing a splash screen or a progress bar. However, showing these screens satisfies a typical human need: splash screens and progress bars provide visual feedback to inform the users that the system is handling their request and is busy performing work for them.
Drawing and refreshing a progress bar while loading a file satisfies the user who is waiting, but steals time from the process that is actually loading the file. However, usually this is only a very small amount of time and the benefit of a satisfied user is much higher.
This entry was posted on Tuesday 05 April 2011