Progress bars are a necessary evil. After all, we need some sort of feedback to know how much of a job is left until the computer is done. However, in most cases, the simple progress bar hides many deceptions, but maybe these are actually for our own good.
1 Non-linear Progression
A progress bar looks like a representation of a straight line. Like someone doing the 100M sprint, but in reality it’s more like someone running through a twisting obstacle course, like an episode of American Gladiators. It’s like you’re looking at a 2D representation of a 3D process.
This is why the progress bar doesn’t, well, progress at a steady pace. Instead, it will jump forward in little spurts, and then linger in place, or slowly crawl for a while before jumping ahead. It might be an accurate representation of the percentage of tasks that have been completed, but not how much time has passed or how much is still left. Of course, many progress bars also have an estimated completion time counter, but don’t even get me started on those and their liberal interpretation of what a “minute” actually is.
2 The Starting Jump Fakeout
Like an enthusiastic couch potato, some progress bars jump a huge amount out of the gate, and then just stop dead while something happens in the background. Most often I’ve seen them jump to the 30% or 50% mark, but the truly egregious ones quickly jump to 90%, and then spend 90% of the actual process time completing the last 10%.
3 The Animated Progress Bar
One important job for a progress bar is to provide feedback to you that things are still happening, and that the process hasn’t frozen. That’s easy enough if the bar is moving visibly, but this isn’t always the case. So some progress bars have a little animation built into them. It could be a pulse running along the bar, or a “cylon” progress bar where the pulse runs back and forth. Either way, these animations are useful to see if the process has frozen, but they can also make it look as if the bar is progressing when it’s not. In particular, if the animation is smooth and fast.
4 The Window-dressing Progress Bar
Believe it or not, there are progress bars that don’t actually show you the progress at all, because by the time you see the progress bar the actuall background process has completed. The bar merely exists so that our slow monkey brains can accept that something has happened which would otherwise have been too fast to register.
5 The “100% But I’m Still Busy” Progress Bar
We’ve all seen this one. The progress bar hits 100%, and it looks like the process is complete, but the computer is still working hard for a few more seconds, or even a few dozen, after the 100% number’s been visible. It’s not clear why exactly the progress bar is set to show 100% while work still remains, but it seems the true number should have been 110%.
6 Multiple Progress Bars
This is perhaps the one that drives me up the wall the most, personally. Some developers break a process up into separate phases, each with their own progress bar. This has the effect of any given progress bar moving at a decent pace, but since you have to sit through five or six of them, it just means you’re seeing pieces of the overall bar rather than the big picture.
There will never be a computer so fast, that it can complete every task in the blink of an eye. After all, the job complexity tends to grow in step with computer performance. So, there will always be progress bars that mainly exist to keep you occupied while the real work happens off-screen.