Tuesday, March 20, 2018

gui design - Jumping progress bar or running process indicator?


I'm developing a process with a predefined number of steps to complete so while process is running I can know how far the process has gotten and how much is there still to be done.


My process executes somehow in a tree mode where each branch has the same number of nodes, but not all branches lead to a result. which means that process will be stepping back to a node that has a junction and try other branch.


This means that if my branch length is 100 nodes it may happen that while process gets to node 75 it sees a dead end and revert back to node 50 and continues with a branch from that junction.


Question


Since my process can define the point of its execution I would still rather display progress bar instead just a running indicator or indefinite progress bar that provides absolutely no feedback to the user.


Is a jumping back progress bar wrong and should not be used at all?


Additional data


Each progress step is a day of the whole range. There's a complex calculation being done for each day but the process work so that:




  1. it takes next day (first one in first step)


  2. makes the calculation



    1. when calculation succeedes it marks all junction points.

    2. when calculation fails go back as many days until it finds first junction point and continue from that point on.



  3. go to step 1 until no more days.



From this process you can see that I can only determine the number of days to make the calculation but not the number of junctions because they heavily depend on each day as well as the path taken from previous steps.


That's the reason why I decided to increment progress bar in terms of calculating day X of Y. and when going back to junctions means I can go back a few days before I can start new calculations... Hence a jumping back progress bar.


Possible solution


I could show an indeterminate progress bar (which is probably better than a rotating gauge) with quantitative information of which day (of all) is being currently calculated and how many have been backed up totally until now.


Would this make sense to users? Should I display other numbers?


I suppose that something else beside the indeterminate progress bar is needed, because this kind progress bar is the same as static content. It doesn't change. So it provides no actual feedback to the user that something is going on...



Answer



There is a principle in cognitive science that we feel a loss of something far more than we would feel a gain of that same thing. So if I give you 10% progress, and then take away 10% progress, from a human perspective I'm more like -20% than where the maths would tell me.


Besides the cognitive science aspect above, you should avoid doing anything that will confuse people. If the bar was at 88% and it is now at 70%, then that just doesn't make sense and adds confusion.



Additionally it means that your 88% wasn't really 88%, which may have an impact on whether they trust other things you say.


There are probably some nodes in the progress that once you aren't ever going to have to roll back from. You could only increment the progress when you get to those nodes. That way you will never need to roll back the progress.


However, do you even need a progress bar? What are you adding to the UX by letting people know how far the progress is? (I often like them because I am a technical numbers person and like data, but that doesn't make it needed). Depending on the application it could add a lot to the UX, but very often the only information that is needed is that something is loading. In that case, you can simply use a loading animation. Something like:


enter image description here


Edit: From what you describe, you have no idea how long something is going to take, so you can't show any % progress. What you could do is show a simple counter every time you process another node so that someone can see that the process is still running and not stuck. They could see it progress from 154 to 155 with something like "155 nodes processed" (assuming that a node processed would mean something to them).


No comments:

Post a Comment

technique - How credible is wikipedia?

I understand that this question relates more to wikipedia than it does writing but... If I was going to use wikipedia for a source for a res...