Why is it that whenever you have a progress bar pop up on your computer, the thing never runs at a steady speed? Why all the little stops and starts?
This is the question YouTuber Tom Scott dives into for his latest video, which breaks down the many complexities of creating a progress bar that actually runs smoothly.
“An installer might have to download files from the internet, then decompress those files, then save those files along with reading or deleting stuff that’s already there, and maybe make some changes to the system settings as well,” explains Scott. “Now, in theory, a programmer could work out roughly how long each of those processes will take and then bias the progress bar accordingly, but each one of those steps will take different amounts of time on different machines.”
Downloading, Scott explains, will vary depending on internet speed, while decompression will be affected by the computer’s processor and saving/reading files by its disc speed. Even running a progress bar based on the MB of data that has been transferred can go wrong, he adds, because copying lots of small files can take longer than a few large ones.
And if you factor all of the above in, and try to work it all out it so the bar runs smoothly?
“That could still go wrong,” says Scott. “Because the speed of your transfer, or your download, or your complicated video render — all of those speeds could change at any time because of what the device is doing, or what the user’s doing.”
At the end of the day, Scott argues, maybe it doesn’t matter all that much.
“I reckon progress bars should be just a little bit jaggy because they reflect something that’s really happening,” he concludes. “And besides, the most important job of a progress bar is not to give an exact, precise estimate of how long’s left. It’s great if they can, but the most important job is just to reassure the user that yes, things are happening. Progress is being made.”