12

I wonder why no browser out there has such simple but essential feature. Am I missing something? Is there a technical reason?

I'm tired of all those javascript/flash/java hacks out there ...

swilliams
  • 48,060
  • 27
  • 100
  • 130
Egon
  • 203
  • 3
  • 5

8 Answers8

8

There is no technical reason preventing the browser from calculating the total bytes to be sent and then tracking how many have been received by the server (Thanks, Kibbee for your comment). Firefox had a functional upload progress indicator until version 0.9, but that build broke it in 2004.

Reading through the Bugzilla updates, it seems that this feature doesn't seem to benefit enough users to get any traction from the developers.

Users who regularly upload very large files tend to use tools like FTP that are designed for this purpose, so they are not affected.

flamingLogos
  • 5,971
  • 4
  • 37
  • 44
  • So the browser could only guess but never know for sure how much data was received from the server because there's no control connection like in FTP. So you have to build your own "control connection" with AJAX polling ... – Egon Oct 24 '08 at 22:35
  • The client knows how much is sent, which is the part that is relevant to an upload progress meter. If some data is lost, that's not really relevant to the progress of the upload. – Gerald Oct 24 '08 at 22:36
  • @Gerald: Good point. So a browser could show a progress indicator and label it "bytes sent". It would be useful to show the number of retries in the indicator and update that every couple of seconds to show the user why an upload was going slowly. – flamingLogos Oct 24 '08 at 23:11
  • 2
    Since it's using TCP, the client does indeed know how much data was received by the server. If the client gets an ACK packet back form the server, it means the server has received that packet. – Kibbee Oct 25 '08 at 01:40
  • 1
    Thanks Kibbee, su I guess there's no good reason for not having a progress bar. – Egon Oct 25 '08 at 06:30
  • @Kibbee: Thank you for your comment--you are absolutely right. I've changed my answer and removed the incorrect information. – flamingLogos Oct 25 '08 at 12:51
7

Adding to flamingLogos argument, you might operate behind a proxy which takes your five megabytes of pure goodness within a second, and then sends it off to the server over a 56kbit modem.

I perceive a wrong progress bar slightly worse than no progress bar at all, and there would be many people for who it would be wrong all of the time.

peterchen
  • 40,917
  • 20
  • 104
  • 186
3

Yes, it's silly, and for some reason browser makers are ignoring it. I would strongly dispute that large file users use FTP - hardly anyone knows about that anymore and all the common Web apps require HTTP uploads for video, audio and pictures (e.g. youtube).

Ironic that user participation and media is the key to Web 2.0, yet the main mechanism for user participation is so poorly handled by browsers.

For Firefox there have been bugs languishing for years, such as for a better upload progress display: https://bugzilla.mozilla.org/show_bug.cgi?id=243468

Get voting! :)

The existing progress bar in the status bar is broken for years - see bug 249338 - and it will let you silently abort an upload - see bug 432768.

3

If you are using Firefox, you can use the new UploadProgress add-on https://addons.mozilla.org/en-US/firefox/addon/221510/ designed for this purpose, that is displaying the progress of your uploads and an estimated remaining time.

Peuchele
  • 31
  • 1
2

You have to post back to upload a file, regardless of whether or not you are being "sneaky" about it (using hidden iframes, for example); the browser's own progress bar (usually down in the status bar) is the file upload progress bar in that sense, although not exactly.

alt text

It's just that you can't easily use that data for yourself, so you have to approximate it with a lot of client-to-server communication tricks.

Community
  • 1
  • 1
Jason Bunting
  • 58,249
  • 14
  • 102
  • 93
  • The point is that being the file on the client, it's silly to have to relay on that client-server trickery. It should be up to the browser to keep track on how much stuff is going out ... like with FTP, unless there's something else I'm not aware of. – Egon Oct 24 '08 at 21:41
  • I forgot, the status bar starts just after the browser get the response from the server (on Firefox at least) – Egon Oct 24 '08 at 21:45
1

There's no real technical reason you couldn't have a reasonable progress indicator as you do with downloads. You should suggest it as a feature request to your favorite browser.

That said, I think the main reason there are so many javascript/flash/ajax-based upload components isn't so much to provide progress bars (though that's a nice bonus). It's usually because they want to provide a better UI for selecting the data to be uploaded and to sometimes manipulate the data before uploading. The basic file upload feature that's in the HTML specs results in the "Browse..." button that pops up a file open dialog and uploads the raw file data as is to the server.

C. Dragon 76
  • 9,882
  • 9
  • 34
  • 41
0

Chrome has an upload bar that shows the % of loading.

Or, like Peuchele says, there's also an Addon for Firefox.

Community
  • 1
  • 1
T30
  • 11,422
  • 7
  • 53
  • 57
-1

The web browser has always been that, a browser of the web. It is a mechanism for consumption. Our ability to upload information through the same portal is somewhat of a hack.

Totty
  • 926
  • 2
  • 9
  • 18