Gnome Prospects

Currently everyone is discussing how to handle the stagnation inside the Gnome Project and whether the break into GTK3 is really needed.

Now I want to show that there actually is a lot of progress and the only thing we have to do is see it.

GTK 3

As of the current plan GTK3 shall basically be a stripped down version of GTK2, which aquired a lot of garbage over the years. This consists of obsolete Widgets and directly accessible data, which is still being carried because there is a promise not to break the API/ ABI during a major version.

The refutation is that we should not do a major version bumb without gaining new features and that there should not be a cleaning up for the sake of it.

My position to that is, that how the API looks actually is a feature of an toolkit and if we want new shiny applications our API has to be clean and easy to use and basically the people complaining about GTK3 are not the same people who are going to implement it, so there is a good chance that we will get the GTK3 as described above.

PyGTK

Gnome is written in C – a very simple language not designed to be used for desktop programming. That is why Gnome people had do add a patchy framework on top of it which makes write applications both hard to understand and hard to maintain. Luckily PyGTK provides language bindings for Python a clean and powerful language which makes developing desktop applications both easy and fast.

On a sidenote; python is just doing the cleaning up step to version 3.0 without all the whining going on.

Pulseaudio

Currently if you plug and unplug an USB headset and expect that when you plug it in your external boxes are going to mute and that you can hear the currently playing music thorugh the headset, youre are going to be disappointed; neither of these things is going to happen. The music will be kept playing thorught the boxes.

This is because the sound system on linux is very primitive; the applications write directly to the soundcard only if two applications want to access the soundcard at the same time a simple mixer is available.

Pulseaudio is a sound server which will put an indirection above that. Applications will call pulseaudio and it will then decide where to direct it to. The destination might be one of several sound cards or even a remote computer. This allows you among other cool things hot plugging of audio devices which is needed in the simple example above.

Avant Window Navigator

one place where Gnome really failed to go with the time is the way the applications are being launched. Basically we are still using the same concept we used in the very early days of Gnome; there is a drop down menu to find the application and you can place some of the launchers on the panel as a shortcut. Later the notification area was added, because more and more applications provided background services like Instant Messaging, Networking and Indexing your Data.

But seen as a whole this is a very poor concept, since it forces one to seperate between running and not running applications; if the application is running you have to either look for it in the notification-area or in the task-bar or in both. If the application is not running you have to launch it using the drop-down menu or the launcher on the panel. Fornunately apple made some thoughts about it and came up with the “Dock”; basically it is using one application icon to combine all the three functions; if the application is not running it will launch it, if it is running it will bring it into foreground and if it is a service you can see its state there.

It is even more fortunate that this idea has been stolen and brought to linux by the Avant Window Navigator. But sadly nobody seems to care of pushing it into Gnome or even integrating it properly with Gnome.

Mozilla

although Mozilla showed with the awsome release of firefox3 that they are willing to integrate with Gnome, Gnome still has to show that it wants to integrate with Mozilla; currently Gnome just ignores the Thunderbird Adressbook or the Sunbird Calendar.

Supporting both would give Gnome a complete PIM suite which can easily outperform the dated Evolution.

As you can see there is enough work to be done without even coming close to the limits of underlying technology.

Leave a Reply