Thread (13 messages) flat view 13 messages, 4 authors, 2016-06-15

Re: [PATCH] gitweb: tree view: eliminate redundant "blob"

From: Jakub Narebski <hidden>
Date: 2016-06-15 22:42:41

Luben Tuikov wrote:
quoted hunk ↗ jump to hunk
--- Jakub Narebski <jnareb@gmail.com> wrote:
quoted
This is example of where forefront has it wrong. I'm all for "list" entry
to be link to default view, but I'm all against removing clearly marked
link to "plain"/"tree" view.

And "invisible links" _especially_ if the link is not convenience only
(i.e. it is not provided clearly as link somewhere else) is so called
"mystery meat navigation" and is one of the most common mistakes in
web development.

And is not as if "blob |" takes much space...
I think you would agree that gitweb is quite different than what is
commonly defined as "mystery meat navigation".
If you need to mouseover to discover that a part of webpage is link, it is
mystery meat navigation. Not in it's worst kind (it is quite obvious on
mouseover that that part is link), but still.
Gitweb is very well thought out interface, and self-contained.
There isn't much pondering about what and where to click, have newbies
too.
But some links are hidden. But there is always (or should be always)
visible, i.e. in default link colors (blue for unvisited), and default
decoration (underline not only on mouseover - that's mystery meat
navigation).
Think about the removal of the redundant "blob" and "tree" as database
schema normalization if you will.  The redundancy is so well defined that
even applying a simple algorithm to gitweb.perl will discover it.
Redundancy is not always bad. Especially in interface.
Either that or you can think of it as "shortening" the line.
Wlg, suppose that I have a file called "blobname" and a directory
called "treename":
    mode blobname    blob | blame | history | raw
    mode treename    tree | history
Is equivalent to
    mode blobname    blame | history | raw
    mode treename    history
For any name "blob" and any name "tree".
But then we _must_ (to not have mystery meat navigation) mark "blobname"
and "treename" _clearly_ as links, while using different visual (e.g.
different colors) to clearly distinguish between "blob" entry and "tree"
entry. And no, mode and remaining links (well, "raw") is not enough.
Which is somewhat contradictory. And makes interface somewhat inconsistent
(although removing both "blob" link for blobs and "tree" link for trees is
a step towards consistency).
Plus the code (gitweb.perl) has less redundancy and overhead.
Redundancy in _interface_ is not always bad. We have a lot of redundancy
(mostly via hidden _convenience_ links) in gitweb interface.

Overhead? What overhead? Creating the page? It's negligible. Size of the
page? It is small enough for current net bandwidths; creation time is
bottleneck (not for "tree" view though), not the bandwidth.
-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help