Linux Format tackle user interface problems
A few months ago I blogged here in response to an article in Linux Format magazine in which the author, Paul Hudson, said that Mac OS X “sucks”. Most of the time I use a computer, it’s running OS X, so I was in a fairly good position to say that, in fact, it doesn’t. In the current edition, the magazine finally gets round to admitting that there are indeed serious problems with Linux’s user interface which have somehow prevented it from gaining the prominence in the market people have said every year was just around the corner.
I’ve been using Linux since October 2002, mostly for general internet surfing and a bit of programming. Most of the time, it’s been SUSE’s version, now owned by Novell; I’m writing this on what has become of Red Hat’s offering, Fedora. There are a lot of good things about Linux and its user interfaces – for one thing, you can configure them to an extent impossible on Windows or OS X. But then, OS X’s user interface is excellent. You can customise it to some extent, but if you buy a Mac, that’s the look and feel you get.
Like commercial Unix before it, Linux’s user interface, for good or ill, has always been based on the “Windows” model rather than the Mac model: for example, the application menu is at the top of the window, not the screen, and the desktop system offers a main menu from which adminstrative jobs are done and applications are launched. So anyone familiar with Windows software will find Linux applications easy enough to find their way around: Firefox (works the same way as on Windows), the Evolution and KMail mail clients, and so on. The actual example cited in this article, however, is a general computer-illiteracy problem rather than a Linux-specific one: the fact that a woman who wanted to write a new email in Evolution kept clicking the “Send/Receive” button, rather than the “New” button next to it. Nat Friedman, vice president of desktop engineering at Novell, which also develops Evolution, has said that he did not realise anything was wrong with this arrangement until he saw this incident on video.
This woman would have known what button to press, of course, if she had read, or been able to read, the documentation. The article also observes that a common response to queries from inexperienced users on online forums is “RTFM” – “read the f***ing manual”, from snooty experienced users who forget that all too often “the documentation is unwieldy, complex or simply missing”. The same is true, of course, of Windows and Mac OS X, for which the user is thrown on third-party manuals such as David Pogue’s “Missing Manuals”; Pogue has not seen fit to produce one for any Linux-related software, but is what is available (like the Wiley Bible and Dummies series) really so inaccessible?
The problem I’ve noticed with Linux is the lack of cohesion. There are numerous distributions, in which different sets of software are emphasised and in which there are different installation and configuration tools. Each is unique in at least one important aspect: with SUSE, it’s the integrated installation and configuration package YaST; with Debian, it’s the software fetch-and-install system APT (application package tool); with Red Hat/Fedora, it’s the look and feel. Red Hat’s Bluecurve design was the first serious attempt at a professional look and feel for Linux, yet because of legal difficulties, it was never widely adopted outside Red Hat (except on Yellow Dog Linux, which was always a Red Hat clone for PowerPC-based machines such as Macs).
Then there is another appearance issue: fonts. A Mac comes with numerous fonts (anyone who installs Microsoft Office gets a load more), while Linux comes with a few old bitmap fonts with the Bitstream Vera, Nimbus and Luxi sets if they are lucky. In my experience, Vera in particular does not look very good, especially in bold type. It’s just too wide. While you can also install Windows TrueType fonts, they often don’t look very good – letters not symmetrical when they should be, or rough corners where you expect round. They don’t respond well to anti-aliasing (smoothing out the letters’ rough edges), and the way to stop anti-aliasing for individual fonts isn’t well-known. A common problem is poor fonts when browsing the web, which actually is not the fault of Linux but with the websites’ CSS design, which does not take into account common Linux fonts.
And then, there are the desktop environments themselves. That there are two major ones (GNOME and KDE) is for purely historical reasons: the Linux community takes software freedom seriously, and KDE was originally based on a non-free graphics toolkit. The toolkit in question has since been made “free” for the purposes of writing other “free” software, like KDE, but not for commercial software, but the two desktop systems had by that time gone too far to be merged or for one to be abandoned in the other’s favour. There have been excellent implementations of both desktops, but also awful ones – if you click on a menu heading or a tab and there is a noticeable delay before the menu or the browser tab appears (as often happens in SUSE), that doesn’t look, or feel, good.
Linux still works on the same model as classical commercial Unix operating systems: in particular, the X Window system and the method of installing software, in which software packages are split up with the program files going in one folder and the support files going elsewhere. For a long while, it was thought that ordinary people couldn’t really use Unix; it was just too complicated, although part of its inaccessibility was due to its relatively heavy hardware needs, needs which are amply met by the common PC of today. This article doesn’t attempt to identify why Mac OS X has made Unix accessible to the masses, and what Linux can learn from it.
I don’t think scrapping X-Windows is feasible. The software installation system, however, can be overhauled. Mac software is supplied in application bundles, which are special folders in which the program and all its supporting data is held in a particular structure. To install a program for your own use, you just drag the bundle to the Applications directory (Mac OS X also offers installer packages, to install a program for all the users on the system). To run it, you just double-click the bundle. With Linux, you usually use the system-wide installation program which places the files where they are needed, usually places you might not know exist which have abbreviated names like “/usr/bin” and “/opt”, and requires super-user privileges (fine if it’s your system, not so easy if it isn’t). To run it, you either need to type a command from a shell program, or set up a menu place for it in KDE or GNOME (or both), assuming the installer didn’t do this for you. A Windows-style start menu might look great in principle, but it’s all more complicated than dragging a bundle to an application folder and then double-clicking it.
Mac OS X has more need of the application bundle than Linux, because very often an application is not just its program; the user interface (the window structure, etc) is contained in a separate file called a “nib file” (this stands for NextStep Interface Builder), which can in fact often be edited by the user. It makes sense to have it all in a bundle. But this doesn’t negate the other advantages of this system, of which two separate implementations exist for Linux. Now, some existing Linux users, particularly Debian users who are particularly attached to their APT, won’t be too willing to give their existing installation tools up, but if their systems also support bundles, it would make things easier all round. Applications could be distributed as bundles and as conventional packages.
I’m glad Linux Format has finally got round to asking why Linux has signally failed to penetrate the desktop market. When I first got into Linux in 2002, you could buy boxed distributions in mainstream computer shops like Micro Anvika and PC World, and in bookshops. Today, hardly any shops still sell them, and those that do often sell them considerably above the normal price (Foyles of London, for example) or sell out of date copies. This may of course be because ordering over the Internet is cheaper, but it drastically reduces the system’s visibility. Of course, there’s the important issue of there not being enough applications, and this isn’t helped by the fact that certain companies with an interest in Linux and with rights over existing applications do not bother to reimplement them on Linux because they are more interested (as was said in response to my question at last year’s London LinuxWorld expo) in something they call “middleware”. I remember George Carty commenting here in the past that the real “killer app” for Microsoft was Office, not Windows itself, yet there simply isn’t an adequate replacement, and there are adequate replacements whose owners are simply sitting on them.
In this writer’s opinion, this total lack of application support has as much to do with Linux’s lack of penetration than the fact that it is no more accessible than Windows to the computer-illiterate. These companies which “support Linux” need to put their money where their mouths are and stop sitting on the applications they own. On the other hand, the open-source developers need to look at what makes systems other than Windows successful, and learn from them.
