| A progress bar is only appropriate to show one metric changing between two known points over time. - A progress bar should not measure multiple tasks, unless each task is of the same type (e.g. converting a batch of files, _not_ system booting) - A progress bar should not measure "time left" unless it is literally tied to the value of a timer (i.e. _not_ "time left to download big file") - A progress bar does not show "busy state" — a spinner does that. A progress bar can stop if e.g. it measures bytes of a file downloaded and the network connection drops; a spinner will still spin. - A progress bar should include a label to explicitly state what it is measuring (otherwise users will assume it means "time left") People like to see progress bars because they want to know "progress is being made", but a progress bar is not always appropriate, depending on the situation. Instead, consider using: - Spinners show activity is happening. Use when there isn't a single metric to report, or the "bounds" of the metric aren't known. - A checklist can show different tasks completed in sequence. Can be combined with a spinner on the "current" task - A segmented progress bar can replace a checklist when each task could be represented by a progress bar Just my opinions, I guess, and obviously we don't live in the world where the above is applied, but it feels good to have it sorted in my own head. Curious what others think of this scheme. |