specializing in digital media technologies

Digital Media and Communications Insights, Inc.


Larry Ullman's Blog

Validation Suggestions

I was reading some articles about validation routines in Flex (as part of a book I’m writing on Flex + PHP), when I came across a particular article that’s part of  the Adobe Developer Connection. The specifics of the article revolve around validation in Flex, of course, but I thought that the section on “Best Practices for Client-Side Validation” would be good reading for any one doing user interface. There are four suggestions there, all on how an application should treat the user. Those suggestions are:

  1. Prevent, Don’t Scold
  2. Give Immediate Feedback
  3. Let the User Work
  4. Innocent Until Proven Guilty

The first rule ties in nicely to a post I just wrote on putting the user in a place where they can succeed. I don’t want to waste time here re-iterating what’s said there, but give it a read—at least that part about best practices—and keep that perspective in mind the next time you go to design a user interface.

The First Rule of User Interface

The other day I was registering to use a state government Web site. I think government sites often tend to be among the worst offenders when it comes to usability. In part this is because they’re always outdated and, I suspect, because the financing for the site was based upon meeting the government organization’s specific needs, not giving the end users what they want (generally speaking, there are exceptions, of course). This particular site had the added deficit of being developed using aspects of ASP.NET that make the site only usable for Internet Explorer (that’s acceptable? really?). So I have to dust off off my Windows setup (I primarily use Macs), just to run Internet Explorer (really?), and I go to register…

I fill out the form properly, I thought, then click submit. At that point I see a message about my chosen password being invalid because it didn’t contain both upper- and lowercase letters, plus at least one number. That’s a fine requirement, of course, but why didn’t the registration form indicate those requirements? It’s obvious that an email field needs a valid email address, but if you’re developing a site and you know that you’re going to validate a field to confirm that it includes both upper- and lowercase letters, plus at least one number, how about telling the end user that, too? So here’s the first, most important rule of a good user interface:

A proper user-interface sets the user up to succeed.

Whether you’re designing a Web site, managing a group of people, or being a parent, you have to put your users, employees, and children in a place where they can do things well. And by “well”, I mean: they can do things they way you think they should!

Conversely, I just finished doing my United States taxes, which I always do online using TurboTax. I use TurboTax primarily because the user interface is extraordinarily well done. For example, it’ll ask you a seemingly random, strange question, like “Did you roll over the proceeds from a farming operation into a non-work-related 403b?” I might look at that and go “huh?” but one great thing TurboTax does is add parenthetical notes like “This is not common.” Simple and brilliant. And TurboTax has other nice features, like indicating where you are in the process, reviewing the data you’ve entered, and so forth, but the clear messages—right where I’m focusing at that moment—make it easy for me to use the system properly.

It can be tricky for developers, who are theoretically quite knowledgeable about computers, to put themselves in the mindset of an end user, but there here is one simple way to create a successful user-interface: look at what you’re doing on the server side of things. If you’re going to check a password field for a number, put a message on the form saying a number is required. The same goes for a length requirement. If a date will be validated against a given format (like four digits for the year), have the form indicate the proper format, too. The same goes for phone numbers. If a username can’t contain a space, say as much. Set the user up to succeed instead of making them feel stupid for not doing something they weren’t told to do in the first place!

Filed under: Web Development — Tags: , ,

The $300 Million Button

If you haven’t yet read it, this article called The $300 Million Button is well worth your five minutes. It’s by Jared M. Spool and posted on the User Interface Engineering Web site. I don’t want to give away the secret of the article, but it discusses a very common practice on e-commerce sites, and how it tests with end users.

Filed under: Web Development — Tags: , ,


Page 1 of 3 1 2 3

If you have a question, are seeking information, want to download files, or generally have any need related to a specific book, please make sure you are using the correct link. Check both the title and the edition.