Usability and Open Source Software
Martin Soto writes "This article by two user interaction researchers, discusses many of the usability problems in current open source projects. The nice part is that, unlike many /. readers, it doesn't stop there, but goes into suggesting novel (at least for the OSS community) approaches to cope with those problems in an open source compatible way. Worth a read to those that, like me, still think that OSS should find its way to every desktop computer."
To change the configuration of Program X simply use your favourite text editor and add the line "-option [-adst] [--h] refnumber columnnum -g --system"
Full details are available by reading the source code.
Thank you.
Mastery of such a product is difficult and so legitimates membership of an elite who can then distinguish itself from so-called 'lusers' (Raymond and Steele, 1991, p. 364)
Eric S. Raymond and Guy L. Steele, 1991. The New Hacker's Dictionary. Cambridge, MA: MIT Press.
For any of you writing a paper (not an article as the story says), you can actually refer to 'lusers' and sound learned.
On the other hand, the general trend of open source is to follow the leader in the most positive way possible. If someone builds the perfect UI, open source folks will copy it sooner or later.
In the open source world, programming ability is king. If you're a hot coder, you're desired and you can be seen as a philanthropist by developing free software.
However, when it comes to interface design, usability, documentation, and any of the 101 other skills related to developing applications, there just isn't the same level of acceptance.
How many open source apps have good documentation, easy to use interfaces, and professional Web sites? One or two.
There's some darn fine software out there (Apache comes to mind) but where is the demand for good documentation, design, art, QA people in the open source world?
I think that those few writers, artists, and interface people working on open source projects are extremely underrated and aren't getting the credit they deserve.. while someone who comes up with a clever hack in C++ gets their name in lights.
mogorific carpentry experiments
Keep out the riff-raff -- stick with command line interfaces!
Roving Web-Teleoperated Robot
http://www106.pair.com/rhp/free-software-ui.html
The man makes some good points about usability and free software. I think that Havoc sometimes takes these ideas to the nth degree and borders on almost RMS style dogma sometimes. Still, it is a very good read.
The other side of the coin that these folks do not take into account is the fact that OSS application developers for all the desktop adoption talk are not coding for the masses. They might think they are but they are not.
They are coding for the select few geeks that decide to install a brand new Unix or with Linux Unix-like OS on top off or besid the OS that came with their box. This number is small. The OSS developers in some ways are simply giving the geeky few the big, unwieldy, powerful applications they want to go along side their *Nix powered OS.
ACK
Yeah. You didn't even read the article. They defined usability right at the beginning of the document: "Usability is typically described in terms of five characteristics: ease of learning, efficiency of use, memorability, error frequency and severity, and subjective satisfaction (Nielsen, 1993)."
They wrote a well-researched, seriously informative document with tons of examples, quotes from experts, and more. I find their comments far more compelling and substantial than yours.
My Greasemonkey scripts for Digg &
I posted this question in a K5 diary, but I'll post here as well. Where are the usability forums for open source software? Who's working on this? Is there a webpage or a discussion group? Something on Usenet perhaps?
Who's working on the "cutting edge" window manager of the future? Where are the groups playing around with their pet interface projects? This is open source, there should be hundreds of different user interface projects floating around. Most of them would be horrible, but it's that open development spirit that condenses bad ideas into really really good ones.
I'm legitimately interested in working on this problem, but I've never discovered places where people ask serious questions about usability. So now I'll post the same question here, where is good usability and GUI stuff happening?
I suspect this is a troll but i'll bite...
Useability is something you add on the backend of a product to market it. What they really mean by useability is a nice GUI where you can get a mouse trail going.
No. You obviously know nothing about the subject. Usability is not something you hack onto the backend of a product after all is said and done. If you're serious about designing an application to be highly usable, then the interface becomes a central development point just as important as the actual functionality (perhaps more important because if you can't figure out how to use it and use it well, what good is it?). And to say that usability means just putting together a whizbang fancy GUI is a massive understatement. There is years of research on the human brain and how to best present information to it on which the principles of good GUI design are built. Sure, it's obvious to you now because you've had lots of experience with applications from which you can borrow concepts from, but at some point in the past someone had to ask the question "what is the best way to do this?"
What most people don't realize is that it's not just the "big" things like provide menus at the top of the screen, etc, but also little things that are taken for granted. You probably don't notice them but when they're not there you miss them. Ever used an application that just didn't "feel" right but you couldn't really explain why?
Useability is great in most OSS work, extremely efficient and powerful...it just has a higher learning curve to the uninitiated user
Here you contradict yourself. How can useability be great if the learning curve for a new user is high? Usability is about reducing that learning curve by making the interface intuitive (among other things).
... why open source software usability sucks.
BECAUSE NOBODY USES IT
Usability means: The software will do what is intended, a lot of people will be able to use it, use it fast, and use it easily.
And please, let's get real: Linux is open source (or free software, whatever), but 99.99... percent of the open source applications are not Linux. So, when you say that "all open source" lacks usability, you are right.
BECAUSE NOBODY USES IT
And I mean, USE it. Not opening a text file to edit an entry to allow 10% more connections to your server. I mean, sit down and USE it for 8 hours straight like most normal people will do.
Open Source, in general, serves the purpose of its creator.
You've scratched, you solved your problem, you hope others will enjoy your solution. But this doesn't mean they will constantely USE it, they will just open, edit, close.
When you get down to what really matters, the real deal behind usability, it is about making software so OTHER people can use. They didn't put the menu item there, but they NEED to know that it exists.
What developers need to have in mind is "I will solve my user's problems". This doesn't mean just wait for a complain. Developers need to actively search problems. Don't you want your software to get better? Then go and hunt the problems! Ask people what they think about it.
You don't have time? Then you are wrong about the priorities. A hard to use software won't get people to USE it, and you won't be helping the free software at all.
Get people to use your software. Doesn't matter that it's bloated, it works XX% slowly, if it means more users.
Apply economic laws: More users = More Money = More Developers.
GET THE USERS, they don't care if the source is closed or open.
Buy a Nintendo DS Lite
Usability Testing of Athena User Interface
Voices from the Open Source Revolution
KDE Usability - First Steps
A few of these books grace our desktops here at work.
The combination of OSS underpinnings with the Aqua interface, designed as a commercial project, shows the functional results of one of their solutions. It isn't necessarily the only way, but it gives hope that the other approaches can be successfully navigated.
bullshit. this is *exactly* the kind of elitist attitude that is directly responsible for OSS *not* being more widely accepted.
sure, you say it in a much more palatable way ("... it just has a higher learning curve to the uninitiated user."), but the meaning behind the words is always the same.
people like you fear a "dumbing down" of OSS, and yet you are the same individuals who are first to champion Joe Average abandoning a platform he is comfortable with and "just works" (from *his* perspective, which, as much as you might want to disagree, is all that matters) in favor of one which is completely foreign and threatens the prospect of having to relearn even the simplest of tasks.
wake up. useability is much, much more than "something you add on the backend of a product to market it." it is ultimately what decides, after the marketing hype and initial bandwagon inertia have settled, the success or failure of anything from the simplest script to the most complex architecture.
and, oddly enough, it's actually YOU who really thinks that "useability is a nice GUI where you can get a mouse trail going."
!!!!! useability != gui !!!!!
a gui must take useability concerns into account just as much (in many cases moreso) than a command-line interface.
Usability is not tacked on at the end. In fact, if you've tried to tack some usability on to the end of your way-cool-code, then your little app is almost certainly not that usable. That's a big problem with OSS, as far as I can tell. You've got to think about *how* people are going to use it and *why* they would use it before you write the code that is the *what* of the equation. I'm an Information Architect, the how and why is what I insist on before my app developer writes the code that does it all. We get much better results than trying to proceed in the other direction.
Somebody in an earlier post said that OSS app coders are just interested in "utilitarian" stuff and that's why they are like they are (the apps, that is). Uh Uh. I don't think so. "Utilitarian" means that someone has to *utilize* the thing. If there's no usability, then utility is a lot harder to acheive.
I don't think Neilsen is god. I think his usability equations don't give enough credit for software and sites that are compelling, as well as functional but, that said, the usability gurus have a lot to teach OSS creators. IMHO.
dcobbler
Due to the Microsoft monopoly, most users are trained to understand how to interface with Microsoft products. Thus, people define usability based on how close it is to Microsoft's interface.
Case in point, I was in a library recently. The library has a bunch of iMacs running OS X. A young woman and her friend approached one of the computers and began fumbling about with it. After failing to find what she wanted after 5 minutes, she told her friend in disgust, "I hate Macs," and left.
To me, it appears that OS X has a fairly straightforward, easy to use interface. To this young woman, however, it is apparent that she finds Microsoft Windows more usable than Mac OS X, because her home PC is likely a Windows machine, and she doesn't want to put any effort into learning anything new.
Sure, OSS usability is a bit rough around the edges in many categories. However, the only way it will be "usable" in the eyes of many users is if it copies the interface of Microsoft's products.
"You spoony bard!" -Tellah
Precisely. Another part of the problem is that OSS developers, typically being geographically-disperse and having little access to funding, have no contact with their end users during the design and development phase and cannot do usability testing.
(There's also a "willingness" aspect -- a developer is often not the right person to be doing usability testing with naive users. It's a touchy-feely kind of task, which most developers, OSS or not, wouldn't enjoy, let alone be able to do it well. In commercial environments, that's what the human-factors folks are for.)
Which is how we got to the present situation on OSS and usability testing:
"When writing Soviet GPL code, user interface tests you!"
There is one fundamental problem that you don't cover: I DON'T GIVE A DAMN!
I write software on my own time to solve my own problems. When I got bug reports, I fixed them. I wrote a manual and released it.
But don't tell me that my UI isn't good enough: If you want it better, I'll help you port it to Qt. I don't feel like learning anything other than GNU readline, so I didn't.
You miss the point: My software (*MY* software) has a shitty UI, and I could give a rat's hairy feces covered mutated ass whether or not you find it intuitive. If you don't like it, fix it, because I think it's good enough, and I am not going to waste my time maintaining it, because it works just fine!
My next project is intended to be a good piece of software, to be the best at what it is. That one will have a great UI and amazing documentation. But never forget that most developers don't develope for you: they code for themselves, for their own problems. When those problems are solved, they share their solutions, but don't expect them to bolt a better UI on it, if they don't need one.
Like I said, I've written software for me, and I don't care about that. The software I write for other people too will have a good UI, but never forget that those are two entirely different classes, and don't tell me what I should write in my spare time!
They are investigating whether poor usability
in most open source software is connected to
open source licensing and open source development methodology.
That is, does open source = poor usability.
Two alternative explanations for poor usability
should be explored (and need to be disproven
before blaming "open source") IMO:
- by historical accident, most open source
developers are unix programmers who don't
know a UI from a hole in the ground.
i.e. the argument is that more UI-attuned
open source communities can do just fine
with the open source licensing/methodology.
- open source GUI software is simply quite
immature. We're just maturing on the server
side; the UI is still comparable to Linux 2.0 or
earlier, not Linux 2.6.
Lots of our GUI software is very newly-written.
And a lot less people are working on it than
are working on the kernel and Apache and
so on.
This will change as the userbase grows.
I also don't take it as a given that commercial
software is hugely better; some important
commercial packages (such as Quicken) have
pretty awful interfaces. Though some
are very nice, for sure.
This comment is a classic troll. You've made a blatant overstatement. Let's see some evidence, even anecdotal. Has anybody here really tried to contribute documentation or art to a project, but were dissed or not given credit?
I think that those few writers, artists, and interface people working on open source projects are extremely underrated and aren't getting the credit they deserve..
I think you overstate this. All documentation writers and artists receive credit on the OSS projects I'm involved with.
In my biased opinion, the audio editor Audacity is a success story in OSS usability.
I've been working on this project for almost two years now, and the experience has completely shifted my priorities and my perspective in software development. Before I started working on Audacity, I had the mindset that I think many OSS programmers have of only caring about the capability and raw power of a program. I never really considered the non-programmer users a significant concern.
Audacity's project lead is Dominic Mazzoni, who is uniquely excellent at both programming and user interface design. He comes from a Mac background, a world where interfaces generally don't suck. From day one he was writing for maximum usability and maximum use. Doing simple things with Audacity is child's play. Dialogs and messages are written to be easy to understand. Audacity is portable to Windows/UNIX/MacOS9/MacOSX, so right off the bat the potential audience is much larger than an application written for only one platform.
There is an audacity-help list that is advertised in big letters on the web page. This is an open invitation to ask questions that most would see as newbie questions not worth their time. This gives us a chance to see what users are having a hard time understanding. Most of these questions are answered in a timely fashion, which means these users don't abandon Audacity.
Documentation is another area where Audacity shines. Tony Oetzmann has been writing some really excellent, concise, useful documentation.
As a result this focus on usability, a lot of people use Audacity. We're pretty consistently in the top 20 downloads on sourceforge. People write often to ask if they can incorporate Audacity on CD compilations. We've been reviewed in the Washington Post.
I've really come around on this in the last two years. Usability is worth it. Anyone can appreciate software that is usable, even programmers. This doesn't mean dumbing things down -- right now a feature is in the works that will allow a project to have a speed envelope, that will allow you to have the speed continuously vary (with appropriate resampling). This is a pretty advanced feature that most users would never have a use for. But a lot of thought is going into how to integrate it into the GUI in the best way possible. It's not going to just get bolted on.
Nobody will see this because I posted so late, but I gotta say it anyway.
The reason OSS hasn't taken hold is because of usability, hands down. Mozilla, OpenOffice, CDex, gAIM, all are good examples of OSS that is quality, easy, etc. They install graphically and simply, have intuitive interfaces, and work like professional commercial software.
Most other OSS is designed by one person. That person has an idea for a program and they design it to suit their personal needs. This software often does not suit the needs of 10000000 users the way something like Office does. It usually ends up being CLI or a piss poor GUI. It's difficult to install and only compiles correctly on one specific version of one specific distro of linux with one specific kernel. The rpms don't work. And there is often already a commercial product for windows that does the same thing, better, easier, and is free, can be pirated, downloaded, or otherwise obtained.
OSS doesn't fail because it is open source or because of the free as in speech mentality behind it. It fails because most often, it sucks. Look at Winzip. Nobody pays for winzip. They crack it or deal with the I agree box. But zillions of people use winzip, myself included. They use it because it is a high quality piece of software, that is free as in beer (not in the world of law, but in the real world), is easy to use, easy to install, and it works.
If winzip happened to be open source it would do just as well. When more OSS reaches the quality of professional software in the same way that Mozilla/OpenOffice/gAIM/CDex have then more people will use it.
The GeekNights podcast is going strong. Listen!