Back to the Future with GNOME Shell Extensions

Off the Beat: Bruce Byfield's Blog

Dec 02, 2011 GMT

Bruce Byfield

When GNOME 3 was released, the marketing material emphasized how the new interface was uncluttered and contained nothing that users didn't need. In effect, the advertising copy was a repudiation of everything that the GNOME 2 series had become after seventeen incremental releases in nine years.

A praiseworthy cleanup, you might imagine. So why are most of the extensions for GNOME 3 designed to put the clutter back, and make GNOME 3 look and act more like GNOME 2?

Not all the extensions coming out have that intention. You can find several extensions for Zeitgeist, the combination calendar and file manager. There is also the usual array of minor enhancements, such as windowsNavigator, which enables keyboard selection in overlay mode, and xrandr-indicator for configuring monitors -- both welcome enhancements, but neither of which greatly affects how users work.

But these minor extensions can be almost lost in the horde of those intent on taking GNOME back to the future. On the official extensions page, there's examples like alternate-tab (described as letting "you use classic Alt-Tab") and auto-move-windows (for taking control of workspaces back from GNOME). Then there's the Frippery Move Clock, which repositions the clock where it was in GNOME 2, the Frippery Applications Menu, which replaces the Activity button with a classic menu, and the Frippery Bottom Panel, which adds the second panel that many distributions favored in GNOME 2.

Don't forget, either, the Mint GNOME Shell Extensions (MGSE), one of the major attractions in Linux Mint 12. Installed by default, MGSE installs a dozen extensions listed in GNOME Tweak, all of which make GNOME 3 look and act more like GNOME 2. The only features missing are applets for the panel and application launchers on the desktop, and those might be added any day now.

In other words, after the two years planning and coding required to produce GNOME 3 by the official development team, others are working to undo all that and make things the way they were.

Take a step back, and what's happening sounds bizarre. You might almost think that we are watching some old silent comedy, with one group building up and another tearing down, both as fast as they can. Yet, in the world of free software, where everyone is free to scratch their own itch, nobody apparently notices the pattern of interaction -- at least in public.

So what, exactly, is happening? I can only guess at the answer.

And the calendar fades all barricades to a pale compromise

From one angle, the back to the future extensions are just the community acting as normal. Someone wants a feature, or knows that a lot of other people want one, so they build it. Nothing unusual there, you might say.

But extensions like the ones in MGSE are emerging after eight months of complaints about GNOME 3. In this time, so far as I can determine, GNOME has never officially acknowledged the complaints. Instead, it released GNOME 3.2, which improved the first release in minor ways, but could be taken taken as a signal that the project had no intention of letting the complaints affect the design. These circumstances have produced a user revolt that makes the one against the KDE 4.0 series in 1998 look like a few sharp words over cocktails.

Against this background, these extensions could look like a natural development of the user revolt. If GNOME won't do anything to modify or even acknowledge discontent, then perhaps other coders have decided to take matters into their own hands, in the do-it-yourself spirit of the community.

The only trouble with this perspective is that the GNOME itself is now hosting an extensions page. This could simply mean that GNOME developers who are working on projects other than GNOME-Shell, the project that most shapes the desktop, are as unsatisfied as other users. After all, not everyone agrees in a project as large as GNOME.

However, in the absence of any official word, I wonder if GNOME has found a way to quiet the user revolt without ever admitting it existed, much less issuing an apology, acknowledging any obligation to general users, or admitting that much of GNOME 3 was a mistake.

With another extension or two, all distributions will have to do is ship with a number of extensions loaded into GNOME Tweak, and everyone can have the desktop environment they want, regardless of whether they prefer GNOME 2 or 3, or something in-between. And, best of all, nobody loses face or has to back down.

This is the possibility that Linus Torvalds suggested when he posted yesterday on Google+.

"Hey," he wrote, "with gnome-tweak-tool and the dock extension, gnome-3.2 is starting to look almost usable. Now I just hope those things become part of the standard gnome shell setup and made available in the regular 'system config' thing rather than hidden off. Sure, make them default to off if you want that "clean default", but make them easy to find and part of the standard install. Or would that be too close to 'OK, we admit we were wrong' and thus not politically acceptable?"

No question: These extensions could mark the end of the discontent over the last two releases of GNOME, and let everyone move on to more important battles, such as writing new applications. Still, I wish a more direct solution had been found, so that no effort was spent restoring functionality instead of on extending it.