If you don’t have the right answer to the right question at the right time, if you don’t have that information available to you in a way that you can understand when you need it, then it doesn’t matter what the computer can do behind the scenes.
If you want to make an airplane fly there are fact about physics that will lead you toward a certain design. It’s not an accident that all airplanes are shaped the way they’re shaped.
The question is, what is going to be more beneficial for the user? If they’re going to use this thing all day everyday, and you can give them a 5x or 10x productivity boost, and they’re motivated, then you can have an intensive learning curve. Because it’s going to pay off for them and it’s going to be worth it.
When you have a very clear model, you have tons of room to innovate on the interface.
Designing for somebody is a lot like buying them a birthday present. If you want to get them a good present, you have to know them. And if you don’t know them, how do you know what they’re going to like? How do you know what’s going to resonate with them?
If I’m trying to make something for somebody, we’ll sit together and talk about what they are trying to do. We don’t talk about software. We talk about their problem. Eventually there comes a point where I can rephrase to them the way I understand their situation.
You can’t just talk to somebody once and come up with a whole system and be done. It’s an iterative process. Every time you are doing something new it’s a gradual process of honing in on the right thing.
If it is difficult to change what you’ve built, then you are going to avoid change as much as you possibly can. So it has to do with how you actually build your software - how rigid the implementation is.
The question is, what does the user value? If the user cares most about the functionality, then it makes sense to focus on the functionality first and do the style later. But that’s not always the case.
The whole thing is the customer or the user is trying to make some kind of progress, and the question is, what are the dimensions of progress that you need to care about? Those could be functional, but they could also be emotional or social or something else. It’s not just one thing that’s universally the best thing. You have to decide what matters for each project.
Design is all about taking one step after the other, and your early steps limit your future steps. You box yourself in with your early steps and that’s a good thing - because that’s how you eventually zero in on a final solution.
I don’t want to mislead people into thinking that functional dimensions are always more important. The important thing is identifying what is valuable to your customer and then ordering your design process so you address those things first.
In order to be a sniper you’ve got to be sure. It requires a certain kind of focus. It requires a certain kind of confidence, and an ability to say, “this is where we think the value is so we are going to bet on this one thing.”