Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I [fake upload progress][demo] for browsers without xhr2. To be consistent with the unknown file size and progress, the bar progresses asymptotically, and thus can never reach the end. It is also consistent in perception with what the user expects: a short upload has a fast bar (because it doesn't stay long enough to be slow) and a longer upload has a slow bar (because the fast part is comparatively much shorter in duration compared to the slow one). It is also consistent on the final part, i.e when it jumps to the end: if it was a small file, the bar was cut early yet growing fast it is expected to cross a bigger chasm.

[demo]: http://codepen.io/lloeki/pen/ydmCh



On OS X and iOS there are two different kinds of progress bars. Normal progress bars and indeterminate progress bars. Normal progress bars are used when you know the actual progress. Indeterminate progress bars are used when you don't know the actual progress and you don't know how long it will take.

Here is a video showing an indeterminate progress bar:

https://www.dropbox.com/s/mko66awdbwy6xzu/pb.mov


This is similar to bootstrap's .active.progress-striped progress bars[0].

We use bootstrap already, but I wanted the user to feel a sense of progress, whereas the indeterminate ones merely give a sense of action.

The iOS Messages app has a SMS progress bar that is totally fake: its duration is actually the mean duration of the last time it took to send SMSes, and is made to fill up to ~80% in that duration. It takes advantage of the knowledge that the exact same task takes about the same time. So despite being fake, its progress statistically makes sense and gives valuable, quantitative feedback to the user.

[0]: http://getbootstrap.com/2.3.2/components.html#progress




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: