dinsdag 3 september 2019

Progress bar - hoe moeilijk kan het zijn?

Een progress bar is een component in een gebruikers interface die de voortgang van een process toont. Een voorbeeldje (afkomstig van Wikipedia) staat hieronder
Het doel van een progress bar is tweeledig:
  1. Tonen dat het programma iets aan het doen is (zodat de gebruiker weet dat het niet is vastgelopen).
  2. Tonen hoever het operatie gevorderd is zodat de gebruiker kan schatten hoe lang het nog ongeveer gaat duren (en eventueel even iets anders kan gaan doen)

Hoe kun je daar nu mee de fout in gaan?

  • Meerdere achtereenvolgende operaties die telkens hun eigen (of dezelfde) progress bar (her-)gebruiken. (Tweede functie onbruikbaar.)
  • De progress bar blijft minuten lang op 0% of 1% staan en schiet dan in enkele seconden naar 100%. (Beide functies onbruikbaar.)
  • De progress bar schiet in enkele seconden naar 99% of 100% en blijft vervolgens minuten lang op die waarde staan. (Beide functies onbruikbaar.)
  • De progress bar maakt zeer af en toe een grote sprong. (Beide functies minder bruikbaar.)
  • De progress bar stapt soms terug naar een lagere waarde. (Tweede functie onbruikbaar.)

In sommige gevallen is het best lastig te bepalen hoe lang een operatie nog zal duren. Dan is het ook lastig om te schatten op welk percentage je bent. Maar veel pro­gram­meurs krijgen het ook bij redelijke voorspelbare processen voor elkaar om een progress bar zo slecht aan te sturen dat één of beide functies niet meer werken.

Microsoft window versies hebben de laatste (ca.) 10 jaar een progres bar die af en toe een animatie van een glansplekje laat zien. Dat helpt voorkomen dat de gebruiker kan denken dat de applicatie is vast­ge­lopen. Maar het biedt geen compensatie voor de tweede functie. Sterker nog, die ani­ma­tie maakt het lastiger voor de gebruiker om kleine veranderingen in de stand waar te nemen. Ook kan ik me voorstellen dat die animatie in een vastgelopen applicatie gewoon blijft werken.

Geachte vakgenoten

Het mooiste is natuurlijk als de gebruikers van je applicatie altijd direct het resultaat krijgen en nooit ergens op moeten wachten. Maar wanneer dat niet kan is een goed werkende progress bar informatief en neemt onzekerheid weg. Dat is nuttig.

Spendeer wat van je tijd om je progress bar goed te laten werken.

Geen opmerkingen:

Een reactie posten