I always show others something I am working on.

And sometimes, during my demo, I get a question: “How did you made <something here> happen?” and when I explain: “I just clicked here” or “There is a hotkey: I just pressed it” — then I often get an immediate response: “Awww, you know, this was not so intuitive…”

And my response? My response is often: “Yes, I know”.

Yes, I know. Look at the picture:

Procedural simulator, designed to train pilots for the Sukhoi-35 military jet.

Is this set of controls “not so intuitive” as well?

Yes. Yes, if you’re not a military pilot!

But If you’re the military pilot, then it’s f**ing most awesome and user-friendly and intuitive set of controls you’ve ever met!

Why is this analogy? Because if something is “not so intuitive” in your solution, but when revealed, when found, it adds so much value to a product, then everyone will forgive and even respect that counter-intuitiveness because of generated value and beauty of implementation.

Beauty requires simplicity. And simplicity borders with the country called “counter-intuitivity”. And that’s fine. My point is: don’t worry about “not so intuitive” solutions. Worry about the value they deliver.

Adding controls is easy. Adding value is hard.
Removing value is easy. Removing controls is hard.

Looks like adding controls deals with removing value the same way as removing controls deals with adding value.


I write about practical and effective techniques that help me and my colleagues in everyday software development and testing.