According to The Laws of Simplicity by John Maeda, shortening wait times goes a long ways towards the appearance of simplicity. People hate to wait, and systems that make people wait seem more complicated than systems that don’t. So, for one thing, an engineer charged with improving the performance of a system would do well to first look at the places in the UI where the user is made to wait and optimize those areas, before moving on to areas where the user does not need to wait.
After the code has been optimized as much as is reasonably possible, the next step is to mask the wait time. This is one form of the adage, “if you cannot actually simplify complexity, then hide the complexity and it will seem simpler.” Generally, this means give the user something to do while he or she is waiting. First choice is to give them something productive to do. Second choice is to give them a (pleasant) way to kill time, if they want. Third choice is to at least keep the user informed about how long the wait will/could be.
The ultimate method for giving the user something proactive to do is to completely mask the fact that system is not ready and carry on as if it is. This involves providing the user with just enough of an active user interface to allow them to queue up some work to be done after the rest of the system catches up. For example, all modern operating systems quickly get to the log-in prompt, allowing the user to log in while the operating system is still booting up in the background. Another example is how all modern browsers will begin a file download immediately, using a temporary name and location, thus allowing the user to take his or her time in specifying the ultimate name and location.
In-flight entertainment systems are the quintessential example of giving the customer a way to kill time. Here are some others:
- A customer service PBX with an option to have the service rep call the customer back when it’s their turn. That way, the user can select their own means of killing time (as long as they stay near the phone).
- A restaurant that serves unshelled peanuts for the customers to enjoy while they are waiting for their food to be cooked.
- The Disney parks have always been good at ambiance — giving riders something to experience while waiting in line by way of pleasant sights and sounds, and even smells. Starting with the Roger Rabbit Car-toon Spin ride, they really cranked that up by putting in all kinds of interactive experiences — levers to pull, buttons to push, puzzles to solve.
Finally, here are some typical examples of at least keeping the user informed:
- Looking again at amusement parks, we have the sign that says, “30 minute wait time from this point in line,” where the “30” is adjustable according to the current environment — how many cars are on the track, how many loading bays are open, and the nature of the crowd at the moment.
- The good old software progress bar — or two progress bars, one for overall progress, and one for local progress.
- A customer service PBX that, if it cannot offer call-back service, at least has an automated recording that says, “Average wait time is currently 12 minutes.”
- The bakery counter sign that says “Now serving number 47,” so that the customers holding tickets numbered in the 60’s and 70’s know they have a long wait ahead of them.
One final rule-of-thumb: Never make the user stare at an unmoving screen longer than one nanocentury (about 2.6 seconds). If they click a button or hit Enter and nothing happens immediately, they’ll be patient at first, but only for a few seconds. After that, they’ll worry if something is wrong.