View Full Version : File upload UI feedback

2006-09-22, 07:56 AM
Why do browsers in general have such a bad UI feedback while uploading files? If you have a very slow connection or a very large file (or worse both!) than you browser keeps working for ages without an appropriate feedback. Neither in OmniWeb nor in Safari you have any kind of feedback how much of your data has been delivered or how long the delivery is expected to take.

Some thoughts on how to provide the best feedback to the user should be done... but a simple progress-bar and a ETA would be nice. Since uploads can take a very long time a confirmation dialog would be helpful for actions that would abort the upload.

Maybe a sheet would be nice during upload but that wouldn't work with tabbed browsing, right? What about dimming the background like dashboard and showing a progress-bar with a cancel button?

No browser that I know of handles file uploads well.

2006-09-22, 09:42 AM
Hmmmm.... interesting. I guess that might depend on each site...

2006-09-22, 11:06 AM
As far as I know file uploads are HTML forms with special input fields:

<form action="upload.gci" enctype="multipart/form-data">
Choose a file:<br/>
<input name="uploadfile" type="file"/>
<input name="submit" type="button"/>

when you submit the form, the content of the form's frame will be replaced by the reply of the form's action. So I guess it might be possible to 'lock' the frame 'that is currently uploading' with some sort of a progress indicator.

Maybe there are some issues with HTML, frames and asynchronous requests (AJAX) that make implementing this feature tricky or impossible. There might be lots of problems I'm not aware of. Maybe this is the reason that none of the browsers I know implement something like this?

I'm sure that I'm not the first person having this idea...

Len Case
2006-09-23, 01:58 AM
I think most browsers don't track the sending of the request because normally sending the request is not the slow part.

It should be possible to get this information at the CFNetworking level (see here (http://lists.apple.com/archives/cocoa-dev/2006/Aug/msg01428.html)), but I don't think there is a way to get to the CFReadStream from the NSURLConnection level.