Tuesday, July 1, 2008

Bakers and Chefs

A couple of days ago, when presenting to a client, I started to talk about different types of users and analogy popped into my head. It seemed to resonate with the group so I thought I would share it.

I find there are two high level approaches that people take when using software: to methodologically follow steps, or to play around with it until you get the results that you want. People tend to gravitate to one or the other.

People who like to follow steps use software like they are baking a cake. When you bake a cake, the ingredients combine to create complex chemical reactions that you have no hope of understanding. The best you can do is religiously follow the steps and hope for the results that are promised. (Or at least that is how most people bake cakes. I am sure that expert bakers are different.) For many, that is what using technology is like. Cooking, for most of us, is a far more experimental exercise. You can follow portions of the recipe and improvise the rest. You can add flavors until you get what you want. If it starts to taste bad, you can usually bring it back to edible by adding a little of this or a little of that.

Not to be age-ist, but millennials are often chefs. They are comfortable enough with technology to improvise when completing a task or use a tool to do something completely new. Digital natives aren't afraid they will "break the internet." They won't read the documentation until they are stuck. People who didn't grow up with software tend to be much more cautious and follow the directions. They panic a little when something unexpected happens.

So why does this matter? It is important to user interface design when you have to serve these user populations. For the bakers, step-by-step instructions built right into the UI help. You also need to be very careful about consistency in naming conventions (just like the story of the user not being able to find the "any" key, a baker will tense up if the instructions talk about a "save" button but the button on the form says "submit"). For chefs, you need to do a lot more testing to ensure that unexpected uses don't mess things up. Expect chefs to do a lot of trial and error. If you know that they will not like the consequences of executing a function, warn them. The classic case is warning a user that if they navigate away from the page, their work will be lost. A baker wouldn't navigate away from the page unless the instructions told him to.

Anyway, I (and I think my audience) found it helpful to visualize a user carefully measuring their actions with a software application as if he is following a complicated cake recipe verses clicking around like he is throwing spices into a pot. Maybe you will too.