Why Free Software usability tends to suck
web.archive.org
web.archive.org
Then I discovered the dark side of business, money, marketing (and meetings, partnership negotiations, etc.).
You need both. But if you are an independent open source project with no backing from Sun, Intel or IBM, you are pretty much stuck with the "happy geek" problem.
Usability is one of those features that geeks tend to be most blind about. My favorite recent quote from such a geek: "the iPhone is nothing new, there are plenty of phones with the same specs".
Some people are trying to solve that problem as we speak you know ;-)
However, I am moderately jaded by the notion of usability defined as being "no learning required" - for example, which is more usable, vi or MS notepad? Anyone who has put in the effort would surely be able to use the former far more effectively than the latter, despite the difference in immediate accessibility.
It sort of muddies the water a little, I know, but I just don't think that 'ease-of-use' can be the last word in usability, and I think this is where free software excels - look at Firefox, for example. It has the instant gratification of any modern web-browser, yet offers almost emacs-level configurability.
I think that this is the happy medium that can only really come out of the free software world being, as it is, relatively immune to the sort of market forces that have forced the commercial sector to constantly chase the lowest common denominator. (who, let's face it, are bizarrely resistant to the idea that the incredibly complex piece of machinery in front of them might actually require some knowledge to use properly).
Ease of use doesn't equate "simple". Ease of use should mean that you can start using it with no learning curve, but that as your experience grows, you naturally learn to do more complex tasks.
The secret of ease of use is that for each level of expertise, from beginner to expert, the tool will seem intuitive, and also take you to the next level non-intrusively.
That's why it's so difficult to design right!
With closed source software the most common model is the license fee. Support calls and interaction with the user is a cost and something to avoid if possible. You polish your code and your interface until the users leave you alone.
With the rise of support-supported open source, the converse is true. You make your money from support, so typically the more polish, the less revenue. This is a fundamentally broken feedback loop IMHO with an intrisinic tension between product quality and cash. You want the product to very nearly work perfectly, but require work to integrate.
I;d just like to clarify one thing. I don't think that open source software sucks, I think much of it is excellent, I just think that there is an inherent tension that tends to pull it towards suckage in a purely commercial market.
1. Most linux distros have well designed UIs, most linux apps too. I would say that open source apps have a focus on efficiency while many windows apps have a focus on first-time-users.
2. Many existing flaws of open source user interfaces have practical reasons: open source is always somehow "work in progress" / many open source desktop apps are somehow frontends for command line apps / many open source apps are grown products which for example come out of old gtk-times.
3. The real horror are many closed source apps which just ignore all developed gui standards just because of marketing reasons: Why does my windows desktop firewall or antivirus need their own gui design and even changeable skins?! Why does my windows office software give a sh on what i think is the best ui for my needs? Why does every app i install have to clutter my desktop with wizards, autoupdate-system notifications (which somehow look more like company ads) and hints to other products?
"Why Free Software has poor usability, and how to improve it"
http://mpt.net.nz/archive/2008/08/01/free-software-usability
I don't mean to say that OSS doesn't continue to have usability issues, but certainly the role of usability folks within the major desktop projects has changed very significantly since then. Usability in OSS started gaining traction right around the time this was written and has in the meantime and it does show.
The idea that free software tends to have complex user interfaces is not convincing. There are lots of things with very simple UIs, including the Gnome desktop and almost all Gnome apps.
His links seem to disprove, rather than provide evidence for, his points. One is to a Mozilla enhancement request for an additional setting that was rejected, the other is to a Gnome usability study - did it lead to changes (disproves is point) or was it ignored (proves his point).
This pressure does not exist for open source software in the most case. If the people who are involved in the project find that it solves their needs, they don't see any need to modify it to fit the needs of new users. So the interface stagnates at what the core contributors are familiar with.
http://mpt.mirror.theinfo.org/discuss/msgReader$173
in hopes that Google will index it.
But that's by design - not by "suck".
People building free software generally have themselves as the target demographic; they're not trying to appeal to novices or compete with Microsoft or Apple. They have a different definition of "good".
People building free software generally have themselves as the target user, which is not the same thing.
Advanced users benefit from straightforward design and simple workflows as much as anyone else. The programmer may want every facet of functionality to be readily available, but the majority of users, novice or otherwise, will not care. The user should not be forced to have the same depth of understanding as the person who made the software, even if the user is perfectly capable of attaining it.
You're right that advanced users benefit from straightforward design and simple workflows. But I think saying "Linux usability sucks" is tackling a much broader issue than that.
Plus, I would argue that Unix, and Linux, are all about straightforward design and simple workflows. Think about pipes and the command line.
And as to pipes, they're useful in the way LEGO blocks are useful: you can make pretty much anything you want from them. But sometimes it's just more fun to have a toy you can play with immediately, no construction required.
GNOME and KDE are also very amenable to the needs of hackers. I'd say they're designed as much for power users as regular people.
With GNOME, lots of lip service is paid to making a DE for "regular people." But who /actually/ uses GNOME? Linux users. Linux users are almost overwhelmingly not "regular people," but power users. GNOME is very amenable to the minimalistic style of many hackers.
And KDE is amenable to the "let's do some awesome shit" style of many hackers. It's on the cutting edge. It's not used by regular people and I don't think its development is driven by their supposed needs.
Personally, I use Openbox and the command line. These are the best "desktop environment" tools I've found yet, by far. But they're not for everybody. They're for power users. And here's my point: they are the way they are by design, not by "suck."