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.
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.
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.
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.
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.
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.
> 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.
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.
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.
>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.
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.
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?
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).
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.
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.
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".
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.)
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.
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.
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.
It seems that the "mpt" who owns that domain today and is responsible for this article is not the same as the "mpt" that wrote the original article [1].
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.
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?
Perhaps this was a well-intentioned gesture, but it was carried out poorly. This reminded me of a great article on how to provide thoughtful and useful analysis. Perhaps read that instead:
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.
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!
[+] [-] wpietri|14 years ago|reply
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
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
[+] [-] wmf|14 years ago|reply
[+] [-] johanbev|14 years ago|reply
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
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
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
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
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
[+] [-] billpatrianakos|14 years ago|reply
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
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
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
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
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
[+] [-] jamesaguilar|14 years ago|reply
[+] [-] angry-hacker|14 years ago|reply
[+] [-] powertower|14 years ago|reply
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
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
[+] [-] SoftwareMaven|14 years ago|reply
(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
[+] [-] protomyth|14 years ago|reply
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
[+] [-] jblock|14 years ago|reply
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
[+] [-] wmf|14 years ago|reply
2008 version: http://web.archive.org/web/20080805012124/http://mpt.net.nz/...
[+] [-] hoppipolla|14 years ago|reply
[1] https://twitter.com/mpt/status/209033178705436672
[+] [-] pubby|14 years ago|reply
> 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
[+] [-] naner|14 years ago|reply
"This is What Real Analysis Looks Like"
http://www.ryanholiday.net/this-is-what-real-analysis-looks-...
[+] [-] richcollins|14 years ago|reply
[+] [-] technel|14 years ago|reply
[+] [-] agilebyte|14 years ago|reply
Mind you the project's goal is to make OSS usable by 'common computer users'.
[+] [-] motters|14 years ago|reply