How NOT to create a software product that delights customers

frustrated poor mental modelsThe first time he got his oil changed he had no idea what it even meant. His dad told him he had to do it, and so he did it.

The first time she had to get her brake pads changed she was also a bit clueless. But she went to the brake shop and they did it.

In both cases, the technology was foreign to them. But what they had were mental models of what was going on.

He realized the oil moving around the engine had to get drained and then replaced.

She figured out the friction on brakes was done by something, and it was worn down.

Because they had mental models that lined up with the general sense of what was happening, they knew how to manage their own expectations – as it related to cost and time.

Here's why I use these examples

I know a lot of people that don't have a clue what happens when their oil is changed or the difference between brake pads, rotors, or anything else about how brakes work. But they have work done on their car without issue.

Know why?

Because the mental models are sufficient enough for the physical reality that they feel like they understand – even if they don't have a clue about the details.

Do you know how that relates to software?

You're right. It doesn't.

Software isn't physical.

Software isn't something normal people feel like they understand.

Software isn't something that people create mental models for.

And when they do, they're normally very far from any kind of reality.

I use the initial examples because they highlight how important mental models are.

The reason people are willing to pay for service and sit quietly waiting for it to work is because they have a crude construction of how things work in their mind and they are able to ascribe effort and time to each part.

Surprises lead to customer delight

I don't know if you've ever taken your car in to get an oil change or brake pads replaced and they tell you it's going to take an hour. Then, they show up twenty minutes later and tell you things are all done.

Your response? If it's anything like mine, you're pretty happy. Surprised.

And that surprise, in cases like these, turn into delight.

I had a mental model. I assumed a lot of work. You got it done faster than I assumed. And I am happy.

Guess what isn't a particularly delightful experience?

You know where I'm going already, don't you.

I've already told you that few people have accurate mental models for software. I think you'll agree. And I bet you may even agree with the reality that we often surprise our customers in the opposite way. We say an hour and instead of showing up in twenty minutes, we show up after three hours.

That's the wrong kind of surprise, isn't it?

But we try to explain missed deadlines and expectations by highlighting all the complexity we had to deal with.

And now you know why mental models are so critical.

Because as you're explaining the complexity you had to deal with, I'm ignoring you and looking elsewhere. Because your complexity didn't match my mental model.

Let's look at two recent examples (getting it right)

1. The latest Tom McFarlin WordPress theme

When Tom released Mayer, he added a feature that was very interesting to me. One that made a lot of sense. It was editor styles that made the text you were writing, while creating a post, look like it would when it was on the published post.

You know what he did? He ensured that the mental model was really easy to understand, embrace and enjoy.

I think “Hey, I'm writing this post. I bet you save it and show it to people. Hopefully it looks like this. Wow! It does.”

Ok, maybe not “wow” but you get my point.

Because the alternative is more common –

“Hey, I'm writing this post. Let me adjust the title so that it doesn't wrap. Wait a minute! Why is it wrapping in the published version?”

2. iThemes Exchange

iThemes wasn't the first WordPress company to create an e-Commerce plugin. But they may have been the first to create a “create a new product” page that didn't look like a WordPress post page.


You know why that's important, right?

Because there's no good reason for a person's mental model to suggest that creating a product should be like creating a post.

Only WordPress developers think that's a feature.

So here's how NOT to create a delightful software product

Here's how:

Build a product that leverages your own internal mental model but ignores those that your customers already have.

Do that and I promise that you won't delight people.

It will lead to customer disappointment, frustration, and unmet expectations.

If you want to create a product that will delight your customers first understand the mental models they already have. Then, leverage those models to surprise and delight them.