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.
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.
Keep out the riff-raff -- stick with command line interfaces!
Roving Web-Teleoperated Robot
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).
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.
Except that the usability, consistency and elegance of NeXTstep has been sacrificed to appease the Mac faithful's absolute assurance that the Macintosh Way is the one true way.
;)
:(
Scroll bars are on the wrong (right) side, so using NeXT's wonderful Miller column browser becomes an awkward back and forth burlesque for broad directory structures w/ lots of entries
Monolithic main menu, no pop-up right-button main menu (and the contextual menu is all-too sparsely populated most times) which can become gestural in nature with sufficient usage (Altsys Virtuoso - right click, Arrange | Path Operations | Punch is a single flick of the mosue for me
No tear off sub-menus---in NeXTstep one can customize the UI by strategically tearing off and placing sub-menus (need to print a bunch of Envelopes? Install Poste.app, open one's word processor, tear off the Services menu and position it so that ``Print Envelope'' is at (say) the bottom left corner of the screen---you can get to it with a single flick of the mouse and a click).
Carbon implementations drag UI expectations down---all too often they don't support Services, File Filters &c. Sometimes not even Quartz live-window drag / re-size
Verbose Mac-style menu shortcut descriptions which use weird symbols which aren't even consistently on all Apple keyboards (NeXTstep, Save == s, Save As == S; Mac OS X, Save == S, Save As == S)
Dumbed-down print dialog box w/ no Fax or Save (PostScript) buttons
File dialogue boxes which no longer support tab completion, filename selection to populate the filename text field, or automatically creating a path of folder(s) in which to save a file
And altogether too many apps haven't made the transition yet---I still want replacements for NoteBook.app, Lotus Improv / Quantrix, TouchType.app, Altsys Virtuoso (and don't point me at Illustrator or FreeHand, the UI for the former disappoints me, the latter isn't sufficiently integrated w/ Mac OS X, no Services, &c.), TeXView.app (TeXShop is quite nice, but lacks the IPC (inter-process communication) which made InstantTeX possible---EquationService.app isn't supported by a lot of apps too, so isn't as useful as TeXView.app's TeX Eq -> eps Service), Webster.app, Digital Librarian (MT Librarian is close, but crashes when I try to index texmf's doc tree), Digital Shakespeare, Oxford's Book of Quotations and TypeView.app
I've some information on NeXTstep and its UI on my personal pages at http://members.aol.com/willadams but GNUstep sadly lost GYVE, so improving on NeXTstep / Altsys Virtuoso seems rather remote at this time
William
Sphinx of black quartz, judge my vow.
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!"
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.
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!