"Most software packages employ progress bars to visualize the status of an ongoing process. Users rely on progress bars to verify that an operation is proceeding successfully and to estimate its completion time. Typically, a linear function is applied such that the advancement of a progress bar is directly proportional to the amount of work that has been completed. However, estimating progress can be difficult for complex or multi-stage processes. Varying disk, memory, processor, bandwidth and other factors complicate this further. Consequently, progress bars often exhibit non-linear behaviors, such as acceleration, deceleration, and pauses. Furthermore, humans do not perceive the passage of time in a linear way. This, coupled with the irregular behavior of progress bars, produces a highly variable perception of how long it takes progress bars to complete. An understanding of which behaviors perceptually shorten or lengthen process duration can be used to engineer a progress bar that appears faster, even though the actual duration remains unchanged. This paper describes an experiment that sought to identify patterns in user perception of progress bar behavior."