Maynard Kuona takes a look on Gnome 2.6-pre and discovers a whole new world of new features and well-crafted interfaces built-in on every Gnome-bundled application.
In the beginning, there was Linus. He said, let there be Linux, and Linux was there. Actually he wrote some code. Then there was Miguel. He said, let there be GNOME. Actually he announced it on IRC. But then GNOME was there. As many years passed, both Linux and GNOME grew in size and complexity at niceness. And so it is that we have on our doorsteps, Linux 2.6, and GNOME 2.6.
I downloaded Fedora Core 2 test 1 recently to give GNOME 2.6 and Linux 2.6 a spin. Yes, GNOME 2.6 wasn’t out yet when I was writing this article, but I could test with the release candidate included in Fedora.
A lot has been said about 2.6. 2.6 is a much bigger jump from 2.4 compared with the jump 2.0 to 2.2, or 2.2 to 2.4. There are two things most people will have been waiting for. First, GTK 2.4 is now out, and most, if not all core GNOME components already use it.
Second, there is spatial Nautilus, which implements a new desktop navigation paradigm. Here I use the word navigation very loosely, and this will become clearer later why.
Third is Gstreamer. This has come a long way and is implemented more widely this time around. It is certainly more integrated with the core GNOME. Its use is wider spread throughout the environment.
The are a few other enhancements in GNOME too which we will encounter as we go along.
So, what is new.
Heading over to the module list to see what actually made it in, and what didn’t make it. And why?
There are a few new tricks in this release of GNOME. Some below the surface, and some above it.
Before you begin reading, please note that this is not a review of default GNOME. So the theme used is not the default, and neither is the arrangement. This varies from distro to distro, and anyway, I wanted a review which featured GNOME and the way it worked, not the way it looked per se.
GNOME Keyring. This is a new module. This module is responsible for authentication information. It enables you to keep your authentication information for a specified period, currently either for a session, or in some database. No more typing your passwords in plain text for everyone to see. It is good that this is now in GNOME, but the bad is that it does not support ftp. So I cannot connect to an ftp site and have a prompt for the password yet.
This is something that needs to be done very quickly too. Though many are of the opinion that a dedicated ftp client is best for ftp, it is always nice to have a quick way to navigate in ftp sites, and I would prefer the Nautilus view of an ftp site, rather than how gftp does it for example.
There is GTK 2.4, with the much awaited file selector. Well, what about it? It brings a few new widgets of its own, plus the file selector. The flame wars should be over at last. Is there anything good about this file selector. Well, there is the good, the bad, and the beautiful.
The bad is that there is no way to open hidden files with the file selector, or if there is, it is well and truly hidden from your truly, the guys doing this review. This is a bug that should not have made it past release candidate. I am truly stumped. Even if it is somehow possible, it should be far easier.
The good is that the file selector looks and acts very well in the rest of the cases.
The beautiful: Well, the book-marks. I can now book-mark directories I use a lot easily in the file selector. It comes with a few bookmarks of its own too, such as the home directory, and root file system. If you book-mark a directory, and then move it, it removes it from the book-marks, and if you move it back, the book-mark reappears. This is probably very useful for removable volumes.
Nautilus sports a brand new ‘look’ in this release. Ah, the much discussed and criticised and critiqued spatial browser. Here is the short version of how it works. Every directory is treated like an object. That is to say, it has attributes associated with it. These attributes are set on the fly by the user as he uses his machine. The user need not (always) configure how he interacts with his desktop. So much for the mumbo jumbo, what does this actually mean?
Here is a little journey I took in trying to learn about spatial nautilus. And a few observations.
I opened my home directory, and I had so many files. I resized this so that I could see as much (all) of the directory as I could without a need to scroll down or across. This is automatically saved. Next time I open my home directory, this setting will be remembered. It will also remember its position on the screen the last time it was open, and which view was used and the zoom if any.
Now here is something neat. If I open the home directory, and I open a sub-directory, it opens the subdirectory in a new window, and it changes the icon in the home directory for that sub-directory to show that it is open. A nice visual cue as to the state of your browsing. Then, if you open another window, and move that directory while it is open, you will not have nautilus crash or anything of the sort. It remains open. In fact, if you move the folder to another directory, it will remember the settings for that particular folder, where ever you move it to. If you move to another virtual desktop, and open the new window from there, it is transferred to the current virtual desktop. In fact, over there, it will still show you that the directory is open, by showing you an open folder.
At the bottom left of each window, is a button that will enable you to go up into the parent folders, right up to the root file-system (/). So even after closing all the parent directories, and you realise you needed one of them, you can go directly to that folder if it is above the current folder in the hierarchy. The new mode requires you to change the way you use you file manager, which is probably the reason many balk at it.
It does open a new window for every folder, which is probably the main bone of contention. However, this is changeable by a Gconf key, and therefore your distributor can easily choose a default.
The main difference between the navigational mode and the spatial is how yo work with a navigational file-manager compared to a spatial one. With navigational, you go in and out of folders, treating your folders as containers for files. The presentation of the files inside them is really secondary, as a lot of it is dependent on where you are browsing from and so on. A spatial manager makes use of space to add another dimension to the experience, and at least, in my view, make you treat each folder more like a pin board, to borrow the Rox term for the desktop. The spatial arrangement of you browser windows, i.e., their arrangement in space is set by you, and the presentation of files in each folder is set by you. For example, you may want a tall and narrow window for your music folders, and a wide one for your pictures folder. You prefer an icon view for this folder, and a list view for another. This all matter when it comes to spatial browsing. if for instance, you always open two folders side by side because you copy between them a lot, then every time you open the folders, they go into the correct position automatically. The beauty is you only have set the preferences once, and you are done. A more thorough ‘treatise’, if you will, on spatial interfaces is available at Arstechnica.com if you follow the following link.
Nautilus is now fast. I mean, literally a hundred times faster. It open instantaneously. It helps, of course, that I have a 2500+ processor with 512MB of RAM, but that was never the reason for nautilus being slow in the first place. The reason for that was mime type sniffing, which meant the hard-drive was the limiting factor. Sniffing used to be the default behaviour for nautilus, but now, it is first extension based, then it sniffs if it cannot find a clue from the extension. So it now leaps to the screen and is ready before you can say “nautilus is slow”.
Nautilus has revamped context menus. My favourite new (though overdue) addition is the paste files into folder. I hated having to open a folder just to paste a file into it. That pet peeve is gone. For all those tarballs, the context menu is now only to create an archive, without any fancy options. All it does is ask for a name for the archive, and create an appropriate type archive based on the name you will have given. Extracting archives through the context menu is now only to “Extract here”, rather than giving a multitude of options in the context menu. It should be more than adequate for most people.
There is also the ‘Computer’ on the desktop, which basically shows you some common devices, e.g., hard drive partitions, and CD-ROM drives. This was first introduced somewhat by Ximian, but in this release, it works much better, and will not call all your hard drives ‘CDROM’. It is a handy way to access your drives pretty quickly. There is a way to remove this from the desktop using Gconf, so those who balk at seeing something similar to Windows need not worry excessively.
Another feature is the list columns preferences in the preferences panel. This enables you to specify the columns you see in the list view. So you can now specify the order in which the columns in the list views are presented as well as specifying which columns you would like to see.
Templates are now a part of Nautilus. You drop in a file, the template, into the nautilus templates directory, and these become available via right click in nautilus and on the desktop. Further you can now open a terminal at any terminal location right from nautilus.
Gedit has always been another target of abuse by those who do not hold GNOME in the highest esteem. It is accused of being a little complex for a simple text editor, but not as good for programming. Personally I think some users are too used to emacs, the do everything and nearly-an-operating-system editor.
Gedit is helped out in this case by gtksourceview, a widget for syntax highlighting in GNOME. This widget is used also by monodevelop, so expect it to do highlighting very well. It also has syntax highlighting for a number of configuration files. This is one to watch.
But there is not much to say about Gedit though, its one of those very essential but very simple apps in GNOME.
File-roller is the GNOME 2 archive tool. It creates, extracts and modifies a number of archive types. It is ported to GTK 2.4, as are all the apps in the release. New in this one is support for extracting the contents of rpm files. This is really nice, I often want to extract something from an rpm file like a spec file from an srpm. This will do the job pretty nicely now. No more using arcane tools like rpm2cpio, and then having to extract again. This pretty much does the job well.
File-roller is really simple, like many of the core GNOME apps. But you will be hard pressed to find an essential feature you need it doesn’t have.
Epiphany became the default web browser for GNOME in the last release. Before that, people generally gravitated towards Galeon, as it was the only worthwhile GNOME browser for a while. However, recently, when the time came for people to actually choose a browser that should be part of the GNOME Desktop and Developer Platform, Epiphany was chosen because of its commitment to the HIG. Here is a lesson to be learnt, it you want your app to be part of GNOME, learn to love the HIG. It is one of the points of pride for the project.
Galeon was not booted out, contrary to popular opinion. It was only ever the de facto standard when there was no real competition. Epiphany was conceived for and made to be a part of GNOME in contrast. You could say, Epiphany was made to not work without GNOME. This means using as much of GNOME as possible, and avoiding reimplementing as much as possible. Galeon has also somewhat taken this direction, but it is still a very independent project whose authors feel they would like to do things their way.
What is new in Epiphany this time around. Well, not too much on the surface. The download manager is revamped. You now have the option of specifying a default download directory, and it will download there without asking you again and again. This is similar to the recent release of Mozilla Firefox.
Toolbar editing is also improved in this release, and is more similar in implementation to that in Firefox rather than other apps. So you have a window with all your buttons, and you drag to/from toolbars to add/remove buttons from toolbars.
The full-screen mode is revamped, and very good choices have been made to maximise screen real estate available for page viewing whilst having as many essential features as necessary – two obviously conflicting requirements. Full screen presents you with the address bar, the tab bar, and a button on the bottom left for exiting the full-screen mode.
A few things did not make it into Epiphany in this release, like the certificate viewer, but for the most part, Epiphany is a top browser, which is capable of all but the most demanding tasks. For web development, I wouldn’t recommend it. Mozilla (Seamonkey) is probably a better suite, being less narrowly targeted and better equipped. But then again, that was never its target audience.
Metacity, the GNOME window manager has been tweaked a little for this release too. Right clicking on the window border of an app will now bring up an improved context menu. The menu now has 2 levels, one for commonly used actions, and another with more specific items. The list of workspaces has been moved one level deep, and in its place, you now have the option to move a window to the next left or right workspace. This is a good decision, because for someone with many workspaces, this list becomes unbecomingly long, and for the most part, you only move to the next workspace anyway.
Metacity has a new ‘reduced resources’ mode, which encompasses previous options like disabling the animations. But in the interests of providing visual feedback as much as possible, when you drag a window for example, in reduced resources mode, you get a frame instead of the whole window and its contents being dragged along. Unfortunately, I could not get a screenshot of this. It refuses to come out on the shot.
Another noteworthy addition is also the addition on an ‘on top’ state,. Now you can have your favourite windows always appearing on top of the rest. Another good addition.
What didn’t make it.
Some modules, notably rhythmbox, evolution and totem did not make it into this release. evolution was not going to be ready, Ximian does not ship pre-release software, and rhythmbox was not ready in the desired state. Nevertheless, it should make for a more exciting 2.8 release of GNOME, considering the new look evolution will be part of the proper release. The new look evolution is already looking much better than before.
It is a testament to GNOME’s insistence on shipping quality that they do not ship pre-release software. The people responsible for the modules actually withdrew themselves because they were not going to be at the required place in time. This is a good attitude, which helps minimise potential trouble regarding what modules do or don’t make the cut. Delaying the release for modules which needed more time was not going to be an option anyway, because of the strict adherence to the timetable. GNOME releases are time based, for those who may not have known, rather than feature based.
I must admit being a little disappointed because I was really looking forward to the new evolution especially. But I am prepared to wait the few months or so to ensure I get a quality product.
There are a few other changes which are too numerous and too small to cover in great detail. Here is a probably incomplete list of the changes.
Acme is removed, and its functions are moved to the keyboard shortcuts preferences. No more icon in the notification area just for multimedia keys a new module, gnome-netstatus, makes its way in. It provides handy notification about the status of your network, as its name implies. it may be seen in some of the screenshots.
Dasher makes its way into this release, but unfortunately, my source for GNOME 2.6 did not have dasher, therefore I was unable to give it a shakedown.
The help system is much faster now. It practically leaps to the screen. before, you had to do yelp-pregenerate to get any meaningful speed from the GNOME help browser, but now it fast enough. Also, it provides very nicely formatted help pages which are intuitive to go through and follow.
Gpdf has also grown up in this release, and now support bookmarks in pdfs, and now prints them too. This is a really good pdf viewer.
The keyboard capplet in the control centre gets a slight improvement. It is now able to set international keyboards, and you are able to choose your keyboard from a large list.
The background chooser is much improved. In this release, it is able to have a number of wallpapers ready for easy choosing, rather than having to go through the file system every time you wanted to change a wallpaper. It is brought into line with the theme chooser dialogs too to add to the consistency.
The future of the Linux Desktop looks pretty bright, and even now it is very able to replace many proprietary environments. GNOME sets a new standard for itself and other open source projects in this release. They have gone against the grain in some ways, by switching wholesome to spatial browsing as default in their interface, and have done well first time. Everything is faster n this release, and the level of polish is upped even more here.
The HIG is really a core part of GNOME and its influence resonates in all core components. Much care is taken to make everything work consistently and predictably, although some decisions that have been made, e.g, the open file dialog, are questionable.
This release is not out yet, but eyes are already looking to the future. Rough plans are available here.
Discussion is taking place to actually reduce widgetry above the GTK level, and hopefully, this will help blur the line further between a GNOME app, and a GTK one. A lot of project do depend on GTK. XFCE and Rox come to mind. People are already committing to see through a number of issues currently in GNOME and adding new features, with ftp browsing being one of the issues where someone has already pledged to fix for the next release. Roll on GNOME 2.8.
If you would like to see your thoughts or experiences with technology published, please consider writing an article for OSNews.