Wednesday, July 25, 2007

Simplicity and the Beast

Go read the WSJ article.

This blog post is about the sentence that says:

"If you're a wonk and you want lots of controls and features, Microsoft is right for you," Mr. Kay says. "If you want a simple experience and you're not tech-savvy, then you'll probably do better with Apple."


Why is this wrong?

It's simply the wrong way to think about the UI for an application.

There are two issues here: Features and configuration. Features govern what go into the program. The configuration controls which features are turned on, and how they behave. Programmers will usually put in all the features they can imagine, and then produce a hideous UI that controls which feature is enabled and how.

But that's the lazy way out. As a programmer, you'd reduce a lot of your load if you figured out which were the most common features used by your users and in which configurations. Then by choosing such a configuration as the default, you're going to make a lot of your users happy because they don't have to fiddle with your program's settings. Note that it's not *all* users, it's a majority of users. For the fringes, make sure you have configuration options, but I'm willing to bet that the UI that results will be a lot more manageable.

One story I've heard tells of a programmer who released a program with some configuration options accidently removed. Nobody complained. In fact, nobody even noticed. That was sign of overdesign. He promptly ripped out the features in the next release. Less code == less maintenance. The original Unix programmers were sparse in their outlook, adding features only when asked to, not mis-anticipating user's demands.

GNOME 2.0 went this way, and I'm extremely happy they decided to take it that way. It's no less powerful, but I spend time working instead of tweaking my GNOME configuration. Ubuntu pared down the menus, bringing down the number of image editors to one from maybe a dozen, one web browser, etc. The rest are still available, but most people use Firefox, so why install Elinks and clutter up the menu?

The only program that I use that is overflowing with features is Amarok. Thankfully, it can be used in a simple mode to play my music and I use the exotic options only rarely. But it's a remarkable program able to tackle everything I've thrown at it (iPods, album art, synchronization, queues, auto-mounting, replay gain, etc.) but I fear as these features will become more "standard", other programs will include them in the GNOME fashion -- it just works -- and I'll move away.

In short, let the users do their work, make your program get out of their way.

And it isn't the number of buttons that count.

2 comments:

Unknown said...

You can also read up the posts by Linus on GNOME usability mailing list where he admits that he encourages people to use KDE.

http://mail.gnome.org/archives/usability/2005-December/msg00021.html

Follow the discussion thread to better understand his line of reasoning. This thread is more popularly known as 'Linus Vs. GNOME'

Frankly, I have always preferred GNOME over KDE. Sree, I completely agree with you when you say "GNOME 2.0 went this way, and I'm extremely happy they decided to take it that way. It's no less powerful, but I spend time working instead of tweaking my GNOME configuration."

I love simplicity and anyways "Less is More (http://gettingreal.37signals.com/index.php)" nowadays.

ksp said...

Yes, that flame war happened live for me :D Was an entertaining December! In fact, the flamewar spilled onto LWN.net resulting in a huge number of comments. I took a day to get through all of them :D