A look at the Gnome 2.14 desktop environment

Blue Footprints


New features and a leaner, faster, prettier desktop. Are you ready for the latest Gnome?

By Christian Meyer

Gnome Version 2.14 brings the famous Gnu desktop back to its traditional motto of "less is more." Completely new usability concepts currently distinguish Gnome from its competitors. And the Gnome developers have put a lot of work into improving resource consumption for this latest release.

Full Speed Ahead

Gnome 2.14 benefits from the work that went into the version 2.10 performance project. The developers have consistently removed bottlenecks and introduced more intelligent algorithms. The most prominent example is the Gnome terminal / Vte pairing, which has become one of the fastest terminal emulations on Linux. And other core components, including the Nautilus file browser, all benefit from the performance boost.

Gnome co-founder Federico Mena-Quintero analyzed the launch time for Nautilus and other components involved in the process [1], while Nautilus developer Alexander Larsson discovered other bottlenecks [2]. The current version of the Gnome file manager removes various issues that the investigations revealed, and the Gnome developers will be tackling more problems in the coming weeks.

One of the more obvious changes to Nautilus is the integrated search feature. The Beagle desktop search engine [3] provides the basic framework. Beagle assumes a working Mono framework, which most distributions now have. Users have the ability to store searches and rerun them later. The results are displayed as virtual folders for simpler navigiation.

Figure 1: Gnome 2.14 provides enhanced search capabilities.

The HIG modifications [4] to various Nautilus dialogs contribute to Gnome's uniform look and feel. The desktop now supports auto-completion throughout, a feature that was only supported in the file browser dialog previously. To go to a file, users can simply type the first few letters in the filename.


HIG: Short for Human Interface Guidelines. Gnome HIG defines which properties an application must possess to integrate seamlessly with the Gnome desktop. The guidelines cover look and feel, usability, and accessibility.
STUN: Simple Traversal of UDP over NAT. A simple network protocol that detects and works around firewalls and NAT routers. The STUN protocol is designed to support uncomplicated use of devices (or programs) on home networks.
CalDAV: Protocol standard draft designed to support calendar data access via WebDAV.

Simple Help

Just like Nautilus, the Yelp help browser includes Beagle-based searching. The tool can handle requests in a very responsive way because the help files are Beagle indexed. And at long last Yelp now has a print function, something that earlier versions sorely lacked. Add to this the fact that the help browser can how handle info pages and manpages.

Phoning Home

Thus far, Gnome users who wanted to use their computers as softphones had no genuine alternative to Skype. Unfortunately, Skype is a proprietary application and doesn't integrate very well with Gnome.

Enter Ekiga, the tool formerly known as GnomeMeeting. It uses STUN [5] to detect your firewall and automatically modifies its own configuration. This removes the need for time-consuming manual modification of the firewall settings. Ekiga still supports the H.323 protocol (NetMeeting) and can add contacts to an Evolution address book or an LDAP directory.

Figure 2: Ekiga is the tool formerly known as GnomeMeeting.

Boundless Editing

If you find Vi(m), Emacs and other traditional Linux text editors too difficult, you might try GEdit. For more than a year, the developers have been working hard on making the editor more user-friendly, more powerful, and more easily extensible. Now, finally, users can store files on remote machines - previously users had to store files locally and manually copy to the remote machine. GEdit now also has a powerful extension framework. In typical Gnome style, Python and C are the supported languages.

New plugins remove blanks at end-of-line, compile source code in any programming language, or provide tab completion. Of course, GEdit detects document modifications, in cases where a document has been modified by another program. The print preview no longer needs to open a separate dialog but displays in the current dialog instead. In a similar manner to Vi(m) or Emacs, GEdit now supports searching with syntax highlighting. Also, GEdit will warn you if you open the same document multiple times.

Improved Viewer

The Eye of Gnome (Eog) and Evince viewers have been improved with respect to usability, shorter launch time, and quicker processing of files and functions. Additionally, Eog now has more simple navigation through image collections. Evince now sports faster displaying of PDF and PS files, along with thumbnails in the sidebar. And searching in documents is far less complex.

Epiphany and Evolution

The developers have ditched much of the ballast weighing down the Epiphany web browser, thus considerably reducing the loading time for HTML pages, meaning that users can do without a parallel Mozilla or Firefox installation. Epiphany now accesses XULRunner [7], the Mozilla/Firefox kernel, directly. The browser now draws on the network manager package to automatically detect the network status (online/offline) - a big advantage for laptop users. Intelligent bookmarks are another neat feature with the new version. Epiphany does not organize bookmarks in a tree structure like other web browsers, but thematically. A bookmark can belong to multiple topics, and this is why Epiphany warns you if you try to create duplicate bookmarks for the same address.

The developers have had a close look at Evolution launch times, and this is not trivial task with a codebase of more than half a million lines. The code has obviously been optimized to reduce delays on program launch, but there is still a lot of work to do. The next release promises a more efficient Evolution that is even easier to use.

The Gnome developers have added the support for the CalDAV calendar data access standard promised six months ago to the Evolution groupware client, allowing the client to cooperate with various groupware servers, including the free Hula [8] server. Additionally, the latest version of Evolution supports memo entries (VJOURNAL) in iCal files.

Figure 3: Gnome's Evolution groupware client includes improvements to the calendar system.

Desktop Control

The latest version of the Gnome Control Center sees a number of small, but important extensions. The Preferred Applications configuration dialog gives users a clearer approach to setting their web browser, email client, and terminal program options. This also applies to the Sound Preferences, which give users more granular control over the sounds to play when specific events occur.

Some distributors give users a second setup utility besides the Control Center to help make the most of energy saving functions on a laptop. Power Preferences gives users options previously restricted to Windows or Mac OS X, such as dimming the screen when not in use. In the future, the program will be looking to add more functionality. HAL [6] provides a useful basis for tweaking the system to the max no matter what kind of hardware you have.

Instead of XScreensaver, which Gnome previously used to configure the screensaver, the desktop now has the Gnome Screensaver. You can tell the program is at an early stage of development, though, as it only has three options:

The "Fast User-Switcher Applet," alias FUSA, supports fast switching between user accounts, a feature that many users are familiar with from Windows and Mac OS X. FUSA can optionally log on a user in an XNest window. If you try to change to an account that is already logged on, the system will warn you and offer to quit the attempt. FUSA integrates seamlessly with Gnome and can be controlled via the Gnome panel.

The applet also supports user management; it can configure the login screen and modify credentials.

Metacity

Gnome's standard window manager, Metacity, has been through a few changes in Gnome 2.14 including edge resistance, that is, the desktop edges attract windows in the vicinity, making it easier to align applications on the desktop. The window manager tags windows on remote machines with a label in the title bar.

Besides this, the developers have further extended multi-monitor support. Dialogs from third party toolkits no longer appear in the center (that is split across two screens), but decide on one screen, without users needing to enable the X server Xinerama extension.

The new version also aims to revitalize the dormant compositing manager and add new features. This gives Metacity everything it needs to support new gimmicks such as wobbly, transparent, or fading windows. Check out Fedora Core 5, which has an X server [9] to match, for a first impression of the new tricks Metacity has up its sleeves.

GStreamer - Fat Sound

The move to the new version of GStreamer has numerous positive side-effects. The quasi-standard among multimedia frameworks for Linux is now ready for production use. GStreamer is more stable and faster than previous versions, offering far better audio and video synchronization. Plugins are loaded dynamically, and threading has been drastically improved.

Audio formats such as Ogg, Flac or WAV, and videos in any kind of encoding, are (more or less) no problem for GStreamer now. Assuming the matching - non-free plugin support, GStreamer will also play MP3s and DVDs, including subtitles. Players such as Totem or Rhythmbox have supported a choice between Xine and GStreamer for quite awhile now. This removes the need to install Xine or other libraries, unless you have very exotic audio/video files on your disk.

Deskbar

The completely new Deskbar applet gives users the ability to launch programs, open files, and search for documents on disk, or keywords on the Internet, with a single click. For email, just type the target email address in the input box to pop up the Evolution Send dialog.

Thanks to Deskbar, users do not need to know the name of the program they want to launch. For example, a user can enter "wordproc," and Deskbar will suggest AbiWord, OOWriter, or other word processing tools. Pressing [Alt]+[F3] focuses the input box. While the user is typing, Deskbar will suggest suitable items in a dropdown list. A history function lists commonly used commands and can be cleared if needed. In addition to this, the Deskbar integrates the Beagle desktop search engine for live keyword-based searching.

Deskbar is a Python program that supports fast plugin development. At this time of writing, 15 plugins are available, but you can look forward to more in the near future.

News for Administrators

Many enterprises are still wary of deploying Linux on the desktop. One major reason for this is the lack of a central, policy-based desktop configuration tool. Enter Sabayon (Figure 4), a Red Hat development. Administrators can create or modify profiles for users and groups in an embedded window, and deploy policies on desktops across the network.

Figure 4: Sabayon is Gnome's new profile-based desktop configuration tool.

Pessulus, a Python program (Figure 5), covers similar tasks and is particularly interesting for companies or Internet cafes looking to restrict the desktop to the bare minimum.

Figure 5: Pessulus lets system admins block desktop options.

Figure 6: Gnome 2.14 supports a new generation of OpenGL-based visual tricks.

Future: Gnome 2.16

After the release is before the release: the developers are currently working on Gnome 2.16, which is likely to appear in mid-September. It is still not quite clear which features and programs the new release will have, but we can still summarize some of the probable highlights.

Gnome 2.16 will be based on GTK+ 2.10, which integrates a number of its own libraries (more specifically, the printer API), removing the restriction to Gnome applications that support libgnomeprint, and opening up printing to any application. Cairo 1.2, one of the cornerstones of GTK+, promises to speed up the desktop even more, and to support 3D effects. Metacity is the perfect platform for this: you can see for yourself by trying out a Demo CD from [11]. The Gnome Live! Wiki at [12] has up-to-date information on future Gnome desktop developments.

INFO
[1] Nautilus launch time analysis: http://primates.ximian.com/~federico/news-2006-03.html#login-time-1
[2] More analyses: http://blogs.gnome.org/portal/alexl
[3] Beagle: http://www.beagle-project.org
[4] Human Interface Guideline: http://developer.gnome.org/projects/gup/hig/
[5] STUN: http://www.ietf.org/rfc/rfc3489.txt
[6] Hardware Abstraction Layer: http://freedesktop.org/wiki/Software_2fhal
[7] Information on XULRunner: http://developer.mozilla.org/en/docs/XULRunner
[8] Hula project: http://www.hula-project.org/
[9] Information on AIGLX: http://fedoraproject.org/wiki/RenderingProject/aiglx
[10] Information on Xgl: http://www.novell.com/linux/xglrelease/
[11] Kororaa LiveCD: http://kororaa.org/
[12] Gnome Roadmap: http://live.gnome.org/RoadMap
THE AUTHOR

Christian Meyer has been keeping busy with Gnome for six years now, and is the Chairperson of Gnome Deutschland e.V (a German non-profit organization) which was founded in 2004. You can contact Christian at chrisime@gnome.org.