Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I think it's important that your main progress bar fill up exactly once, and there is always indication of progress.</p> <p>I've just recently done something very similar at work. The tasks were long, with many subtasks. The interface I ended up with was a double progress bar, which were actually the first and last of a stack of progress bars.</p> <p>The API is something like</p> <pre><code>StartNewTask(Caption,NumberOfSubtasks) EndTask SetProgress(Caption,NumberOfSubtasksFinished) </code></pre> <p><code>StartNewTask</code> pushes a new bar on the stack, and <code>EndTask</code> pops one.</p> <p>SetProgress sets the progress of the most-recently-pushed progress bar, and ripples up the changes to parent bars. For example:</p> <pre><code>StartNewTask('Doing 2 things',2) SetProgress('Done 1 now',1) StartNewTask('Big Subtask',40) ... SetProgress('Done some subtasks',10) </code></pre> <p>Now, there are 2 progress bars shown, the second at 25% (10/40) and the first at 62.5% (1/2 + 10/40*2)</p> <p>Like I said above, if you've got >2 tasks in the stack, I only show the first and last (first gives overall progress and never goes backwards, second gives indication of current activity)</p> <p>You could extend this by giving a weighting to each subtask, i.e.</p> <pre><code>StartNewTask(Caption,[ListOfSubTaskWeightings]) </code></pre> <p>To make the top progress bar smoother.</p> <p>Additionally, developers can show all progress bars to see why it takes ages, and I think you could make decent logs out of it.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload