Blog Post

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

Stay on Top of Enterprise Technology Trends

Get updates impacting your industry from our GigaOm Research Community
Join the Community!

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;  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.


4 Responses to “Waiting stinks: How to redesign your product’s dead time”

  1. Tim Strasser

    Restaurants do not have any control over how long a party may decide to stay, even after they have finished eating and payed their bill. The problem with Americans (and I am one born and bread) is that we as a society expect everything to happen for us NOW. The fact that anyone would complain about a half hour wait at a restaurant says it all. We wait at the mechanic because he found other problems that were not expected. We wait at the doctors office because he got called into an emergency surgery and we wait at the restaurant because the table that was reserved for us was occupied by a group of people that was having so much fun they didn’t want to leave. It’s okay if your the group at the table holding up someone else but if it is you that is waiting “OH MY GOD!”
    Chill out people, stop and smell the flowers along the way, a half hour? Really?

    • Henry Tsai

      Hey Tim, totally agree that patience is a virtue. In fact, Louis CK’s bit on Conan “everything’s amazing but nobody’s happy” is one of my favorites.

      As a creator of products, I too believe that everyone’s lives would be easier if users don’t get annoyed when they come across a bug or slowness in our work. However, maybe a little bit of slowness or an app crash is no big deal, but we don’t know what else is going on with the user. At the end of the piece I mention some scenarios — perhaps the user is stranded in a bad part of town because of a late bus, or just heard that a loved one is sick, or had a rough day at work. In our case, my parents hardly ever get to go to nice restaurants, it was past 9pm, and we had traveled all day.

      Even if our users are totally patient, it shouldn’t stop us from making our products better for them. Just like restaurants don’t control how long parties stay, app producers don’t control how fast the user’s device or internet is — but I think we should still make every effort to improve our users’ experiences.