As I’m sure many have noticed, there’s been a flurry of articles recently regarding the Linux desktop and the direction it “needs” to go in. A few have been insightful and offered up valuable information regarding the future of desktop computing. Most, however, have been painfully ill-informed or even confrontational. After sitting back and watching the fighting break out in the trenches, I decided to pen something from the opposite side of the fence.
Editorial Notice: All opinions are those of the author and not necessarily those of osnews.com. Some of the claims below don’t sound fair to our ears, but an opinion is an opinion and we respect that.
It’s the Design, Stupid!
Perhaps one of the greatest sources for the general confusion among critics and ire among the Linux community is that many of the critics are suffering from a case of what psychologists call “projection”. The projection hypothesis basically states that a given person will perceive in a project the goal that they themselves value the most. It’s a form of identification that is basically derived from the internal assumption that we are normal. If I am normal and I feel a project should progress in a given direction, any normal person should feel the same. Thus, a developer who is involved in the Linux movement typically believes that the unstated goal of the movement is to create an OS perfectly suited to his or her needs. It’s a subconscious fallacy, but a fallacy nonetheless. Similarly, many who envision a Linux box in every home wrongly perceive that as the Linux community’s primary goal.
So what is the goal of Linux, exactly? Well, that’s the fun part… Linux itself is merely a general use kernel designed for high performance, scalability, and a certain degree of modularity. Alone, it’s not very useful. The Linux that most people refer to when they write their usability articles is actually known as GNU/Linux and is a whole suite of applications that surround and complement the kernel. These can be packaged and distributed in an almost infinite number of combinations with very different ends. The core of Linux is choice, and nothing illustrates that more than its design. By being almost completely modular, Linux offers users the unique choice of being able to pick the very best for their specific situation. These “pre-rolled” bundles of programs, settings, environments and kernels are called distributions. There are more distributions out there than I would care to enumerate. Suffice it to say that there’s one for you out there. If in the extremely rare case you find there’s not a distro to suit your needs, Linux affords you the flexibility to create your own operating system from the ground up, or merely alter a pre-existing OS. Neat, huh? Of course it is.
One thing that Linux is *NOT*, however, is centralized. Linux, the OS, doesn’t exist. Linux, in the general sense, is so broad and far-ranging that it cannot, will not and does not share a common goal between its specific distributions, with the one exception that it must be free (as in speech). Thus, it is completely reprehensible for any critic, reviewer or well-informed computer user to ever utter the words “Linux should…” The people that speak these words are suffering under the delusion that the entire Linux community is backing a single philosophy or goal (in this particular case, the march to take over the desktop) and that they have a way to improve it. This is most definitely not the case. There are more Linux boxes out there without monitors than there are with GUIs, so we’re going to check that misconception at the door right now.
Now, with that done with, let’s move on to the meat of the meal: why Windows is unfit for the desktop and how desktop flavors of Linux beat the pants off of Windows any day…
That’s right, I said it. The first words out of any Linux critic’s mouth are usually these two. The Linux community typically reacts violently to the frequent charge that “there’s no hardware support” in Linux. This is due mainly to frustration. The fact is, hardware manufacturers aren’t going to go through all the trouble of allocating resources to port their drivers to each OS on the internet. At least, not unless it’s worth their while (read: $$). This leaves Linux floundering in a chicken-and-egg quagmire. See, hardware manufacturers will only write drivers for Linux if it’s popular and will benefit the manufacturer, but the only way for Linux to reach this critical mass is to have the drivers that users insist on. It’s a vicious cycle, but the Linux community has a little trick up its collective sleeve: will. By sheer dint of effort, developers and hackers have created an awe-inspiring heap of open source drivers that, while occasionally not as featureful as their proprietary counterparts, still deliver where functionality is concerned. The only real areas where driver support is still lagging is in the rare goods arena. It’s simple logic; if there aren’t many people using a product, it’s a lot harder to find people willing to write the code to make it work. But then again, your average desktop user tends to use relatively standard, off the shelf components. The people who have the most trouble with drivers are, for the most part, not your typical desktop user.
A lack of drivers, however small it may be, is no strength, though. It’s a weakness that will persist as long as hardware makers are led to believe it’s more profitable to just write for the top two proprietary operating systems. So how could hardware compatibility possibly be a *strength* of Linux? Well, pop your Windows XP installation disk into your best friend’s Apple G5 and tell me what happens.
No new Windows installation. Heck, without an emulator, there’s just no Redmond OS on Cupertino hardware. And why is that? Hardware incompatibility, my friends. Windows is compatible with only one type of processor. In fact, because the closest thing to a desktop-ready OS that has come out of Redmond is Windows XP, the only type of processor that will support Windows is an i686. Furthermore, you need a hefty load of RAM to run the beast, but that’s another article in and of itself (be on the watch for a Longhorn rant… coming to a news site near you). Linux, however, is able to run on a dizzying array of platforms. In one incarnation or another, chances are there’s a penguin for your processor. Got a Tivo? That runs Linux. Wanna harness the awesome number-crunching power of your PS2 or XBox? I see Tux in your future. And if you’ve got a bunch of old, dusty, slow grinding 4/586s, I’ve got good news for you: Linux can breathe new life into those old boxes. They’ll be snappier than ever with a smaller base install and a relatively tiny memory footprint. Now that’s what I call hardware compatibility. After all, what’s the point of paying $1,500 on a good computer if it can’t even boot the OS in three years? Linux gives desktop users the unique option of actually being productive for longer by extending the functionality and life of their machine. And by being nearly universally compatible, it allows those in the market for a new system to resurrect old hardware or buy less expensive systems and still guarantee performace and stability. After all, a PS2 would make a great desktop computer: sleek, functional, fast and internet-ready… all for under $200. A PC with a similar feature set would cost much more (and lack the necessary element of style!). Try doing any of that with Windows.
Best of Breed Apps
The second most common complaint is that Linux has everything except for that *one* Windows-only application that the critic absolutely, positively must have. BS. This is desktop computing we’re talking about, not genomics. If Joe User is running some special app, chances are high that it’s already been ported to Linux (and probably a good number of other OSes, too). When it comes to common, uncommon, or even outright bizarre tasks, Linux has the bases covered. There’s so much free desktop software for the Linux platform it’s almost an insult to even pretend you’ve got some magical app that has only been designed for Windows and has no Linux counterpart. Why is it so unbelieveable? Because the current generation of Linux developers and contributors are users just like everybody else. They have needs. They have wants. They have time. And if they needed or wanted that program or that functionality, they’re the type of people who would build it. If a couple of people have a can’t-live-without application that hasn’t been ported or written afresh, it’s typically because those people belong to a niche group lovingly referred to as “the fringe”, or they simply haven’t done their homework. Basically, nobody has needed that app or all the Linux users have found a way to get by (or prosper) without it. Typically, this argument is made by those without the capacity for research.
However, the truly beautiful thing about free software is that one has full license to create an application to fulfill a need. If, by some freakish cosmic oversight, an application addressing your needs doesn’t exist, you may create or propose an idea and start a project. And if you aren’t a proficient coder, it’s ok! Developers are always on the lookout for a good idea and any kind of help, from design to documentation or artwork, is greatly appreciated.
That said, productivity and desktop applications in Linux are mature, standards-compliant and feature-rich. In contrast, Microsoft has been releasing the same Office suite since 1997, with the only visible changes residing in the formatting of documents and the creation of an increasingly crowded workspace. Native documents are often incompatible or inconsistent accross the major iterations of Office. You still can’t export to PDF format from the Office suite. Standards compliance and interoperability aren’t even on the radar. Heck, Outlook just got a “real” mail filter in late 2002. Compare that to Linux mail applications, such as Evolution, that can operate quietly and comfortably in any climate, even a hostile Windows-only office environment. OpenOffice can import and export into every format imaginable (and a few most people didn’t even know existed). Even the most basic office tools on the Linux desktop provide powerful functionality and are simple enough for grandma to use. Most of them (Gnome Office, Koffice, OpenOffice, etc) possess the capability to operate in a tightly integrated manner with no extra fuss. And many of them possess features that can be downright revolutionary at times (ex: Abiword automatically scales your document to fit its window by default. For those with lots of screen real estate, poor vision, or a comfortable bed or chair further from the computer, this is invaluable).
Ease of Configurability
What if you want to fiddle with the settings of your operating system in regards to that hardware we just talked about above? Here’s the catch: you don’t want to touch the command line. As far as you’re concerned, a desktop user should never even know that such a thing exists. I agree, and so do many of the latest Linux critics. But most are convinced you can’t do it. Many even contend or imply that configuration is easier in Windows. I can’t believe this. It hurts my head when I hear this argument made. The graphical tools are right there in front of you! KDE has so many configuration utilities, I’m convinced they’re violating child-labor laws just to code the stuff. Gnome has a painfully simple to use set of System Tools that is not only intuitive, but it packs a punch as well. This stuff is virtually grandma-proof. The tools are full-featured, flexible and incredibly powerful. And with new innovations in hardware abstraction, compatibility and configurability will get even easier! Yay!
With Windows, I must concede, the user is presented with what seems to be a rather complete set of utilities in the Control Panel. But, as any experienced Windows user or admin will attest, Windows’ configuration utilities suffer from a chronic case of wizarditis. The process is GUIfied to such an extent that only typical, average cases are accounted for. The wizards will simply not allow for “strange” or unconventional configurations. And they certainly won’t let the frustrated user enter in their own settings. One must ride the wizard merry-go-round armed with grit, information and determination, or drop down to do some low-level hacking. But wait! That’s not allowed.
I can already hear the grumbling, so to those naysayers out there, I have a challenge for you: have a computer illiterate (your stereotypical “my grandma” case) perform *any* configuration task in one of the Big Three Linux distros (SuSe, Fedora and Mandrake). If grandma absolutely cannot perform the task with the graphical tools these distros provide, I’ll pay her $10. Now, have her try to perform the same configuration task in Windows. Choose something easy and then something involved and complex. Run through a whole bunch of scenarios. Try to set each computer up on a network. 9 out of 10 times, I guarantee it will take at least twice as long to accomplish the same configuration goal in Windows as in Linux, if it’s even possible at all. The truly ironic thing about Windows configuration is that, to do it right the first time, you do have to be an expert. Or at least you have to know what each generalized, cryptic setting truly means. The prompts in most Linux configuration utilities are actually clearer and easier to follow, in my experience, than those in Windows. They accomplish this by not dumbing down the interface too unnecessarily. If a user has begun playing with Samba shares or DHCP settings, it’s safe to assume they know enough to get by without having to “idiotify” the descriptive names of settings and elements. Simple explanations tend to suffice. Windows developers could learn a few lessons here.
Ease of Installation
This is another sore spot for Linux critics. Linux, they argue, simply does not have a single, integrated, simple-to-use package management tool. And they’re absolutely right. Of course, look though I might, I can’t seem to find anything even remotely resembling such a tool for Windows, either. In fact, the OS barely ships with anything worth using (“I paid $300 for this? Where are the programs?”). No productivity software, a couple of games and a swiss-cheese, featureless, non-compliant web browser. And certainly no package management. I’m not sure where the theory originated that this is necessary for a successful desktop OS (or that Add/Remove Programs and Windows Update are in any way related to this), but if it were true, most distributions of Linux would already qualify as very, very successful. There are at least half a dozen fully mature tools for package management already in existence (apt, yum, emerge, pacman and red carpet come to mind), but I can’t seem to find too many of these kinds of tools for Windows.
Many will say that this is because most programs compiled and distributed for the Windows platform have significantly fewer dependencies (well, they’re actually distributed with the OS, contributing to the collossal bloat), so dependency resolution is largely unnecessary. Although this may be true to some degree, Windows distributed binaries are no easier to find than their Linux counterparts. There is no one-stop-shop in Windows. There is no organized distribution method by which a user could browse or search for a program by task and install it with the click of a button. Such entities exist in Linux.
As a result of an almost complete lack of standardization or cooperation, Windows installation files are typically scattered throughout the filesystem. And because there’s no guidelines dictating Start Menu entries, a user’s Start Menu can begin to resemble a waterfall of words and tiny icons. Many apps in Windows don’t register with the Add/Remove utility during installation, necessitating an uninstall from the included uninstallation program (which involves more hunting). With the above package management systems, this is all taken care of transparently. They’re certainly not perfect yet, but considering the complex role they play, it’s clear they’re a far superior tool to anything Microsoft offers.
Toolkits and UI
Interface inconsistency is another accusation frequently leveled at the Linux community. After all, the argument goes, how can one be productive with all those different toolkits on the desktop.
I contend that Windows is no better. In fact, it’s significantly worse. There is almost no consistency *at all* on a fully loaded Windows desktop. Case in point: fire up your favorite Windows burning app, word processor, pdf viewer, video app, audio app, chat client and web browser. Now, unless you’re using Media Player for both the video and audio functions, you should see 7 (count ’em) different toolkits staring you in the face. Heck, even if you limited yourself to strictly Microsoft offerings, you would still have to reconcile a different toolkit for each release of Office and other products. And don’t forget that your administrative panel still looks like it did almost 10 years ago.
With Linux, though, you can achieve consistency through the miracle of choice. Want a GTK-free desktop? Chat with Kopete, PIM with Kmail, be productive with Koffice… it’s all there. Your Qt hating friends can IM you via Gaim or email you with Evolution or Balsa. Browse the web with Konqueror. They’ll use Galeon or Epiphany. There are too many more for me to continue, but if you want to get a real grasp on just how vast and varied the offerings are, check out KDE-Apps.org and Gnomefiles.org. And of course, the beauty of open source is such that, if you like the guts of a program, but hate the interface, you’re allowed (even encouraged) to port it. And it’s so much easier than starting afresh!
Ease of Use
The last resort of the exasperated critic and the first card played by the computer newbie is this: Linux is just plain hard to use. It’s a tricky argument, because it’s too powerful and inflammatory to leave alone, but too vague and subjective to pinpoint. But what it typically boils down to is not that Linux desktops are hard to use, but that they are merely different. Change is hard on people, and it colors their opinions. Much of computing, especially desktop computing, is about expectations. And if things aren’t where users expect them to be, many people aren’t willing to expend the extra effort. Various usability studies (ref: Don’t Make Me Think by Steve Krug) have confirmed that most people don’t perform computing tasks in the most logical way, but simply in the way that first worked for them. If, for example, a Windows user had first gotten a program to run by opening My Computer and hunting around the filesystem for the program, the whole concept of the Start menu is completely lost on them. And getting them to change their habit, despite the clear advantage to the transition, will typically be met with considerable resistence. Now, if they’re going to be that entrenched about firing up a simple program, imagine how offputting a whole new desktop layout can be. For newbies and experts alike relearning can be too daunting.
That said, the Windows desktop is a mangled trainwreck where usability is concerned. Simple settings are often duplicated in different configuration windows. Many specific settings are just plain hard to find, as the design team wisely “dumbed down” the control panel into a handful of generic categories, each capable of housing a number of disparate settings. Internationalization is mediocre at best and downright nonexistent in many cases. The newest versions of Office, as has been mentioned before, assault the user with so many menus, toolbars and options there’s hardly enough space to work. Open up Outlook 2003 and see what I mean. It hurts the eyes. Buttons and prompts are placed and worded with no particular order or logic throughout the operating system, as if calculated to confuse the average user. And when a user finally breaks down and asks for help, the help files are useless, offering one or two vague options before referring the user to another help category or even more cryptic web support.
Many in the Linux community, on the other hand, have adopted a page from Apple’s book and are making usability a top priority. Both the KDE and Gnome projects have standardized much about the way their desktop environments operate, providing a consistent look and feel across the board. Gnome has gone a step further, however, and has pioneered the adoption of a common interface. The rules governing this advance, dubbed the HIG (Human Interface Guidelines), specify everything from icon themes and keyboard shortcuts to button placement and menu layout. All of these improvements have contributed to Gnome’s rising appeal to the corporate IT world as a replacement for corporate desktops. It’s rapidly becoming an out-of-the-box solution for ease of use and productivity.
As has become increasingly clear over the course of the past two years, Linux is not only ready for the desktop, it’s a better contender than Windows ever was. It’s sleeker and faster, often easier to install and setup, and it’s simple to operate. But perhaps the most impressive bit in all of this is the price tag: free. The TCO of Linux is a big smile. I know, that’s not what some consulting firms say. They claim Linux will eat up corporate budgets with user training, but I’m not impressed. Training is a one time deal, a single expenditure that proves its worth over time. How can that cost even compare to exorbitant licensing fees levied twice yearly to the major corporations or the pocketbook hit for every upgrade a user commits to?
There’s something romantic to the idea of an underdog. But when that underdog is clearly better fit for competition and *free*… well, I would have to say the race has already been won. Look out desktops everywhere, here comes Linux!
About the Author:
Brian Davis is been using Linux for five years now, and he still prefers the GUI. He doesn’t particularly dislike Microsoft’s products, but he does heavily prefer Linux’s features, stability and price tag. This is his first article.
If you would like to see your thoughts or experiences with technology published, please consider writing an article for OSNews.