On Saturday while out in London, I made two bathroom visits during the course of the day. Here’s what happened.

In the first bathroom, after faffing around trying to get the tap at the sink to work, the guy at the next sink realised there was an automatic sensor above and to the left of his tap… it was hardly obvious.

“Why do they have to make these things so annoying?” I said. He just laughed, and went to dry his hands. Then he said “you should be OK with drying your hands – they’re just paper towels, it’s easy.”

Haha… like I wouldn’t have figured out the tap eventually. Stupid evil tap.

In the second bathroom later on that day, still scarred from the first visit,  I flapped my arms around the tap for a good few seconds trying to get this second tap to work. Then I noticed that it had a handle on it :-(

Did the day get better?

No.

That evening, I went to a restaurant, and the front entrance was through double glass doors.

I tried to push the right door. Nope.

Then I tried to pull it. Nope. It wasn’t going to budge.

I then tried to push the left door hopelessly. Nope.

Pull the left door? Hallelujah! I’d figured out how to enter a restaurant! Only my fourth try!

The observant among you will note that if I’d been on the other side of the doors, I’d have been right first time :-)

Anyway, although that’s a lovely story, do I have a point?

Well. Why are simple things that we use every day so needlessly difficult and unintuitive? Is somebody playing a trick?

There’s a book that talks about this exact topic. It’s called The Design of Everyday Things, by Don Norman. It was written quite a while ago, but given my experience on Saturday, no one has listened.

Norman, a psychologist, talks about how users tend to blame themselves when they can’t figure out how to use a given instrument. You know what they say… anger leads to hate etc.

Wise words...

Humans make errors. It’s a sad fact of life, but true. Some errors are made after conscious thought, and these are called mistakes.

Another kind of error is a slip, which is an unconscious error. How many times have you accidentally walked out of a room to do something only to forget what it was as soon as you left the room? Or put your laundry in the bin rather than the clothes hamper? Or driven to work when you meant to drive to the gym?

Humans have been blamed for a lot of bad things that have happened… accidents, disasters, some even of the nuclear variety. But quite often, these could have been avoided if the system had been better designed to be easier to use and harder to make mistakes.

Norman explains that when we look at an object, we immediately start getting a sense of what we can do with it. Users develop what is called a user model, and covers aspects like:

  • affordances: if it has a handle or buttons, we know it can probably be picked up or pressed
  • constraints: these might be physical constraints preventing certain actions, or we might discover other types of constraints such as logical (we wouldn’t want to do that… that would break it) or even cultural (we were taught never to do that!)
  • our own personal knowledge of how it’s likely to work based on our past experiences.

Now humans are pretty smart compared with other animals like dogs or chimps. We’ve got hands, which means we can grasp objects and do things with them like twisting, bending, shaping etc with varying force. So objects can have a lot more affordances for man, than merely being something to lick or bark at or pee on. Chimps have hands too, but aren’t as smart as us so struggle when it comes to building models of how objects can be used.

As smart as we are, we’re still only human. So a key goal when designing something well is to design it in such a way so that the user is able to build a good user model, and use it to predict the effects of actions. There should be a natural map between actions and expected results. This can even remove the need for lengthy instructions for how something works.

Examples:

  • The design of a steering wheel is such that turning it left or right by varying amounts causes the car to turn in the same direction by a proportional amount. A steering wheel has a natural mapping between action and result. It’s very easy to learn how to steer a car, even some dumb kid could do it.
  • A typical office phone might only have about 15 buttons, but these can combine to give hundreds of non-obvious commands. How are you supposed to know that the command for putting someone on hold is e.g. #97**? It’s not obvious. It has to be learned and memorised. It requires knowledge in the brain rather than knowledge in the world.
Scary Evil Phone

Having figured out how to carry out an action, what happens when that action is actually carried out? Well some feedback would be nice. It would be nice to know that the action had the intended effect. With a car steering wheel, it’d be obvious from the car actually turning in that direction. But the Scary Evil Phone is potentially even more annoying than Sheila. It doesn’t even have a screen to display feedback – you have to try and make sense of any sounds it sends down the earpiece.

Design for ease of use, and make it harder to make mistakes and do the wrong things. Nobody needs to feel stupid.

This is especially true for computer software. Because even though computers are our most complex and powerful tools, meaning that there’s a lot of potential for things to go wrong, we have the power to program a computer to follow any behaviour that we specify. So we can choose to make systems that are easy to use and provide excellent feedback. And we can do this with good design.

There are quite a few terms such as User Experience Designer, Interaction Designer and Information Architect flying around… what are the differences?

I think this diagram tries to explain it, but I don’t have a clear idea just yet.

Just a short post this time. Here’s a bunch of links that you might find useful.

So you wanna be a user experience designer?

10 Most Common Misconceptions About User Experience Design

Complete Beginner’s Guide to Interaction Design

Complete Beginner’s Guide to Information Architecture

25 User Experience Videos That Are Worth Your Time

So although it’s a short post, it’s massive in terms of information once you’ve clicked on the links. I’ve read all these pages, bought a bunch of recommended books, bookmarked all the best sites, subscribed to all the RSS feeds and so the next few posts will talk about some of the more interesting things worth knowing.

In my last post, I talked about how Scary Evil Computers like Sheila are taking over our lives.

I forgot to mention by the way, I’m a computer programmer… yep. A programmer who hates computers.

Isn’t that a bit weird?

That’s what I thought too. Something’s gone slightly wrong somewhere. So I thought about what makes a programmer. What are the core characteristics?

Broadly speaking, there are two kinds of computer user in this world:

  • Those that like to master difficult things. Quite masochistic, and violently denying that anything could ever be difficult to use – apparently you just need to use your brain, and once you work out some impossibly unusable feature set, you can mock other users as they struggle.
  • Those that are lazy and like to make life easier on themselves. Finding it annoying when something is harder to use than it should be. Not having the patience to faff around with some dumb machine.

That’s what I’d call intentionally stereotypical. But if I had to choose, I reckon programmers fall into that first category – and although I do too in many areas of life,  not when it comes to technology.

Arguing religiously about variations of Linux or which programming language is the best, or the intricacies of process management in operating systems is not for me. I’m more interested in ease of use, good design and usefulness.

From reading Alan Cooper, a software developer would most likely be the type of person who would smash open an alarm clock just to see how it works and then revel in putting it back together again. Hmm. Can’t say I’ve ever done that.

Microsoft’s Tom Corddry once said:

Developers are invariably male, eat fast food, and don’t talk except to say “Not true”

Reminds me of one of those JavaScript pop-ups.

JavaScript Popup
You make me sick...

I’ve been a web applications developer at a software consultancy for over 4 years and work with people at the top of their game. Despite my friendly mocking, programmers demand a lot of respect. They do an incredibly difficult job and handle a lot of complexity in their computer-like brains. You can’t build quality software without good programmers.

I got into coding after finishing a maths degree, so for sure, I’m a nerd, but not a geek, and programmers can only be geeks.  Take the test.

And being a nerd, there are definitely aspects of coding that are cool. But I miss the fast free-flowing design side of things from back at school in art and design class. When I was little, I’d spend all day drawing people standing on green grass. I’d even colour the top part of the paper blue to represent the sky.

Sunburnt children
Sunburnt children.

That’s not my drawing… but you get the idea.

But with all the recent maths and coding I’ve done, the artistic side of my brain has stayed relatively dormant for the last 10 years, until this year when I came across a term I hadn’t heard of before: User Experience Designer

It seems that a User Experience Designer is like an architect but for computers – responsible for gathering user requirements and writing user stories, sketching designs and rapidly creating working concept prototypes. All before a single line of proper code has been written.

Hang on! That must surely be a total waste of time because it’s not writing any code, and the only thing that matters is writing code, right?!!

Huh… maybe we’ll come back to that last paragraph in a later post.

UX Design looks like a great mix of design work and programming. As I looked into UX Design I found this, which is a great place to start, and was all the inspiration I needed. I’ve since bought a bunch of books and am now training up in all things User Experience Design related. And I’ll blog about some of the interesting things learned on the way. Hopefully you’ll find something useful here.

It’s very cool finding something you thought you’d lost a long time ago. I’ll leave you with Steve Jobs’ speech.

Look at those teeth!

Scary Evil Computer
That's pretty scary.

At least it’s not moving… Doesn’t look like it’s going to cause us any trouble… it’s just watching… quietly.

Those damn computers are everywhere aren’t they? Firmly a part of our society. One thing’s for sure – we love them and we hate them.

It’s obvious that computers are invading our lives. I’ve just finished reading Alan Cooper’s book The Inmates Are Running the Asylum (which I thoroughly recommend) and it talks about how computers are invading simple everyday objects like cameras and cars and even submarines.

Why? Because often it’s easier to give a machine a microchip and write the behaviour into software than wiring the behaviour mechanically. But this isn’t always a good thing. From a camera taking a full seven long seconds to load before it’s ready to take a photo, to a car that switches the engine off whenever it goes round a corner too fast, to a submarine that loses all power because of a “divide by zero” error in the software!

It used to be easy to set an alarm clock to ring at a certain time whereas now, although you get more “functionality” from alarm clocks (like a billion ringtones), they can be so much trickier to use that there’s a good chance of screwing it up and sleeping in. Do we really need all these features?

And when Scary Evil Computers don’t work or do what they’re supposed to do, it enrages us. Alan Cooper describes how studies have shown that as computers get smarter, we treat them more like we treat humans. In that case, we’d better give this Scary Evil Computer a name… Sheila.

If Sheila was a fellow human being instead of a Scary Evil Computer, and you asked her for something and she didn’t reply, or she gave you some unhelpful response, or told you that you were banned from carrying out that action, or that your internet doesn’t appear to be connected when it bloody well is, I reckon you’d get annoyed with Sheila… Why can’t Sheila be more helpful? We’re much more likely to enjoy working with Sheila if she showed some cooperation and politeness, rather than ignoring or blaming us.

And what about the future? Think of the children! Recently, my friend put an ultrasound scan of her unborn baby on facebook. I can guess already that every picture she ever takes of that poor defenceless child is going to end up on that site. What about when that baby grows into a 50 year old man, with 20 million photo taggings? I’m just saying.

But there’s no denying that technology can also be good. I’ve just got myself one of those iPhone gadgets and it’s pretty smart. Email, the web, live TV, music, banking, games… you name it. And yep, even facebook. All in the palm of my hand. That’s a lot of functionality, and accessible to me “anywhere”. Life can never be boring again right? How many iPhones do you suppose have been accidentally dropped down the potty?

As good as those smart phones are, letting computers rule our lives to this extent is worrying. About a year ago, when I was feeling especially worried, I googled the phrase “evil computer” and found the above image of Sheila (gracious thanks to the owner of this image, probably http://batman.no/ hope it brings you lots of hits, I couldn’t find a way to get in touch with you to ask permission to use the image, sorry). Then I set it as my browser home page. That way, every time I logged on, I was reminded that I should be outside enjoying the great outdoors, rather than being cooped up in a stale room with a computer.

UK Snow
The Great British Outdoors (Feb 2010)

That’s the end of this pilot post. In case you’re wondering about the irony associated with reading a blog someone writes to moan about technology, I should mention that the general theme for this blog is going to be User Experience Design and Human Computer Interaction. It’s going to be about making computers less annoying. But anything rantworthy might appear here. Until next time.