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."
usability and open source.
Coming up next on slashdot: Sexual experience and Linux!
OSS will be allowed only under the auspices of Total Information Awareness as the Amerikan people are drafted into the
War on Everything
Thank you and have a nice weekend.
dotslash.com has been dot slashed
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.
The main problem with open source is and always will be that its created by programmers for programmers. Thats when closed source has the advantage. They are paid to make sure that the user understands the software. Apart from ego what incentive does an open source programmer have?
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
I'm impressed with how far open source has come. From the days when you could spend a week trying to figure out what your monitor's horizontal refresh rate was just to get X running under Slackware, to the wizard-style installs of RedHat, the installation process (as mentioned in the article) has come a long way.
I just recently came back to try to set up a dedicated Linux server on an old PC. I was going to put some custom servlets on there, so I wanted Apache and Tomcat installed.
Apache came with the RedHat installation I did, but not Tomcat. No problem. I download an RPM of Tomcat and install it fairly easily (although I have to RTFM to figure out how to install the RPM).
After that, it took me three days to get Apache to talk to Tomcat. After installing, uninstalling, and finally compiling an entirely new build of Apache, I got the webapp connector to work, only to find it was broken. Some more futzing around and trying to read the broken-English documentation of the mod_jk2 connector and I finally got it working. I'm a developer with fifteen years' experience, I'm not a newbie here. I can fly circles around all but the most experienced vi user, but this was a baffling array of too many choices, not enough guidance, and no friendly setup.
Other usability problems I encountered included:
1. The graphical tool for configuring Apache provided by RedHat doesn't like you touching the config file with any other editor, but it doesn't provide all the functionality either. So, the minute you have to touch the config file with an editor, your user-friendly tool breaks.
2. I had three choices for everything. Did I want to use Tomcat as my main server? Integrate with Apache? What directories did I want to integrate? Which of three different connectors that do exactly the same thing did I want to use? (Hint: whichever one that just works). As a first-time user, I didn't want a choice, I wanted a decision.
In contrast, the first time I ever set up a servlet engine on a Windows NT box (and this was in the bad-old-days) the procedure was:
Double click installer, click next about five times, select "IIS" and hit "Finish." Took me less than an hour--the first time. Sure, it probably wasn't tuned to perfection, but it worked.
With the success of the Linux installers being so easy, it appears that usability is making inroads...but it's not there yet.
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.
There is no great computer interface, they all pretty much suck somehow. Someday we'll figure it out, but to say it's an open source problem isn't that fair. (Even if open source is sometimes behind some non open source projects)
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.
You don't have to have a steep learning curve for excellent useability.
While I agree that GUIs frequently slow down certain tasks, it is not always true.
Take a look at The Humane Environment for a serious look at usable text interfaces.
That what was all this school was for... to teach us how to solve our own problems. -- janeowit
Since many components of modern GUIs are images and sounds, there would be the issue of who owns the copyrights. Can image and sound files be licensed under the GPL?
If so, it would provide a framework for "GUI experts" to create their own themes. Also a standard for GUI themes would be most welcome (there are many, but AFAIK none is standard as in "XML standard").
The ENIAC Demo Competition
Closed source, sold software has a strong feedback loop. The developer puts it out, customers complain about it, developer makes it better, customers start buying and give more feedback, developer makes it better yet, more customers start buying, etc, etc.
Money creates a strong feedback loop, which creates a program that fits better with the demands of the customers. (It also lowers support costs. It breaks down in a monopoly situation...)
OSS doesn't have a strong feedback loop. That's why nearly all of the truely successful OSS projects have truely expert programmers, which somewhat make up for not having this feedback loop. Still, there isn't any significant pressure on them to make the product closer to what customers want, instead of what they want, leading to "usability" problems for others.
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.
From the article:
I don't think even many developers find Bugzilla to be a simple interface. I would find it easier to type in SQL queries againsta bug database manually than use the Bugzilla web interface.
11*43+456^2
The paper was meaty, but made its points well. Early on, the authors touched on the difference between the two user communities - the average user and the developer. Sorry for belaboring the point, but that's the problem with the OSS user interfaces - they're not designed to be used by te average user.
My opinion is that the best solution to actually selling OSS software to real users (the 'other' 99%), is to wrap it in a functional GUI that users can use, usefully. If I were Microsoft, that's what I'd be afraid of.
As an aside - there was a good feel of humour to the paper:
In the apps, not in the OS.
Think Opera, Mozilla. OK, maybe it is just in the browser market, but they have come up with some pretty good UIs in browsers recently. It is because everyone uses the browser, more bang-for-the-buck in developing the UI for it.
I think to MOST people the OS shouldn't need much of an interface, it should just do it's thing. Me? I love the CLI (I stands for Interface). So to me, it doesn't need much improving. But I understand that it isn't for everyone. A lot of other GNU/Linux users feel the same way, which is probably why nobody has changed it, or improved on it much. When there is a need for it, the OSS community will change it. But it isn't something you can just do overnight unless there is a real need for it.
My beliefs do not require that you agree with them.
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
REG: Yeah. Well, what Jesus blatantly fails to appreciate is that it's the meek who are the problem.
In many cases users are the problem, not usability...
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
Well, first let's factor in one thing. The majority of people developing open source software are NOT paid for their efforts. They have to hold down jobs like the rest of us.
Now, from that, factor in the actual time to write the base code of the application, the time it takes to patch and fix any bugs reported to the developers, not to mention the time taken to (god forbid) live their daily lives. Writing the actual interface becomes doing the bare necessity to make the bulk of the code work.
Perhaps if they were paid to do nothing but sit at home and code for 8 hours a day on their projects they'd be more useable. In the meantime, since they are (largely) unpaid for their coding efforts don't expect something that's going to be as sleek and sexy looking as something you can buy on a shelf.
If people in the open source community (users or coders) are upset by this fact, then I encourage them for the betterment of the movement to grab their fav. language and their favorite open source program and produce something better for the interface, open source the interface, and make it available as well.
----- I want my LART.
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!"
This question is really interesting to me because I am wanting to get into patent law. Anybody want to comment on what recourse a company would have for protecting the perfect UI? Legal precedent would not appear to be on your side.
One possible perfect UI would be that of a slave who must carry out your every whim. Sort of like a personal secretary. They live and breathe to make you happy. They learn your personal habits and adapt. They learn what news you like, what entertainment, keep track of all of the mundane details of life and remind you of important things that you needn't concern yourself with remembering. They buy the birthday present you were supposed to get for your friend if you ignore the reminders for too long. They tirelessly do research for you.
What kind of UI do they have? Conversational. You give orders, they carry them out. They give you information and reminders and responses to queries. You scribble notes, they obey the sticky notes.
If such a perfect UI were created, should Microsoft be able to charge a recurring cost for it, just as you would have to pay a human slave? But such a UI would bring slave ownership from the wealthy down closer to the masses. At least for those whose hardware is recent enough to run the software.
Wouldn't there be plenty of prior art preventing a patent? After all the slave/secretary has been around forever.
Those who would give up liberty in exchange for security and DRM should switch to Microsoft Palladium!
One of the main reason Windows and Mac gained popularity was they had human interface guidelines that developers with asked to follow. IBM had a guideline for awhile called SSA that was horrible and luckly never caught on. I remember one of the most frustrating thing when I first started using Linux in '95 there was no consistency in the human interface for applications. Scroll bars on the left or on the right, menu items in no particular order, every developer did what they liked and most of it was bad.
Today OSS has calmed down and there is some consistency in human interface, but an standard set of guidelines needs to be developed and encoursage developer to follow.
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.
Part of the problem is the meaning of "usable".
An 18-wheeler is not usable by the average consumer.
A Toyota pickup truck is not usable by an interstate commercial carrier.
The power of general purpose computing is the ability to hide a powerful, complex, and feature-rich program behind a new-user-friendly interface. Someone just has to write the appropriate front end.
Of course, it does help that large companies like Apple, Microsoft, and IBM can hire a team to maintain UI standards for their products. That's something the OSS community definitely lacks. Heck, "uniformity" runs counter to the chaotic free-for-all that marks the OS community.
Giong back to my vehicle analogy, the reason why cars are so popular is because the really critical UI has been standardized over the years. Gas pedal, brake pedal, PRNDL, steering.
For more information on how usability and user goals should be designed BEFORE coding, Alan Cooper written some great books on usability and design . Ok, so they are mostly Windows-focused, but his design approach is universal. "About Face: The Essentials of User Interface Design" is written for designers and programmers. "The Inmates Are Running the Asylum: Why High-Tech Products Drive Us Crazy and How to Restore the Sanity" is written for PHBs and marketing people.
cpeterso
When it comes to open source software, developers are users. Open source software is a good example of user-centered design because the connection between users and developers is so tight. They may not be the users that usability experts usually think about, but that's a problem with usability experts, not users.
In part, open source software is a reaction to the fact that commercial designs like Windows and Macintosh have completely ignored the usability concerns of expert users. Expert users need tools that are different from casual users.
If you look around other areas, many tools for experts would not pass muster with usability experts: knives are dangerous and hard to use, motorcycles are complicated and tricky to control, violins permit users to make enormous numbers of mistakes that only a little bit of technology could prevent, cameras like the Hasselblad or Leica allow enormous amounts of user error. Thank goodness "usability experts" haven't been allowed to mess with those designs, because they are excellent designs.
Usability experts do not get involved in OSS projects
Usability experts can start whatever projects they want to. But they shouldn't be surprised if many projects simply have no interest in their advice--that isn't because people don't understand what usability engineers do, it's because they do.
And you can see many of the pathetic attempts by usability experts at making computers more intuitive at the interface hall of shame (most of the IBM stuff on that site came from what is generally considered a reputable user interface research group at IBM). From supporting family and friends, I can also tell you that neither Windows nor Apple usability have succeeded in making user interfaces that are intuitive even to their intended target audiences. Perhaps before complaining about the usability of open source software (which is much easier to support remotely), usability experts should first figure out how to do things right even for companies willing to actually invest millions of dollars.
However, projects like KDE and Gnome, whose aim is to produce an improved Windows or Mac-like desktop may well welcome the involvement of usability engineers. Any usability engineer who wants to volunteer is free to. Personally, I think that for non-programmers, paying a company like Microsoft or Apple to buy an OS is a better choice--if the market were only a bit more competitive.
Not 100% related to your post exactly, but it spurred me.
I've run in to people who talk about 'open source' graphics, 'open source' art, etc. What these people mean by 'open source' is 'free', nothing more or less. Whatever 'betterment' can be achieve by opening the source to a project (review/feedback/improvements/etc) generally don't apply to graphics/documentation/design.
Many people are drawn to 'open source' because of the philosophy behind the movement, but there's not much benefit for an artist. You simply have to get people to agree to give away their work for free, with little or no direct or indirect compensation. Most artists/designers aren't brought up to think that way (probably for good reason).
creation science book
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.
It depends on your target. Take computer languages : they are usable, but neither intuitive nor with a low learning curve (not most of them, at least).
I'd say a good Man-Machine Interface (which might not be necessarly a GUI) shold not make things unnecessarly complex: simple tasks should be simple to accomplish. Complex tasks, however, should not be semplified too much, or they loose most of their utility.
I might agree that open source software, made by computer experts for their own needs, often fails to meet the first requirement. (but sometime succeeds in unexpected way). OTOH, commercial software, especially from a famous^H^H^Higerate Redmond-based company, even more often fails to meet the second requirement.
Ciao
----
FB
I think you didn't read the article, and you are confused about the terms you are using. OSS work typically has very low usability but very high utility. You seem to equate usability with utility. The article defines usability very clearly and frankly, OSS falls flat on its face. You also don't understand good software design if you think GUI bells and whistles are added for marketing.
Education is a better safeguard of liberty than a standing army.
Edward Everett (1794 - 1865)
I don't think he meant 'credit' as in a textfile attribution, but the idea of a writer's or artist's contributions aren't valued enough. Some projects may be the exception that proves the rule, but overall *most* open source projects focus far more on code to the exclusion of interface design, and clear/concise documentation.
There's nothing inherently BAD about it either, but it taints the 'movement' as extremely code-oriented rather than end-user-oriented. Again, nothing wrong necessarily, but don't also wonder why people are willing to pay hundreds or thousands for packages that don't accomplish anything more than an equivalent open source package.
It's not *just* the results, it's the process by which the results are achieved. If the choice is between a painful process or an easy process to get arguably equal results, people will choose the easy process, even if it costs money.
creation science book
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!
I got some excellent end-user feedback for my project when a medium-sized ISP deployed it. My contact in their tech department summarized the kind of calls/requests their support department got, and I implemented (or ignored) some of them in the project.
Personally, I think the biggest problem is that OSS programmers rarely hear from non-technical users. Of course, the other problem is that ordinary non-technical users rarely hear about OpenSource software either...
---
Open Source Shirts
Interesting idea. Could you expand on it a bit? What, specifically, are the changes you would make to bash/tcsh/zsh in order to take advantage of these improvements? Which specific improvements were you talking about? Links to academic research on the subject of command-line usability, or columns by half-trained experts on the same subject, or crazed rants by experienced curmudgeons would be appreciated. (Yes, the syntax for doing reasonably complex programming in bash feels totally weird, but Perl exists for doing more complex junk.)
If you say anything about "natural language parsing", I'm going to laugh and point you to an interactive fiction guide since those games' parsers show the state of command-line natural language parsing pretty well--and they can't come close to reacting intelligently to everything the user of a (simple) game can do, much less everything the user of a (complex) modern OS can do!
Give a monkey a brain and he'll swear he's the center of the universe.
I am not sure if I believe the opinions I keep reading here about OSS developers, being:
:-)
:-)
:-)
1) Elitists. Come on, lets be reasonable now. If that were true, we wouldn't have anything but bash shell scripts for all our software.
2) Don't care about users. Also a comment I have seen, also not true.
3) Don't have the resources to do useability testing. Perhaps, but not universally so. Mozilla? Open Office? Not usable? I don't think so. SOMEONE is doing there homework there in the usability department.
But, seriously, I think the problem, all of the problems, Linux (UNIX) in general is facing is that the stage for which operations and use are/were confined to the server room.
We are in a TRANSITION PERIOD, which is going to take another 5 years to work out to address DESKTOP issues, now that the conquoring of the server rooms is a tide no company can reverse.
(Weep in the corner over there Bill....)
This 5 year transition period with usability is going to solve the following issues:
1) Up until now, there has really been no serious demand for desktop apps, in the office arena in the Unix market. This is turning now because the American software industry is, well, maturing beyond Windows. Windows is too monolithic, and too expensive to go beyond its current habitat.
Alternatives are wanted, and want generates development and need because companies that do not play by the Microsoft rules, that have to compete against companies that must, will rule the day in sheer economic terms of operating thier IT infrastructure. Regardless, in fact if you are a company or a country, if you embrace the new way, you will win the day!
2) As a result, mature GUI API's are needed to begin the process of building usable component software products to build software that is easy for the masses to use. Without a mature GUI API to program with, you can't make software that has a similair look and feel.
3) The API's most people will use will probably based on Qt or GTK. (i.e. GNOME and KDE).
I will make a prediction here that Qt will win the day. It is further along that GTK and has a much more mature development environment, which is effect is the foudations developers will need to build the API's and toolkits to make coherent GUI interfaces for apps.
The KDE team knows this, and as a result the toolsets for KDE development have been given equal pairing in attention to detail as KDE's GUI API has evolved. This makes it easier to build higher quality Qt apps at a faster rate than GNOME apps.
I point out in particular, the rapid pace of development of KDevelop and QtDesigner.
In the next 2 years, I predict a very visual studioish integration of all KDE toolsets, into one new development environment that will enforce look and feel much more effectively than right now, and allow Qt developers to make better GUI decisions as a result.
In the end though, you have to remember, the demand for Linux desktop apps will not really start to hit home for another 2 years yet. Linux is still wrapping up its winnings in the Windows Server war.
After a while, the larger server market will provide a new offense base to launch economic warfare against Microsoft's monopoly and Linux will eventually begin a new attack. This time, the target will be Microsoft's home world, and once we enter that system, we will deploy the PENGUIN DEATHSTAR.
What that "DeathStar" application will be, I am not sure. But I will guess and say that it will be OpenOffice full decked out 5 years from now, along with some sort of Exchange killer, yet to be named...
"We have entered the Redmond system Lord Penguin."...
"Fire at will!"
-hack
Got Geometrodynamics? Awe, too hard to figure out? Too bad.
Somebody comments: I thought it was just a distribution problem), and since so many people here on Slashdot rave about Debian I thought I'd give it a try. Especially since PGI(progenies graphical installer) is now 1.0.
Big mistake - you should have found out why they rave about Debian first. Hint: it's to do with raw power, not ease of use or nice interfaces.
tshak says: I'll keep trying so that I'm "open minded", but when a company can take a couple years and get unix on the deskop right (OS X) practically the first time (admittidly, it was released a few months too early), I become uninterested in the year after year failures of the OSS alternatives.
First things first, the usability woes of OS X are well documented. The idea that it somehow magically requires no effort to use is a fallacy. I always end up expending more effort when using a Mac than when using Linux or Windows simply because the Mac needlessly breaks habits to which the vast majority of computer users are accustomed to. This isn't me complaining about things being different, I have no problems with things being different, what I have problems with is the Mac doing things differently simply because that's the way they've always been done, not because it's better. Take the non standard keyboard for instance. Why? Apps don't close when the last window closes, meaning I constantly forget to quit them manually. Why? Software only ejects. Why? These are all usability booboos that you have to force yourself to become used to.
Second point, there's nothing hard about making a desktop based on UNIX. Unix, or rather, POSIX is just a set of standard technologies. What's hard is building a truly free (in both senses of the word) collaborative OS that is flexible enough to appeal to everybody, and yet integrates well enough to be very easy to use. It's hard. We're getting there. Comments like that don't make it any easier.
Tackhead writes: 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.
This applies to most software: any software in fact that isn't produced by a large group usually will not have dedicated usability experts on the team. I don't see people flaming the Windows shareware scene, despite it being home to some of the worst UI atrocities in history. And what do you know, the largest open source projects (gnome, mozilla, kde) have usability teams. It mirrors real life. The idea that all commercial software is more "usable" than open source software is imho a stereotype that's only loosely grounded in reality.
ChileVerde: "It raises the question though, how will the need for usability specialists fit in the current model for developing OSS? AFAIK, most of the usability/interface work on the projects are handled by programmers, who doesn't necessarily have the background on this topic."
Havoc is a great example of a programmer who "gets" usability (though perhaps a bit over the top). I always think of usability when designing my interfaces. Programmer != GUI monster. Often though they're not experts, but that's why we have experts such as the guys from Sun working on GNOME. They already are fitting into the open source model.
There may be a connection. A closed project allows one person to impose their will religiously throughout an interface. Open source ultimately is about concessions and cooperation, which may negate this type of centrist control.
No, it's about cooperation. That doesn't necessarily involve concessions. An open source project is like any other project - the leaders can impose their will with an iron first, or they can be weak and agree with everything. This happens in the commercial world as well.
ACK!! says "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."
Important insight here - the GNOME flamewars demonmstrate this very well. Some people felt GNOME2 was being taken away from them and retargeted at the corporate desktop user. It had a lot of "crack" features stripped out. It took balls to do this. The flamewars on the lists weren't pretty, and still the trolls keep trolling on forums like slashdot and FootNotes. This is a good example of a large open source project (that doesn't even have one leader) taking the initiative with usability. GNOME proves that a lot of the FUD in this thread is simply wrong: open source can be very usable, and it can be written for non-developers.
I have seen open source overcome every problem it has encountered so far, back when I was excited about this new new thing called Windows 95. I have seen it go through "toy OS", "can run web servers but will never get enterprise acceptance", "good at servers but will never get enough apps for the desktop", "too hard to install" and now "software isn't usable enough".
Every single one of those problems has been solved. This one is being solved too. Tomorrow I release autopackage 0.2 - it's CLI interface was designed with usability in mind. It uses colour to make the text easier for the eye to process, it uses simple, obvious command names (with aliases to facilitate guessing) and it comes with documentation. Open source is dead. Long live open source.
What an odd and disturbing trend. People publicly admitting that they are unable to perform tasks that tens of thousands of other people have performed with little or no trouble. [...] I used to get pissed off at people who would glibly and gleefully admit that "they did not understand math" or "computers confused them" as if math and computer skills were somehow optional in this world.
You're right. Math and computer skills are absolutely necessary for everyday life just like reading and writing, although perhaps not to the exact same degree. Similarly, and increasingly as time passes, they are essential skills to being an informed citizen (who votes with his or her rights) and consumer (who votes with his or her wallet). Anyone without a solid understanding of computers and digital information is set up to lose out big time.
Now I am going to have to make room in my big ass loser bag for people who are unable to install linux.
BZZT! Wrong. You need to make room in your big ass loser bag for yourself and anyone else who understands technology. When there is a widespread ignorance of and resistance to using Free software, everyone loses. The existance Palladium itself is not a threat to the survival of OSS and the freedom of information; however, the result of combining a cleverly devised public key crypography scheme, terrible legislation like the DMCA, and a bunch of ignorant, sheep-like users is that the universal perception of information is perverted into something false and harmful. You may see that, "If you can see it, you can copy it," is a basic principle of the physics of information, but with enough experience with commercial software and DRM "solutions", I can guarantee you the average consumer can be convinced otherwise.
There are two ways you can approach this problem:
1. People are too stupid and lazy to migrate en masse to free software. Since people won't switch, everyone's screwed.
2. Free software, on the whole, is not usable enough to tempt the average user or create large numbers of converts. Unless software gets easier to use in the near future, everyone's screwed.
If you go with #1, you give up all your power to correct our disasterous course towards unbeatable proprietary domination of the software market. You lose. Please step into the bag. If you go with #2, the opposite happens. You may not be able to change the way everyone thinks, but you sure can develop usable software. When you bitch and complain about how incredibly stupid people are, you pull yourself and everyone else away from a constructive solution to the very problem that irritates you. When you realize what you DO have the ability to accomplish, you are empowered.
Help make newbies comfortable. Help save your future.
Since everyone seems to see a desparate lack of usability in OSS applications, start doing something about it.
Write down your issues, post them on the web, submit them to the project developers at the very least.
Write a paper on how you think a computing environment should work.
Write an article to educate developers on the issues you consider most lacking in current software.
Find the packages you consider hard to use and fix the bugs.
Write your own application that works 'correctly' according to your concepts of usability and show the world how it's done.
If you won't/can't do any of that, then you've got no business complaining about usability issues - the developers are just supposed to read your mind to figure out what you want?
Linux/OSS will hit the desktop when the work (usability work included) required to satisfy a good percentage of desktop users is done, and whining on slashdot about how much work there is to do isn't going to get it done any faster.
Obviously there is an itch here, but most of the posters are just too stupid, ignorant and/or lazy to even try and scratch it.
I gots ta ding a ding dang my dang a long ling long
I agree. That's why projects like (X)Emacs, Lynx and Midnight Commander still exist and will never die.
Less is more !
Progeny is a small company, debian is a huge organization. The progeny installer might work for some people in some common situations but it doesn't work well for you, so don't persist using it. Debian is easy to install you just need to read the manual. The major difference between Windows and a debian system install is that you need to tell it what you have (hardware) and what you want to install (software). If you don't want to do this try KNOPPIX http://www.knopper.net/ it is the same debian on a bootable CD and it will probably help you get a idea about what you are doing, in a fairly safe environment.
natural language parsing
That would be nice, but I don't expect to see it anytime soon.
No, I'd be happy with even small steps to begin with. Just anything to get CLI development rolling again.
What about tooltips on filenames, commands, arguments, etc. to provide more information and help?
Contextual menus on them as well, just as one might see in the file manager.
Using the CLI and GUI in tandem as an integrated whole -- for example, allowing you to create pipelines and select files at times when it's harder to do so with a GUI.
Largely I want to be able to use a CLI as yet another input method for commands, just as I do with the mouse, keyboard, or menubars. The whole terminal thing might sometimes be useful (e.g. low-bandwidth remote access to a system) but is seriously in need of replacement for most day to day uses, I feel.
-- This and all my posts are in the public domain. I am a lawyer. I am not your lawyer, and this is not legal advice.
Usability has much to do with the interface as fitness for purpose. That is, the user should be able to understand what the tool does, and have some measure of control over its use.
Windows has a nice point+grunt interface, and a few tasks are relatively simple and obvious. On the other hand, lots of things are hidden in unusual places, which makes using it similar to playing KingsQuest.
The biggest fault is that there is some effort to "dumb-down" the interface, which means that guessing what to search for in the help files is quite amusing.
Windows, including gui programs, are scriptable from the command line, and so forth. But you would be lucky to find the command line options for your self unless you want to "read the binaries". For example, when starting the internet connection, I start the fire wall, the pop-up killer and then the logon. The firewall has some useful options (for closing the gui), which are not documented.
The best prize goes to Clippy. Even if you manage to find the right terms, clippy will direct you to a variety of different unrelated screens. It's not clear how certian features are implemented in documents, and Word is so bletcherous at formatting anyway, so you are reduced into "wordpad" style formatting in your 1000$-plus word-processor.
User friendliness is more to do with keeping with conventions, making sure that your tool will do what it says it will do, and drawing on past experiences. Controls that go together should be placed together. But even here, one needs to place some controls so that they are not accidently purged (eg ctrl+A = select all, ctrl+Z zapp all would be bad.)
The OS/2 user interface is less user-friendly to point-and-grunt but is more scriptable. Unfortunately, there is no obvious way to connect point+grunt actions to the rexx interface: specifically, one can not give a rexx name to a hand-made icon.
The whole point of the UNIX-style pipe is that there was an obvious user model of what the tools did, and tools just operated in an obvious way. Even here, there are problems when the -? option is put to STDERR (so "x -? > x.help" does not work).
I think part of the problem is that there is no standard GUI patterns in the OSS world, so everyone's doing their own thing. Maybe we need to look at some sort of "how your program should interact with the gui" thing for OSS.
In Windows and OS/2, this is relatively clear. Not perfect, but passable enough to make their interfaces something people want to use.
OS/2 - because choice is a terrible thing to waste.
Win2000 loads this app on setup. I really want to know what it does and how it works.
Like them or not, Microsoft dumps billions of dollars into research. Some of this money is spent on seemingly 'stupid' things like, what shade of blue they should use for their kernel lockup screen. But some money is spent on really useful additions.
Take the mouse scroll wheel. When I first saw this thing I sniffed at it and decided it was hokey. Now, years later, it's like I can't live without one.
I think the OSS community should at least pay periphery attention to developments on other platforms. See what works, and what doesn't and 'borrow' it where applicable. This is certainly what both Microsoft and Apple have done in the past.
The Amish think that technology creates idle hands, however this doesn't seem to stop them from using 'outhouse' phones and generators for their milking machines.
"...Well, there's egg and bacon; egg sausage and bacon; egg and spam; egg bacon and spam; egg bacon sausage and spam..."
is because they had control of the whole thing. Applications and operating systems both suffer from usability problems, but they are different - operating systems face even more problems.
One of the problem with an OSS operating system like Linux, is that all of the components come from different projects and different places. These different projects all have different goals, different levels of maturity, and different degrees of momentum and ability/inability to change.
Sure, there is some cooperation among groups, and the level of usability and integration does improve slowly, though often not until nudged along by a big player like Red Hat. For example, take fonts. To get a font to work in most versions of linux, the font has to be separately installed into all of the various components that may need the font, for example X and Ghostscript, and because of the lack of a consistent API, many apps, such as StarOffice, require yet their own installation of fonts. Efforts are finally being made to integrate this mess, but progress is slow and usually involves creating yet another piece of "glue" software to tie the pieces together instead of making the projects all change to use a common system.
In the end, with OSS, there is no authority that can say to all the components "get this shit integrated, and do it in a consistent way".
Now, before you flame me, yes, this has good aspects as well - there will be more innovation because more ways to do something will be tried, and one project doesn't necessarily have to be hampered by some bad decision made by another project. But it does unfortunately have the downside that usability and integration suffer.
Apple, on the other hand, would have been blithering idiots to allow three or four different parts of their OS to use some wildly different font system. If they did, they would have been laughed out of existance by the same people who praise this kind of behaviour in OSS projects.
Can you give me a nice GUI to administer my webserver? Great! But I want (1) textual manipulation [e.g., of config files], (2) command-line manipulation (via CLI utilities), and (3) programmatic manipulation (via libraries) as well. And I also want documentation for all of the above.
Make your config file well formed XML and you can have all four.
Education is a better safeguard of liberty than a standing army.
Edward Everett (1794 - 1865)
NOT
I highly recommend Debian for servers, especially when stability and ease of maintenance is called for.
That said, I've not tried Debian on the workstation. For that I use OS X or RedHat or Mandrake. All three of which install very painlessly and automatically (granted not on the same architecture).
Beta is broken and the link to classic doesn't work. Stop wasting our time or there won't be anybody left here.
There is no real reason why the interface should be an integrated part of the application. This is not an unusual idea, after all we see it every day in the form of web pages front ending CGI scripts. The "look&feel" can and should be developed seperately from the code that actually does the work. All that is needed is a well defined interface (which could be a global "standard" using, for example XML, but there is no real need.)
This seperation also provides, almost for free, thin client versions of your application.
Sure, RH and Mandrake and SuSE sell products. If you buy their product and don't like them, you have the right to complain (with them) until you loose the voice or your fingers hurt. But it would have been better to evaluate the product before purchasing it, and not to buy it if does not suit your purpose.
Free software is something else, though. It is developers _and_ users working toghether. They are in it for a lot of different and sometime conflicting reasons: to reach a common goal, for the fun of it, to make the world better, to achieve a deeper understanding of some computer-related field of knowledge, you name it. You may decide to ignore them: fine. You may decide to join them: even better, but then you are in it _with_ them, you are not their customer.
And, believe or not, this kind of approach has given us some really great software, and I hope it will continue to do so in the future.
Disclaimer: I don't write free software.
Ciao
----
FB
I think you misunderstand. No one is claiming that their work is being stolen, only that they are not respected for their contributions. How many well-known OSS coders can you name? Ok, now name a similar group of OSS interface designers, documentation writers, and artists.
When it comes to open source software, it is. That's because open source developers write the software they use and therefore give it the user interface they like.
I'm a developer, but for rarely performed tasks, I prefer a tool with an easy UI.
Sure, and developers create those kinds of tools ("easy" for a developer is still different from "easy" for the general public). For example, "icewm" has "icepref"--something that's great for casual use by programmers, but too hard for non-programmers.
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?
:)
Well the instructions for using a webserver are best summed up as "point a web browser at it"
Take a look at iptables. Very few people understand how to configure it for practical purposes. The documentation by the coder is specific on granular details, but completely misses the question of how do you put together a set of options that meet a particular threat.
.ADM file, but is little help on exactly how .ADM files work...
Thing is that this dosn't really have much to do if the program in question is open or closed source. Much the same could be said about the Windows program "Poledit", where the documentation very well describes the example
At least with an open source program you can look at the code.
Are you thinking something along the lines of AutoCAD (at least through R14, I'm not sure about more recent versions)?
AutoCAD is definately not easy to learn, but once you know it productivity is incredibly high.
Under capitalism man exploits man. Under communism it's the other way around.
I realize this will probably never be read as it is a bit late (4 days?), but there is a big (massive) misunderstanding in this discussion. USEABILITY is an issue about how to maximize the user's experience, effectiveness, and/or efficiency in using the a WORKING, BUG-FREE,
PREVIOUSLY-INSTALLED application, or OS. (or insert some other more-better lucid explanation). The word does not in any way refer to any of the ridiculously ham-handed, bug-laden, poorly-documented, poorly-interfaced, lazily integrated, rookie-mistake-ridden version of the *nix OSes referenced in the previous posts of this discussion. Just thought you should know.
"Not only is everything you know wrong.", says U.G.Krishnamurti, "but none of what you think you know has any relevance to what you need to know."