Making Linux Look Harder Than It Is
drkich writes: "According to an article on The Register (by our very own roblimo).
Many 'gurus' teaching new users about Linux make it look harder than it needs to be, and apparently fail to explain that yes, you can make PowerPoint-style presentations in Linux, you can view Web Pages that use Flash animation and other "glitz" features, and that you can manage all your files though simple "point, click, drag and drop" visual interfaces. Could the biggest problem with Linux usability be that most of the people teaching newbies to use Linux are too smart and know too much?"
I'd say yes. When I first started out, there was a lot of hand waving and "this is too complicated for you." Then I looked at it linuxdoc.org and said, "this is easy."
It'd be a risk, though...because I don't know if the average person is ready for Linux.
But people are going to be scared until they see Linux boxes for sale at CompUSA and Sears.
It might not be too smart as much as too arrogant...
I just installed red hat 7.2 and i'm having difficulty learning linux. I have read lots of stuff but maybe I'm not reading the right things. My samba says "unknown error... hmm..." when i try to access my windows machines, and I have no idea how to install programs.... I think the HOWTO's that i read are too complicated. They always mention things that I have no idea how to do. I barely know DOS so I don't know many commands for the shell. LINUX is difficult.
"Outside of a dog, a book is man's best friend. Inside of a dog it's too dark to read." -Groucho Marx
Could the biggest problem with Linux usability be that most of the people teaching newbies to use Linux are too smart and know too much?
I hardly think it's because they know too much. It's more that they want to show themselves as sauve and intelligent infront of those they're instructing. I think you'll find all the people who deserve the right to brag are generally much more humble because they honestly have nothing to prove.
The biggest obstable to widespread Linux adoption is not its actual difficulty to use, but perception that it's for geeks only. An idiot proof installer would be good, but evangelests and PR that speaks to average users is perhaps the single most important thing standing in the way of more pervasive acceptance.
I understand how the general attitude that "you've got to know how to use a computer to use a computer" gets bred. I used to work 1-800-support. But that won't cut it on the public image tip.
GNU/Linux needs salespeople. Jeez, I can't believe I just wrote that, but it's true. The barriers are 90% cultural at this point....
Howard Dean for president
I can only agree with it.
Part of the problem is that most "guru's" know how to use a commandline, but not how to use a GUI.
When I install software, I use the commandline, not Kpackage, Gnorpm or Rpmdrake.
So when someone asks me how to use such a program, he mostly knows more about it then I do, I just know more about the underlying architecture.
Though I do think the users are coming along.
Recently I heard about people who were using Linux, because they liked Tux, and were collecting pictures of him. Sure.
Well, don't worry about that. We can get you back before you leave. (Dr. Who)
Biggest problem with Linux usability is a lack of applications to use with it.
WAAAAIT! Hold off on that flame-thrower!
I'm talking serious productivity applications.
There is no Linux equivalent to MSWord. Yes, yes, yes: I *know* there is StarOffice and others. But they aren't MSWord.
There is no Linux equivalent to AccPac. Yes, yes, yes: I *know* there are other accounting packages. But AccPac is the defacto standard.
There is no Linux equivalent to Photoshop. Yes, yes, yes: I *know* there's Gimp. But it's not Photoshop.
WAIT! Hold off on that flame-thrower!
I know it's unreasonable to expect Linux apps to be identical in functionality -- and misfunctionality! -- and appearance to the big-time, deeply-entrenched "standards."
But that's not the point. The point is: the problem with Linux usability is that its lacks applications that are direct clones of the standards.
That's unreasonable, illogical, stupid, and every other abusive word you can toss at the idea...
...but it's the truth. The PHBs see it that way, and countless users who've spent years learning the ins and outs of the standard apps see it that way.
It takes years of invested time and experience to become at all proficient at any comprehensive productivity application. No one wants to throw that investment away, just to move to Linux.
And that is, I think, at the very core of it all, a usability problem. If it isn't exactly like the original, it is less usable for many folk.
And now you can flame. Ouch.
--
Don't like it? Respond with words, not karma.
Newbie - "How do I use my dial up modem in linux, using redhat 7.2?"
... you know, if you used Debian, this wouldn't be a problem...."
....
Expert - "First of all, you need to make sure ppp is compiled into your kernel, then recompile, RTFM."
Newbie - "Is there an easier way?"
Expert - "Yes, but first, lets's get you all the kernel patches, since you're using 2.4.9, which has some known VM problems under high loads, then, we'll need to gut your X server, then, you might as well recompile/build KDE, since the one in Red Hat sucks, which comes with GNOME, but I think it sucks, so I'll make sure that you think it sucks too
Newbie - "What's a Debian?"
... and so on and so forth
I think there's a lot of truth to this, but not just with linux. It seems to be a phenomenon at all increasing levels of sophistication, in many different fields.
In my own example, I taught an advanced database course at Stanford, and how no trouble connecting with upper division CS majors and industry professionals in the course. Two quarters later, I taught "CS01i: Introduction to the Internet." I found myself at a loss sometimes trying to relate to the uninitiated Internet user. I had become detached.
It seems that the same thing is true of linux. We get ingrained in an OS/culture that requires a certain level of sophistication to succeed. Then (for better or for worse) we often become trapped in that paradigm.
I've found that with Linux education (and CS01i), that an old maxim holds true: "If I can tell my mom how to do it, and she can then successfully explain it to my dad, my job is done."
It may sound like an elementary test of fitness, but it works as a good filter for teaching the uninitiated.
(please note, this only works if your mom isn't a kernel contributor...):)
I started geeting into this stuff about 2 years ago, and I'm naturally a technical guy. The documentation currently has a terrible 80/20 problem: 80% of it is...
Most often, documentation is an afterthought to a coding project. This is not a good way to get novice users to get to use the software, because those writing the docs are too intimately involved with the project and usually burnt out to the max.
Howard Dean for president
As a *nix person who has had to pick up Winders skills, I will be the first to admit that all the Windows training I have taken has had the tone "This isn't really that hard."
/mnt/disk
In contrast, I went to a LUG meeting where a workshop was held for Newbies and I distinctly remember someone saying "Look, mounting a share with NFS is hard." You would never hear this at a Windows workshop.
Take my example:
C:\net use p: \\foo\bar
versus:
hookado@monkeyfudge ~$ mount -t nfs gorilla:/export
Why is one "easier" than the other? Is it just cultural?
Comparing it to Windows will be a moot point, since El Dorado is going to have a 40% larger code base than XP.
I have been using Linux routinely since like 1995 and so of course I've learned the hard way to do everything. Today, when I'm dealing with friends and colleagues who have a problem with Linux I start spouting off command lines and obscure file paths. The fact of the matter is that I have no idea how to do a lot of these things the easy way. When I tell them I can sense their dread.
As an excercise in trying to be more helpful I've been trying to learn the easy way to do things. I did an out-of-the-box install of Redhat 7.2, and I'm trying very hard not to touch the command line. As it turns out I can do an amazing amount of stuff without touching a command line. The stuff I do have to do is usually obscure power user stuff that normal humans don't have to mess with.
This sig has been temporarily disconnected or is no longer in service
He looked at me like I was from mars.
Then he said, "Don't you have explorer like in windows?"
I was stunned. Of course I did. I was running KDE for Crissakes. I never use it, so it just didn't occur to me. Then I showed him again, using konqueror for ftp, and file management. (He was impressed that you could use the same program to get files from other computers, and file management.) He did have to do command line cd recording, since I didn't have a gui, but he was ok with moving files to the right directory, and hitting up-arrow, enter.
When he was done, using almost all GUI tools, he came in and said something about Linux not being as tough as everyone said. If he hadn't hit me over the head with the obvious, though, he would have given up in frustration at the command line.
Most casual users don't want all of this complexity - heck, to most the idea that they need to login to their home system seems absurd.
Linux was written by geeks, for geeks, and it shows. Most Linux users (myself included) would not give up the security and reliability of Linux for the sake of using something simpler.
And from a user design standpoint, the system fails - unlike windows, 3 different Linux boxes can have 3 different interfaces - each of which confusing to the new user.
Linux will be ready for the clueless masses when:
- Users can use the machine without logging in. (perhaps under some restrictive user account...)
- Users never have to manually configure hardware - the kernel detects the hardware and compiles and loads the requisite modules automatically
- There is one standard GUI interface across all distrubutions; even though GNOME and KDE are remarkably similar in function, the different appearance of windows will confuse the average user.
- The user can install or upgrade any system with a single click of the mouse.
Granted, this is an OS that not many geeks would like. However, there is a tradeoff involved - one can run a good, but obscure OS, or use a popular, but buggy and restrictive OS. If Linux is changed to suit the average desktop user, most technically astute users wouldn't use it; the old adage holds - make something that even an idiot can use, and only an idiot will use it.The society for a thought-free internet welcomes you.
Most of the people who know Linux well assume that everyone else can learn Linux just as easily as them. I think that's about all that needs to be said because that is all I have ever seen.
These are some of the major points I've seen guru's forget about "average" computer users.
1. Average computer users are afraid they will break their computer. Example: Many think if they mess up setting up a drive in the BIOS, the drive will physically break.
2. Average computers users need to get their information visualy. Just look at all the Visual MS products. People don't know where to look for information so they need all the info laid out in front of them. They need menus and GUI's that can show them all the options they have to use. They don't have the time or ability to hunt out where the information is they need.
3. Average computer users have a very short time span for learning something on a computer. A computer is just another utiliy they need to use. They don't learn how it works for the same reason they don't learn how their TV, VCR, microwave, refrigerator, cellphone, etc works, they don't have the time. They expect someone else to do all the detailed work for them.
4. It takes logic to understand a computer, and most people just can't grasp the concept of logical thinking. "The computer shouldn't do that when I click there!" "Why?" "Because.. that's a stupid thing to do!"
Outdoor digital photography, mostly in New Engl
I see a lot of people intentionally going over the user's head and the vibe I get from the people who do that is "See how leet I am?" Those people need to grow up. Of course, when you get free support you often get what you pay for. If you get that attitude from someone paid to provide end user support, you should ask to speak to their manager immediately and complain.
Some of us can't help but go over the user's heads. I'll do it if I start focussing on the issue at hand but I've learned to pick up on that blank look and pause at that point and say "Ah, you don't care about that!"
Part of the problem too is that some of us are just unfamiliar with the tools. I haven't used StarOffice in ages and get better results with LaTeX. I'm a programmer so I never need to do Powerpoint presentations. I _like_ mucking around behind the scenes to see how things work, and I've become used to working behind the scenes as well.
The best way to approach someone you want to help is to view it as a learning experience for you both. You have to learn to put your personal preferences aside and look at what is best for the user you're working with. You can actually expand your horizons that way.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
It is too hard. Okay, maybe not too hard, but definitely a bit harder than Windows or Mac. After the wu-ftpd warning I decided to update all my RedHat 6.2 servers to the latest version. What do you know, the RPM doesn't work. Why? Because it wants RPM version 4. So I go to install RPM 4, it wants glibc. Surprise surprise, glibc wants RPM 4. And when I got my RedHat user friend of many years, he managed to get glibc installed using force or nodeps, but RPM version 4 and wu-ftpd also wanted xinetd, and for some reason we couldn't get it installed. So we had to resort to getting the latest 7.2 CDs and taking the server down for a while for an upgrade. Windows on the other hand, will tell you when updates are there. It installs them automagically and one reboot is all that's needed. I hear people claim that Windows Update can make it unbootable, I've never seen it happen.
Now, installing something like flash under Mozilla/Linux. I managed to install it fairly easily. But at our crowded computer lab at school, where the only box left was a linux one (we usually use mac), a student couldn't quite figure it out. He downloaded the file, and that was the end of his knowledge. He doesn't know how to use tar. And I'm sure he didn't know what root was or where mozilla was installed. I even had to start X for him. In Windows/IE it's auto install. You click "Yes" on a prompt and it's installed.
When I was first running Debian I wanted to get my sound card running to play some music. I went into modconf and I just couldn't get it installed, even though a pnpdump seemed to find it. So a friend suggested ALSA, which I tried to install. What do ya know, I need to do a kernel upgrade. It still doesn't work. In Windows its found, you put in the driver CD or floppy, don't have to worry about mounting, and a reboot. Maybe it's just my crappy hardware, or I'm just stupid, but with 6 billion people on this planet, I'm sure more than one person has the same problem as I do. The worst part is I got smart people with their degrees to try and help me out, who have been using linux for years. Like the sysadmin for our school district, someone else who just got their CS degree and is a debian package maintainer, someone who is in college learning the kernel. They couldn't get it installed as fast I could, someone who has taken zero (0) college courses in Windows.
I know many people who are very smart, yet I cringe when I hear them try to explain things to non-experts in the field. It is not that they aren't trying, just that they lack the ability to put themselves in the shoes of someone who doesn't have their level of knowledge.
Example: "How do I use a USB hard drive under Linux?" Answer: "modprobe usb-mass storage, and use the mount command (man mount)"
And no one sees why there is a problem with such a statement.
Did he not believe you when you said, "Linux doesn't have any anti-virus software because Linux is not popular enough yet to be the target of viruses"? Or was it because you told him that Linux is intrinsically safe from viruses. That's not true, and here's why:
Right now, most people running Linux know better than to do everything as root. As such, there is a logical separation between what the user can do, and what can damage the system (in that, little of what the user can do can damage the system). Also, right now, there aren't any e-mail apps that are as featureful (bugful, if you must) as Outlook, in that they won't automatically handle whatever attachments you get (you have to download the attachment and then load it up with whatever tool you use to view it). This is a bane when it comes to executable code (already been fixed in Outlook for some time -- people just don't patch), but it's a boon for everything else. It exemplifies a fundamental design difference between the Windows experience and most Linux GUI experiences -- being that Windows is very much "Document-centric". You don't open Word and then open a document. You don't open Excel and then open a spreadsheet. You just double-click on the document or spreadsheet, and Word (or WordPerfect, or Star Office, even, if that's how you have things set up) fires up and loads that document for you. Now, to get off of that tangent and back on to the original point -- as Linux grows in the desktop market (if Linux grows in the desktop market), more and more and more people will be running as root 24/7/365. What that means is that suddenly, viruses are very much dangerous. Or, users start clamoring for an e-mail app that has the same power as Outlook, at which point we get mail virii spread through Linux. Oh, sure, it won't affect you, but what about that guy at work?
The point? Linux is not intrinisically safe from viruses. It's "safe enough" right now, through a combination of obscurity (it's not worth the time to write a virus for it, as it'll see little spread) and security (though a virus could still trash a user's $HOME just fine, even if it's not running as root). Expect to see that change if Linux does penetrate further into the desktop market (this will take some time -- the Macintosh is fairly free from virii mainly due to the obscurity argument, so Linux would have to substantially overtake Apple's marketshare to make itself a target).
I've seen people ask how to fix that. I'm sure there's an answer, too. But the fact is that it's fucking RIDICULOUS to have fonts that look like that in the year 2001.
If you give them some complicated instructions for fixing it, 95% of new users will just say "screw that" and either: 1) abandon Linux, thinking it sucks, or 2) keep using Linux with crummy fonts, and think it sucks, or 3) keep using Linux and waste a bunch of time fiddling until the fonts are right.
All three of these situations are horrible, yet it doesn't seem to bother any of the developers that RedHat still ships this way.
This type of situation is common and it infuriates me that not only are you assumed to be stupid if you can't make it work, but everyone is amazed that you'd complain about it in the first place, because fixing it is supposed some sign of your computing prowess.
I agree entirely about the learning curve of getting a system running. After having installed multiple versions of both windows and linux, I would prefer not to put a newbie through either one of these trials on unfamiliar hardware unless they knew what they were aiming for.
There is also the learning curve associated with the usability of linux. Previously, people have always approached it from "learn the command line first and we'll deal with those GUI addons once you have the basics down". I personally can't think of a faster way to alienate a new user, especially if they have experience using a GUI based system.
I recently upgraded my box from a tower that I've been using for the last 4 years to a much more powerful laptop so that I can travel and still work. As a result I donated the linux tower to the graphic designer in my company so that he could have a "play" and work out what was going on, but not really expecting him to get that involved (have you ever tried to move a designer of his beloved Mac?).
As it turns out, he is currently using the box for everything other than Illustrator and Photoshop. And he is considering getting involved in the development process of Gimp and Sodipodi or Sketch as a non-programming contributor to the process so that he can switch completely. However, he didn't learn any shell commands or any incomprehensible alien languages to make this jump, but rather got given a configured tool that just worked and did the job.
The nicest thing about the whole process is that he is now starting to get interested in those wierd terminal boxes that I tend to leave open and has started to get his head around methods that for me appear faster and more obvious but which for a Mac user are the very antithesis of useability. This would never have happened if I'd started him on shell scripting in console mode on day one.
The only Good System is a Sound System
People who post here are very smart. In many ways they sort of look at the computer as something that an average person shouldn't really touch unless they know what they are doing, and if they don't know how to administer their own box then that is their problem.
And for people who devote alot of their time to making the stuff work, I don't find this unreasonable. I mean, after all there is real effort and dedication involved is it too much to ask to read a man page?
What MS gets and the Linux commnity doesn't is that most people just want the damn thing (the computer) to do something useful. They want to turn it on and have it work. They don't give a crap about the technical merits of the OS or the effort behind it and for the mass market that is how it should be.
They don't want to mess with config files.
They don't want to care about what hardware is in their box.
They do want to be able to plug stuff in (USB) and have it just work.
They don't want to compile a program to install it.
They dont want to untar things
They don't want to deal with RPM (they want something called setup.exe).
they want easy access to the internet.
they want a browser that works.
and above all they certainly do not want to have to recompile a kernel to upgrade their OS.
MS has money and time to spend on these and other usability issues. Linux does not. Linux is not easy to use unless you are steeped in Unix. There is no way around it.
I think Linux should stop wasting cycles on a mass market that will never happen.
I'm still working on a clever footer.
While programs such as gnorpm, kpackage, and the Ximian setup tools are available, these tools are mostly either not easy enough to use, not widespread enough, or not stable enough for most users.
Secondly, the menu layout in both KDE and Gnome is incredibly confusing. Gnome puts the main menu on the screen in two different places by default! KDE has at least two address books. And how is anybody supposed to remember that Konqueror is a web browser or that GIMP is an image manipulation program? The naming of Linux programs is very hard to understand, and while these names might work in the Windows world as "brand names", new users facing hundreds of unfamiliar programs deserve something more helpful. Also, there isn't a standard menu system for GNOME and KDE (even regular GNOME and Ximian GNOME use two different menu systems!), so users installing programs may find that it never shows up in their menu at all!
I hope the GNOME and KDE usability projects result in some feedback for those two desktops, because, up until now, these projects seem to have been focused on building a development environment first and a usable desktop second. These priorities really need to be changed.
One problem with that approach.
Users. Don't. Read. Documentation.
Go around your office, and ask your non-technical (marketing, accounting, etc.) Windows users questions like:
I'll be amazed if more than 5% of your user community answers "yes" to any of those questions.
IMHO, the problem with 'gurus' teaching 'users' has nothing to do with their relative intelligence. Rather, it's an issue of the semantics of teaching, or more specifically, teaching the use of computers. To a 'guru', teaching the use of computers means getting their student to the point where they can figure out what's going on when confronted with a new program, task, or problem on their own, by connecting it to what they already know. This is called understanding, but that's not what 'users' are used to in the context of computers. What's worse, it is continually suggested to them that it's not what they want.
To quote from the linked article:
This is the basic problem. Telling someone "To A, push B" is not teaching, it's more like programming the student. The student will not understand what they are doing. They'll end up with an unconnected heap of little task descriptions in their head; actually, a lot of people end up with a heap of Post-its glued to their screens and keyboards. They are unprepared to cope with B not causing A (at best they'll reboot, typically they'll call tech support), and if they're given new software where B happens to look a lot more like C and is 5 inches off to the left, they'll need retraining.
That sort of thing doesn't happen with, say, cars. But contrary to popular opinion, that's not because cars are easy, it's because Driving School actually teaches you something, while 'Computer User School' does not.
One can only speculate as to the reasons behind that; after all, driving schools surely wouldn't complain if their students had to return at regular intervals to be told that "in this new and improved model, the windshield wiper switch is now located on the second stick right of the wheel". But in the computer user world, this is exactly how it works. The end result is the perpetual myth that computers are complicated and hard to use, plus excellent job opportunities for 'teachers'.
Feh, that came out rather rambling... Thanks for reading it anyway. ;)
I get the feeling that a lot of my fellow Linux geeks assume that because Windows users feel more at home in a GUI and are scared of a shell (duh, they've been using a GUI, and not a shell), that they are somehow not intelligent enough, or somehow incapable of reading documentation... of any sort.
On the other hand, I get the feeling that most Windows users believe that us Linux geeks have purposely encrypted current linux documentation in our own esoterica so that we can feel special when nobody else understands; We also explain things extra difficultly so we can feel better about ourselves, like we all have some sort of inferiority complex.
Of course neither is correct. Here are some of the underlying reasons I believe this situation has come about:
Until VERY recently Linux has been pretty much a system administrator's thing, or a serious code hacker's thing. Because nobody outside of the circle probably ever even heard of Linux, why the hell would the documentation have been written for those outside of the circle? It was generally (and correctly) assumed that anyone else reading the documentation was either a sys-admin, hacker, or similar type, who knew Linux/Unix and simply wanted some configuration details or command line arguments. There's no reason our HOWTOs and man pages should have been written any differently, at the time they were written.
Now suddenly Linux got some time under the spotlight and a lot of people are trying Linux for various purposes, Server, Desktop, or for the reason maybe a good portion of us started playing with Linux, just to tinker around. They "grew up" in GUI land for the most part, don't know jack about using a command line, and are now confronted with something that's somewhere between both. They are obviously interested or they wouldn't have bothered, but they are completely frustrated because all of the documentation is really just there for configuration details or usage details. Maybe we don't see it that way, but they probably do. It seems like a lot of energy is being spent in finger pointing when it could be spent writing migration-documentation (I don't know if I just made that up or not). If I did, what I mean is that for the transition from Windows to Linux to be easy we need documentation that not only explains how to do things, why you are doing each step, and what exactly it's going to do, but also what the equivelant would have been in Windows.
Just my $0.02
P.S. Yes this nick is completely unoriginal, but you jerks already stole all of the good nicks! =)
My experience has not been good. I'm probably an intermediate user, and have been using Linux on and off for about 5 years, and have done a couple of clean installations of RedHat and Slackware, including X and KDE. Right now, I'm doing my first useful application with MySQL and Apache/Tomcat, and the configuration was a major hassle. Here are some problems that I run into:
1. Documentation that assumes too much. This has been mentioned above, but I'd like to stress this as a number one problem. After all, what good is a free operating system if you can't use it in a meaningful way without buying 2 or 3 books. Some of the HOWTOs will walk you through setting something up in one particular way, and don't give much guidance on general principles. I guess that's the definition of a howto, but that's really a poor substitute.
Installation program: What packages would you like to install?
New User: Huh? I DON'T KNOW!
2. Too many configuration files. When I first started using linux, one word came to mind: Chaos. Configuration files are all over the place and they all have their own particular formats and quirks. And 99% of the time, the defaults don't work for anyone but the developers. This is getting better though. Some of the more professionally developed applications are better at this. MySQL really shines in this area. It was a breeze to install and the things that it asked for were clear. It is a very peaceful, well-behaved piece of software. But I really wish software developers would include configuration wizards. Lengthy editing of text files just for basic functionality is unacceptable. This is such a problem that I'm considering helping open source projects by specializing in documentation and ease of use. Configuring the kernel has gotten easier in recent years. Modern configuration tools step you through the process and help is readily available if you don't know what something means. Even better, it tells you what you probably need. This is a step in the right direction.
3. Dealing with dependencies. Linux gets a lot of praise for quick bug fixes, which can be a good thing, but its a double-edged sword. You have to juggle kernel versions, glibc versions, and GNU tools. If Linux is trying to reach a mainstream audience, do you expect the average user to have to recompile their kernel and rpm half a dozen other dependencies just to install the new web browser? Windows software developers have a much easier time - you know that an app that will run on one Windows 95 machine will run on just about any Windows 95 machine. Occassionally you run into things like needing X version or a above of DirectX or something, but that's a minor upgrade. Linux applications don't often check for their needed libraries.