Wednesday, December 06, 2006

Linux + Usability

Further to my previous posts about gradually liking Linux more and more, I do have to point out that Windows has one thing on its side. It may be bloated, slow, unreliable and targetted by every virus/spyware writer in existence, but it's usable by (almost) anyone. The problem that Linux has, and will always have until the programmers start to pick their game up, is that it's simply not possible for the average computer user (ie, someone without a degree in computing) to pick it up and use it. Sure the basic functionality is fine, but once you start doing anything useful that Windows handles for you, like printing to a network printer, you start hitting the machine with large blunt objects. The problem seems to be a combination of two things:
  • No will to create decent documentation

  • An assumption that not only will you be familiar with the internals of Linux, you will be familiar with the internals of the tool that you only just picked up

  • Fancy graphical interfaces that actually don't help you at all

Until developers think in terms of usability, the approaching time of mass adoption will never, never, appear.

As a case in point, I have this article about one man's attempts to set up CUPS. I personally have been exposed to a similar task in CUPS and even with instructions from someone who's already done it, it wasn't nice at all.
Part 1
Part 2

I'm sure Sarah will have a cunningly persuasive rebuttal, but you know it's all true really :-P


  1. Sigh. TBH this argument about Linux vs ... annoys me more than any other. Firstly, there's an assumption here that someone who has *never* used windows will find it "easy" and someone who has *never* used Linux will find it hard. If you have been used to one or the other it's very difficult to swap over -- I still find a lot of very trivial operations in windows extremely painful. For one thing, you forget how much implicit knowledge even an 'ordinary' user needs to use windows. That includes all sorts of things like the file system structure and having to perform stupidly unnecessary tasks like "defragging" which simply don't need to be done in Linux.

    As for this thing about "the developers" being essentially incompetant (as you are implying) that's really proof by insult. Windows developers are paid vast sums of money to produce good end-user documentation and by and large fail out-right. The majority of GNU-Linux developers are paid nothing and work hard so that we can all benefit from Free Software. These people don't owe us good documentation and if we all cared a little more we'd pitch in and help write up doc's, perform usability evaluations or contribute some code. I don't think any of us who haven't done that have earned a right to complain loudly at those who regularly contribute solid GNU-licensed code.

  2. Ah, you took the argument the wrong way. I wasn't trying to say the Linux developers are incompetant, I don't think anyone could say that honestly. Given the huge amount of money Windows devs are paid, the Linux guys certainly work much harder than can be expected of them, but the difference does come down to that very same thing: money.

    Someone writing an application for Linux is usually not getting paid huge amounts of money, and if it's their own project they usually won't be getting paid at all. This means they generally won't have a big reason to push out proper documentation, and a large portion of the time won't have any resources to do usability studies or even the training to know how to do one (though a decent uni education does help here I have to admit).

    Microsoft on the other hand spends huge amounts of money on usability and documentation, and no matter how much we may moan they do get things right a decent percentage of the time.

    Overall I think this is a valid point that Linux has some very good, useful and powerful tools, but anything beyond the trivial has a rather vertical learning curve. And should I point out the RTFM (even in the absence of the aforementioned M) is considered a perfectly normal and valid response to a wide range of queries? ;-)