So maybe I'm feeling more curmudgeonly than usual because of a combination of shit weather, borderlining illness and various extended family problems, but I'm starting to get angry at a particular widely used idiom. Let me mention a few statements, before we move on:
foois too complicated
- The designers of this
foothink significantly differently from me
- I'm unable/unwilling/both to figure out how to use this
fooor what it's good for, and I already know how to use a
barthat does approximately what I think this will
foo can be bound to pretty much any tool, idea or language you can think of. I assert that in the absence of a well defined, objective metric for intuitiveness and simplicity all of these statements are equivalent. And while you might comfort yourself by using the first two to imply that the problem is clearly in the tool you've failed to master or its constructors, I put it to you that you probably really mean the fourth.
We're not talking about intuition, which is a property of minds or humans or both. We're talking about the intuitiveness of an interface/language/tool, conceptual or otherwise. The fuzzy thing that most people mean when they say that something is Intuitive©™ is that they could pick it up and use it without having to learn how first. I'm guilty of having said things like this too, but the more I think about it, the more I'm forced to come to the conclusion that the entire concept is poorly reasoned. To paraphrase Zach Weinersmith:
You had to be trained not to shit yourself. And it took years.
If we're talking about using a high technology, anything that involves a screen, a keyboard and/or some software, we're at or near the top floor of a tower of such deeply counter-intuitive and unnatural behaviors and concepts that you can't possibly use them without having learned how. The only thing you can vary is when you learn; which means that "intuitive", in the context I'm concerned with today really means "I've already learned this, and it was so long ago that I've forgotten the pain of the process". This meaning is the only one that would let anyone, anywhere, ***ever*** declare that a spreadsheet-like interface would be more intuitive to non-programmers. Or that C++ is more intuitive than Haskell. Or, conversely, that Haskell is more intuitive than any other programming language.
In the absence of a well defined, objective metric for intuitiveness and simplicity "
foo is counter-intuitive" means "
foo is a thing I haven't seen very often before".
So what? Are we to reason that once you turn
$AGE, anything you haven't seen before is by definition inferior to things you have heard about? Depending on how you read it, this is either a statement from such profound ignorance or grand hubris that it must be discarded either way. The fact that you don't understand something does not imply a deficiency in that thing, as good as it would probably feel to believe that. This is not to say that there's no such thing as bad tools, or bad ideas|1|, but that their quality is not even slightly correlated with your understanding or awareness of them. For any value of "you", including "me".
For people engaging in serious tool-using or tool-building discussion, this sense of "intuitive" is vacuous. I submit that we should stop using it. And I resolve to do so in my own thoughts and words.
1 - |back| - Or, in fact, that you should fully understand all ideas. This has been impossible for quite a while. Just keep in mind that it's vanishingly unlikely that you already understand all good ideas, or that all ideas you already understand are good. I have no idea how you're supposed to decide what other ideas you should learn. But focusing only on ones that are very easy to learn given your existing body of experience seems like it would have all the problems of a greedy search.