Rules of Thumb lists a few basic UI rules, that apply to nearly every piece of software, but are good to keep in mind for the file manager.
Some thoughts about the Spatial View are available. It’s not yet decided whether Thunar will use a browser-like view or a spatial view, but due to the heavy resistance of many core members against a spatial user interface, it is unlikely that Thunar 1.0 will include a spatial view.
Current suggestions for the UI: Screenshots 2005-03-20
Based on the current research, it looks like the best user interface for a file manager seems to be an icon or list view, with an optional tree view pane. The tree view pane must be connected to the icon/list view and show only directories and devices (unlike xffm). The tree view pane should feature exactly 3 independent root elements: Home directory (or Desktop), Filesystem and Removable Media (only if supported removable media devices are detected).
There are several possible ways to handle the desktop. It can be one of
the special folders below the users home directory (popular locations are
~/Desktop/ or ~/.gnome-desktop/), it can be a virtual folder similar
to a union mounted file system or it can be the home directory.
The desktop always confuses users, esp. if its a hidden or virtual folder.
So the only real alternatives are ~/Desktop/ and $HOME. Both have
advantages and drawbacks. For the $HOME-solution, there is an article
available here that describes
how to use the home directory as desktop with Nautilus and explains possible
advantages of this approach. We have to decide whether we want to use
~/Desktop/ or $HOME, and we should definetly implement only one of those.
If ~/Desktop/ is used, the tree view pane should probably contain an
additional root element, named Desktop (and the Desktop folder should
always a specific icon in the home directory listing).
The advantage of using ~/Desktop/ would be that its compatible with other
software (e.g. Gtk+, Gnome, KDE), that also refers to ~/Desktop/ as Desktop
and so users do not need to distinguish.
A lot of users complained about the missing location bar in the spatial nautilus and in the new GtkFileChooser, while others claim that this is a major user interface improvement. If the file manager includes a location bar, it will be optional and disabled by default (the average user will either use the treeview on the left or the Up, Next, Back buttons to navigate and rarely enter an URI by hand).
As an alternative to the location bar, there should be an Open Location dialog (using Ctrl-L as default modifier to be compatible with GtkFileChooser) that allows selecting a directory to open, featuring automatic path completion, pretty similar to GtkFileChooser.
The Open Location action should behave differently depending on whether the location bar is visible or not. If the location bar is visible, it should give focus to the location bar entry widget (similar to Firefox/Mozilla), else if the location bar is hidden, the Open Location action should bring up the Open Location dialog, which asks the user to enter a location.
Auke’s idea of a GtkFileChooser-like Location Bar offers a nice alternative to the standard entry widget based solution.
The file manager should include optional toolbars (disabled by default?) based on the toolbars framework in libexo. The default toolbar should be clean, e.g. there is really no need for a Logout in a file manager.
A perfect solution would be to have the Location bar (if any) as pluggable toolbar item (libexo supports that).
The menu bar needs to be well-structured and intuitive. First menu should be File with the file management related tasks (some of them also show up in the right-click menu), and additional items like the Open Location and Quit* buttons. Other toplevel menus are the Edit and the View menus.
We have discussed on IRC about the eventuality of adding a Bookmarks toplevel menu. If we implement bookmarks management, it appears to be a better solution than adding them to the tree view. Using the Go menu does not seems practical either.
The user interface should feature an Up button in the Go menu (and in the toolbar).
Next and Back buttons seem to be common as well. In fact, Finder provides only these means of navigation, and no Up button at all. More research required.
A different way of navigating through the file system is provided by the Columns View known from the NextSTEP Filemanager and Aqua’s Finder.
Accessibility is an important point today, which unfortunately gets ignored too often. Terminal is a good example how to make an application accessible (actually the ExoIconBar is currently the only part that is missing AT support). For filer, the ExoIconView class needs to be made accessible as well, and the whole interface - esp. the dialogs - needs to be designed with accessibility in mind.
This is a list of interesting links concerning User Interfaces in the Open Source world and file manager user interfaces in particular.
$HOME as desktop and other interesting ideas.Some definitions to help in understanding the articles:
Previous discussion in the Gnome community concerning future directions of the UNIX file management:
And a few interesting - atleast if you ignore the comments
- articles from OSNews:
Nat Friedman’s Beagle is definetly worth a look, and a query-based interface for Thunar would be a worth addition, since users - yeah thats you as well - usually think task-oriented (you open the file manager because you want to accomplish some task!). Beagle even integrates with Nautilus and GtkFileChooser.
Seth Nickel’s Storage is definetly the most interesting project in the UNIX desktop area currently, although it doesn’t get the necessary attention yet. Nevertheless, since it’s modular, we may use the same architecture to support queries in Thunar.
Doodle is a tool to quickly search the documents on a computer. Doodle builds an index using meta-data contained in the documents and allows fast searches on the resulting database. Doodle uses libextractor to extract the meta-data from the files in the file system. We could use it in Thunar to implement queries (for the spatial view).
Evidence is the next generation file manager for the Enlightenment Desktop. It features different user interfaces, and a location selector similar to GtkFileChooser.