Principle of least astonishment
Dear visitor: Please keep in mind that this post is originally from Vibor Cipan's personal blog, the name of which we eventually adopted as our company name together with its conveniently-named URL. We're keeping the posts on our official company blog for all the subscribers to Vibor's blog who have read and commented on his previous posts. Please be aware that this post represents Vibor's personal thinking few years ago and doesn't necessarily represent the opinions of the UX Passion as a company today.
These days I’ve stumbled upon something called Principle of least astonishment (surprise) and it caught my attention. I guess you can already derive some meaning from the name of the Principle of itself – but let’s see what PLA actually is.
If you go to almighty Wikipedia you will find pretty reasonable definition stating that in user interface design, programming language design, and ergonomics, the principle (or rule or law) of least astonishment (or surprise) states that, when two elements of an interface conflict, or are ambiguous, the behavior should be that which will least surprise the human user or programmer at the time the conflict arises.
Tough the definition by itself is not a problematic; I can still notice that something is clearly missing. Definition only deals with conflicts. Even the example given on Wikipedia page goes like this:
A user interface may have the behavior that pressing Control-Q causes the program to quit. The same user interface may have a facility for recording macros, a sequence of keystrokes to be played back later, intended to be able to control all aspects of the program. The user may want to record a keystroke sequence that includes Control-Q as part (most likely the last part) of the macro. The principle says that pressing Control-Q while recording a macro should not quit the program (which would surprise the user), but rather should record the keystroke.
And again, we’re dealing with conflicts. I see that as a one part of bigger story. PLA talks not only about conflicts, but rather about all unexpected (re)actions.
Talking from user experience perspective, PLA should serve us as a good reminder of what TO DO, and what to AVOID. Users interacting with our applications, services or something else should not be surprised with the way application or service is working.
If you put some text and underline it, most of users will think it is hyperlink that is in question and will try to click on it. Then nothing will happen and they will be astonished (surprised? angry?). Therefore, the ole rule is never to underline the text which isn’t hyperlink. You see what I mean…
OK, so what is bottom line?
We are all dealing with users (or we are users as well) with certain expectations. Principle is very simple – do your best to meet those expectations, avoid surprising your users. Applications, web pages – these days – its jungle and wild, wild world out there, things can get easily misunderstood and users can easily get frustrated. Frustrated user is not happy user. User experience is all about being passionate for users? and not to let them being frustrated.
Again, it’s simple (and not always easy) to follow – users have their expectations, meet them!
And is it possible to astonish users, in that cool, pro and positive way? And to meet their expectations? Is that a conflict by itself? Maybe the answer is just in following their needs and expectations.
Astonished? Surprised? You tell me.