What is a Loading Bar? What Does it Do?

07/06/2010 05:12 am ET | Updated May 25, 2011

Loading bars. Progress bars. Tiny little bars that slowly--or quickly--fill up when you switch from one webpage to another, or when you click a button on a piece of computer software.

What are they?

Well, dear readers, those little bars are the things that let you know that something is happening--that the computer is doing what it supposed to be doing.

But what is it doing?

All sorts of stuff, it turns out. Why don't we let an expert explain.

"Progress bars, or loading bars--whatever you want to call them--they are used in software and in web pages to display how far along you are in a process," said Jake Lavenberg, a software developer based in Brooklyn. "The bars show that the computer or device is still responsive," he said, "and working on your problem."

Do you see now? A loading bar is the mouthpiece of the tasks taking place backstage, behind the screen. It reassures the user while they wait. To take an example, in a music-making program like Logic Pro, when tools are used to process audio files, a loading bar pops up to let the user know that the function is being executed.

"Logic Pro does serious math," said Russ Fink, a systems administrator at a well-known Manhattan advertising firm. "It's running algorithms on and digitally summing 24-bit audio files."

"But the user only sees a progress bar."

And how about on the Internet? Well, on the Net, the bars really do load. A loading bar in a web browser reports, from start to finish, the transferring process of files from an Internet server onto your computer.

"The page or program has a manifest of what it knows it needs to do, of what it needs to load, and as it processes the request it lets know you how far along it is," said Fink. "The computer performs the tasks and the loading bar checks those tasks off one-by-one, visually letting you know."

Historically, loading bars date back to the late 1800s and a man named Karol Adamiecki. Adamiecki was a Polish engineer who invented something called the harmonogram, which later became known as the Gantt chart. According to the dictionary, a Gantt chart is "a series of horizontal lines [showing] the amount of work done or production completed in certain periods of time in relation to the amount planned for those periods."

Sounds awful.

It really is, says Cory "Hawk" Becker, a producer at an advertising agency in New York City. Sadly, Becker has to use Gantt charts all the time.

"It's one of the most boring parts of my job," he said, "making these fucking things."

But it's important! Becker creates a Gantt chart, dull and tedious as they are, at the beginning of each of his assignments. The project scheduling is key to keeping his clients informed and happy.

"Basically the Gantt chart is for the good of the client," he said. "We can say we're on schedule because the project is 43% done as of a certain day."

See the connection? Gantt charts are for the good of the client just like progress bars are for the good of the user.

Anyways, back to computers. With computers, there are two different kinds of loading bars. There are loading bars that actually "fill up," from right to left, as the function is being processed. These are called determinate loading bars. They let you know exactly where you are in the process of loading. Then there are indeterminate loading bars--and they only let you know that the request is being processed. That's it. A spiraling circle is an example of an indeterminate loading bar. Nothing fills up with a spiraling circle. It just spirals.

Generally, the techies say, users like determinate loading bars best.

"Users like something to watch," said Fink. "It makes you feel like your wait is justified."

"Having information is better than having no information," said Lavenberg.

So then why do indeterminate bars even exist?

Good question. Sometimes, you have to have indeterminate loading bars because there is no real way of knowing just how long a process will take. As it turns out, the software, or the server, is almost always guessing at how long it will take to take to finish its task.

For example, if you've got 10 resources to load, once nine of those are loaded up the loading bar can't simply say that the time needed to complete the task is 90 percent done. The last resource could still end up taking a full 10 or 30 seconds to download. And that can be annoying. A spiraling circle, at the very least, lets you know that the computer hasn't frozen.

Awesome. So what's the future of loading bars?

Well, it looks like we'll be seeing more and more spiraling circles on the Internet.

"Historically computers have done everything in serial," said Lavenberg. "This means that you tell your computer to do something and you have to wait for it to finish and then you can do the next thing."

But nowadays, "what's happening in general is a move towards parallel execution,'" he said. "You can do this in your browser. If you have one tab open and it's loading, you open up another page and read that while your waiting. Your browser continues to load that first page in parallel--in the background."

With software, on the other hand, the news for the bars doesn't look so good. As computers get quicker at running math, they may disappear altogether.

Fink put it this way: "As users expect to wait less and less, the need to measure time and progress will just go away."