Posted originally on Hulver's Site.

Using a computer is not like using a hammer: it is more like using Lego.

Hammer usage is predicated on the user having a pretty clear image of the purpose of their tool-assisted act (to drive in a nail), and the scope of the functionality offered by the hammer (bang-bang). There is a simple, built-in feedback mechanism for success: incorrect hammer usage reports itself immediately as the lack of a nail being driven in, a nail being driven crookedly, or a nail that is becoming deformed with each strike.

In contrast, a room full of toddlers playing with Lego or Lego-like building toys will readily demonstrate a wide scope of possible interactions, ranging from the most humble (sucking on the plastic blocks) to fairly sophisticated applications (attempting to replicate real-world objects). Lego can be used a million different ways, and Lego says they're all legal so long as the blocks fit together soundly. Lego provides no feedback on its global state, other than exhibiting or not exhibiting whatever level of structural integrity the user expected it to have.

To wit: you can use a computer for years and still have explored only the tiniest quadrant of its useful space. Like Lego, there is no way to gauge how much of the tool's capacity for doing interesting things is being taken advantage of; there is a sense that following the directions is merely a project for the purposes of example.

If you think about it, it can be a bit overwhelming for the neophyte. This is why a lot of people use computers as little more than Solitaire-capable glowing typewriters. It's a bit sad. It's like watching kids too stupid to remember how to transform their own Transformers, so they end up leaving them permenantly in robot-mode. It's a waste.

...This is how it must have seemed to my friend Alex, who was patient enough to volunteer to give me guidance when I got my first broadband hook-up and expressed an interest in sharing the connection between my various computing toys. Alex must have heaved a deep sigh internally, and wondered just how frustrating it would be to help a Mac user discover computers.

You see, using a Macintosh is a lot like receiving a Lego-kit preassembled. Most Mac users are afraid to muddle up the bits of their expensive bauble by taking anything apart, or reconfiguring any of the factory defaults. The Mac is used as a composite object: a computing hammer, in order to strike certain pre-defined kinds of nails.

Alex took me around to the local shops and helped me pick components so that I could assemble a gateway server for myself. We put the machine together in his dining room and did a net-install of Slackware Linux through his pipes. He patiently guided me through the basic configuration stages, and solved a tricky driver problem for me. Then we packed it up and he sent me on my way.

Naturally, I was calling him for more help the next day, confused and frustrated after spending most of the night trying to get the machine to perform the same network address translation trick it had turned effortlessly while drinking Alex's bandwidth. To save his wits, Alex armed me to help myself: he walked me through the process of tracing every action the gateway was performing back to its process, programme and startup script. "Just follow the trail of what it's doing, and when you get to something you don't understand look it up in Google."

"What's Google?"

"It's a new* search engine that doesn't suck. Just copy-paste the text right in. Dig in the results until you find what you're looking for. Everything has been written about somewhere, so just keep looking."

It was true. Somewhere, sometime, somehow, someone in the world had had a problem identical to mine or similar enough to be educational. I stayed up all night the next night, Googling my scores of Slackware befuddlements and inchingly exploring my new computer system. I with drunk with new-found power. By the next day I was cautiously treading through source code, and thinking about recompiling my kernel.

It wasn't as if I'd never thought about the internal workings of computers before, but it had been a vague, abstract sort of way (glossed here, in a particularly meandering blog entry) that had more to do with imagined spaces that actual functionality. After all, I'm an animator not a software developer.

But having access to almost every aspect of my hardware and operating system and leveraging that access to solve real world problems I was having was like stepping into a new world. It was like great Unix-like windshield wipers were clearing the opaque layers of Jobsian goop from my view.

Imagine taking apart a Lego object for the first time, and noting how the little nubbins and anti-nubbins work together to connect the bricks, grasping in a flash the infinite versatility built into the shape of the components. This is how I felt when Alex introduced me to computers as he knew them.

Anyway, hats off to Alex, hats off to solutions found through Google culled from the decentralised ramblings of a thousand unrelated problem solvers, and hats off to Open Source hippies and free software developers everywhere. You free us with Duplo.

* This was in 1998. Since then, Google has become central to the experience of the Internet for a whole lot of people (though this fact was missed here by Jon Katz in what must be one of the most retarded personal essays about the Internet that I have ever read). My referrer logs tell me what people often type my URL into a search engine and click on the results link rather than directly typing my URL into their browser's address bar, which demonstrates the psychological importance of the web-portal to many surfers. Google becomes a hammer, replacing the Yahoo hammer had been the previous most popular start page, used to nail down the location of a particular website. A waste of fabulous power, IMO.

No comments: