Google Answers Logo
View Question
 
Q: Why are progress indicators inaccurate? ( Answered 4 out of 5 stars,   1 Comment )
Question  
Subject: Why are progress indicators inaccurate?
Category: Computers > Software
Asked by: zpatch-ga
List Price: $7.00
Posted: 19 May 2004 12:53 PDT
Expires: 18 Jun 2004 12:53 PDT
Question ID: 348930
The progress indicators that tell you how much of a file (or files) is
left to download invariably seem way off. You'll be breezing through a
file and suddenly hit 99%, at which point progress stalls for minutes.
The same applies to installation progress indicators. Why are these so
off-base?
Answer  
Subject: Re: Why are progress indicators inaccurate?
Answered By: maniac-ga on 19 May 2004 16:28 PDT
Rated:4 out of 5 stars
 
Hello Zpatch,

There are several broad categories of errors in producing a progress
indicator. These include:
 - incorrect assumption of relative time of steps
 - changes in conditions that affect elapsed time
 - differences in equipment
You refer to downloading a file - so let's focus on that type of
operation and see how the three factors I mention above can apply. I
will also touch on installation progress as well.

Relative time of steps:

Behind the scenes, there may be several steps involved in downloading
a file. For example:
 1 contacting the server with the file
 2 the server finds the file and starts sending it
 3 sending the contents / your system starts to write it to disk
 4 at completion, your system finishes writing to disk and says "complete"
Depending on the application you use - the progress bar could be
reflecting the third step and assumes the last one is "instantaneous".
If this was done - it could cause the behavior you see. The
installation progress may be a similar situation to this one - if 100
steps are involved in installation, and the 100 steps are not of equal
duration, the progress bar will grow erratically.

Changes in conditions:

Based on your symptoms, this is an unlikely cause, but this may cause
other symptoms. Let's say you have started a download and are getting
a 100 Kbyte/sec transfer rate. The server you are using gets busy and
downloads slow down to 50 Kbyte/sec rate. In this case, the progress
bar will tend to grow in an erratic manner. For installation - the
operating system may get loaded by a background task (or that task
ends) - also causing erratic progress to be shown.

Equipment differences:

In the case of downloading files, the performance of the slowest link
will affect the speed of downloading. For example - using a 56k modem
- its that modem link that will most likely limit the speed of
downloading. In addition - where the modem is used can cause
significant differences in performance. On a recent business trip, a
modem connection using a business phone line yielded a 50k connection.
Later that day in the hotel, the connection speed was about 24k. If
the software assumes you have a 56k connection (if it tests the type
of connection), the hotel line would demonstrate behavior similar to
what you see. For installation - you might have a fast CPU and slow
disk - the developer had a slower CPU and faster disk. The progress
would then vary between that of the developer and what you see.

There are certainly good references on line on how to "do this right". For example:
  http://www.avdf.com/feb96/rmprogress.html
This page has an interesting comment at the end - some tools don't
actually force the progress to 100%, so that may also explain what you
are seeing as well.

A search using phrases such as
  coding accurate progress indicator
  coding accurate "progress bar"
and similar phrases will find code to implement progress bars as well
as discussions on how progress is measured (both well and otherwise).

Please use a clarification request if you need further information on
this topic or if some part of the answer is unclear.
  --Maniac
zpatch-ga rated this answer:4 out of 5 stars
Very helpful.

Comments  
Subject: Re: Why are progress indicators inaccurate?
From: tedehrich-ga on 19 May 2004 15:35 PDT
 
Hello,

I'm a programmer, so I think I can answer this.  For a progress bar to
work, it must have a "lower bound" and an "upper bound", so something
like a range of 0-100 will work, or 50-200. The progress shown on the
progress bar will be the percentage of the "current value" divided by
the upper bound.  So when it's half way done, 50/100, it will appear
as if half of the progress bar is "filled".

For file copy dialogs, the progress bar should always be accurate, at
least in xp.  In the 9x opperating system, I believe the 2 gig
datatype boundry (32 bit) caused 9x file copy dialogs to become
innaccurate after transferring more than 2 gigs.  (2^32 = 4 billion,
the computer also allows this number to be negative, so it stretches
from -2 billion to 2 billion.)

For a file copy dialog to work, the computer must add all the file
sizes of the different files it's going to copy, and then keep track
of how much it's already transferred.

The progress bars on setup dialogs can be showing any number of things
(total files to copy, total file size, location in the setups internal
code block as it progresses).  Some progress bars are entirely pseudo
in that they only exist to let the user know the computer hasn't
frozen and that something is happening behind the scenes.

HTH

-Ted

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy