Only a few days ago, we ran an article on the future of KDE and GNOME, and which of the two had the brighter future based on their developmental processes. Barely has that discussion ended, or the GNOME engineering team comes with a pretty daunting plan to introduce a fairly massive reworking of the GNOME interface for GNOME 3.0 (2.30). Read on for the details.

The proposed plan encompasses quite a few aspects of the GNOME platform, but the most user-visible one is of course the reworking of the interface, thanks to a project called GNOME Shell, developed by Red Hat employee Owen Taylor. It’s more than just a replacement for the window manager and panel, though.

The two big parts of GNOME Shell are the panel and “overlay”. The panel is pretty much self-explanatory. It sits at the top of the screen, and houses the activities button (which activates the overlay) and the system tray, user name, and clock stuff. The overlay is a bit difficult to put into words, so I think pointing you to the screenshot is a much better idea. What you are seeing on the left is the sidebar, which displays most recently opened applications and documents, but of course you can also use the search field to locate your applications and files. On the right, you see your desktops, so you can organise your applications and desktops.

Obviously, GNOME Shell supplements the user interface with subtle effects and animations, all written in JavaScript and Clutter (it uses a special MetaCity branch for now, but will fork the MetaCity code later on). Owen Taylor also wrote an email detailing the future of GNOME Shell and MetaCity.

There’s more to this plan than just the interface. Another major pillar of GNOME 3.0 would be Zeitgeist, a new approach to managing and finding files by using tags, bookmarks, and timelines (an .ogv video shows off how it works).

There is a big advantage to working with GNOME Shell and Zeitgeist: both have already been in development for a while, and already have working code and have seen lots of development. This means that GNOME 3.0 will be less about “starting”, and more about “finishing”.

The GNOME foundation will also be cleaned up and streamlined. What this means is that deprecated libraries will be removed from the platform, so that people will stop coding against them. They will also “create a staging area in the platform for libraries that aim to be in our platform but do not offer enough guarantees at the moment (like GStreamer): this will send a clear message on what should be used”. Other aspects include more focus on new technologies (like Clutter) and more clarity on what external dependencies should be used. Applications will have to be adapted for these changes, of course.

The GNOME team is currently not sure yet whether or not to include the “old” MetaCity/panel in GNOME 3.0. It would make sense to do so to make the transition an easier one, but it might also hinder adoption of the new technologies and ideas.

I’m glad that the GNOME community finally decided on a good roadmap for the future. It’s also clear that they have chosen a very practical approach, by focussing on technologies that are already in heavy development, with code available, which gives the plan a major headstart. It’s also good to see they aren’t just copying the competition, but have clearly chosen a path of their own, one that seems to fit within the current GNOME ideology.