Why is it that all web browsers can tell you (in most cases) when a download is going to be done, whereas uploads always seem to take an indeterminate amount of time?
Users are left worrying that probably the form can’t be submitted, so they might try submitting it again, which could seriously screw things up server-side.
The browser definitely knows the file size and how much data has already been transmitted at any given time, therefore displaying the progress and ETA of the upload should be a piece of cake. It’s obvious, too, that this would be a nice convenience for end users.
See also: A system-wide download manager