In the commercial software world, user interfaces are generally designed by one group. Like Microsoft for Windows or Apple for Mac OS. Those desktop environments were designed by one company who did things like user testing and statistical analysis to try and make the desktop they thought would work best. Linux is different. Large groups definitely DO perform user testing and statistical analysis, but one group can also say “Here’s what we want” and, if they have the ability to code it, their idea comes into being. It’s pretty amazing, when you think about it. Linux lets people create what they want. If you don’t like what’s out there, fork it! Or start from scratch! You’re in control!
What’s really interesting to me is the theme that has come out as of late in these debates about usability, and it really comes down to two things: do you want simplicity, or customizability?
Keep it Simple Stupid
Another way to characterize desktop environments (or DEs) that are striving for simplicity is this: get out the way and let the user do their thing.
It’s a pretty compelling argument, really. Why should the user spend time interacting with the OS at all? Why should they have to customize things? Just make it as minimal and intuitive as possible, then let the user actually USE the programs they want.
We have a perfect example of this view taken to its logical conclusion in the form of Chromium OS. For all intents and purposes there IS no desktop, since the desktop consists of a single, full screen program. There’s a few other goodies tacked on, but for the most part that is what you get. You can’t change your desktop background because there is none. You can’t add a panel widget because there is no panel. It’s just … the Chromium browser. Nothing else.
Other DEs have gone in this direction, but not nearly so far as Google did. Gnome released Gnome 3 to mixed reviews, largely because they tried to reinvent the desktop. And by reinvent I mean get rid of most of the desktop. Customization is at a minimum because EVERYTHING is at a minimum. No widgets or applets or any kind of -ets. When 3.0 came out there wasn’t even a plugin framework (still isn’t really, though it is in the pipeline) because, well, there was very little to plug in to. Ubuntu’s Unity struck a very similar chord, trying to keep the OS to a minimum. Reviews for Unity were about as enthusiastic.
The big question is: is this desirable? Is it OK for a certain group to make design decisions that influence a huge number of users? Luckily in Linux, if you don’t like it you don’t have to stick with it, which leads us to the other side of the coin.
I want it that way
Was that a Backstreet Boys reference in the title? I say no, it was a simple statement of fact. Some people want things their way. They don’t want a dumbed-down interface, designed to appeal to the least common denominator. Give me the tools, they shout, and I shall make a desktop that works perfectly for me!
Customizability really is more in line with the Linux mindset. Linux has always been about giving you tools and letting you do what you want. But in an age where Linux is attracting more attention from a less tech-savvy crowd, is that necessarily a good thing?
Take KDE (I’m sure most everyone knew the comparison was coming). In KDE you have a desktop, you have panels (of which you can make as many as you desire), you have widgets, you have … plasmids? I don’t know if that’s a thing in KDE, but plasma has something to do with it.
The result of so many features is a huge amount of customizability. However you use your computer, there’s a means of getting KDE to act that way, and it’ll look good to boot!
The problem with customizability is, as always, complexity. For each option there are settings. For each axis of user interaction there are methods of controlling said axis. To review for this article today I went into KDE and really went wild, and by the end I was amazed at how much I could do with it.
KDE, and other customizeable DEs allow the user to create the perfect working environment for them. Have a little ADD and want everything hidden but your main window? You can do that. Want a panel on each edge of the screen and widget all across the desktop? Yup, you can do that too.
So who is right?
That’s the big question, and, unfortunately, it is one that doesn’t have an answer. But not having an answer does have consequences for the Linux community.
Inconsistency in DEs leads to difficulty for new users. No matter how internally consistent a DE may be, it’s still wildly inconsistent with the dozens of others out there (which only makes sense–they’re built for different reasons). This means that, if I’m a Linux user, I may use Gnome 3 at home, Unity at work and KDE at school, though all are called Linux.
If I’m moving to the Mac world I can go to a Genius bar, or even a friend who owns a Mac, and ask them how to do something and they will have an answer, because it is the same on every Mac. Likewise if I’m new to Windows 7 odds are a co-worker or friend can show me how to do what I want. But if I’m starting to use Gnome 3, and all my Linux friends are die-hard XFCE users, there’s nowhere I can go to get that personal touch.
…And thanks to readers like you
It’s a problem without a true solution, at least in the short term. Sure, we Linux users may have flame wars over which DE is better (even Linus does that), but in the end it’s what we want. We want to have choice.
So is the choice a problem? I truly believe that the vast array of options, especially in terms of DE, is one of the biggest things keeping Linux from mainstream success (on the desktop, at least). But should we even care about mainstream success?
If we were to try for mainstream succes, and make one desktop to rule them all, what would it be like? Where do you fall? In the camp of customizability or simplicity? Or somewhere in between?
What I’d love to see in the comments (besides answers to the above questions) are real life examples. When you started using Linux, where did you start and how did you react to it? What finally felt comfortable? When you introduce family or friends, what is their usual reaction? Which DE do you usually make your pitch with? What are you using now, and why?
Allen was born and raised in Oregon, studied Sociology in college and currently works as an operational engineer for a major non-profit organization. In his free time he loves to write novels (if you’re interested, you can read some samples at allenwritesthis.com), play video games, and hang out with his wife (not necessarily in that order).
When it comes to simplicity vs customization, you really don’t have to choose between the two. It’s like the debate on whether hardware devices should be locked down to prevent users from hurting themselves, or wide open so that users can do anything they want with it. The trick is to ship with the device locked down, and add somewhere an option to unlock it, but make it JUST hard enough to find so that anyone who wasn’t looking for it would not unintentionally unlock on accident.
I think of customizations the same way – set up the defaults to be ‘idiot proof’ to make the most users happy out of the box, and set customization options just enough out of reach so that nobody who wasn’t looking for them would ever find them. This way, tech tards don’t get confused and power users don’t feel hindered by somebody else’s design choices. Granted, maybe this won’t work well in EVERY SINGLE CASE, but I think is is a good, general guideline to follow. Personally, I’m tired of using apps that were designed with my grandma in mind, that give me no control whatsoever over the user experience.
Oh, and if you’re going to put the configurations in an ini file or ‘about:config’ screen, PLEASE take the time to document the f**king things, ok? There’s nothing more frustrating than having 5,000 different options and barely an idea about what each one of them does beyond a brief description that may or may not provide sufficient information.