Interface Elegance

OSDir discusses interface elegance in Open Source software and the philosophy needed to achieve that elegance. Saying “No” is the most important thing a maintainer can do to keep his UI usable. Adding in everything that users request leads to an unusable, inelegant interface that nobody really enjoys. The most important place to say no is with preferences. The problem of preference proliferation was well addressed by Havoc Pennington during the design discussions for GNOME 2. Many preferences are there to work around problems. These are effectively “unbreak me” preferences. They shouldn’t be preferences at all; the software should simply be fixed. Other preferences are thrown in without much thought to appeal to the power users, the power tweakers. These are often the people who regard the lack of a preference or, even worse, the elimination of a preference as a fascist attack on their personal freedom.

Anyway, the article cites Gaim as an application that has taken on the task of preference reduction. As a user of Gaim, I am glad to see this. Its current preferences have a number of unnecessary options that make finding the real options much more of a chore than it should be. One of my favorite applications with regard to sensible preferences is Epiphany. There are very few preferences, especially for a web browser, and the defaults are sane. I only changed one thing when I first configured Epiphany, the home page URI.

Another piece of Open Source software that has reduced preferences and cleaned up the UI is a project with which I am involved, WordPress. Compare the latest release, 1.2, with older releases and you will notice a remarkable change in the UI. Most of those scores of preferences are now gone. Matt and mpt did a good job of paring down the preferences and making the UI more elegant and usable. Hopefully we can continue to improve the UI and resist the calls for it to be laden with features and preferences.