Saturday, 29 October 2011

Users Don't Know What They Want

I was reading this article which quoted a comment by Richard Hughes. "User don't know what they want". Well excuse me for being to retarded to write an advanced GUI desktop on my own. But I can choose what to eat for breakfast in the morning. I manage to dress myself. Go out to work. Make it through the day and get home safely. All on my own.

When I bought my current PC. A Dell Dimension XPS 700. I did that on my own as well. I even paid for it. With a credit card. When I decided to make the move to GNU/Linux full time. I decided on my own to do it in stages. The first thing was selecting a GNU/Linux distribution. I experimented with Fedora and openSuSE. Then discovered Ubuntu. Now since I was using the hybrid hardware/software RAID array built into the 700 series system board the installation of a Linux based OS back then wasn't straightforward. Dmraid wasn't installed or configured by default on any of the distros I tried. And that's actually part of what drove my decision to go with Ubuntu.

Being stupid, I couldn't get dmraid working in either Fedora or openSuSE. Both distros use RPMs. Back then RPM hell was a term many people came to know. Basically there were dependency issues. Ubuntu with it's debs was better organised. No dependency issues. Although configuration was still a problem. But with a little research into the Ubuntu documentation I found what I needed to get it all up and running. Which meant I could now dual boot. Until that point I had been boot Linux from a USB drive.

So I'm not smart enough to write my own version of Gnome. I am smart enough though to know how to problem solve. How to make decisions. I know what works for me and what doesn't. Windows XP with all it's issues and problems wasn't working for me any more. So I made the sensible decision to find an alternative. What do you think I'll do now that Gnome doesn't do the things I want it to do? Maybe I'll find an alternative. It would seem to be the sensible thing to do.

When ever a software developer, a programmer makes a comment like "users don't know what they want". It's a clear sign something is going very wrong in that software project. Which reminds me of another comment I read once in a article. Linus Torvalds once said something like "he who writes the code gets to decide". Meaning ultimately programmers participating in free open source software projects are the ones who decide which features to include and which features to drop. Which is fine. Until that is the software you are writing targets a user group beyond other programmers. And that's what desktop environments do.

Kernel developers like Linus Torvalds have a certain luxury of rarely having to interact with desktop users. The concerns of the desktop user are rarely the concerns of the kernel developers. In a sense what kernel developers do is invisible to desktop users. So we desktop users don't complain very often when they drop or replace features. Desktop developers however don't have that luxury. As Canonical/Ubuntu and KDE found out. Gnome should be learning lessons from these two groups.

When KDE 4.x series was released there was uproar. The majority of users hated it. Some of there anger was squarely targeted at being hit with the unfamiliar. The very same issue we have to overcome to get people to use a GNU/Linux based OS in the first place. Anybody would think we'd know better. Right? A lot of the anger however was squarely down to the fact KDE had changed things too much. Now so far as I know, KDE developers aren't known for being polite about people who criticise their work. But after all the bitching was done they knuckled down and started fixing the things people were complaining about. As a result KDE is now a more pleasant desktop environment to use with some pretty cool features. Everybody's a winner!

Canonical has experienced similar anger spat in their direction for daring to force Unity on it's user base. Unity started life as the interface to Ubuntu Netbook Remix. And it's not hard to see why Canonical would think Unity would work well on a netbook. Small displays means you have to be economical with the display. Low powered CPUs meant not much was being done by way of multitasking. But on a desktop? These just aren't considerations that are any where near the top of the list of all the things to be considered. However Canonical would not be deterred. It rolled out Unity.

Most people say Unity was rolled out too soon. It wasn't finished. And indeed they say the same of Gnome Shell. Rather than bitching or insulting it's user base though, Canonical it seems would rather just make Unity better. 11.04 delivered a stale turd of a GUI. With 11.10 Unity was now running atop the new and improved Gnome 3.x. They fixed some of the annoyances. Made the dash useful. 12.04 will focus more on stability and polish. Basically KDE and Canonical listened to their user base. And because they listened they could fix the problems that were pissing people off.

Listening and understanding users is the most important thing a developer working in the user space can do. If your not writing software people want to use then your playing to an empty house. I'd hate to see the Gnome Foundation playing to an empty house. Gnome has been good to me over the years. It's been relatively hassle free. Simple and easy to use and configure. It's developers need to respect the users and listen to what they are telling them.

It would be a shame to see Gnome implode and be crushed by the weight of it's own foot print. There are plenty of alternatives. LXDE, XFCE, KDE and Unity to name but a few.