Is there a good word to describe all three of them? Currently, I'm writing my thesis, and it's about designing an API. So one of my goals is to achieve all of these: simplicity, expressiveness and error avoidance. Meaning, that the API should be self-explanatory, be expressive and help the programmer to produce less errors. Any ideas how to combine all of these in one word?

closed as not constructive by FumbleFingers, Monica Cellio, Robusto, tchrist, cornbread ninja 麵包忍者 Dec 23 '12 at 18:16

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    Any word that would even come close would favor one of the concepts while soft-pedaling the others. Why can't you use all three? Or coin a new word (or acronym) and define its meaning as those three things. – Robusto Dec 22 '12 at 19:47
  • I don't think there is a single word that isn't uber-general (like "good" or "usable"). Aren't these concepts important enough to call out? – Monica Cellio Dec 23 '12 at 0:28

"intuitive" - as in this definition of intuitive software:

Application programs that have a friendly interface and work like users would expect. Menu functions are available in a logical order that one finds natural. The most common functions are presented in one menu or are located at the top of the menu list rather than being buried in rigid hierarchies that make sense only to the programmer who wrote the program. In other words, extremely rare software!

  • I don't think there's any reason to suppose that an intuitive user interface design would help the programmer to produce less errors. – FumbleFingers Dec 22 '12 at 23:25
  • @FumbleFingers, I suppose if it were intuitive enough to auto-correct certain user errors such as removing extra spaces or giving an error message if a phone number doesn't have enough digits, for example. My software programmers have added that kind of intuitive "intelligence" to our product. – Kristina Lopez Dec 22 '12 at 23:48
  • 1
    Ah. I see your point. But in practice, code that's smart enough to make things easier for users usually has to be much more complex (and thus error-prone) than code which forces the user to adapt to the way the software works. I once wrote a "foundry defects analysis" system for international use. All the users could have understood English well enough to use it, but they paid extra for me to code it using user-maintained "language packs" (luckily, I was a shit-hot coder, so I was able to deal with the extra errors caused by the extra complexity, and still get paid by a happy customer! :) – FumbleFingers Dec 23 '12 at 0:00
  • 1
    @FumbleFingers, awesome! You're right -there's always bound to be a trade-off. – Kristina Lopez Dec 23 '12 at 0:05

I don't mean to demean Robusto's idea to “coin a new word (or acronym) and define its meaning as those three things”, but suggest that you instead re-purpose an existing word, for example robust, which has several suitable senses:

straightforward, not given to or confused by uncertainty or subtlety;
Resistant or impervious to failure regardless of user input or unexpected conditions.

Here are some other candidates:

balanced, in its senses of “having weight evenly distributed”, “mentally and emotionally stable”, and “presenting opposing points of view fairly and without bias”
smooth, particularly in its sense “Without difficulty, problems, or unexpected consequences or incidents” but also in the senses “suave; sophisticated” and “natural; unconstrained”
elegant (“Characterised by minimalism and intuitiveness while preserving exactness and precision”),
friendly (“Having an easy relationship with something, as in user-friendly etc”),

For example, you might define a usability score, or an elegance score for an API, based on a weighted sum of its scores against your three main criteria.


The word "succinct" comes to my mind, although it doesn't really denote "error free." Still, it does convey the ideas of brevity, pithiness (i.e., meaningful preciseness), and a lack of fluff or unnecessary wordiness.

Not the answer you're looking for? Browse other questions tagged or ask your own question.