All User Interfaces Should Be Designed for Albert Einstein

Think about it.

  1. Professor Einstein is the ultimate non-technical user. He’s never seen a personal computer before. He doesn’t understand any computing metaphor or jargon. The application must teach him everything he needs to know, and he should get the greatest possible value out of everything he is forced to learn.
  2. Professor Einstein has enormous demands on his time, especially with the war heating up. The software must not pester the Professor for attention, require him to memorize or research trivial data, and it must not malfunction if left unsupervised.
  3. Professor Einstein is intensely curious about the world, including your newfangled software. The software must not condescend to the Professor by making decisions on his behalf, nor can it be allowed to keep secrets or play tricks on him. Don’t anger the Professor by creating an inscrutable black box.
  4. Only Professor Einstein understands the value of his data — literally. Ask him before you do anything that might compromise his security. For example, uploading the Professor’s passwords to a remote server where Nazi spies might find them would be evil, even if it is really convenient to have a backup.

Of course, these recommendations can conflict with each other, but you can balance conflicting concerns if you practice a little creativity, maturity, and empathy.

About Christopher Lane Hinson

A hairy haskell hacker with interests in games, computer science, and social justice.
This entry was posted in Software Engineering. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s