Hacker News new | past | comments | ask | show | jobs | submit login
Rethinking the Progress Bar (hamletdarcy.blogspot.com)
12 points by nreece on April 15, 2008 | hide | past | favorite | 2 comments



There's this one idea I've had for some time for progress bars. Say you have a progress bar for a lengthy operation (duh). For example, the progress bar for loading a certain level in a certain game. On successive loadings of the same level on the same machine, the "signature" of the loading should be the same. So you could cache how much time it takes on the first time you load, and on subsequent loads you hope the loading will have the same behavior and make the progress bar grow smoothly, proportional to the time it takes.

That was the simplest scheme, you can go much further. You could separate the loading in chunks (say, 20 chucks of 5%) and see how much time each chunk takes (you get the ratio displayed progress/actual progress). On the next loading, if a chunk takes more time than the last time then you adjust the rest of the indication of progress appropriately to compensate.

Even better, instead of only considering the last loading you could develop a statistical model over many loadings of what is likely to vary and by how much. Maybe you could even take the system's load average (as provided by the OS) into consideration.

I think this guessing scheme, though failure-prone, would make progress bars much more accurate for common scenarios. It would be better than just accepting that most progress bars will be broken and inaccurate like we do right now...


I've always thought applications which need progress bars should ask you if you would be willing to share your progress data in exchange for seeing how your progress compares to that of other users. Not only would this allow you to get much more accurate estimates, it could also tip you off to potential issues. If others are getting past the progress stage a lot faster than you then it could mean it's time for you to investigate what's going on. Perhaps everyone else using that application has a better system than you or perhaps it's time for you to optimize your system a bit.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: