Skip to main content

Why progress bars are inaccurate

The entire purpose of a progress bar is to let the user know how much longer he or she has to wait till the program finishes doing whatever it’s doing. But most progress bars I have come across are useless. Have you not seen a progress bar that randomly switches between varying lengths of time from 2 hours to 5 minutes, when the actual file copy operation took 10 minutes?


What’s the use of progress bar if it can’t show the actual progress? Having the bar filled up to 99% and then waiting for an eternity gives users a false hope of completion and returning back to work, when it’s not. I have always wondered why programs do that.

Recently I came across a story on The Daily WTF that has me convinced that most developers include the progress bar entirely for cosmetic purposes.

"One of our desktop applications has a progress bar in it," Bryce N. writes, "and as I was working more and more with the code, I noticed that the progress bar would progress to a seemingly random part in the bar, but never past the halfway mark. This would probably be ignored, if it weren't for the fact that I noticed that my breakpoints would only be hit when the bar reached the 'random' mark."

"While I was trying to discover why, I found this in the code:"

/* There is really NO eloquent way of calculating what the progress of a given method/task will be.  One task may be downloading or copying a file while another one might be grabbing huge chunks of data for file creation.  Since we want to see a progress indicator but can't determine this value, we'll simply play with it so it has the
appearance of running; (i.e. we'll take it to 50%, execute the task, then come back and finish the progress upon completion.)  This is a Microsoft STANDARD... I'm sure of it! 


  1. Although progress bars are not accurate as a time indicator, I find them useful IF they are true indicators of activity. I find it very frustrating if there is supposed to be an active process and there is no indicator to let the user know that something is happening. Without this indicator users get impatient and may forget they initiated a process, or terminate a process because they think it failed.

    I think many users know that time indicators are guesstimates.

  2. If the progress bar is not accurate, it's better to use a loading indicator like a rotating icon or marquee rather than have a fake progress bar.

  3. I am a programmer in several languages and, in my opinion, the person who wrote that comment is either full of crap or a really bad programmer. As long as you are working with known facts, such as the size of the file, how many blocks you're moving at a time, the speed of the connection, etc., it is a trivial mathematical function to move the progress bar accurately. If you're using software that has an inaccurate progress bar, it was written by a lazy coder.

  4. SOURCE: The Daily WTF


  5. I think the programmer was tasked at creating a 'general' purpose progress bar. This is why he complains about not knowing the actual type of task the user will perform.

    In that case he is RIGHT. That said, good software (or a progress bar for that matter) is never general purpose.


Post a Comment

Popular posts from this blog

How to Record CPU and Memory Usage Over Time in Windows?

Whenever the computer is lagging or some application is taking too long to respond, we usually fire up task manager and look under the Performance tab or under Processes to check on processor utilization or the amount of free memory available. The task manager is ideal for real-time analysis of CPU and memory utilization. It even displays a short history of CPU utilization in the form of a graph. You get a small time-window, about 30 seconds or so, depending on how large the viewing area is.

Diagram 101: Different Types of Diagrams and When To Use Them

Diagrams are a great way to visualize information and convey meaning. The problem is that there’s too many different types of diagrams, so it can be hard to know which ones you should use in any given situation. To help you out, we’ve created this diagram that lays out the 7 most common types of diagrams and when they’re best used:

How to Schedule Changes to Your Facebook Page Cover Photo

Facebook’s current layout, the so called Timeline, features a prominent, large cover photo that some people are using in a lot of different creative ways. Timeline is also available for Facebook Pages that people can use to promote their website or business or event. Although you can change the cover photo as often as you like, it’s meant to be static – something which you design and leave it for at least a few weeks or months like a redesigned website. However, there are times when you may want to change the cover photo frequently and periodically to match event dates or some special promotion that you are running or plan to run. So, here is how you can do that.