A progress bar is a graphical control element used to visualize the progression of an extended computer operation, such as a download, file transfer, or installation. Sometimes, the graphic is accompanied by a textual representation of the progress in a percent format. The concept can also be regarded to include "playback bars" in media players that keep track of the current location in the duration of a media file.
A more recent development is the , which is used in situations where the extent of the task is unknown or the progress of the task cannot be determined in a way that could be expressed as a percentage. This bar uses motion or some other indicator (such as a barber's pole pattern) to show that progress is taking place, rather than using the size of the filled portion to show the total amount of progress, making it more like a throbber than a progress bar. There are also indeterminate progress indicators, which are not bar shaped.
The concept of a progress bar was invented before digital computing. In 1896 Karol Adamiecki developed a chart named a harmonogram, but better known today as a Gantt chart. Adamiecki did not publish his chart until 1931, however, and then only in Polish. The chart thus now bears the name of Henry Gantt (1861–1919), who designed his chart around the years 1910–1915 and popularized it in the west.
Adopting the concept to computing, the first graphical progress bar appeared in Mitchell Model's 1979 Ph. D. thesis, Monitoring System Behavior in a Complex Computational Environment.[1] In 1985, Brad Myers presented a paper on “percent-done progress indicators” at a conference on computer-human interactions.[2]
Myers' research involved asking people to run database searches, some with a progress bar and some without. Those who waited whilst watching a progress bar described an overall more positive experience. Myers concluded that the use of a progress bar reduced anxiety and was more efficient.[3]
Typically, progress bars use a linear function, such that the advancement of a progress bar is directly proportional to the amount of work that has been completed. However, varying disk, memory, processor, bandwidth and other factors complicate this estimate. Consequently, progress bars often exhibit non-linear behaviors, such as acceleration, deceleration, and pauses. These behaviors, coupled with humans' non-linear perception of time passing, produces a variable perception of how long progress bars take to complete.[4] This also means that progress bars can be designed to "feel" faster.
Sometimes, to show the progress of a particularly long-taking operation such during program installation or when copying many files at once, applications resort to showing two progress bars at once, one for the operation as a whole, and the other to indicate the progress of identified sub-tasks such as the installation of a single component or the copying of an individual file.
Finally, the graphical design of progress bars has also been shown to influence humans' perception of duration.[5]