humane computing

14 November 2007

Sparse Navigation Tree for File Browsers

For my masters thesis I am writing a new, general file browser for Linux. I am trying to integrate features like tagging, virtual folders, meta-data search and type-specific views and actions, which are all known from domain specific file browsers like F-Spot or Amarok.

One of the newer features is a sparse directory tree for navigation. It is meant to be a "one serves all" replacement for the folder tree, history, places, bookmarks and the button-based location bar, like they exist in nautilus.
All these conventional user interface components show a set of directories; all in a different context, but with quite some overlapping. The underlying thought of the sparse directory tree for navigation is to take the n most important or latest elements of each of these sets, add all their file system ancestors and build a tree with just this joint set of elements. n would be maximized so that the tree exactly fits the space there is in the sidebar and that no scroll bar is necessary.

So the tree is built by first adding the current directory and its ancestors, then adding mount points and important places like the home folder, the trash or the desktop folder. Then the tree is filled with directories from the history and from a list of directories that are often visited from the current directory. If there is still room, some often visited directories are added.

It is interesting to see how the tree adapts to personal browsing habits.
It is not only a a substitute for the mentioned navigational elements. Because the last visited directories are always visible in the sidebar and you can drag-n-drop or cut-n-paste files into the directories shown in the sidebar, there is also no need for dual panel views or for tabs.

I added an animated gif to hopefully show how it looks like. Tell me what you think.

Labels: , , ,


At 01 June 2008 08:20 , Blogger murat said...

What about the files and directories that don't fit in the space and I want to access?

At 01 June 2008 13:34 , Blogger peterpan said...

The navigation tree only shows directories, not files.
The algorithm decides which directories you most likely want to visit next.
If the directory you actually do want to visit is not in the tree, then you have to start with a parent directory that _is_ in the tree and navigate from there.
If you change to that parent directory, it is very likely that the tree will adjust and show your directory you want to change to, because it just became likelier that you want to go there.
If not, then you have to navigate with the normal main directory view on the right, like you would have done without the navigation tree.
Thanks for your question murat. That question is asked a lot.


Post a Comment

Links to this post:

Create a Link

<< Home