posted by David Adams on Mon 24th Aug 2009 09:21 UTC
IconA reader asks: Why is Linux still not as user friendly as the two other main OSes with all the people developing for Linux? Is it because it is mainly developed by geeks? My initial feeling when reading this question was that it was kind of a throwaway, kind of a slam in disguise as a genuine question. But the more I thought about it, the more intrigued I felt. There truly are a large amount of resources being dedicated to the development of Linux and its operating system halo (DEs, drivers, apps, etc). Some of these resources are from large companies (IBM, Red Hat, Novell). Why isn't Linux more user-friendly? Is this an inherent limitation with open source software?

I won't pretend to give an authoritative answer to this question.  All I hope to do with this article is posit a few possibilities and open the topic for discussion. First I think we should try to clarify the question by defining user-friendliness. ;Often, user-friendliness is conflated with beginner-friendliness, and this is a grave error.  Just because the use of an object isn't immediately obvious to a new user doesn't mean that it's not well-designed or even that it's not easy-to-use.  I have a nail pulling tool that's unquestionably the most effective nail-puller you can buy.  But whenever I hand it to someone, even an experienced carpenter, who's never used one, they give me a blank look, and it usually takes five minutes or so to figure out how it works. They make nail pullers that are much easier to understand, but they don't work as well. They take longer and damage the wood more. But the thing about the slide-action pullers that I like is that even though they take a few minutes to learn, once you know the trick, they save you several minutes with each nail. Over a lifetime, a tool like this might save a professional carpenter several entire workdays.  You could say the same for computer users.

Point and click interfaces are much easier for computer neophytes to understand. You can click and hunt through the menus to figure out what to do, and once you have the basic concept of moving the mouse and navigating menus and buttons figured out, you can muddle through most tasks. Most importantly, you don't have to memorize any arcane commands. But for all-day computer users, mousing your way through menus wastes a lot of time and makes things hard that can be easy. Learning a few keyboard shortcuts for the things you do every day (opening windows, saving, etc) and learning to use the command line, or command line-like tools (Such as Quicksilver or Colibri) will give you a major productivity boost. In short, often the attribute that makes a tool easy to learn actually makes that tool less useful to an expert.

In some cases, "easy-to-use" tools aren't better even for newbies. Training wheels for bicycles don't really help kids learn to ride a bike properly, and in fact can easily delay learning. A CLI can be superior for neophytes in some cases because it can be much easier to do complex procedures by copying and pasting strings of command line code from a tutorial or forum posting than following a circuitous walk-through of the same procedure (with screenshots) using a GUI method.

Conventional wisdom would dictate that the menu-driven GUI of a Mac or Windows machine would be the major determinant of its user-friendliness, but I disagree. I actually think that the time-worn "just works" measuring stick is a much bigger factor. Even if you have to learn a few conventions or [gasp] memorize some basic commands, if your computer operates in a reliable and consistent manner, it's easy-to-use. I would hasten to add that installing new hardware or software and configuring your preferences should also be as simple as possible and should not break the computer in the process. The times that using a computer becomes the most challenging for any user is when something goes wrong, so the easiest to use computer is most certainly the one that never fails for any reason. But since we don't live in fantasyland, a computer should minimize opportunities for either spontaneous or user-caused failure, and should fail in a way that minimizes collateral damage and guides the user through the proper steps to bringing the machine back up to proper operation.

This is where we can start to look at the relative user-friendliness of Mac, Windows, and Linux. Traditionally, Macs have been seen as the most user-friendly, and have adhered to the "just works" philosophy. In some cases over the history of the Mac, this has been taken to the extreme, where simplicity has actually stood in the way of power users' productivity. But "just works" comes at a price, and that is the vertical integration of the Mac marketplace and the dearth of hardware options. In its current incarnation, the Mac OS is reliable, fails gracefully when it fails, makes installing hardware and software easy, and makes configuring features such as WiFi and Bluetooth quick and easy. This is user experience exists in large part because of the extreme amount of priority that Apple puts on user-friendliness and the tight control over the hardware ecosystem that Apple maintains. But it's not all Apple. Ironically, one of the most important aspects of Mac OS X's user-friendliness, its reliability, comes from its BSD-based underpinnings. The Pre-OS X versions of Mac OS, particularly those after version 7.6, in the late nineties, were not very speedy or reliable, despite being easy to use in other ways. It was only harnessing some of the inherent advantages of the open source development model that brought Apple's OS to where it needed to be.

Windows is generally thought to be pretty user-friendly, but even a quick survey of the average computer user's experience with Windows will show you that most people are not at all comfortable with it, especially once something goes wrong. Using Windows for everyday tasks is quite easy, and seems to get better with each version. In fact, I'd say that in some ways Windows has easily equaled or surpassed Mac OS X in some ways when it comes to basic usability like application launching and file management. Installing software and hardware are not as elegant as the Mac, but don't pose a problem in most cases. And a clean Windows install on high-quality hardware will run extremely reliably compared to the standards of the nineties. The problems arise when poor quality software or hardware are added to the mix, because troubleshooting stability or performance problems in Windows can be very difficult. Also, doing advanced configuration, such as networking, can really be a brain-breaker, even for experienced users.

Table of contents
  1. Linux User-Friendliness, Page 1
  2. Linux User-Friendliness, Page 2
e p (4)    222 Comment(s)

Technology White Papers

See More