The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Usable vs. Useful

Regarding Joel's last article on usability: yes, "behave as expected" is a very important metric when looking at product design, but I wouldn't consider it to be the "heart" of design, unless it can share that role. As an example, another metric that must be considered to be just as important is "useful." Something can behave exactly as expected, and not be worth a darn because it doesn't do what you need.

As an example: you are a carpenter. You have a thingy with a handle and heavy end with a flat bit. You immediately understand that you can swing this thing and hit stuff (it is a hammer). This thing behaves exactly as expected, however it is useless to you. Why? You work exclusively with screws. This tool was poorly designed (for your particular needs) and is useless, even though usable.

In fact, when considering usability and usefulness, a designer often ends up in a tradeoff situation. Fewer features can be much easier to understand, but more features allows you to get more accomplished, and a more full-featured tool is useful to more people. This ends up as a complicated dance of tradeoffs one way or the other.
Garth Shoemaker Send private email
Tuesday, March 07, 2006
Yes, that is a very good point.  I would even expand it to point out that if a tool is useful enough, that will basically trump all usability issues.
Anonymous Grouch
Tuesday, March 07, 2006
Not a chance. Usefulness can never, ever trump useability. That's because usefulness is strictly constrained by useability. Something that's unuseable is simply not useful, no matter how "fully featured" it may be. The fairy tale fantasy of "useful but not useable" is just an excuse to build useless crap.
Tuesday, March 07, 2006
I think the OP might have a point.  Sometimes things have to be useful.  Further, I would argue that even if your item is not usable by 99% of the population as long as it is really useful to the people that are using it, then that it is difficult to use is overcome by the usefullness provided. 

A good example of this is a programming language.  99% of people on the earth can't use it.  Without a programming background and training it looks like gibberish.  Once you learn it though, it can be very, very useful, to the point that people will actually pay you to use it.
Joshua Volz Send private email
Wednesday, March 08, 2006
Doesn't the question imply that requirements exist?

In order for a tool to "behave as expected," there has to be SOME behavior expected.  Same goes for the usefulness. 

I have used a hammer on screws a time or two; it mashes the brass heads down pretty well when I've stripped out the Phillips head because I didn't pre-drill quite deep enough.  Then the grinder can take off the rest of the head.

A screwdriver does a better job of pounding nails than a hammer does of driving screws, though.  Does that make a screwdriver a "better" tool?
Hell of a carpenter Send private email
Wednesday, March 08, 2006
If something is not usable, it will not be useful.  Even if 99% of the general population can't use a thing, this is no measure of its usability.  Programming languages are a good example.  Not everyone can use a programming language (just as not everyone can put up a house, or in some cases a picture) but as long as it is usable by programmers (the intended audience) it can be considered usable.

A programming language which 99% of programmers find unusable (or to be exceedingly difficult to use), even if it has the potential to be the most powerful language ever created and you can use it to write a program that will sequence the human genome in 2 minutes on a 286 or some other nonsense, is all but useless because none of the people who are expected to work with it can make it do what they need it to do.

I guess the point I want to make is that tools (including software) are only as useful as they are capable of carrying out the user's requirements.  Tools can carry out these requirements with varying degrees of usability, however, and ultimately the most usable will also be seen as the most useful at that task.  Adding features can increase the number of tasks at which a tool is useful, but if that detracts from a tool's usability it will be surpassed by other specialized-but-usable tools.

So, usefulness will never trump usability, because between two tools which can do the same thing the more usable one will always win out even if the less usable one could replace several of the others.
Ryan Schwab Send private email
Wednesday, March 08, 2006
Ryan just restated everything that I already said. But given that it didn't sink in the first time, one may doubt it will be understood this time around. So let's make this real simple like.

How many people use a spork? It's both a spoon and a fork, it's almost as useful as both combined, and precisely zero people /willingly/ use it.

How many people use screwhammers? Huh, no one since they don't exist.

How many people use swiss army knives? Gee, no one again. They're great status symbols but in terms of actual utility nobody uses them.

The philosophy espoused by those afflicted with creeping featuritis disease is, let's call it what it is, an Evil philosophy. Can it possibly be any more blatant than 'One tool to rule them all, One Tool to find them, One Tool to bring them all and in the darkness bind them'?

The opposite of this evil philosophy is to have a (minimum) number of highly specialized tools (or features) and to create an environment that enables fast switching between them and using them in combination. This is why for example, people don't create two-handed screwdrivers; because their users wouldn't be able to do anything else with their hands. It's also why people don't use sledgehammers except in very unusual circumstances.

The lesson here is that you should
1) design a minimal set of features
2) have every feature be highly orthogonal to every other
3) make them all easily and immediately accessible
4) make them combinatorially combinable
5) did we say minimal? Yes, but it bears repeating
6) design a minimal set of features
Wednesday, March 08, 2006
People seem to have misinterpreted what I said. I am not saying that usefulness trumps usability. I am saying that neither is worth anything without considering the other. Believe me, I don't enjoy trying to use a remote control with 200 identical tiny rectangular buttons. Neither would I enjoy playing with those cheap Radio Shack remote control cars that can only go forwards and backwards. The first fails because of lack of consideration for usability, but the second fails for lack of functionality.

In summary, I think it is dangerous to state that the statement "works as expected" is the heart of good design. Rather, I would modify the statement to be "does what I want, as expected."
Garth Shoemaker Send private email
Wednesday, March 08, 2006
I don't think that it was as much your comment as the one directly following which sent things heading off in dangerous directions.  If something cannot do what you need it to do, than it is neither useful nor usable (put rather glibly, you cannot usefully use it).  The suggestion though that if you can throw more features into something so you can do put it to more uses that is worth ignoring usability issues, is patently absurd.
Ryan Schwab Send private email
Wednesday, March 08, 2006
Ah, I understand now. People were getting excited about the person saying that if something is useful enough, that will trump all usability concerns.

Well, just to play a little devil's advocate, I could partially agree and say that if something is useful enough it can trump _some_ usability concerns (although this is not a desirable goal). If something can only be achieved by wading through a horrible user experience, people will do it.

As an example, you could consider The Gimp art package. People who want a powerful art application, but don't want to pay for Photoshop, might be willing to put up with the eccentricities of The Gimp. They probably spent a lot of time and energy before they were accustomed to the interaction, but the goal was worth it for them.

So, I don't think the 2nd poster was completely out of line.
Garth Shoemaker Send private email
Wednesday, March 08, 2006
Yes, let's consider the Gimp art packages. Art Wilkins asked me in the other thread whether I was saying the Gimp has a well designed UI just because it offers features that MacPaint doesn't. Quite the contrary. The Gimp's UI is miserable.

One of the problems with the Gimp's UI is its adherance to verb-noun-subject order rather than the subject-verb-noun order which is far more natural, far more useable (efficient, effective) and far more powerful. Another problem is its rampant non-locality. Another ... well it has lots of problems.

Suffice to say that the Gimp is simply not useable. As a consequence, everyone who has moderate graphical needs will not try to use the Gimp (never have their needs met) or will give up on using the Gimp (and so be bitterly resentful because they *know* their needs *could be* met).

So please explain to me how you manage to interpret this world, our world, the real world, in such a way that usefulness trumps useability even some of the time. In my and many others' experience, useability constrains usefulness. A tool's value = min(useful, useable).

There is no "trumping" of one over the other; a valuable tool has both, period. Anything lacking in either usefulness or useability is simply not a tool, it's a toy. Either a toy you use to amuse yourself, or a toy inflicted upon you for others' amusement.
Richard Send private email
Wednesday, March 08, 2006
So we are agreed that The Gimp has a poor interface.

My point was that some people (not all) will be willing to struggle through a poor interface if doing so allows them to accomplish something they otherwise wouldn't be able to accomplish.

On the other hand, nobody will use an easily usable tool if it is incapable of performing what they need performed.

Now, I am in no way saying that the first scenario is desirable. I wish that The Gimp had a better interface, and designers are not excused from trying to design better interfaces just before their product is more functional. I am simply making a real-world observation.
Garth Shoemaker Send private email
Wednesday, March 08, 2006
A better example than Gimp vs MacPaint is Blender vs Wings3D. They're free to download so all may judge for themselves.

I am continually surprised that *anyone*, anyone whatsoever, uses Blender. It has the worst interface I have ever encountered. Made even worse in comparison to the extremely good interface of Wings3D.

Of course I agree with your point. People do use tools with horrible interfaces. The problem comes in when you ask how much use this tool has, how much value can be derived from it. Then it becomes a population problem.

In the population of potential users of the tool, those people with a need for it, there is one extreme who will not use the tool, or certain of its functions, because it is unuseable. At the other extreme, the value of the tool will be degraded by the steep learning curve so typical of unuseable tools, and ongoing inefficiencies.

For the former subpopulation, the value function looks like value = min(usefulness, useability). For the latter, it looks like value = usefulness - unuseability. Note that the latter can produce negative values.

If you ever figure out how to characterize people between those two extremes, or a general value function for everyone, please let me know.
Richard Send private email
Thursday, March 09, 2006
Ignoring the merits (or lack thereof) of The Gimp, Photoshop, Blender, or Wings, I was rather struck by,

"Well, just to play a little devil's advocate, I could partially agree and say that if something is useful enough it can trump _some_ usability concerns (although this is not a desirable goal). If something can only be achieved by wading through a horrible user experience, people will do it."

The topic itself implies that usability and usefulness are two separate concepts which at times can oppose one another.  I think this might be the reason a lot of concern was raised when someone suggested utility was more important than usability, because on one side people want their tools to do what they want, and on the other side people want their tools to be easy to use, but which should preoccupy design?

I would have to agree that usability is the heart of good design, and that it does not have to share that space with usefulness.  This is because I believe usefulness to itself be the heart of usability (I am sort of restating myself here but I think I've found a better way to express the idea).  The first step for any tool towards being usable is, can it do the required task.  If it can, than it useful (it does what it is needed to do), is at least posatively usable (even if it takes a massive effort, a user can make it do what it is intended to do) and its design is not an utter failure.  To be elevated to good design, the usability of the tool must be improved- it is already useful and nothing can be added to make it more or less useful for the task at hand.  Extra features improve versatility but this is not the same as usefulness as far as this discussion has so far used the term.

So, it is my opinion that when designing something, the first concern is to make sure that it is useful for its intended purpose, and from there to make it perform that purpose in as natural a way possible.  Additional features should only be allowed if they contribute meaningfully to the goal of whatever is being designed, thus increasing its usability (this is not to say I believe everything should serve one basic purpose, but nothing should attempt to serve more than one complex purpose on its own.  A word processor should process documents, and should not try to also balance your checkbook.  It should, however, allow you to check your spelling and add new words to its dictionary even if you can proofread your document by yourself, because its purpose is to allow you to create a number of types of documents correctly and the spellchecker helps make sure everything in your document is correct- a word processor without a spellchecker is still useful, but not as usable.  Similarly, a word processor with an intrusive spellchecker is still useful, but not as usable as one with an unobtrusive function like Word's squigglies, at least if they made it more intuitive as to how to turn them off if you don't want them), and as new features are added the design should be constantly refined to ensure that everything still works the way you would expect it to.

If the statement had simply been, "Usability is the heart of design," then yes I would agree that usefulness would be the key factor.  However, good design is about usefulness and a great deal more, and that is why utility can never trump usability, as a single part can never be more than the whole.
Ryan Schwab Send private email
Monday, March 13, 2006

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz