Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Downloading a file or a loading screen is also a value in linear space.

The only difference, in my mind, is that:

• Progress is expected to go upwards as the underlying task is completed. It can, however, stall on a value or it can reset back to zero if the task fails and is restarted. But in the normal, common case, the trend is upwards towards completion.

• Meters reflect the current value of some metric and so can go up and down as the underlying value changes through time, e.g. room temperature, or disk space used of a disk space quota.

You could use a meter to indicates progress. As such, I think progress is a specialised meter, where we don't care so much about the underlying value, just that we're working steadily towards the goal.



Here's one counter example: Progress indicators can be indeterminate, when the duration of the task is unknown but you still want to communicate to the user that something is happening.

You can make an indeterminate <progress> by not specifying a value attribute, and then styling it with the :indeterminate pseudoclass (TIL).

It's well worth it to read the Apple Human Interface Guidelines, even if you don't develop for Apple platforms, they have some good universal UI advice:

Progress indicators: https://developer.apple.com/design/human-interface-guideline...

Gauges: https://developer.apple.com/design/human-interface-guideline...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: