Live data from Hacker News

Why the Progress Bar Is Lying to You

popularmechanics.com

21–30 of 30 posts

Re: Why the Progress Bar Is Lying to You

#21
post #17

Earlier quoted context omitted.

Unfortunately, Atari owns a patent on little games loaded for someone to play while a larger bit of data is being loaded.

What, seriously?? How the hell can you patent that??

Well, if bdunbar is correct there may be prior art.

Re: Why the Progress Bar Is Lying to You

#23
post #12

Irrelevant Digression: The niftiest progress bar I've ever seen wasn't a progress bar. It was a little morality play. As the game installed a dinosaur slowly bounced across the installer window and _ate_ a hapless user .. who didn't send in his registration card. Still remember that, seventeen years later.

Unfortunately, Atari owns a patent on little games loaded for someone to play while a larger bit of data is being loaded.

This wasn't a game, merely an animation. Purposefully crude drawings to go with the story line.

Pity. If Oracle has wee little cartoon dinosaur mayhem I'd be a happier guy.

Re: Why the Progress Bar Is Lying to You

#25
post #18
post #17

Earlier quoted context omitted.

What, seriously?? How the hell can you patent that??

I would love to see that patent. I have a hard time imagining it would be enforceable.

It's probably this: http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sec...

It's actually issued to Namco, but it seems to describe exactly that.

I think I have a PSOne Namco game with a preloader, possibly Tekken. I never so much as dreamed that was patented, though.

Re: Why the Progress Bar Is Lying to You

#26
post #20

Two things I've half seriously considered if I ever need to do a progress bar: 1. Make the errors amusing to the user. For instance, if the operation goes over the estimate, go ahead and fill the progress bar to 100%. Then pause a second, and act embarrassed. Change the progress text to something like "Uhm...err...well, this is a bit embarrassing...", then go one to explain it's taking a little longer then expected.…

I would find option 1 and possibly option 2 off-putting in anything other than a game. I realise progress bars are a more-or-less rough estimate (ie. "they lie"). Just make it as good an estimate as you can reasonably do, and that's fine.

For bonus points, display the underlying data in some way so that I can draw my own conclusions, supplanted with "sidechannel" information I am likely to have, e.g. previous experience with the process if nothing else. Extra bonus points if you make this information optionally visible so that I can tune it out if I don't need it and my mom doesn't get confused. I really like modern copy dialogs in that regard (and not-so-modern ones on decent file managers).

If you can't make the estimate reasonable at all, don't make a progress bar and display progress in some other manner instead. E.g. if you are copying files, and you have no way of knowing how large each file is, consider simply putting down a simple count ("Files copied: x/y") and if at all possible some indication that the program is progressing at all ("Current speed: x MB/s").

Finally, please do try to add some kind of progress information for any task that can take more than a few seconds. It's incredibly frustrating to stare at a "busy" mouse pointer[1], having to guess whether an application has locked up or if it's just taking extremely long. If you get it wrong, you usually end up re-trying and being faced with the same situation. I have had to play detective around applications misbehaving that way, and having to use top, iotop, etc. to determine whether an app is using CPU, hard disk or network resources is both a lot of work and non-conclusive (not to mention beyond the capabilities of most users).

(This started out as a short reply and ended up quite being a more general rant; the second time this has happened to me tonight. Sorry about that.)

[1] Though terminal utilities are often just as bad, because they're not just designed with interactive usage in mind. However, each individual terminal utility tends to do less, which means complex process are broken down anyway, which yields some progress information.

Re: Why the Progress Bar Is Lying to You

#27
post #12

Irrelevant Digression: The niftiest progress bar I've ever seen wasn't a progress bar. It was a little morality play. As the game installed a dinosaur slowly bounced across the installer window and _ate_ a hapless user .. who didn't send in his registration card. Still remember that, seventeen years later.

Unfortunately, Atari owns a patent on little games loaded for someone to play while a larger bit of data is being loaded.

Bah. What a horrible patent of an obvious idea. At least it's an old bad patent: the one linked to in a cousin post was filed in 1995, so its twenty years are over in 2015. I guess there will still be loading screens in 2015.

Re: Why the Progress Bar Is Lying to You

#28

It seems to me that a modern operating system, which might be used on several different networks throughout the day, and which may offer a variety of different hardware configurations, should be able to provide information to applications which could be useful in calculating this sort of thing. Things like latency, typical data throughput (network and local storage), etc.

For some algorithims, it can be difficult to predict how much time will be spent processing a particular hunk of data even when it's instantaneously accessible.

Re: Why the Progress Bar Is Lying to You

#29
post #18

Earlier quoted context omitted.

I would love to see that patent. I have a hard time imagining it would be enforceable.

It's probably this: http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sec... It's actually issued to Namco, but it seems to describe exactly that. I think I have a PSOne Namco game with a preloader, possibly Tekken. I never so much as dreamed that was patented, though.

Yes, sorry. I was going off memory there. That's the patent I recall. Would update, but no longer have edit ability.

Re: Why the Progress Bar Is Lying to You

#30
post #7

The file download was a bad example. I understand the file download progress bar to mean how much of the file I have downloaded. No more, no less. Next to that progress bar is the current rate and an estimate of the remaining time. This is not what frustrates me. What frustrates me is a progress bar for an installation task that sits at 99% or 100% for about the same amount of time it took to get there in the first p…

I agree that the download was a particularly bad example, but I think the same argument can apply to any progress bar. As a programmer, I always measure progress as the percentage of tasks completed, whether that is bit downloaded, modules installed, mappers finished mapping, etc.

The mapper example is actually particularly pertinent. Hadoop's GUI shows me the progress of my M/R jobs with a bar, but it is as dependent on the amount of other tasks running on the cluster as downloading a file is dependent on the traffic in the network. There is no sane way to accurately estimate the amount of time a M/R job is going to take a priori, as far as I know. A stochastic method would be too variable and a method playing clever tricks with psychology seems especially insidious, from an engineer's perspective. You might as well replace it with an "Are we there yet?" button that responds to you in a soothing voice "Not much longer now".

Post reply on HN