Posted
by
Roblimo
on Wednesday July 14, 1999 @05:22AM
from the some-like-CLI-and-some-like-GUI dept.

Kelly McNeill sent in a pointer to this article by Todd Burgess. Here's a quote from it: "The concept of Linux for the Masses is an honorable goal but one that must not be taken too lightly. The purpose of this article is to point out several of the current limitations in Linux and what should be done to create a usable system." You might want to hit the links at the bottom of the article and check out some of Todd's earlier writing on the subject of Linux usability. You may not agree with him, but his opinions are always backed by sound thinking and are well worth reading.

Windows is no better-this whole start menu is awful because you have to deal with 2 different directory representations instead of one

I think one thing thats often overlooked with the Macintosh is that the file system is layed-out so that the user can easily interact with the structure. The MacOS is the the only GUI where you launch programs by actually acting on the excutable file. (The Apple menu is generally only used for small programs such as the Calculator.)

Every other GUI requires you to interact with some shortcut or alias or another alternative representation of your file structure. This adds confusion and just makes the whole GUI that much more fragile.

The MacOS works because the directory structure was layed-out so that users can actually comprehend what is going on. "Netscape Navigator" is in your "Netscape" folder at the root of the hard drive, not in "opt/netscape/communicator/bin" or in "Program Files\Netscape\Program\bin" or whereever. Your hardware drivers are in the "System Folder:Extensions" folder, not in "WINNT\System32\Drivers" and so on. You can actually drag a driver out of the Extensions folder and not break anything.

The UNIX and Windows file systems were designed with system efficency in mind and *not* user efficiency. All of the gee-whiz GUI stuff can't cover this up.

Another key feature in making this all work is the Desktop Database -- Hard coded file paths are NEVER used in the MacOS. For example, A user can actually rename their "Netscape" folder to "My Web Browser", and nothing is going to break. Likewise they can copy the Netscape folder to an entirely different hard drive, and all will still work. (This system applies to Alias links also, so that if the user is using the Apple Menu or another representation, moving a folder won't break the alias.)

The UNIX file system is so established in Linux that it will probably never go away. Still, I'd like to see some of these file system features adapted in a Linux GUI. This stuff is something Microsoft never figured out, and it'd be nice if Linux could beat them to the punch.--

The windows system, like the Mac system, is horrible. Having a seperate directory structure for programs and data is the way to go.

It should be noted that modern versions of Windows and MacOS are set up so that the file dialog defaults to a "Documents" folder. (Hard Drive:Documents on the Mac, and \WINNT\Profiles\$USERNAME\Personal on WinNT)--

Oh yeah, that's right I forgot...the mentally handicapped do not deserve the same benefits that the rest of us have. If Something is so easy to use that someone with Downs can use it must be bad. Grow up and get a life. If Win 98 is really that user friendly that it can be used to help the mentally handicapped integrate into the mainstream of society, I'll keep buying it ( I personally don't think it's that friendly). Just because the person in your particular example uses it to "peek in on adult sites" doesn't mean its bad. He/she could just as easily use it to do online banking or shopping or actually do some work. They could then become productive members of society and able to live independantly. All that sounds fine to me.

Easy to use does not mean poor efficiency, no power of unstable - they are mutually exclusive. Linux should be easy for you or I or anyone with Downs to use. It should also be complicated so you or I can still use the command line/hex editor to hack the system or files. It can be both ways.

I suppose the blind shouldn't use Linux because they can't see the screen or the deaf because they can't hear the warning beeps? If Linux is only for the elite, able-bodied, non-handicapped among us, I hope it dies a painfull death soon. I don't want to have anything to do with that kind of elitism.

Maybe if you ever graduate and start living in the real world you realize this- MR. Pingo...

Todd Burgess is advocating a philosophy that has been dominant in the mainstrem OS market (ie MS) for a long time. But he outlines a system that has been used by MS products. Large, bloated and inefficient products that have a very pretty consistent outer-shell, but do not work on the inside.

The Windows interface was designed to be used by everyday people doing every day things. Yes, the internals are not very good but that is of no concern to the user nor should users be asked to care.

If the internals were not as equally important to the OS, the need for linux would have never arisen. But the computing environment did nuture and raise linux as a reaction to ideals like these.

Well, this philosophy (pure user-centered design) may be effective for HTML, it has already been proven false in the design of operating Systems.

If I could program this is what I'd love to create, maybe someone else will grab the idea and do it for me:

Win95esque look except for a few things, put a Dos/Linux like command line across the bottom of the screen instead of that bloody taskbar, or on top of the taskbar, or something. And not that stupid address thing that you can put down there in win98. I mean a REAL CLI. Link the CLI directly to the GUI and make the CLI smarter, so it I type 'open opera' it will open opera in the GUI area, I can then poke around on Opera with my mouse, or I can type 'Open Quake2' and then Alt-tab switch, or mouse switch between them, or run the at half size next to each other. Equally, if I type LS or Dir in the CLI it will pop up a window that lists the contents of the current directory, if I type cd \usr\fred it will switch to that directory and display the contents. Of course, I want it to be able to run every app I can think of. I want to be able to use exclusively the mouse, or exclusively the KB without losing any functionality. And I want it to be easy to install and configure, easy to add hardware and software, and I want it to be stable. If an error occurs I want it to tell me exactly what the problem is, not just 'FileX doesn't work'. Is this too much to ask?!!? If anyone knows of an OS/GUI that does that already, or wants to create one and send it to me let me know at sleffer@hotmail.com or sleffer@home.com

Just like in the real world, evolution is not necessarily an ideal solution. When evolution runs amok, with a limited pool of inputs, you can end up with some very odd species popping up.

And like it or not, the genepool that Linux operates with, is a somewhat limited one. And if you let the evolutionary processes work, I suppose that eventually, the system will grow, gradually. But I think it likely that it will take a long time.

Oh, but it is technical, too. A good UI specialist has to understand what's going on underneath all that doubleclicky on the thingamabob in order to give the user a viable interface without causing the guys who have to maintain the stuff an ulcer. Sorry, but you cannot totally remove the design process from the hardware.

Furthermore, making the UI Just Like Winders is not only stupid, but liable to get you sued. A given UI doesn't have to be Just Like anything. It does have to be intuitive. The singleclicky buttons on the Gnome panel make MORE sense, IMHO, than the doubleclicky icons up the side. (They should probably give a bit more feedback, tho.... such as greying out Netscape when it's active... that or having the thing do a netscape -remote might be simpler approach... but I digress.)

We're doing this from scratch, folks, and as long as we do it in a manner that makes sense, we can do it however we want. Maybe keeping fvwm95 around for the Luddites is a good idea.... or maybe we can write something SO good, we don't NEED to think about M$ anymore! Let's try, shall we?

Yeah, the floppy "shadow" was originally a feature back in the days when the system had 1 400K floppy disk and no hard drive. The fact that they system could remember previously mounted floppies made it easier to use multiple programs and avoided "COMMAND.COM not found" errors and the like.

What was a big mistake was to extend this metaphor to things like CD-ROM drives and Zip disks. The MacOS disables the eject button on the front of the drive, forcing you to use the trash can. That's unintitive, and considering all the UI geniuses at Apple, fairly retarded also. It has been the most cited "Bad Design Item" for what, 12 years?, but no fix yet.

(I should note that Apple has fixed this if you buy a two button mouse. You now can right-click+Eject a removable volume.)--

What makes the Mac and Windows UI's so touted is that you can talk about each of them as consistent, monolithic UI's. That's because they established standard behavior for everything and stuck to it. It's not a bad idea. The problem of multiple, dissimilar interfaces doesn't even exist on Mac or Windows, but it's a pain in Linux. Behavior depends on whether I'm using a GTK app or a TK app or an X app. (I HATE X dropdown listboxes, BTW.) It seems odd that a culture so enamored of open standards should put up with so many emissible, "proprietary" standards for UI.

I do not think we should scrap innovation, however -- rather, I think the competing/coexisting UI's (GTK, X, TK) need to conform to a consistent but evolving standard of UI behavior, and let the user customize with toolkit-specific behavior as desired. Good UI ideas would then get worked into newer versions of the standard, and everyone else would implement them, too. Now that's innovation. phil

Oh yeah, drag the floppy disk to the trash to eject it. That's logical. And make it easy to close all of an application's windows but still leave it running, with only the hidden little menu to tell you so. And make it so when you switch between applications, some but not all of other applications windows randomly disappear.

People think the Mac is logical and easy to use because Apple's ad campaigns say it is. Please.

The Win95 shell isn't great, but it's certainly a step above Win3.1. Right-click menus are a good thing. A desktop you can put things on is a good thing. And the taskbar is nice. People complain about "Shutdown" being on the Start menu, but that's just a flaw in the choice of names - if they'd called it the "Main" menu or something, there wouldn't be a problem.

What you describe is a workaround for a broken netscape-communicator application. What if you accidentially delete that icon? You might be able to reconstruct it, but would an average user and/or desktop technician?

An intuitive system would do exactly what your script does. For example, Windows' IEXPLORE.EXE does exactly what your Gnome icon does, without the shell voodoo.--

In the free/open system that Linux uses, what most uses need will become quickly apparent. When Gnome get 5000 e-mails saying they need this or that, I would assume that's the direction the team would move in. If they don't it's very easy for someone else to pick up the slack. Either way it won't change for you since you don't have to change your system a bit if you don't want. Keep the choice and the Bazaar and everything else should fall into place (it just might take a while, it's not like there are screaming stockholders hoping for immediate return, oh wait....)

I personally don't like using *nix systems, so here's a different point of view for all you die-hard Linux fanatics.

Linux doesn't have an interface problem! It is an OS for techie's and people who really like to do things "the hard way" because it helps them learn about and understand their machine. Yes, it would make life easier for the majority if Linux had a nice GUI that anyone could use, but that is not what Linux is about... (and as far as I'm concerned Linux can rot in it's techie cult grave).

Let the nerds, the geeks, and the computer obsessive have their operating system that requires hard work to use. They like it like that!

The problem is that Windows and MacOS need a lot of work, but these are the operating systems that need UI work, because that is they're intended for mainstream use (and someday they might even be able to run for over an hour without crashing).

I can't find fault with any of his background stuff ("a system your mother could use" is a good yardstick by any standards), but his first law of robo^H^H^H^H linux use -- one distro, one wm -- is just plain not going to happen. We may see a world where people use RedHatLinux as the dominant OS, but there'll always be other flavours.

Linux has always been a OS by geeks, for geeks. It isn't the greatest hitng in the world, but it wasn't intened to be. With all the hype now about it being a "Microsoft killer" it must be the best thing in the world. But look at what happens when you do make things easier (Caledra's install proggie, for example), you lose options. All those programs for X, that's great right? not if they don't also accept options from the command line. We are dumbing our selves down, to overthrow Ms, but in doing so, we become no better. I'm all for iimprovements, but make sure they are warrented, not just demanded by "the masses"

Who said anything about holy grail of computing? (isn't that speech recognition:P)>

I understand that peopl ethink differently from me, if i had thought they all thought like me, i wouldn't have written that message.

And people hate NT cause the admin tools are usable by idiots? Um, stupid argument.

and worthless for professionals - how so? Why do people keep comparing NT-out-of-the-box to Linux-and-every-single-unix-application-available?I can admin all i want from the command line. anything not written already, i write myself. Easy peasy. You could even use unix utils in the form of cygwin. And script using WSH and perlscript if you really want.

If you read again...my point was that just cause it's easy to use (by idiots as you say), doesn't mean professionals/geeks/wotever can't use it with all the power they had before. Things don't go missing, things are moved around, maybe, but if you use your brain, you can find them and use them - or write better utils - or find ones already written - or port them. Lets say someone writes a version of Unix. All the C libraries are present, the Win32 API and the Unix API are avilable under NT. And a similar thing is happening with Linux. Just cause you make everything user friendly, doesn't mean those APIs suddenly vanish.

Actually, that is my point. Most people don't want a Ferrari. They are, if you ask them, afraid to use that much car. All they want is to get from here to there - nice, safe and, from the hotrod perspective, boring. While the 'driving enthusiast' is not going to be happy about dumbing down the car it will happen if the car is offered to the general public at an easy price. I like CLI and prefer to configure my system to my standards, but I do not know one non-CS worker in the office who is more daring than changing the desktop theme. Hopefully, the two realms will co-exist, but I doubt even the best intentions when ca$h is involved.

Linux for the masses will be consistent across all platforms. No multiple distributions or window managers. One and only one of each.

Users will never need to know Unix to use Linux for the masses. Unix is a very complex operating system and the less users need to know it the more they will use it.

Common system tasks will be automated. Users need not know Linux system administration to use it.

I don't know about you all, but to me, this flies in the face of much of the logic about what makes open source great--competition (or "coopetition"), like between GNOME and KDE. So long as the two don't diverge too greatly, I see no problem with having both (or others, if they are well-developed). The key is not consistency, but interoperability--i.e. so long as I can use a GNOME app under KDE and vice versa, I see no real problem.

As for point 2, I agree that at some point as much of the CLI needs to be hidden as possible--with the caveat that it should still be easily available if needed. Linux should remain user-friendly for those "Dilbert T-shirt" types *as well as* for their moms.

The article has a few points, but goes way too far. The only way to configure a computer to structly meet the presented guidelines is to remove the innards, and fill the case in with epoxy (so that the user can't take the 'wrong' path and complicate his life by having innards installed).

After all, if the box will actually do anything, it is possable for the user to make the wrong choice somewhere (insufficently constrained).

Let's face it, you can't stop the user from using the mouse as a hammer. (or the CDROM tray as a built in cup holder)

Improving GUI configuration tools is a must, and appears to be happening slowly but surely. Software installation could be improved by standardising icon location (for GUI apps), and configuring various app launchers to know about the new app.

Under no circumstance is Linux going to become more usable by removing capability and choice. The user will just have to know their own skill level, and choose the interface that matches. This shouldn't be anything new, car buyers manage to know whether or not they can (or want to) drive a manual transmission, and choose appropriatly.

On the one hand, the article sounds like end user advocasy. On the other it manages to be condescending to the same end users by suggesting they should not be allowed to have any features they could hurt themselves with. Safty scissors and crayons for all! (I am reminded of Stoogemania where they are teaching recovering stoogemaniacs the proper use of a hammer)

In many cases the problem is simply that computers are reletivly new, and so the use of them is not yet cultural knowledge (for many adults anyway). At one time, new car owners needed to consult the owner's manual for starting and driving instructions, but everyone knew how to ride and care for a horse. Icons are NOT intuitive, they are just what the masses have managed to learn to use. Take someone who has never seen a computer before, and they probably will have to be told that moving the mouse moves that arrow, and that pressing and releasing the button is called 'clicking'. Then they will have to learn what the icons mean ("I want to draw a picture, but all it offers is a paintbrush. Is there some way I can use the mouse instead?").

Short conclusion: Like every other tool in existance, proper use of Linux will eventually become cultural knowledge and the common person will laugh when they see the 'ease of use' features their great-grandparents couldn't figure out.

why do we have to have levels that get switched on or off, though? all power features should be there, and easy to access, but not in the users face. that way, there is no advanced mode - the advanced user just starts a term, whereas the average user doen't know what a term is. same goes for file managers - advanced commands can be easily accessible from menus, but don't show up in normal drag'n'drop activity. if you double-click on a.conf file, it will start it's own configuration tool with teh file loaded, but the hackers can always use vi. look at Next, or even BeOS. Command prompt is there, but noone needs to use it.

I think it's fine if Linux comes to the masses, but I just hope they don't pervert it too much so that power users can still do some cool stuff.

Without wanting to make this into a "me too!" thread, I agree 100%. By all means make the OS able to use little words and pretty pictures so that "average" computer users feel at home, but make it "grow" with experience. This is one of the reasons I like AmigaOS in its later incarnations. You can do virtually everything from the GUI, and most native Amiga apps (i.e. not Unix ports) are graphical. However, power users can drop down into a shell and do things that way. The GUI and shell complement each other perfectly. That's the way it should be.

(since being an Amigan seems to be the best way to get yourself ignored/flamed/ridiculed on Slashdot at the moment, feel free to ignore everything I say:-)

By the term technical, I suppose I have made it clear that I don't refer to tasks which require programming knowledge. Therefore, I include in the technical professions linguistics, graphic design and ergonomics among others. It is likely that we'd agree on the variety of their social aspects.

I'd like to restate that those are technical but definitely mandatory skills for UI design.

Another point to which I'd oppose is the claim that Windows has been successful in capturing the workflow of an everyday user. To the contrary, Windows has designated pseudo standards and have enforced people to comply with them.

Actually the Linux file system comes out of the box out of order. Some stuff is in/usr/bin some stuff is in/bin, some stuff is in... Then the/etc directory has 3 files about hosts, Some software wants to install in a specified directory, other software have dependencies hardcoded in and won't work if they don't find that program in that particular directory. In my opinion Linux needs a registry.

You know I agree with you but we have to remember that home computers have been around as common household items (as common as cars) for only about 10 - 15 years (TRS-80, PETs C-64 don't really count - most people may have heard of them but did not own or use them. Only since the Mac in 84 have most people owned or used a computer on a daily basis). Think about the world or cars about 10 - 15 years after they were "invented" or introduced into common use. Except for a few 1900's car "geeks" I'm willing to bet a very large number of people ran out of gas and didn't know what to do. Many people couldn't drive or even start a car because of the way the gears worked or the fact that you had to crank that handle on the front to get it going. But man, when the gears were made a little easier to use and the electric starter was invented (read an easier to use interface) - BOOM - did the car ever take off. A lot of people owned them. Now today you can either buy a car and drive it with minimal maintainance (I don't have to change Power steering fluid or transmission fluid for 5 years in my Sunfire with an automatic transmission)or you can delve into the depths of the engine and hop it up, or choose a manual tranny over automatic, mag wheels or a kicking stereo. Would you even own a car if, in order to drive you had to use one key to open the door, work the throttle and coolant valves by hand, turn with no power steering and use another key to turn on the radio, which you tuned with you other hand (?) by holding the antenna out the window and scratching a crystal with a needle? Conversely would you own it if you could only use an AM Radio and the hood was welded shut and it only went 60 km/h? Computers an OSes are the same way. Just as most people will never change their own oil or will never have to know that they have a 318I 6 cylinder in order to drive to work, they should not have to know that they have an Expert@work 8mg AGP video card and PII with BX-440 chipset or that they have 11 daemons running, 1 active and 9 sleeping, in order to check their e-mail (why should my wife have to know how to start pppd or how to write chat scripts and setuids in order to connect to the net to do her real job - advertising? Seems like a waste when she would only need to click under a GUI). But if they want to completely change the configuration, they should be allowed to, if they know how. I think the author's "Linux for the masses" is more of a "let an expert set it up once so it works well and then just let the average Joe drive it." If they need anything changed that they can't do easily, they bring it to the expert again. If they choose to learn more, then they cando more themselves. If they don't, that's OK too.

Maybe in another generation or 2 when computers are more common place, many of the CLI Vs GUI arguements we have will seem silly. Until then I think there is room for both. But don't turn off most users from Linux by telling them the HAVE to do or know details they could care less about. At my house we could turn on the lights by manually hooking up the wires to the transformer and then twisting the ends together, making sure we have a complete circuit, but we prefer to just flick the switch. I also turn my tv on and change channels with the remote not with the knobs (or buttons as the case may be) - not because it's faster or more efficient but because it's easier and more convenient. I suppose if I wanted to be cool, I could always used to knobs and insist that anyone who used the remote was a "Luser" but I guess I'm just not that immature...

This is the part I think some folks (including me) are concerned about:

"Linux for the masses will be consistent across all platforms. No multiple distributions or window managers. One and only one of each. "

I have no problems whatsoever with a special distribution for the masses, but to say that we must all live with a distribution or window manager designed solely for the computer illiterate just isn't acceptable.

To attract users at the cost of driving away developers is not going to help. Linux can support both, and it should.

The notion that Windows only presents one way of doing things is completely false. I can run programs by the Run prompt, the Start menu, clicking shortcuts, using a DOS Window as a CLI, double clicking from Explorer, etc. This hasn't interfered with Window's usability, apparently.

But there are programmers who are interseted in things like GUI's otherwise there wouldn't be so many wm's and desktop environments under development. And it hasn't only been since the media frenzy of coverage on Linux that all of these projects started, they were all there when I first became interseted last year. Therefore there must be alot of programmers out there who want/need graphical interfaces.

Where would you look for a user's file on Windows (or MacOS for that matter)? Just about anywhere in the file hierarchy. In contrast, a Linux user's file should be somewhere under the (much smaller)/home/ directory. So not only should WordPerfect automatically assume data files are in that directory, but you could also have a "show me all my WordPerfect files" button on the File Open dialog for WordPerfect and it could quickly look through her subdirectories and give her a list of them.

Note that you should probably also have a list of recently changed files for a given user. A file created five minutes ago is more likely to be the one I want to work on now than one I haven't touched in six months. And the WordPerfect file I saved five minutes ago is *extremely* likely to be the one I want when I start up WordPerfect. It could be that easy, without changing fundamentals of Linux.

I challenge you, Mr AC, to point out what I said that is elitist. I said what the author proposed was not only a bad idea but also unworkable. However, in doing that I was not challenging the idea that Linux should be easier for 'ordinary folk' to use. I agree with that wholeheartedly and said so in another post. I was challening two ideas - firstly that in order to be kind to users you need to be actively hostile to hackers. This is false, and will alienate the people who keep Linux alive - and secondly that 'usability' is best defined as being more like Windows.

Your rantings about 'elitists' and the evil sysadmin conspiracy to deprive the public of Linux are laughable. Network sysadmins are skilled (and sometimes even creative) people. Their job emphatically cannot be done by 'trained monkeys' even with a pretty GUI.

You can use a command line interface in KDE without even opening an X-term. Just hit CTL-F2 and it pops a nice dialog to type your command into. If it's and X app it runs it like normal, if it's not it'll open an X-term for you and run the app there.

Note, When I say Linux, below, I mean the complete Linux system, apps and all, not just the kernel.

The things that make Linux, well, Linux are:

1) Openness 2) Compliance to "open" standards. 3) The ability for users (admin-level) to modify damn-near every aspect of the system at the lowest levels (including kernel-level modifications). 4) Choice (if you don't like this shell? use another. Don't like this Window Manager? use another. Don't like the current choices? Write your own!) 5) Create a powerful, stable, multi-tasking, multi-user system.

The author of this article seems to believe that "usability" is the most importaint goal. I agree that it's importaint. However: * The author suggests that (1) and (5) are as importaint as usability. * and goes further to say that (3) and (4) are actually *BAD*.

Look, usability is importaint, but following the author's advice would mean a complete 180 degree turn in the Linux philosophy. That being the case, mabye Linux isn't for you. If you want an OS without a choice of GUI's and without a CLI, Linux is clearly not for you.

I suppose a good analogy to this article would be: That car you folks created is nice, but it's too complicated to use. you need to remove two of the tires (4 is way too confusing), replace the engine with something simpler, like a chain and 2 gears, and get rid of that complicated climate control doo-hickey, cause the average user wants fresh air. Just by a bicycle. Or in this case: Windows

Spare me. If and when you graduate from com-sci and enter the real world try watching how people who don't have computer knowledge interact with computers. Or how abould taking a psych course this summer so you can get an understanding of how people think (are you more likely to remember the word dog or a picture of one?). For you, the CLI snob, typing arcane commands in a very particular order at 45 wpm is a very good way to interact with a computer. For my 60 year old father (a farmer with a grade 10 education and NO typing ability) it is not. He is better off with a GUI. Not any GUI, but a well designed GUI (take an HCI course). A lot of stuff in Windows is terrible GUI design...some of it is very good and intuitive. So Linux should keep the CLI for those who WANT or NEED to use it, but provided a well designed, intuitive GUI for those who WANT or NEED to use that. Why stop there? How about voice interaction with a computer (Sound User Interface)? Or touch/movement (for the paralyzed etc)? How about OCR or other kinds of scanners/readers (brainwaves?) a user could employ to interface with a computer? The possibilities are endless. The CLI is not buried but face it, except for programmers and a few older people, no one uses it as their primary interface to a computer any more. They use a GUI. Not because it is easier to use nescesarily (although a properly designed one would be) but because it's easier to remember how to use and more intuitive to figure out if you've never used one (or even to figure out where you are or what application is presented to you). It give the user confidence that they can figure it out - more confidence than a blinking [user]$ or c:\> prompt would be.

BTW, if all of this "Ease of use bullshit" is a "fucking lie", how come most home OSes (Win/Mac making up well over 95% of that market) are GUI based or driven? If your arguement was true, we wouldn't be having this debate - people would want Linux BECAUSE it was solely CLI (and thus by your arguement easier to use)not DESPITE that. Why are so many people asking for a better Linux GUI? Huh?

I like the CLI. I think GUI is better for most things. Niether is the end all be all of computer interface. Use both of these and a lot more (see above) to make the computer truely easy to use...and drop the elitist, snobby attitude. It makes you seem like a hot blooded fool.

The important distinction that needs to be made is that of purpose. You may jump into your minivan and hit the gas and head off, but if you were to get into a Ferrari and do the same...well, it just wouldn't be right. A Ferrari is a car that should be appreciated for the power and flexibility it gives you. Now, would it be possible to make the Ferrari drive like a minivan? Sure, you toss in an automatic transmission, soften the suspension and steering, etc. But then what good would it be? Perhaps a prerequisite of Linux is jst going to be that you need to take the time to learn how to drive it. If this step is neglected in favor of easy to use (at first glance) tools which dumb down the environment we're all going to be sorry in the end.

I'm jumping into this conversation way too late for this to actually get read by anybody, or moderated up to a readable state. Nevertheless, I make the attempt to hear myself say wise and erudite things.:^) {/tongue-in-cheek}

Why does most everybody couch this argument in black and white terms? We can have a power and configurability OR we can have ease of use and no choices.

Or, the person who says they can co-exist as different/multiple distributions, assumes any given user has to choose one and then that's it, they're stuck with it.

A user interface, and interfaces, don't have to be static. Think dynamic. In my mind, the ideal interface is an interface which scales according to the skills and desires of the user.

When I'm learning a new progam, I appreciate 'wizards' and idiot buttons & tips. If I don't understand what the programs' goal or capabilities are, wizards can be a good way of covering ground quickly.

As competence grows, wizards become a major pain and should be banished utterly. When competence becomes mastery, godlike powers should be at my fingertips, with absolutely nothing inaccessible or unmodifiable.

So a good user interface is one which is adaptable to the individual at the console. Human beings change with time and experience. So should user interfaces. As I learn about my computer, my computer should learn about me. About how to 'interface' with me.

okay, so that's a tall order. but the principle behind it could be a guiding light. a design philosophy.

To the power-users and developers who think "Linux is for power. Newbies-who-never-aspire-to-more than newbieism need not apply".

Sorry man, it's out of your control. Linux is a reflection of it's users. There *are* more newbies, and there *are* more coming. This can't be helped. Anybody can download it. Anybody can modify it. Guess what? People will, including newbies.

But that's okay too. That's what it's all about. The freedom to modify your computing experience to suit your own needs. Nobody can take that away from you, but you can't deny that freedom to anybody else either.

Somehow, running Linux is being equated with playing system administrator and mucking about with new window managers, kernel upgrades, and distributions. This is only a byproduct of Linux still being under heavy development and not an intended goal or lifestyle.

Imagine a system with the UI polish and ease of use of a Macintosh. The only difference--and 98% of users wouldn't even know this--is that there's an xterm-like application that you can fire up. From it, you can run gcc, use Perl, and do whatever you please. (Please, nobody needs to point out MacOS X.)

This is a nightmare scenario for many Linux "users," but I have no idea why.

In all, the main message to me was "look at what you want and how to get it". If linux wants to be "the" OS for users, yes users, it better start learning to play the game. Be something for everyone.

In all, I agree with the author. That is until the comment about one distribution or window manager. I strongly dissagree with is assessment that it is a weakness that we have many distributions and window managers. What makes Linux dynamic "is" its ability to be different. Take for instance, most people own a car. You do I'm sure. Why did you buy your car? What criteria did you have? Color? Interior style? Brand name? Usefulness?

How would you feel if the only car you could get was a sedan? Maybe green. Maybe white. Maybe blue. But basically, a sedan with a 1.5l engine, 30mpg, top speed 70mph. Kinda boring huh?

Oh yes, consistent! You or your mechanic could easily fix it if necessary, but right now, do you do the work of a certified mechanic on your car? I think not.

Consistency "is" important though, but not sameness. Windows is the prime example of consistency. As the author stated, when you look at the menu bar (tool bar), you see "file" and "edit" and a number of other familiar items. And yes, at the price of sameness, you get consistency. Take this a s double edged sword.

However, I had read a few replies to "Designing Linux..." saying that people do not use Operating systems, they use programs and applications. B.S.

They do use operating systems. They use it everytime they use the app or program. Its called the API.

Which bring me back full circle to why Linux _must_ become a more user friendly system. As one post stated "I'm not the masses...", I'm not either, but 95%+ of the computer users in the World are.

I volunteer on irc channel Linuxhelp frequently and the most frequent questions are "how do I install?" and "I can't get to work." "How do I do this...?" "Why won't this device work?" Even something simple as "how do I mount a floppy?" Why should they _have_ to ask? Why can't these tasks be performed automatically? Actually I know they can, but _they_ don't. Both Windows and Macintosh can do it, why can't Linux do it by default? And better, might I add.

No, I don't advocate "one flavor for the masses". We have Windows for that. But we _cannot_ dissmiss the _fact_ that Windows IS highly successful. And that to be as successful, wheather OSI, FSF, GNU, GPL or any of the other "acronyms-of-the-month", Linux has to play the game. The game of _winning over_ the Windows users by showing them the better way. But it _has_ to be simple.

I really have to try not to say "tell that to WebTV" at this point, because it would be so unfair: WebTV's cheapness has only recently arrived with the retail channel trying to clear out the older first-generation units from inventory.

But the guy right next to me here has a point: "tell that to Atari and Commodore." Of course, they didn't have easy interfaces. GEM was crap (did anyone ever figure out what the strange-looking bee-shaped thing was when the system was busy?), and the Workbench was quite a ways from intuitive for a lot of folks (click-to-focus without float-on-focus was a very very bad interface decision.)

So really, cheap + easy haven't been well packaged together as far as I can recall. The Pilot is easy and readily has the best interface of the PDAs I've seen, but it's far from cheap -- it's overpriced to the point of absurdity. Yet they sell like hotcakes.

It looks like anecdotal evidence suggests that there is no rule of thumb about marketing success for (cheap, easy).

What the author is describing is nothing else that the evolution path followed by Microsoft to get from DOS to Windows. Why would you want another Windows? If you read between lines, the author is asking for a FREE Windows. Furthermore, he's confusing ( I don't know whether on purpose or not ) the use of *free* in Free Software ( when he says that Open Source is the developer-centered version of Free Software ). Last but not least, his description of what a good UI is seems to be very biased ( influenced by the Microsoft way, which, personally, I don't share ).

You want a user-friendly computer? Make a Palm Pilot with a big screen. Press a button and you're in 'email' mode. Press another button and you're in 'web' mode. Anything more than the minimum function set necessary to do the job at hand (e.g. email/web) is wasted on the average user.

Seems to me you could set up something like that using the KDE or Gnome taskbar. And it would work, until...

Until that average user wanted to install some cool game. I could probably convert my entire friends/family "user base" to Linux but for that.

My personal view of the "average user" sees them as a little more knowledgeable, possibly because I show them what I'm doing when I help them out. I get few follow-up calls asking me to do the same thing -- my evenings are a little quieter, but I don't make as much beer money as I could.:-)

People like your pretty young client are glad to adjust, especially if you show them a more convenient way to do something. If they thought that they were limited to what's on the hard drive already, I doubt that they would be interested in getting the computer in the first place.

On the same tack, GUI != Bad, although there are horrible examples of both (MacOS comes to mind).

God, you can't have used MacOS very much. I've used it extensively, as well as Windows 95 and a variety of Linux window mangers and both full-fledged GUIs.

The Macintosh has, by far, the most internally consistent and sensible interface. It even has useful keyboard shortcuts, that are extremely consistent across applications. Don't let that one mouse button confuse you, it's modifed extensively with the keyboard, making use of your other hand.

Well I would at least look at the Amiga after the way you described it. Never actually looked at it I have mainly been aquainted with the ibm-pc class machines however I am always willing to try something new.

Right now, users will put up with the problems of Windows because they seem trivial to the (currently) steep learning curve of Linux. When it comes down to it, the new computer user is going to use what everyone else uses, and right now, that's Windows. They use Windows because when they don't know how to do something, they can ask the guy in the next cube, or next door, or the neighbor's kid. They don't use Linux becuase they *can't* ask the guy in the next cube, or next door, or the neighbor's kid (although that's changing).

If the os isn't easy to use, or at least have millions of other people who know how to use it, users won't use it on their desktop. When it gets easier to use than Windows (even one specialized distribution), Linux will make it's way to everyone.

I don't think the author meant to ditch Linux as we know it and make it completely end user safe. A new distribution with a simplified installation method, intuitive gui, easy application installation, and access to a CLI is necessary for the vast majority of Windows users out there who use Windows because it has most of these features. I think Linux can do this and do it better than the boys in Redmond.

I don't understand this argument against standardization. First you say:

"Try to shame the Linux developers into making a 'standard' Linux. This will hopefully never happen."

Then you turn around and say: "Secondly, linux already has a standard user interface that is common across all distributions: the dreaded CLI. I can sit on a RedHat or Slackware or SuSE installation, type 'ls' or 'cd' or 'vi', 'find' or 'awk' or 'perl', 'ps' or 'kill' or 'cat', and get the expected result every single time. More to the point, I can use 90% of those same commands on virtually any Sun, HP-UX, OSF (er sorry Tru64), AIX, Irix, or BSD machine and get the expected results!"

My favorite thing we have is that things are the same across platforms at the CLI level. I see no reason why this shouldn't be extended to the GUI. There isn't any reason why we shouldn't expect something a little more functional than twm (even though it does work... kinda) as a standard. If I knew I could view any *nix desktop and know exactly how to use most of the features of it I would be happier. It would make using Linux much easier. Of course, thanks to the flexibility of Linux, you can use many other configurations, but having that guarantee of having a good GUI would be wonderful. I know grep, ls, cd, etc will always be there, but also knowing what applets will do and what double clicking something on the desktop will do would be nice too.

An interesting viewpoint. I guess it's fairly easy to forget how confusing computers seemed at one time. There is a problem though with:

"4.There must be constraints on the users actions. "

Is this strictly true? There must be a reasonable way to make things easy to use without constraining the user....I'm not sure if becoming popular is the best thing for Linux if it means it has to be castrated first.:-)

We don't need a single WM or environment for things to be consistent. Conventions like dragging files, making shortcuts, and the location and format of config and log files are good enough. Most of the former have been established, and hopefully LSB will take care of the rest. This will allow anyone to be supported over the phone, which is how most users with problems will get help.

linux doesn't work that way (if you make it easy to use, it won't be linux anymore).

I do hate to be pedantic (and to stress a point, I have no real reason to be pedanitc)...but; Linux will/can work that way. What is it you think Amiga's going to do with Linux? [pedantic] Linux is a kernel. K e r n e l. [/pedantic]

It will still be linux. And I quote someone, "Linux is linux is linux" (whos name has long since slipped my mind, although I probably have taken said quote completely out of context).

The assumption that programmers don't matter and shouldn't be cattered to ignores how the whole open-source thing works.

Programmers see they have a need, and they write a program to fill that need. Then they share the results with the world.

Under this model, the programmer is not going to say "Hmmmm, I wonder what a 45 year old house wife from Denmark would want this icon to look like." (Unless said programmer is a 45 year old house wife from denmark) They design things the way they want them. There is little motive for them to do otherwise. (Unless you are paying them to write the program with 45 year old house wives from Denmark in mind)

"In the Linux for the masses the command line interface (CLI) is dead. What may of worked for line printers and dumb terminals has been made obsolete by PCs with graphics cards capable of supporting a GUI."

I think i have heard this one before like 100 times, why is everyone so scared with command line interfaces. Why can't there be a GUI and a CLI? You could hide it from the user maybe, but why kill it? CLI's are very powerful and i couldnt ever see myself using an OS without one. Reason being that with a CLI you dont need a customized "wizard" to guide you through setup, etc. Doesnt it seem pretty silly to have a different window pop up for every little task that you want to do in an OS? I think CLI's are the ultimate in customization for any OS, after all you are only limited by your own imagination with what you can do with it, you can combine commands, redirect output/input, pipe output/input. Lets see you do that with a GUI. I think it would get very messy. This guy should just stick to windoze from the sounds of it, or maybe better yet he should buy a calculator...

Here comes my point....whoops you missed it. Just in case you fit into this crowd - My point was that dismissing a particular user interface out of hand because you don't use it or like it or think its a very good/efficient/easy to use is wrong. I don't like the CLI as a regular, everyday interface. For Net Surfing, graphics, games and even Word processing I prefer a GUI environment, especially if it is well designed. But the CLI is incredibly powerful if you want to know how to use it, so I do use it quite a bit when I'm playing with my Linux box or programming in Oracle/C++ (my job). That doesn't mean I like it. That doesn't mean my wife or kid would like it. Give everyone a choice. Face it, for the kinds of things most average users use a computer for, you don't really need to have a CLI, but its nice to have as a back up. And if you couple it with other kinds of user interface methods, you can get a system that is accessible to EVERYONE, not just able-bodied, able -minded college white boys who can type. What really pissed me off was this guy slagging people with Downs Syndrome, some how indicating that if they could use a system it was somehow bad or inferior quality. Personally, I'll take the system that allows me as a developer and IT professional to do whatever Hacks I can come up with AND allow my child with Downs to use it too.

If the rest of the Linux community shares this guys ideas about the diabled, I'll stick to windows thank you, or maybe BeOS...

If Linux stops being fun for people to hack on, then people will stop doing so and it will die. Thus, being useful and entertaining to the geek crowd is extremely important, because that's how developers and qualified testers get recruited.

Thus, the advice to ignore the input of programmers when doing UI design should be ignored. Of course, considering the input of the average user _as well_ may be a good plan.

Also, just because someone is an average user, that does not make them more likely to be a good HCI designer! If you had a programmer, an HCI expert and a completely non-technical person all design an interface, I bet the programmer would design something that was easier to use for the avergae non-techie than what the non-technical person would design.

Also, it is pretty annoying in general when a random person who has not made a significant contribution to free software gets on his high-horse and says "Linux _must_ do X"! It is especially annoying when X involves removing features that hackers like.

BTW I have four virtual desktops with 6-7 windows open each right now, and I am using each one to do something useful. This is a pretty light load compared to the usual. Not that a window manager that can manage many windows is somehow _worse_ at managing a few...

The anti-usability comments are interesting. I don't know half of what goes on under the hood of my car, and if it breaks I take it to somebody who does. I can't drive a stick shift. Once a little light came on and I had to stop and figure out how to put more water in it, and I was glad the stuff under the hood was clearly labeled, but I still pay somebody to change my oil for me. Computers are like cars, phones, and toasters. 99% of the people using them don't care what makes it go, they just want it to work with as little effort on their part as possible. If you force them to learn the details, they'll go elsewhere. Period. My car takes me to work/grocery store/movie theater, I don't tinker with it in the garage and paint flames down the side. I only think about it if it breaks. The hobbyists can create a market, and guide the market, but if we don't provide what the market wants somebody else WILL. And we'll wind up having to deal with it. The point of Linux is it's a better way of doing things. But if it's only a better way of doing things for techies and not for all the regular people who use computers like toasters (stick this in here and press that button and then it comes out finished) and hire techies for the same reason I hire auto mechanics, then we're doomed to having to support Windows or Macintoshes, and that's SERIOUSLY unpleasant. (And even the techies, deep down, want the computer to work like on Star Trek. "Computer, do this". It does it. End of story.) Rob

I don't want a Linux for the masses, I want a Linux for me. Interface design will ultimately fail if it only caters for the 'masses', and ignores the fact that with time, help and practice, even the most technophobic user can become proficient, or at least familiar with a product. Drop down menus may be easy to use when you don't know where something is, but after a couple of dozen times scrolling down the same list, you start to wish for a button or short command. To design everything for a lowest common denominator user is to ignore the needs of those whose require speed, flexibility and control and are willing to invest the time and effort to learn a difficult but powerful interface. This idea of having a single, consistant interface, so easy your mother can use it seems to go against the trends in modern product design towards customisablility and uniqueness. I'm quite happy for people to design interfaces easy enough for my mother to use, but why does it have to be Linux? After all, she can always buy an iMac. I'm all for designing easy to use interfaces, as long as lurking behind that easy to use, bland, facade is a potent penguin with attitude.

No no no. I never got the impression that the author wanted to scrap all the other distros. He wants there to be a subset of the Linux community who is served by "Linux for the Masses". That's not to say that all the geeks can still use whatever distro they want, he was trying to articulate what would be necessary for Linux to REALLY go mainstream on the desktop. None of his goals preclude any other distro still being available (if you like the kludgy stuff).

Sigh. No matter how well thought out and well written this article is, it is still the same self-negating, point-missing argument that should have been put to rest many years ago. If implementation is irrelevant to users then, by definition, choice of operating system is also irrelevant. Computers and operating systems are tools, people. Accountants don't use operating systems - they use spreadsheets and accounting systems. Secretaries don't use operating systems - they use word processors, PBX systems etc. No "average user" can be expected to use the tools they are given without three important things; training, training and training. Users have jobs to do and these jobs generally have nothing to do with computers or operating systems. Users can be trained to perform their jobs efficiently whatever platform, operating system or application is available. For example, someone hands me a screwdriver saying "This is the most advanced screwdriver in existence - it has been painstakingly tested and developed to the be easiest, most consistent screwdriver on the market. Now, go fix my car!" Gee, where do I start? However, train me how to fix a car and I will probably be able to do it with a sturdy knife rather than the super-screwdriver. (BTW, I am not a mechanic and it shows:-) So, my point. All you talented people out there hacking Linux software - keep on doing what you do best. Sure, try to design good user interfaces and help users as much as possible but keep in mind that your software exists to solve problems. Users who need your solution can be trained to use it. (I really need to cut down my coffee intake:-)

The windows system, like the Mac system, is horrible. Having a seperate directory structure for programs and data is the way to go.

One important distinction: what you are saying is certainly true of a multi-user, shared system like Unix or Win NT. However, for Win95 or the Mac, where there's usually only one user, it is a different story. On my Mac, for example, I set everything up, so I know exactly where things are. It would be silly to give myself a "home directory," since there's only one user.

And I would argue that the Mac is usually set up better then the Windows equivalent. The Mac has one "System Folder" and as long as you don't mess with it, your system won't break. Likewise, there is usually an Applications folder, into which applications go, and documents are no normally stored there.

Of course this requires some discipline on the user's part. The best laid out FS in the world is going to break if the user doesn't take the effort to keep in order. But for a single-user machine, I'm not sure there's anything particularly wrong with the Win/Mac filesystem layout. The Mac in particular has a very well-designed set of conventions, IMHO.

Of course, it's lousy for multi-user environments, but that's what OS X is for.

Granted, this article is on an "opinion" site, but it, like a lot of other articles about Linux, has practically nothing in the way of specific technical content. (Another recent example, also posted on Slashdot, was a comparison of Linux and *BSD.)

Platitudes about user-friendliness, stability of Linux vs BSD, or whatever, are great, but I really miss the technical details. Want to make Linux user-friendly? Ok, let's walk through the list of daemons and other services that a typical distro starts up and decide whether they belong on a desktop OS. Want to compare the TCP/IP stacks of Linux and BSD? Ok, give me some technical details about what is different about them. I don't much care about when and where they were written.

Maybe I'm not going to find this kind of information from Slashdot. Where does one find real technical discussions these days?

The thing is, there are many, *many* more people like your mother out there than there are people who are comfortable with the complexities of linux (as it is today). I realize that there are a lot of people here who believe that there's no reason to change linux to make it more 'user friendly' - that it is, and should be, an OS for the technological 'elite', for lack of a better word. This is a perfectly valid opinion---but it's mutually exclusive with another common (and again, perfectly valid) idea I've seen in the linux community, the 'take over the world' mentality. I do run linux at home, and would classify myself as a linux newbie at best - but I'm still far more knowledgable about computers than at least 95% of my peers - and these are all highly educated, intelligent people, people who wouldn't consider linux even if they knew anything more than the name. Most people simply don't care, as long as they can use computers to get their work done, use the web, or play the occasional computer game. Endless configurability and myriad choices of interfaces just aren't an issue. And I won't even get into the uselessness of having source code available to the average user (I'm not disparaging the concept, or the obvious benefits - just stating that the average user isn't, and never will be able to take advantage of it personally). The needs and desires of the traditional linux user are so different from that of the majority of computer users, and future computer users, that the likeliest common ground I can see is simple binary compatibility. Let the hard core linux user use the CLI, customize to their little heart's desire, get things running _exactly_ perfectly. Give the average user a simple, stable, consistent interface that they can learn quickly (and only once) - and let them use the same applications so that both groups can work and play compatibly. This is assuming that the average user can be convinced that there's a reason to use anything other than windows and office... anyway, my point is this - there simply isn't any way to please both groups, and without the pool of average users, linux won't become mainstream, ever. Linux has the potential flexibility to serve both camps, but there's no reason to even try to make everyone happy with one distribution/interface set.

Todd Burgess' article has some food for thought but my concern is that he (and perhaps many others) underestimate the ability of the public to focus on a technology and learn it when they need it. I'm pretty sure that only giving them one choice is not the way we want to go (unless you're a major stockholder in the company that produces that single choice.

What happens when, for instance, a new Linux user is presented with a "no choices" user-friendly Linux distribution (there will be only one in the Burgess scenario)? After a week of surfing this user hears from a Linux guru that Linux will gateway his entire office to the internet on one line. Unfortunately for him, his choice-less distribution won't let him do this because it's too complicated for the average person. So this user becomes frustrated and angry; exactly the emotions Burgess doesn't want.

Regarding the idea that programmers shouldn't do the interfaces, who else is going to do it? Designers? They can draw pictures of what they want but someone has to actually code them into reality. Who else but programmers? You might argue that more thought needs to be put into the GUIs offered via XWindows and I'd agree... but we seem to be making some big strides in this area as it is.

Linux can't be the "new Macintosh", offering only one way to do everything, and still be rich and useful to power users. You might be able to code a GUI that restricts users - at first - and allows them to grow their interface along with their skills. But denying choice to users based on some simplistic idea of what people need and want is like designing a freeway with no off-ramps until the destination is reached.

I'm aware of the difficulties a new Linux user has installing this OS and, believe me, I've struggled to introduce it to even relatively sophisticated users. I'm not sure it will ever be ready for "prime time" and not sure we want it to. However, I'm adamantly against dumbing-down this superb creation in order to get it on a few more desktops. We already have enough "no choice" operating systems... I think it's time to let people have enough choices and challenge themselves.

I think that LFTM(tm) could have consitency across machines without being limited to either a single wm or distribution.

Let me explain.

I work for a fairly large corporation. We have lots of unix machines for various engineers who do lots of CAD and stuff like that.

The environment, however, looks the same across platforms. Whether you run an Alpha or a Sun, everything is in the same place as your home machine. Likewise, it doesn't matter if gimp is in/usr/bin(DistroA) or/usr/local/bin(DistroB) So long as the Gimp Icon is available from a toolbar or menu.

This is also what we see on windows and Mac installations. People don't precisely know where important system utilities are when they sit down, but they know to look around in the start or apple menu.

Also, being limited to one window manager is silly. We have three supported window managers here: OpenLook, CDE, and Mwm. You have a file in your home directory that your init script uses to decide which one to start up -- and it's the same wm across machines and across platforms. If you want to change it, it's a menu option. Having the same window manager shouldn't be manditory across platforms -- but perhaps there should be a standard list of window managers that should be available. And it should be easy for users to switch to their window manager of choice when they need to.

I certainly agree that for a LinuxForTheMasses distribution that the command line and administration knowledge should not be necessary. I could not live without my command line -- it's the perfect file manager, program launcher, and with vim, word processor. But my mother has enough problems remembering where to double-click, remembering the syntax for various commands isn't something she's interested in.

I think we've started to see some of this in the server market -- the Cobalt Qube is configurable with buttons on the front and web pages -- no knowledge of Unix administration is necessary. And I think that Gnome and KDE are coming up with a good base on which to add the features we need for LFTM. Just give it a few years to mature. It will come.

I'm glad that articles like this are being written; the issue of usability is one that Linux geeks have ignored for too long and are still mostly ignorant about.

An operating system is good if it helps you get a job done with as few problems as possible. Stability and efficiency count, and Linux shines at this. However, usability is just as important, that's why KDE and GNOME have been created, and they both still have a long way to go. There's little point in stability and efficiency if the user can't get to it because they're first required to learn 100 different arcane interfaces and commands.

The author is right with his assertion that interface design shouldn't be left to the programmers of applications, as they tend to design from the inside looking out as opposed to the user's point of view, from the outside looking in. Not only that, but interfaces need to be tested, and this is done by exposure to users unfamiliar with the program. If the users have trouble understanding the interface and can't use the program properly, 99% of the time it's the fault of the interface, not the users.

There's a horrible attitude that's quite pervasive in the threads above and it's one of pointless elitism: that Linux should be for geeks only, if you make it easier to use then you get more and stupider users and you lose configurability and the ability to do the complex things you can do now. And it's all utter crap:

a) If you really want to use an OS that hardly anyone else is using, there are loads out there: Plan 9, RiscOS, OS/2 etc. They all have lots of good points. Just don't expect much of an application or support base and don't expect much progress. If you want to be part of a minority, you pay the price.

b) Everyone reading this had to learn Linux at some point. Would you rather spend more or less time learning how to do something? (Personally, I'd rather spend less time learning and more time doing)

c) Unix has already progressed in terms of usability from when it started; there are applications in common use that greatly simplify necessary Unix tasks, and they purely exist because of usability needs. If you don't think usability is a major issue, try replacing your favourite text editor with ed or pico. It's just as powerful, but it's a hell of a lot less usable. The fact is that most of the "we don't need usability" idiots depend far more on usability improvements than they think.

d) Decent computing power should be available to everyone. We believe that Linux has that power. If it's held back by bad usability, there's no point railing against Microsoft, because we're not providing a usable alternative. (And do you want the less tech-able of your family using Microsoft forever? I bet you get pretty sick of the support calls...)

I disagree with the author's assertion that all feedback from programmers should be rejected; programmers are users too, and you're not going to get feedback on a C++ IDE's usability from your average secretary. All feedback should be counted and considered.

However, the author makes a very good point about hardware - why the hell does the average need to know what hardware is in the machine? Why do I need to mount drives manually or know which graphics card I have? This is all stuff that the computer should be detecting and taking care of for me. It just gets in the way.

Usability is vital if Linux is to prosper. Fortunately, there are more and more projects happening that will contribute to Linux's usability and friendliness. Let's all assist where we can and ditch the childish elitism.

..if she needs to install a new printer, change her ISP, deal with a fault...

Easy click and go can only work when there is a support system available, and this is true for Windows and Linux users.

Home users, and businesses to small/disorganised to employ support staff, are left struggling when they need to do the non-routine jobs. They've been sold a package (the machine) with a vital component (the support) missing, and assumed that this was the way it was meant to be.

They need support and they need companies ready to give it to them in ways which will really help and are cost-effective. That should include (re)configuration, installing software updates, problem solving, and use direct access to the machine.

To me, the key feature of the MacOS is that you DON'T HAVE to use the keyboard shortcuts if you don't want to. The advanced functionality is available, but not required to use the system. This to me is a key feature of truly great UI design.

And MY Mac mouse has four buttons, that I program on an app by app basis, to do what I want them to, programmable in an easy point and click interface. I'd kill for that feature on any other OS.

Let me tell you a story. I was recently at a pretty young woman's house, um, helping her with her computer which she'd managed to foul up again. While I was there, I decided to reinstall some drivers. So I opened her CD-ROM drive and what should I find but the Internet Startup Kit that her ISP had given her. No big deal, but she was terrified. "Don't I need to play that CD to use the Internet?"

Yeah yeah, she's not stupid, just ignorant. But this is the type of user most people are. They know as little about computers as I know about the inner workings of an internal combustion engine.

You want a user-friendly computer? Make a Palm Pilot with a big screen. Press a button and you're in 'email' mode. Press another button and you're in 'web' mode. Anything more than the minimum function set necessary to do the job at hand (e.g. email/web) is wasted on the average user.

Believe me, I deal with average users every day. They may not be stupid, but they definitely do not have the time or inclination to learn how to use these admittedly esoteric gadgets. Today's desktop interfaces are an expression of contempt towards the end user.

Linux is the perfect geek OS. We can do with it whatever we want and tailor it to our needs.

Then you can take the a "Linux for the masses" distribution and "tailor it to [your] needs" by adding power options back, etc..

Alternatively, you can run a "Linux for the geeks" distribution; if by

1.Linux for the masses will be consistent across all platforms. No multiple distributions or window managers. One and only one of each.

Todd meant that there should be only one Linux distribution, period, I really don't expect that'll ever happen, I don't think it should happen, and I don't think it's a requirement that it happen in order for there to be a Linux distribution usable by the mass market.

Now, if the distribution you're using is in some way incompatible with the Linux for the Masses distribution, that may mean some application written to run on that distribution won't run on your machine - but that just means you get to choose whether you want to run an incompatible distribution or whether you want to run that application....

You can add all the GUI setup utilities you want, but the guy that's configuring "whatever" device need's to know that it's an ATI Xpert@play 8MB. A lot of people have NO clue what they bought when they went shopping for their computer.

A lot of users have no clue what hardware is in their computer. They're right, they shouldn't have to know. Why do they have to know? Why should I have to know what graphics card I have in order to get my work done? It's stupid and irrelevant. Linux should be taking care of all that with autodetection. That's what usability's all about. (And yes, if you really want to get in there and configure it all manually, you should be able to do that too. But 99% of people have mroe important things to do.)

It may be that all the distros could agree on a setup that is common to all. And when a user chooses this set up they get a desktop linux computer. One that doesn't act like a server and that will have the easiest to use wm. But of course all the distros would have to talk, test, and decide if this is what they want to do and I am not sure if they would be willing to do it.

A lot of users find themselves limited by GUI's. I find it a whole lot quicker at work (on NT) to type pushd and popd to move between directories rather than use the scroll bar in Explorer, and launch an editor from the command line rather than the Start menu. But then I'm a so-called "power user" - a subset of users that this guy is neglecting in his design. So while I agree with some of his points (and do see a lot of inconsistency in Linux+X), I have to say that the article hasn't been that well thought out.

>>"Hard coded file paths are NEVER used in the MacOS". >That's a blatant lie.

OK - I owned a Mac for 8 years, although I haven't had one for the last couple. The *only* applications that ever ran into with hardcoded paths was MS Office 4.2, which was widely considered broken for exactly that reason. Admittedly I didn't use every Mac application, but I sure used a lot and never found a path dependancy.

(And even if there are a few, it beats Windows and Unix where all but the most simple programs are path dependant.)

If I read correctly, multiuser is being added to MacOS 8.x as we speak.

And by the way, "I don't like the Mac" doesn't necessarily mean that "Every feature the Mac UI has is automatically wrong".--

Many of Todd's points would be true if Linux was a proprietary OS, trying to break into the market, like BeOS.

But it isn't. Linux is a Vast Internet Thing that doesn't care anymore about competition, or markets. If MS disappeared tomorrow it wouldn't make any difference (although IBM might actually admit they make OS/2 Warp 4)

As for the flexibility thing - Linux's flexibility is the reason it is where it is.

#ifdef OFFTOPIC Rule 1 of HCI. Microsoft Windows and its applications are, generally, how NOT to do it. Windows lost the HCI plot when it moved to the 95 explorer shell. Windows 3 was nice, everything was consistent, users liked it. The 95 shell is broken from a UI point of view. It's inconsistent, illogical and confusing. If you want an example of a really easy interface, you still have to go to the Mac. #endif

Linux is easy to use *now*. Installation doesn't count. The people who would barf on a Linux install would equally barf on a Windows install.

Compare like with like. Windows-only boxen should *only* be compared with Linux-only boxen.

There'll always be a place for character displays (ask the accounts department and goods inward) too.

Command lines are useful as well. AutoCAD 2000 keeps the command line and for good reason - it's often the fastest way to do what you want.

First let me say that I agree wholeheartedly with the author's underlying goal of creating a "system your mother could use". I do, however, have a lot of concerns about the approach being advocated.

My most important concern is that, while the author seems to know there are many different groups of user, he proceeds to outline a scheme that caters only to those who are most technically naive.

He seems to be advocating eliminating all the diversity and choice than exists in Linux at the moment, in order to simplify the lives of the one group that doesn't use Linux, hasn't heard of Linux, and doesn't care what OS they use. In the process following his scheme (getting rid of all but one distribution, all but one window manager, all but one toolkit, and every single command line shell) everone else, all the people currently using Linux, all the people who actually care and keep the community alive, would be alienated. Even if it were possible to do this, which obviously it isn't, would it really be worth it ?

My point it this: linux is not designed poorly - it is designed for technical people, and only technical people are going to care enough to keep it alive.

I have no problem at all with a "Linux for the Masses" like the author proposes existing (although I don't really see who wants a warmed over Windows clone). Its the idea that all other Linux systems must be sacrificed and the entire existing user community alienated, to attract the people who care least , that I find disturbing.

On a somewhat more minor point, 'usability' means a lot more than UI design, and is not that easy to disentangle from implementation issues. Some of the worst systems I've seem had their UI developed separately by a 'user centered' individual who unfortunately had not understanding of the application domain. Users are not all the same - probably the only person who can do UI design well is someone who understands the application from the user's perspective, not someone who just thinks they understand 'users'. Oddly enough, that person is sometimes the programmer.

Now for some pickiness. Windows is really a pretty poor example of how to do UI design. Most Mac applications, and lots of NeXT ones are much better. The point of window managers is to manage windows, not to read mail, therefore to demonstarte a window manger you show a picture of lots of windows. Seems kind of obvious - even the author's typical user (who seems much stupider than anyone I've ever met, if he gets information overload from looking at 10 pictures on the same screen) should be able to deal with that.

To me, the first half of the article was meaningless nonsense. The second half argues, in essence, that Windows is the current "OS for the Masses",a fact that retroactively validates the Windows philosophy. And since the philosophy is valid -so the argument goes- Linux must buy into it in order to compete.

IMHO, this "Linux for the Masses" argument boils down to copy-catting the philosophy of an operating environment that assumes the users are dumb, and produces more dumb users as a consequence.

One important distinction: what you are saying is certainly true of a multi-user, shared system like Unix or Win NT. However, for Win95 or the Mac, where there's usually only one user, it is a different story.

Both the Mac and Windows have a fundamental flaw that affects single and multi-user: they make the physical drive (partition) structure visible. On Windows, you see C:, D:, etc. On the Mac, you see named drives, slightly more elegant and immune to letter changes as drives are added, but still the same basic idea. How many hard drives does a Linux system have? It's not nearly so important to the user -- and for non-removable drives, there's no reason for it to be.

I've never seen a well-organized Mac or Windows system. Windows newly-added user documents placement puts them as a subdirectory of the system -- making it all the harder to back Windows up separately from the user data. And Windows apps generally ignore it, other than some of the latest ones from Microsoft. And the Mac advocates here have advocated *both* putting all apps under an Applications directory (presumably one per drive, btw), and not doing so in order to shorten the paths to find them.

The Linux file permissions mean most users *can't* put stuff everywhere and anywhere. Unless you have root, where are you going to put your stuff,/temp?

There's a horrible attitude that's quite pervasive in the threads above and it's one of pointless elitism: that Linux should be for geeks only, if you make it easier to use then you get more and stupider users and you lose configurability and the ability to do the complex things you can do now.

I haven't actually seen much elitism on this thread. There is a serious problem with the approach the author is advocating though, and perhaps you are mistaking this for elitism. The point is that Linux has succeeded because it is a good operating system for geeks. If we do what the author wants, and ditch the open source thing, and all the choice in toolkits/wms/shells etc., to pander to the lowest possible common denominator (and let me point out here that I have a higher opinion of the competence of most users than the author does) we will lose the very people who keep Linux going. The people who actually care what OS they use.

This is not only a reason why the approach being advocated is a bad idea. Its also exactly the reason why it won't happen. Linux developers are going to keep developing things they like, not things for 'average users'

This makes my desktop a hell of a lot more user-friendly than it was before. In fact, there are any number of things that I think improve my environment which the system designers might not think of, but that's okay because Linux makes it easy to make things behave the way I want them to. I don't want to use any environment which takes away this ability.

I think that post should be moderated down. Not because I disagree with the statement, but because of the way he/she chose to articulate his/her opinion. f*ck is not really proper here.

But you talk as though Linux is a corporation with your

until Linux brings in more money and then free-software developers will become history once they can afford to hire programmers and turn everything into propriatory

statement. It sounds as though there's some mysterious Linux Industry out there feeding off of the Free Software Foundation, and as soon as it gets its money, it will hire programmers and through away FSF.

2) Linux is an OS. As long as people are out there maintaining it (as Free), it will not be affected by any corporation.

It is the ones who are tired of programming in Windows that wants Linux as a Corporate OS. That way we can start enjoying our jobs because we can control it, and not worry about someone else's closed source bugs.

This is a good article, but I think that it represents a throwback to the 'bad old days' when operating systems competed head to head (amiga vs mac vs Win vs OS/2 vs...). The users of one OS looked at another and said, "we like parts of that, but we'd really rather other parts of it look like this." In this case, Windows users crave both the standardization of Windows with the stability of Linux. The proposed solution? Try to shame the Linux developers into making a 'standard' Linux.

This will hopefully never happen. 'Linux For EveryUser' would not be a linux I would use. Say what you want about them, but CLI commands are usually smaller, lighter, faster, more flexible, can be more easilly run in batch (when you need to do the same thing or similar things on large groups of input) and can be more easilly run remotely (through telnet) than virtually _any_ GUI app.

I also reject the argument that multiple distributions are inheirantly bad. Multiple distributions means that if I have different needs, I can select a different distro that meets those needs better. Microsoft has brilliantly demonstrated that the "good enough for most users" solution isn't "best" for virtually anything.

Similarly, the multiple UI argument is both bogus and already satisfied. Firstly, I want to be able to select my own interface. (I'm a sick puppy, I _like_ olvwm -- I don't like all the bells and whistles of E or afterStep, and CDE -er- KDE leaves me cold.) But that is my choice. Locking me into an interface that 'you' have decided is 'standard' (which usually means, it meets _your_ needs adequately) does nothing for my support of the system and little for my productivity.

Secondly, linux already has a standard user interface that is common across all distributions: the dreaded CLI. I can sit on a RedHat or Slackware or SuSE installation, type 'ls' or 'cd' or 'vi', 'find' or 'awk' or 'perl', 'ps' or 'kill' or 'cat', and get the expected result every single time. More to the point, I can use 90% of those same commands on virtually any Sun, HP-UX, OSF (er sorry Tru64), AIX, Irix, or BSD machine and get the expected results! And best of all, I can do it through telnet (or rsh in closed shops) from the comfort of the other side of the office/building/planet! Try running even gmc across an internet VPN.

The point is that choice is good. You can select the right tool for the job. When the only tool you have is a hammer, every problem tends to look like a nail. I guess you could similarly say "when all you have is Microsoft Windows, every problem tends to look like either a labour-intensive impossibility or a GPF waiting to happen."

:)

Some things are not simple. Nor can they be made simple. Sometimes you need clever people to do difficult things.--

There's a common misunderstanding that making software easy-to-use means making it less powerful. Many people talk about having to "dumb-down" linux in order to make it usable by the masses. This simply isn't true.

In the HCI field, there's a strategy for designing user interfaces known as "progressive disclosure." This design strategy presents a simple and limited set of options and actions to the user in the first "layer" of the user interface. As the user becomes more familiar and comfortable with the software, more features and options reveal themselves (possibly including a command-line). A really well-designed UI can support both the novice user and the expert. Progressive disclosure works much like a good teacher does; the basics first, then the intermediate to hard stuff when the student's ready to handle it. Designing UIs isn't about making pretty icons; it's about constructing a meaningful dialogue between the computer and the user.

If we truly want to raise the technological intelligence of the world population, then I believe this is the best approach. On the other hand, if we want to keep powerful technology in the hands of the techno-elite, then we can continue to toss new users into a CLI ocean of device drivers and kernal patches while smugly watching them drown.

Designing User Interfaces, be it graphical or not, is not easy, and certainly not technical. The design process itself should not involve technical problem setting at all, which is what most people designing for the various OSS projects are doing. The UI implementation phase is different, but that should come only after designing the UI.

UI design is a world of it own, comprising of processes and thinking models that most people are not very familiar with. Good UI designers are good with people socially, as they're good at figuring out the way people process information in their heads. Some people can't ever become good UI designers because they are too closed to various sources for ideas!

One of the problems I see in the GUI projects related to Linux is that in order to design a good UI novadays, you have to look at Windows users to figure out behaviour patters that people have established and design those in mind, as most people do use Windows. Anything they're not familiar with, ie, not Windows-alike, will make using the UI harder for them. This doesn't mean everything should look like Windows, but you can't go too far from it without losing usability either.

So anybody who absolutely hates Windows (or a Mac) to the point of not being able see it as a viable platform for UI design ideas is never going to be able to make a very good UI. I hope people will relax in this sense a little more in the future..

Please don't embarrass us again. I'm literally terrified that this poor guy will get thousands of nasty e-mails from a bunch of techno-bigots (his term). He's absolutely correct in every way. I fell into a trap a few weeks ago, where I was praising Linux, up and down, to everyone. One of those people was my mother.

She asked me if I would install Linux on her computer, because she's tired of windows crashing all the time. She's also tired of "gackling:" a term she uses to describe windows poor memory management, which results in that funny hard drive sound. Much to my surprise, I told her that she wouldn't like Linux. This, after I had spent so many hours praising Linux to my little masses. The fact is, although she is extremely intelligent, she probably couldn't make Linux go. All she wants to do is send e-mail, surf the web, make posters, scan things, and make business cards. These are all things I can do in Linux. I'm not convinced she could. At least, not without a never-ending stream of panicky phone calls.

I talked my roommate into running Linux as well. He informed me last month, that if it wasn't for having me around to ask questions, there isn't a chance in hell that he'd run Linux. See, unless you want to spend several hundred hours reading HOWTOs, Linux just won't work when you need to get things done.

Currently, my productivity is well over 10x my windows productivity. This may be because I love Linux, and am able to do almost anything in it. The poor interfaces don't bother me at all, because I can just design my own from the things I d/l off the net. Could my roommate? No. He uses fvwm. *shrug* His machine... Could my mother? I'd have to set up gnome for her or something. She still couldn't get the scanner to work.

Linux needs a mom's interface before I would ever dare install it on her machine. Linux does not need to become windows. It only needs a simple and consistent window manager. Then I could install it for her and she could happily run her programs without ever rebooting. I'd still have to install because of the install process. It seems simple to me now. I could do it in 30 minutes if that machine was fast enough. To my roommate though, it's about 200 very difficult questions.

I often have to provide tech support to Windows 95/98 users. Describing icons and menus to the remote user is a distraction and a time-waster. I'd estimate that 95% of the time, the first thing I have the user do is open a DOS box so I can tell him exactly what to do to get his problem fixed ("Now, enter D-I-R, that's delta india romeo...now press the spacebar..."). Isolating and fixing the problem often takes a handful of commands and a little reading on the part of the user ("OK, it says 'volume in drive C has no label...'") but this saves me and the user a lot of time and frustration in the long run.

It would be expensive and frustrating (a nightmare?) to try to support an OS over the phone without the ability to dictate concise commands that allow no room for interpretation, and usually return only the information required. Any Linux distributor who tried to eliminate the CLI in order to produce a "distro for the braindead," would either be forced to charge unrealistic prices in order to cover the additional support costs, or go broke.

I agree with many of the points of the article, but disagree with some others. As other posts have pointed out, the author's previous articles take an opposite viewpoint from this one, so perhaps he is just painting the two extremes that the Linux community has available.

Users will never need to know Unix to use Linux for the masses. I agree that it is important that a casual user not have to understand Unix to use a Linux system. There has to be at least one bulletproof point'n'click interface which maps fairly closely to the established GUIs that new users will be familiar with: Win 95/98 and/or Mac. Note that this is for the casual user - a CLI should still be available for the user if they want to explore more of the capabilities of their system, or if a more advanced user needs to use the system for something.

Common system tasks will be automated. Automating common system tasks is a good idea too - the problem is that a network OS has a lot of system tasks that have to be running for 'net connectivity, and knowing which ones to run is non-trivial. People criticize Redhat for setting up too many daemons to run at installation. In a certain sense, they have automated these system tasks, so that the user doesn't have to set up inetd manually. The tradeoff is that this may make the box less secure. I'm not sure how much of the administration you can safely take out of the user's hands without making dangerous assumptions about their planned use of the system. Of course, the casual user probably won't be installing Linux on their own anyway, so maybe this isn't as much of a problem. As far as common system tasks like mounting a floppy, etc., these should be automated from the point of view of the casual user.

No multiple distributions or window managers. I don't know about this one. I think it would be safe to say that within one large installation (corporate office, university computer lab, etc.) the distro and WM choice should be consistent, so that users don't have a learning curve to use each other's machines. I don't see why we have to restrict choice when providing Linux to the individual consumers, though. Right now home users are running DOS, Win 3.1, 95, and 98, and MacOS. They already have a learning curve to use each other's machines. What will probably happen is that most Linux users will end up installing Redhat and using the default WM, and that will end up being the consistent look and feel for casual Linux users. I don't think it's necessary to remove the choice of other distros or WMs for this to happen. I politely disagree that flexibility is a fault; forcing too much flexibility on a casual user is a problem, but not providing flexibility for the advanced user is a bigger mistake.

My biggest complaint with this article was this: it isn't a mistake for the window manager screenshots to show multiple applications running at once - that's the whole point of a WM, isn't it? If the user is only supposed to run one thing at a time, then they might as well be running DOS. Sure, most users still only run one or two things at a time, but that's exactly the reason that WM screenshots should show many things running. A new user can look at that and realize that their computer is more powerful than they had expected, even if they don't recognize everything that is running. This is a powerful feature even for casual users, not something that should remain the province of Linux gurus.

I've often been asked to teach the computing-impaired-- really technophobic people, how to use computers. These people want EXACT instructions on how to accomplish tasks. They are ok with a command line, they can remember precise commands, but they are totally lost with a GUI, because the Icons and windows are not always in the same place.

I sometimes have to try to tell them how to do things over the phone -- I feel your pain with trying to dictate GUI instructions over the phone!

What people are objecting to is the "one size fits all" solution advocated by the author. He's saying that to make Linux easy to use, we have to dump all the diversity power users love.

No matter what he says, it's not going to happen; in order to make it so, there would have to be only one distribution, only one window manager. Since we don't have a secret police to send Enlightenment, Gnome and AfterStep users into the gulag, well, we'll always have choice. Sorry.