Jan Miksovsky’s BlogArchive2005 AboutContact

Progress bars that start over are almost useless

An app should never show the user a progress bar, fill it up, only to reset it and make them watch it fill up again.

Two-thirds done — or is it?

An app with a progress bar that resets will fail to deliver on the promise it has made. The app is saying, "Almost done! Almost done! Just a second more!", then saying, "Just kidding! There’s still more." The user loses faith the process is anywhere near completion. For all they know, the progress bar is going to reset again, and again, and again. If a progress bar can start all over, there’s practically no value in having a progress bar in the first place. It’s more honest in such a case to use a progress animation instead of a progress bar; at least that doesn’t make any promises about when an operation will finish.

When an app has back-to-back operations that can take a long time, incorporate the progress for those operations into a combined progress bar. This can be done, for example, by assigning arbitrary percentages based on expected results. If the first operation usually takes about three times as long as the second, then the first operation can be defined to fill up 75% of the progress bar and the second operation to fill up the remaining 25%. This can result in a change in progress bar speed, but this still allows the user to derive more value from the progress bar, and maintains a sense a progress.