Making Gnome Fun

by Miguel de Icaza

Like everyone else, I have been thinking about Edd's blog entry as well as the follow up from Mikael.

My feeling is that the Gnome Desktop itself is fairly complete at this point and that is why we have seen people invest less into the actual infrastructure on the desktop and a lot more on getting things right. Am personally very happy with the incremental goodies in Gnome 2.10, it continues to be a pleasant upgrade every time and it is a good direction to polish and improve while some of the fundamental components of the desktop are sorted out.

In my opinion infrastructural hacking can be fun and its important, but the easy stuff is done, and the more complex issues can take years to get to the point of being fully baked and wildly deployed.

This is why casul developers or those who do not happen to be working for companies that can do multi-year commitments of work on a single direction have turned their attention to create independent applications in Mono or Python. The activity in GnomeFiles is a proof of this. As it happened in the past, a lot of the new Gnome-based and related developments and activities are happening outside realms of Gnome. It would not hurt to create bridges to these projects.

There are important pieces of the desktop that will bring considerable upgrades to our developer offering: Cairo, the new vector-based Gtk+ toolkit, GStreamer, The GL-based X server, Luminocity and D-Bus to name a few.

But these technologies will take a few years to be completely baked. Cairo has been under development for almost three years and D-Bus under development for two and none of them are available yet in 1.0 form. And once they are ready, it will take sometime before these technologies are wildly available.

In the meantime, there are a number of easy things that we can do to improve Gnome:

  • Desktop Improvements: both Windows and OSX have raised the bar in terms of what users expect from a desktop.
    Photo management, video editing and audio production are no longer vertical applications, this is a standard feature that every OS needs.
  • System Configuration: the Gnome System Tools have finally made it into a real distribution (Ubuntu), and its architecture is useful for both large-scale management as well as creating multiple front-ends (GUI, Console and Web).
    We should do a push to expand the scope of these tools and bring or port existing configuration tools from other systems.
  • Keep up: OSX just came out and it has a bunch of new and interesting ideas. We do not need to start with the huge pieces of OSX, we can start with the small increments, very much like we have done in the past to bring the best in them.
    We have also quite a few bugs open in Bugzilla that could use some help.
  • Evince: Probably one of the most important efforts in Gnome right now. What they have achieved so far is great, but it needs to keep up with Apple and Adobe's offerings to be a full replacement.
  • Web applets: Like every other user out there, I want to get the OSX dashboard widgets into my desktop. It should not be hard to modify Mozilla to provide the same functionality and even be source compatible. The core is there already.
    Probably the most important element of Apple's Dashboard is the fact that it basically runs full-screen: so there is no need to write small controls or make them tiny or try to get creative about showing them or hiding them. Its basically a full new screen where you can use the space effectively.

We continue to maintain Evolution but we have also branched and started a few new desktop projects, this time built with Mono and Gtk#: a new GUI designer for Gtk+ (Stetic), a personal photo management application (F-Spot), disconnected file sharing (iFolder), desktop search (Beagle) all pieces that we consider important for the desktop.

I believe these components (and more) should be part of a standard desktop offering. Whether they become part of the standard Gnome offering remains a political issue, but at least Novell, Mandriva, Debian and Ubuntu are making these available in one form or another (wink, wink).

In my opinion, Mono is in a strong position since it provides the same libraries that have been developed for C# developers to be consumed by other languages (of particular interest are Boo and the renewed IronPython) and because it has opened the doors to the Windows developers which are now starting to get their feet wet on Linux, Open Source, Gtk and Gnome.

Posted on 02 May 2005