Jef Raskin’s First Law of Interface Design Explained
In variation of Isaac Asimov’s first law of robotics, Jef Raskin writes the first law of interface design:
“Any system shall not harm your content or, through inaction, allow your content to come to harm.”
In other words:
Let’s say you enter this in an email field: jesperrr#gmail.com
and you get this error message: “not a valid email address”
Then the page reloads and the interface removes all entered text in the email field.
Removing or changing the text (in a harmful way) adds frustration to the end user.
Another example from an old version of our internal Capgemini timereporting (CTR): If you accidentally type “7..5” hours worked on a project a given day, the system will give this error message:
“You must enter the time as a valid number”
Then the application erases the field completely and lets you start over. That’s a violation of the First Law of Interface Design. Instead the system should give a more appropriate error message like
“7..5” is not a recognized time format. Please enter the time in the format “3”, “4.0”, “7.5” or similar.
Even better, if you can guess what the user actually meant. The new version of the system actually corrects anything like “7..5”, “7,.25”, “7a”, etc to “7” (it truncates anything from the end it does not understand).
Not really perfect to change to “7” if I meant “7.5” or “7.25”. So there is still a law violation, although it’s smaller than just removing the field content.
More examples
The worst kind of Interface Law violations are the ones that:
- says “username too short” and deletes the username completely
- says “error in your phone number” and deletes all the other fields so that you have to type everything again
- says “credit card information invalid. type again” and then deletes all entered credit card information
- says “wrong license code” and then deletes the license code field(s)
- says “incorrect captcha” and resets other fields I entered
All these examples fail in user experience because they do not take into account that you most of the time want to correct an accidental typo. The last thing you want is to re-type all the other fields, numbers, characters that were actually correct.
Exceptions
I think this one is ok if it:
- says “passwords don’t match” and deletes both passwords — passwords are not shown on screen and system does not know if you made a typo in first field or second field
Thanks to Mathias Müller-Prove for giving me the correct quotation. Read more in his short memorial of Jef Raskin “In Memoriam: Jef Raskin — User Experience Newsletter #5, March 2005”
What’s your favorite violation the First Law of Interface Design?
March 19th, 2009 at 15:03 (GMT-1)
Actually I first thought that this was Asimov’s original law. But few years ago Mathias Müller-Prove reminded me about the quotation in Jef Raskins book. He also pointed out that Jef Raskin actually changed his name from Jeff to Jef because he thought the second F was redundant :)
March 20th, 2009 at 15:04 (GMT-1)
@Jesper: Thanks for sharing the ‘extra F’ thing :)
I see this kind of violation in lots of websites including one shopping cart where my cart becomes empty if I made an error in entering my credit card details.
Another one that I see very often is forms resetting other fields when I entered an incorrect captcha which was difficult to start with.
March 20th, 2009 at 15:28 (GMT-1)
@Jeet:
Good example! I appended it to the list above!
March 27th, 2009 at 08:00 (GMT-1)
[…] Jef Raskin’s First Law of Interface Design Explained […]
April 17th, 2009 at 07:43 (GMT-1)
I have a UI Design Law that applies to redesigning existing functionality.
Medical doctors are trained to follow the principle ‘first, do no harm’ (from the latin ‘primum non nocere’):
http://en.wikipedia.org/wiki/Primum_non_nocere
The basic idea is: while improving the patient’s health is an important objective, not making the patient’s health worse is even more important.
While product redesigns are always started with the best intentions of making the product better, changes to existing functionality can often have negative side effects for users.
Sometimes, existing functionality is removed by accident without realizing it. Sometimes, the changes are made deliberately because the team thinks they know better, only to be set straight by the complaints of angry users. Sometimes, unexpected technical complexities and/or schedule pressures force a team to make a decision they know is suboptimal.
The costs of a redesign mistake goes up the more users you have. There have been several recent examples of popular products angering users with a redesign. Next time you see that happen, ask yourself whether or not the company was applying the concept of ‘first, do no harm’.
April 19th, 2009 at 21:31 (GMT-1)
“says “credit card information invalid. type again” and then deletes all entered credit card information”
I hate this one most, because credit card information usually contains large numbers…
April 24th, 2009 at 22:43 (GMT-1)
What’s really shocking is how common this sin is among even high profile sites. I’ve aborted many signups because of it.
April 26th, 2009 at 07:33 (GMT-1)
I’m always curious if there’s a logical reason why so many sites clear out my passwords when I fail the captcha or have some other reason why I have to re-enter my data.
September 13th, 2009 at 20:32 (GMT-1)
Deleting a user’s previously entered information is indeed a usability “worst practice”. I’ve seen systems where users were required to enter many fields including serial numbers and other complex data – then had this information cleared upon triggering an error. Dan’s reference to the Hippocratic oath is right on target.
November 25th, 2009 at 12:59 (GMT-1)
Hi Jesper!
You are speaking from my heart with your gut wrenching examples. I work in usability for quite some time now and we even offer a wireframing and usability testing tool to held designers avoid that kind of stuff. But I never understand, that even so called “usability professionals” test the workflows and processes of their sites many times, but very often leave the error messages to the programmers.
But it’s excatly when something goes wrong, that the user needs help from the system – he didn’s do the mistake on purpose!
Cheers,
Michael
April 10th, 2010 at 23:05 (GMT-1)
This is the sort of thing that makes people bounce – keep the information there an highlight it for goodness sake!
April 19th, 2010 at 07:17 (GMT-1)
There is another situation when the locus and focus of attention do not match (terms from The Humane Interface). You think you are there, start typing, but in fact you are not. And half a sentence is lost because the text cursor was not in the place you thought it was. My solution (or is this also taken from The Humane Interface?) would be to make the mouse cursor smart and temporarily store all the characters. During this time the chars follow the mouse. The next click to a text field would release the little guys to where they belong.
-Matthias