Last week, I added progress bars to a few Big Medium 2.0 features that can sometimes take a few seconds to complete. I admit that it seems like a pretty homely feature at first blush, more form than function. I mean, wouldn’t my time be better spent adding meaty new features instead of taking an extra couple of hours to work up a little progress bar widget for the control panel?

Turns out, no.

I originally planned to add these progress bars at the very end of the development process: a bit of nice-to-have polish, but not essential. Then one day I rebuilt pages for a large site, and it took four or five seconds to finish – just long enough for me to start worrying if it was actually working. “What the heck’s it doing back there? How much longer?”

And so I discovered that progress notification isn’t just a nice-to-have, but a crucial feature of good web ergonomics. As soon as I added the progress bar, I no longer wondered if something was wrong, and my tolerance for the delay went up. The progress bar even had a strangely hypnotic appeal. “You’re getting sleepy, very sleepy… when you wake up, your pages will be rebuilt, and you will have a warm sense of wellness and happiness.”

Anyway. Yeah, I’m now a huge booster of progress bars.

I should have known it from the start. I am, for example, an extraordinarily impatient straphanger. When I wait for the subway, I pace the platform. I’m the guy who’s always leaning over the edge to see if I can catch a glimpse of the train 20 blocks away.

Paris Métro
Two minutes til the next train.

That particular neurosis goes away entirely, though, when I know how long it will be before the train arrives. Many of the lines in the Paris Métro, for example, have timers that show you how many minutes til the next train arrives. I’m not exactly sure how they’re so accurate, but the clocks are always right. And that information gives me the patience of a buddha.

Deli counters and departments of motor vehicles have long used the tried-and-true ticket system, a nifty double whammy for crowd control and setting expectations for how long you’ll have to wait.

The point of course is that if you’re going to make people wait, it’s powerfully calming simply to give them a sense of how long.

Here are 10 more pieces of process-based information that reduce (or would reduce) anxiety or irritation:

  1. When you’re driving: How much is left in your tank.
  2. When you’re SCUBA diving: How much is left in your tank.
  3. When you’re on hold with the Franklin Mint: When an operator will take your order for that Elvis collectible plate.
  4. Awaiting delivery: FedEx tracking that shows me the where and when.
  5. In the waiting room: Just how late the doctor is running this time.
  6. During pre-movie commercials: When the movie will start.
  7. In a road race: How far to the finish line.
  8. Interviewing for a job: When a decision will be made.
  9. Watching a pot: When the water will boil.
  10. Waiting for the release of Big Medium 2.0: Er…. *cough*

I can’t always (ever?) control the process, but take the guesswork out of where I stand, and I’m always calmer, happier, more patient.

Sep 14, 2006, Update: Turns out that there’s research to bear out my anecdotal observation. Via 37signals today, I caught this observation from Prof. John Maeda of the MIT Media Lab:

When a user was presented with a task that required time for the computer to crunch on something, when a progress bar was shown, the user would perceive that the computer took less time to process versus having been shown no progress bar at all.

Read more about...