Closed
Bug 21986
Opened 26 years ago
Closed 16 years ago
Display estimated download time more realistically
Categories
(Core Graveyard :: File Handling, defect, P3)
Core Graveyard
File Handling
Tracking
(Not tracked)
RESOLVED
WORKSFORME
People
(Reporter: mahjongg, Unassigned)
Details
When startin a download process using mozilla seamonkey (observed with Buid ID
1999121612 ) an estimate is displayed of the time it will theoretically take to
finish the download process.
If you observe this estimate you will notice that this estimate behaves strange.
Instead of a nice and systematical decrementation of this value you will
probably notice that the value is updated eratically. The value will even
increase somtimes goinf from for example 4.30 minutes to 4.35 minutes.
Actually the reason for this is quite clear if you think about it. The displayed
figures are an _estimate_ calculated from parameters of the percentage of the
file downlaoded and the duration of the download so far. This means that the
total estimated time the complete download will take is, especially in the
beginning of the download, very uncertain and so can change during the download.
Because the total estimated duration can change the "counter" can also run
backwards.
For an unsophisticated user this can be very confusing.
Therefore Ill make the following proposal.
change the display algorithm so that:
During the first few seconds no estimate is displayed of the estimated download
time, so the algorithm can make an estimate of the expected transfer rate upon
which a rough estimate in units of minutes can be calculated of the download time.
Then this estimate can be displayed, in units of a minute. If the estimated time
is expected to be less than a minute, simply display a message to that intent.
The purpose of this is that for short downloads knowing that it will take less
than a minute is enough information. For downloads with an estimated time
between 1 and say five minutes a slightly more accurate notition in units of
minuted and ten seconds can be displayed with enough certanty to be accurate and
usefull. For downloads that are estimated to take much longer than five minutes
the value should be displayed in units of a minute only.
After a download period of 2 minutes or so, the displayed accuracy can be
increased from units of one minute to units of one minute and ten seconds.
The resuling user experience will be much more logically correct and intuitive.
Other advantages are that the inherent unreliability of the estimate that is
greatest during the initial phase of the download will be masked.
The user will not be confronted with unintuitive behaviour of the system so it
will gain more faith in it.
Updated•26 years ago
|
Assignee: shuang → evaughan
Component: UE/UI → Progress Window
QA Contact: elig → sairuh
Comment 1•26 years ago
|
||
Moving to correct component.
mahjongg@xs4all.nl, please note this component for future download progress bug
reports, so that you can report them directly to the right place. Thanks!
Comment 2•26 years ago
|
||
Smoothing the estimated download time is a very good idea - I can confirm that
some users do get confused and ask "why?" (usually the ones that have no
intention of listening carefully enough to have any chance of understanding
a clear explanation!). And estimates based on receipt of just one or two
packets can be very unrealistic, if the latency is high or the user is using
a modem link with other traffic.
But I am concerned that the proposed change would present the estimate too
coarsely to be realistic in two common circumstances: very short files, and
download rates that get much slower during the download.
For very short files, an estimate of 1 minute or less gives the user no useful
information at all. If, after 3 seconds, 7K of 10k has been downloaded,
the appropriate unit for estimated time remaining (ETR) is seconds, and the
user will normally just wait. If, after 3 seconds, 7K of 100k has been
downloaded, a rough estimate of 1 minute is as good as any, and the user may
prefer to check e-mail or view another webpage while waiting. Not everyone
is patient - and those who are least patient hate (yes, hate) getting no
feedback (and even those who are normally patient can become inpatient faced
with no feedback for 10 seconds or more).
For this, I'd propose taking into account both download speed and file size
rather than presenting the first estimate after a fixed number of seconds.
If at all possible, no estimate should be given until at least 8 packets
are received (to smooth out the initial latency at least a little), or at least
10 percent of the file is recieved, whichever comes first - but in any case
the first estimate should appear within 3-5 seconds. Regardless of anything
else, the ETR should be updated after another 8 packets at the latest,
to smooth out the effects of the TCP slow-start somewhat.
Also, if the download rate for a longer download suddenly gets much slower,
the proposed algorithm would give the user no feedback at all for over a minute.
If the user is downloading, over a 28.8 kbps modem, a large file from a server
on another continent at a rate of 1k per second with a time remaining of 30
minutes, and then starts a download from a local server that stabilizes at a
rate of 2.2k per second, the first can easily be reduced to 0.5k per second,
so that it takes a full hour longer, not 30 minutes. This kind of slowdown
can also happen if the user starts actively websurfing while the download
continues.
With 4.x, the ETR starts climbing immediately, but slowly, as the reported
download speed very slowly decreases. This at least gives the user some
immediate indication that the first download will now take longer. It
appears that the instantaneous download speed is heavily smoothed,
and the ETR is not smoothed at all.
Implementing smoothing based on proportions on the ETR would allow the ETR
to be presented much more realistically if the download speed varies,
while not confusing the user with uninformative jitter. I'd propose decreasing
the ETR presented to the user if it improves by as little as 0.2 percent from
the last update (or 5 seconds less, whichever comes sooner), but not presenting
a longer ETR until it is at least 1 percent longer than the previous reported
ETR (or 60 seconds longer, whichever comes first). With this smoothing in
place, the download speed could be smoothed *less*. The result of all this
would be a serious reduction in meaningless reporting of changed ETR,
but at the same time an improved and more realistic reporting of ETR when
download rates suddenly change meaningfully.
Another issue is the maximum rate at which updates should be displayed.
Once per second makes sense for downloads with ETRs under 60 seconds,
but once per 5 seconds may be sufficient for downloads with longer ETRs
(this would revert to once per second in the last 60 seconds).
Yes I totally agree with your comments.
The protocol I described was an explanation and was not intended to be exact.
I am glad you seem to understand exactly what is involved and you have
obviously more experience with TCP-IP network behaviour than I do ( I Must
confess that most of my experience with this is 10 years old and with BBS
systems).
The gist of my proposal is:
Only give information to an accuracy that is consistent with the statistical
uncertainty of this information.
Avoid seemingly irrational behaviour.
Remember that people often in their mind confuse between observed reliability
of the information a system gives them and the relibility of the system itself,
at least I do :-) .
Updated•26 years ago
|
Assignee: evaughan → law
Comment 4•26 years ago
|
||
Looks like a job for xpapps
Assignee: law → don
Summary: displaying estimated download time more realisticly. → [RFE] Display estimated download time more realisticly.
Target Milestone: M20
Updated•25 years ago
|
Summary: [RFE] Display estimated download time more realisticly. → [RFE] Display estimated download time more realistically
Comment 7•25 years ago
|
||
Changing all Progress Window components to XP Apps: GUI Features. The Progress
Window component will be retired shortly.
Component: Progress Window → XP Apps: GUI Features
Comment 8•25 years ago
|
||
Since Don has left, Vishy is taking his bugs in bulk, pending reassignment.
thanks,
Vishy
Assignee: don → vishy
Comment 9•24 years ago
|
||
bill/mscott, has this been fixed yet?
am clearing the milestone and adding nsbeta1 just in case this is still an
issue.
if this isn't [or, there are more specific bugs for this], feel free to resolve
this puppy. thx!
Assignee: vishy → law
Severity: enhancement → normal
Keywords: nsbeta1
Hardware: PC → All
Summary: [RFE] Display estimated download time more realistically → Display estimated download time more realistically
Target Milestone: Future → ---
Comment 10•24 years ago
|
||
Each byte is like a little winged heavenly body. Your hard disk is like the
dull terminus of a small, sharp sewing implement typically used to termporarily
bind fabrics together.
In that context, this bug indeed degenerates into an argument about how many
angels can dance on the head of a pin (well, to be more precise, how many are
estimated to be dancing there in the future).
Just pointing that out.
I do have a patch that adds an asterisk next to the "time remaining" and a bit
of text at the bottom of the dialog explaining that "this value is an estimate;
no guarantee is expressed or implied; Mozilla will not be held liable for any
damages, consequential or otherwise, if any estimate turns out to be off by
hours, or minutes, nay, even *seconds*."
As soon as the lawyers give their super-review, I'll be checking that in.
Sorry; I'm just feeling ironic today.
Comment 11•24 years ago
|
||
damages, _monetary,_ consequential or otherwise :)
please check this in
Comment 12•24 years ago
|
||
nav triage team:
Not counting angels on the head of a pin here, marking nsbeta1-
Comment 13•24 years ago
|
||
nav triage: this is a nsCatFood issue since it impacts the feedback to the user
of a browser operation.
Keywords: nsCatFood → nsCatFood+
Target Milestone: --- → mozilla0.9.2
Comment 14•24 years ago
|
||
nav triage team:
Pushing out to mozilla0.9.3
Target Milestone: mozilla0.9.2 → mozilla0.9.3
Comment 15•24 years ago
|
||
nav triage team:
Not a mozilla0.9.3 stopper, pushing out to mozilla1.0
Target Milestone: mozilla0.9.3 → mozilla1.0
Comment 16•24 years ago
|
||
spam: over to File Handling.
Component: XP Apps: GUI Features → File Handling
Comment 17•24 years ago
|
||
It seems to me that the download time algorithm right now suffers from another
problem: it appears to be calculating download speed from the time you first
click on the link, rather than the time you actually begin downloading. If you
have entered in a download location, this means the initial estimates of
download speed are usually way low, and slowly creep up to asymptotically
approach the actual value as the download proceeds.
Whatever the reason for it, it seems to me that download speed should at the
very least be calculated from the time packets are first received, rather than
some earlier time. In addition, it might be reasonable to dynamically move the
window used to calculate the speed, using just recently-received packets to
calculate current speed. Regardless, however, the asymptotically-approaching
speed issue ought to be fixed --- looks like an easy fix.
Comment 18•24 years ago
|
||
setting to future/helpwanted.
Keywords: helpwanted
Target Milestone: mozilla1.0 → Future
Comment 19•23 years ago
|
||
When I first started testing Mozilla, lo unto many milestones ago, I was very
pleased that it displayed the current download speed, and not a decaying average
like Netscape 4. The decaying average in NS4 was always wrong, crept up slowly,
and never reached the actual download speed. Mozilla now seems to use the same
kind of decaying average, and I would vastly prefer the earlier behavior. When I
started downloading at 100KB/s I knew it, I didn't have to wait five minutes.
Now, I have to guess based on how fast the KB Received is going up, just like in
NS4. Regardless of how ETA is calculated, Current Speed should be current.
Updated•23 years ago
|
QA Contact: sairuh → petersen
Updated•16 years ago
|
Assignee: law → nobody
QA Contact: chrispetersen → file-handling
Comment 20•16 years ago
|
||
Current time display is sufficient.
Status: NEW → RESOLVED
Closed: 16 years ago
Keywords: helpwanted
Resolution: --- → WORKSFORME
Target Milestone: Future → ---
Assignee | ||
Updated•9 years ago
|
Product: Core → Core Graveyard
Comment hidden (collapsed) |
You need to log in
before you can comment on or make changes to this bug.
Description
•