The other day over breakfast I was telling my wife about a Mac application I was prototyping. I had spent all the previous day making a global hot key bring the app to the front, with its main text field selected so you could start typing right away; then I had another key make it disappear returning focus to the application you were on before, and to whatever text you were typing or had selected at the moment. I made it also behave with Spaces and Exposé, and as you can imagine I was pretty happy about my progress. I then reflected out loud if any Windows developer would even think about all these little but important details. She pointed out that I should be more tolerant towards all the Windows users out there. As usual she was right, but annoyed I said: ‘user interface design is not about tolerance’.
The thing didn’t ring true then, and it has been haunting me since. What is interface design about then?
Habits, not Hobbits
Five months ago I stopped writing my weekly appointment with the iDevBlogADay readers. As you can see if you go through the site I only wrote one post since, so you can pretty much say the habit of writing didn’t stick. The question is, why? In part it was because of being busy with other projects (by the way, I was going to write about those today, then I changed my mind in the last moment… maybe next time). But let’s be honest; the main cause I didn’t write anything was another, more entrenched, habit: the habit to procrastinate.
Habits are such funny things… If you are in the habit or doing something you do it without thinking. That total lack of awareness converts any task in something effortless; while you are driving your car your subconscious is doing all the heavy lifting and you don’t even notice! On the other side, habits are uncontrollable and unintentional (remember, you are not thinking about them): stop biting your nails!
You would think all of us would pursue good habits over bad ones, things like writing and reading more, lose weight, stop smoking, or exercise, the kind of things you usually add to your list of New Year’s resolutions. Some say the problem is all those things require effort, and we are naturally more predisposed to choose the path of least resistance. But why do they seem to require so much effort? Well, because they are not habits yet!
While I am sitting here writing I am in a state of internal conflict. Not only I am actively thinking on how to put my ideas on paper, I am also fighting the urge to do other things that seem more pleasurable. No doubt there is effort involved in writing, but just as much into not letting myself avoid writing! Independent on the difficulty of the task, more effort goes into making something a habit or stopping any habits that prevent it, than into the task itself.
Think on the other hand of somebody used to writing. He would just concentrate all that effort into his internal speech rather than on writing itself, finish sooner, and have a better product at the end. He will enjoy it more, and so feel more predisposed to repeat. And repeating will create a stronger habit. Forming habits is all about repetition.
Don’t we want that kind of pleasurable experience in our apps? But instead we usually fight the battle of creating new habits, or destroying habits that were there before us.
User Interfaces and Habits
Thanks to the success of iPods and iOS products there are lots of people coming to the Mac from other platforms nowadays. Some of them are developers. They all have years of experience with tools and operating systems that in some ways work similar to MacOS: you have folders, and windows, and icons, and applications, and what not. As any human being, they have formed habits that they use every day without thinking.
What happens when these hard‑earned habits don’t work in the new environment? Well, you can just scout the internets for the wrath of people losing files when replacing a folder. Inevitably, the discussion between users of both platforms turns into a fist fight where everybody declares their way more intuitive and the others an embarrassing epic fail.
Tolerance, as my wife was saying, is necessary (check Owen’s guidelines!). But what of us developers? Is it not dismaying to have to deal with users that, coming from different backgrounds, with such a mix bag of different habits, expect our products to always work in a sensible way for them?
Remember, before Windows or Mac users, before savvy and inexperienced, experts and noobs… we are all humans (and coconuts) first. Consider for a moment what people mean when they say your product is not intuitive. They mean:
- it is not something familiar, that already works according to their habits,
- or is not easy to learn, and form a habit without effort1.
Do you see the problem here? When you present a new product that works like something they are familiar with, it doesn’t seem novel and interesting enough. And when you present something they have to learn, is not considered intuitive in comparison with their old familiar product.
To make better apps…
You have probably read tons of advice online about how to design a good app. The advice always ranges from the too specific (‘Use icons over text! Always one tap away from any other screen!’), to the too generic (‘Surprise and delight!’).
But those three are the golden rules for me nowadays. Make it familiar, or make it easy to form habits. Always make it tolerant.
My advice seems to err on the side of generic, but put it to the test. When you think of adding a new gesture to your iOS app… is it a familiar one? Is it easy to discover? Is it easy to repeat? Is it a one‑shot action, or you require it often enough that the user will need to repeat it, and so create a habit? You already have a button that does the same thing… do you need the gesture too? Will hitting the button by its side cause catastrophic lost of data, and more internet anguish? If there are 2 ways of doing something repetition will not happen as often as if there was only one. What one is the most familiar?
Now, if I could only make a habit of writing every week… :)
1 As I was saying before, habits are not formed without effort. But what is the minimal effort necessary?