How Different People Think About System Design

system-design.png

Thursday, 7.08pm

Sheffield, U.K.

Design is a funny word. Some people think design means how it looks. But of course, if you dig deeper, it’s really how it works. – Steve Jobs

I’ve spent a few days happily messing with data – not in Excel and fancy visual tools but on the command line – that place that existed from the beginning.

Now the thing with this other world of computing that most people don’t really know about is that people with names wrote the software I use now.

For example the Unix utilities cut and paste were written by David M. Ihnat, David MacKenzie, and Jim Meyering – names in the documentation that make it more real.

Talking about Unix, as I do every once in a while, I came across this paper by Donald A. Norman written in 1981 which damns the system as “a disaster for the casual user.”

Norman lists all the things that are wrong about the system and rails at how the simplest concessions to making things easy for people are not there.

It’s not consistent, he says, the functions are weird, it refuses to talk to you and it taxes your brain too much.

And then he has a pop at the venerable Unix utility cat – saying that it fails to do the simple task of showing you what’s in a file.

Now, if you are unaware of the history of these things and the views on the other side – we are treading on a battleground.

The Unix folk pointed out that people like Norman just didn’t get it.

The reasons why can wait for another day – because I doubt you’re really all that interested.

The point I want to come to is at the end of Norman’s paper.

He says that the three most important concepts for system design are to be consistent, have an explicit model for how to interact with the system and make it easy for the user – don’t tax their brains too much.

This kind of thinking inevitably comes up with a box.

It’s consistent.

You have a model for it – put stuff in the box and carry them around.

And it’s simple – it’s not too hard to work out how to use a box.

And then, by doing so you miss the point – a point that’s captured beautifully in the world of Calvin and Hobbes – the boy with his tiger.

A box, in his world, can be anything.

It can be a transmogrifier – you go into it and come out transformed into a dinosaur.

Children will show you what a box can be used for – not what it’s designed to be used for.

It’s a racecar, a spaceship, a den.

It can be anything you want it to be.

And that wasn’t designed into the model.

Systems like Unix that don’t tell you how to live your life help bigger things to emerge.

Like a tree.

No one designed a tree – but you can’t live without them.

They weren’t designed for you to climb – but you did that anyway.

The point about design – as Steve Jobs got – is not really about the control you have – but what it does for the user.

How it liberates them and empowers them.

And that is something a system like Unix – well – GNU/Linux now – does better than anything else out there.

Because it gives you your freedom back.

Cheers,

Karthik Suresh

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s