Why is it that at any time when you’ve gotten a progress bar pop up in your pc, the factor by no means runs at a gentle velocity? Why all of the little stops and begins?
That is the query YouTuber Tom Scott dives into for his newest video, which breaks down the various complexities of making a progress bar that really runs easily.
“An installer may need to obtain recordsdata from the web, then decompress these recordsdata, then save these recordsdata together with studying or deleting stuff that is already there, and possibly make some modifications to the system settings as properly,” explains Scott. “Now in principle, a programmer may work out roughly how lengthy every of these processes will take after which bias the progress bar accordingly, however every a type of steps will take totally different quantities of time on totally different machines.”
Downloading, Scott explains, will differ relying on web velocity, whereas decompression can be affected by the pc’s processor and saving/studying recordsdata by its disc velocity. Even working a progress bar based mostly on the MB of information which were transferred can go mistaken, he provides, as a result of copying plenty of small recordsdata can take longer than a couple of massive ones.
And should you issue the entire above in, and attempt to work all of it out it so the bar runs easily?
“That might nonetheless go mistaken,” says Scott. “As a result of the velocity of your switch, or your obtain, or your difficult video render — all of these speeds may change at any time due to what the system is doing, or what the consumer’s doing.”
On the finish of the day, Scott argues, possibly it does not matter all that a lot.
“I reckon progress bars ought to be just a bit bit jaggy, as a result of they replicate one thing that is actually occurring,” he concludes. “And moreover, crucial job of a progress bar is to not give an actual, exact estimate of how lengthy’s left. It is nice if they’ll, however crucial job is simply to reassure the consumer that sure, issues are occurring. Progress is being made.”