Waiting stinks: How to redesign your product’s dead time

Recently my family gathered in North Carolina to celebrate a milestone in my sister’s life, and we arrived 10 minutes early for our reservation at a nice restaurant. “No problem,” they said, since the previous table was closing the check. We then stood waiting for more than half an hour –  during which we were refused water because the table was “almost ready”– and we checked in twice more before finally being seated. Though the restaurant eventually comped our appetizers, our meal was colored by a needlessly arduous bad start.
This situation made me think about my experiences with other establishments that have figured out ways to make waiting more pleasant. Some of these practices are well established in the real world, yet many of us working in the digital world fail to recognize or embrace those strategies to improve our products.

Above all, shrink the user’s wait

The self-evident observation is to make it a priority to improve the product so customers don’t have to wait as long. Especially when you have a lot of users, trimming wait times can have cumulative benefits. An outsize and poignant example: Amazon realized that every second it made users wait would cost $1.6 billion in revenue. And Steve Jobs famously framed the impact in human terms to an engineer: cutting the Mac boot time by 10 seconds would be equivalent to saving at least a hundred lifetimes if you multiply that time across millions of users.
However, often times making a user wait is inevitable. Here are some ways to make it less painful and in the process show your customer you don’t take them for granted.

1. Immediately provide value

A few months ago, a friend was in town and had her birthday dinner at a restaurant called Mau in San Francisco, but they weren’t able to seat us – despite our advanced reservation. The hostess offered everyone drinks on the house while we waited at the bar. We had a great time catching up – and by having drinks it felt like the experience of getting a meal together has already begun.
In the digital realm, one of my favorite Gmail Labs features showed a static shot of your inbox with all your mail while the page loads, so you can start mentally processing emails right away. And some content-heavy apps like Flipboard and Pulse often load titles and leading paragraphs to enable fast scrolling, then load images and full text once the user pauses or chooses an article. The lesson here is to present useful content, even though it might not be fully interactive, so that the user can get a jump start and not feel like time is unnecessarily wasted.

2. Offer entertainment

If you really have to make someone wait, look for ways to prevent the customer from total boredom (or seething). There are lots of examples of how this is accomplished: music while on hold on the phone, the stacks of magazines at the doctor’s office, and TVs above stadium concession stands and in airports. When your customer is held hostage show them respect – or mercy – with a diverting feature that takes the edge off.
In mobile app loading periods, Google apps show a folding origami ball while Yahoo! Weather animates a line drawing of a sun. During a flight search, the Hipmunk app dispenses travel-related quotes below a cartoon chipmunk bouncing from side to side. Plants vs. Zombies has a patch of grass slowly uncurling while the game loads. In general, subtlety trumps overindulgence, since users may become annoyed if the same gaudy experience is repeatedly forced upon them in a maddening loop.

3. Give permission to leave

One of the most frustrating aspects about waiting is the purgatorial feeling of being able to leave because your turn may be coming up soon. It’s helpful to let the user know how long the wait might be so they don’t stay in vain. Better yet, give permission to leave. On my recent visit to popular San Francisco restaurant Izakaya Sozai, they simply took our phone number, gave us a wait estimate, and told us about a few bars in the area.
The TaskRabbit iPhone app does something similar. After you post a task, a prompt tells you that you can close the app while they look for someone to work on your request. On the flip side, the Netflix app does the opposite by punishing users who switch to another app: if you don’t wait for a show to load, you get kicked back to the start screen when you return. To users it’s a tedious nuisance.

4. Reduce the perception of waiting

Perhaps more important than waiting is the perception of waiting. A one-line-per-register setup in a grocery store has proven to be less efficient than one big snaking line. However, shoppers still balk at the consolidated lines, so most grocery stores still have not evolved to the single line checkout. Similarly, Houston’s airport used to get many complaints for long baggage wait times, but adding more baggage handlers didn’t placate travelers. What ultimately worked was setting up the airport in a way that required that travelers walk much farther to get to the carousels. By the time they arrive their bags were not far behind.
In the digital realm, Apple has an interesting approach to making actual load times seem less obvious. If you have an iPhone or iPad, open a stock Apple app like Messages or Mail and watch carefully – you’ll find a blank screenshot before your content appears. By using a empty screenshot as the loading screen, Apple is giving users the perception that the app loaded immediately even though there is really no useful content on screen. However, this only works when the wait is fairly short – otherwise it might look like the product froze on launch. (Anyone who’s ever woken a Mac from deep sleep has experienced the uncertainty of whether those open windows were going to make it.)

Schedule time to improve waiting

Now, you may be thinking that these are nice ideas, but your product isn’t that slow. I get it – making our products perform faster may not always be a top priority. As software developers we often have fast computers, the newest phones and speedy web connections. So it’s easy to forget that users might have an older machine or a hand-me-down device. They may be waiting for your app to load while it’s pouring rain and they need that crucial piece of information from you. Or they may not have an LTE connection and your app doesn’t do a good job of queuing up content, making an extended bus delay even more frustrating.
Like most things that are important but not urgent, it may be wise to schedule regular times on the calendar so it actually gets done. So don’t wait too long.
Henry Tsai is an experience designer with the mobile team at Yahoo. He blogs at htsai.com;  follow him on Twitter @henry_tsai.
Have an idea for a post you’d like to contribute to GigaOm? Click here for our guidelines and contact info.