[kde-guidelines] Styleguide: Progress indicator

Heiko Tietze heiko.tietze at user-prompt.com
Mon Jul 8 13:35:08 UTC 2013


System triggered notification
* Show a progress indicator for lengthy actions. 

http://techbase.kde.org/Projects/Usability/HIG/ProgressIndicator

== Purpose ==
If a foreground task lasts longer than expected or when calculation takes some 
time a feedback on progress should be given by the system. Users are aware of 
response times of over one second and shorter. Consequently, operations that 
take two seconds or longer to complete should be considered to be lengthy and 
need of some type of progress feedback. But even in cases of short delays the 
user should be assured that the system is not hung or waiting for user input. 
Such a feedback is done by changing the mouse cursor to a ''busy pointer'' 
(aka Throbber). When operation lasts longer the user should be able to 
anticipate when it’s finished. The appropriate graphical control for this task 
is a ''progress bar''.

== Examples ==

== Guidelines ==
* Provide progress feedback when performing a lengthy operation. Users should 
never have to guess if progress is being made. 
* Start with a busy pointer when the operation takes longer than 500 ms and 
show a progress bar in case of 5 seconds or more.
* User should be able to pause and cancel operations which last very long.
* Consider to move very long lasting operations to the background and notify 
on completion only.
* Clearly indicate real progress – and lack of progress. The progress bar must 
advance if progress is being made and not advance if no progress is being 
made.
* Show progress regarding contentual steps.
* Provide additional progress information, but only if users can do something 
with it, e.g. cancel the processing, relate an error to a particular 
processing step, etc. Don't provide unnecessary details.
* Don't use waiting bars (aka marquee style).
* Don't combine a progress bar with a busy pointer. 

== Implementation ==



More information about the kde-guidelines mailing list