What is a progress indicator in UX design?
A progress indicator is a UI element that communicates the status of an ongoing process to users. It serves as feedback that confirms the system is working and provides context about what is happening. Progress indicators appear during file uploads, form submissions, page loads, data processing operations, and any other process that takes enough time to create user uncertainty about whether the system has received their action.
What are the types of progress indicators?
Determinate progress indicators show how much of a process has completed as a percentage or fraction. A progress bar that fills from left to right as a file uploads is a determinate indicator. Use these when the system can accurately calculate completion percentage. Indeterminate progress indicators communicate that a process is happening without showing how much remains. A spinning loader or animated pulse is an indeterminate indicator. Use these when the duration or completion percentage cannot be reliably calculated. Skeleton screens are a third type that communicate loading state while previewing the structure of incoming content.
When should you use a progress indicator?
Show a progress indicator whenever a process takes longer than approximately one second, which is the Doherty threshold for perceived responsiveness. For processes under one second, a brief visual change on the trigger element is usually sufficient. For processes between one and three seconds, a simple loading indicator prevents users from thinking their action failed. For processes over three seconds, a determinate progress bar or skeleton screen significantly reduces perceived wait time and anxiety. Never leave users staring at a static screen without any indication that work is happening.