Monday, 9 March 2009

Linux & ease of use

Mark Twain once said,"The coldest winter I ever spent was a summer in San Francisco." Yesterday, the slowest operating system I ever used was the fastest Linux distro, Puppy Linux.

It was meant to be easy, and fast, and kind of fun. Linux has been around in a staggering variety of forms for years, evolving like Galápogian birds. The open-source code encourages tinkering and reinvention by neckbeards worldwide. This has advantages and disadvantages, and at least one attempt -- Ubuntu Linux -- has been made to create a canonical version with regular releases. Unfortunately, this mentality is precisely what Linux enthusiasts demonize in corporations like Microsoft and Apple, so a plethora of species and sub-species evolve, swarm, mutate, enter death throes, and mildew.

The distro I chose was built for speed. It was created to run as quickly as possible, loading into ultra-fast RAM instead of residing on the slower hard drive. Selections and actions would be instantaneous; everything would be faster, with few lags or bottlenecks. And it was small. Windows XP uses at least 2GB, and Vista more than 5GB, but Puppy Linux was just 130MB. Tiny, fast, purpose-built. It sounded great.

You know what else is tiny and purpose-built? A Russian car.

When a proper company builds something, either an operating system or a vehicle, it brings with it a level of professionalism, of polish, of ease-of-use.
When some random guy assembles a contraption in their basement, it is a hodge-podge collection of compromises, workarounds, and makes glaringly obvious the creator's intimacy with the cold inner workings of the deathless machine.

In Puppy Linux (PL), there are two points of control: the start menu, and the command line.

The start menu has every application on the system, most being single-task and at least half being inscrutable to the new Linux user.

The command line allows you to screw up your system in multiple mysterious ways.

The first thing that a user notices when booting in to PL is the scrolling list of system actions. This takes a long time -- PL was never quicker than a full minute to boot. Suddenly the interface pops into view, without the grinding and cursor-spinning customary with Win/Mac.
Uh, OK, what now?
The taskbar at the bottom of the screen is hidden until I move the cursor over it. This would be fine if PL played nice with the trackpad, but -- no. It's like riding a bull. It flicks off one direction, jumps without warning, sways heavily, and there certainly must be a prize for staying on course for eight seconds or longer. Clicks are created from nowhere. To preserve my sanity, I plug in a wired mouse.

There is an app for everything. To look at files, I open an app -- just to bring up an active USB drive. The icons are closely spaced horizontally, but massively spaced vertically. The scrollbar on the side never goes away. A single click opens files. Control-X deletes.

There's a feeling of being very close to the coalface, of sharing a little too much information about how the computer does things, and not enough helping me do what I want to do. This is the difference between Tools and Interfaces: tools facilitate expert knowledge, but interfaces translate complexity to simplicity. An interface begins with a task: what does the user want to achieve? A tool begins with a process: how much feedback can be given?

Everything I did in PL was quick. Very fast. The slow part was comprehension, and that was all on me. Where was the initrd.gz file located? What kind of boot loader would work? What did that acronym mean? I was struggling to understand the terminology, and I'm someone who regularly EXPLAINS computer terminology to people.

The slowest part of any computer is the user -- the single most significant bottleneck. PL succeeds in raw technical speed, but fails to account for real-world problems. The fastest computer is one you can use.

No comments: