By Christian Meyer
Released in mid-March, the new version of Gnome includes many improvements for both users and developers. In particular, GVFS removes the restrictions of the legacy network transparent library for virtual filesystems (VFSs). Many core programs, such as the Nautilus file manager, already rely on GVFS.
Major players in the IT world, including Nokia, Red Hat, Novell, and Sun, already use parts of the modular Gnome [1] architecture or have completely integrated it with their products. For users, this means that programs running on mobile devices, such as the Nokia N800, and on desktops will communicate with each other without any trouble.
Various Freedesktop standards [2] guarantee interoperability with software from outside of the world of Gtk+ or Gnome. D-Bus [3] and HAL [4] are just two examples of what has become an excellent cooperation between Gnome, KDE, and XFCE.
On the other hand, it is surprising that developers keep coming up with new features to add to the desktop despite that some of the components in the Gnome stack are six years old.
One month before the new Gnome release, a group of developers were still fighting about whether the new GVFS library for virtual, network-transparent file systems would be ready on time. In the mailing list [5], various participants in the discussion suggested not including GVFS and instead continuing to use the legacy GnomeVFS. However, this proposal met with powerful resistance from Alexander Larsson, who had been working on the library for more than a year and a half.
Another alternative discussed was of postponing the release of Gnome 2.22, but this was quashed by Ubuntu vendor Canonical, which commented that it would then have to consider releasing Ubuntu 8.04 - the current LTS Release with three years of desktop support - with the legacy Gnome version from Fall 2007 instead of Gnome 2.22.
Improved Details and New Features |
Gnome 2.22 offers new and useful features to many applications:
|
The storm abated fairly quickly when Benjamin Otte, one of the developers behind the free Flash implementation, Swfdec, stepped up to provide the missing GVFS ftp back end. The latter was implemented in a two-week coding marathon [6], just in time for the release.
Despite this, the current version is still without the theme and font back end. The ftp and http(s)/WebDAV implementations are fine for production use, although they are not fully mature.
GVFS mainly comprises two components. GIO is a GLib component that offers an API for GFVS. GVFS also works with existing protocols, such as (s)ftp, ObexFTP, http(s)/WebDAV, SMB, and SSH. Instead of catering to pure Posix I/O Cortes in the past, which caused many problems with GnomeVFS, GVFS can be seen as a very modern interface.
GVFS not only includes read and write methods, but also methods for monitoring and for asynchronous input and output. The background servers that monitored mounted external storage has been around for a while, but the new version has a separate service at each storage location so that one resource crashing will no longer affect other services, which is a good thing for system integrity.
In the past, applications that used toolkits other than Gtk+ to access remote computers caused problems. For the most part, Fuse resolves this issue. For example, you can use SMB or SSH to connect to a media player without any network capabilities on a remote computer and listen to your favorite songs.
Besides popular existing protocols, the developers created new pseudo-protocols. With cdda://, you can access audio tracks on a CD in the form of WAV files. Thanks to gphoto2://, you can read the files on a digital camera that you connect to your computer.
So far, the developers have already ported more than two-thirds of all Gnome applications to GIO/GVFS.
By the time Gnome 2.24 is released in the fall, the developers hope to have completed the migration, which - taking the intuitive API into account - seems realistic.
Above all, the Nautilus file manager benefits from the new abstraction layer and now has a bunch of new features. When copying multiple files, Nautilus combines them into a single dialog that gives the user information on the transmission rate, the transfer volume, and the time remaining to complete copy, as well as the option of canceling copy operations.
One feature that users will probably not notice at first glance is hidden in the Media tab of the Nautilus preferences dialog. The file manager offers a selection of programs for external media, such as CDs or DVDs. For example, when you connect an iPod, Nautilus will launch the Rhythmbox music player.
Nautilus now automatically mounts devices, so what role the Gnome Volume Manager will play in the future is still uncertain.
The file manager now supports the Freedesktop.org Trash can specification [7], which means that both Gnome and KDE will find deleted files.
Besides obligatory bug fixes, the developers have also improved support for Nautilus extensions.
Cheese is a new tool on the Gnome desktop that was created during Google Summer of Code 2007. Designed to help users capture photos and videos with webcams, this tool is appropriately named (Figure 1).
If desired, Cheese will apply all kinds of interesting effects to the recordings. Developers are collecting ideas for the next version, so if you like Cheese and want additional features, be sure to visit the wiki [8].
If you are a frequent traveler, having no option for changing the time might have bugged you in the past. The newly developed date applet provides the option to add times from different time zones at the drop of a hat.
The applet, which was developed by Novell and Red Hat, also lets you select a spot on a world map and see local weather reports (Figure 2).
The current release doesn't make any changes to the panel - the developers have not managed to migrate from the Bonobo-based approach to D-Bus - but little animations on application launch directly from the panel are a step in the right direction.
On top of this, the panel slowly extends into the workspace when you launch the desktop.
Although the Metacity window manager introduced its own Compositing Manager in version 2.14, the developers have not introduced new effects until now. Because of problems with some graphics adapters and drivers, the feature is not currently enabled by default.
With the command
gconftool-2 -s --type bool /apps/metacity/general/compositing_manager true
you can change this to give you the popular transparency and shadow effects, as well as a real-time preview when you press Alt+Tab to toggle through active programs.
The developers have added a bunch of new functions to the Totem media player. The new version has improved DVD support and digital satellite TV reception (DVB).
A YouTube plugin lets users play videos directly in the player, a MythTV plugin lets you control the popular media center, and a Tracker-based search finds local videos.
Changes to the Evolution groupware product have focused on reducing memory consumption (Figure 3). In contrast to earlier versions, the new release consumes far less RAM. At the same time, it comes with improved spam filter mechanisms that work faster and give users more precise results.
In the past, nebulous error dialogs were annoying. Now Evolution displays errors in the status line, putting an end to quirky dialogs. Support for Google Calendar and a separate label for email messages are nice bonuses.
Professional users will benefit from the improved Exchange support, which the developers plan to expand in the coming months.
Besides Cheese, the desktop sports another new program: Vinagre connects you to remote desktops (Figure 4). The program, which relies on the VNC protocol, also locates computers on the local network - with more than a little help from Avahi.
Users can now store sessions like bookmarks in web browsers, grab screenshots, or establish connections to multiple computers.
Entering your password every time isn't necessary - Vinagre will store it in your Gnome keyring.
The cleanup action, which started more than six months ago, is the developers' attempt to make the cluttered control center more intuitive. For example, keyboard and accessibility settings are now grouped in a single dialog (Figure 5).
One point of criticism remains - keyboard shortcuts still occupy a dialog of their own.
Gnome has made important contributions to accessibility, with much work by Sun to ensure that Gnome remains open as a desktop option for users with special needs.
In Gnome 2.20, the Orca screen reader was introduced as a standard component. In collaboration with the Mozilla Foundation, developers have continued to put much work into Firefox 3.
Gnome now has a new configuration dialog, Mouse accessibility, to extend accessibility options continually. The configuration tool helps users with special needs capture the mouse in special areas of the screen, pop up menus by holding down the left button, or simulate specific click variants with mouse gestures.
The cross-platform security system PolicyKit has been introduced to several applications (Figure 6). This can be seen as an attempt by the developers to remove the chaos caused by different approaches to user authentication.
The new system lets the administrator authorize users to update the system or manage the network. The administrator has a tool to define settings for users.
The Gnome System Tools are one of the first programs to rely on PolicyKit. The new version of Gnome System Tools monitors configuration files and immediately displays changes that the administrator makes to files.
DSL users will benefit because the network administration tool now understands PPPoE.
Also, it will help you set up broadband connections via GPRS.
Version 2.20 of Gnome includes the Glade interface designer. The integrated developer environment Anjuta [10] [11] was regarded by some as immature and this caused its integration to be postponed until this spring (Figure 7).
The Gnome IDE has become a convincing performer with all kinds of useful developer tools, such as an integrated debugger, a Valgrind interface, a to-do management, an autotools generator, and CVS/SVN connection.
Besides C/C++, Anjuta now supports Java and Vala [12], which is specially geared for the requirements of the GObject-type system.
Plugins allow users to arbitrarily extend the developer environment.
Despite the six-month release cycle that the developers committed to with the introduction of Gnome 2.0, a bunch of new features and no fewer than four new programs have been introduced to the desktop.
The Gtk+ Hackfest [13], which took place March 14 in Berlin, Germany, has paved the way to the next generation of Gtk+ [14]. The developers agreed that some time will pass before the next major version of the toolkit is released.
The developers are already collecting ideas for Gnome 2.24 [15]. Among other things, they would like to complete the reworked Ekiga [16] VoIP client by mid-September.
Empathy [17], an instant messenger client in the vein of Pidgin [18], did not make the current release, but its developers are working at full speed on integrating it with the Gnome core.
If you would like to see what else you can expect in Gnome 2.4 and 2.6, check out the roadmap online [15], or mingle with the Gnome community on the Gnome project site [19].
THE AUTHOR |
Christian Meyer has been using Linux since the mid-1990s and was on the Gnome Germany board between 2004 and 2006. Whenever Christian takes a break from studying for his exams, he either plays Badminton or researches new technologies in the world of Linux. |