On Friday 06 November 2009 23:44:52 Evan Daniel wrote:
> On Fri, Nov 6, 2009 at 1:45 PM, Matthew Toseland
>
> > Currently, the progress bar jumps back and forth as it completes the
> > different stages, and the percentage is shown differently depending on
> > whether it has finished. And on the loading page after clicking a link,
> > we even use words to explain that "The progress bar is likely to jump
> > around as not enough blocks of the file were downloaded yet to know how
> > big the file is."
> >
> > In an ideal world, all progress bars would start at zero, and would move
> > linearly to the end. In a slightly less ideal world, we would meet user
> > expectations by ensuring that stalls and jitteriness are at the beginning
> > rather than the end, in accordance with a paper Ian referred me to.
> > However the obvious linearisation strategy, of dedicating some percentage
> > (or a declining percentage) to each stage, is IMHO pretty iffy for
> > Freenet: We don't know how many stages there will be (although it's not
> > likely to be huge), and each stage is likely to be slower than the last
> > as each stage will often be bigger than the last: This will tend to
> > aggravate users. Note that we display an ETA separately, at least on the
> > loading-a-page page.
> >
> > So I propose that we try to represent this visually in a way that is
> > still reasonably clear:
> >
> > We keep the ?'s. Currently we start at "0 (0%??)", this should probably
> > be just "0%?". At each non-final stage, we show the ? and a progress bar
> > with a light border, a border of the same color as the background, no
> > border, a dotted border or something similar. The color of the progress
> > bar itself, or its background, should change on each iteration. Once we
> > reach the final stage, we show a solid border and use a fixed color for
> > the progress bar e.g. green.
> >
> > Users would quickly get used to such a scheme and provided the colors
> > aren't too horrible it should be quite workable. The only real challenge
> > IMHO is that we actually use 4 colors in a progress bar: - Background/not
> > finished
> > - Succeeded
> > - Failed
> > - Fatally failed
> >
> > The last two can be combined, of course. They should be red. The text
> > percentage is normally black. Then the question is whether we change the
> > color of the background or of the succeeded blocks on each stage, and a
> > suitable (readable) color rotation. IMHO we are not likely to have more
> > than 5 or so stages, and we can rotate if we do. I don't want this to
> > turn into a bikeshed argument, but any suggestions?
> >
> > We can improve this by changing the metadata to include the exact number
> > of blocks in the final file at the top of the file. We would still have
> > multiple stages for some files from freesites, but for most we would
> > quickly reach the final stage, with an exact percentage, even if we are
> > actually fetching the first of thee layers of metadata. :)
> 
> Another idea for improving progress bars: divide them vertically.  Say
> we're downloading the second layer (known not final) of a splitfile.
> The top 1/4 of the progress bar is shown full (the already downloaded
> top block), the second 25% is shown part-full (current layer in
> progress), and the bottom half is empty (all future layers).  Always
> have the bottom layer take up 50% of the vertical space, and divide
> the top 50% evenly between all past / current layers.
> 
> The idea is to give a visual indication of what's happening: we're
> making forward progress, but the goalpost is moving.  It's a little
> complicated, but I suspect it gives the right idea visually.  Details
> would need to be tweaked after looking at a mockup, of course :)
> 
Can't we just stick at two bars? (if I understand right, there are 3 bars 
here)
Do we really need to have the first 1/4 of the bar to show the progress of the 
top block, or could we just consider it as a layer? If we can, we could have 
the main progress bar (with past/current layers), and a second progress bar 
showing current progress (with a text on the bottom saying what we currently 
are fetching). It simplifies a bit, and could be a good compromise?

I don't know if you proposed to have one progress bar divided in 3, or 3 
progress bars, but I also think we should separate them, because they're not 
displaying the same thing (and by separate, I mean with a space, not only with 
a border line).

Another thing I wanted to say about the progress bar (I dunno if it's still 
like that), is that we don't need to display the menu. We should have a very 
clear and simple progress bar (well, 2 or 3), and display only the minimum 
amount of information : I always have the impression I'm still in freenet when 
loading a site, when I just want to browse it. I dunno if I'm clear, I hope 
so.
We could just have a link at the bottom of the page : "go back to the freenet 
menu" or something like that (I let you the wording part :p).
> Of course, having good info in the top block would help as well.
> (BTW, 3667 is a semi-dupe of 3369.)
> 
> > Now, with Library searches, currently we show many progress bars, and
> > quite a bit of text. We should really show a simple progress bar, but
> > there are several complications: We can search across multiple indexes,
> > and in each index we can have multiple subindex fetches (or index
> > fetches) going on. The main index fetches should be satisfied from cache,
> > and the files should usually be small, so normally each word fetch under
> > the same index fetches the main index simultaneously, and then fetches
> > the subindex in one stage, so combining the bars for multiple subindexes
> > within an index should be pretty easy - we probably want two stages but
> > we could simplify it to one stage. However, we can search multiple
> > indexes at once, which can be at different stages. We might want to keep
> > two progress bars in this (currently rare) case. Plus, the index parsing
> > stage for each subindex can be very slow, and can occur while another
> > subindex is still fetching. The combining and formatting stages are a bit
> > faster but can still take a few seconds. We can resolve this by some
> > fudging ... Having said that, I dunno how dumb users actually are - is it
> > such a big deal that searching for multiple words in multiple indexes
> > means multiple things happening at once? :)
> 
> I think most of our users are smart enough to figure it out :)
> 
> There's the other question, though: why does it take 5-10 *seconds* to
> go from having the index downloaded to displaying results?  It's only
> a few tens of MB of data, and it's in a fairly simple format.  Several
> seconds to parse that on a multi-core, multi-GHz machine is abysmal.
> 
> Does Library really need such a huge memory footprint?  Freenet can
> decode the file fine without more memory, but Library regularly OOMs
> on large indexes with the default memory limits, even though it isn't
> actually using that large a piece of the file.
> 
> Evan Daniel
> _______________________________________________
> Devl mailing list
> Devl at freenetproject.org
> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
> 

Reply via email to