Back/forward buttons in browsers: why not use graphs for them?
Everyone who has used a browser is probably familiar with the buttons to go back and forward through one’s browsing history for the given window (or tab in these days ;) ). This is great stuff, as it allows the user to go back to previous pages he has visited if he has forgotten something after which he can return to the newer page he was viewing. Great stuff… to a certain extent that is.
Imagine that you have an article with quite some links in it, of which you decide to follow one. As it turns out you click some more to get where you want to, producing a chain of pages. Once you’re done you decide to go back to the page where you started by using the back button of your browser and to click another interesting link in the article. Suddenly it occurs to you that you forgot something on the previous chain of pages after which you decide to return to your starting page once again. But this interesting list of pages has disappeared from your forward button now…
The scenario above is the reason that for quite some time I’ve been wondering why simple lists are being used for a browser’s history. Why not a tree? It won’t change the behaviour of the back button at all and it will only add a menu of which branch to follow when using the forward button. To enhance usability it would be a nice idea to have a miniature picture of each page to accommodate the users who think in images rather than in text (I do to a certain extent). To make things even better one might think of using graphs rather than trees. As trees are graphs themselves using graphs comes with the same advantages as the tree approach, but when using detection of duplicate pages in the history a graph can be constructed which has the following information on each page:
- Which pages led me here?
- Which pages did I visit from here?
Alltogether this is a very detailed representation of one’s surfing behaviour and teamed with the ability to resume browsing sessions on startup (like Opera and Firefox together with SessionSaver or Tab Mix) it’d be a great help to enable users to continue browsing where they left last time without having to wonder how they actually got there in the first place.
Now if only someone would implement it…
Now that is an interesting idea! Maybe it would be especially interesting to use it for a website on itself. Some websites lack any form of transparency. When combined with meta-information of the links, I think it would be a great tool for me to grasp the structure of the website in just a glance. Ofcourse in particular the non-transparent websites will lack meta-information for the links, but in that case maybe one could just display the filenames?
On a first thought, I think in a lot of cases displaying just a tree structure would be the most transparent. Who cares that you can reach a page in several different ways? What matters, is how you get there from the mainpage. In case of a non-hierarchical site as Wikipedia, one ofcourse would need the graph structure.
This could also help not to overlook any pages. For these reasons, I would really use a button to `switch to graph-mode’. I want it, now!
Meta-information for links on pages would be a good idea indeed. It’d be possible to use the forward button (or the associated mouse gesture ;) ) to go to the next page without ever having visited it before; a thing that’s totally natural for any web site with some kind of ordering on its pages. The meta-data needed would consist of two properties: a unique identification of the ordering used and of course the property stating whether the link points forward or backward. This would allow for multiple orderings to exist on a single page, something that I think could be quite useful in certain situations.
The sad thing about introducing new elements is that they need to be standardized and that that process is quite… slow (not to mention certain companies don’t care much about standards). I’d be happy if the Mozilla people would consider just implementing graphs/trees, but introducing meta-elements for navigation in the process won’t hurt, I guess…
Currently, ForwardFork tries to accomplish somthing like that. Maybe you want to have a look at it
Hmm, here on Linux it doesn’t appear to work… I fear what’d happen on Firefox 1.5 :P… I think it’d be nice if it were compatible with Tab Mix Plus’ session saving abilities, as this includes saving each tab’s history as well. August 14th is an awful long time ago, so perhaps mailing to the list can put back some life into it :) .