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."
Is there a competiting website called . / now?
Karma: Not Particularly Funny.
usability and open source.
Coming up next on slashdot: Sexual experience and Linux!
I wonder how much effect this will have since that would mean rewritten a lot of ui code fron scratch...
Still nice to take the time to read it for future projects.
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.
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.
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.
Useability is great in most OSS work, extremely efficient and powerful...it just has a higher learning curve to the uninitiated user.
Craenor
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.
Actually....
Russian Open Source
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?
You just got to love ./configure
make
su -c "make install"
Sure its not clicking a button, but you would be insane to type
gcc --wierd option1 --wierd-option2 -0 -x -this -that file.c hundreds of times!
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
The weird thing is that I actually got to where I could read the whole thing backwards. Hmm, maybe I should try reading some hebrew sometime.
"It's a very tangled subsystem." --Windows kernel guru
If an open source meca like slashdot can't be h-cap accessible, what makes you think that open source software could ever be useable?
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.
I hear two different discussions on usability for OSS software. Discussion boards like this often praise this kind of work, but when you get to discussions with the people that develop the applications, it's a much much harder sell because everyone thinks they know what usability is.
Recent discussions on http://usability.kde.org and the desktop subproject for Debian are some examples of a refusal to get beyond comments like "Hey, check out my new widget!" and "Look, it's skinnable!"
not that I'm bitter or anything....
Without trying to learn more about usability techniques from people that make a living at it, we will be running around wasting our efforts on useless chatter.
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?
... 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
Okay,folks, this topic raises the question in my mind of which GUI toolkit will produce the best, "friendliest" interface. My interest, is in finding out what you all think will work as the best toolkit for developing apps that have a GUI that can be deployed across platforms. I am considering learning Java swing and/or TKInter (and my language of choice would be Python).
What do you think? If you have experience with either of these (or one I haven't considered), let me know.
Always look on the briight side of life! (whistle, whistle)
-1: Trollfeeding
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.
How is this flamebait? It is a legitmate offer.
I love a good technical challenge but alot of open source software does have usability problems. You can't do work if you can't get programs that are supposed to work to work when you need them to. Besides that, features are ignored because the author just wants to make the program just work. For instance, I have like 300+ pictures from Vegas but I have to click on them each one at a time and then go back and remember what one I clicked on last. I finally found a picture viewer that the "next picture" feature actually works on, that's just sad. That took me away from what my actual goal was and no, this isn't a biggie but when they add up over and over, it's very irritating and slows the production of what you wanted to accomplish in the first place.
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
Maybe usability hasn't been a priority for much of the OSS community because there's no driving commercial reason to worry about it. If I want to sell a general-purpose piece of software, I want it to meet the needs of as many people as possible: I'd rather sell into a target market of 100 million "regular people" than a million computer experts. An OSS developer, on the other hand, is rewarded by the compliments of a (relatively) small but appreciative audience that, like him, values power and flexibility over short-term ease of use.
Many developers have contempt for people who aren't particularly interested in computers, but just want to use them to get a job done. They wrongly equate intelligence with computing expertise: people who don't know how to edit configuration files are just stupid and not worth their time to worry about. In a commercial software company, the marketing department, for all its legendary faults, must try to keep this attitude from being reflected in the products. No similar control mechanism is in place in the OSS world.
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:
Editors are a good example to begin with. I dont like the big two (emacs/vim), they are for NERDS ONLY. But I do need to edit text sometimes, and I find pico/nano to be very good for the console (any idiot can use it). When Im doing serious work (working on 20+ text files) you cant beat kate. It has syntax coloring, spell checking, line numbers, can convert windows text files automaticly and all with kde integration, meaning i can work directly on files on remote systems.
As for DE's, I've always found gnome too hard and the apps are poor. Most of them are just crappy rip offs of kde. They crippled it in version 2.0, and I am discusted by it. But as for KDE, it is a lot better, it smashes windows xp lame gui in to a milllion pieces, and it is almost able to beat the legendary os X. I am really anticpating kde 3.1, which is due to come out any day now.
it's amusing how many gui-centric posts sprouted as i was commenting on the MISCONCEPTION that useability is tied to gui design...
newsflash - useability concerns existed long before gui design (hell, for that matter, long before computers)
not until the errant opinion that "useability" and "gui" are inextricably tied is overcome will significant, meaningful gains be made.
well... the fact is that Windows IS usable and OSS (Often Said Simple) nope?
Here's my pearl of wisdom to impart instant usability skillz on any OSS programmer:
Never underestimate the stupidity of the general public. When building interfaces imagine the end user is 12 years old.
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
I've found that usability tasks that involve end-users have a nice side benefit of increasing their affinity for the product. This is true whether they help with early focus groups, participatory design, or post-launch-feedback usability testing. They like to have their opinion valued. They like to contribute. They are curious as to the results of their contributions.
My experience of this impact has admittedly been with relatively small user bases, where usability participants can improve adoption and perception via word-of-mouth. But I have to think that end-user involvement could pay similar dividends for those OSS projects that want to go beyond scratching one itch and have a larger audience. Perhaps by involving well-known usability experts, or journalists, or any other group with the potential for wide communication.
Well, hey, I didn't spend all those years playing Dungeons and Dragons and not learn a little something about courage.
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.
keep in mind that riding a bike is not easy. same with windows. it is not easy to learn. but, it's what people have learned, thus it's what people know, so that is what we are up against. windows, especially office, is full of inconsistencies. i think they own half the interface hall of shame. usability is simply what you know, what you're used to. we either replicate it, or if we try to do it differently, it "is hard". my students in my clasroom have had no problem running openoffice. since most of them don't know much more than how to type the words and do a few things, they don't have to unlearn bad UI habits.
My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
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!
Ever found your trying to middle click paste and pressing ALT+F2 in WINDOWS! Those two features are so useful ill never look back!
It's hard, and most likely not possible, to get oss software to be usable. And for a very good reason.
Much of the very important things in oss are very good solutions to very complicated problems. apache, linux, gcc, etc. Ive only ever seen one way to make a complex thing simple and that is to make lots of assumptions about how the program will be used, and to take away options.
Take IIS and compare it with Apache. Its easier to set up, and simpler to configure, but its damned near impossible to get it to do some of the things apache will do. Why is this? because iis is designed to be easier to use. Many of the parameters that apache exposes could have been exposed to iis, but that would have been complicated. So to fix the problem, we make some assumptions about how it will be used, and don't let the user change things.
This is true of other things, like MS Access. Database's can be very complicated. Access Db's are usually not. Why? many assumptions are made about how you are going to use it. If you try to put a datamodel behind an access app that doesnt corespond to the one ms had in mind, you will be writing lots of code to make it work. Its possible, but its a bitch. They have made assumptions, and taken away control, but that is in fact what made it easy to use.
The people that write OSS are, as we almost all agree, usually writing something for them, but in any decent sized project, there are lots of developers involved. So we have a piece of software that is trying to scratch the itch of many different developers. This HAS to make it complicated. Everyone wants something different added to it. The only way to make it work for everyone who is working on it is to make it complicated, to not hide the complication, and not make assumptions about how its used.
And as soon as you realize that to make the program what everyone wants is to make it complicated, you can not make it easy to use. Its just not possible.
Hci is a pile of rubish. Designing systems has more to do with comon sense that anything else. Most HCI researchers I know (with exceptions) have no clue whatsoever the differences between the left mouse and the right mouse (in windows, let alone Xwindows with 3 buttons....).
There a lot of researchers out there with lots of really good ideas, but as long as they are held by the hci crap of usability/cognitive/taxonomies focus studies, the field wont progress. And windows/mac is not usable cos it is easy to use, it's cos people are used to it forced.
There are many different interfaces, desktops and so on in oss cos there are a lot of people out there that thinks/acts/programs differently, and is good to have variety I think.
HCI researchers are more worried about publishing their crap than actually doing something useful. And to make things worse, most of the the hci research is shifted everytime there is a new technology out there Go to the CHI proceedings last year and you will find lots of studies of "instant messaging", great, and the "theories" are changed to acomodate them to the new stuff. Paul Dourish has a good book about why everything is so bad. That is my interpretation anyway...
We won't really get anywhere with usability until we start incorporating the Fibonacci series into what we do.
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.
Whenever "usability experts" start working on a program, they usually remove all the features that made it usable by me, dare I say GNOME2 :)
SLOGEN [ http://ungdomshus.nu : Sebastian cover music]
"Palestinians == Terrorists" is an assignment statement.
In which language? In C/C++/Java it is a comparison. := is the assignment operator in Pascal. Any language that treats == and = the opposite way from C is just asking for trouble.
Oh I forgot, this is /. the home of wannabe coders.
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.
One of the big reasons why a lot of OSS has poorer (or no) GUI when compared to CSS is that OSS is developed via an evolutionary approach. Many developers discover that no one has written an application which suits a particular need, and they all start working on their own projects. After a while they make their work avalible and start to interact. When this happens, they all borrow eachothers' ideas and the good ideas are kept and the bad ones eventually die out. Unfortunately, the GUI is ussually one of the last parts that everyone agrees on. In contrast, closed source projects ussually have one person calling the shots (ussually cause they are providing the money). In this case the person calling the shots is ussually not all that technically savy (wheither or not they will admit it) and is going to be mainly interested in how the final project looks. The added drawback is since there is probably a profit motive and a release date, the GUI ends up getting more attention than the actual program. After all, it can be patched later.
To truely compare the usablility of OSS vs CSS I think that you need to look at the more mature projects. Therefore, compare Mozilla to Internet explorer, compare Star Office 6.0 and OpenOffice.org to Microsoft Office, compare gcc/emacs/gdb to visual c/visual fortran (does that exist)/visual basic/visual c++/D-Flat(same as C#), compare postsql and mysql to access and DB2, compare bash to ?DOS6.2?, ssh to ?what?, TCP/IP to ?what?. Don't compare emacs functionality as a WYSYWIG wordprocessor to Word. It's just dumb.
Galium Arsenide is the material of the future, and always will be.
What about the KDE Usability Project?.
Until there's a massive social change in the open/free software development community, Linux will never be anything more than a niche OS, and will have zero chance of taking even 10% of the mainstream desktop market from Windows.
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
i have been interested on opensource for a while now and have found it easy to jump right in and code before planning.
i think that papers like this are good news since it gives you alot of insight about how you can improve your own projects as well as welcoming others into the OSS scene.
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.
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!
n/t
mogorific carpentry experiments
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
If you want a feel of real alternative but higly usable [for power users] 'window management', try Ion.
Ciao
----
FB
" To change the configuration of Program X simply use your favourite text editor and add the line "-option [-adst] [--h] refnumber columnnum -g --system""
pfft. This entire process could be made user-freindly with a little work, but that is the problem: too many Linux users are elitists. Quite honestly, they don't want Linux on the desktop, they want Linux to be their 1337 small-penis-compensation.
Good night.
Ciao
----
FB
If you want "usability", connect the user to the developer in a meaningful way, by adding the following features to your project.
1. Feedback Button
2. Zero Defect Tolerance
1. The article mentions user reports, a.k.a., the Feedback button. It's really easy to implement, and every application should have one. Make it big and obvious and easy. You can't fix the defects if you don't know what they are. Your users will be *More than happy* to tell you all about the defects, if you make it clear how to do so, and that you are ready to listen.
2. This is not a joke. Any bug, and I mean any bug, once confirmed, should be a "stop the presses" event. If you can't fix the bug in 24 hours, create a build of the application with the failing feature removed. The best programmers, the ones that do 90% of the work in many OSS projects, know this intuitively. Making it an explicit policy would help any project greatly.
And don't forget -- confusing UI and incorrect documentation are defects too. I would define a defect, in fact, as any promise made by your application that it fails to fulfill.
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.
I just keep having flashes of my computer rebeling and killing me. I don't think I want that kind of a computer interface.
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.
Yours or the parent comment? I don't even think it was flamebait, but you flamed it anyway.
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.
Listen to your users, but ignore them.
When I attended UI classes, I learned that users typically lack...
Real UI designers are a valuable commodity. They will not come from the ranks of the programmers, but they still are technically savvy people. The non-technical people will just have our computers treating us the same way they already do but with prettier pictures. Some of the slashdotters could maybe become real UI designers with real training, excercises and education, but not just by complaining about Linux installers.
- Ismo
I had a similar problem with RH. Then I tried Mandrake 6.1. Never looked back . . .
.
.
9.0 has become the most important tool for my work now. It ain't supported by my company's IS dept., but what kind of support can MSCEs give me? I know the 3 r's by heart, and they don't apply to Linux.
With 9.0 I have:
KDE3
Mozilla
MySQL
MySQLcc
OpenOffice (connected to MySQL)
PERL
PHP4
Bash
etc . .
And if my life is missing some software, I head on over to www.mandrakeclub.com to make a request.
There is urpmi, which makes you LOVE rpms, not hate them. And there is drakconf, which most people who use it will just call "control panel" because that is what it looks like, except I have NEVER had so much control on the real control panel (in windows).
Seems like you had an issue with Debian. I would never recommend Debian to someone who has to look up a howto on how to use a CLI to make a floppy. Debian is for gods, which many of us are not. Don't take it so hard.
I get frustrated all the time with Linux, not because of it's limitations but because of my own. Most people in my line of work just use the tools available to them . . . Excel, maybe Crystal Reports. These tools are great, but not perfect, and I want perfection. My employer deserves perfection. So, instead of wasting time constantly updating a spreadsheet every month, I learn perl, MySQL, PHP, and whatever else comes my way. Only Linux makes this available to someone with no formal computer education, like myself. My company won't pay for tools unless they are 100% sure they are for someone who knows how to use them. But without the tools, how will I ever learn? That is what Open Source is to me.
Look, I'm sorry about your experience, but some of us don't have a lot of money to buy the best from MS. We couldn't afford to go 5 years to school to get a CS degree. As a result, we are limitted to only the most "popular" tools at work, destined to live life as excel drones. And some of us would rather die than live such a life, so we hit google and find out about alternatives. It takes time and can be extremely painful, but it allows us to escape our fate, gives us a chance to be something more.
To me, every frustrating experience I have had with Linux is like a trophy. It is my token of survival and of humanity. I often recall my mistakes and triumphs.
I have no clear memories of windows, just a thin blur too faint to be convinced of their existence . .
Sdelat' Ameriku velikoy Snova!
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 !
I can think of at least one counter example: POPFile. The program is open source (does Bayes email sorting/spam killing) under the GPL but a lot of focus has been on the ordinary user. The UI is being constantly refined for simplicity, there's a full manual and there's even a Windows installer for the regular Windows guy.
You can get it from http://popfile.sourceforge.net and I can't recommend it enough.
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.
..run-on sentences avoid YOU!
In Soviet Russia, small penis compensates for YOU!
A better class? Ahh yes, the byte-pervos. Unusable software certainly results in more brown weenie thumbs ... which ought to make the Twinkie industry VERY nervous.
Whine, spew and rant like you, huh Dweez? Nah ... a Lusrs too busy ta whine that bad. He/she WORKS-(TM) for a living. Can I spell that for you, Dweez? w-o-r-k ... just in case ya ain't never done it!
It's important to note that there are many types of useability including:-
1) Speed of use
2) Power available. Ease of doing more advanced things.
3) Accessibility
Remember this:
**There are levels of accessibility.**
A knowledgable user often finds simple programs unwieldy! I for one find MPLAYER's VO option easier than working with WindowsMediaPlayer for example. Especially if I want to do something complex.
Please understand this when people throw thier arms up at KDE. We can feel like the the higher accessibility levels are being neglected for the Windows simplicity levels..
I'm happy to see projects like KDE take thier time to get things right. I don't mind if OSS doesn't cater for new computer users too much, I'm kinda happy for Windows to do that, with Linux as an option if you want more useability at the higher end of the scale for example.
Took me about a year to get to the stage of being able to either do anything or if I can't , how to find out with Linux.
Sometimes it can be easier when you know how with OSS.
But I have the time for it.
I wouldn't say that OSS is always less usable; try comparing apt-get verses Windows and it's various methods of software management for example.
Of course OSS is likely to be less useable because it often starts out as a coder making it for themselves. This will remain the source of the strengths and weeknesses.
A blog I run for the wealth
Don't get me wrong GUI's can be useful but I suspect the problems you are having are not because of the X GUI but because you don't understand how to use your system.
The major merit of GUI's is that they allow you to learn to use the system by playing with it. Pull down the menus, push the buttons and see what is there.
The problems arise when you have to do something that the designers never envisaged. This happens after you have learned the basics and actually want to get work done.
The second problem is that the more menu's/buttons you add the less effective this become, to the point where you have to read the help to find out what you want to do.
At this point your GUI has become less useful then a shell tool.
If you can compare DOS to a Bash shells, you should learn a lot more about shell tools, there really is no comparison. Learn the following and many of your shell problems will be resolved.
--help -h will give you a summary of available commands
man will give you a more detailed guide.
info will give you an interlinked guide (you might find this easier then man if you just want to find one thing)
There are also ways to get a list of available man pages but I don't know of the top of my head. I generally use tkman & tkinfo, which gives a window GUI, and some cross-referencing of man pages.
I think the major reason that OS X has managed to come up with a simple GUI quickly is because that is what they were trying to do.
Most Linux users have real work to do, for us functionality and access to information is the most important and deciding factor.
I use Windows at work and have installed cygwin because my time is limited.
I've skimmed the linked article twice now and it does not state any specific usability issues. It seems to merely be a limp-wristed academic rehashing of any discussion regarding OSS usability conducted on the internet in the last five years. The assumption made initially that because every person and their pet isn't now using OSS instead of something else because of usability issues is fundamentally flawed, sorry C- for the professors. I haven't had a chance to follow all the references but some proof that usability is a major stumbling block to OSS take-up would be nice. As opposed to the inertia of (modern) business practices and the fact that most (home) users are "happy" with what they have already and have no need to swim in unfamiliar waters. Note: I don't think the article is a complete waste of a read but I do think it failed miserably in what it purported to do.
I am a highschool junor that has just completed a semester's worth of formal brograming with QBASIC. (I would have rather had C++, but Java is next semester.) From dealing with some text-based UI, I have found that a "useable" and "intitutive" UI is VERY difficlut to pull off.
For example, I just wrote a game of Tic-Tac-Toe. (Which was VERY enjoyable to write.) I made the user enter which square they want by using the number pad.
7|8|9
-----
4|5|6
-----
1|2|3
this configuration made perfict sence to my dad and I, but my mom just couldn't understand it! To a programmer, it's easy to decipher what is going on inside the source and modify it to get it to look the way they want.
Microsoft and Apple have experts that do research on what is easy/intutive for USERS and relay thier findings back to the programmers. The comercial UIs are designed for the use by the lowest form of human intellegence. The OSS UIs are almost completely opposite. If you want the text color to be red the user must use some sort of switch on the command line or some other cryptic/strange/unintutitive method.
It would seem like what we need is a very in-depth study done on OSS software UI design. Then, let the programmers know that. Have the programmers code with the user in mind; not a fellow programmer.
(On a side bar, this course on BASIC is my first FORMAL course on a language. I also use C++, VB, shell script, and some RISC assy. I'm not that n00bish.)
Why do people quote Eric Raymond? He's such a pretentious jackass.
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.
Urgent Message:
Private Eyes
They're Watching You
They See Your Every Move
Please Exercise Extreme Caution
>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.
>
>
Translation for you Usability experts/engineers. You tend to FUCK THINGS UP. *BADLY*.
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.
This is not a new argument or problem, and it is not limited to open-source software. Usability is HARD.
For the whole thing read The Tao of Programming
There was once a programmer who was attached to the court of the warlord of Wu. The warlord asked the programmer: ``Which is easier to design: an accounting package or an operating system?''
``An operating system,'' replied the programmer.
The warlord uttered an exclamation of disbelief. ``Surely an accounting package is trivial next to the complexity of an operating system,'' he said.
``Not so,'' said the programmer, ``when designing an accounting package, the programmer operates as a mediator between people having different ideas: how it must operate, how its reports must appear, and how it must conform to the tax laws. By contrast, an operating system is not limited by outside appearances. When designing an operating system, the programmer seeks the simplest harmony between machine and ideas. This is why an operating system is easier to design.''
The warlord of Wu nodded and smiled. ``That is all good and well, but which is easier to debug?''
The programmer made no reply.
Useability is like a wide mouthed fish that captures everything and means nothing. I think what many people mean by it, is to ask whether a piece of software was intuitive to use for a new user. That depends highly on what that user is used to doing. My Dad has flown many aircraft and repaired planes and helicopters all of his life. He is a fairly technical fellow, but after spending 4 evenings training to use Windows 98, he is still frustrated with trying to get anything to work. Many people would say Windows is intuitive, but it is only the case once you've been using it for ages. Likewise, for Unix variants.
I am a fairly adaptive user, as I've been with Windows, Mac and Unix for over 10 years. However, I am often pissed with open source projects purely due to poor documentation. This can be true even with mega projects like samba and software raid.
I sweated enough getting through a software raid conversion project that I decided it was time to do something about it. I roused the interest of my local Linux Users Group and found people who were willing to help write better documentation. I enlisted the support of a friend who is a pro tech writer for over 10 years. I contacted the LDP and the current maintainer of the Software RAID HOWTO and suggested we take some action. No response has been heard. This particular HOWTO is missing steps and is now 3 years old.
My pet peeve is finding software that has only a README with one config example and then the sentence "this should work". When I see that I don't even bother anymore.
Even locating information on serious bugs is harder than before. Samba had a bug with files larger than 4GB on a Linux share. It isn't listed in the release notes of the build that addresses this problem.
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. As a result, iptables is being configured by a bunch of downloaded scripts on the net which most of us don't understand.
Things are becoming increasingly complex, due to higher security needs, increased features, more choice in packages, etc. Documentation that addresses the questions of the purpose of the tools and how to make practical use of them is very much needed.
The question is, how can you get the official party responsible to even notice the need and the person volunteering to help with documentation?
As for the guy who says he writes software for himself and he doesn't care about anyone else's needs... Don't even bother sharing your code if this is your attitude. You should keep it to yourself and forget about messing up the sourceforge landscape. There are already enough projects there that have lots of good intentions but no time available from the busy coder to come back and update things. If you don't even have the good intentions to offer us, then don't bother sharing one line of code.
I thought it was just me that hated Debian's tortuous install. Thanks!
Lynx doesn't have an expert interface in the slightest. It's pretty user-friendly by text console standards (see also Pine).
I've been trying to explain this to OSS people for years. And the "You got the source, you fix it" attitude sucks too. You wrote it, you fix it if you want me to use it. And for the coders who think "if it was hard to write, it should be hard to use" - if the code is that hard for you to write, you need to change jobs.
To the KDE people - You're getting really close, but not everything you changed from 2.x to 3.x was good - the "New Directory" button needs to be on the menu bar, not buried under "Extras." And the directory box in 2.x was nicer, and the old 2.x Advanced Editor rocked. Bring it back, please. (And don't tell me to use Kate, it doesn't have ASCII as a file save format.) And lose the cutesy Keverything, it's tiresome trying to figure out what the app does. And let me arrange the stuff in the start menus, don't do it alphabetically for me.
To the Gimp people - make the simple stuff simple amd intuitive like every other graphics program in the world. Try using a Windoze graphics program sometime, then make yours work a little more sanely. And get rid of the frigging pop-up menus that pop up on top of what you're trying to work on. Put everything in one big window. Do this, and I'll boot Windoze a lot less often. As long as your ui sucks goat, I'll keep booting Microsoft.
To the Gnome folks - I got old eyes that can't read the tiny little fonts that can't be changed on all the menus. I won't use Gnome because I have to stick my face against the monitor. Want world domination? Fix it.
I won't run anything but OSS in the server room, but there's no way in hell I'll put it on the desktops in the offices until it's done right.
Did you think to ask anyone for help, or just post your diatribe?
I've been using Debian for a while now but sadly have to say that it is too geeky and difficult. It's depressing too because it realy is the most stable and apt-get is just incredible, it makes you never want to use anything else again. If they would spend more time on the x86 platform and usability issues such as hardware detection it could easily become the number one distro out here. Once it's setup its great, even with so much of the software dated. But what a chore and pain it can be to get right sometimes. They seem to spend too much time on the other 10 platforms they distribute to. What percentage really run those other platforms anyway?
C'mon Debian, pick the few that are most popular and make the distro shine or at least let the x86 version run ahead on it's own not being held back by the other 10.
NOT
...Uh, sorry. Lynx isn't precisely command line (it renders the entire screen), nor is it cryptic enough....
Your camera example is excellent! If you are a photographer, you'll learn how to use a professional camara to get the best results. But if you don't take a lot of photos, then you'll probably be happy with a cheap idiot-proof camera.
The problem with some of the usability evangelists is that they want every piece of software to be intended for the casual user. Any piece of software that does not meet their ``standards'' is considered crap. I'd never dare to say that a high-end Leica camera is crap because I don't know how to handle it.
cj
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.
Yeah right ... the KDE HF team ... MOE_py, LARRY_esque and CURLY_q ... that's why its GUI looks like a pie-fight at the debutaunts ball where neither heredity NOR environment really count, but only ATTITUDE!!!
I think you are right. The skill of being able to convey a compex problem in an eas to understand way is not looked upon as a skill that is worth but nought. Our business is providing that forthe customer. We are doing OK just taking OSS and MARKETING directly as if it was a "real" propriatary piece of software! QA,glossy brochures, and the like. I spent 10 years in product design and know nothing about programming. l
Chances are, nearly every desktop computer already has some OSS installed. Doesn't Windows use the BSD TCP/IP stack? Not to mention Darwin and OS X, et cetera...
O frabjous day! Callooh! Callay!
Could someone please tell me where to download the Opera source?
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.
I would suspect that most of the usability problems in the application are already posted as bugs. Bugs such as "I tried to do this and this happened".
The bugs are then closed with a comment "do it this way".
Maybe a new tag should be added for categories of bugs that are usability problems. Then a list would be available for someone to work through and fix.
Derek
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"
Basically - software license is not a guarantee of perfection. OSS does not imply a great interface - but many OSS projects have a perfectly usable one.
Gotta say I do love the OSS movement. I love the idea that Linux is free and comes with so much crud that would cost $50000+ 10-20 year ago easy.
.02 cents
I've used Linux off and on for close to 5 years now. It's come light years since than. Easy to install and operate. lookin' better everyday!
I remember my first x-11 install I nearly blew up my monitor. Now it is automatic complete with drivers!
I'm not a Unix guru. I learned on DOS and Windows. I know what I know from Linux by hackin' it and reading what I can find about it. There are still some major issues why I am running Windows XP again on my main box and not Linux. I do have Linux running on 5 other machines though, which I am using to build a render farm with. For this Linux is better than Windows. But these machines just need to be installed and that's it no interactive use on them. I just need to get on them once in a while to look at logs and stuff.
The major issue why I am back to XP right now is this: while doing some stupid shit in my bios (tweaking it out for more speed.. like a p4 2.0ghz machine needs to be any faster) I managed to frig out my ethernet and sound driver. I spent a while and could not figure out any way to fix them. I could not find any information anywhere to help me figure out what the hell happened to it. I'm not a Linux newbie but this was totally screwed up. I like to play Quake 3 on Linux. Without Ethernet or Sound it was useless!
This is the major reason Windows is still better than Linux. In Windows, you just go to control panel and click on the device and remove the driver. If it gets hosed, remove it and install a new one. Case closed. I have saved even Windows 95 machines from total hardware disasters. With Linux though I am screwed when this stuff happens (and it's happened on rare occasions before) I have no idea how to fix it and absolutely no one to get help from.
Second no commercial games on Linux. Major reason I buy fast computers is so I can play new games on them like Age of Mythology.
Unix is like giving a pot smoker a hyper-bong to smoke out of it. It's got so much power in it the guy will fall over unconcious. Everything is programmable in Linux! Everything!! And configurable as hell. But that's also a major drawback. Joe User will never figure out how to run this stuff from command line. I can't get my brother to learn how to use the command line in Windows! hehe.
That's my
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."