Two things I wish Linux distributions could improve
Update Both of these aspects have considerably improved in the last six months: see my followup article.
I’ve been using Linux (Ubuntu for the most part) for two years now as my primary operating system and I wouldn’t go back to Windows. Switching to Linux has changed the way I work with and understand “my computer.” When I was a Windows user, I had a number of different computers which were more or less incompatible: an XP Pro on my desk at my home office, a Win 98 (later Win 2000) on my desk at work, a laptop with Win 98 on it, and my wife’s computer (a laptop Win Me).
Like many—probably most—people, I never really distinguished between my computer hardware and its operating system (OS) under Windows. And as a result I tended to see operating system obsolescence as being the same as hardware obsolescence. I cursed our dean for not replacing my office computer with one that ran Windows XP so that it would be identical to my one at home; and I cursed my wife’s Windows Me notebook because—well because it was running Windows Me.
I also tended to think of “my computers” as distinct entities: I kept certain kinds of files on my computer at the office and others on my computer at home. Of course I had a USB key and I could burn CD-ROMs with files I needed to take with me. But the systems were still different enough, particularly with regard to software, that I still saw each computer as having its own purpose. For a while I lugged my notebook back and forth because at least that way I had all my stuff—programs and data files—with me wherever I was.
Switching to Linux changed the way I looked at what I was doing. For one thing, it mostly removed the equivalence I use to make between “computer (hardware)” and “computer (operating system).” While some computers will place restrictions on the operating system they can handle (my old Win 95 notebook, for example, really is too small for a full install of something like Ubuntu), most do not. And since most Linux distributions are free, there’s no financial reason not to keep every computer you own on the same OS. No more demanding that the dean replace my three-year-old computer with a newer one simply because Windows Vista came out in the meantime (Assuming it ever does). Of course there remain differences—my new work computer (I got one anyway) is much faster than anything else I own; my home office computer has much more disk space; and my notebook’s keys tend to skip. But nowadays all my computers run the same OS all the time. And when a new version comes out, I update them all.
An equally important change involved ensuring the computers mirror each other. Like the operating system itself, most software that runs on Linux is either free or available on very reasonable and flexible licences. So there is no difficulty in ensuring that each computer has the same programs (and the same version of the same programs). When I start up my work computer, I do so knowing that everything I was using at home is also installed at work, or, if it isn’t, that I can install it, with almost no hassle, right away.
I also lost my association between different computers and different types of data. Linux is built for networking and it runs a good number of the world’s web servers, including the ones at the University of Lethbridge that are serving out this page. As soon as I discovered how easy it was to share data among my various hardware boxes, I got myself a free domain name from dyndns.com to identify the router that leads to my home network and began passing data back and forth between my various “boxes” using ssh, rsync, and other core Linux utilities. I soon had all my personal content mirrored on all my working computers. No more trying to remember if the latest version of a syllabus was on my work computer or my home office computer. They now all contain the same files all the time. And using the same technology I make sure that they are also backed up regularly and automatically.
So in the end, Linux has turned out to be just perfect for the type of work I do. I’m not a gamer so don’t need Shockwave (available only for Windows and Mac). I have Crossover Office so I can run Internet Explorer as required by the University’s financial office. Indeed, because I work so much with XML and XSL as part of my research in the Digital Humanities, I now find it actually easier to get appropriate software for Linux than it was for Windows—and certainly much cheaper.
Despite this, though, I still wouldn’t recommend Linux to somebody who was not a hobbyist, did not have technical support, or was not in a field where they were working with regularly servers or languages like XML and XSL. This is because Linux still has trouble doing two things that Windows does extremely well: wireless networking and networking with other Windows computers.
Of the two, the first is the more intractable problem. Wireless cards are still quite different from each other and many of the drivers are proprietary (and built for Windows only). It is, I know, quite difficult to set up an idiot-proof WLAN out of the box on Linux. But even so, we are very close: the bits and pieces are now all pretty much available: there is software that allows you to use the Windows drivers, and various utilities for interacting with different security protocols and discovering access points. But it is still next to impossible to set up a working wireless system on Linux without starting with a wired connection and without fiddling around in config files and kernel modules. When installing Ubuntu Edgy (the latest release) on my old notebook wiped out my wireless access, I broke out my old notes from the last time I had to get the wireless up. And I’m probably about half way to discovering what I need to change this time around to get it actually working. In contrast, the Windows side of my Notebook (the computer can boot in either system) found and connected to the network right away, right out of the box.
The second problem should be easier to solve. We have good software for networking with Windows machines, Samba. This is software that allows you to set up Windows compatible networking in a huge variety of ways and it ships with hundreds if not thousands of options. What it doesn’t ship with, however, is a configuration file that is already set up to do what is surely one of the most common home- and small-office networking tasks: connecting Linux and Windows XP machines on the same network right away. It is possible (I am told) to get Samba up and running so that it interacts with Windows computers better than Windows computers do themselves. And I’ve had Samba running in the past to the extent that it kind of enabled file and print sharing. But neither result is possible as far as I can see without a fair bit of fiddling with configuration options that most users never want to see.
Both of these are usability issues rather than insurmountable technical problems. Wireless generally gets easier to set up with every new release of my preferred distribution and people are finally beginning to publish actual configuration files for Samba that look like they can be used as is for simply connecting to a basic home network. What the world needs, though, is for somebody, like the people who produced Automatix—an installer that removed most of the similar hassle that used to be involved in installing Multimedia codecs and software like Sun Java and Flash—to tackle setup problems in these two areas as well.
And then I’d recommend Linux to anybody.