I’ve been running with SuSE Linux 8.1 for just under three weeks now, and the niggles are definitely setting in. They were there from the start, really, but I was enjoying the challenge of dealing with them, finding workarounds, and tweaking the system.
But perpetual fiddling palls. I don’t own a computer so that I can spend all my time messing about with its innards. I do like to do some actual work on it every now and then. (“Work” includes simple stuff like browsing the web and email, as well as more serious projects.) It’s a question of content: do you love a tool for its own sake, or for what you can produce with it? Do you buy an Xbox because of its spiffy hardware, or do you go with the PS2 because it has the games you want to play?
So let me take a look at what I can do with Linux, versus what I normally do with Windows:
I use Opera 6 on Windows, not because it’s “not Microsoft”, but because I find it more useful than Internet Explorer. Not everyone feels that way, but Opera just suits my browsing habits very nicely. I can get Opera 6 on Linux, too. But there are subtle differences between the two platforms that make it just a little bit less nice on Linux, and they grate. For example, the Ctrl+left/right arrow key combinations in a text field don’t move me one word forward or back, they cycle through the window tabs. And the “Open all folder items” command doesn’t work in folders on your personal bar–a feature I normally use every day.
This is one area where Linux excels. Kmail is a simple and elegant mail program. It’s not as fancy as Outlook Express or Outlook, but it displays my mail in plain text format! Yay! I don’t want to see HTML in my email–send me an attachment, or a URL instead. I know you can turn of HTML display in Outlook, but it’s a hack. I want my email program to be well-behaved, and reasonably secure from the outset.
OpenOffice.org 1.0 is a reasonable replacement for Word. It reads Word documents, and is capable of writing back out in Word format. Except…there are slight differences again. Tables that in Word span the width of the page, seem to overspill the margins slightly in OpenOffice. Between the two programs, page breaks can shift about just enough to produce blank pages in the middle of documents, or pages with a single word on them.
As it happens, I sent my CV out over the weekend. What are the chances that the recipient will be using OpenOffice rather than Word? Er, pretty small. Do I want to take the risk of being embarrassed by an ugly CV? No. So I went back to Word.
On the other hand, for word processing that doesn’t have to be shared impeccably, or that is destined for printing, it is perfectly adequate. (Now if only they could implement a Word Count feature that didn’t reside in the document properties dialog…)
OpenOffice.org 1.0 vs. Excel. Again, OpenOffice is generally more than adequate–even quite nice. But… it isn’t up to coping with our home accounts spreadsheets. And it doesn’t have a “header row” feature in the Data Sort option. We could probably rejig the accounts so that they work in both Excel and OO.o, but the fact that we have to is a strike against it.
I can use gPhoto on Linux to download images from our digital camera, but it only sucks them down at a quarter of the speed of the Olympus program on Windows. The GiMP, despite all its enthusiastic advocates, is rubbish compared to Paint Shop Pro on Windows. Sure, I can script the GiMP–a feature that is sorely lacking in PSP 7–but it still blows. If I want to simply rotate a rectangular image, by default it maintains the original canvas size and shape, so that the resultant image ends up being half cropped, half empty. Give me a break.
Corel PhotoPaint 9 for Linux is better, but slooow, and the commands don’t quite match up with their counterparts in PSP (or the more heavyweight Photoshop). Also, its layers don’t quite work in the way I expect them to.
XMMS has MP3s sorted–it’s a lovely little player, and a fine replacement for WinAmp. I didn’t miss WinAmp at all.
I still haven’t got around to recording MP3s on Linux, so I can’t compare anything there with MusicMatch, which is what I usually use on Windows. And Linux definitely won’t allow me to download stuff to my Sony NetMD Minidisc player–in digital mode at least. I could just plug it in to the analog output of my sound card, but that would be a waste of a top-of-the-range toy. But I knew that beforehand, and it’s one thing I knew I was going to have to keep Windows around for (or run it in a Virtual Machine).
Quanta 3 is very nice. I could get used to doing my HTML editing in it very quickly. On Windows, I do all of my HTML in TextPad, which also acts as my general purpose text editor (see below). Generally, I prefer to get right down to the wire with HTML, editing it manually rather than letting a graphical designer arrange things for me (FrontPage, hack, spit). Quanta is right good for this.
Every programmer has his favourite text editor. It can be as simple as Notepad, as complex as Visual Studio.NET, or as horrible as emacs, but programmers form very strong emotional attachments to whichever editor they choose. It’s like a fantasy knight with a magical sword, or a gunslinger’s attachment to his pistol. It’s the tool you wield, day in, day out. You rely on it. It’s your friend, your comfort blanket, and your precision tool all rolled into one.
And if there’s one thing you need if you’re going to be mucking around with Linux, it’s a text editor. Two words: config files. Forget all those GUI options, settings and preferences–open up the config file instead, and mess around with it directly!
This is one of Linux’s great strengths. When I’m not utterly frustrated by not being able to find the bloody things in the first place, I like being able to tinker with stuff so easily. I much prefer editing Apache’s httpd.conf than tweaking Microsoft’s IIS–even though I don’t know what half of the stuff in httpd.conf does, and I am pretty comfortable with 90-odd percent of IIS’s settings. It just feels like I’m more in control, and that’s a good thing.
But take away my beloved TextPad, and I feel naked. I tried Kedit, Jedit, and eventually settled on Kate, because it’s the simplest. But it’s just not right. If I had to choose the one thing I like least about moving from Windows to Linux, it’s having to give up TextPad. Kate is really pretty good, but its lack of a decent MDI mode is like putting on a pair of underpants that are a size too small. It’s…just…not…right.
When you give up Windows, you give up Visual Studio, and VS.NET. You move more into Java territory. And that’s okay. Learning Java would be pretty cool. You also get stuff like Perl, Awk, shell scripts. But on the other hand, there’s an awful lot of the Unix scripty stuff you can now do with theWindows Scripting Host on Windows. And if you insist on using Perl, well you can do that on Windows, too. Before I started on the Linux adventure, I knew that programming in it was going to be a different kettle of fish, and I had accepted that.
Fonts are better now than they were last year, or the year before, but they are still not as nice as they are in Windows. And something has gone totally screwy in the Konqueror browser, so that all fonts are displayed as double-width.
Installing new software is still atrocious. SuSE’s YaST tool makes installing RPMs relatively simple, provided you have them on your installation CDs. If you don’t, you’re on your own. Dependency Hell is still hellish, and has prevented me from (so far) being able to install either the ogle or xine DVD players. And installing from source is fine if you know what you’re doing, but sometimes I just long for an InstallShield wizard…
The KDE 3 environment is very pretty, and much more customizable than Windows, but it feels sluggish in comparison. I don’t think it really is that much slower in real terms, but Windows is highly tuned for responsiveness, and it shows.
So what does it all add up to?
In the first chapter of his book User Interface Design For Programmers, Joel Spolsky nails the whole experience:
“Another small frustration. But, boy, does it add up. At the end of the day, Pete is grumpy and angry. When he tries to control things, they don’t respond. … Even if the whole thing is subconscious, the subtle feeling of being out of control translates into helplessness, which translates into unhappiness.”
Go and read the whole chapter–it’s not very long, and it describes one of the fundamental principles of UI design: “A user interface is well-designed when the program behaves exactly how the user thought it would.”
A lot of my niggles with Linux are just that: niggles with the UI. Part of my discontent also arises from the fact that I’m still in the middle of switching. I’ve been working with Windows for some ten years now, and I know pretty much where everything is, and where it should be. I don’t have that kind of extensive knowledge of Linux. After just three weeks of daily use, that’s perfectly reasonable.
But should I put up with it? That’s a completely different matter.
I was discussing this with a friend of Abi’s over lunch last week, and he noted that Linux, and all the programs I’m running on it, are free. I pay for the responsiveness of Windows, the sweet functionality of Paint Shop Pro, the ubiquity of Word, and the comfort blanket of TextPad. My total outlay for Linux: £29.99, plus postage and packing. (Although if I were to buy SuSE Linux again, I’d go for the Professional edition rather than the Personal. Not having Samba and Apache included on the Cds is an annoying omission, almost–but not quite–as bad as not having all the KDE 3 packages available.)
But is cost that big an objection? The cost of Windows is pretty much included in the cost of a new computer. It’s a tax you pay just like VAT. Buy from someplace like Dell, and you’ll probably get Word thrown in with the basic bundle, too. As I’d said earlier, OpenOffice is a very reasonable replacement for the rest of Office, and it available for Windows as well as Linux, and they’re both just as free.
So is it worth the cost of the other pay-for tools to work with them instead of the free versions? Paint Shop Pro (£40 when it’s on special offer)? Definitely. TextPad (£17)? No question about it. Would I buy these tools if they were available for Linux? Without a moment’s hesitation.
But they’re not. So either I’m reduced to working with knock-offs of my favourite pieces of software, or I have to use Windows whenever I want to work with them. I feel impoverished by not having them available.
Which brings me round to the really big question: why am I using Linux at all?
If I’m willing to pay for superior tools, why should I work with inferior ones?
The answer lies in an area I haven’t discussed yet: ethics. Specifically, Microsoft’s ethics. Fundamentally, I don’t trust Microsoft. I don’t trust them to be looking out for my interests, or those of society as a whole. The only thing Microsoft is looking out for is its own continued dominance in existing markets, and expansion into other markets, so that it can carry on growing and making exceedingly large profits.
“But is it Microsoft’s responsibility to be looking out for my, or society’s interests?” you may ask. This is a capitalist world we live in, after all. Is it not the responsibility of the informed consumer to weight up the benefits and risks of a product before buying it? By laying down my hard-earned cash for a copy of Windows, and then using Outlook Express as my mail program, am I not implicitly accepting the risk of being infected by an email virus? Is it not my responsibility to also go out and buy anti-virus software?
And society’s interests? We live in a world of free-trading individuals, do we not? If people choose to use proprietary products and standards, is that not their choice? And if these things become so widely adopted that they are damn near universal, is that not a good thing? Surely it’s a measure of their success and greatness as products?
Well, no. I’m not down with the whole capitalist thing. I’m not saying that corporations have to come over all touchy-feely, but I do believe that they ought to recognise that they operate as part of society, rather than in competition with it. This means supporting open standards, having a shared concern for security, and being honest about their products, services and practices.
What it doesn’t mean is slagging off Linux as a “cancer”, overselling the benefits of upgrading from one version of a product to the next, or coming out with cynical PR stunts like “Trustworthy Computing” to make the public feel better about products without actually changing a thing.
We all draw our own lines, boundaries where we say “I do not accept this.” Perhaps you only buy free-range eggs. Perhaps you’re a vegetarian. Perhaps you only buy FairTrade coffee and chocolate. Perhaps you don’t buy Nike or Gap.
Microsoft make some excellent products. Windows XP has some super snazzy features. MS Office is the best office product out there. Internet Explorer may not be as good as Opera (or Mozilla) is now, but back at version 4 and 5 it kicked Netscape’s lardy ass.
But there are other products on the market. By choosing Linux, I’m not necessarily saying that it’s a better operating system than Windows. By going with OpenOffice.org, I’m not saying that it’s a better office suite than MS Office. What I am saying is, I am not willing to implicitly support Microsoft’s business practices by using their products at home. (I don’t have much choice at work.)
Consumer pressure does make a difference. It takes time, and it takes sacrifice. You trade convenience, flavour, texture, for a vote in favour of a more balanced and equitable society.
So the next question is: Can I do it?
Can I give up Microsoft products at home completely? Can I resist the lure of Paint Shop Pro, especially when version 8 is released? If I keep Windows installed, but only so that I can download music to my MiniDisc player, am I only 10% of a hypocrite, or is hypocrisy an all-or-nothing deal? Is it even worth taking a stand against Microsoft products? Would my conscience be cleaner if I forgot all about the Microsoft thing and became a vegetarian instead?
Time will tell. In the meantime, I think I’m going to ditch SuSE in favour of Mandrake for a while. (Just not tonight…it’s late enough already.)