GNOME 2.0 was released less than two days ago and while I was using its betas on and off, for some time now, I was anticipating this final release with impatience. The project was supposed to see this release almost a year ago, but GTK+ 2.0 was not ready in time, dragging Gnome’s development down as well. But now it is here, so let’s see what this new release brings to the Unix desktop.
As many users pointed out in forums, the new release is mostly a rewrite of the Gnome desktop environment to the GTK+ 2.0.x API. The new version of the popular C-based API brings some nice new features, like doublebuffering, smooth resizing (with medium success I might add, when compared to MacOSX and BeOS 6-Dano’s algorithms/techniques), a nice-looking tree view, native support for anti-alias fonts and more. Gnome 1.x applications are not compatible with the new library, so in order to take advantage of these new features, the application will need to be massively updated to the new GTK+ API. Possibly this is the reason why there are not many Gnome applications yet ported to the new framework, neither the Gnome itself includes many applications or preference panels as it used to. For example, the memu panel, merely includes 3 options. Same goes for the other setting panels (when available), they lack the flexibility and number of options found in the previous version of Gnome.
The Gnome menu panel now resembles a bit of MacOS. It sits on the top of the desktop, and no matter what I tried, I can’t change its position. The window list can be found on the bottom of the screen. So, you get two gnome panels, one on the top and one on the bottom. I found this default configuration, bone-headed, at best. The panel on top only includes an ‘Applications’ and ‘Actions’ menu, then you get a huge unused space and then, at the right most side, you get the clock, and a menu which is equivelant to a chooser/finder as found on MacOS. It was a matter of time, before I deleted my bottom window list and embedded it on the main panel, to use all this unused space (note: I use a 1280×1024 resolution).
People will always argue that we are lucky that there is an option to do so, but the main point is, that the default configuration is what most people use. It is common knowledge that only a small percentage of users actually change (or have the right to change, in a business environment) their desktop and add/remove icons, themes or configurations. If the default configuration is not intuitive, most people will still live with it. Or they will switch to KDE. Or go back to Windows or MacOS. That’s the reality.
Among the obvious configuration options missing is a prefs panel to configure your screensavers, or a single place to get all your system panels. They are scattered either on subdirectories on Nautilus ‘Start Here’ page, or on ‘Applications’ sub-menus. Also, by having settings scattered to different panels it does not make it very clear where you could find some options. For example, you get two different panels ‘Desktop Theme’ and ‘Theme’ under the Desktop Preferences submenu, and then you get a ‘Desktop Theme Editor’ option on your System Tools. Now, which is which and what each one does? Good question.
I am sorry if I sounded harsh about the ‘bonehead’ word earlier, but this is 2x boneheaded. Every UI designer will laugh at this default setup of menus and even for the panels themselves, for not being able to configure themselves in one place in a clear manner, but having other theme panels for icons, other theme panels for GTK+ and other themes for the window manager etc. scattered throughout the memus, without giving a clear indication which one is which. And then, you get the Meta-Themes panel, which is supposedly here to fix this problem, by providing a service that can configure all these themes at once, but it loses itself among the other ‘theme’ panel offerings. The idea is good, but the way it is being presented, it is a UI disaster (same goes for KDE’s zillion theme panels as well, but at least they are under the same ‘umbrella’ in the Control Center).
The new Gnome 2 environment starts up much-much faster than Gnome 1.4 used to! It loads on my dual Celeron 533 in about 2-3 seconds, and this is indeed a major improvement. However, the speed ends there. Overall, Gnome 2 feels slower (and I compiled it with -03 and -march=i686 using gcc 3.1.1-CVS on my Mandrake Cooker). On Gnome 1.x if you needed some speed, you were just telling Nautilus to not draw the desktop and everything was fine. But if I turn off this option on the new Gnome, there are no icons drawing on the desktop anymore and I have no desktop context menu. I quite like the Nautilus drawing option, and I believe it was sensible for the Gnome project to pick Nautilus for the job, but some optimizations wouldn’t hurt.
And speaking about Nautilus, I am very pleased to see it coming of age. I can clearly see some BeOS-like elements into it, and of course this is of no surprise, as one of the Eazel developers that worked on it, was Pavel Cisler who also designed BeOS’ Tracker, and who today works at Apple on Finder.
My only problem with Nautilus was the inclusion of GTKhtml 2 as the main HTML renderer. GTKHtml is still extremely buggy. Its font sizes chosen are making the webpages unreadable, while it can’t browse links that have relative destination even if these links are on the same server (eg. comment.php instead of www.osnews.com/comment.php). While I understand that GTKHtml is far from done, the fact that is not done yet it should have been a good reason for not using it as the default HTML renderer on Nautilus. As far as I know, the guys over at CodeFactory haven’t touch its code almost for a year now (‘we are focusing on Mr. Project now‘ they told me back then) and the only real update that code have seen since then is its port to GTK+ 2.x.
Speaking about fonts, the new fonts coming with Gnome, like Nimbus, are great! Coupled with the AA engine, they give a really sexy look to the environment. Unfortunately, when launching Gnome for the first time, it picked as default an ugly sans serif font that it was also extremely small for the job (size 10). This is weird, because my Red Hat installation of Gnome 2-beta on my other machine, picked Nimbus correctly. Nimbus plus AA, looks like the default BeOS font. BeOS users will feel at home in this respect.
Gnome 2 comes with the Sawfish window manager as default. Everyone was raving about Metacity though, so I thought I should give it a go, and indeed I did so. Metacity seems a bit more lightweight than the feature-packed Sawfish. It does not have as many configuration options, but it works well and it plays well with the MetaThemes engine. For example, each time you change the GTK+ theme, the Metacity will pick it up and will adjust the color of the window manager. I am not sure if this is window manager’s job, but each time there is a new popup window, I would like it to get focus, but I found no such option anywhere to turn on. So, when I get IM’ed on the net, I do not even see the message windows, as they popup on the background. Pretty irritating to say the least. However, I like the simplicity of Metacity. Its themes are simple XML files and not always have accompanied images.
Gnome 2 does not come without its problems. I do not have sounds on my Gnome 2. I think that Gnome 2 assumes that you have Gnome 1.4 installed, and while I do have the libraries needed to run older GTK+ apps, I do not have the full installation, therefore, it can’t find the actual .wav files. The Sound panel argues that I should install the gnome-audio package, but a look at the 2.0 directory on many FTP servers, did not reveal such a package at all. On another note, Galeon stopped working from the moment I installed Gnome 2.0. And where are Pango’s multi-language settings to select another language for my keyboard? And where are the system tools for networking, or maybe a universal media player? Also, why the included system monitor can’t pick up both my CPUs? Oh, and I lost almost 2 paragraphs from this review, by typing it on the GTK+ 2.x updated Gedit text editor (which is also the default Gnome text editor). When I just place my cursor on the text, and then move my mouse away in order to type there, the program seems to think that I still have my button pressed and it keeps selecting my text. It happens so often that I was not always careful, and there go two full paragraphs. I changed my mouse settings from its Gnome panel, but it did not help the specific situation. Please note that the Kedit or Kwrite editors do not have the problem. Plus, scrolling this very document with Gedit is shamelessly slow when compared even to itself (or GXEdit) of the Gnome 1.x series.
These are small (or big, depending on the user) faults. As far as stability goes, I experienced on the final version individual crashes of some preference panels and applications that come with Gnome 2, but I have not experienced any true crash of its memu panels or Gnome itself that could take X down.
Gnome 2.0 is utilizing GConf, a Registry-like editor. Despite many of our readers getting shivers when hearing of the Windows Registry, I got to say I love GConf. It is a good idea and it is so easy to manipulate its values than the Registry itself. Partly this is because there are not many GTK+ 2.0 applications yet to populate its tree, but overall, you can find some cool options that you can’t find in the config panels. For example, if you want to be able to detach (tear-off) the menus of an application on Gnome 2, you need to hand-edit GConf.
The other important problem is the largely unfinished Help included. Only a handful of topics are discussed. A shame really. A commercial company would have never ship an OS or desktop environment with no real Help files. If this is how open source works, there would not be a chance that I would recommend any of this to my friends or family. Of course, such things prove right the people at MSNBC saying that Linux (and the rest X-based OSes) is not ready for the desktop. I am only here, to my dismay of course, to prove their conclusion right. (KDE has its own problems too, and I will come to that soon…)
The big question on any new release is ‘Whats New?’ or ‘What does it do more?’. In the case of Gnome 2, it does less, not more. GTK+ developers will of course be happy with the new API, and users will possibly enjoy the AA fonts, but other than that, users will not gain much more from this desktop environment. Hiding behind the ‘this is a mostly a release for developers’ excuse is not good enough for me. Gnome is around for years, and the GNU project was not able to deliver an outstanding version yet. Is this the best that the GNU project can offer to the Joe User who wants to switch away from the commercial option of OSX or Windows? Well, nice try.
I usually start my reviews with the positive points of a product and then continue with whatever I found as ‘bad’. In this case, I just can’t hide my dissapointment about the new version of Gnome. As a user, I expected more, and I want more. The new version removes the flexibility found on Gnome 1.x and it does not introduce anything really new or spectacularly interesting in its UI design. Gnome 2 fails to impress. It is not intuitive. It feels limited and not done yet. While it is not solidly stable yet on all of its respects, it is stable enough. But the ‘not done yet’ refers to the feature-set of the environment, not to its actual stability. It needs more work, it needs more enrichment at most places, and it needs even more refinement on the GUI and its scattered setting panels or on the small icons feeling ‘glued’ to the text on the menus. Because of this re-write of the Gnome environment, I keep feeling that this is version 1.0, and not 2.0. Except the name Gnome, not much are similar to Gnome 1.x, unless you are willing to re-configure all these panels away from their defaults. The non-similarity would possibly be a good thing (Gnome 1.x had UI flaws too), but in this case, it is not *yet*.
Overall: 6 / 10