[PATCH 0 of 1] hgweb: improve navigation

Mads Kiilerich mads at kiilerich.com
Thu Jan 7 17:35:56 CST 2010


Nicolas Dumazet wrote, On 01/07/2010 03:00 PM:
> Getting back on topic.
>
> What are the concrete things that we can do to improve the navigation?
>
> Mads, we might disagree on the immediate proposed solutions, but can
> we work together to find acceptable solutions? I dislike status quo on
> that specific topic :)
>    

I think your proposal is an improvement, so I see no reason to interfere ;-)

But I can add a couple of comments and suggestions anyway ...

> 2009/12/28 Nicolas Dumazet<nicdumz at gmail.com>:
>    
>> Hello!
>>
>> 2009/12/25 Mads Kiilerich<mads at kiilerich.com>:
>>      
>>> Nicolas Dumazet wrote, On 12/25/2009 10:29 AM:
>>>        
>>>> Hello!
>>>>
>>>> I've always found confusing the current navigation bar: why is it showing
>>>>
>>>>     (0) -3000 -1000 -300 -100 -60 +60 +100 +300 tip
>>>>
>>>> and not inserting a marker to point you at your current position?
>>>> I would love to have instead:
>>>>
>>>>    (0) -3000 -1000 -300 -100 -60 [BULLET] +60 +100 +300 tip
>>>>
>>>>          
>>> I have always found these links very confusing. Adding a marker for the
>>> current location might help a bit.
>>>
>>> My problem seems to be that we are browsing through an arbitrary (though
>>> relatively stable) linearization of the DAG. Showing the latest (newest)
>>> revisions is very relevant, and having a way to show more revisions is also
>>> relevant. But when is it relevant to jump back and forward in the log? I can
>>> only imagine that that is relevant when I somehow know the revision (or
>>> hash) of a changeset. In that case it would be more relevant to have a input
>>> field where I can enter that (instead of not-completely-obvious
>>> modifications of the url).
>>>        
>> I dont get your point about the arbitrary linearization. We're just
>> browsing revision numbers, using the same order that hg log is using.
>> I dont see anything wrong.
>>      

Right, it is not wrong, but also not very right. "Which changesets has 
been added to my local repo recently" is interesting, but when we get 
further back in history the exact ordering gets less interesting, and 
the revision number ordering is only interesting because it depicts the 
DAG. When I go far back in history I would rather see the changes from 
one branch - without interleaving them with changes which happened in 
parallel in another branch.

>> It is true, however, that the use case from +60 / +100 buttons are not
>> obvious. I however use those when reviewing changes. I like them
>> because I can roughly see where I am in the repository history.

I don't understand - can you say more about that? In what way do the 
logarithmic navigation give you something useful you wouldn't get with 
the next/previous page navigation?

>> I'd
>> like to keep those. It should be rather trivial, though, to add an
>> hgweb option to pick between 1/2/3 paging and +60/+100/etc...
>>
>> There is already the search box at the top of the UI to enter cset
>> hashes, not sure how we can improve the visibility.
>>      
>>> Another tricky thing is that the changelog shows the "reversed" changelog,
>>> with the latest changes with the highest numbers first. If the list is too
>>> short I want to see the next "page". Next page is often written as "+1" in
>>> other systems - but in this case I have to click "-60" to get that. I don't
>>> find that intuitive. And when the navigation is in the reversed list then I
>>> would expect the navigation bar to go the other way, from tip to 0.
>>>        
>> Well, most recent change goes to the right, according to the usual
>> left-to-right reading habits?
>>      

Usual reading habits also expects that the most recent change goes to 
the bottom of the page, but hgweb (for good reasons) reverses the ordering.

Intuitively I expect the ordering to reversed consistently so that up 
and left still goes in one (the same) direction and down and right in 
the other direction.

>> I think that having a marker would help a lot to intuitively get the
>> change flow, dont you think it helps?
>>      

Sure!

Another nice thing could be links from each changeset line "down" to 
the/a page where the parent(s) can be found - and as mentioned before it 
could be nice to show pages where only the (interleavings of) ancestor 
chain(s) of a changeset is shown.

>>> So: I think it would be even better to just have links to previous page
>>> (higher revisions), next page (lower revisions) and first page (tip).
>>>
>>> /Mads
>>>        
>> --
>> Nicolas Dumazet — NicDumZ
>>      



More information about the Mercurial-devel mailing list