in·tu·i·tive in-too-i-tiv
using or based on what one feels to be true even without conscious reasoning; instinctive.

I was told recently that the Linkage software was convoluted and not intuitive. This subjective opinion is perfectly valid and I cannot argue against it. I could probably compare the complexity of some features to the same features in other CAD programs and maybe make an objective claim of simplicity or complexity based on the visibility of the features and the amount of effort needed to perform those tasks. But that would be a pointless endeavor and those comparisons are still very much subjective – one person might find it easier to enter text on their Apple TV scrolling through an alphabet if they have never used a QUERTY keyboard. I can’t argue with the ease-of-use of any software but I do have a strong opinion about using the word “intuitive” when talking about the apparent simplicity of software.

We should immediately accept that there is almost nothing instinctive about using software. We have actual instincts that drive us to search for and eat food, keep warm, and procreate. Our fear of dangerous creatures is instinctive as are many other fears. Some people who study these things also mention denial, revenge, loyalty, and greed, as instincts. They never mention using a computer mouse to move a pointer on a screen to select items as an instinct. What we do with computers physically has nothing to do with instinct. What we produce might or might not be instinctive depending on how much a person uses their computer to achieve their instinctive goals (like writing vitriol to attack others, a favorite past-time of some people these days).

What about “intuitive?” After all, it is not the same as “instinctive.” I would argue that intuition can be taught and since two people might have very different intuitions about the same things, that intuitive software is generally impossible to write. To most of us, we might see a crank with a handle and know intuitively to turn the crank to accomplish something. We might not know what will happen but we usually know that a crank with a handle is meant to be turned. This is still intuition that we learn and not an instinctive behavior. If I were designing a pump, I might feel safe having a crank for people to turn and I might feel safe not showing instructions on how to use the pump. But even then, is there intuition about what direction to turn the crank? The pump crank is still not totally intuitive no mate how familiar it is to people.

Software seems to be judged on how intuitive it is to use. I think of it more like a judgment of how much the software works compared to other often similar and sometimes older software. The original Xerox PARC window/mouse interfaces seem intuitive to many people but many software users prefer to type in their commands because it feels more natural for them. There really is no right or wrong until you start to look at statistics. But there are no statistics available to tell me if I should make users type in dimensions of their parts or simply drag the parts around to change their shape and size interactively. [Notice I showed a bias when I mentioned “simply” in that previous sentence. I’ll leave it even though “simply” is just another subjective observation that others might validly disagree with]

I have a book about user interface design:
About Face: The Essentials of User Interface Design
Although the book is considered a bit dated and some readers dislike much of the book, it still contains many valid ideas and criticisms. In many places, the idea of intuition is indirectly questioned. For instance, Alan Cooper talks about using icons that have no inherent meaning in their design because people will quickly learn what the icons do. Perhaps no matter how much an icon in a toolbar is made to look like the thing it does, you can never show a good enough picture to make it clear to a new user that the little clock icon will start a timer. It could very well pop up the time-of-day or insert the current date and time into a document. it’s not really intuitive beyond maybe people understand that the function of the little clock icon is somehow time-related. But still, clocks are a learned concept and although most people would find a clock intuitive, someone from a digital-clock world would not know what the little circle with 12 markings might be.

I find that it feels very intuitive to move things with a mouse pointer. I click and drag and the thing moves to where I leave it when I let go of the button. I am a visual person and visual stuff impacts my brain very strongly. Some users would like to select something and then have a place to enter coordinates. They equate the positions of things to their coordinates in a way that I can’t understand; Do they even build a picture in their head from the coordinate positions or do the numbers themselves give them a meaningful representation of where things are?

So what about convolution as a critique of the Linkage program? Is the software extremely complex and hard to follow (which is a definition of convoluted)? Again, we are back to the idea that there are objective ways to describe the quality of software. Is Microsoft Word convoluted because a person must type each letter of a word instead of just typing in the word? To a person who was always blind, it is terrible software.

I wrote the Linkage program to be unlike other CAD programs. For anyone who uses those other programs to the point of comfort, it will be unintuitive, convoluted, and just poorly designed. Why can’t a person enter the shape and size of a link using numbers and then designate the connections by typing in which connector interacts with a connector on another link they typed in? The answer is simple: That’s is not how I wanted it to work. Some early cars had tillers to steer because the only things steered before them were boats. For the boat people, this was probably great but for me, it would be uncomfortable at best. Which design is better depends on what you want to accomplish – a tiller is terrible if you have very short arms and need to go around a lot of tight turns in a heavy vehicle. I wanted to make the Linkage program work like Corel-Draw which is probably similar to Adobe Illustrator. Since the visual results are all that a person needs from a drawing program, I never cared about the details like the exact coordinates or sizes and shapes of things; As long as they looked right, that was exactly what I needed.

At Xerox in the 1970’s, they created computer mice with no buttons, one button, two buttons, and I think three buttons ( Apple stole, er sorry, I mean developed their own design for a one-button mouse where secondary actions required the use of the keyboard. There’s nothing intuitive about computer mice and Steve Jobs supposedly thought that a single button was easier to learn. If you want to experience some of the discomfort that some original users of the mouse experienced, try using a trackpad if you’ve never used one. Or try a trackball! No one uses those much and you will find the simplest of actions a bit uncomfortable. I can’t play Call of Duty on the Xbox because I can’t manage to use the little joysticks to aim worth a darn; But I’m fairly adept at playing shooter games on the PC using a mouse because of decades of mouse-moving experience.

So in the end, the user who tells me my software is shit is absolutely right. It is shit to them and I have no valid argument to say it isn’t. Heck, it’s got some really shitty features for even me, the person who wrote it. How else can I explain the hours it took to input the design of the Antikythera mechanism? Software is never instinctive and barely intuitive unless it does everything that you already know how to do. And that’s only because intuition in my opinion can be learned.

Up next might be a post about the design decisions that I made with the Linkage program and why some were much easier to figure out than others.