git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Jakub Narebski <jnareb@gmail.com>
Date
Sep 26, 2006, 22:24 UTC
Message-ID
<efc9af$7ic$1@sea.gmane.org>
In-Reply-To
<20060926213236.79160.qmail@web31815.mail.mud.yahoo.com>
Luben Tuikov wrote:
Show 14 quoted lines
> --- Jakub Narebski <jnareb@gmail.com> wrote:
>> 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.
Show 9 quoted lines
> 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
Previous: Luben TuikovNext: Jakub Narebski
Message 14 of 33 in “gitweb: tree view: eliminate redundant "blob"”
  1. gitweb: tree view: eliminate redundant "blob"Luben Tuikov, Sep 26, 2006
  2. Junio C HamanoSep 26, 2006
  3. Luben TuikovSep 26, 2006
  4. Jakub NarebskiSep 26, 2006
  5. Jakub NarebskiSep 26, 2006
  6. Petr BaudisSep 26, 2006
  7. Jakub NarebskiSep 26, 2006
  8. Luben TuikovSep 26, 2006
  9. Junio C HamanoSep 27, 2006
  10. Jakub NarebskiOct 1, 2006
  11. Luben TuikovSep 26, 2006
  12. Jakub NarebskiSep 26, 2006
  13. Luben TuikovSep 26, 2006
  14. Jakub NarebskiSep 26, 2006
  15. Jakub NarebskiSep 26, 2006
  16. Junio C HamanoSep 27, 2006
  17. Jakub NarebskiOct 1, 2006
  18. Junio C HamanoOct 1, 2006
  19. Jakub NarebskiOct 1, 2006
  20. Andreas EricssonOct 2, 2006
  21. Jakub NarebskiOct 2, 2006
  22. Junio C HamanoOct 2, 2006
  23. Jakub NarebskiOct 2, 2006
  24. Luben TuikovOct 2, 2006
  25. Luben TuikovOct 2, 2006
  26. Jakub NarebskiOct 2, 2006
  27. Junio C HamanoOct 3, 2006
  28. Jakub NarebskiOct 3, 2006
  29. Junio C HamanoOct 3, 2006
  30. Jakub NarebskiOct 3, 2006
  31. Luben TuikovOct 5, 2006
  32. Luben TuikovOct 3, 2006
  33. Linus TorvaldsOct 3, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.