/var/opinion

Plug This in Your Pipe and Smoke It

Nicholas Petreley

Issue #152, December 2006

Configurability and extensibility are defining attributes in software appeal.

If you gestalt the Editors' Choice Awards, you should discover an interesting pattern. There were a number of software winners that beat out the competition specifically because you can extend the application to suit your personal tastes.

Firefox had this category sewn up, even if other editors hadn't expressed their desire to see Firefox get Editors' Choice. But those who defined their reasons for choosing Firefox emphasized how easy it is to extend and customize it.

Thunderbird was my first choice for the win, but I might not have gone with Thunderbird if it wasn't for the fact that the only other votes I received from other editors regarding e-mail clients were in favor of Thunderbird. This time, nobody specifically stated that they liked Thunderbird because of the extensions, but I suspect that was a factor. It is certainly the main reason why I use Thunderbird when I'm not using Mutt.

Take Eclipse as another example. There is a huge repository of plugins for the Eclipse integrated development environment (IDE). You can customize it to be a great Java development platform, C++ development platform, PHP development platform or whatever else you want it to be. This is undoubtedly why it has become the favorite IDE among professional Linux developers, according to Evans Data Corporation.

KDevelop is yet another shining example, even though it lost out to Eclipse in the category of development tools. It not only lets me customize it for different languages, but also it automatically places multiple startup configurations in the KDE menu. I can start KDevelop as a C/C++ IDE, Ruby IDE or multilanguage IDE. I don't know if this is unique to Ubuntu/Kubuntu or if this is how KDevelop installs on other distributions, but I like it.

Then there's AbiWord. AbiWord wouldn't have had a chance against the competition for Editors' Choice if it wasn't for the fact that there are so many good plugins available.

Forgetting Editors' Choice for a moment, Jedit is my personal favorite editor because I can add the features and usability enhancements that I find most appealing. I use about a dozen of the many plugins available for Jedit to customize the editor to suit exactly my tastes and needs.

I also use the Google custom home page. I like the huge assortment of gadgets and feeds from which to choose, and how you can drag them around the page and drop them where you want them. Yahoo has the same kind of customizable page. Those of us who like this sort of thing can't be in the minority. Microsoft figures that the fact that it failed to offer a customizable page is one reason why it can't catch up to Yahoo or Google in the search game. So Microsoft created a customizable home page for www.live.com with a twist: tabbed pages. Google responded by adding tabs as a feature for its custom home pages.

My apologies to anyone who is tired of the GNOME vs. KDE debate, but I believe this is where GNOME went wrong. Before you mail that flame, let me bring you up to date a little. I've been giving GNOME yet another chance, and this time I actually like it. I like it quite a bit, especially the way Ubuntu preconfigures GNOME. If I end up going back to KDE, it won't be a matter of fleeing back to KDE as in the past. It will finally be a simple matter of preference, not the conclusion that GNOME is so broken as to make it unusable.

However, one of the things I still don't like about GNOME is how difficult it is to customize its look and behavior to my heart's content. Given the above, it's clear most people don't want things to just work, they want things to just work their way. GNOME isn't totally inflexible by any means. It lets me customize a lot, to its credit. But there are places where it is needlessly restrictive. I've been able to find ways to work around GNOME's design to get it to work my way (for the most part, anyway), thanks to some guidance from readers. But when you have to use the gconf-editor, edit files or install non-GNOME utilities to get what you want, it is obvious that this level of customization runs contrary to the design philosophy of GNOME. GNOME developers need to take a cue from Microsoft and realize how important users consider personalization and that users want the process to be as easy as possible.

People's preferences can differ greatly. One editor who gushed about how easy it is to extend Firefox to suit one's own needs named as his favorites a number of extensions that I didn't know exist. I don't want the extensions he uses, and I'm glad they don't take up space on my workstation.

I predicted long ago that software would end up this way, although at the time I thought it would take the form of networked components instead of downloadable plugins. Nevertheless, it's the right way to go, and I'm glad to see that open-source projects blazed this trail.

Nicholas Petreley is Editor in Chief of Linux Journal and a former programmer, teacher, analyst and consultant who has been working with and writing about Linux for more than ten years.