An Object Oriented File Manager Design

Before you ask, no there is no code...

  • The idea is that you are not looking at a file manager application displaying a folder, you are looking at a folder.
  • Everything is done through mouse clicks and context menus and dnd.
  • The context menu for the background is the context menu for the current folder. This context menu has an "Open With->" item, allowing you to open the current folder in an app, such as a terminal or music player.
  • Clicking on a folder causes a new folder window to "grow out of" the folder icon that has been clicked, as a window-open animation. This looks good but also has similar usability functionality as the minimise animation for windows : it shows where a window is comming from and what it is showing.
  • Folder viewer has "spring loaded folders" functionality. This lets you drag an item onto a folder and have that folder open up in a new window, before you release the mouse.
  • Use's single click to provide consistency with the rest of the desktop. Double click is superflous and having both options wastes developers' time and decreases the quality of the software. Items can be selected with the rubber band for multiple selections. There is never any need that I know of to select a single item before either dragging it, opening it, or right-clicking it.

File Vieweres

  • File viewers always open in new windows so that the origional folder is avaliable in the background, and so that it is clear that the file is an new and independent object. Showing a file view in the same window as the folder it was opened from is confusing.
  • The context menu for a file being viewed contains an "Open With->" item so that the file can be opened in a program without having to go back to it's parent folder. The viewer would close once a file has been opened in an editor.

Menus, Desktop, start-here: and URIs

There are no menus because they are un-necessary in a properly constructed oo file manager. Everything is an object and functions are accessed through each object's context menu.

start-here: is abolished in favor a "Parent Folder-> Browse" item in the context menu in the menus in on the panel.

The Desktop is $HOME. See my other essay for reasons why this should be so.

URIs are gone from the UI. It's agreed by most on the gnome mailinglist that URIs are evil. A good object oriented ui should have objects not uris. That is why there is no location bar in the mockups.

No Toolbar?

There are no back and forward buttons because you are not looking at a file manager with a history, you are looking at a folder. There is no home button because that is the desktop. Up and refresh are in the context menu for the current folder. So no toolbar is needed.

Later
Mark Finlay