File Dialogs Suck

I am a computer power user (a Wizard) and my Mum is a regular computer user (a Muggle), and we both dislike how we open, save and manage documents.

For Muggles, it is very confusing that there are two completely different ways to open a file. Using a File Manager and the "File Open" dialog box from within an application.

My Mum still hasn't grasped the difference. Using the File Open and File Save dialogs from within an application is fairly simple. However when she wants to rename files, or move them from one folder to another, she has to go somewhere completely different. The Open/Save dialogs look and behave differently to the File Manager. This is very confusing for her. It would be less confusing if there were just ONE place where files lived. IMHO, this should be the File Manager.

Loading Documents

So how should we open a file from within an application without a File Open Dialog? The File->Open menu item should just open the File Manager. Then to open a file, double click it or drag the file from the File Manager into the application.

Saving Documents

But how can we do away with the Save Dialog? Replace the old-fashioned Save Dialog, with a small dialog containing a SINGLE icon representing the document to be saved, a text field for the document's name and an OK button. Click OK to save to the "current" folder. To save it to a different folder, DRAG the icon to any File Manager window. There could also be a "Browse" button, for easy access to the File Manager.

Already Been Done

This user interface already exists. Last millennia, even before the days of Windows 3.11, an operating system called RISC-OS didn't have clunky File Open and File Save dialogs. They did exactly what I've described above, and IMHO, it is less confusing for Muggles, and much nicer for Wizards. But Windows won the day, and we are still stuck with their sucky design.

Extra Power for Power Users

I use a command line more than a file manager. Under Linux (well, everything that isn't Windows!), moving through the directory structure is quicker via the command line than via a File Manager, because the command line has "tab auto-complete".

For the project I'm working on, my source code is located at :

/home/nick/projects/wrkfoo/src/main/java/uk/co/nickthecoder/wrkfoo/

To get there using a File Manager, would take very many mouse moves and double clicks. From the command line, I can type :

cd /h TAB ni TAB pr TAB w TAB s TAB m TAB j TAB TAB TAB TAB TAB

The TAB key fills in the rest of the folder names for me. That's 23 key strokes, which sounds a lot, but is in fact really quick and really nice once you get used to it. Moving a mouse to just the right spot, then double clicking is horrible compared to using the TAB key.

I am NOT suggesting that Muggles use the command line, but I am suggesting that opening documents should be nice for Wizards when using a GUI. The problem lies in the idea that a GUI should ONLY use icons for documents and folders. Why can't we have a text box as well as icons?

Imagine I'm in a Text Editor, and I want to save the text to :

/home/nick/projects/wrkfoo/src/main/java/uk/co/nickthecoder/wrkfoo/myNewFile.txt

Hit ctrl+S (or use the File->Save menu item), and it brings up the RISC-OS style save dialog described above. Muggles can drag the icon to the File Manager, but Wizards can use the text box to choose the location. As the TAB key is already used by GUI to move the keyboard focus, we can't use the TAB key, so let's pick a different key. I propose the DOWN arrow key.

So I type :

/h DOWN ni DOWN pr DOWN w DOWN s DOWN etc.

It gets better though, if I forgot that "n" does not uniquely identify folder "nick" within "/home", typing "/h DOWN n DOWN" will pop up a menu of all the folders beginning with "n". I can then use the mouse or keyboard to select one of those, and then carry on drilling down through the file system.

Favourite Places / Bookmarks

Some argue that I should use Bookmarks/Favourite Places, and then I could navigate File Manager to the correct place with far fewer clicks. However, this doesn't work, because I have a large number of "favourite" places. (I work on lots of projects, and my "Favourite" places is just too large to be useful). What's more, as soon as I want to go to a folder that isn't a Favourite/Bookmark, it gets really clunky again. IMHO, it is much better to improve drilling down no matter where I want to go, rather than just a handful of favourite folders.

Muggles Become Wizards

IMHO, we should design graphical user interfaces that have an easy progression from Muggle to Wizard. A Muggle will never embrace the command line, but they can gain some magical skills if the GUI gives them a gentle way in.

jGuifer / WrkFoo

I've implemented this behaviour in two of my projects jGuifier and WrkFoo. It's so nice to use, and so horrible to go back to the Muggles-only user interface when using other graphical applications :-(