[System|Toolbox] Tools
for the Art
of System
Administration
HOME STAFF FAQ ADVERTISE LEGAL
binaryfreedom.com

Sections
   News
   Reviews
   Commentary

Community Events:
 
Submit an event

An Inside Look: Nautilus

Friday January 26, 2001 12:31am PST
Tim Bannister takes a look inside Nautilus, Eazel's desktop metaphor for Linux. Is it cool?
Nautilus is a graphical desktop shell. It is touted as being more than a web browser, and offers a very slick user interface for file management as well as looking at web pages.

As part of the GNOME project, it's built with the reusable components of a powerful but simple to user desktop environment. The Open Source nature of this project makes this reuse much more likely and also less aggressive; if someone has made a text editor that doesn't cut the mustard, programmers might contribute to it rather than compete with it. Too many other platforms have individual applications that manage to reuse their own components but no others.

Unix has had powerful shells almost since the outset. Systems administrators and users alike grow accustomed to piping the output of one command into another and writing small control fragments on the command line. Most interactive sessions barely touch on the functionality available in the typical Unix shell; but the shell also offers a programming language used to start up most of the Unix-like systems running today.

Unix has had a philosophy based on a collection of small but appropriate tools. The standard shell doesn't include commands to rename, delete or copy files; nor does it deal with application functionality such as text editing. This is mirrored in Nautilus, which doesn't have a built-in HTML component; instead, it uses separately-written code to show web pages.

Nautilus integrates support for GNOME VFS and is therefore just as happy managing files on a remote WebDAV server as it is viewing HTML from a local hard disc. In time it should also be possible to open archives (ie tar files) and navigate their contents as if they were directories.

The shell also boasts, as mentioned, a slick user interface. In addition to the pretty icons and toolbar, it's been designed for ease of use. An optional sidebar can show a tree of a directory or perhaps a website, or a history of the URLs visited. The user can annotate files by attaching an "emblem" to an icon- perhaps the "draft" or "new" emblems. It's a nice touch that this doesn't just apply to files on disc, either.

The icon view isn't just pretty to look at. Although some icons are just well drawn, others are a preview of the file's contents. This includes text files and several graphics formats. Simple icons allow a zoomed view of the icons, too, although unfortunately not all components support zooming yet. It's a simple matter to click on am image preview to go to a full-page view of the image, although editing means loading an external program.

Unfortunately, Nautilus doesn't comply with GNOME MDI standards. Fans of GNOME's "Notebook" MDI mode or similar metaphors from other desktops will be disappointed; GNOME offers a choice of MDI modes and Nautilus only seems to implement "toplevel". This is a shame since GNOME compliant applications can offer a consistent user interface with the minimum of effort.

A nice touch is the way that a text file, once opened, can be edited. All the user need do is click on a text file to open it and be able to make changes; the menus change depending on the current action. A component could allow viewing of PostScript and PDF documents in place, without further ado. This would of course apply equally to files on disc and those on the web; eventually, the same ought to be possible for images, word processor documents, spreadsheets and so on.

It's a bit too easy to edit documents, though. One moment, you're looking at a web page and the next you follow a link to a text document. A few errant keystrokes and you've wiped it by accident and have to reload. Some sort of locking metaphor would be nice here; perhaps you'd toggle a toolbar icon to load the editor, or just double-click on a link to go there straight away.

It'd be nice to have this available for hypertext, too. If only someone could write an HTML editing component that would allow the user to pick elements, attributes and styles from the sidebar and edit web pages on disc just as you can edit text files. More complex components could allow the user not just to view but also to edit spreadsheets, presentations or even a video clip.

The current incarnation seems to be missing some key features. There's no way to save the text you've edited, which makes the whole exercise a little pointless.

Here seems as good a place as any to comment on the GNOME file dialogues. In my view, it's unfortunate that only one kind of file dialogue is available, offering a scrolled list of directories and a scrolled list of files. This doesn't tie in well with Nautilus' use of GNOME VFS and isn't as intuitive.

I would prefer to see a choice, session-wide, of which kind of file dialogue to use. My own preference comes from several years' exposure to RISC OS where the save dialogue is a simple window containing the icon for the file. You just drag and drop this to where you want to save this, whether this is a local or remote directory, or another application window. This is a simple metaphor to understand and makes inserting objects into documents equally simple.

The ideal place to put this sort of option would be into the Control Center, in the UI section- this issue isn't specific to Nautilus. Users might like to select their favorite dialogues, perhaps opting for different Print dialogues but retaining the original file interface.

Nautilus would then make it very easy to open, edit and save files on a remote FTP or WebDAV HTTP server. This would of course all be dealt with by GNOME VFS, which could also handle metadata issues such as storing the language the file was written in or the character set used.

Although Nautilus is sure to be an outstanding piece of software I feel that there is still a great deal lacking from the versions I have used. Here, therefore, are some of my suggestions and hoped-for features for future incarnations:

New windows go to the homepage, at present. I'd like to see a user preference whereby a new window would contain a blank document, or rather offer the user a choice of which kind of document to edit.

Since I'm rather fond of the services offered by Eazel, I'd like to see a sidebar tab listing them. At the moment I find it more convenient to type a URL than to navigate from the toolbar button. It could also be a convenient place to put editing options such as a spellcheck, although UI specialists might disagree.

When editing, it's often useful to see a more low level view of the file. I'd welcome the ability to switch from text or image editing to a hexadecimal view of the file, and possibly back again. The same could allow editing of web pages as their SGML or XML source.

I've found it frustrating, once I've selected a preview of a text document or image, that I can't delete it. Usually I want to delete an image after I've selected it to make sure that I don't want it, and a window or context menu option to do this would be welcome, subject of course to user confirmation. This same mechanism could, in the icon view, allow the user to remove the current directory.

Another problem I've had, especially with image files, is that I can't always tell what kind of file it is. This is fine for most files on websites where the extension is there to help the webserver, but not all files have this. Perhaps an option to embellish icons with something representing the type of that file would make it easier to find this out.

I'd like to see support in Nautilus for session management in a big way, remembering not only the URL I was visiting but what changes (if any) I'd made, or what I'd typed into a form on a web page. I'd like to be able to restore a session and have each pane as I left it, all state intact. I'm sure this will come but its omission is irritatingly obvious.

Finally, I'd like something to replace Nautilus. I expect that many people won't want an integrated shell such as Nautilus, and will prefer to follow existing trends (a standalone web browser, different applications for different kinds of documents, and a separate file manager). I won't be one of these- in my view this software has great potential.

Because not everyone will agree, I'd like to see a way for the same Nautilus components (image editor, PDF viewer, text editor and so on) presented as separate applications. A simple wrapper providing the minimum necessary in the way of menus ought to suffice; as well as making it simple for people not to use Nautilus as a viewer and editor, it would simplify the process of writing a standalone file viewer.

This wouldn't prevent people from using the file or web browsing functionality of Nautilus, or from accessing the services. It just wouldn't be as integrated but I'm sure this is what some people would prefer.

Now I've explained what I would like to see in the future, it seems only fair to counter this with a list of things Nautilus isn't, and what it shouldn't be. Weissman and Zawinski famously explained their Law of Software Envelopment:

"Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can".

I don't want Nautilus to read mail. It's pointless, especially when so many other GNOME mailer projects exist. Nor would I like a calendar or an organizer, contacts database, phone dialer or voicemail system.

I also hope that it doesn't become part of my desktop background. There are uses for a desktop background; it can be handy to drop a folder on the background or save a file there for later retrieval; this is something else I like about RISC OS. I like the idea that different users could have different programs running in the root window, and that Nautilus would stay well clear.

Various utilities provide a playlist. I like the idea that the default action for "music" files should be to add them to the playlist (at least as a configurable preference it would be nice if this could include audio content found on the web). Nautilus would be welcome to allow me to browse an audio CD as easily as a folder of Ogg Vorbis tunes, but I wouldn't want Nautilus to queue them. Similarly, Nautilus' interaction with a DVD would end (in my mind) when the user clicked on the icon.

GNOME features a friendly and moderately easy to use configuration manager in the form of the Control Center. The same functionality needn't appear in Nautilus; I'd rather not deal with hardware or software configuration issues through anything resembling a web browser.

Nautilus isn't what I call an "office suite", nor would I like it to become one. My interpretation of this term is a group of applications for business use that integrate well with each other and badly with anything else. I'd like to be able to work on images and video with the same ease that I can text and spreadsheets; it would be nice to be able to save a document from an email onto a website, for example.

I'd welcome the sort of integration that would let me preview the icons for mail attachments just as I can in Nautilus but I wouldn't want a restricted set of the kinds of documents I could work with.

I'm quite sure that Eazel will prosper. Their business would be simple to copy but the trick for any would-be bandwagon followers is to differentiate their new business but replicate the good parts. I don't expect it will be easy for another company to offer that kind of service successfully. I would like to be able to pay more and also gain access to a shell account with the same space, but this is a retrospective view.

The ease with which documents can be saved across the web with this software should give every other ASP in this market pause for thought, and give Eazel's coders cause for celebration.

Comment? - Or do you think this article blows chunks and you could write a better one in your sleep? Then do it!
View Comment Page

Copyright © 2004, The Binary Freedom Project, LLC.