On May 6, 2006, at 7:41 PM, Joaquin Cuenca Abela wrote:
Matthew wrote:
A much easier and more consistent approach would be for the browser
to show the upload progress itself. Complain to your friendly local
browser vendor.
Unfortunately such a simple approach is not good enough in this case.
The progress bar in a browser is "optimized" for small - medium file
uploads: no estimated time left, quite small, on a blind corner,
assumes the size of the downloaded page is somewhat in the range of
the size of the file uploaded, so it's estimation of % done is wildly
pessimist.
I have yet to see a browser that shows determinate upload progress at
all. (Internet Explorer, Firefox, Safari, Opera, and iCab all don't.)
But it should be easier to implement than showing determinate download
progress, because with uploading the browser knows ahead of time
exactly how much data is involved. That's why I'm suggesting you lobby
browser vendors to implement it: not because they already do, but
because they don't.
(You may be under the impression that Internet Explorer for Windows
shows determinate upload progress. But its progress meter actually
advances 1 pixel/second starting from the beginning of the request,
regardless of the progress of any upload. So if it has taken longer
than 90 seconds, the progress meter reaches 100% and gets stuck there.)
...
1) the file the user is going to upload is expected to be > 0.5M
2) once uploaded, the html with the response is extremelly small
compared to the file(s) uploaded
In that use-case you want a bigger progress bar, on a very visible
spot on the page, and giving the user a clue of the time remaining.
Sure. But again, it would be much easier and more consistent if the
browser showed a bigger progress bar, overlayed on the page, with an
estimate of time remaining, for *all* uploads likely to take more than
about 5 seconds -- rather than some Web sites doing it and most not.
...
Oh, and to add another item to the previous list:
* There is only one progress bar in the browser.
The thing is you may have the main upload going targetting a frame,
and have some xmlhttprequest / iframe downloads going on the
background. It will drive crazy the browser progress bar. Only the
page author knows what's the most probable big, blocking
upload/download in the page.
...
I don't think that's true. Browsers (other than Opera) already handle
the problem of presenting progress of multiple items in a single
progress bar when downloading a page. They could do an even better job
for uploads, since they know the size of the items involved beforehand.
And good results probably would be achieved from ignoring XmlHttp
traffic for progress bar purposes whenever displaying any non-XmlHttp
progress.
--
Matthew Paul Thomas
http://mpt.net.nz/