Looking At GNOME 2.8
Sayamindu Dasgupta takes us for a walk and shows us the shiny new stuff in the upcoming GNOME 2.8.
The GNOME Foundation is scheduled to release GNOME 2.8 on the 15th of September, approximately six months after the release of GNOME 2.6. The last six months have seen intense activity in the GNOME developer community, resulting in improvements, enhancements and feature additions. Some of these changes are subtle, while others are immediately noticeable. However, all of them are designed to make GNOME more user friendly, all of them try to make things just work.
The last major release of GNOME (version 2.6) was mainly about polish and bug fixing, with very little user-visible changes (well, except for spatial Nautilus). This release, on the other hand features quite a few new applications, though the feature list of the core applications (file manager, web browser, etc.) have remained more or less the same.
The GNOME release team only provides the sources—the binaries are usually supplied by each distribution manufacturer. There are two major ways to install GNOME from source—one is by using Garnome ,which pulls released tarballs from the GNOME FTP servers, and the othermethod is to use jhbuild, which pulls the modules from CVS. I followed the second option, since I already use CVS for checking in the Bengali GNOME translations.
jhbuild took care of all thedependencies, and required very little manual intervention throughout the build process.
The GNOME Desktop
The stock GNOME desktop does not look very different from previousversions, though a brand new theme has made it into the officialgnome-themes packages.The Glider theme uses the Smooth GTK+ theme engine, and users of the SmoothGNOME theme will be familiar with it. Glider is definitely an improvement over the older default GNOME theme, though the color scheme used by Glider is largely similar to the older theme. A screenshot of the new default desktop:
One of the most visible changes in the core GNOME desktop is the new “Add to panel” dialog. Previous versions of GNOME used category-wise arranged sub-menus for adding applets and the launchers to the panel. GNOME 2.8 uses a single dialog to achieve this. While this approach is definitely better than having the user to navigate through a maze of sub-menus toadd an applet, having a single dialog for adding all kinds of applets can prove to be somewhat overwhelming for an user unfamiliar with the concept of panels and applets, especially when the user has a large number of applets installed.
A new mime system
However, as far as the desktop internals go, the most significant change made in GNOME 2.8 is perhaps the introduction of the new MIME system. The file types control center applet has been done away with,and now an user can associate an application with a particular file type simply by choosing it from a list in the “Properties” dialog box of afile of that type. However, when an user tries to add a new applicationto the list, he is simply presented with a file selector dialog, displaying the entire list of the files in
/usr/bin. Users new to non-Windows system would certainly feel uncomfortable with this. Perhaps a slightly modified version of the Run dialog from the GNOME panel would be a better choice here.
The rationale behind the new mime system is available for your perusal. We feel that it is a definite improvement over the older system, and we hope that the
/usr/bin listing issue would be resolved in GNOME 2.10.
Support for DNS-SD
Another very interesting development in the internals of GNOME is the addition of (DNS-SD)DNS-Service-Discovery support to GNOME-VFS. DNS-SD is a part of Zeroconf (Rendezvous/OpenTalkfor Mac enthusiasts), and enables applications to “automagically” discover services running on the local network. GNOME-VFS now exports API allowing applications to browse and resolve services using DNS-SD, and in GNOME 2.8, we will be seeing automatic discovery of WebDAV and FTP shares in the Network Browser view of Nautilus. All this is done via the Howl library andtoolset. Incidentally, Howl also includes a tool called mDNSResponder which allows you to publish services (eg.
ftp, etc) running on your own systems. Support for DNS-SD is an exciting step, and I definitely look forward to applications like Epiphany and Gaim taking advantage of this feature in GNOME-VFS. The GNOME developers seem to have some even more interesting ideas, and this interview has some insight into those plans.
Search and bookmarks in Gconf-editor
GNOME 2.8 also introduces two very frequently requested for enhancements—the Gconf-Editor tool now has search functionality which lets you search through the keys, and support for bookmarks has been added to it, which can be really handy at times.
GNOME System Tools
The new GNOME System Tools suite of applications is one of the more interesting additions to GNOME 2.8. GST, as many call it, is divided into two parts: the GTK based user interface frontend, and the Perl based backend. The user sees only the frontend, while the backend detects the user’s distribution, and works accordingly. The range of distros supported by GST is pretty extensive (it even supports my Gentoo system), and the tools provided (network, boot,services, time and user administration) should be enough for the average desktop user. I feel that the GNOME people are doing the right thing here.
Having a unified set of system tools, independent of the distro can be a greatboon in certain cases, especially for people who have to handle multiplesystems running different distros on a regular basis. Also, not only does GST run on different GNU/Linux distros, but also, it also seems to have support for FreeBSD. Moreover, you can also remotely administer systems using GST, though that seems to need some fiddling around with the Gconf keys in
Remote desktop in GNOME
Another very interesting tool to make it into GNOME 2.8 is Vino. Vino is a remote desktop application, which lets users log into your GNOME desktop remotely. If enabled, Vino starts up with gnome-session, and you can set it to ask for confirmation when another tries to remotely log into your desktop. If you want better security, you can also set password for the remote user. However, I couldn’t figure out a way to know when a remote user terminates his/her session. Probablys ome notification mechanism using the panel notification area would be a good idea. Vino also uses the XDamage extension whenever it is available, so people using Vino with the latest Xorg release can expect lesser than normal bandwidth usage. Anyone who is interested in Vino can take a look at these two articles:
GNOME 2.8 also features the introduction of GNOME-nettool, which is a set of frontends to command line network diagnostic tools like
netstat, etc. GNOME-nettool should be very helpful to system administrators trying to help remote users diagnose network troubles.
Improved Hardware Integration
To many, perhaps the most exciting new feature of GNOME 2.8 is its improved integration with hardware achieved through extensive use of DBUS and the Hardware Abstraction Layer, or HAL. GNOME-VFS now uses HAL, and so as soon as you plug in your removable storage device (USB Memory stick, USB floppy drive, etc), you’ll automatically get an entry in the “Computers” view in Nautilus and in the file selector. Moreover, this release of GNOME will also include GNOME Volume Manager, or GVM, which lets you run custom applications automatically when you plug in your digital camera, or insert an audio CD or a blank CD/DVD. However, GVM will probably work only on 2.6 series kernels and after using it, I felt that it required some more polish (making users enter commands by hand is not a very good thing to do, and I was quite surprised to see
gthumb listed as the default option for handling digital cameras, since gthumb is not even installed in my system). From an overall perspective though, the need for tools such as GVM has been felt for a long time, and the inclusion of it in the core GNOME desktop,along with the utilisation of HAL and DBUS in GNOME-VFS is only going to enhance the “It just works!!” feel.
Better Internationalization Support
GNOME 2.8 also has a few new features and enhancements for people working with languages and locales other than English. The keyboard layout tool now has a handy option to “preview” the layout, which displays a graphical representation of the keyboard layout. However, after using the feature, I feel that it can use some work in certain areas. For example, the key labels that are shown in the initial preview window are almost illegible (I had to maximize the window to read the labels), while the displayed diagram shows the active layout, not the one highlighted in the keyboard preferences dialog itself. But it’s a step in the right direction—and I hope to see a more polished preview feature in the next release. People using scripts like Devanagari, Bengali, Tamil, Arabic, would be happy to know that libgnomeprint now has support for printing complex script based texts.Also, GNOME’s famous text rendering library, Pango has received quite a few bugfixes which resolve a large number of major Indic script rendering related issues.
Improved Printing Integration
The GNOME printing system has also undergone some significant improvements. It is now better integrated with the Common UNIX Print System, or CUPS, and shows you not only the list of printers configured for the system, but also their status and their current jobs. This can be really useful if you have multiple network printers installed, since you can easily figure out the number of pending jobs for each printerwith this new UI. However, there is no way to add and remove printers, and I hope that that feature will be integrated in GNOME 2.10.
Among the other regular applications, the GNOME PDF viewer, GPDF, has got some thorough polishing, and it managed to flawlessly render all the PDFs I threw at it, including the ones generated with OpenOffice.org. GNOME Games now include some beautiful SVG artwork (though much of it has been moved to the gnome-games-extra-datamodule). Gedit has a new case change plugin and support for CSS and JS highlighting, while the network applet has got better support for wireless cards. The volume control application now supports the ALSA “switches” in a much saner manner (no sliders), but it still needs some work. The “Connect to Server” dialog hasalso been vastly improved, and now it presents you with a nice drop down menulisting all the supported protocols (
WebDAV, etc). File-Roller, the archive manager, now has support for ISO images, which can be quite handy in certain situations.
Spatial Nautilus has undergone a number of tweaks and fine tunings—
Ctrl-Q now closes all the open folders, while the backspace opens the immediate top-level folder. The preferences dialog now includes a checkbox to turn off spatial browsing, while a new gconf key,
/apps/nautilus/desktop/volumes_visible lets you prevent mounted volumes from being shown on the desktop. Moreover, it is now possible to edit the desktop lauchers (something that was earlier possible only by hand editing
GNOME 2.8 is full of exciting changes, all of which, I am sure, would help Free Software achieve wider acceptance in the desktop. Yes, there are quite a few rough edges, but going by the current trend, I am pretty confident that they will be resolved in the next release cycle. While writing this article, I was truly amazed by the sheer speed at which the GNOME developers have adopted new innovations and standards that have come up in the other parts of Free Desktop stack. GNOME 2.8 takes advantage of Linux 2.6 (in the form of HAL support), it utilizes the XComposite extension (Metacity) and the XDamage extension (Vino), andthe next major release of GTK will probably make full utilization of Cairo, the vector graphics library for on screen rendering. (For a very informative paper on the future direction to be taken by GTK, check out Owen Taylor’s article.
GNOME 2.8 is definitely a job well done, and I would like to congratulate the GNOME developers for that. There is still a lot of work to be done—we are yet to seethe multimedia framework (GStreamer) used to its full potential, we have yet to see a full fledged multimedia player in the core desktop, but from an overall perspective, we can confidently say that the GNOME desktop has become something to reckon with. GNOME 2.10 promises to be even more exciting, with more integration between the various GNOME components, as well as between the base system and the desktop, and I definitely look forward to that day in March 2005, when GNOME 2.10 will be released.
Pros & Cons
- Better hardware integration
- Distro independent system configuration system
- Support for DNS-SD
- New applications lack polish in certain areas
- The new mime system UI needs some more work
- Absence of a full fledged multimedia player in the core desktop
Copyright © 2004, Sayamindu Dasgupta (sayamindu (at) randomink (dot) org).
This work is licensed under a Creative Commons License.