top | item 4058087

Why free software has poor usability, and how to improve it

39 points| cheeaun | 14 years ago |mpt.net.nz | reply

64 comments

order
[+] wpietri|14 years ago|reply
I liked the title, but absolutely hate this article.

A lot of the "solutions" are useless exhortations for other people to be more betterer. Hint: nobody really cares how the peanut gallery thinks they should be spending their free time.

The whole thing has a phasist orientation. Ah, the "designing stage". That's the three months of the open-source waterfall where the open-source business analysts gather requirements from the open-source stakeholders before handing over the open-source PRD to the open-source developers, right? As if.

[+] hahainternet|14 years ago|reply
I especially liked the pithy screenshot which espouses one of the most common errors on all platforms: Crap progress bars.

Some of my favourite designs come from free software, and while some of his points do have validity there's a lot of amazing solutions out there.

[+] aidenn0|14 years ago|reply
So many places to criticize the article, but the one that hit me the most was "Release Early, Release Often" being held up as counter to usability. My experience is the exact opposite; it's not until you've released that you actually know how people will use your product and often too much UX design up-front is just premature optimization.
[+] wmf|14 years ago|reply
He identifies that the incentives in the open source world are against usability, but then he goes on to suggest "solutions" that aren't compatible with those incentives either. It's like he's arguing against himself.
[+] johanbev|14 years ago|reply
While the author talks about free software in general, it seems more to me that he really means Ubuntu and Unity and perhaps common desktop applications found in that "ecosystem". What's the usability of bash? GCC? Emacs? And perhaps more importantly, for whom is the usability measured? The linux-ecosystem is mostly used by programmers. It's natural that the user interfaces tend to reflect this. One of the main reasons i have linux on my computers is exactly this, I really don't want the user interfaces of Windows or OS X.

Problems and solutions are described, but exactly _how_ to implement these solutions isn't stated very clearly, and I'd hesitate to call these suggestions "solutions" because, to be brutally honest, it's all empty talk.

Furthermore I feel like many of these solutions come at odds with the foss-culture in general. If I'm giving away my time and code for free, I really don't want a project manager or a designer to tell me what to do. I'm going to do what feels interesting, or I'm going to implement features that I need. If someone else can use my code too, then that's great. If not then that's ok too. To me it's strictly hobby basis. I don't get wages, and I don't have "customers". I'll contribute because it's fun or because I want to honor the idea that I should contribute back changes and improvements I've made to software that I got for free.

Of course, this could be very different if I were employed and paid to make software that coincidentally also was free, but I'm not. Maybe this blog post was aimed at Canonical and their employees, or the practices of big projects like GNOME. If so, then maybe he could have the decency to say so, instead of going about "solving" other peoples problems that aren't really there.

[+] ams6110|14 years ago|reply
for whom is the usability measured

I think this is critical. A software product like Emacs would never have been produced as a consumer product for sale by a vendor. Emacs is the way it is because it was developed by and for the people who used it: coders. Not all "free" software is targeted at nor should it necessarily be usable by your mom (not a dig at your mom).

(From the article) Free software developers mostly develop software based on their own requirement and their definition of “good software”, and as a result, design software that is very complicated and “geeky”.

In many cases, this is as it should be, unless they are developing something specifically targeted at users from the "general public." However, where I do think some projects go off the rails is when they develop a UI that is either internally inconsistent, or so non-standard that even technically-minded users are frustrated by it.

[+] gouranga|14 years ago|reply
Sorry for the rant but posts like this piss me right off.

Usability seems to mean low entry barrier and pretty looking these days rather than functionally elegant, normalised and reusable. Usability now means giving dumb people pretty looking things and not bothering to write a manual or relying on their understanding of the domain or having any compromises between the machine and the meat sack using it.

Also stop blogging and fix it if it's a problem - that's the joy of open source. If they don't want the 'fix', then its not a fix for the supposed problem or the problem didn't exist to start with.

[+] lazerwalker|14 years ago|reply
> Also stop blogging and fix it if it's a problem - that's the joy of open source. If they don't want the 'fix', then its not a fix for the supposed problem or the problem didn't exist to start with.

A flaw of many open source software projects is that they tend to be inhospitable to designers coming in and attempting to contribute in a meaningful manner. Usability shouldn't just mean "dumbing things down", no, but if a program is well-designed then improving its accessibility to newcomers need not be at odds with elegant and efficient operation for more advanced users.

There are many projects where attempting to submit a patch that improved usability would be met on deaf ears, even if it was a change that solved a legitimate design problem or improved on a current solution, because the maintainers of the project have a mindset of "the design works for me, therefore it works for everyone". In this case, "fixing the problem" doesn't mean actively contributing to an open source project (since that in itself is the problem), it means attempting to change the approach people take to managing open source projects.

This article in particular is a messy jumble of ineffectual buzzwords, but there is a small nugget of truth buried in there.

[+] bratsche|14 years ago|reply
> Also stop blogging and fix it if it's a problem

In case you don't know who mpt is, he's actually one of a handful of people out there who is trying to fix these problems. He worked on usability for Mozilla for awhile, and now he works for Canonical. I used to work on the Ubuntu desktop experience team at Canonical, and I can attest (as much as my opinion is worth anything) that mpt was easily the most valuable person there in working towards usability. He's not one of the "make things look pretty" kind of designers, it's definitely one of the "functionally elegant" types. Part of his work is designing new Canonical-led features in Ubuntu, and part of it is proposing better interaction designs for apps that came from the community; some of that work is then coded by developers at Canonical, or by the upstream project maintainers, or random community developers, and sadly some of it is just put off or ignored. But the point is, he's the guy who is working to fix design problems.

I think the point of his post was to try to encourage more thought towards the design process by the open source development community, and maybe to encourage more non-developers to get more involved in the design process. He's only one guy, there's only so much he can re-design on his own. You know, days having limited hours and all. So if he spends a couple hours doing some "community outreach" type blog posts and manages to get even one other person to start working on interaction design then he has accomplished more with those couple hours than if he had used them redesigning a part of some app.

[+] ionforce|14 years ago|reply
You're assuming the gatekeeper of the fix is a perfect judge of usability, which may or may not be true.
[+] billpatrianakos|14 years ago|reply
This isnt as much about the misuse of the term design as you make it seem. The author is right that free software is generally not as well designed as its non-free counterparts. Most of the time bad design manifests itself as too much complexity, strangely organized settings menus, way too many settings to begin with. You seem to have this "screw the average user" mentality which I'm guessing comes from the fact that average folks don't tend to use free software (mostly referring to Linux the OS and Linux software but it does apply to other platforms some of the time too).

If you're making software for the power user set then the status quo is probably just fine but if the free/open source community really is committed to winning the hearts and minds of users of the standard platforms (Windows and Mac obviously) and really do want to get a bigger piece of the market share pie then developers will have to dumb things down a bit and simplify.

The attitude you seem to have towards users, calling them dumb people and meat stacks, is exactly the thing keeping those dumb meat stacks from using free software. Programmers also seem to hold a sort of bigot attitude toward designers which your comment also exemplifies. Functionality, elegance, resuability, and everything you mentioned are great and necessary but there's no reason it can't be prettied up a bit and simplified.

The bottom line is that if you're developing software for people just like you then you can ignore the dumb meat stacks and the pesky designers and still be successful but don't ever expect average users to educate themselves in order to use your software. They don't care about the limitations of technology and how everything works together nor do they care to learn. They just want to press button X and have action Y happen with the least possible friction in between. If button X doesn't get action Y to occur as fast or easily as they want then they're uninstalling your app. That is, unless uninstalling involves more than a click or two otherwise it'll just collect dust and consume disk space. Until you design and develop with dumb meat stacks in mind only programmers and power users will use your software.

Now im not saying this will be easy nor am I saying free software developer have to start doing this. After all, they work for free I'm their spare time and create amazing amazing products and alternatives to non-free software. What I am saying though is that this is the reality of dealing with users. It's not ideal and they certainly act like an entitled lot but it won't change especially now with the proliferation of prettified and dumbed down apps everywhere you turn.

[+] mistercow|14 years ago|reply
>Over the past few years, usability of free software has improved slightly.

Slightly? It has improved by leaps and bounds. I just switched from Mac OS X to using Ubuntu almost exclusively, and aside from a few bumps here and there, I have been very happy with it. That's a plunge I wouldn't have even considered three years ago.

[+] raverbashing|14 years ago|reply
Really

The problem in free software is that 1) engineers don't have the needed mindset 2) resources are limited, of course 3) the developer usually does whatever is in his mind

Gnome is "usability" gone wild. Remove the steering wheel and pedals from the car so to make it "simpler". Good luck driving it anywhere

(Really, from my experience with Fedora 16, out of the box experience at first it's bad, then it gets worse when you see all the little details gone wrong)

And to help matters, they think PulseAudio is a good idea. PA is a broken answer in need of a response, really. And it definitely affects user experience.

[+] niels_olson|14 years ago|reply
My kids use Ubuntu, OS X, iOS, Android, and at school they even have Windows. They are as indifferent to the OS as we are to the vagaries of navigating various websites. They use Spotify and Chrome and play their Humble Bundle games. They are 7 and 10 and totally grok accessing an NFS filesystem over wireless and understand that if they can't access their music, it's probably because the wi-fi isn't connected.

One thing this does point out, though it might be a bit antithetical to many OSS devs, are there any open source usage stats packages that developers can build into their systems? Like Chrome uses?

[+] SkyMarshal|14 years ago|reply
>They are as indifferent to the OS as we are to the vagaries of navigating various websites.

Very cool, I've been wondering if and when this would happen. Modern OS's seem less and less different to younger and younger people.

Only picky techies and older generations seem to care about the differences these days, kids just dive right in and adapt.

Hopefully that trend continues, it's great for underdogs like FOSS.

[+] lomegor|14 years ago|reply
Hmm... although I agree with many of the points I think it starts with a bad premise. First you have to prove that free software has poor usability, then you can try to understand it. Most of the free software I use has great usability in my opinion (except for GIMP), although some of them only have good usability for their target markets (e.g. zsh or bash).
[+] jamesaguilar|14 years ago|reply
The proposition "software X has comparatively bad usability" is expensive to provide additional evidence for. The existing evidence includes the typical experience of people new to FOSS using things like Emacs, VIM, Gnome or GIMP, a difficult-to-explain preference for proprietary software among professionals in various fields and among typical consumers, each person's individual experience, various critical analyses of free software by usability experts studying the problem, and sundry other evidence. If this isn't enough to convince you that free software broadly has comparatively poor usability, the odds of discovering additional evidence that would convince you is probably too slim to be worth the effort. But it's a premise many of us accept. For those among us who do, blog posts like this provide some insight.
[+] angry-hacker|14 years ago|reply
For me personally the biggest problem with free software (I mean linux here) is that there is not consistency. You can't design a program UI and expect it to fit in different desktop environments etc... there are no proper design guidelines imo.
[+] powertower|14 years ago|reply
It was a good read, but it might as well have been titled: Why Afghanistan has poor Democracy uptake, and how to improve that.

Basically, the author says, "update" the process that's responsible for the open-source world, into a more methodological corporate environment.

He doesn't realize it's a completly different world. In which the mentioned "fixes" are contradictory to it's sprit.

Developers want to spend 100% of their time just hacking away. They are not going to transform that into a 10% dev time and 90% "sit there doing UI and feedback studies, and nurture-the-community time".

[+] codexon|14 years ago|reply
This could be summed up in a single sentence.

Usability takes more time and effort, and authors of hard to use free software find the usability to be good enough for themselves.

[+] ExpiredLink|14 years ago|reply
If you think 'free software has poor usability' you've never tried commercial software.
[+] SoftwareMaven|14 years ago|reply
Replace "commercial" with "enterprise" and I agree completely. Amazing how bad software that costs so much can be!

(side note: I might have accidentally down-voted you as my hand brushed over the screen. If so, I apologize and hopefully someone will give you an up-vote for me to replace it.)

[+] slantyyz|14 years ago|reply
If you think commercial software has poor usability, you've never tried enterprise software.
[+] protomyth|14 years ago|reply
A lot of commercial software has pretty good usability, especially when the company doing the software realizes usability = people like = less support costs.

Now, for truly horrific usability, nothing beats enterprise software with those big money support contracts. Very much like American car companies in the 1970 / 80s which viewed service as a profit center.

[+] jaems33|14 years ago|reply
I tried both Open Office and GIMP. Experience is vastly less polished than Pages or Photoshop. I'd even say Pixelmator is a much tighter approach than GIMP.
[+] jblock|14 years ago|reply
The author is oversimplifying a problem that should not be oversimplified. Usability is something that requires specific empirical evidence to examine, and no two pieces of software are alike. It's a metric that is perpetually evolving and incredibly complicated. It's not just good visual design, and it's not just a symptom of strict coding and architecture standards.

The author does not provide much evidence for these solutions combating usability problems, but if they did, I would be much more willing to listen to their advice. I would have also liked to see specific examples of usability faults (not just software with poor aesthetics, which is another subjective metric that the author oversimplifies) and instances where these applied techniques were able to solve them. I commend the author's desire to face-off against a problem which is out there and prevalent in the FOSS world, but their claims need to be backed up before I could take them to heart.

[+] statictype|14 years ago|reply
Interestingly, his older and popular (and I felt much better written) article on free software usability ( http://mpt.net.nz/archive/2008/08/01/free-software-usability ) seems to redirect to this one.
[+] pubby|14 years ago|reply
The term 'designer' is extremely vague and I have no idea what the author is referring to each time he uses it in the article. At first I thought he was using it as a nonsense umbrella term (similar to how words like 'scale' are used) but a few paragraphs later he says this:

> Similarly, there are only a few coders who are also good designers, but that is very rare because programming and human interface design is very special skills that each requires separate training and a different mindset.

Oh, so by design he means 'human interface design'. Yeah, no. Design is much more than just that - it is an umbrella term after all.

[+] TelmoMenezes|14 years ago|reply
Free software has been spectacularly successful at building significant parts of our current computing infrastructure: kernels, compilers, web servers, languages and so on. Many of the products that the author would consider as having good usability are a thin layer built on top of millions of man-hours of open source stuff. So maybe free software is not that good at generating interfaces for the masses. So what? Many of the solutions that the author points out translate into boring work. Why would we expect people to do boring work for free? How could that model ever be sustainable?
[+] richcollins|14 years ago|reply
It's much simpler than that. Free software is usually created to be used by the creator, so there is no incentive to make it intelligible to others. The author is correct about incentives but the best incentive is payment for the software. At that point it's no longer free.
[+] technel|14 years ago|reply
I agree that traditionally the OSS community is not very welcoming to designers. I'd be interested in creating a website that engages designers and provides a platform for them to propose visual updates to existing free software. Is anyone else interested in this? Email me!
[+] agilebyte|14 years ago|reply
For anyone thinking they can improve open source software's usability, donate your time here: http://openusability.org/.

Mind you the project's goal is to make OSS usable by 'common computer users'.

[+] motters|14 years ago|reply
A pretty worthless article which makes a lot of false assumptions about the nature of free software.