[MERGE] no-flicker progress bars
Martin Pool
mbp at canonical.com
Wed Jun 21 11:58:46 BST 2006
On 21 Jun 2006, Aaron Bentley <aaron.bentley at utoronto.ca> wrote:
> > I'm not sure how that would work for 1-step operations though, like
> > grabbing the inventory knit, where it's either not done or done. But I
> > think it'd still be an improvement, even if just for the revision
> > fetching stage.
>
> We actually have something similar for single-phase progress. By
> memory, it's
>
> / [======================] fetching revisions 50 of 100 50%
I think I saw you recently remove the time prediction from the default
constructor, which I think is good because it was very approximate, and
the user can judge approximately by themselves. (Although I don't
remember seeming them recently...)
> But that was meant for multi-phase stuff, and might only be used for that.
>
> > The whole phase idea is a bit whack IMHO, in that for fetch we have four
> > phases, the relative durations of which are completely unknown, and yet
> > they occupy an equal amount of space on the progress bar.
>
> Sure. This is the kind of thing I mean by 'we're still feeling our way
> around'. All we know is what not to do.
>
> People were pretty clear with us that they didn't like having a whole
> bunch of progress bars whiz by, and never knowing how many to expect, or
> what the overall progress was. Doing phases was the answer I came up
> with at the time.
To speak in terms of goals rather than mechanism I would like this:
- there is some text displayed that is meaningful to a user
with a bit of understanding of the underlying model - e.g. "pushing
revisions" rather than "fetch phase"
- similarly, the numbers displayed should be related to the real number
of objects being accessed - if i'm pushing 8 revisions that touch 14
files I want to see "/8" or "/14" not always "/4"
- it's fine for operations like comparing the revision history or
opening the branch to just say "comparing histories..." with no
numbers
Having an overall non-decreasing progress bar is nice but I don't think
it's critical. Typical operations will have just one slow phase and if
users are accustomed to seeing "pushing revisions" take most of the time
they'll be fine. What *is* harmful is when it keeps appparently
repeating the same operation with different numbers.
--
Martin
More information about the bazaar
mailing list