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.'"
I had a very hard time configuring cups for the first time, but after I learned how to do it, it proved to be '''much''' easier to administer and manage than it is in windows. It was also easier to change configurations without breaking multiple user's print settings. This is true with a lot of open source things. Hard at first, but once you get the hang of it, there is no going back.
The Television Wiki
Ignorance and the user won't step out of their bounds beyond their Internet Explorer and Outlook. Unfortunately, others like Gator and BetterInternet will do it on their behalf.
In the end, a computer is more like a car than an oven, capable of great power but requiring a good deal of knowledge to use (and not run over people in the process).
Doing the Right Thing should not be preempted by making a buck.
We'll never get to this point if every time two people disagree they split the project. Project forks are good to an extent - but I think that we lose a lot more than we gain because of it. At least MS has a meeting and decides how to continue - we, the OSS community, just get pissed off and branch.
It is punditry, but it's also something that has been said quite a few times before, including by Miguel de Icaza of GNOME fame.
Really. There is a ton of OSS software with really shitty user interfaces, but anything involving fonts or printing seems to be crappy beyond belief.
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?
Uhm, I guess you've never heard of ESR before. When he talks about the open source community as, "We," he really means "we." He is actually doing the work.
ESR is part of the community. He's not some teenager whining that the software doesn't work - he's a respected figure pointing out a problem in hopes that it will be recognized and fixed.
--
http://nemilar.net - Not your grandmother's soup kitchen
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.
Yes... exactly his point. IF you want Linux to succeed on the desktop, you will have to one day realize that the *vast* majority of users will have little to no technical experience or expertise. Not only will they have criticisms but they will not, and have absolutely no desire to, fix such issues. Instead, they will abandon it and go find something else easier to use.
It's attitudes exactly as yours that will relegate Linux to a niche. You are not helping Linux and OSS, you are hurting it.
show me the code, or shut up
Have you looked for the code?
Your post tells of smacks of an attitude all too typical in open source... You believe only code gurus should criticize software. Eric may or may not be a code guru, but that argument is flat wrong. Bad interface is why Linux is taking so long to make inroads on the desktop. It's a legitimate problem that needs to be addressed and maybe *JUST MAYBE* people who write code are not the best user interface designers. Maybe users are simply not as deterministic as software.
Education is a better safeguard of liberty than a standing army.
Edward Everett (1794 - 1865)
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
All in all a pretty decent article.
I agree with many of his points, if there is one thing I dislike in the *nix culture it is the elitism, and holier than thou attitude that many people in said culture have towards users. This is just one more sign of that elitism, we spend hours and hours making very good stable, well designed software, and then we demand that you read a 1500 page book to be able to use it... That's stupid, now you can say "if they don't want to learn they shouldn't be using this software" but that's dumb too... my dad is an attorney, he wants to work on cases, and do legal research and the like, thats what he's interested in, he doesn't want to spend an hour a day figuring out how to share printers/files and send emails, and he doesn't want to have to pay someone $150/hr every time he needs to add a printer to his network. My wife is a psychologist, she wants to care for her patients, and work on her book, she doesn't want to be bothered with figuring out how to configure her computer, and she shouldn't have to be... That said, the author shouldn't have been bashing the CUPS guys, the configurator in question is an inhouse product by redhat/fedora, no other distribution uses it, and the default setting of having the broadcast turned off was also a decision by redhat/fedora not the CUPS programmers (well it might have been made by the CUPS devs, but redhat/fedora had every opportunity to change that default behavior). I appreciate the article though because he is right on in critisizing the community for their lack of vision in this regard. (btw, I admin a 7000 node network, and the entire thing is controlled by linux and unix servers, there are windows nodes, but I would never run windows on the server side, and I rarely use it on the desktop either so don't count me as some MS apologist)
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.
Or just split the difference, keep everyone happy, and decide to do both proposals. Hence leading to configuration boxes from hell adorned with approximately seven thousand checkboxes.
For most people out there, price is the ONLY factor. Why do you think that stores like Wal-Mart does so well?
1f u c4n r34d th1s u r34lly n33d t0 g37 l41d
Well, in fact, setting up a network printer in Windows is certainly not better.
You have the choice between "Local printer" and "Network printer". If you do have a network printer like an HP with a JetDirect card, the correct choice is NOT "Network printer". It is "Local printer", and later you have to add a "Standard TCP/IP port". ("Network printer" is only to add a printer shared over SMB by another computer)
So while he has a good point on a bad interface, and while it is true that for some things Windows may have a better interface, it certainly doesn't for networked printers.
Programmers should definitely code with these questions in mind, but I think it's even more important to recruit people who are skilled in UI design so they can knock some sense into the coders every once in a while. Coders can't, and shouldn't, be expected to always focus on usability--for most engineers it's not their area of expertise. Likewise, UI people shouldn't be expected to have to code just to get a feature implemented the Right Way.
There's plenty of graphic designers and UI experts in the employ of Apple and Microsoft who probably couldn't code their way out of an infinite loop. I don't know that the same can be said of most open source projects.
yours
"...we, the OSS community, just get pissed off and branch."
And this is a bad thing how? In this business competition is almost always a good thing, especially when the source code is open. If the fork comes up with something better than the original, the original could incorporate it or mimic it. If either project dies, the stuff is still available for use or continued development.
I've tried to configure CUPS. I don't feel so bad about the lack of particular success now that I've heard of Eric Raymond's troubles. This is one project that might benefit from someone forking it and developing interface tools that allow it to work without being such a bane.
Do not look into laser with remaining eye.
on the other hand, the "squeaky wheel gets the grease"
i think the more noise everybody makes about a particular shortcoming, the more the entire community will pay attention to that particular shortcoming. yeah, it might be annoying that people keep harping on this, but in it's own way, it will help get things done
just a thoughtIt'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)
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?"
You missed the point of the article. He's speaking about Open Source projects in general, and he has a very good point. I only started using Linux and other open-source software about three years ago, and I've gone through the exact same process with at least a dozen different packages. Most of this could and should be fixed on the documentation level - if someone like myself with 20+ years of computer (coding x86 and TMS9900 assembly at age 10) experience gets frustrated, there is a serious problem.
:). Even then, the other Eric and myself can't fix everything.
It's all well and good to put out an excellent piece of software like CUPS, but it's also important to communicate its workings (and CUPS is just an example; we could go down a list if we wanted to). Even though I have extensive coding experience, I think the best way I could contribute to Open Source is on the documentation side... if I can just figure out what I'm doing first
Beyond that, open source developers need to develop the mindset (pun semi-intended) that their user knows either little-to-nothing for desktop applications, or basic server administration for daemons. Each piece of documentation should begin with something like "In order to comprehend this documentation, we suggest you be knowledgeable about: (shell scripting, OpenSSL CA management, installing CPAN modules, etc)." Pointing to some good references would be a bonus. Listing knowledge dependencies is every bit as important as listing library/package dependencies.
Once that's out of the way, you have to communicate everything necessary to configure and run the software. Writing documentation from a naive (in terms of program functionality) perspective is difficult and tedious, but it is doable. You just have to ask yourself "If I didn't write this, would I know what the hell I'm talking about?" after eveyr paragraph.
And that's just to be "reasonably" useable. If we really want to "take over the desktop," then we need perfectly polished wizards and other GUI tools to help those users that are are not inclined to RTFM, spend a few hours with Google, or (shudder) RTFS. The bottom line: it's wonderful to put out a really cool and useful piece of software, but the job isn't done until it's documented (daemons) and / or idiot-proof (end-user software).
Help save the critically endangered Blue Iguana
The fact that he mentions using Fedora core kind of discredits his whole argument against the "open source community" and the "CUPS Team" when what he is really denouncing is his linux vendor. It's been kind of an understanding for a long time that it was for the OSS community to build, and for the Commercial distro vendors to "clean up" for Joe and Jane End-User. It's a shame that he never makes that clear, and I'm sure if I were on the CUPS team I would be a little offended at the way ESR is explaining away his^H^H^H aunt tillie's failure to read the dox, search the list, and otherwise be completely "luxuriously" ignorant. Go buy windows. OSS isn't really a fair proposition if you don't have something to contribute.... or at least meet the developer half-way.
This comment is fully compliant with RFC 527.
It was easy for you because you know what the heck you're doing already. I've got over a dozen years of UNIX printing experience, and every single bozo trap that Eric mentioned is a real flaw in the CUPS design, including the Mandrake installation. I got past them because I'm a flipping expert, but for newbies they're a nightmare.
In fact, for Mandrake, did the CUPS installation mention that you have to set up xinetd by hand to run the cups-lpd daemon to even *run* the admin interface, or did Mandrake add it to the RPMS by hand themselves? It's most certainly a stage never mentioned in the source tarball nor is it included in the RPM spec file that comes with the tarball.
I built and tested it last week to try new printer drivers, and no, it's not there. And the addition of new printer drivers is pretty damned secret, too....
This post (and its parent), albeit humorous enough, go straight to the underlying problem with Linux at present: a wilfull disdain for the non-savvy user. "Joe Sixpack" should be embraced rather than disdained (figuratively, of course).
This is the underlying problem with the interface issue discussed in this thread and it is why M$ continues to prevail in spite of a generally inferior core product.
When *X finally evolves from an exclusive clique into a user-focused OS for the people (not merely the nerds) it will truly prevail. Currently, IMO, its the percieved pricing ("free" as in beer) and general non-Microsoftness of Linux that drives it at all. The user experience and level of effort required to achieve proficiency is generally thought to be a big negative at ground level.
"...all the labours of the ages, all the devotion, all the inspiration, all the noonday brightness..." yada yada
Come on, are you telling me when something ticks you off about a piece of code you download the tarball or cvs the code and learn the whole thing and dedicate yourself to its betterment??? I hope nothing about the kernel or Mozilla or Mysql tick you off or you are looking at six months of hard study.
Well, as a matter of fact CUPS is one of the few projects which actually put some effort into making a GUI. It's not that it would have taken significantly more skills/code/time to make a much better GUI. After all, all the auto-detect code is there. It's just that the programmer didn't think too hard about the interface, and -- most problematically -- didn't think with the user in mind. It's not like it would have taken more than 2 extra minutes of programmer time to put in short explanations of what each option does. That's what ESR is really getting at.
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
Listen up everybody out there in Geek Land! User interface design is hard . Read Landauer's The Trouble With Computers .
I like "free as in freedom" software, and I fear the society that will be created by proprietary stuff like Windows, but we won't get the freedom we want if we can't deliver the benefits of freedom to the average user. If you can't be bothered to read the book, remember this: test, test and re-test. For really important stuff, borrow the most clueless of your relatives and friends, and have them try to use it while you are watching (keep your damn mouth shut, though). If you do this, you will create easy-to-use software, and if you believe in the political value of F/LOSS, you need to take this seriously.
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.
"Joe Blow" could have written the same article and it would have been just as pertinent, and would have deserved being listed on the front page.
The point is that people know his name, they use the software he wrote, they read the crap that he spews, and he's more often right than wrong.
Front page because we'll read it, we'll coment on it, and we'll debate whether or not he has sufficient celebrity status (which brings us right back to your point).
It's not that he's profound, and it's not that he's well spoken (he's definately not). It's not that he's a well known blogger, as most probably don't consider his claim to be due to his blog. He's been around since before you could reach the keyboard, and he's written utilities that were once among the most widely installed on unix boxes. Even those of us who may think he's somewhat of an ass still like being notified when he's got something poignant to say.
He might be considered front page material because he's not really known as a blogger, but because even those of us who think he's an ass probably are using or have used software that he wrote or maintained, or because we begrudgingly acknowledge that he often has something worthwhile to say.
Read, L
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.
3 Nobody likes documentation... except 4 n00bs
For the last couple years, I've been citing that attitude as the #1 reason linux isn't growing like it should as a desktop. Coming from an OS/2 culture in the last half of the '90s where people were supportive and at least one survey found a decidely middle-aged demographic, the "only newbies need documentation" attitude strikes me as juvenile, unproductive, and, unfortunately, really common in linux culture. Look:
Is price the problem? Duh
Hardware compatibility? Naw
Installation difficulty? The major distros are as easy as Windows now.
No, it's use and maintenance. Where does a person learn how to use and maintain something if not from the documentation? Believe it or not, some people don't enjoy doing a half-hour Google search among various sites each time they need to have this-or-that setup explained competently and professionally.
Those are my thoughts.
It takes all of two sentences to explain networked printing to Aunt Tillie. "You hook the printer up to this computer over here, and you can print to it from this computer over there. Just be sure and shoo the cat off the printer before you hit 'print.'" If you'll notice, the second sentence is a bit gratuitous.
ESR never claimed to be an ignorant newbie. In fact, he's pretty computer literate, and this was the only thing that allowed him to beat it into submission. His point is correct: if Linux is going to make inroads on the desktop, the learning curve has to be flattened enormously.
You want the truthiness? You can't handle the truthiness!
I don't know the answer. The only reason I give into UI requirements at work is because I have to to get paid. That incentive isn't there for open source projects, so there is the danger projects will fork off. I know some comments above don't see that as a danger at all, but it is a waste of resources if two teams are building the exact same things instead of moving forward on other pieces.
I submit that it *would* confuse an inexperienced user. I personally found it easier to sit down and read the man page for fetchmail. This is not because I love me a conf file, but becuase I tried fetchmailconf, and was confused by it.
Take a look again and tell me why
#1 There are ok/quit/save buttons at the top and what they apply to,
First, if you have't read the original Macintosh user interface guide, do so. There are some strict rules, which today even Apple forgets, but which all competent programmers must know.
One of the basic rules in that manual is this:
-
You should never have to tell the computer something it already knows.
What this means, in terms a programmer can understand, is this:From a design perspective, it's useful to divide information the system knows into "definitions", "references", and "caches". "This printer is called FOO" is a definition. "BAR normally prints on FOO" is a reference. "FOO is a PostScript printer" on BAR is a cache item. Caches must be regeneratable. References must be checkable. Definitions should be protected against inadvertent change.
One of the big problems of the Windows registry is that it mixes all three types of information. This is also true of the contents of "/etc" in the UNIX world.
Once you start thinking of the problem in these terms, it's much clearer what to do. For the printer case, it's obvious that the system should find the printers in the neighborhood by itself, and should probe them to find out what they are and whether they will let you use them. It's also clear that if something changes (a printer is replaced, for example), the system must notice this and do something reasonable.
Once all the heavy machinery for that is in place, the user interface for "configuring a printer" should go away entirely. The ordinary print dialog can do the work. It might need a "search for more printers" button. But there's no real reason from a user perspective to have to configure printers at all.
We will now hear from the "just edit the /etc/xxx file with 'vi' and send a SIGHUP signal to the daemon" people. You guys are dinosaurs. Give it up.
What are you talking about? Each one of those dialogs are HORRENDOUS!!! For instance, look at this one:c les/HO WTO/6454f1.png
c les/HO WTO/6454f3.png
http://www.linuxjournal.com/modules/NS-arti
"Configurator novice Controls" with a "Save" "Help" "Quit" button underneath? What the HELL does that mean? Why isn't novice capitalized? What am I saving by clicking the Save button? A configurator novice controls? Why arent the buttons at the bottom like every other dialog box in the planet?
I won't even comment on this one:
http://www.linuxjournal.com/modules/NS-arti
Okay, so let's play a game. You tell me what you have to do to install a printer on any flavor of Linux you want, and I'll tell you what you need to do to install the same printer on WinXP.
Let's use a HP Photosmartt 7350 (semi-random printer make and model I happen to be familiar with, since I just set one up for my mother. It's also USB, which is getting more and more common nowadays)
I'll go first:
1) Plug in printer power
2) Connect printer to computer
3) Turn printer on
4) Wait about 30 seconds for Windows to detect the printer
5) Click "Okay" a few times (about 4 times I think...)
Sure, you won't have the super-duper software (which you'ld have to install seperately), but you can hit "print" and it'll print. For fairness I'll exclude the software because there's no Linux version anyway.
Okay, your turn!
=Smidge=
We'll see how this goes, but in my open source project, I'm planning on instrumenting the program to allow the users to (voluntarily and anonymously, of course) report to the project server which preferences they are twiddling and which commands (i.e., menu commands) they are actually using.
I'm hoping this will let me chop at the features and preferences and get away from "I'M A LOUD USER AND WHILE I'M THE ONLY ONE WHO TWIDDLES MY BAZZLES I'LL CRY IF IT'S REMOVED" by virtue of having hard numbers. (I made a Fruedian slip and typed "lout user", which works too.)
(You shouldn't have bad spoofing problems until the project is much larger, by then I'm hoping to have a better gestalt understanding.)
Feel free to snarf this idea, I'd love to see it more often.
Have any of you actually used Windows lately? I don't see any of this. I've had more RH9 and FBSD 4 & 5 boxes lock up on me lately than I've had XP or 2000 boxes lock up. Xzzy, can you provide an example of something that an end user would use (not any of their server offerings) that has more than 15 controls on the form? Why do you think they pioneered the use of WIZARDS! It's to provide a logical progression to a final software configuration state, rather than most OSS software which most of the time requires you to edit a config file (the equivalent of an essay question on an exam). Sorry, I don't feel like being tested on my reading comprehension today. I just want to get my box playing DVD's.
Really, it's the interface stupid.
There's plenty of graphic designers and UI experts....
mistake one in interface design is thinking its graphic design! Better looking buttons lead to user interface improvement with about the same frequencey that a new paintjob fixes your car's transmission.
I've been using Linux as my main OS at both work and home for about 7 years.
/etc/X11/Xf86Config. All accompanied by extremely liberal doses of docu searching online, of course.
Here's a list of my recent hardware config experiences on my home machine, which dual-boots Gentoo and Windows XP:
1. Canon Powershot A40 digital camera. WinXP detected and configured it in about 25 seconds. On Linux, it required two kernel recompiles, and searches through several sources of information (gphoto2 manual, message boards, Google) before I finally got the command-line interface to gphoto2 to work. Never got any GUI front-end working.
2. Creative Webcam Pro NX. WinXP detected and configured it in about 25 seconds. Despite hours spent banging my head on the problem, it has yet to function under Linux.
3. Nvidia GeForce4 Ti4200. WinXP detected and configured it in about 25 seconds. Linux: kernel recompile, install additional Xfree86 module, tweak, retweak, and re-retweak
I love Linux like my brother, but seriously, hardware config on it is a huge PITFA, and provides the single largest contrast to the Windows world.
I long for the day when I get a new gizmo, plug it into my box, and it "just works". Man, that would be so cool.
Liberal (adj.): Free from bigotry; open to progress; tolerant of others.
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.
Specifically, as the author eloquently states (IMHO):
:) )
The thing to notice here is how far behind we have left Aunt Tillie. Rule 1 of writing software for nontechnical users is this: if they have to read documentation to use it you designed it wrong. The interface of the software should be all the documentation the user needs. You'd have lost the non-techie before the point in this troubleshooting sequence where a hacker like me even got fully engaged.
It's embarassing, even to me personally, but he's dead right. Not just for Aunt Tillie, but for you and me (can I get a humming of the Star Spangled Banner in the background now please, thanks) -- no one should have to stop to read man pages or html docs unless they are doing the most esoteric things with an app. Obviousness for everyone! We all know the basics -f -r, blah blah "standard" command line interface, and it works because (1) things act like they should and (2) we are experienced enough to know that "should" in the software/tool world expects a little more from us intellectually-wise than "should" in the normal day-to-day buy some bread rent a movie world.
The valid, relevant, even poignant point of this article, as I see it, is that it's not much work to go from where we are (which is comfy for us; a reasonable tradeoff 50/50 hassle for user/hassle for developer) to where we need to be to eat Microsoft's lunch (most hassle for developer, albeit 1-time hassle, and near-zero user hassle in most cases.)
We blow this stuff off because we want to make it workable for those smart enough to deserve to enjoy it then quickly move on to the Next Great Thing that Needs to be Made Now. We Peter principle ourselves out of making a real headache for MS, which is something we (ostensibly?) want.
Hmph. He said it well, and I for one am taking it to heart and thinking about how to make it better (with minimal effort, of course
everything in moderation
The fact that his made that mistake in the past makes him all the more qualified to critique the subject now.
Your comment about the Mac using CUPS and yet being easy to configure for printer sharing goes right to a point Eric Raymond completely missed. His problem is primarily with the KDEPrint user interface and not with the CUPS print server. The Art of UNIX Programming, written by a very bright guy, does a good job of explaining the desired separation between the UI and the server.
CUPS is an amazing print server full of options that can be configured to suit a particular environment. It is the best print server in the Linux/UNIX world and, I would argue, the best all around print server in existence. (Bonus points because, in the finest Linux tradition, it is an active open source project being led by a uniquely talented individual)
KDEPrint is also a very nice piece of software, but it suffers from a failing common to many Linux/UNIX user interface programs: it presents too many options to the user. Rather than presenting a few simplifying assumptions to the user, these programs try to present the full power of the server. This is great for the advanced user but it floods the general user with too many choices.
The Mac user interface on top of CUPS is a counter example. When the user hits the "Share my printers with other computers" button the cupsd.conf file is altered to broadcast the availability of printers and to accept jobs from machines on the local subnet. The print server is then restarted. This one simple button takes several steps that are very useful for most users; it does not however provide access to many of the more powerful, less common features of CUPS.
And so, at the end of the day, I think Eric Raymond is noting that KDEPrint does not "dumb down" the presentation of CUPS options enough for the typical user.
"To accept this choice, click OK. To cancel, click CANCEL".
Well fucking duh. You know what I'm talking about: For an example, enter your computer BIOS (press 'Del' on most PCs during boot), and read the "help" for any of the entries. Do you know what every single setting there means? Quickly, what's Spread Spectrum Modulation? What are its effects and side-effects? What are the potential dangers? When would you want to use it? Can you answer any of these questions by looking at a UI that is packed with acronym laden yes/no choices? Probably not. I doubt most people outside of a motherboard design company could explain in detail what every single option does.
Users aren't all stupid, even the non-computer literate ones. It's the user interface that is at fault, for not providing all of the information required to make a decision. Given sufficient information, most people can make the right decision. Given a yes/no question full of acronyms with no other information, even programmers and computer scientists can be stumped.
A great example of how effective providing information can be, think back to the original Norton Disk Doctor for DOS. The dialog boxes in that program usually had several paragraphs of text, and asked one question. The text usually explained:
Now, I clearly remember relatively computer illiterate people running that program, and making highly technical decisions without even realizing it. My father could easily decide whether he wanted to mark a sector bad, what kind of surface scan he wanted, and how he wanted to treat corrupted files.
While Windows is in general mediocre (not great, just mediocre) in its UI design, at times it has glaring flaws. My favourite examples are applications that ask for a DSN connection string. Do you know how to construct a DSN connection string by hand? I don't, and I've been programming with databases for years. However, the doubly stupid thing is that the ODBC control panel already includes a dialog box that automates the process! So why do some applications, including some written by Microsoft, still ask for a DSN string?
Command-line software (open source, or otherwise) is particularly prone to exhibit this problem, often to the same extent as the BIOS example. When executed with a "-?" option (or whatever), most programs will give a list of options, but rarely tell the user anything other than the existence of the option. This is no better than a dialog box asking a yes/no question with no further explanation.
"We blow this stuff off because we want to make it workable for those smart enough to deserve to enjoy it then quickly move on to the Next Great Thing that Needs to be Made Now."
I think you've hit the nail sharply on the head there... the problem with far, far too many nerds is that they are entirely utalitarian... if it works, well, dang it, that's good enough. I've proved I can get that to work, so I'm bored with it now.
There kind of needs to be a whole set of other 'design nerds' who come along after the 'worker nerds' have done their bit, and make it all pretty and sensible to use... these 'design nerds' would have a good understanding of what the 'average Joe' is comfortable with in an interface.
Fedora, CUPS, whatever...
PC here. Printer there. Make it so.
In clear, precise, EASY directions.
Ok, personal OSS rant.
RMS says that coders should give code away. You work as a waiter, or do something else for a living. I don't want to be a waiter. I want to write code. So, "something else" has become service and support.
Here's the rub -- when you make your pennies on service and support, you have no economic motivation to make it easy and self explanitory! You make MONEY when it's hard to use.
This I think is the downfall of the current OSS business models, and I haven't found a way out of it. OSS projects are destined to remain difficult as long as there is no economic motivation (and we've already established that there's no artistic/ego motivation) to make it beautiful and easy.
I'm not saying that Windows is right or that Mac drool-proof design is right, or that OSS is fundamentally wrong. But I'd like people to understand the motivations that their choices steer them to. I feel bad when I get harangued by OSS types for making non-OSS products. Just understand that not everything is as cut and dried, and that most OSS business models have yet to be proven successful.
Let the GNU/GPL/RMS/OSS/ESR flaming begin. I'm ready for it. I've thought this out for a long time, and I make a living writing software. And no, my software is not a paradigm of simplicity, but I'm not having delusions of taking the desktop away from Bill G by conquest.
-- There is no truth. There is only Perception. To Percieve is to Exist.
mistake one in interface design is thinking its graphic design! Better looking buttons lead to user interface improvement with about the same frequencey that a new paintjob fixes your car's transmission.
You are correct, pretty buttons does not a good UI make, however, UI design -- user-centered UI design (layout, workflow, etc., etc.) is VERY important. To continue with your analogy, your car has power-steering. But, human-interface designers made it so you get some tactile feedback from your car's steering wheel at speed (as opposed to the 60's Caddies which you could steer at 65 with your pinkie).
It's the "design" process that's important. 1. What is this "thing" supposed to do. 2. What does the user(s) expect/know. 3. How's the user(s) going to act/react based on #2. 4. What's the simplest, most effecient and effective way to get to the desired end result given #1 #2 and #3 for as many cases as possible.
Photoshop doesn't make you a graphic designer; programming skills don't make you a UI deisigner.
Do what you do. Engineers engineer, programmers program, and designers design, but just like you wouldn't have a electical engineer engineer a bridge, or a web developer programming embedded system, you shouldn't have a graphic designer designing a UI... IMO.
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.
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
But everytime I point out someone's interface flaws, someone in the OSS community screams at me "it's volunteer work" or "program your own version then."
Then I realize I don't want to work with a bunch of anti-social programmers.
I'm a longtime reader of Slashdot, longtime observer of the open-source community, never posted before, hope someone takes my opinion seriously.
I use some open-source applications and have installed Linux a few times. The reason I don't use it now is because of the exact problems ESR mentioned. Obscure problems, poor documentation, and having to wade through a zillion man pages just to get an idea of what the problem is.
Far be it from me to tell any programmer how to do their job, but most of us in the Real World don't have time for this stuff. We just want the bloody thing to work without too much trouble, so we can get on with our jobs and/or lives. Microsoft, for all its many and fundamental shortcomings, understands this. Far too few Linux developers do. Ergo, when an end-user encounters a problem like ESR's and can't muddle his way through it, he's just going to shrug his shoulders and take the path of least resistance, which means Windows.
I hate Microsoft, I hate their shoddy software, I hate their security problems, I hate their handholding, I hate their interfaces. I've been saying for years that if I ever meet Bill Gates, I'm gonna smack him. But I keep using his software, because if nothing else, at least I know it's going to do what I need it to do, dangnabit, and I won't need a computer science degree to make it work.
Actually, newbies are the ones who need documentation the least. As has been said before, if your user interface needs documentation it is too confusing. On the other hand, experts who are doing something unusual or complex need documentation on how to do those things. Documentation written for newbies is useless because newbies can't find it and don't want to spend time reading it, while experts won't get any benefit from it.
main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
The problem is that the folks who made this UI made things harder not easier for the average user. I don't care how my print queue works, I just want to be able to hit "Print" and have something (and the correct something) come out on paper. Idealy it should go out on my local network and see if there are any printers already there and offer to add them. Now If I'm running a department with 100 computers and 10 printers I may care about the details but if I have a home network with 2-4 computers I don't. Just make it work, I have better things to do with my time that fight with CUPS.
Erlang Developer and podcaster
What we really need to have happen is the folks who still have such values as those of the original macintosh form their own linux environment where thinking differently about apps/environments is accepted and where essential macintosh freedoms (e.g. the freedom to criticize the living hell out of bad and confusing software) are fully protected. People like us need to stop putting our faith in hopeless projects like KDE and GNOME that are dominated by traditional unix hackers, and to start putting faith in ourselves and our own work.
BTW, I've liked your previous posts regarding linux usability, for what it's worth.
Ergonomica Auctorita Illico!
When it comes to documentation and making things more intuitive, you just cant blame the FLOSS developers,
they are developing all that software because of their love for writing software, when that software is in a proper functional state(according to their expectations) they start losing interest in that(and thats natural as their first love is writing software, not documenting it), they just want to handle complex programming problems instead of firing an editor and writing about how the whole thing works.
To them "Documentation" is kind of "shitty" work which no one wants to do, and thats where money comes in picture, in closed source or professional organizations you have to write documentation, you like it or not. and often you have dedicated guys who are responsible for that, also enough thought goes into look and feel of software along with core functionality of software.
I remember reading Linus statement somewhere where he said companies like RedHat did what he never wanted to do like documentation and i think that clearly conveys the point.
Linux: Self-mutilation is a snap.Be a geek!!!
And of course Aunt Sally and her dog know that pointing your browser to localhost:631 will bring you to the web-based admin tool to setup your printer, because that's the first thing to learn in school.
It's not his mistake to use the only "obvious" tool that's available on his box to setup the printer.
There are two rules for success:
1. Never tell everything you know.
Grandparent:
I'm planning on instrumenting the program to allow the users to (voluntarily and anonymously, of course) report to the project server...
Parent:
What you're doing is called "anonymous usage statistics."
When MS does it, it's "spyware." When you do it, it's modded up "Insightful."
And when he does it, it's voluntary, anonymous, and optional. That would be the big difference between his "OK" way and the Microsoft "spyware" way.
Here's one example of Windows video playing annoyances...
The newest Windows Media Player (that comes with W2k, 7.0) outputs DV video (the kind that comes from almost every digital camcorder, not exactly uncommon) in half size (360x288), which looks like crap. If you try to double the size, it just scales the 360x288 frames and the quality still sucks ass. You have to run "mplayer2", which starts the older version (6.4) (why the hell is it called "mplayer2"?), and there you can configure the DV codec to output the full resolution. It still won't work on the newer player, though. Now, if you want to play an DV encoded AVI, you'll have to remember to select "Open with->Windows Media Player", not "Open with->Microsoft(R) Windows Media Player" (which is the newer player that doesn't work right).
This was on my laptop. On my desktop, DV audio codec has disappeared somewhere, dvd-compliant MPEG-2 files won't play (WMP goes looking for a suitable codec, doesn't find it), and DV avi files crash the WMP on exit, but this is just on my system, not a general issue. I'd just like to know what the hell broke these, and how to fix them. Currently I have to boot to Linux to play MPEG-2 files with mplayer...
If the road to hell is paved with good intentions, where does the road paved with evil intentions lead to?
Although I happily agree that most OSS leaves lots to be desired in terms of user-friedliness, I don't like ESR's rant much. Here's why:
He criticizes CUPS for having a subobtimal configuration interface. I am impressed that it even has such an interface at all. A friend of mine once said that hackers often stop where the product becomes almost usable. This is very true, and the CUPS developers probably just focus on the implementation, rather than the interface, which, IMO, is the Right Thing to do.
Secondly, what he tried to do should have required no action on his part, as it says in the documentation. It's not CUPS's fault that the Fedora Core team decided to ship their system with the required feature turned off. There are good reasons for turning the feature off, e.g. security considerations: don't run services that are not required, and remote printing certainly isn't required for everyone. Sure, they should have mentioned this and provided instructions for re-enabling it, but remember that all this is under development; there is room for improvement.
Finally, I have to say that I have had both good and bad experiences with CUPS, but finally quit using it because it is much too heavy and complex for my needs. I just want to print, locally, and magicfilter takes care of this just fine.
Please correct me if I got my facts wrong.
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.
Why doesn't the software help file clearly state that? The insistence that Linux users ferret out these tidbits in order to get something to work is what is making people stay with MSFT. I installed SuSE 8.2 and discovered that it didn't install a functional DVD burner even though it was distributed on DVD... there was vague mention of some things I had to acquire and install and configure if I wanted to use a DVD burner. To hell with that ... Win2000 happened to be available and the DVD burner software that came with the drive works fine wiith it.
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.
Note: I'm not trying to flame!
There's a great difference between advocating something--Linux, in this case--and really opening your eyes, seeing both the good points and the warts. Far, far too much Linux advocacy has been of the blind variety. People who use Linux for a handful of geeky uses rant and rave about how its superior and how everyone should use it. When someone asks "But is there a program as good as Blah that runs under Linux?" The response is almost always an enthusiastic "Yes! There are dozens! And they're open source! The best one is XYZ." Then in reality the dozens turn out to be half-baked personal projects unsuitable for general use, and XYZ tends to be better, but nowhere near what the person is wanting in terms of polish and quality. Those endearing advocates who insist that The GIMP is on par with Photoshop come to mind.
The next level of advocacy is realizing that this is true. JWZ, and now ESR, have followed this path, and many, many others who are not so egotistical.
Yes, you TOTALLY missed the point, which was that SuSE distributed a version on DVD, and despite knowing that the users were going to have a DVD player and maybe even a burner, didn't bother to make sure that burner and player software were installed and configured. They took the easy way out and expected EVERY user to track down the necessary information and download other files to install and configure the DVD burner/player.
Implying that I am a software pirate helps Linux improve? How? I have a LEGAL copy of Win2000 and the DVD software that came with the burner is also legal. Looking at the Program files, everything I have on my system is legal: either FOSS or purchased.
What WAS your point, anyway?
> The trick to getting dvdrecord to work is to know that it only supports "-dao" on most drives."
Why doesn't the software help file clearly state that?
I so agree with you, but I'd go even further: Why does the software not set this flag automatically if it's the only one that works?
The luxury of ignorance. If only one flag works, and/or is required for correct operation, then I should not need to know about it at all.
Unfortunately, writing such software is difficult and, most importantly, boring. It's not C00L to have written software which is trivial to use, and the FLOSS community is unfortunately still driven by the wish to become famous for having written something C00L.
So what we should ask ourselves is: how do we make it 1337 to write software that grandma could use?
The second the Free Software community started trying to push their stuff on schools, governments, and corporations, every Free Software developer earned a moral obligation to improve the usability of their stuff and they lost the right to say "Quit whining about what you're getting for free". The instant you put your software in areas where people don't have a choice in the software they use, you are no longer "just a volunteer".
Free Software Developers either need to make their usable or they need to stop their lobbying and go back to the server closet they came from.
We talk about world domination, but we'll neither have it nor deserve it until we learn to do better than this. A lot better.--ESR
Ergonomica Auctorita Illico!
One of the (many) reasons that the various *ix's are better than the Massive Microsoft Monolith is that most programs are designed to do one thing (and only one thing). That means that most *ix programs come with a simple (read: stupid) user interface, usually from the command line or from STDIN/STDOUT. (Frequently, they have both.) Therefore, some digigeek can write the program that does the bit manipulation and only speaks geekish, but someone interested in User Interfaces can write an application that provides a clear and functional interface. The connection between the two may be a System call or a Pipe. What a simple and powerful idea: the developers that understand bits and hardware write the part that interests them and those that understand users can write the parts that interest them! The connection between the two is a standard interface. In Gates' world, everything is part of a single entity - Microsoft. If someone wants to add a new feature or improve an interface, that person must understand the entire monolith. User interfaces are completely controlled by M$. Although this guarantees a minimum acceptable interface, it leaves no room for growth. I have always thought the simple interface idea was one of the most powerful features of *ix. This is the reason there are multiple shells in *ix. It allows the possibility that programs with poor user interfaces can be easily improved, with encapsulation (wow, just like OOA/D).