Friday, December 22, 2006

Some Linux users are just too good for me, I suppose

Thanks to Digg, I happened to stumble across this analysis of why Linux is not Windows, at the blog OneAndOneIs2, by Dominic Humphries. By all means, "Linux != Windows", the blog entry I am trying to dispel, is quite long. I didn't attempt this task on a whim, but I believe that "Linux != Windows" was very wrong for several different reasons, and as such I decided that I would use my blog to do what I like to do most when it comes to blogging, speak my mind. This blog entry is divided into sections, according to each "problem" that divides each component of the opinion I am refuting. This essay relies heavily on the original article, so I suggest you read that first. At any rate, I shall proceed.

Point 1. How is it impossible to expect Linux to be better than Windows and have the same features? Isn't that called an upgrade? Doesn't that imply that improvements have been made upon central concepts? Claiming that Linux cannot be like Windows and better than it is like claiming that Windows Vista could not possibly exist, because it's Windows XP, but better. Mr. Humphries is missing the point of Windows users who try Linux. Those users want an upgraded Windows; they're not looking for something exactly the same. If those users wanted an operating system that's exactly the same and Windows, why not choose Windows in the first place?

Firefox succeeded not because it was different, but because Firefox built off of IE and had better, upgraded features. Just look at FF2 and IE7: For the most part, the GUI is the same! You navigate to different websites by typing the URL into the navigation bar and press Enter or click Go; you navigate through your window/tab history by using the Backward and Forward tabs; you save websites by putting their paths in bookmarks. Is the Find function an ability that Firefox devs invented? Of course not! Its presence in the bottom of the browser is (you may disagree) and improvement, an upgrade! It's not superior because it's different; it's superior because it has better functionality! Better != different! Sites like exist because changes to software made the new versions worse! Firefox's features, when IE6 was competing with Firefox, were better than those in IE because they were easier to use and faster to use! If Firefox changed the default language to Swahili, would that make it better than IE? But Mr. Humphries' reason, yes, because it's different. Again, if users were looking for a copy of IE, they would just use IE! I myself switched to Firefox, because I heard that Firefox had better features, not because it was different. Firefox was similar enough in use to IE that I had no trouble adapting to it.

Point 2. This section is quite misleading. It asks whether or not there's really any big difference in the differences in Linux distributions and then compares Linux to a car: If you can drive one car, you can drive them all!

But you see, the difference in choices is more complicated than that. When you want airbags in your car, you don't choose between "Baag," "Baglite," "Big Bag," or "Sfebag" type airbags, all of which do the same thing but conform to standards that ordinary (most) people won't understand. When you have lots of choices in interfaces, file managers, desktops, and even window managers, people who just want to use a computer will be confused when presented with a choice. If you have to explain all of the intricacies of an operating system to someone who just wants to get work done, chances are that person will give up and move to what he or she is used to - Windows XP, which comes in the consumer-friendly name differentiations of "Home" and "Professional." When your operating system has dozens, if not hundreds, of minute differentiations without any clear advantage in any, that is one example of too many choices. When you have so many choices for both underlying and trivial options, you have to do one of two things, or a combination: Differentiate, or consolidate. Give the user reasons to choose, not options; most people just want to get their work done! Give the people the means to the ends, not the means to the endless! The problem is that there are too many choices there they don't need to be.

Ah, and here we come to desktop Linux. Let me admit that I am an experienced Windows user, and I believe that Linux is not ready for the desktop. But remember, correlation does not equal causation. I have considered switching to Linux, as I've mentioned in my last blog entry. (I'm not going to rehash it, for the most part.) Mr. Humphries is ignoring the big reason that Linux is not ready for Dell and blaming the whole thing on Windows junkies. Honestly, if it was only our fault, why is Linux so slow in moving onto the computers of the masses? We're not getting in your way!

Or is it because of the work ethic involved: You might have to adjust Linux to get it working, and if you need help you have to go to some forum. That's just the problem: The masses want to use their computers, not work with them. I worked with MS-DOS and had no trouble using at after I learned the commands. I'm not rigid to one set of controls, and I have no doubt that a beginning computer user who works with Linux will have little trouble learning what buttons to press. But what if something isn't working? What if you can't find something? The average person doesn't even care about what the problem is! People just want to fix it and go - wham bam, thank you, ma'am. That leads me to...

Point 3a. I'm not panning forums. Forums are great. I've used a great many forums!

You're not going to endear many Linux switchers by telling them that they have to get used to tech support from a loose organization of volunteers. When I search 'Windows help' in Google, I get Microsoft's support site; when I search 'Linux help,' I not only get Linux Questions, but LinuxSelfHelp, Linux Online,,, and JustLinux, just to name a few. These websites may be comprised of fine, fine people; I don't know. But what I do know is that with Windows, you know who to ask: The guys that make it. Coincidentally, the guys that made it also have a website for it! Linux is like Windows in that regard, ironically: The guys that made it also have a website for it - and thousands of people made it! The problem is that there is too much choice where there shouldn't be.

And is it just me, or is Mr. Humphries criticizing Windows users because most users only use software after it's stable? Sorry to rain on your parade, but that simply is not going to fly for most people, except for the most hardened Linux veterans or the peopel actually working on the program. Let me give you an example: Songbird. Songbird is at release version 0.2.1. It's barely usable. (I've tried it myself.) But when the media library fails to comprehend my Weird Al library because the metadata has quotation marks (among other random quirks), it's NOT ready for use. Should I apologize for expecting my programs to work when I run them? I run my programs to get something done, and I'm not about to compromise my productivity for "new" software. I have standards: I shouldn't need to fool around with software to get it to work. Only in the world of Linux is that expected!

Furthermore, Mr. Humphries criticizes Linux switchers for expecting their software to be polished to a grade as high as Windows. Remember that they "don't owe you anything?" For God's sake, Linux is competing against Windows! Like it or not, Linux is trying to compete in the same market in which Windows operates. They're trying to convert people to this OS, and they're complaining that people expect it to be good? That's their own damn fault! They shouldn't cry that it's impossible them you to deal with, because those Linux heads got themselves into it! They're trying to compete against an OS with 95% of the market share, and they expect to wow people by not providing comprehensive, easy service and telling users to find the answers for themselves? Some call me a waaaaaaaaaaaaaaaaaaaaahmbulance! I'm crying my eyes out that those poor Linux devs are overworked and paid nothing. Hey, they chose to do what they do; programming is not a task that can be performed by the unskilled, and managing programmers isn't, either. If you have a product to sell, the free market doesn't care about how much work you put into it: Only the quality of its mettle. Root, hog, or die.

Point 3b. It is in fact more elitist to say, "Everybody knows this," than, "Everybody ought to know this." According to Mr. Humphries, everyone who has never used Linux before is a novice. Let me build on that an offer a parable:

Imagine, if you will, a Beginning French class. None of the students before have ever taken French in their lives; they don't even know the alphabet or the diacritic marks. So one of the students raises his hand and asks about the alphabet. The teacher shrugs it off, replies that the alphabet is something everyone knows, and goes on.

In that example, it sure sounds like the teacher telling the student that he ought to know that would be the same thing as saying everybody knows that.

The difference is that telling someone that they ought to know something places emphasis on what is not learned and that it is in fact crucial. That phrases places emphasis on the fact, not the person. Would it be elitist for a French teacher to tell the students what they ought to know in order to prepare for the test?

By contrast, telling someone, "Everybody knows that!" puts the emphasis on the person. Saying that assumes that the person who is hearing it is a Have Not in a world of Haves. Claiming that everybody knows something - and you don't - puts you at a lower level. There's no emphasis on even learning what is unknown. If you don't know it, then you're sunk.

And now I get to talk about the Lego metaphor. It's completely wrong. When you download a distribution of Linux (especially a desktop distribution), you get an environment that is set up for you - just like a Windows installation. That's not like getting a Lego set at all! I honestly don't know of a right metaphor, but this one is completely irrational. If you're comparing Linux to Windows, then the only difference is that the Linux toy car comes with the tools to take it apart, build, find, or purchase extensions, and customize it how you like, while the Windows care comes with a paint set. I absolutely hated this section of "Linux != Windows". Linux doesn't come broken up into many different pieces. Would you really compare downloading programs to a Lego car? If so, then Windows would also be a Lego car! Besides, the focus of Linux should be the focus of any other operating system - providing a platform for getting things done. Emphasizing how much you can take apart only skims the purpose of an operating system's usefulness. What is the worth of Linux if its only purpose is to be taken apart and put back together again?

Just because you use open source software doesn't mean you want to open up the code and spill its guts. Though I may use Mozzila Thunderird, Mozilla Firefox, StepMania, and Foobar2000, I really don't care about how they work. Generally, software being open source is just an added bonus, not an important feature.

Point 4. This is just another attempt to brush off the users who simply want to get things done, by claiming that the software was created for a difference target audience.

Now, obviously there is nothing wrong with designing tools for programmers; I find no faults with developing an efficient IDE, for instance.

But when you don't tell the beginning users what is most efficient for them, that's your fault. Face it; people who just want to get work done just want to know how to do it in the quickest way possible. Even if you have just developed the most powerful text editor on Earth, there's no way you should advertise it to a person with the goal of expediency if it takes a few hours to learn. Chances are, Vi is one of those programs. It may certainly be an excellent program, but give the novices something like OpenOffice if they just want to type a list or two! Don't you think you're missing the mark if you're trying to sell a newbie on a program so complex that it requires special effort to close it?

Point 5. Look, is it too hard to write a program that has both keyboard shortcuts and menus? I definitely see the point here: Different users have different needs. Once you know the shortcuts, any other way is painfully long. So, I have to disagree on this point, but I totally respect where the opinion is coming from. My version of "user-friendly" says, "Programmed to be usable by those familiar with simple commands and by others who can understand non-obvious shortcuts."

Point 5a. While Point 5 is respectable, its folow-up is less so. While Ctrl-X and Ctrl-V are non-intuitive, they are very efficient. All you need to cut and paste are only but a couple keystrokes away, and the only finger you need to shift is your index finger.

So what does d5w offer? That's just as non-intuitive as Ctrl-X or Ctrl-V to the uninformed. But when you get to know either keystroke combination, that combination becomes familiar and efficient. To the uninformed, d5w doesn't look like much at all. But if you've worked with it before, of course you'll know what it is!

Point 5b. I liked reading the first half of this section, and it all goes downhill from there.

Dominic Humphries is complaining that coding menus takes time. Well of course it does. But if you can't compete with the market, that's your own problem.

Secondly, how is MS Word inferior to Vi and Emacs, because the latter are used for coding? Here's a reality check: MS Word wasn't designed for programming. It was designed for word processing! If you want programming, use an IDE! For God's sake, MS Word is not inferior to Vi or Emacs because they're aimed at different audiences! Is there a joke that I missed, due to lacking a sense of humor? If not, then I can hardly believe the nonsense that I just read.

And again comes up the issue of appealing to the masses. Believe it or not, it's more efficient for some people to just click on what they want instead of learning commands. If you're not going to develop frontends for the programs you're putting into Linux, you're going to have lots of users who will find Linux to be a complete waste of time.

Point 6. This whole portion of the article is one great straw man argument. I don't know how anyone in their right mind would believe that Linux is copying Windows for developing a GUI. What is Point 6 trying to prove?

Point 7. It's this last category that makes this article worth debunking. This "problem" demonstrates arrogance to the highest degree possible. To the common user, it's the middle finger. it's like saying, "Screw you and your little dog, too," to everyone not fortune enough to be in the know. Here, let me sum up "problem 7":

We don't care about you or your needs, and if you don't know what we know, then you're not worth our time.

What a callous choice of words for a community so intent on convincing people that Linux is better. I suppose all those people on Digg who relate tales of switching and never looking back are fringe radicals, hm?

What is so supremely ironic is that Humphries claims that the goal of Linux is to create the best operating system ever. But if you don't accept feedback, how is it going to be usable?

This point is the gotcha clause. The excuse clause. It makes Linux sound like a colossal waste of time to the whole world except for a few people. But the truth is that Linux is usable, and if you're listening to Mr. Humphries, then asking whether or not you are good enough for Linux is an excuse for not supporting you.

Asking the users to do everything for themselves will not only frustrate good people but convince the smart but unexposed people that they'd be wasting their effort on such callous people. Let me ask you something, Mr. Humphries: Are you saying that you're developing an operating system and then not expecting people to use it? That proposition is so laughable that it's hard for me to even refute it. It's ridiculous. It doesn't make sense at all. I'm finding difficulty finding the sense in it. You're developing a usable operating system, not expecting anyone to use it, and criticizing people who expect it to work but have trouble? Doesn't that violate the philosophies of the desktop Linux distros, who are trying to convert the common people? Doesn't that even contradict the goals of Firefox, since Firefox is built from user input?

Mr. Humphries, I really hope that you're not naive enough to believe what you're saying. I sincerely hope that you do not reflect a majority of the Linux community, because "problem 7" is your problem. I sincerely believe that Linux is about the people, not the machines, and if you're crazy enough to insist that the computers matter more than the people, you're not doing anything for Linux. The last category in your article will do nothing to advance your cause.


tp241303 said...

Please learn to spell and use correct grammar. I find it very hard to take your argument seriously with these kinds of mistakes throughout it.

dbait said...

"I find it very hard to take your argument seriously with these kinds of mistakes thoughout it." Great sentence tp!

Paul Williams said...

I read up to 3b, and the realized something: you obviously have know idea how the Linux community functions. Why don't you try Linux for a few weeks, and _then_ write a fair and balanced article on this subject.
You cannot present both sides of the story when you only _know_ one side.

Dominic said...

Are you saying that you're developing an operating system and then not expecting people to use it?

No. I'm saying Linux developers are creating an operating system that doesn't use "number of users" as a metric of success.

I'm saying that if you have a situation where you have to make software technically inferior in order to make it easier to use, Microsoft will make the change and Linux won't. Because we want the OS to be GOOD, not POPULAR.

Doesn't that violate the philosophies of the desktop Linux distros, who are trying to convert the common people?

Very likely. But you know what? We don't care.

Those guys making distros, they're actually a minority. They're a few people taking the thousands of Linux projects and polishing them up to attract new users.

Let me put it this way: If Red Hat and Novell and Ubuntu vanished overnight, the Linux community would carry on pretty much unfazed. Some new volunteers might come along and take over the suddenly-unsupported distros, or people might grudgingly have to switch to another. But it wouldn't really matter much.

If the Linux kernel devs vanished overnight, there'd be a huge uproar that would rock the Linux world to its core. Because altho Alan Cox and Andrew Morton aren't nearly as well known as Ubuntu or Red Hat, they're the ones who really matter. They're the ones who are very hard to replace.

The distro makers are not the people working on all the thousands of Linux projects that make up the distro. You're familiar with the saying about "standing on the shoulders of giants" I take it? That's what distro makers do.

The public hears a lot more from the distro-makers who are trying to get converts than it does from the people actually coding all the software. That's what you would expect: Novell and Red Hat advertise because they want to sell a product. The Linux devs don't, because they don't.

The minority is more vocal than the majority. That doesn't stop it being a minority. The overwhelming majority of Linux developers are not trying to attract more users with their software. They're having fun writing software, and if people like it, that's great. And if they don't like it, that doesn't really matter, because attracting users isn't really the point.

Linux *isn't* trying to compete with Microsoft, and it *isn't* trying to gain end users. It's trying to be a good OS for anybody who wants it. That's utterly different from trying to make an OS that everybody wants.

If you take a break from trying to prove how clever you are, and actually read what the article really says, you might learn something. So long as you read it through the haze of your misconceptions, you'll learn nothing.