Linux.com

Feature

The luxury of ignorance: A follow-up

By Eric S. Raymond on March 01, 2004 (8:00:00 AM)

Share    Print    Comments   

A few days ago I uttered a rant on user-interface problems in the Common Unix Printing System. I used it to develop the idea that the most valuable gift you can give your users is the luxury of ignorance — software that works so well, and is so discoverable to even novice users, that they don't have to read documentation or spend time and mental effort to learn about it.

This rant made it onto all the major open-source news channels, so I was expecting a fair amount of feedback (and maybe pushback). But the volume of community reaction that thundered into my mailbox far surpassed what I had been expecting — and the dominant theme, too, was a bit of a surprise. Not the hundreds of iterations of "Tell it, brother!", nor the handful of people who excoriated me as an arrogant twerp; those are both normal features of the response when I fire a broadside. No, the really interesting part was how many of the letters said. in effect, "Gee. And all this time I thought it was just me..."

Here are representative excerpts. Hostnames have been removed to guard respondents' privacy. As you read these, notice that there are a cluster of themes emerging that bear not just on CUPS but on the wider state of user-interface design under Linux.

johnrgregg:
>You rock! Amen brother! I got a linux box a year and a half ago. I am
>a dyed in the wool geek, a programmer by trade, assembly, C, C++. I
>should have linux up in no time, with my eyes closed, right? Oh my
>god, what a humbling experience. *Everything* was difficult.  And I
>always had this sense that I was being stupid or lazy, even though I
>swear I'm neither.  This sense radiated out of the mailing lists, my
>friends, some corner of my own mind.  I have taken notes, and I plan
>to write a rant of my own, very much like yours.  Reading yours was
>like visiting a childhood home - around every corner, on every shelf
>in every closet, there was a rush of familiarity, of recognition. [...]
>
>If Aunt Tillie can't run your software, scolding her for being a
>brainless luser [...] buys you exactly nothing. Nothing but a 0%
>market share. Aunt Tillie is *right*, you are *wrong*.  She votes with
>her feet. [...] Thanks for being a voice, and one with the street cred
>not to be dismissed as a (sneer) newbie.

rdparker:
>I just wanted to say a big thanks for writing your rant.  CUPS has been the
>bane of my existence over the last year.  Despite ~20 years of *nix
>experience, I have found setting up a printer under CUPS to be an exercise
>in frustration, both mine and my wife's.  I seem to never be able to
>configure it successfully on the first N attempts and she can't understand
>why it takes me a blasted week to setup a new printer.
>
>Heaven forbid, I got a new USB printer and wanted to plug it into my
>Linux desktop for wireless use from our Mac notebooks.  I made the
>mistake of doing this during finals.  Ack!  CUPS, even locally, seems
>to have a theme of swallowing your print jobs without telling you
>where they went, without giving any reasonable errors and without any
>direction whatsoever as to how to correct the problem.  How in the
>world can a program not know that the bytes never reached the LPT
>port?

wmb:
>Somebody pointed me to your essay about configuring CUPS after seeing a
>similar rant I had posted to a company newsgroup.  I've spent most of my
>career working on Unix systems and opposing M$, but lately I've been
>sorely tempted to go over to the dark side after wasting incredible
>amounts of time trying to administer Linux systems.

howe.david.act:
>Utterly on the money (of course). Since I began using Linux I have been
>extremely pleased with the technical improvements but utterly depressed by the
>inability of Linux builders to understand the mentality of Joe Public. Your
>essay could easily be applied to almost the entire Linux application base.
>
>I suggest that as programmers or designers, some critical useability tests
>should be mandatory in a given project. Useability is an important criteria
>and until this criteria is  satisfied then a project is incomplete. 
>Functionality without useability is in most cases (when dealing with users)
>totally useless.

jecoleman
>I'm a self-taught Linux user who usally does pretty well with whatever
>I set out on but CUPS was hopeless. I felt all the more terrible about
>my failure after reading all the "CUPS is great" and "CUPS is easy"
>accolates on the web. I feel a bit better after reading that an alpha
>geek of your status had similar difficulties. Thanks for the article
>(I'm keeping it as a HOWTO). I hope it's well received.

matt:
>Just the other day, I went into work where I design Windows user
>interfaces (flames to /dev/null I used to code in Motif but it was
>clear MS cared more about UI than Unix, so I left the Unix camp.
>[...] I mean, these [Unix] people worshiped at the sendmail.cf altar, 
>which is NOT cool in 2004.  What I realized is that Linux is not a
>code base.  Or a distro.  Or a kernel.  It's an attitude.  And it's
>not about Open Source.  It's about a bunch of people who still think 
>vi is a good config UI.

leue:
>Whoahahah! I nearly laughed myself sick while reading your essay. It is too,
>too true. And I am as guilty as the next d00d at creating just such mishigoz
>in my own GUIs. You should seriously consider emulating J.S. Bach and
>having this one engraved in copper to stand as a warning for all eternity.
>Made my day :-)

housepig:
>I am trying to cram some knowledge so I can get off of
>MicroSoft's teats, but it's very frustrating to sit at
>a box with a lovely GUI KDE desktop, and try something
>simple like running Mozilla or printing a document,
>and find yourself spending an hour pulling out your
>hair because you didn't grow up running from the
>command line.
>
>It's reassuring to know that even the wizards can get
>lost, and get just as frustrated. There might be some
>hope for me yet.

jerryk:
>Well, screw!  Your "Luxury of Ignorance" post really struck a chord with
>me...
>
>I did this myself for my first (and so far only) time last summer.  And
>I made *exactly* the same assumptions coming in to every step of the set
>up (this was admittedly on RH9 and not Fedora, but your points still
>seem to apply back there) as I did, along with the same (what eventually
>turned out to be) mistakes...
>
>Although it did only take an evening to get it figured out, just a
>little bit more clarity on what the vocabulary and semantics of the
>entities in the CUPS printing universe really meant, both in the written
>docs and in the parts that had UI, would have made this the five minute
>job that it should have been...  And one soluble with only the online
>help of the tools involved or their manuals, rather than going to Google
>and playing "Find the last jackass who has this exact problem and
>pattern match..."

neil:
>this is your most significant peice since a) Cathedral
>and b) Discovering Python. It is THE central issue for
>Linux adoption.  I hope you can persuade the masses -
>the Linux Masses, that is, to DO SOMETHING ABOUT IT.

Judah:
>http://www.catb.org/~esr/writings/cups-horror.html was a WONDERFUL piece.
>I relate to this piece very much because I have periodically tried *nix
>OSs at home (solaris, Linux) and each time discover that for the kidns of
>things your home PC needs to do, it just 'aint worth it'. Despite a degree
>in CS and spending my days at IBM Research, getting simple things done in
>Linux are just too time consuming to bother.

abacaxi:
>Thanks.   Every time I mention - and I did so publically on Linux World
>last spring -  that  those who merely want to USE Linux should not be flamed
>for their reluctance to delve into the innards of the config  files ... I
>get flamed for wanting a user friendly setup.  I'm glad to see that it's not
>just me who sees room for improvement.

bill:
>Thanks for writing about CUPS, and its soul-stealing, mind-eating,
>designed-by-a-crack-fiend-on-acid gui.
>
>All this time, I thought it was me.

And, for those of you who thought it was all Red Hat or Fedora'a fault and I was being too hard on the CUPS developers, here's what the lead guy on CUPS had to say:

Michael Sweet:
>Overall, I really liked your piece about the problems you've had with
>CUPS.  It underscores several things in CUPS that we were not aware
>of (you're the first to say them), but also a lot of things that Red
>Hat might want to address in future Fedora releases.

I am informed that an RFE covering the issues I raised has been registered on Red Hat Bugzilla. But quibbles over who is responsible for which piece of the CUPS-configuration mess are, as the letters above reinforce, not merely beside the point but evasions of the actual problem, which is a systemic one that affects thousands of other projects and our entire community.

Up to now, we haven't been willing to do the real work of making our software usable. It doesn't matter whether the the failure of the browsing defaults in CUPS to match the documentation was a CUPS-team screwup or a Fedora screwup — Aunt Tillie doesn't care which direction that finger points, and I don't either. No, the real problem is that whoever changed the default didn't immediately fix the documentation to match it as a matter of spinal reflex.

It also doesn't matter a damn whether the shoddy and unhelpful design of the printer-configuration tool came out of a CUPS brainpan or a Fedora brainpan. What matters is that whoever was responsible never audited the interface for usability with a real user.

The CUPS mess is not a failure of one development team, or of one distribution integrator. In fact, it makes a better example because the CUPS guys and the Fedora guys are both well above the median in both general technical chops, design smarts, and attention to usability. The fact that this mess is an example of our best in action, rather than our worst, just highlights how appallingly low our standards have been.

It's time for that to change. And the really heartening thing I got from the community response is that maybe we're ready for it to change. "I thought it was just me" — many, many of you out there are already dissatisfied with the poor quality of open-source UIs. but each of you has tended to think you were alone. No longer. It's time for each and every one of you out there to become public champions for the luxury of ignorance.

Good UI design is not a result of black magic, it just requires paying attention. Being task-oriented rather than feature-oriented. Recognizing that every time you force a user to learn something, you have fallen down on your job. And that when Aunt Tillie doesn't understand your software, the fault — and the responsibility to fix it — lies not with her but with you.

Let's go back to the queue type selection screen. Remember that one? It looks like this:

        Locally connected
	Networked CUPS (IPP)
	Networked Unix (LPD)
	Networked Windows (SMB)
	Networked Novell (NCP)
	Networked JetDirect

This is a feature-oriented menu, not a task-oriented one. The attitude it exhales is Oooh! Look how cool it is that we support all these printer types! But you know what? Aunt Tillie doesn't care. She doesn't want to know about all the world's printer types, she just wants to make her printer work.

A task-oriented configurator would have logic in it like this:

  • If the machine doesn't have an active LAN interface, gray out all the "Networked" entries.
  • If the machine has no device connected to the parallel port and no USB printers attached, gray out the "Locally connected" entry.
  • If probing the hosts accessible on the LAN (say, with an appropriately-crafted Christmas-tree packet) doesn't reveal a Windows TCP/IP stack, gray out the SMB entry.

  • If probing the hosts accessible on the LAN doesn't reveal a Novell Netware TCP/IP stack, gray out the NCP entry.
  • If probing the hosts accessible on the LAN doesn't reveal a Jet-Direct firmware TCP/IP stack, gray out the JetDirect entry.
  • If all Unix hosts on the LAN have CUPS daemons running, gray out the LPD entry.
  • If the preceding rules leave just one choice, so inform the user and go straight to the form for that queue type.
  • If the preceding rules leave no choices, complain and display the entire menu.
  • The technical details of these tests aren't important, and anybody who writes me arguing for a different set will have fixated on the wrong level of the problem. The point is that, unlike a command tool for techies that should give them lots of choices, the goal of a GUI is to present the user with as few decision points as possible. Remember the Macintosh dictum that the user should never have to tell the machine anything that it knows or can deduce for itself.

    As few as possible decision points is another way of stating the guiding principle of good UI design for end-users: Allow the user the luxury of ignorance. This does not mean that you can't reward acquired knowledge with more choices and more power; you can and should do that. But the user should also be able to choose to remain ignorant and still get all their basic tasks done. The more thoroughly software developers internalize the truth that real users have better things to do with their time and attention than worship at the shrine of geek technical prowess, the better off everyone will be.

    One respondent to my earlier essay observed, perceptively, that I seemed to be trying to raise the reputation value of being good at UI design. That's quite right; I think we should make a conscious effort to raise the standards of quality we demand from each other, so that blunders like the CUPS configuration mess become deeply embarrassing to all involved and are less and less often permitted to persist.

    It's been twenty years since the GNU Manifesto and nearly seven since The Cathedral and the Bazaar. I think it's time we stopped congratulating ourselves quite so much on our dedication to freedom and our ability to write technically superior code, and began more often to ask What are we doing to serve the real users? Good UI design, and doing the right thing by Aunt Tillie, ought to be a matter of gut-level pride of craftsmanship.

    But if that's too abstract and idealistic for you, think of this. No matter how skilled you are, there are many times when you will be the end user. By learning to demand good UI from others, the time and sanity you save will ultimately be your own.

    Share    Print    Comments   

    Comments

    on The luxury of ignorance: A follow-up

    Note: Comments are owned by the poster. We are not responsible for their content.

    The UNIX Printing Nightmare Continues

    Posted by: Anonymous Coward on March 01, 2004 11:19 PM
    For once, ESR is on the ball. And the suggestion that CUPS is screwed under Fedora (what isn't, by the way?) shouldn't be too surprising. Under RH9, the CUPS daemon seems to die silently before you even get close to the CUPS administration tool in KDE's control panel (which offers no reasonable way to restart it).

    For ages, UNIX printing was about arcane shell scripts in special directories and everything pretending to be a line printer from the 1960s. The only thing that seems to have happened in the last decade is that people have added another badly connected layer on top and pretended that they've solved the usability issues.

    Go into a shiny dialogue, click a few buttons - who knows whether it's all doing anything underneath? Because it might as well not be doing anything at all.

    #

    menu

    Posted by: Anonymous Coward on March 01, 2004 11:25 PM
    Blanking out local may be a bad idea because it may be impossible for the computer to detect some types of local printers. Printing to these is like "I'll just take your word that there is a device there." You also do not allow for configuring remote printing for printservers that may not be up right then. When trying to set up a printserver, you will want a client so try to talk at it, even if it has not been autoconfigured. Your suggestions can lead to the trap of "I know better than you" that other systems impose. I agree that the UIs should be more usable, but be careful not to make them inflexible.

    #

    Re:menu

    Posted by: Anonymous Coward on March 02, 2004 05:13 AM
    I'm glad someone else thought exactly the same thing when reading that portion.

    I absolutely hate when a program makes assumptions that totally break basic tasks. Plus a printer dialog that automatically scans the entire network for printers would not only start very slow, it would badly wreck our network (and probably fail since some printers aren't on the same subnet).

    A better approach may be to have a "scan for printers" options, so that power users don't have to waste their time and network resources on an unneeded step. Remember we don't want to make the interface harder for system administrators to use.

    #

    Re:menu: wrong questions.

    Posted by: Anonymous Coward on March 02, 2004 02:21 PM
    "The technical details of these tests aren't important, and anybody who writes me arguing for a different set will have fixated on the wrong level of the problem." ~ ESR

    #

    Rant to rant

    Posted by: defurnej on March 01, 2004 11:43 PM

    I think that the problem with the first part was that ESR's rant mode sent other people in rant mode also.

    This part gives a fine and understandable conclusion of what he really meant.

    FOSS developers like to pride themselves that they are not driven by marketing, and thus have the time to release bugfree code. This is right up to a certain point.

    I have worked as a programmer in an administrative environment, and I got the same complaints from my boss on the conclusion of my first assignment, that it was flawless, but too technical and did not take into account the requirements of the user.

    I did not rewrite the application, but I spent more time in other applications talking with the people who needed them. All following applications where perceived as better and the users also gained confidence that they could ask me much (not anything) and that they would get a good solution in a reasonable time.

    This is not an easy process. This means that you have to do more work. Not only functional requirements are needed, but also user requirements. The functional part of the software can be (mostly) written and tested on its own, but for the user interface the ability to build and present prototypes is a big requirement.

    I think that the Linux Documentation Project should have something about user interface guidelines. That would be a big advantage.

    #

    Re:Rant to rant

    Posted by: The Spoonman on March 02, 2004 04:29 AM
    This part gives a fine and understandable conclusion of what he really meant.



    Those of us who care more about supporting our users than our egos knew exactly what he meant from line 1.

    #

    I thought I was alone too

    Posted by: Matthew on March 01, 2004 11:59 PM
    I thought I was alone thinking that linux UI's sucked. GNOME is getting better, but KDE just keeps adding more and more options... Thanks Mr. Raymond. Comming from me no really listens... But you have street cred...

    #

    What about the GOOD ones?

    Posted by: Charles Tryon on March 02, 2004 12:55 AM
    > I thought I was alone thinking that linux UI's sucked.<nobr> <wbr></nobr>...


    I'll beg to differ on the blanket nature of this statement. I think it's safe to say some GUI's are completely crippled, some suck, some are clumsy but generally workable, but some Linux GUIs are downright slick. Frankly, it's the ones you don't even think about that are the best designs. I think we should spend less time complaining about the crippled UI's and more time thinking about the good ones, and what makes them good. I think ESR's statements about "discoverability" (is there such a word?) are pretty spot-on, but there are plenty of other well known patterns for designing good interfaces.


    So, what is your favorite Linux application UI, and what makes the UI good?

    #

    Re:What about the GOOD ones?

    Posted by: Matthew on March 02, 2004 04:23 AM
    I didn't mean that all ui's suck. I was referring to KDE and GNOME, but they don't complete suck, they just need work. I can't think of my fav UI off the top of my head... Most of em have probs...

    #

    Here are some good ones.

    Posted by: Anonymous Coward on March 02, 2004 10:09 PM
    I think YaST (yes I know it isn't OSS) is a great example. I also think webmin is a good example. This is especially true in regard to configuring a Linux Firewall, IPTables. Redhat/Fedora want to have a seperate application to configure each OS function. Although YaST calls many seperate applications, they are at least in a central "control panel" like location. The GIMP is probably the biggest tragedy. It could be 70% more useful if they simply wraped the existing program up in a photoshop-like interface.

    #

    Low Standards

    Posted by: orpheus52 on March 02, 2004 12:17 AM
    Great article Eric. But what drives people to Linux? I think the biggest selling point of Linux is MS. I watched a neighbor load Windows XP and I was appalled at this spyware thats called an OS. Linux offers security, privacy, and stability. All you have to do is figure it out. Thats why people suffer the learning curve. Your points are true, but there are things that are worse. Like the contempt MS has for its customers. I noticed at Best Buy that HP has taken the backspace and pipe key out of the keyboard and made the backspace twice as wide. Hell no, I'll never go back. Connect to a MS server to get your mouse to work indeed.

    #

    Re:Low Standards

    Posted by: Anonymous Coward on March 02, 2004 03:04 AM
    No one's suggesting that you run as root, that you have your window manager in the kernel, or have a daemon running for every entry in<nobr> <wbr></nobr>/etc/services running when you boot up. But a good useable GUI is a real blessing for the end user, and it can be done without wrecking the other advantages of the machine.

    GUI's have come a very long way, and I'm going to disagree with another poster when I state that IMHO, KDE's one is pretty good. The options are there, but so are the wizards for ordinary users. The only thing they need to improve on is the 'Administrator mode' stuff, which isn't intuitive at all. They should just ask for the root password when something need's it, not add a completly new mode. Not to rant though, I understand why they did it.

    #

    CUPS/RH: Please don't!

    Posted by: Anonymous Coward on March 02, 2004 12:49 AM
    There is a large conceptual difference between a task-oriented interface and the list-of-features. Please Red Hat, do not, I repeat NOT, try to do the kind of interface esr proposes!

    The graying-out "feature" that esr proposes is what makes MacOS and MSWindows computer's so fscking hard to use! What happends when you want to do something? You inevitably have to figure out the way the author wants you to do it -- otherwise you'll get all your alternatives "grayed out", in a graphical user interface maze of passages, all alike. Do you export the printer on the server, mount it on the client, or both? In which order?

    Microsoft has spend the latest five years of fixing the mistake with this interface by conducting comprehensive user studies and placing all kinds of shortcuts all over the place. This graphical TIMTOWTDI-frenzy creates a new problem: There's no way to really tell if your way of doing things will work or not, because there is always another way to try. Most ways all lead to the same dead end.

    Logic breaks. That is important to understand. If you gray out the SMB print share when no Windows machine is on the network, how do you add a printer somebody exported via SMB from a Macintosh? How do you know if your software doesn't support IPP or if some internal logic failed (or suffered a sudden network glitch) in it?

    The way esr proposes breaks what I believe to be the most important rule of UI design: The computer is supposed to augment the human! Not the other way around. It should be easy to do whatever I want to do with the computer. Hiding away options from me isn't that way.

    The solution is to differentiate the task-oriented interface from the configuration one. I believe the new Control Centre being sketched for KDE 4.0 may be along those lines. That would be a great thing.

    A perfect example, by the way, of why we need more than one Linux desktop. Dumbing-down the interface has the side effect of increasing the amount of hand-editing (or registry-twiddling) when the interface doesn't offer what you need.

    #

    Re:CUPS/RH: Please don't!

    Posted by: Chris Bruner on March 02, 2004 01:26 AM
    That's what the advanced button is for. If you want unrestricted access to all option, go there. If you are doing normal default stuff, grayed out is fine.

    #

    Re:CUPS/RH: Please don't!

    Posted by: Anonymous Coward on March 02, 2004 01:27 AM
    Did you even read the portion of the article after the proposed logic built into cups interface? ESR specifically (I paraphrase) states that "give average users fewer choices to make them happy, but do still reward extra knowledge with the option of seeing more."

    Your proposed solution to differentiate the task-oriented interface from the configuration one is also faulty. Is configuration not a task to be ocmpleted? Is the task of configuration not to be helped along by automated systems when they are practical, provided options to override them are available to whose who seek them out? You also mention that computers are supposed to augment humans. How is the machine augmenting the human if it makes the human do everything for it? If something can be practically and effectively automated, there is no excuse not to. That automation provides a better augmentation to the human than requiring them to become an expert of every aspect of the configuration of their system.

    Your argument here illustrates that you missed the point of this article entirely. This article's proposed solutions are obviously and admittedly broad strokes, designed to influence the way we think about ui design, not to be a proposal for exactly how cups ui should work. ESR left out most details here because here the details are not the point. You couch your entire argument on the details, and in this context, it makes you look reactionary and foolish.

    #

    Re:CUPS/RH: Please don't!

    Posted by: tsg on March 02, 2004 12:37 PM
    ESR specifically (I paraphrase) states that "give average users fewer choices to make them happy,

    Actually, he said "fewer decision points", not fewer choices. The idea being minimize questions he has to answer, not the number of possible answers. The very first question ESR should have had to answer is "Is the printer connected to this machine or another one?" That question would have eliminated most of his problems and the interface could eliminate the questions that don't make any sense to that answer. Once he answers "networked", the configuration program can then go look for computers with printers attached and suggest answers to the next question ("which computer is it on?") but still have the ability to put in the right answer if he happens to know it, even if the configuration program doesn't think it's right.

    The problem with separating "newbie" interfaces from "advanced" interfaces is that there is going to be a large number of people who don't fit in either category. People whose printer setups don't fit neatly into the "wizard" setup but will be completely lost in the advanced setup.

    Asking the right questions, in the right order, and suggesting likely answers without eliminating the unlikely (because they may still be the right ones) is the way to make it work. Having the computer eliminate options simply because the programmer doesn't think they're possible usually ends up in more frustration, not less.

    #

    What I meant is:

    Posted by: Anonymous Coward on March 03, 2004 06:58 AM
    I am not being reactionary. I am saying UI design is a complicated process. What esr proposes is an oversimplification and would yield an completely unusable result.

    Perhaps I am wrong that good design would be to graphically separate the tasks from the configuration. But me being wrong would not give esr's rant any more credibility.

    You say he just left out the details. I say the devil is in the details. This truism is especially so in UI design.

    #

    The Linux identity crisis

    Posted by: Anonymous Coward on March 02, 2004 02:23 AM
    I think the whole community needs to step back for a while and determine just what exactly Linux wants to be.

    This whole premise of easy-to-use yet powerful software is flawed. A powerful tool necessarily involves some training for the user. Would ESR have us build helicopters such that Aunt Tillie can fly them? No! A helicopter is a very powerful instrument, and as such, we expect that one has to learn many things in order to use it properly. If you don't learn to read the instruments and control the machine, it crashes. Just like Windows, what a coincidence!

    If Aunt Tillie wants to fly, she can use a regular airplane, which is simpler. It can't hover in mid-air (because it isn't as powerful a tool), but it will get her from point A to point B.

    Just like a helicopter, a computer suffers wear and tear, and, being amazingly complex, it breaks from time to time. You can't solve this problem with a good UI - the problem of writing failsafe computing environments is not the same thing as the problem of writing elegant user interfaces. When the computer inevitably breaks, you have two choices. Choice number one is to have the "ignorant" user call a technician. Ignorance is a luxury; let the user pay for it at about $80 an hour.

    Open source has always been about power and flexibility. When Richard Stallman had his first experience with proprietary software - in the form of a printer driver, interestingly enough - his immediate problem with it was that it wasn't a sufficiently flexible software to meet his needs: he needed to adapt it at the source-code level.

    If you want to serve the ends of power and flexibility, you cannot also serve the end of ignorant users. No other industry in the business of making powerful tools will dispute this fact. If you are in machine tools, and you purchase a CNC, you will have to train your employees to interface with it, and nobody has a problem with that.
    The real problem here is that Linux no longer knows what it wants to be. It wants to conquer the world somehow - to serve best the needs of both grandmothers on AOL and researchers at physics labs. Personally, I feel that the thrill which drove the growth of Linux is the thrill of making powerful software, making works of technical excellence. ESR says that we are too busy congratulating ourselves to wake up and start considering the needs of real users. I disagree. All of the millions of servers running Linux, and the researchers, and the university students learning from it, and so on - they are real users too. ESR is asking us to compromise quality for the sake of people who like cheap things. That may be the democratic thing to do, but it isn't the noble thing to do, and for once I say we take a stand for nobility. Ask the users to meet our standard of user quality, instead of letting them demand we make accomodations for their standard of simplicity. If we get 0% market share on the desktop, who cares, so long as we made something of great power and flexibility. That's our design goal. Technical excellence is a more noble end than market share. Who hasn't heard the saying: "I can only lead you to the door, it is up to you to open it?"

    #

    Re:The Linux identity crisis

    Posted by: Anonymous Coward on March 02, 2004 02:52 AM
    Those who ignore history ARE doomed to repeat its worst parts.

    While this respondent makes some good points, their overall message: "If you want to serve the ends of power and flexibility, you cannot also serve the end of ignorant users" is crap.

    One obvious example coming from real life which refutes this is the evolution of the modern day automobile.

    (Oh no, the reader cries- not another car analogy!)

    Yup - Look at how much easier it is to use a modern car compared to the early models. Also how much more powerful they are, and safer, and bigger payloads etc... ad nauseum.

    Now I'm not saying your mini-van is the same thing as a dump truck (Just as a PC is not a mainframe) but the general purpose automobile is a technological wonder that is very easy to operate with a minimum of training. A general purpose PC can and should be designed the same way.

    (Yes you have to have a license to operate on on public roads but the license is there to give you permission to drive. You don't need a license to be ABLE to drive, as those of us who started driving cars at 10 (off road only) know quite well.) for those that think off road doesn't count - well canyon trails, pear orchards and backwoods trails are all more challenging to navigate than regular on-road driving. Especially when racing....<nobr> <wbr></nobr>:)

    Even Aunt Tilly isn't intimidated by driving a car which has more computers in it than your house does (maybe - depends on whose house<nobr> <wbr></nobr>:-) ).

    If General Motors and Hyundai can simultaneously meet the goals of power, flexibility and serving the needs of "ignorant" end users, then we must be able to ido the same for PC's as well.

    #

    Re:The Linux identity crisis

    Posted by: Anonymous Coward on March 02, 2004 02:59 AM
    You mention very good points. But ESR is right when he says everyone is a user at some time point.

    A researcher with a PhD in ECE and Aunt Tillie both want to print something without spending hours configuring the printer. The power user (researcher) wants at the same time the option to configure it in detail from time to time.

    The answer to this dilemma is already known. Good backend software and a two tier GUI with this magic button called [Advanced] options.

    The criticism of ESR is well justified and it boils down to making -a project- complete instead
    of leaving it half finished as we see in most FOSS projects.

    #

    Re:The Linux identity crisis

    Posted by: Anonymous Coward on March 02, 2004 09:35 AM
    Flexibility for power users is no problem in Unix. Since all the interfaces write to file anyway, right?? Open the file and knock yourself out O, mighty power user. But even though I know how to do things I don't always want to take the time and do them the hard way. I suppose I am supposed to enjoy writing the various *up *down scripts to setup my network instead of using a gui with DHCP so I NEVER even have to think about it. Be real. Computers are supposed to make us MORE productive right? That means they work so we don't have to (as much) The time spent designing the programming is more than made up in the time saved later. A great program with a terrible interface is a waste of time *cough*sendmail*cough* just one from a nearly infinite list. I bring it up because it is as old as the hills everyone loves to hate it but no one wants to really deal with the problem. And here's the kicker on why IMO. Those that have mastered the dark arts of configuration and management want to wear it like a badge of honor not fix it otherwise all that work and frustration and study is for nothing. This makes them smarter than the rest and and dogonnit if they want in to this brotherhood they need to pay their own dues.


    This attitude is tired. Let's end it. You do pose an interesting question regarding the general direction of Linux however. But I am afraid the Jinni is out of the bottle on this one. So those that believe like you are going to have to focus on projects dedicated to the ideals you mention. I believe they are out there. That will in no wise slow the forward progress of making Linux more user friendly, too many people want this so it will happen.

    #

    Exactly so

    Posted by: Anonymous Coward on March 02, 2004 10:20 AM
    Just right. Writing a 'task-oriented' UI can easily result in orders of magnitude more code than just addressing the problem at hand as directly as possible. It is the MS Windows approach 'we know best' approach, vs. the toolbox full of tools approach of *nix. It obscures the actual operation of things from people who *do* understand how things work, and increases the probability of introducing bugs.

    I don't care whether or not Aunt Tillie can circumnavigate my server room, which is where CUPS belongs. We are not talking about end user desktop software here, despite the fact that distributions put it there. They do so for lack of an alternative. What does 'The Cathedral and the Bazaar' have to say about these things. If you have an itch, ???

    And why doesn't anyone ever allow Aunt Tillie to speak for herself? I don't see Aunt Tillie complaining. What does Aunt Tillie do now? (Hint: her nephews are the only ones you see posting...)

    Eric, you're a fine man, but have the same proclivity to rant as most any other geek. This is an interesting discussion, for the issues it raises, but not much more.

    Among other things, it promotes one of the computer industries biggest misconceptions: that computers will make our lives easier. They won't. That is not to say that *in detail* they can make things easier - printing could be made easier for example. But in the aggregate, there will always be more to do, more problems to overcome. One hurdle only exposes the next. The mechanization of farming did not make farming easier. There are fewer farmers working as hard as they ever have.

    Maybe Aunt Tillie's career does not involve computers. Great. Then identify what Aunt Tillie really wants - sharing recipies perhaps - and give her something to help her do that. But don't be handing out more and more powerful general computing devices, and then complain that they are complicated.

    That's not to say that useability improvements aren't necessary or warrented, either. That would be completely missing the point. The point is that it's an endless effort. The FOSS community is making great progress. How would Aunt Tillie like installing circa 1990's slackware? There's nothing wrong with complaining now and then, but let's not make out like we've encountered something profound here. You're noticing the grain of sand in your eye, and forgetting that you're an otherwise healthy specimen, and getting stronger all the time.

    #

    to further that great analogy...

    Posted by: Anonymous Coward on March 02, 2004 01:48 PM
    The above reader makes a great point; namely, that technology has NOT made life "simpler" nor is it meant to. Good technology is complex, and makes life more complicated, but, in return, it extends human capabilities; it is powerful.

    Modern medicine is another great example. In the medieval ages medicine involved the draining of bodily humours. It was a simple process. Modern medicine is infinitely more complex - consider that modern doctors have to spend a decade of their lives in training. There is no question that it has made doctors' lives more complicated, and those of patients as well, what with yearly physicals and vaccinations and such. But the result is that, today, medicine is far more powerful and flexible than it was in the medieval ages.

    And furthermore, it isn't fair to say that all of this complexity is hidden from the "end-user" of medicine. The patient has to learn about vaccines in order to make educated decisions about which ones he wants to give his children. He has to learn about doses of medicine in order to take the right amount, and so on and so forth. A user of CUPS doesn't need to learn how to program C, but he does need to at least learn how CUPS is set up. That's not asking more of him than is right and fair.

    #

    Re:to further question that great analogy...

    Posted by: Anonymous Coward on March 02, 2004 03:00 PM
    I hear an elitist sentiment in this thread that resonates with something deep within I once believed myself but alas no more. I too believe that GNU/Linux is powerful and very useful and not for everyone, and I too (once) believed that therefore why should we try to make it so? Windows does a good job of configuring a standalone machine with a local printer and some sort of internet connection pretty cleanly most of the time from the average users perspective, which is what the average user wants and needs, so why not just let them have it? I mean who am I to tell them GNU/Linux is somehow better for their needs when clearly it is not?

    Then along came Palladium and LaGrande and UnTrusted Computing and Software as a Service and Word/XML + virtual desktop patents and suddenly it became Really Clear that sure yes and I can sit back and enjoy GNU/Linux and let the Windows World go the way it wants and in five years I won't be able to buy the cool hardware that will do what I code it to or be able to email anything other than ASCII text with my family throughout the country, and all because the GNU/Linux community did not give The Great Unwashed a usable alternative back when it could have made a difference.

    So there is the ideal, and the very real reality. The other very real reality is that a good, usable GUI involves a *lot* of thought, time, and tedious hard work. Even a have-decent GUI requires at least as much time and effort as whatever the program took that it is supposed to interface with. I know this from current experience. My hunch is the reason that so many Linux GUI's are so piss-poor is that the Free Open Source project just didn't have the programming time and resources to put on the GUI. That the original author underestimated the effort the basic underlying program would require in the first place, and there just wasn't anything left for the GUI.

    So what GUI was implemented was done by someone else who did not thoroughly understand the application being GUI'd and the best they could come up with was a half-assed mindless wrapper around the underlying CLI, which is exactly the wrong model for a GUI.

    Not that the GUI shouldn't necessarilly communicate through the underlying CLI, but that if all it does is wrap that CLI, what you end up with is 'zactly the problem ESR rants about, and that must be solved if private personal computing is to remain private, personal, and free.

    Ed L.

    #

    Re:to further question that great analogy...

    Posted by: Anonymous Coward on March 03, 2004 05:40 PM
    I fully understand your sentiment: a viable alternative to a locked down and stripped version of today's peecee is needed (although I do not think that palladium & c. will ever be able to be applied to mass market, for the same reason that a now free population won't accept tyranny for a long time, even in change of a perceived security).

    On the other hand, I do not agree on a definition that a "viable alternative" should be as "dumb" as the current OS of choice. Asking a user to know what he's doing is a perfectly legitimate request for a developer.

    I'm studing for CS major, and have to admit that I'd be scared as hell of a world where computers are entitled to be "smarter" than me. We are in charge: the moment we create tools that think for ourselves, instead of using them with proper knowledge of what they cand do, and how we can make them doing it, it is the very moment we give up our place of "users".

    #

    Re:Exactly so

    Posted by: llanitedave on March 02, 2004 11:12 PM
    Well, yes. Computers don't necessarily make our lives easier, they just let us move to deeper and more difficult problems. That way, they make our lives more productive, if equally difficult.

    The answer to all these rants isn't rocket science. We're dealing with applications that are top-notch in technical quality, but hacks with regard to UI. There are itches that need to be scratched. Some inspired developer will decide, not to create the next great application, but to make the greatest interface for an existing application. He/she will then release it to the community.
    All we need is "a geek for the rest of us."

    #

    Re:Exactly so

    Posted by: Anonymous Coward on March 03, 2004 12:55 AM
    Some projects are fun, and some are not. Which is which depends on who you ask. I think it's safe to say, however, that competent programmers are in general more attracted to nitty gritty computer sciencey type problems than Aunt Tillie's configuration issues. End user support is not fun. The attraction of solving end user problems decreases in proportion to end user cluelessness. The trouble here is that the number of users increases in proportion to the cluelessness. The need for help is high, and the willingness to provide it is low.

    People keep wondering how to make money with FOSS software. If you ask me, this is where the money is: doing the scutwork. Helping people who can't or don't want to help themselves. Maybe that's a service, maybe that's a distribution, maybe that means writing documentation for dummies. Lindows, anyone? I dunno. But thar's gold in them thar hills, I tell ya.

    All rights reserved by 'Anonymous Reader'. Please donotate 50% of all profits resulting from the implementation this ingenious idea to 'Anonymous Reader'. Thank you.

    #

    Primarily a Cultural Problem

    Posted by: briber on March 02, 2004 02:44 PM
    The core of the issue we are grapling with here goes back to the early 1970's, the pre-PC era. The hot technology of the day was time sharing systems. Systems wherein a large number of users (100's even 1000's) would be logged in concurrently, executing programs on the same machine. In this sort of an environment, all system configuration (both hardware and software) was the responsibility of a small but well trained cadre of sysadmins.

    Consider how one became a member of this group. Since the number required was small, only the most motivated and qualified individuals were needed, (think 4yr CS degree, working on Masters). With small numbers of these individuals working together , often one on one, the art of the sysadmin was passed along through what amounts to a cross between oral tradition and on-the-job training. This is essential to grasp. With users being numerous, sysadmins being few, and computers being rare and expensive, the LAST thing that would be allowed to happen is to have some green/PFY/newbie set himself down at the system console to see what he could do.

    You just did not get to that point of control without FIRST knowing what you were doing. This is the root of our current difficulty with FOSS *nix software. Since Linux draws architectural inspiration from the unix world, it obtains cultural sensibilities from unix as well. One of the most pervasinve of these is that any time you need some information with which to manage the system YOU NEED TO GET IT FROM SOMEWHERE ELSE.

    An example: I recently installed RH9 on a friends computer (not a multi boot.) In going through the install, I was presented with option of accepting a pre-defined partitioning scheme or specifying my own using the expert mode. If I took the easy route, the rationale for the scheme was hidden from me. If I chose the expert mode, then I was dumped off at a partitioning manager without so much as a recomendation as to what a sane partitioning scheme might be. What I would like to avoid is the following scenario:

    1. get new computer

    2. partition drive

    3. install Linux

    4. get on the internet

    5. go to tldp.org and read the partitioning howto

    6. learn what I should have done

    7. go back to step 2



    What I'm saying here is that the developers at RedHat KNEW I needed to partition my drive and yet, the options provided were: (1)"We'll do it for you, don't worry your purty little head." or (2)"You can take it from here right? Good Luck!"
    How about a third possibility? A nice

    "I-don't-know-what-the-hell-I'm-doing, but-I'm-a-quick-study. Please-present-me-with-relevent-information- so-I-can-make-some-reasonable-decisions."

    option would be wonderful to have.
    This is not dumbing the os down, but rather smartening the user up. Under the current system, what you're supposed to do is go somewhere else. That somewhere can be anywhere (google, Barnes & Noble, local guru or neighbor's dog) just go away and don't come back until you know what you're doing.

    I'm not saying that becoming a competent sysadmin no longer should require in depth training. No, what I'm saying is that the vast majority of *nix systems are now single user, user administered PCs. These systems have a finite set of common problems. Problems that could largely be dealt with through user education, provided the users don't have to seek out the information through trial and error.

    Perhaps a better way to frame the issue would be from the developers perspective. Consider this as an itch to scratch:

    - Designing a program's UI to

    - use the PC as a teaching tool to

    - teach the user about the PC

    - so that the user may apply that knowlege to better manage the PC

    It's an interesting problem. I'm confident that powerful solutions will be found.

    best regards

    briber

    #

    Re:Primarily a Cultural Problem

    Posted by: Anonymous Coward on March 02, 2004 03:17 PM
    I'll sure second that one. I posted something vaguely similar a few posts up as a response to "re: to further question that great analogy" that I won't repeat here. It basically is not a problem intractable to the usual application of time, money, and project management. All of which are in extremely short supply in FOSS projects....

    Ed L.

    #

    Re:Primarily a Cultural Problem

    Posted by: Anonymous Coward on March 03, 2004 01:04 AM
    Yep, you just about summed it up. Some folks claim it's "impossible" to have one system that is both simple for newbies and flexible for demigod hackers. I think they're forgetting the flexibility of software. Levels of expertise in any given complex process performed by the user should be: "Newbie but presumably able to learn new things" and "Expert that is also sufficiently humble to at least hear out advice from other experts." Having two levels of flexibility in a process can create a wall that a curious newbie has a hard time breaking through. Make the transition from "green" to "able" a bit more doable, but by all means make it possible *without having to do hours of research* - at least for common scenarios.

    #

    RE: The Linux identity crisis

    Posted by: Anonymous Coward on March 02, 2004 03:03 AM
    Those who ignore history ARE doomed to repeat its worst parts.

    While this respondent makes some good points, their overall message: "If you want to serve the ends of power and flexibility, you cannot also serve the end of ignorant users" is crap.

    One obvious example coming from real life which refutes this is the evolution of the modern day automobile.

    (Oh no, the reader cries- not another car analogy!)

    Yup - Look at how much easier it is to use a modern car compared to the early models. Also how much more powerful they are, and safer, and bigger payloads etc... ad nauseum.

    Now I'm not saying your mini-van is the same thing as a dump truck (Just as a PC is not a mainframe) but the general purpose automobile is a technological wonder that is very easy to operate with a minimum of training. A general purpose PC can and should be designed the same way.

    (Yes you have to have a license to operate on on public roads but the license is there to give you permission to drive. You don't need a license to be ABLE to drive, as those of us who started driving cars at 10 (off road only) know quite well.) for those that think off road doesn't count - well canyon trails, pear orchards and backwoods trails are all more challenging to navigate than regular on-road driving. Especially when racing....<nobr> <wbr></nobr>:)

    Even Aunt Tilly isn't intimidated by driving a car which has more computers in it than your house does (maybe - depends on whose house<nobr> <wbr></nobr>:-) ).

    If General Motors and Hyundai can simultaneously meet the goals of power, flexibility and serving the needs of "ignorant" end users, then we must be able to ido the same for PC's as well.

    #

    Re: The Linux identity crisis

    Posted by: Anonymous Coward on March 02, 2004 05:24 AM

    One obvious example coming from real life which refutes this is the evolution of the modern day automobile.



    You reasoning has a fundamental flaw in it: a car, or any automotive device of any kind or size or complexity you could think of, is an object that does only one task: getting your ass from point A to point B. Everything else (car stereo, air conditioner, secutiry devices, etc.) is optional, and has nothing to do with the nature of that object.


    A computer is a tool that potentially could do everything a user wants to do, given skill and time. It is the way a computer was meant to be, it is the way a computer is built. Otherwise it wouldn't have been programmable, extendible and everything that makes a computer useful in everyday's use.


    While ESR has a point in saying that some user interfaces are built with hackers in mind, instead of end users, never - never - think that a computer should be dumb enough to match the inherent stupidity of every "Aunt Tillie" that comes in the way. A computer is a tool: even a dumb tool like an hammer requires proper studying to avoid hurting your thumb with every stroke, or using it to saw instead of nailing down something.


    So, please: stop saying that a computer should be like a car, like a microwave oven, like a toaster or like a VCR: a computer is a computer. It will never be "dumb", otherwise it would be called "PlayStation".

    #

    Re: The Linux identity crisis

    Posted by: Anonymous Coward on March 02, 2004 09:05 AM
    Huh? Since when has there been more than a steering wheel, a gas pedal, a break and, depending on where you live/which car you own, a clutch to manage a car?

    Even so, you're expected to put some time into learning how to drive, here in The Netherlands it can easily take up to half a year taking lessons several times a week before the let you on the road alone.

    And gosh, a computer is waaaaaay more complicated! (even a Mac<nobr> <wbr></nobr>;-)

    #

    Hall of Shame website

    Posted by: Anonymous Coward on March 02, 2004 03:30 AM


    I don't have the resources or the time to create such a thing, but it seems to me that this issue deserves some more attention and could therefore benefit from a permanent web presence. http://www.luxuryofignorance.com seems to be available. On it there could be a core description of the issue at hand (very similar to your initial rant) a blog dedicated to the topic, a way to post UI stories and vote projects into the hall of Fame or Shame, respectively. This would enable people to draw much-needed attention to the failures of UI design and reward with praise the successes.



    I don't see anything like that on the web, so it'd be nice to see such a thing built.



    evildarkie

    #

    Re:Hall of Shame website

    Posted by: Anonymous Coward on March 02, 2004 04:21 AM
    If anyone dared to do that, they would be deluged with hate mail. Just about any experienced Linux user who ever dared to ask a newbie question on a mailing list knows perfectly well that criticizing *anything* whether it be usability, power, graphics, or anything else about an Open Source package of any type whatsoever will immediately invoke the wrath of the righteous believers and drown you in a flood of contemptuous rage.

    #

    Re:Hall of Shame website

    Posted by: llanitedave on March 03, 2004 01:37 AM
    There are a lot of "UI Hall of Shame" websites out there.

    Some of them are deserving of membership themselves!

    Here's one:
    http://www.site.uottawa.ca:4321/oose/index.html#T<nobr>h<wbr></nobr> eUserInterfaceHallofShame

    It sends you into a frameset from which you can't back out...I love it!

    #

    redhat printing dialog

    Posted by: Paul de Vrieze on March 02, 2004 04:25 AM
    I think too that cups can be improved a lot. In general the web interface is even easier than the redhat tool you used. For example, there are still many lpd servers around (like on my university) that require privileged port access. There is actually an option for enabling that. Redhat does not know of this option, and I only found out how to do it from the source code. I knew that it was available, because the behaviour was changed from an earlier version. When set up cups is nicer than the other spoolers, but before that, certainly not.

    #

    a little different...

    Posted by: hallgreng on March 02, 2004 04:52 AM
    last friday:
    apt-get install cupsys cupsys-client
    i then spent one hour in the web admin, and then i was printing to a USB printer shared on a WinME box. i had never seen or used CUPS before.

    im not criticizing anyone for being unable to set up CUPS (hell, iv only done it once, so i dont really know jack about it), but what went right for me that goes so wrong for everyone else??

    One thing i will complain about are PPD files. i could find absolutely no documentation on how to _use_ a PPD file for the printer. i got lucky when i put in the path to the file in the LOCATION box in setup just for kicks and it worked. that would be a very nice thing to label.

    #

    Re:a little different...

    Posted by: Anonymous Coward on March 02, 2004 05:42 AM
    I think you may have proven the point. It shouldn't take an HOUR to setup and share a printer.

    On a side note, one of the things I remember GNOME/MDK (and probably KDE) doing well was sharing files. Right click on folder -> Share. That's it. The folder is shared using any protocols that are available. Sharing printers should be the same Click -> Share sequence, and then they are automagically shared using all protocols. On the client you should be browsing for them, not typing in domains/paths. yecchh. I know this way may seem a bit redundant, but it works well for those people that can't drill though all the options.

    Remember, if I can't do it using only the pointy clicky thing then it's not easy enough.

    And for the record, I use vim.

    Sean.

    #

    Re:a little different...

    Posted by: Anonymous Coward on March 02, 2004 11:04 AM
    You use vim? What does that have to do with the price of bananas? Is that supposed to denote intelligence? And if you are intelligent enough to use vim, then any other technical endeavor should be child's play?

    If it isn't child's play, maybe it should be more like vim. How long did it take you to become facile with that program? You got out what you put in, didn't you?

    Why does everyone always think printing should be easy? It's pretty damn complicated stuff. People also talk like making printing easy should be easy, and therefore the people who are neglecting to make it easy are self-interested snobs. I haven't seen one post saying 'Thank you for making CUPS what it is so far' yet.

    I'll say it. I use CUPS. A lot. I like it. I look forward to future improvements, but it is helping me today. Thanks.

    #

    fsck it, use mandrake

    Posted by: Anonymous Coward on March 02, 2004 07:20 AM
    hell, i've set up printers since like mandrake 7.0. it is easy. their drakeconf program is easy to use, and works. on my school network, i can print to the novell printers, the hp direct printers, and even some printers i shouldn't have access to(he he he. nice security district admins!!). anyways, they figured it out. hell, 9.x detects damn near everything in install, and confiugres it. what's esr doing. compiling/configuring from source? please. i've hafd shitload more problems on windows computers with printers. my wife wants to know why her usb epson suddenly vanishes. hell if i know. not every driver is available for every printer. that is the manufacturers fault. but, for those that are (especially HP), linux printing rocks. guess esr has been off the pipe for a while, and needs some PR.

    #

    Re:fsck it, use mandrake

    Posted by: eskayp on March 02, 2004 12:10 PM
    I have to agree with anonymous, for the most part.
    Mandrake has done a good job of insulating this n00b from the technical demands of Linux.
    That said, venturing off Mandrake's beaten path has repeatedly led me into trouble and reinstalls.
    If only ALL of the Linux universe were so user friendly.
    In that sense I have to agree with ESR also.
    It IS possible to make the various flavors of Linux easily usable to a wide variety of users.
    It will, however entail quite a bit of effort beyond the normal design/code/release/debug/recode cycle.
    It will take more than thoroughly commented source.
    I am not a coder, but it appears coding utilizes a different, more focused set of skills than writing help files, or designing user friendly GUI's.
    I am not a business person but, judging from Mandrake's reputation for ease of use, a case can be made that investing in usability increases sales.
    I do not hesitate to recommend Mandrake to my MS addicted friends, with the caveat to start out with the standard install.
    For those who want to learn and do more on their own, more power to them!
    They are the hackers, coders, and users that make Linux evolve.
    I just hope we everyday GUI users can do an adequate job of supporting them.
    More successful business case examples are starting to show up -- indicating sustainable presence and growth for Linux and Open Source is actually happening.

    #

    absolutely

    Posted by: Anonymous Coward on March 02, 2004 03:07 PM
    I use Mandrake and Knoppix. I DID NOT EVEN KNOW that there were any CUPS problems out there. I guess I have the luxury of ignorance<nobr> <wbr></nobr>:-)

    #

    Re:absolutely

    Posted by: Anonymous Coward on March 12, 2004 07:25 AM
    Well, I use Fedora and I didn't notice this problem either - I had no problems at all configuring the shared printers at home, and I was actually impressed by how flawlessly everything worked when I set up a JetDirect printer. (This is in contrast to Windows, which is incredibly confusing when it comes to setting up networked non-SMB printers, at least before Windows XP.) So it might just be that you are used to the way of working with Mandrake's printer config tool, and it might be just as confusing to an inexperienced user as the Fedora tool was to ESR.

    #

    i'm hardly a n00b

    Posted by: Anonymous Coward on March 03, 2004 06:34 AM
    i began using linux in 98 because i couldn't use windows as a java platform. it was absolute crap. i have been assembling/configuring mostly linux servers for years, and i have been developing LAMP based web apps even before "web services" were fashionable. i just don't want to dick with print setup. i found it easier to let drake tools do the base config for printing. i never discovered printing to be a problem. it's more laziness than n00biness.

    #

    Re:i'm hardly a n00b

    Posted by: eskayp on March 03, 2004 11:55 AM
    "...it's more laziness than n00biness."
    I disagree -- it's more efficiency, or tekkie smarts, to let the system do the heavy lifting while the SysAdmin takes care of the higher level, more abstract duties.
    While we may enjoy learning, and tweaking our boxes, the founding concept of the PC was as a tool to increase our productivity.
    And that is exactly what you are doing, from the sound of it.

     

    #

    Re:fsck it, use mandrake

    Posted by: Anonymous Coward on March 04, 2004 02:24 AM
    yes please tell tell them

    all the problems ESR is ranting about are solved in Mandrake's config dialog.

    the seperation where upstream developers focus on features and distros focus on integration, ease of use and config tools seems to be a good one, why bug the CUPS people.

    RedHat/Fedora always breaks on stuff like that.

    #

    Doing it all

    Posted by: DoctorMike on March 02, 2004 07:40 AM
    If you want a model of how CUPS etc. can be made both flexible consider the Windoze hardware detection system. It has an autodetect feature as well as the ability to override settings by forcing a device driver to be loaded on a system. While in Windoze it is always a wrestling match I believe it shows the best way to proceed, namely, to have an "autodetect" feature that trys to sort it all out for the lazy and ignorant. You then have an "Advanced" panel where everything can be configured manually. It is important that the manual settings always override the autodetected features. In fact, most utlities to configure X Windows have similar "start with autodetect" and "finish with manual override" options.

    You can have it all, use-of-use and flexibility. We just need to discard our egos, arrogance, and prejudices and think of how we can make our good thing, GNU/Linux, better for ourselves and others. Tux deserves nothing less.

    On a slightly related note, one correspondent mentions we shouldn't worry about including the Aunt Tillies. If we don't build systems that include them then Linux won't attract new people. If Linux doesn't grow then it loses mindshare: hardware manufacturers won't make devices that work with Linux (then you will have no option, eg. all machines with "Palladium", Windows only WinModems); and most importantly, developers will switch to apparently dynamic technologies like<nobr> <wbr></nobr>.NET. Linux will beat Microsoft (yay!) when the number of good developers building for Linux far outweighs anything Microsoft or its clients can muster.

    #

    A great GUI should also tell you what it is doing

    Posted by: Derge on March 02, 2004 07:52 AM

    A great GUI should do as much of the work as possible, but it shouldn't hide what it is doing. For example, after adding you new printer and clicking the submit button it should say:

    "Writing you new printer configuration to<nobr> <wbr></nobr>/etc/cups/cupsd.conf" and "Now restarting the CUPS printing service." Then, "Your printer has been installed. Would you like to print a test page?" That way if there is a problem, the user knows that there is such a thing as<nobr> <wbr></nobr>/etc/cups/cupsd.conf and that after one makes changes to it, it must be restarted before the changes take effect. Maybe that info should only be displayed when the user chooses to be in "Advanced Mode" or something.

    I always get the feeling that Windows is trying to hide things from me, like I'm not trusted or something. That is one of the things that I like about Linux.

    The deal is, prompt the user all the way through and then ask him or her if it worked. If it did, exit, if not try and help resolve. Don't hide useful error messages and don't hide what the program is doing, just make it so Aunt Tillie or whoever won't care that the program is writing to<nobr> <wbr></nobr>/etc/cups/cupsd.conf because before the procedure is done the printer is printing.

    #

    Shoot the messenger

    Posted by: Anonymous Coward on March 02, 2004 08:12 AM
    In all fairness to the CUPS people it is very for
    them to predict all the different ways that distributors can mess up their product.



    For that reason, don't blame them if the manual assumes different defaults. Blame RH.

    #

    OSX uses cups

    Posted by: Anonymous Coward on March 02, 2004 08:28 AM
    I posted this in response to the original article, seems somebody didn't allow it to get posted.
    The problems are not with CUPS, just redhats implementation. I've never had a problem with cups on either my ibook or Mandrake. I share my Mandrake desktop's printer with my laptop. And my Mac desktop at work shares it's printer with my ibook when at work. I didn't have any problems using the apple preferences or Mandrake's control panel to configure. They both where complete no-brainers.

    #

    Re:OSX uses cups

    Posted by: Anonymous Coward on March 02, 2004 11:27 AM
    I do have to say that there is some impedance mismatch between CUPS on a Mac and its default configuration in Slackware. That is to say, using OS X's configuration tools, a printer uri of ipp://server/printers/printer actually gets an extra ipp thrown in the URI, ipp://server/ipp/printers/printer, which doesn't match CUPS' default URI of http://server:631/printers/printer. I just browsed to localhost:631 on the Mac to get things right, but this was a stumbling block at first, even with a standard install.

    By the way, Samsung laser printers come with a CUPS configuration tool that worked perfectly for me. It was just a matter of finding it!

    #

    CUPS our best in action??

    Posted by: Anonymous Coward on March 02, 2004 09:37 AM
    The only thing I will agree to is that CUPS can be devilishly hard to setup, especially because all the GUI stuff makes it look like you should just be able to point and click and that's it.

    But to call CUPS "our best in action"? Sorry but after several installations when I was still a relative Linux newbie I can tell you that there where only 2 things that needed editing of<nobr> <wbr></nobr>/etc files and that was Samba & CUPS (especially the combination drove me nuts).

    For the rest the system did everthing I wanted and needed out of the box. What more would I want?

    I'm sorry, but the Windows world is just as full of crappy user interfaces. Just looking at Microsoft in that aspect just isn't a fair comparison. Do you really think their developers write all that documentation for you? Of course not! True, most developers don't want to write documentation, but it's also because that's not what they do best!

    Of course when non-programmers want a new feature in a program they have to ask a programmer or add an item to a wishlist or whatever, because yes, this is open source but not everybody can code.

    But for documentation it's a lot simpler, if you don't have to spend the time on programming you can dedicate yourself to writing documentation, now can't you?

    So let's make a deal: all non-programmers, instead of complaining that Linux documentation sucks or that GUI guidelines suck or don't exist just pick your favorite project and ask them what you can do to help!

    What? You just want a CD or download some images and you expect everything to just work without you having to do anything?

    Well, sorry, but that sounds mighty selfish, please just go and buy a copy of Windows, Microsoft will be delighted with your money and will do whatever they can to make you happy using your computer without you having to do anything for it.

    So does this mean I'm one of those Elitist Linux Users again? Who just want OSS for those people "who can handle it"? No! But open source software does stand for: "it's broke? So where's the patch? Put up or shut up!". Don't expect more from them than you are willing to do yourself.

    Sorry for the rant, but if I fire up KDE, GNOME, Open Office, KOffice, Evolution and lots of other OSS programs I just can't help but think "Wow! How on earth did they ever do it?"

    So why not start a new thread where we show examples of commercial software that you pay good money for (and many times lot's of it) and that still suck? Where the GUI is illogical and support non-existent? (I could give you RL examples, but my boss would probably hate me for it<nobr> <wbr></nobr>;-)

    #

    ok I'm cynical

    Posted by: Anonymous Coward on March 02, 2004 09:53 AM
    Microsoft is often accused of making Windows buggy and obtuse on purpose, so as to give their applications groups an advantage. Presumably Microsoft's apps groups can leverage more in-house resources (even before the OS ship date) to fine-tune their applications' performance while avoiding the worst of the pitfalls. Indeed, Microsoft once pitched Office by saying "Who better to trust for applications than the people who wrote the operating system?" In other words, their business model doesn't necessarily incent them to write high quality software.

    But a similar comment can be made about open source. Many evangelists of OSS are Linux administrators and/or server-side application developers. These folks relish their mastery of the Unix/Linux command line arcana and feel this is part of their core skill set. So it's not surprising that there is resistance to "dumbing down" the UI to be comparable to what "M$" has - perhaps there's a bit of nagging fear that the helpless users might be able to figure out how to do lots of things for themselves, w/o the IT expert constantly on call?

    #

    Re:ok I'm cynical

    Posted by: Anonymous Coward on March 02, 2004 04:03 PM

    >Many evangelists of OSS are Linux administrators and/or server-side application developers.



    True. Administrators of large, strange networks, where users ask for the strangest things to work.



    >These folks relish their mastery of the Unix/Linux command line arcana and feel this is part of their core skill set.



    True. If they didn't know command line arcana, they couldn't be user-friendly and fix strange tasks.



    > So it's not surprising that there is resistance to "dumbing down" the UI to be comparable to what "M$" has - perhaps there's a bit of nagging fear that the helpless users might be able to figure out how to do lots of things for themselves, w/o the IT expert constantly on call?


    Not true. Most admins would love that their users were able to help themselves, but they are not. Don't blame the administrators! We need their skills, because ESR is completely right: the user interfaces are inconsistant, poorly documented, too many descision points and so on. It's not about GUI or CLI, it's about UI and documentation.


    Donald M. Norman and Jacob Nielsen have written great books and articles about user interface design, guidelines and so on. I suggest the community go to the library this week.


    An afterthought: I think the needs of the original community (configurability beyond belief) can be met, whilst the new - and much larger - "Just work, dammit!" community are happy as well. 2004- the year of UI!


    #

    Re:ok I'm cynical

    Posted by: Anonymous Coward on March 03, 2004 05:51 AM
    I'm a network/sysadmin, and I would be delighted if users could do more for themselves, because then I could focus my attention on more interesting problems. How would doing things for themselves make sysadmins obsolete? You are making the oft-repeated error of assuming computers will make things simple. Someday. Somehow. It will never happen. They enrich our lives and make us more productive, but

    That said, there's no way in hell I want the people who write the applications I use on a daily basis getting bogged down in UI minutia. Making stuff easy is hard. One of the reasons that *nix building blocks are so solid is that they are simple, relative to counterpart applications overly preoccupied by useability issues. My primary concerns as a sysadmin are likewise rather simple. I want reliability. I want data integrity. I want things that just work. So do my clients. The fundamentals are most important. Let's not follow Microsoft's lead, and forget about fundamentals in favor of market share. FOSS software should be built from the bottom up, one solid building block at a time. If we get to Aunt Tillie's level, that's great.

    If you want to see a good UI design framework for distributed applications, look at Mozilla. They are harnessing the horsepower of the computer, which allows to abstract UI design elements into xml components, rather than handcrafted compiled code. Or check out QT sometime. Compare QT now to QT two or three years ago. Progress *is* being made, and being made the right way, if you know where to look. Things just don't happen overnight.

    This whole discussion has happened so many times on usenet that I'd be surprised if anyone could possibly write a 1000 word essay on the subject that didn't run afoul of copyright protections. (I'm not one to say discussions should not be repeated, BTW.) What's most interesting is to see how many people consider this topic new and revealing. Pretty indicative of the number of new people getting into FOSS software, I'd say.

    #

    Easy to Use vs Easy to Program

    Posted by: Anonymous Coward on March 02, 2004 10:28 AM
    Eric, There have been many times when I disagreed with you, in part or in whole, but I'm 1000% behind you on this one.

    I've been programming for 20 years. I have worked with multiple operating systems and languages (including assembly), and yet I have one acid test for whether I think a new program (i.e., one I've never used before) is worthwhile: Throw the manual in a drawer, and use the program. If you cannot get at least 50% of the program's functionality to work, its interface needs improvement. It usually works well on the Mac, less so in Windows, and even less often in Linux.

    Whether I'm programming or trying to put home movies on a DVD, I don't have time to play around diddling with some idiot's idea of "easy to use". In many cases, what's done is "easy to program" instead. And I refuse to be intimidated by 13 year old wunderkinds who think that user friendliness is an insult.

    Perhaps Open Source programs should release actual Functional Specifications to the public, complete with screen shots, and request comments before the work is done. Note that the audience for these specs are not the programmers on the team, but real live computer-challenged users.

    It's long past time our computers started learning how to be used by us, instead of us learning how to use them.

    #

    Re:Easy to Use vs Easy to Program

    Posted by: Anonymous Coward on March 03, 2004 05:52 PM

    It's long past time our computers started learning how to be used by us, instead of us learning how to use them.



    Then they could reproduce themselves, move to a place where they can raise their descendants, christen that nation as ZeroOne, and move war against the nations of men.



    Please, wake up from your dream: a tool is a tool. It is not entitled to outsmart me, you, or Joe Average User. It should do want I want it to do, the way I want it to be done, and if I have to study for achieving this, I do not see anything special in it: it happens all the time, at school, at work, at home; don't know why with computers this should be any different.

    #

    Its a dev issue, not user

    Posted by: Anonymous Coward on March 02, 2004 12:50 PM
    Use users have been saying the same thing in newsgroups & help lists for quite awhile now. It doesn't do much good when you get the 'submit a patch or go away' attitude. If GNU/Linux was truly a community of users and developers equally committed to the best GNU/Linux could be, these issues would have been addressed years ago. So, when do us users get some 'street cred' ?

    gomadtroll

    #

    We should allow geeks the luxury of being a geek

    Posted by: Anonymous Coward on March 02, 2004 11:08 PM
    Eric, I think there two different issues which I don't think you made a good job in separating and pointing at them:
    One is that every software product should come with all the documentation that is needed. This is in my view exactly what the CUPS guys are missing. No matter how complex is the software, a good documentation will bring any average brained user to achieving his goal.
    The other which is more radical, and revolutionary, as you put it, is that a good software product should be usable without reading the docs.
    My view is that a geek should be left doing what he likes best, provided he knows that doing the documentation is part of the effort. A smart UI is a different matter altogether, and should be left in the hand of distribution packaging people.

    #

    Re:We should allow geeks the luxury of being a gee

    Posted by: Anonymous Coward on March 02, 2004 11:39 PM
    I think a lot of this is due to lack of developer perspective. I have the benefit of seeing this from both sides - I'm a developer (closed and open source) of some relatively complex software, and of course a user of other pieces of complex software. With the software I write myself, my level of tolerance for the manual steps and tweaks required is obviously quite high, because being very familiar with the product I can quickly and simply work round 'trivial' issues, and as such these get pushed to the back of the TODO list behind the 'more important' tasks. Of course my categorisation of these things is far too biased.

    Conversely, when I'm using other software, although I'm technically proficient I'm very time-challenged, so I want things to be quick and intuitive; even though I probably can work through most problems that arise, I have better things to be doing.

    When you're developing software, you just do not have the outsiders perspective required to do a good job on the intuitive aspects of using that software. Some commercial software vendors have parts of the team dedicated to making sure the usability is there, and they are not the core developers. With open source software, there are rarely people available to bridge the gap; typically you're either a core developer or a user. Perhaps this is a wake up call - we should be identifying that this is a genuine role which must be filled on open source projects, and we should be actively recruiting people for that role. I would imagine it's quite attractive - in a similar way to a maintainer / bug reporter, you don't have to be an expert in the software itself (it's better that you're not), but you need to be a user with an eye for detail and preferably some experience in usability and interface design.

    #

    OSS is usually programmed, not designed

    Posted by: Anonymous Coward on March 03, 2004 12:22 AM
    I found it interesting that one commenter mentioned the programmers and designers of Linux software. 'Scuse me? I think that it is safe to say that most OSS is programmed, not designed. Sure, there are a few apps, but they are usually modelled after a designed app (Gimp, OpenOffice) or have evolved so much the design worked itself out (browsers).

    You can flame me all you want, but I work in QA, and the majority of programmers are programmers - not designers. For them, it is enough that something technically works. They are content to do away with any system level requirements because they feel that hinders their "creativity". I highly doubt that many OSS projects are developed using requirements and specs, they are generally put together by programmers.

    *IF* Linux systems are going to make it more into the mainstream, they will have to have some more user-friendly elements. Hey, we have come a long way, but we can't think we are there yet. And please, don't sacrifice the technical for the UI, just provide a nice UI to the techical guts. Let's not play the game that others have chosen to play.

    For the record, I don't think you can cater to "Aunt Tillie". There will always be that user base that wants everything to be simple to use. Those people just aren't going to be able to use computers, whether they are Macs, PCs running Windows or Linux, or any other "high-tech" device. That is why people can't figure out how to set the clocks on their VCRs, and that "technology" has been around for a long long time. We need to keep "Aunt Tillie" in mind, but also have to realize the point at which Aunt Tillie is going to have to educate herself a little.

    #

    Spot on.

    Posted by: Taran Rampersad on March 03, 2004 11:30 AM
    What's more, all the feedback from users has to be channeled back into the code per a spiral or concurrent model.

    #

    Re:OSS is usually programmed, not designed

    Posted by: Tony G on March 03, 2004 09:46 PM
    I agree on what you say about Aunt Tillie not being able to program the VCR, or even set the time as you point out. My mom has no interest in technology and so she just wants a TV to work, conveniently with a remote control that is as simple as possible to use. "It should just work, I don't care for a 1000 features".

    Still, having it fairly simplistic, there are moments when something fail, either by a stupid mistake of hitting the wrong button on the remote control or a recording doesn't work for some reason, and in those times she has no clue on what to do and just ask me desperately to fix it for her.
    Often, it's very simple, could be something saying "locked" and I of course go to a menu screen and choose "unlock" and then it works again. For me it's obvious, for her it's not, mainly because she doesn't care - there's no interest in the technological aspects and extra features.

    What I mean, is that my mom can be just like Aunt Tillie at times, and you can try keep things simple, but there's a point when something is as simple as it can get and it will fail anyway:

    You can make a GUI to be very easy for people, but still "easy" is relative to the user's interest in what is presented to them.

        I agree: Tillie have to educate herself if they are going to want to use a device like a computer, and if they don't care for it, then there's not much to do, is there?

    There is an important lesson to learn from "keeping it extremely easy for newbies". Keeping it easy for newbies, will -sometimes- make it extremely hard for programmers to code it, because they will have to do a lot of work keeping it automated, and it makes the code more sensitive for errors and bugs, right?

    #

    Re:OSS is usually programmed, not designed

    Posted by: Anonymous Coward on March 03, 2004 10:49 PM
    Hah. Sometimes *I* hit a button on my remote control and can't figure out how to fix it. It is a Mitsubishi VCR remote from the mid-90s. There are a few buttons on there that I have no clue what they do, and they essentially lock up the damn thing. And to get it back to working condition, it never seems to be the same "fix".

    Now to me, there should NEVER be a button like that on a remote that can be activated with a single action. But I digress...

    I agree with your assessment that keeping it easy can sometimes make it hard to program. Here is something else to consider - what does "easy" mean? That is like saying "user-friendly". Totally subjective. To me, the *nix command like is easy, but I know that isn't the case for everyone. There are people out there who can't type very well. I can type "ls -lah<nobr> <wbr></nobr>/usr/local/apache/logs/" without blinking, but I imagine that would be quite a task for many people.

    For GUIs it is obviously different, there is a more generally accepted definition of "easy". One thing that has immensely improved over the last few years has been the Linux Disto installation. But there are still things about it that are necessary that can be completely confusing to a non-tech person. Like partitioning. Or filesystem type. While there are some good default settings in some installations, the fact that they are even listed on the screen could confuse most people. They won't want to mess up their computer by doing the wrong thing. Computers can be VERY intimidating to the non-tech crowd.

    It is a challenge, and one that I hope the OSS community steps up to and conquers. (as much as can be expected, without killing the absolute magic of *nix)

    #

    A little love for vi(m)

    Posted by: Heurisko on March 07, 2004 09:53 PM

    I noticed an email in the article that mentions vi as something for dinosaurs. Not so. I, in the last 4 months have come to love <A HREF="http://www.vim.org/" TITLE="vim.org">vi(m)</a vim.org>. Not because I'm a masochist but of orginal necessity and now of love.


    Basically all I want to say is that those who love <A HREF="http://www.vim.org/" TITLE="vim.org">vi(m)</a vim.org> are those who love to read and type, like me, love <A HREF="http://www.vim.org/" TITLE="vim.org">vi(m)</a vim.org>'s power, like me, or they are some sort of sysadmin who doesn't have the luxury of a GUI when they login to some server under their care, be it one local or remote, like me.


    Granted, I'm not freshly installing/configuring software in my job. That is another animal all together. But, in all of my computer experience:

    When given the choice between making configration changes by mouse or keyboard, the keyboard is faster and more efficient. At least with <A HREF="http://www.vim.org/" TITLE="vim.org">vi(m)</a vim.org>.



    All this is not to take away from the problem at hand.<A HREF="http://www.google.com/search?q=cache:P_5JAJb1384J:www.yahooligans.com/search/ligans_se%3Fp%3Dnum%253As15713+%22De+ning%C3%BAn+modo%22+%22in+no+way%22&hl=en&lr=lang_en%7Clang_pt%7Clang_es&ie=UTF-8" TITLE="google.com"> De ningún modo</a google.com>. I was already a good typist when I learned more about <A HREF="http://www.vim.org/" TITLE="vim.org">vi(m)</a vim.org>'s subtleties [translation = powerful]. Yet, it wasn't until I picked up on just how powerful [translation = quick and convenient] <A HREF="http://www.vim.org/" TITLE="vim.org">vi(m)</a vim.org> really is that I decided <A HREF="http://www.vim.org/" TITLE="vim.org">vi(m)</a vim.org> has it's place with me and my regular use at home and work.


    Work isn't the only place I need to use <A HREF="http://www.vim.org/" TITLE="vim.org">vi(m)</a vim.org>. I also find it convenient for my use in my programming class at <A HREF="http://www.uta.edu/" TITLE="uta.edu">UTA</a uta.edu>.

    #

    This story has been archived. Comments can no longer be posted.



     
    Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya