GUIs: Control, Conveyance, Continuity, and Context

Scream of anguishI’m a sucker for basic principles distilled into pithy prescriptions.

A freelance writer, Brian Boyko, has distilled the basic features of graphical user interfaces (GUIs) into four principles: Control, Conveyance, Continuity, and Context. He uses them to structure a well-reasoned though shrill critique of Windows 8.

I’ve just checked a few of my favorite usability resources (Don Norman, Alan Cooper’s About Face, Ben Shneiderman), plus a bit of Googling, and I can’t find a “recognized GUI authority” who reduces the problem to these four aspects.

Even so, I think Boyko has hit on something good. When I tried to distill a modern set of security-relevant design principles for my textbook, I had no concise statement about usable security that was backed up by extensive industry practice. In other words, there are accepted design principles for security, but not for usable security. There are a lot of principles that outline what’s nice to have, but none that trump security traditions (like impossible-to-memorize passwords).

To quote his video, the four principles are as follows:

  • Control – The user is the person in control of the computer at all times.
  • Conveyance – The user should always be able to figure out where to go and what to do next, even for new and unfamiliar tasks.
  • Continuity – Similar actions should yield similar results.
  • Context – Users should be able to tell what is happening and recognize the available controls at a glance.

Some people might argue that the first one covers the rest. It’s hard to control something if you can’t tell what it’s doing. The remaining three help flesh out the real meaning of control.

Saltzer and Kaashoek distill this into a nice, pithy principle in their obviously-titled book: Principles of Computer System Design: An Introduction. They present the Principle of Least Astonishment in which systems should match the user’s experience, expectations, and mental models.

While I like what they say, I don’t quite believe it as stated. No one can seriously argue that the first Alto, the first Macintosh, or the first iPhone matched any computer user’s experience, expectations, or mental models. We make major strides in ease of use when we break the rules. We can indeed astonish people by presenting them with something that’s easier to use.

Boyco’s four concepts, and their descriptions, provide a good summary of a good GUI design. Practical systems will break those rules as needed, but each exception makes things a little harder for the users.

As with the security principles I present in the textbook, Boyko’s principles don’t encompass all aspects of good GUI design. They provide a terrific starting point for people who don’t specialize in the field.