Open-Source Software and "The Luxury of Ignorance"
Bootsy Collins writes "Using the recent experience of trying to configure
CUPS
on his home network, Eric Raymond has
written an interesting new screed on poor design of user interfaces in general, and configuration interfaces in particular, in open source software, entitled
The Luxury of Ignorance.
A sample quote: 'This kind of fecklessness is endemic in open-source land. And it's what's keeping Microsoft in business -- because by Goddess, they may write crappy insecure overpriced shoddy software, but on this one issue their half-assed semi-competent best is an order of magnitude better than we usually manage.'"
JWZ was trying to get video to play on his box. More than a year old, but still a good guide to interface design.
So, if you are out there writing GUI apps for Linux or BSD or whatever, here are some questions you need to be asking yourself:
That's not necessarily true. Mandrake set up CUPS and just about everything else I've needed with no problems at all. It's all about what you're doing. For some programs under some distros you need to be a programmer to install and / or set them up. Under other distros, and with other programs, it can be a breeze. (Just look at how well Knoppix does!)
What a rant! Im going to send mod points to Eric Raymond's house by mail.
I don't think its marketing as much as its lack of marketing by Apple. Sure, they are flooding the airwaves with iPod and iTunes commercials, but they have never run a commercial showing what OS X is capable of. Or iLife. Most people I talk to have no idea when it comes to Apple. They are amazed at how well the software is integrated together and that Microsoft Office can run on a Mac and that they can surf the internet as well. I get so tired of doing Apple's job for them. I really should send them an invoice for all of my PR work.
Congratulations on perfectly illustrating the attitude that keeps anyone from solving the problem. Congratulations to the moderator who gave you +1 Funny for doing exactly the same.
Anyone who can't use an interface you understand isn't as smart as you and therefore is not worthy of consideration. Is that it? You can see where this leads when a developer hears criticism of the UI - they designed it, so of course they understand it. Stupid users! Of course it's their fault.
And then they go and blame the same users for choosing windows...
Everything depends on what system you are configuring CUPS on. I'd agree with you for Mandrake Linux, but configuring CUPS under Slackware is anything but easy. I think one of the major problems is that people come out with great tools (i.e. CUPS), but they require a certain amount of effort / sophistication to use / configure, so distros like Mandrake, Suse, and Red Hat write their own configuration tools. Only problem is that because each distro is set up slightly differently, configuration tools aren't portable across distros. Perhaps what we need is a collaborative effort by the major distros to create 1 size fits all config tools.
The entire nation considers your written and spoken rants both condescending and highly obnoxious.
Are you kidding me? This is precisely the thing that we need to concentrate on. If we can't be critical of ourselves - MS sure can.
How Important developers of the GNU and Open Source Movement are living the obscure land of kernel hacking and going to write some userland code. Many times, in Free Software, the underlying system, the lower level development is made by the most competent developers, and so is robust, stable, actually the best out there, but the front ends, well, they just don't have the same quality, so, for the unexperienced user, it looks like crap. I think it's time that we change this, and start showing that GNU can also be reliable on the Desktop, not only showing how fast it is, but also good end-user interfaces. It's not that i don't like KDE, GNOME, XFCE, etc,etc, they are ok, but i think that if we put the best people to work on it, they will be even better.
Linus has been talking about this recently, are we going to start seeing things like Linusorganizer, Linword??, hehe, that would be nice.
WTF am I doing replying to an AC at 5 A.M on a Friday night?
I honestly have not ever heard someone use that term outside of The Clash. I shall use it tomorrow a minimum of twice.
.-=Wit is educated insolence=-. -Aristotle
The problem is that not everyone can get it working. I'm a CS major and a Linux geek. Definitely not an advanced Linux user, but I know how to setup and use Gentoo, which I do, but I simply could not get CUPS to work on my system. I'm sure if I spent a good deal more time reading the documentation and playing with it, it would be easier in the future, but I, like most computer users, won't NEED to set it up more than once. I should have an easy time getting it setup and working so that I don't have to dick around with it ever again.
True, and a computer takes some skill to use. It's not fair to expect the average user to be an expert just to do some simple configuration.
Hell, I'm a half decent tech geek, and I struggle to do many config tasks even on user-friendly distros like Fedora.
Should it require significant skill to update the kernel (and know what you're doing?) ? Sure. But to install simple hardware? Hell no.
"Faith: Belief without evidence in what is told by one who speaks without knowledge, of things without parallel." - A.B.
The problem is in Fedora, not Cups. Cups works just fine, and more or less like he wants it to, if that is all you ever use. Fedora, using whatever configuration system it uses placed some unuseable stuff there.
Granted Cups could use a lot of help, but he wasn't using a Cups configurator, he was using some other configurator that can work with not only Cups, but also SMB, LPR, and a bunch of other stuff. I don't know the solution, but bashing the Cups guys won't get you any closer to it.
That rant, to me, sounds like another programmer who can't cope with the idea that most people do not think like programmers when it comes to understanding software, and would rather blame the user than have the strength to take an honset look at the situation and what he/she could do differently to improve it.
I know writing GUIs is a pain (I'm not a professional programmer, but I've had to do nothing but coding for 2 years), but programmers have to stop blaming the users and other people who point out things like this. It's just a denial that 95% of all people using a computer need something simple because, to them, IT IS JUST A TOOL, and they need to use it to produce a product, not to hack on and explore.
ESR has a good point -- if FOSS is going to replace closed source, or hold its own, or even continue to grow, FOSS programmers will have to get realistic in understanding how users think instead of blaming users because the programmers don't want to make the effort to understand the other side of the issue.
For the good of the FOSS community, ESR needs to speak out more, and people like the above poster need to "please shut up" and listen to other points of view, instead of hiding their head in the sand in denial.
First of all, as a self-taught Linux user I am delighted that someone as talented as ESR can have a hair-pulling session doing something like setting up CUPS. I have had many an evening like this. Excruciatingly close to getting something done, something that should be simple, and instead spending hours feeling stupid and incompetent. He's right, and he's right about the fact that this is why there are countless unused Linux install discs littering desk drawers under Windows machines, tried and abandoned by people who hate Micorosft, hate Windows, who would LOVE to support an alternative, but can't make it work.
The user is the loser. There's a clubby, exclusive, snotty attitude among user's groups. The online resources are hopelessly disorganized or relentlessly dinged with ads. The vision that Stallman has of software as knowledge, rather than product, is lost among the throng of sociopaths that spout RTFM at users that ask the same questions over and over.
Well, you know why people have the same questions over and over? Because the software is obscure and the documentation is unhelpful. GNU is based on people solving their own problems and then giving other people an opportunity to use thier solutions. Documentation, at best, is an afterthought. Once you have solved a problem, there's no need to go back and explain it to yourself, any documentation that does exist arises purely from the virture of developers, not because they need it themselves.
The fact that the most useful thing you can have with this enormously powerful gem of human progress (the computer) when trying to use Linux is a printed-out HOW-TO, probably downloaded and printed from a Windows box, is more than ironic, it is shameful. The tools for providing context-sensitive help are there, they just are unused. The developers don't care about the user, they've solved thier problem by this time.
If OSS developers needed robust documentation in order to distribute their product, they would either develop it or not distribute their code. But they don't. There's no reward for the developer.
This brings me around again to the notion of licensing software developers and then making them accountable for the usability of the product. Not as an avenue for exclusion, but to build a community of developers devoted to the user, a Mr. Goodwrench sort of certification standards, that tests it's releases against naive and novice users. How you make this work I have no idea.
Red Hat should be doing this already, but they've clearly left the home user at the altar.
The best way to do is to be.
I always try and get an open source-coding friend of mine to understand this, and it never seems to sink in.
Interface design is an incredibly important part of any software project - it's like the clothes you wear to a job interview. Sure, you *might* get the job if you wear your regular jeans and t-shirt, but if you take the time to dress up, you will create a much more favourable impression on the potential employer you are meeting.
Similarly, taking the time to make your user interface polished and intuitive is one of the best ways to end up with happy end users who tell other people how great your software is. It lets them know that you care enough about the software you create to spend a few extra hours making it look nice instead of shoving it out the door as fast as possible.
"...always new atoms but always doing the same dance, remembering what the dance was yesterday." -Richard Feynman
You're all missing the point. Trying to configure CUPS does suck if you're on your own trying to figure it out. Anything with Linux is this way. I'm not a college-aged dork sitting in a dorm not getting laid with 20 other dorks playing EQ. I'm trying to figure out how to use this powerful tool, and if I have to spend 3 days studying dusty man pages to set up a frickin' printer - forget it. Takes me 10 minutes to write a script to install a queued novell printer when I click on a NAL - and then leverage that against 10,000 machines that I don't have to touch. Will Linux do this one day? I hope so.
- [no response. evar]
- This is different from Windoze - I know that! I don't want "Windoze" (how cute, BTW) I want to tell you that your fucking design sucks rocks!
- If you want stupid, use Windoze instead - Again, very cute. Also arrogant and stupid.
- This is how it's done in Linux - Well shiieet, of course it is. That doesn't mean it's correct.
- Did you RTFM|Google? - Well of course, for the last fucking 4 hours, just.
- The next version will have... - That's great except that if I Google for what you said about this version I see the same thing. Wow, Usenet is great, eh?
- We're not going to add that, that's stupid - Of course!
- Use [x] instead - Yeah, except that [x] has been in alpha for the past nine years.
- Check out [this page] - Fantastic. If that's not a 404 I guess I'll have to learn Japanese! Weee!
- You're welcome to ask for a refund - Wahahaha!!!
It takes a rant from ESR (who despite his pretensions doesn't know much about human interaction) to get people to do things right? Wow.I always get a chuckle when people compare Linux to OS X or Windows in usability terms. KDE looks absolutely fantastic after I log in, but the fun stops there. If I actually want to do anything else I have to fire up vi and edit 1,000 conf files. Give me a break.
And yes, ESR is right. This is one of the things that keep Windows users in Windows and perpetuate what you folks call "monoculture". Whining about it and blaming everything on "M$" won't fix anything. Great software ultimately sucks if I can't use it.
The article was insightful, and it contains some things I still did not know after wrestling with integrating CUPS, Turboprint (crappy Canon printer) and Samba, but to be fair to the CUPS developer, they did not write redhat-config-printer; Red Hat did.
CUPS and Turboprint works well, as it turns out, the problem is that printing from OOo (Linux), printing from OOo (Win) using CUPS' postscript driver, and printing from OOo (Win) to a Windows printer results in different page margins being used. Bummer. At least the fonts look identical if the same fonts are used on both ends.
And for those people with new Winprinters wondering why raw printing from Samba does not work anymore, you need to add the Windows user as a printer admin. Not documented *anywhere*.
Michel
Fedora Project Contribut
With closed source the responsibility lies solely with the company to solve the problems.
With open souce, problems are just an excuse to try to force people who find problems to "join the cause" or you can just ignore any problems they find.
Here's a crazy idea members of the Open Source community such as yourself need to get through your thick skull: take responsibility for the crap you write. If you write the code, it's YOUR responsibility to fix the problems. No one else is obligated to fix a line of code and is more than free to point out the flaws.
He didn't write CUPS so why should he feel obligated to fix it? He's a USER. He didn't write the code. He didn't design the interface. As a USER he's in a position to criticize. It's what users do.
Whinning he doesn't treat you like a king and kiss your feet for blessing him with what he sees as crap, is not going to do anything to win support for the project.
This is why I choose what Open Source projects I use very carefully and rarely recommend them and never because they are Open Source.
Ben
Work Safe Porn
The way to get help with your linux problems is to troll and say "Linux is teh suxx0rz because XYZ doesn't work!"
Then 4,000 penguin-fanboys will come out of the wood work, each with a distinct solution to your problem!
Now had you asked for help, they would have said "Read the man page! n00b!"
As for me, I can't really help you. I run AIX. And some other window'd operating system that allows to to remotely access my AIX boxes.
In the future, I would want to not be isolated from my friends in the Space Station.
It's really easy to jump on the Anti-Microsoft bandwagon when it's time, and say "Linux is ready for the desktop, it's high-quality and easy to use, why doesn't it overtake that crap from Redmond". But, when push comes to shove and sombody points out the things that scare off non-technical users from using Linux, OSS "advocates" really seem to have a hard time accepting constructive criticism.
Look -- if it's just a hobby OS, fine, this criticism is totally baseless and cruel. But, if you all want to see your labor of love have a real shot at the desktop market, you're going to have to take criticism like that and work with it -- if it seems angry, it's because end-users get frustrated when they're promised an easy-to-use system, and they have to spend more time wrestling with configuration than actually doing what they need the OS to do.
Either take the criticism as advice and use it to add value to your software so it can be accessible to a larger audience, or accept that your OSS project is just a hobby.
Communism was just a red herring.
they would have just left a note but they couldn't configure the software right....
I remember trying to get fetchmail to work. What a nightmare.
It's fine to say RTFM to a spotty student who spends his entire free time in front of his Linux box, but ESR is making a valid point that no-one seems to pick up on:
.conf files to get Linux working, only to attract abuse from the same people who encouraged me to use it in the first place?
Most of us don't have the time
I work from 9am to 3am every day, including weekends. I would love to run Linux, purely because Microsoft's pricing and attitudes bother me, but the last time I tried to set up Red Hat, it took me 4 days to get the system to even recognise my video card.
We're not just talking about Aunt Tillie, we're talking about Joe B. Power User, who may have the skills to work it out eventually but simply does not have the time.
Wheras, I plug my Windows XP machine (and yes, I know this is only a recent thing) into the network and Universal Plug and Play makes network printers accessible without my having to so much as touch the PC. Now that's what we want from a Linux distro, and it's not even hard to implement. Why should I have to wade through a dozen
sig:- (wit >= sarcasm)
This is especially true if its a non-trivial piece of software. Several times new programmers have come into software packages I've been working on, don't bother to read the structural documentation or even the useful other code that serves as examples for how to improve and extend upon the existing structure.
Instead they try and do things their own way, often end up doing things redundantly or breaking something else and just otherwise fouling more than they contribute.
The best person to improve upon software is the person who designed in the first place! Or someone who's worked on it extensively enough to know the quirks, the reasoning behind non-obvious parts and knows the rest of package throughout.
Telling a user to fix a poor piece of software is incredibly frustrating and lame to those of us who, god forbid, have other things to do in our lives.
-
And who are the (l)users? The persons who use a computer as a tool to get their job done? The persons who don't think of their OS as a religion? The persons who given in and try Open Source software only to find that a good deal of software isn't as usable as it could be? When they ask or comment they are thrown to the wolves.
OMG..imagine a guy who has done a good deal of visible work for the Open Source cause, points out a weakness or simply an area that needs some improvement, and the most visible and shocking comments on /. are the ones knocking the guy. Very little in the way of, "yeah things could be better...How do we fix this? How do we help?"
I notice that most of the comments thus far seem to be along the lines of "We don't need to improve the interface, the users need to get better because they're too dumb to use it right, and they should just learn cause then they'll realize how much better it is!"
This is a common mistake made by programmers. The problem is that not that users are actually all that stupid. The problem is that we tend to think of things in terms of how they're doing something, whereas users want to think of them in terms of what they're doing. For example, I want to set up DHCP to distribute IPs to my OSX box so I can use SMB to pull MP3s off my XP box. This is not the way a user thinks; the average user wants to hook his Compaq to his Mac so he can move around his music. He doesn't want to know what any of those acronyms stand for. He just wants to accomplish a simple task.
Bottom line: the best way to write a good interface is not to think in terms of "what is my software doing" but rather in terms of "what is my user doing." Like my human interface design professor used to say, if people can't use your software, it's not because they're stupid, it's because you designed it poorly. Users prefer usable software to powerful software, when given the choice.
Another point to consider is that, in the eyes of the Managers of potential corporate users of your system, any time employees spent learning all the details of your software is time taken away from getting actual work done. Not to mention that sloppy interfaces that haven't been properly checked often actually COST most companies money, since their employees actually often take longer than it would have otherwise. Good interface design is not a luxury, it is a mandate.
I generally take ESR's rantings with a pinch of salt. I understand where he is coming from but I think sometimes he has a tendency to go over the top. However in this piece he is right on.
/etc/rc0.d is for.
I am a geek. Not only do I know a shitload about computers I actually work in the industry as a field troubleshooter technician. I have to say though, that although I use Linux on a daily basis on my work PC as my main OS, it still throws me for a loop sometimes when I go through what ESR went through with whatever piece of technologically advanced, functional but ultimately borked UI software I happen to be trying to set up at the time.
He is right - this IS keeping Microsoft in business. Case in point - I get customers constantly asking me if there is a better alternative to Windows. There is of course, but I would NEVER recommend Linux to an end user who just needs to get on with the business of running a business simply because of the lack of intuitive UI's for Linux apps.
There are great, shining examples - K3B, Firefox, Thunderbird, Mozilla, Openoffice, Evolution, KDE control centre etc. Let these apps serve as an example to UI designers for other projects.
It's one thing to have all the functionality in the world, but that amounts to sweet FA in the eyes of a gumby user that would rather give money to Microsoft than learn what
"And then I visited Wikipedia
Why? Because he's a USER. Not a programmer. Developers have a responsibility to listen to their userbase. If you want market-share, then when your users say "I don't understand X", you DO NOT say "well, FINE, fix it yourself!" That is ENTIRELY the wrong attitude. ESR may be confrontational, but you're even more so.
Why doesn't your approach work? Because they're simply going to walk away. Software is so complex these days that many people, even programmers, couldn't possibly contribute without investing a serious amount of time. Hmm, which is a better use of resources- 12 hours of a user messing around learning your functions, conventions, library calls etc(and probably introducing more bugs than features)- or 15 minutes for you to add the button yourself?
I know -exactly- how he feels. Countless times I've found software that has a super-spiffy web page, touts how damn good it is to anyone who's reading- but you unpack the source and Jeeeeesuschriiiiiist you can't figure out which way is up- and I've been building and compiling unix packages for almost 10 years(when i was yer age, we had to edit makefile library paths ourselves! None of this automake...) Then, if you get it built, you run it and menus have confusing names, there's no help file, there are secret options nobody mentions that are in the ~/.myprogram directory, and so on.
The mldonkey p2p client was an excellent example. The developers continuously worked on all sorts of weird theoretical schemes for this and that, while the userbase clamored for a manual(there was none), a description of what each setting did(ditto- the developers would cheerfully add some oddly-named option and not explain to ANYONE what it did), or for features that were common in other clients. Such as the ability to share a file without having to restart the client(shocking!) But hey, you got three different algorithms to pick from for how it managed sources for files. Yaaaay!
Please help metamoderate.
Then why keep saying Linux is ready for the desktop? Why WHY WHY?
.Net, ASP, Javascript, HTML, VBS, PHP, SQL, VBA. The only commonly used languages (scripting and other) that I haven't write code in that I am aware of are Java and python and I've read a fair bit about java. I write my utilities to manage my computer, for example I coded a quick C++ app to manage my backups recently and I coded a perl utility to find duplicate bookmarks in my mozilla. I'm trying to establish here that I'm pretty technically oriented.
I write code for a living. I can code in Perl, C++, C, VB6,
Guess what? I don't run linux. There are two reasons:
1. I write code generally for windows and occasionally I take work home.
2. I don't have hours on end to spare learning how to use Linux effectively.
I love the idea of Linux and at times have made the attempt to migrate my desktop to Linux, with the plan of starting by dual booting, and migrating my environment across bit by bit. Well guess what: each time the GUIs didn't work and I spent half my time hacking around in RC files. You get *awfully* tired of that after a while (or I did).
I might think about running Linux for servers, but I want to see a lot more work of the quality of knoppix done before I consider it with making the effort. Unless of course I get fired and have a lot of spare time on my hands.
If you want linux to achieve market acceptance it must be written to work for the dumb home users and it has a hell of a long way to come.
PS I'm not interested in being told that Ruby, D, ALGOL, Brainf**k or $favorite_language are commonly used languages.
meh
The developers of CUPS have scratched their itch. I personally have no desire to scratch Aunt Tillie's itch. She isn't paying me. Neither is Raymond.
My printer works. If Aunt Tillie wants hers to work, she can pay me to set it up for her, or she can pay me to write software that makes it easier.
Why the hell is it CUPS's (or anyone else's) responsiblity to do this? If IBM and Red Hat are going to profit from easy printer sharing, let them write good config utilities. The CUPS team got the reward they were after. Their printers work.
When someone gives you a gift, try not to kick them in the nuts and ask for more. They have every right to stop giving.
And, suprise surprise, Mac OS X uses CUPS under the cover for printing. All you have to do is select "printer sharing" on the sharing preference pane and the printer shows up on other people's machines. You may not like Macs, I really don't care if you do or not. But there's a lesson here.
We witness not a fallen world, but falling every day - The Call.
Some of the most usable UIs don't conform to an established standard. For example, there are shopping cart apps that can be used by people who've never used a computer before, yet they don't get in the way of the expert user much either. Some custom-designed kiosk systems serve their purposes very well without following any standard other than "touch me".
Apple and Microsoft seem to throw out their own guidelines whenever they feel the need to "innovate". There's no hope of improving usability if no one's allowed to experiment.
Check out Alan Cooper's books if you want some solid reasoning behind this (better than I could give you). Edward Tufte is also a classic.
The fact that his made that mistake in the past makes him all the more qualified to critique the subject now.
I'm busy. I have things to do. I don't have time to fiddle with someone else's idea of cleverness, or a badly designed interface that can't decide on how to assign command key functions consistently, or which lacks any useful help (the CUPS example is just a case in point). Nor am I interested in solving puzzles or pondering the greater mysteries of my Inner Tux. I just want to get the damn thing up and running so I can get on with what I wanted to do in the first place.
Perhaps it's a matter of perspective: If the computer is an end unto itself, then things like usability for a wider audience aren't really relevant. But for a lot of folks, myself included, the computer is nothing more than a tool with which I hope to get some useful work accomplished. I'll use whatever works, even if it is Windows. Occasional crashes and lock-ups aside, Windows does help me get the job done and I don't have to spend half a day reading man pages and badly written "manuals" trying to figure out how to install and configure something, and that's what really counts for me.
The bottom line is that I'll rm -rf a badly written tool's source tree just as fast as I'll pitch a cheap pair of pliers into the trashcan. They're both useless to me if they waste my time and impede my progress.
Eric Raymond sums it up nicely with the statement that "the problem is that these simple things never occurred to developers who bring huge amounts of already-acquired knowledge to bear every time they look at their user interfaces."
So the next time you look down your nose at some poor slob who just can't figure out how to install and configure something that you could do in your sleep, just keep in mind that there's a reason MS still rules the desktop, and it has a lot to do with millions of those poor clueless slobs.
"If they were really smart (like, say, Mac programmers) they'd leave the impossible choices in but gray them out, signifying..."
Greying out menu items is one area open source can actually surpass Mac OSX and Windows. When I try and use a new desktop app I have never used before I am always puzzled why some menu options are greyed out. Everything else I find intuitive. Greyed out items confuse me.
Why is is greyed out? How do I get to it? Why can't I get to it now?
What would be really nifty is some tool-tip text saying something like "This menu item is only available when you are in xyz mode."
Am I the only one who experiences this difficulty?
When you're reading a mailing list and someone emails "how do I do X", the usual response, as ESR has pointed out, is to simply answer them. If the problem comes up a couple of times, perhaps it goes into a FAQ. There is one missing thing, though, that doesn't happen. The author should ask "what could I change in the *software*, not the documentation or FAQ or whatnot, that would keep users from coming to ask me about this again."
May we never see th
A similar diatribe to ESR's could be written on trying to burn a backup DVD under RH9. Gave up; I just FTP my backup over to my Lose2003 box, where the driver worky-worky.
No, no! The driver works *perfectly*, it's just that it requires correct entry of hardware parameters in one of the assembly language sources! Yeesh! Don't blame the hard-working open-source developer for your MCSE-like lack of computer knowledge!
Seriously, though, I'm so glad to see ESR ranting about the state of userland GUI stuff. I've been doing it for a while, but it's often dismissed as a FUD campaign by people who don't like what I'm saying.
Fire and Meat. Yummy.
He was obsessed with the Macintosh being a work of art. He was so picky about the look of the damn calculator app, the designer got tired of revising it and made a calculator interface designer for him. The final design Steve made stayed with MacOS up into the 90s. He even had the Mac designers sign their names on the inside of the mold for the casing. That's a mentality I like--the connection between emotion and computing. The creation of a computer that blendds into someone's life as a useful tool and portal to computing.
What happened to that melding of art and computing? OS X still has it, but without support for x86, it's not exploding like it should. That leaves Linux--and Linux is completely missing the ball here because it's been written by developers for developers, and still is. It's massively technical and powerful for dev-heads, but the other front--the one that Windows lacks--is the intuitive, artistic side.
But, I fully expect everyone to stick with crappy XFree86 for another 10 years and espouse how great their poorly designed "KDE" and "GNOME" interfaces are. Five years after Longhorn comes out, KDE will finally get around to attempting hardware acceleration and also speeding up the horribly shit-slow app-loading.
Nobody's artistic about computing anymore, except Apple. We should be too. Obviously, that means rethinking the way people are writing their apps/environments, which ain't gonna happen.
Maybe it has something to do with the way you point out those flaws...?
If you're a programmer working on something which scratches your itch, there a good chance that you already know how your own program works. Having someone come and say "Nonono, this interface is crap!" without actually providing suggestions for how to make it better is annoying at best.
Annoying as it may be, the "program your own version" may also be a valid argument from the programmer's perspective. If changing a UI is a lot of work, then the programmer may not actually have the time (or motivation; remember they've already scratched their own itch) to implement your set of changes. But you can still do it or get someone else to do it if you feel strongly enough about it. Remember, what you're getting is free (probably as in beer and freedom), so the programmer has no moral obligation to do anything for you.
But I've usually found that if you are polite and above all humble when you suggest fixes (be it UI fixes or regular bug fixes), then people will usually do it out of the goodness of their hearts. Btw, you might check this link:
How To Report Bugs Effectively
Most of it also applies to UI bugs.
HAND.
While his style is, as usual, not quite professional, the points he makes are right on target. Usability is sorely lacking in most Unix/Linux setups.
But instead of pointing to various short user-friendliness rants and mini-howtos, I suggest reading a few books, to see what the current state of the art is.
I suggest the following two, which I am using for my thesis work on this subject as well:
Donald A. Norman: The Design of Everyday Things
This book focuses on everday gadgets and appliances instead of computer interfaces, but the advice Norman gives is perfectly applicable to our field of work. Highly recommended.
Alan Cooper, Robert Reimann: About Face 2.0: The Essentials of Interaction Design
Now this book is pure gold. Excellent advice on user research, goal-oriented design and lots of insight on GUI design as well. Yes, Microsoft gets some praise for parts of their efforts - where they deserve it. They also are criticized properly - just like everybody else - where they failed. If developers would apply at least a little of this stuff, we would have vastly better software.
The problem with bad GUIs and guides in open source software comes from the fact that creating a good user interface is the most boring and tedious programming task there is. One has to handle all the possible wrong uses (there are about 100 per correct usage) in a way that gives good feedbackt to the user.
Since most people developing software for Linux work for free and out of their own will there usually isn't enough incentive to do the boring stuff. An employee for a software company however could lose his job if he didn't do it.
Open source is the art of letting other people write your bad code.
There was earlier article that compared *nix and Windows programmers...
*nix programmers write programs for other programs to use (hence command line arguements that are easy to parse/create etc). Ie they do the guts first, then bolt on an interface later.
windows programmers write programs for users. ie they write the interface first, then the guts.
Would be interesting to see how the Mac guys concentrate their efforts.
I agree wholeheartedly with the article, and it's not just CUPS. It's pretty much everything open source. Guys like me are very open to pushing open source into the workplace, but until these problems are solved, it will not happen. Period.
An example of a good product made correctly is Mozilla.
Mozilla was easy to roll out, starting with the development teams. I just told them, "run the installer". Then I show them tabbed browsing, javascript debugging and error description, and better W3C support...and BANG...50% of the developers are now using some flavor of Mozilla and/or Firefox.
This is the ONE THING keeping OSS from real influence.