There's been a lot of hype in the past few months about new developments within the GNOME community -- most of which saw the light of day this past week at GUADEC, the GNOME Users and Developers European Conference held in Paris, France. GUADEC was a rare opportunity for GNOME's widely scattered group of developers to listen to talks by GNOME's core group of developers, to meet one another in person for the first time and, of course, to hack.
Held at Ecole Nationale Supérieure des Télécommunications (ENST) and organized by Mathieu Lacage, GUADEC was the first time in three years that GNOME's core developers have been in the same place, at the same time.
The conference gave developers an opportunity to talk to the masses about what they've been working on, and about where GNOME is headed this year. GUADEC, as its name implies, just wasn't for developers, though that seemed to be the primary audience during the three-day event. The primary thrust of the conference was how to make GNOME (and for that matter, Linux) more usable -- whether it was the GNOME Desktop in general, or updates or new applications on the horizon, the conference had something for everyone.
Thursday consisted of concurrent talks on:
Just to name a few.
Since some of these discussions were concurrent, I was only able to choose a couple to sit in on. I did try to get into the room for the Gnumeric talk, but the room was SRO and there was a line out the door trying desperately to listen to what was being said. With any luck, the presentations will be posted on the GUADEC site so we can all see what we missed (take that as a hint).
Friday morning started out with a four or five hour hacking session, where developers teamed up and worked together on various projects and shared ideas. This was a great opportunity to learn more about what people have been working on in the wings. Following that, most broke for lunch while others prepared for an afternoon of project announcements and update reports for GNOME.
GNOME's founder, Miguel de Icaza (now of Cambridge, Massachusetts-based Helix Code), announced three new releases of GNOME this year:
(Miguel doesn't like to issue version numbers; instead, he opts to name them after the month in which they are released, hence last Fall's October GNOME.)
Here's a brief rundown of what we can expect to see in these releases:
gdk-pixbuflibrary as a stable element of the GNOME 1.0 desktop (
imlibas GNOME's image library).
gnome-libs. (See below for more about Pango.)
For additional information, or to follow GNOME's evolution, check out the GNOME Roadmap on the GNOME Developers site.
Helix Code also released Preview One of Helix GNOME, a version of the GNOME Desktop. The CD (which was handed out with "beanie" bonobo's bearing T-shirts with the Helix Code logo), includes the most recent version of the GNOME desktop from the CVS source tree, and GNOME-based apps, including the latest version of Gnumeric, a diagram drawing application called Dia, and a beta release of Evolution, think groupware user tools for Linux.
Soon after acquiring an adapter for my laptop (which for me was an entertaining experience as a monolingual, typical American), I sat down to install Helix GNOME. The disc contains over 80 packages including applications, developer tools, and source code, which you can pick and choose from in a graphical install (which of course means your box needs to be running X). The pre-release of Helix GNOME supports the following distributions:
One thing that I noticed while installing Helix GNOME was the option to install the desktop from either the CD or from files on Helix Code's FTP site. This, of course, got the gears turning, so when I rebooted Linux, I tried to see if there was some sort of update feature available from the GNOME Panel, and sure enough, it was there. The Helix GNOME Updater allows you to download and install packages over the Internet. When logged in as root, go to the GNOME Panel and follow the path
System > Helix GNOME Update. You'll see a window to download packages from one of six sites:
Next, you'll see a window giving you options to download and install "Essential," "Suggested," and "Minor" Updates for GNOME. Just select the packages you want or need and they'll be downloaded and installed from the site you've selected -- it's that easy.
If you weren't at the show and want a copy of Helix GNOME, you can download it from Helix Code's web site, or send e-mail to Helix Code to inquire about obtaining a copy of Helix GNOME on CD.
Owen Taylor and Tim Janik, key developers for GTK, gave a presentation on the next version of GTK+, set to be released with November GNOME. GTK 1.4 will include better support for internationalization, port integration, improved drawing capabilities, an object system, and new widgets. The most impressive part of their presentation was the discussion on Pango (the result of the GScript and GnomeText merger), which uses Unicode for consistent encoding for internationalization, even permitting the use of different languages. Pango allows for bidirectional text for languages such as Hebrew and Arabic, which are written from right to left, as well as for instances where you might need to mix right/left text with left/right text.
Other improvements developers can expect to see in GTK 1.4 include:
According to Owen, a preview release of GTK 1.4 should "be coming soon," but no date has been set.
Bonobo is a component system (think COM) which allows for compound documents, controls, smaller programs, and program modularity. Gnumeric, Evolution, and Nautilus rely heavily on Bonobo as its component infrastructure.
Bonobo interfaces are wrapped into GTK-based wrappers, which make it easy to write a new component, easy to use an existing component, and easy to extend a component's functionality. Bonobo interfaces are sockets that other components and applications can plug into, and are based on the CORBA 2.2. The interfaces are all based on the
Bonobo::Unknown interface, providing two basic services: object lifetime management and object functionality-discovery. To keep things simple, the Bonobo interface only uses three methods:
Some sample scenarios where Bonobo would be used include:
Bonobo is currently at v0.8, and v1.0 is expected to be released within the next four months. Bonobo is the backbone for new applications being developed for GNOME. For example, the entire system for Evolution is built using Bonobo components; others include:
To learn more about Bonobo, read Miguel's Abstract on Bonobo, located on the Helix Code web site. Bonobo will undoubtedly shape the way future GNOME applications are developed.
Out of all of the presentations given on Friday afternoon, none was more anticipated than Andy Hertzfeld's (Eazel's software wizard) first public demo of Nautilus. Actually, Andy's presentation wasn't supposed to be until after Michael Meeks' talk on Bonobo, but when Michael's machine failed, and the overhead projector was connected to Andy's machine, a round of ooh's and ah's could be heard from the crowd as Nautilus was finally unveiled.
Nautilus will replace GMC as the general-purpose shell for viewing the Linux filesystem, and will be introduced with August GNOME. (Nautilus is available in beta on the GNOME public CVS tree.)
Andy's demo of Nautilus showed GUADEC attendees an overview of what will be the new GNOME shell. The new interface includes sizeable views of the filesystem, using plus and minus buttons to increase or decrease the icon size for directories and files. When viewing the contents of a directory, files are represented by their the file type and directories are represented by folders. For example, JPEG image files would show a thumbnail of the image as its icon and text files would show bits of the file's actual text, rather than using a generic icon. Clicking on the plus or minus buttons would increase or decrease the size of the icons and the amount of information they reveal. At the default level, a text file might just display its name and file size in bytes with a minimal amount of detail in the icon. However, increasing the viewing size would add more detail about the file (including its permissions) and the text inside. Double-clicking the text file would open it up within the shell.
Nautilus also uses metadata from files so users can control the way things are seen. For example, Andy went to a directory on his system where he had stored some Bob Dylan MP3s. An image file for the cover of a Bob Dylan album replaced the generic folder for directory icon, and inside were the MP3s. By viewing the files' metadata, Nautilus created a scrolling list of the MP3s, and by double-clicking on one of them, Andy was able to launch an MP3 player. This ease-of-use interface has limitless possibilities, and will surely evolve more over the next few months, but this was an impressive display of its capabilities.
Eazel plans to add the ability to set user levels in Nautilus to determine what the user is able to do and see on the system. The four levels Andy previewed were:
Another feature of Nautilus that Andy demonstrated was the ability to set colors for directory backgrounds, accomplished by simply dragging a color from the color selector to the directory display. Dragging another color and dropping it inside one of the window's edges (top, bottom, left or right) creates a gradient color, beginning with that color and transitioning to the previous color.
So what's next for Eazel and the GNOME desktop? Andy says they have plans for:
Eazel also has other plans for their business model, including a subscriber package that will allow users an easier way to upgrade and install applications on their Linux system. Though none of these details were revealed at the conference, it will be interesting to see what impact Eazel will have on making Linux easier to use. If Eazel can make Linux more user-friendly, businesses will have no reason to be tied to Windows or Macs for desktop systems.
Conference organizer Mathieu Lacage held an ad hoc presentation on Friday morning to talk about the need to form The GNOME Foundation, which would consist of an international headquarters for GNOME with chapters in each country run by GNOME developers. Representatives from each country would be responsible for fielding questions from the press regarding GNOME, and for helping to organize a network of developers in their country to help tackle much-needed issues like internationalization of the GNOME Desktop.
Short-erm needs of the fundation include:
If you're interested in learning more about The GNOME Foundation or want more information on how to join the list of developers for your country, contact Mathieu Lacage, or join the GNOME Developers list.
GUADEC was a well-organized conference that brought together all of the key individuals in the GNOME community. It was good to see everyone working on various things during the hacking sessions on Friday and Saturday. In listening to some of the side chatter, it seemed that some people were uncomfortable with the commercialization of GNOME brought on by Eazel and Helix Code, but as a Linux user, this doesn't bother me that much.
It's good to see these companies helping to make the Linux desktop more accessible for users. Their efforts will make it easier for newbies to use Linux, and will give businesses more reasons to move away from traditional desktop operating systems. As Linux moves deeper into mainstream use, Eazel and Helix Code will surely help to foster further development, providing jobs for GNOME hackers, and ultimately making Linux what we all know it to be -- the best free operating system out there.
Chuck Toporek is an Associate Editor in the Open Source Editorial Group at O'Reilly & Associates, Inc. When he's not working on books for O'Reilly, he can be found tormenting his cat, playing Marathon or Quake, and reading up on GNOME and other developments for Linux. Chuck is also the co-author of Hydrocephalus: A Guide for Patients, Families and Friends and board member for the Hydrocephalus Association. He can be reached at firstname.lastname@example.org.
Copyright © 2009 O'Reilly Media, Inc.