Now that Linux's reliability has won it a place in the server room, the fight is on to improve its usability to a point that it can dominate the enterprise desktop.
Surprisingly little public research exists on the usability success of Linux's move from the command line to the GUI. While most big software vendors are funding expensive research into competitive Linux applications, they focus on comparative feature-sets rather than usability. And their findings remain confidential.
However, Berlin-based user interface consultant Relevantive confirmed what many have suspected with a study released in summer 2003. It showed that many Linux usability problems stem from application integration resulting from attempts to imitate Windows' usability without imposing consistency between applications.
One of its many fascinating examples shows Linux users having difficulty writing email to a contact in the KOffice address book. KAddressbook displays each contact’s email address next to the contact’s other details - but in a tiny font. Downplaying the email address like this obscures from users that double-clicking that address is a quick way to load the contact’s email address into KMail. Of 60 test users, only two double-clicked the email address. The other 58 used a variety of time-consuming strategies that included, for example, manually copying and pasting the email address into KOffice's KMail email software. The problem is that developers writing an applet or a component program such as KAddressbook are writing an address book, not an email client's address book. They code the functionality, but there is no pressure on the coder from a management that wants that functionality flagged more prominently. In contrast, Microsoft pays programme managers to keep user expectations in front of developers during both feature planning and coding cycles. Once coding has begun, teams of testers test against pre-specified usability requirements and supply their own views about usability if they find unanticipated problems. Relevantive discovered Linux faces usability challenges even where user expectations have been set - and met. For example, Outlook reads contact email addresses directly from its address book if users click a button to the left of an Outlook email's address field. It also suggests contact names if users start to type the name into the address field. Few of Relevantive's test participants realised that KMail offers the same two features. They were simply thrown off track by their unfamiliarity with KMail and headed over to KAddressbook to find the contact's email address. Despite this, Relevantive claimed most of its 60 test users preferred KDE's interfaces to Microsoft Windows. The reasons were varied but they boil down to KDE giving users feedback about what they were doing, especially when they needed the most help - which was when they were doing it wrong.
Historically, Linux has not scored well on self-documentation. Unless you read C. today, the open source world has visibly moved on from "man" files to collated Web how-tos such as the Linux Documentation Project and even Microsoft-style help files. Yet an artefact of Linux's academic days persists: a reliance on book learning and theory still dominates open source documentation at the expense of walkthroughs. The Samba HowTo Collection is a massive work that is littered with contradictory examples of smb.conf files and still offers no step-by-step guide to configuring an enterprise-style Samba Primary Domain Controller. Other aspects of Linux's usability are so different to Windows that they are likely to reshape IT working practices if Linux is adopted in the enterprise.
In the Microsoft world, desktop security relies on using group policies to make, for example, registry changes that help secure Windows against network-based attacks. In contrast, the Linux kernel ships with a powerful firewall - netfilter - and its associated management tool, iptables. No-one would argue that iptables is easy or intuitive but it is accessible. Linux firewall rules can be changed per host, locally or remotely, by scripts, by management software, or even by forcing the download of an appropriate file at boot-time. Contrast that with Windows, where few enterprises would consider the cost of deploying per-host firewalls or their management requirements. Instead they rely on border security: the corporate firewall that is easily breached by a single authorised, but careless, laptop user. To secure applications, enterprises rely on timely, non-disruptive security fixes whose documentation is sometimes so confusing that administrators put off deploying them. This is why last year's SQL Slammer worm caused so much damage months after Microsoft released a fix for the vulnerability it exploited. The easy manageability of Linux's host-based security will impact the Windows desktop world. That collision will be fascinating to witness. User feedback
Ultimately, all usability is improved by providing feedback to the user about what they are doing right - and wrong. It's the key piece of information that tells them if they can continue or if they have to correct the action they just performed. But as Windows and Linux desktops increasingly interoperate with Windows and Linux servers, Linux usability will also meet a challenge. Take today's hot-topic: NT4-to-Samba migration. There, a common scenario is to create a file share with home directories mapped to usernames or departmental shares. The shares are given samba's "writeable = yes" permission. If Windows users log in as a user-identity that exists on the samba server they should have no problem editing files on the appropriate samba shares. Things change if you introduce a Linux desktop client and set up autofs to automatically mount the share when users want to work on it. Like the Microsoft Windows and Word users, KWord users will face few problems editing files. Their biggest problem will be the multiple steps KWord imposes to save "as-is" any file that was not originally a KWord file. But OpenOffice users typically find they can only open files in "read-only" mode, making editing tough. Technically, this common problem is attributable to the blending of arcane file-system locking systems derived from Linux and Windows operating systems. From a usability perspective, this is a variant of an old Windows problem: making the complex so easy to install and configure that if it breaks, or if conditions change, few have the knowledge to troubleshoot and fix it quickly.
All these issues - documentation, user feedback, security and more - are problems we can look forward to seeing more of as Linux improves usability to penetrate the enterprise, and more and more of its functionality is buried under increasingly dense layers designed to abstract users from the mechanism. Linux is starting to look more and more like Windows.