« Preliminary Comments on Survey | Main | Unicode/XML Tanach Updated »

Musings on Software Intuitiveness

You will probably have noticed that most brochures or promotional literature published by Bible software companies talk about their programs being intuitive. They may be quite different in other respects, but they all happen to agree on this one thing. Intuitive is, no doubt, one of the buzzwords in the software industry.

According to the dictionary, something is said to be intuitive when it is "known or perceived through intuition" (one synonym being instinctive). But the term intuitive, as it is commonly used in the software field, does not refer to some kind of universal knowledge, tendency, or process shared by all of humanity, but rather to the use of certain cues that take advantage of the users' existing knowledge and training. To put it another way, intuitive software is that software that takes advantage of cultural knowledge as its basic operating mechanism.

Therefore, when we talk, for instance, about a user interface being intuitive, we need to remember that everything we do in life is hard until we learn how to do it. This explains why someone labels something as easy and intuitive, while another one considers the very same thing difficult, awkward, or counter-intuitive (or everything at the same time!). Come to think of it, we should probably demystify the term intuitiveness. Intuitive is certainly not an absolute. It has a lot to do with the subjective perception of users and their personal background.

Our starting point should probably be the fact that there is no standard or normal way of doing things. There are different, equally acceptable ways in which individuals perform the same tasks. Ideally, Bible software should offer a high enough degree of customization, so that most people could feel comfortable using it. However, at the end of the day, the best software is always considered to be that which does what the user wants or needs.

The heart of the problem is that each programmer/developer has to choose one metaphor when designing the user interface of his or her product (Desktop metaphor, Library metaphor, Book metaphor, Concordance metaphor...), and that a program model does not always coincide with the user model (i.e., the expectations and preunderstandings the user has). This can be true even in those cases when it is fairly well known who is going to use the product and for what purpose, though it is less likely to happen.

Surveys highlight the fact that different people have different expectations about what Bible software will do for them. Actually, even the term "Bible software" has grown to mean different things to different individuals. So, clearly it is impossible to be all things to all people. Nevertheless, despite all the differences, they can all be intuitive in their own kind of way. I have tried to make clear that intuitiveness is somewhat relative. But it does follow certain rules. A piece of software is intuitive when it behaves consistently and anticipates what we want to do next. If we can apply some common sense (not the common sense of programmers!) and get the job done even without reading the documentation in any detail, we most likely have an intuitive user interface in front of us. That, in my opinion, is what all developers should try to achieve, no matter what their target users may be, or where their program's strengths may lie.

A good teacher can explain even the most involved arguments or cryptic formulas and make them understandable to the average person. Likewise, a good piece of Bible software should fairly soon become second nature to most users, no matter how much power it's got under the hood. If it does, it's intuitive. It's as simple as that.

In conclusion, next time you see something advertised as intuitive, remember that this term, in and of itself it, can be quite meaningless. Try to look beyond all the hype and find out if the kind of common sense followed by whoever wrote the program follows closely your own common sense. Ask yourself if you would do what you are trying to accomplish the way the software lets you do it. Be flexible, and expect to have to make some adjustments and learn a few new things, but don't forget that the program is supposed to work for you, not the other way round.

General links (not related specifically to Bible software), which I have found very interesting:

A Summary of Principles for User-Interface Design

User Interface Design For Programmers

UPDATE (February 13): Tim Bulkeley, over at SansBlogue, introduces the notion of "conventions," in connection with the whole issue of intuitiveness. I agree that following established conventions is one of the things that make software more intuitive. But (1) conventions have to be learned (i.e., you find them intuitive once you've learned the "code," not before), (2) unlike web development, software development has quite different sets of conventions (each platform - PC, Mac, Linux, PDA, etc. -, has their own set), and (3) even within one given set of conventions, there is some room for creativity, otherwise all Bible programs would look and feel the same. So, I think I'll stand by my admittedly rather general and slightly provocative comment that "Our starting point should probably be the fact that there is no standard or normal way of doing things. There are different, equally acceptable ways in which individuals perform the same tasks." Anyway, thank you, Tim, for your thoughtful contribution to this discussion.


This page contains a single entry from the blog posted on February 12, 2005 12:04 PM.

The previous post in this blog was Preliminary Comments on Survey.

The next post in this blog is Unicode/XML Tanach Updated.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.35