Our Blog

Progress Bars

Posted by Serges LaRiviere on Sat, Jan 28, 2012

Have you ever noticed when you download or install a file you get a progress bar that really gives no real time indication of how long the process will take? Why is i
t that a computer can’t figure out how long something will take to download? Well it seems that when you see a progress bar it really only means that your in for a wait and your computer has no way of knowing how long it will take. it would seem all a computer would have to do is divide the total file size by the measure rate of the download . But download speed is unpredictable, subject to the ebbs and flows of your connection, the busyness of the files server and the performance of your router.

Brad Myers, a professor at Carnegie Mellon’s Human-Computer Interaction Institute, puts it thus: “There are many areas of computing where the system as a whole cannot predict how long (a task) will take, so progress bars don’t move in a consistent way.” Estimating how long it will take to install something as complex as a computer game borders on guesswork. The result is program developers don’t always bother to make their progress bars accurate. So they just use off-the-shelf progress-bar code that tracks how many raw operations have been completed, granting no special weight to those that may take longer than others.

There are some people attacking this problem to try and solve it but for now the progress bar is a necessary evil. As Brad Myers states, “Unfortunately, there will always be computer programs that cannot be executed instantaneously. As long as there have been computers, there have been computers that don’t run fast enough. When there’s more computer power available, there’s more desire to use it. Progress bars would stop only if human progress stops.”

So don’t bother watching the progress bar next time and try to determine how long you have to wait for the operation to take. Go get a coffee or beer, relax and enjoy the break, maybe you can get a short nap in while you wait, that’s what I do.