Konqueror 4

Martin Konold martin.konold at erfrakon.de
Thu Nov 2 09:31:35 GMT 2006


Am Donnerstag, 2. November 2006 03:07 schrieb Aaron J. Seigo:

Hi Aaron,

> np. trying to move things forward is all =)

Which I very much appreciate.

> > Sorry but this bread crumb stuff is butt ugly.
>
> beauty is in the eye of the beholder, i'll give you that.

> i also have a hunch as to which is more appealing to the non-biased human
> eye (hint: it's not a line edit with file:///foo/bar/baz/blah/boo/bag)

Don't get me wrong. I agree that the current line edit approach can be 
improved. Someone else mentioned to make the line edit text "clickable" so 
that individual parts of the path can be directly accessed.

I am fine with that!

> > It took me a while to figure out why I intuitivly don't like it an I
> > actually found out that breadcrumbs are violating(*) the semantics og
> > buttons.
> >
> > (*) The semantics of buttons is that their meaning is independent from
> > their position withing a button bar. Only the icon determines which
> > action is associated with a button. Bread crumbs on the other hand
> > violate this and are therefore confusing. E.g.
>
> this is a misapplication of usability theory. for this to be true a few
> requirements would need to be met:

Just to reasure you: I personally indeed felt confused when I tried it. In 
additon I was never sure if I see the whole picture or if some "smart" 
developer is hinding things (like the infameous hinding of /tmp/ im kubuntu).

In addition I did some more research into how the concept of bread crumbs came 
into modern UIs.

E.g. a nice overview article is available from 

  http://psychology.wichita.edu/surl/usabilitynews/51/breadcrumb.htm


Don't get me wrong. BC have been developed successfully for the web but you 
try to apply the to the filesystem. I try to explain why this is not so good.

Historically a website was also hierarchically organized like a filesystem. 
The URL shown to the user actually reflected the filesystem on the server. 
People could navigate by using the "Back" button or editing the location line 
edit directly. With Konqueror they even got use the convinient "Up" button.

The back button was required because there was other means to come back again. 
Hyperlinks are unidirectional graphs and you loose the ability to navigate 
back by using the location URL because it might have changed entirely when 
following a link to another server.

One remedy back then was to introduce bookmarks in order to "save" a position 
and be able to return later.

As the web matured and turned more and more into web applications things 
became broken. The more modern web applications have "state". This 
statefulness of the web was not intended by the very early design of the web. 
Due to the statefulness using the back button become dangerous.

Direct editing of the location URL also became dangerous and is discouraged 
for most advanced web applications. In a lot of cases it even become 
impossible or useless because of such urls like 
http://www.erfrakon.de/index.php?id=16 which are actually meaningless to the 
user. 

Last but not least URLs cannot be arbitrarily translated and localized.

BC solves many of these issues with the modern web.

- Localization and translation can be done on the server without any help from 
the client browser

- Navigation can be controlled by the server as opposed to fiddling with the 
URL manually which simply does not work anymore.

- users don't need the back button anymore

- applications which are technically a complicated mesh (due to the links) can 
be presented to the user like a simpler hirarchical structure. Hirarchical 
structures are easier to navigate and understandable compared to the more 
complex mesh structure.

A typical BC is: 

Computers > Hardware > Systems > Notebooks and Laptops > Manufacturers

Web developers try to mimic such a structure also in the location URL 

see: http://www.sitepoint.com/article/guide-url-rewriting

instead of http://www.downloadsite.com?category=34769845698752354 the URL is 
rewritten to http://www.downloadsite.com/Nettools/Messengers

Summary
=======

Breadcrumbs got developed in order to improve the usability of web 
applications. In general BC are successful for websites which are unable to 
provide a proper URL or which habe problems with the back button due to 
statefulness.

They introduce a familiar concept of a hierarchical structure to an otherwise 
complicated mesh like navigation with unidirectional links.

BC are server generated "paths" which allow to provide localization and 
translation.

Originally they only indicated the hierarchical position and later they became 
directly clickable providing a fast way to go logically(!) to an arbitrary 
category upwards.

E.g. it is possible to directly click on "Systems" in the above example.

BUT
===

A traditional filesystem like on an USB stick or on a ftp server is _already_ 
hirarchical. Up and Back Actions are _well_ defined in traditional 
filesystems. (Yes there are also unidirectional links in unix filesystems). 
Offering a proper URL/path is trivial with filesystems.

The usability gains from BC as known from web applications don't apply for 
filesystems as the problem that the web moved away from the filesystem 
structure does not exist for filesystems!

Conclusion: BC are a big improvement for web applications but for 
filesystem "If it ain't broke, don't fix it" and don't "improve for the 
worse".

Aaron: I hope it is not too frustrating for to read this.

Yours,
-- martin

-- 
http://www.erfrakon.com/
Erlewein, Frank, Konold & Partner - Beratende Ingenieure und Physiker




More information about the kfm-devel mailing list