* * * * *

                     Notes on a browser history mechanism

In my usual wanderings of the web, I came across an article [1] on Xanadu [2]
(the article is long, but informative). For some reason as I'm reading, I'm
thinking about the way current web browsers implement their history mechanism
and just how bad it is—it's linear, which is the antithesis of hypertext.

Sure, a browser like Mozilla or Internet Explorer will keep track of all
pages viewed, but the actual history mechanism, used by the ubiquitious
“BACK” button, is horrid. Start the browser, browse five pages, A, B, C, D, E
and then go back two to C, then view X. There's no real easy way to get back
to pages D and E without knowing what pages they were, and if you weren't
paying enough attention to where they were, you could spend the next hour or
so trying to find them in the global history list. So I thought, wouldn't it
be interesting to do a graphical representation of your browsing session?

The history session would start when you launch the browser and hit your
first page.

[Figure 1] [3]

[In the illustrations, text presented in a light yellow box is similar to the
Tool Tips you'll see under Internet Explorer or Mozilla when you place the
mouse over a link or image. If the text is in a light blue box, it's just a
comment relating to the node it's near.]

As you browse pages, new nodes are added, in a linear list building downward:

[Figure 2] [4]

The current node is marked (currently, with a large black dot) and the arrows
point to the page you visited. Notice how they all point downwards from the
first page (at the top) to the current page (at the bottom). The “BACK”
button takes you to the previous node:

[Figure 3] [5]

Or you can select a node to go back to with the mouse:

[Figure 4] [6]

Hitting the “FORWARD” button will take you forward one page:

[Figure 5] [7]

Okay, nothing too out of the ordinary and so far pretty straightforward. But,
going back to the middle node there:

[Figure 6] [8]

It's only when you start to follow a new path do things start changing. The
old path you followed will swing out of the way, and the current path you are
following will then continue on downward.

[Figure 7] [9]

Which leads to another convention I'm using: the vertical path is always the
current path, and the one that the “BACK” and “FORWARD” buttons on the
browser will follow. Go back twice from the current node (labeled
http://www.cse.fau.edu/~borko/resume.html [10]) and then forward twice, and
you'll end right back up to the same node. And, if you go back and follow a
different path:

[Figure 8] [11]

the previous paths with swing around, and the current path will start
building downward again.

The current path doesn't have to always build downward. The current path
could be color coded so the paths don't have to swing around when you take a
fork. Another variation could be the current node is always in the center.
Other refinements could be pages on a path that are on the same site could be
grouped some way (background color?) such that you could collapse all pages
on that site to a single node (to reduce clutter).

There are also some problems this method presents (that I'll leave as an
exercise for the reader) but I think I would like to see some browser
implement this as a history mechanism.

[1] http://www.wired.com/wired/archive/3.06/xanadu.html
[2] http://www.xanadu.com/
[3] gopher://gopher.conman.org/IPhlog:2002/01/17/start.png
[4] gopher://gopher.conman.org/IPhlog:2002/01/17/trail1.png
[5] gopher://gopher.conman.org/IPhlog:2002/01/17/trail1.back.png
[6] gopher://gopher.conman.org/IPhlog:2002/01/17/trail1.back.select.png
[7] gopher://gopher.conman.org/IPhlog:2002/01/17/trail1.back.png
[8] gopher://gopher.conman.org/IPhlog:2002/01/17/trail1.back.select.png
[9] gopher://gopher.conman.org/IPhlog:2002/01/17/trail2.png
[10] http://www.cse.fau.edu/~borko/resume.html
[11] gopher://gopher.conman.org/IPhlog:2002/01/17/trail3.png

Email author at [email protected]