My girlfriend is rocking out to N'sync. She's lucky I love her so 33 mins ago
  • Date
  • Wednesday, January 23, 2008
  • Author
  • Corey Dutson

Do you suffer from Crummy User Experience?

I’m sick of Crummy User Expe­ri­ence (CUE). I’m sure there are many ways to describe it, and every­one can relate. Crummy User Expe­ri­ence is a broad term that gen­er­ally describes when you -the user- inter­act with some­thing -web form, bank machine, car door, etc- and it sucked, or sucks depend­ing on you’re lifes requirements.

Recently I had to sign up for a couple sites, I won’t say what ones because I don’t wish to bring them any undo ire. What they did wrong was no dif­fer­ent than many other sites do on a repeated basis: they didn’t tell me what to do.

I con­sider myself fairly web-​competent. I know how to fill out forms on the Inter­net and it isn’t all that hard in theory. The prob­lem lays in that if you could fill in forms with what­ever you wanted, there’d be no point to them because everyone’s address would be some­thing akin to “aherhaerhaerumnjmaes”or ” ” or “buttslolz.” Because of this some enter­pris­ing people, insti­tu­tions, and heart­less cor­po­ra­tions that want your input force you to adhere to a set of rules in order to avoid these scenarios.

Most people have no prob­lem with fol­low­ing these rules, though I will say that my address will for­ever be 123 Fake St. unless some­thing is get­ting shipped to me. The prob­lem is not in the rules but in their expla­na­tion to us.

Some­times web­sites are very clear about what they want by spec­i­fy­ing it in clear, con­cise lan­guage: “User­name must be between 5 and 11 char­ac­ters and con­tain at least 1 number” or “Postal Code exam­ple: A1B 2C3“. This is a good prac­tice because assum­ing your users are idiots will iron­i­cally result in a much lower screwup rate.

The point I’m get­ting to here is when you don’t state you’re rules, your users will default to basic behav­ior. Most people don’t know that user­names tend to have num­bers in them now, and I’m sure even less know that because of your half-​assed attempt at regex the postal code needs to be in capitals.

What does this mean? Well depend­ing on how you set up the form users may be forced to fill it all out again. This is a pain in the ass to start, and when you throw in the fact that many web­sites do not include detailed error mes­sages (error sum­maries people, error sum­maries) the users may -and in my case will- be forced to fill out the same form mul­ti­ple times.

This is an exam­ple of CUE. Lazy pro­gram­mers and lazy test­ing tend to be the main cause of form-​based issues. I know this because I was a lazy pro­gram­mer who sub­mit­ted his stuff to a very thor­ough qual­ity assur­ance person. He turned around and ripped my form apart. I learned quickly that by putting forth the addi­tional effort into plan­ning it all out and doing the job right, that two things would happen: the first thing is that I’d have less work coming back from the QA guys. The second was that I real­ized I was cre­at­ing the same thing that annoyed me so often on the web. I’m a reformed man as a result.

What I’m trying to get at is that when you’re build­ing some­thing, no matter what it is, try and look at it from the end-​users stand point. This can be a dif­fi­cult task at time and believe me when I say that it takes some prac­tice. You have to figure how users can screw things up that you find straight-​forward and fix said things.

Once you know how they can screw them up, save your­self some time and tell them how not to screw them up. As long as you stop their input from dec­i­mat­ing your server (san­i­tize your inputs, people) you can make your life easier by telling the user how to do things the right way.

That’s not lazy, that’s empow­er­ing.

Another step is to make sure that when they do screw up (which they will) make sure you tell them what they actu­ally did wrong. DHTML and AJAX con­trols depend­ing on your val­i­da­tion require­ments, can be fan­tas­tic ways to val­i­date on the fly… assum­ing you don’t make your error mes­sages jar­ring (i.e. javascript popup mes­sages are bad, don’t do them) or elu­sive (top of the page? I’m 15 inches down the form, I’m not going to see that) or cryp­tic “An error occurred.”

Once again, ask your­self what you would expect the user to see when they go through it. Do you really think big JavaScript popups are the best way to tell the user that their postal code can’t have spaces? Prob­a­bly not, but I’m sure it made sense at the time.

I know I’m using sub­mis­sion forms heav­ily as my exam­ple here, but the idea is still the same. Once you’re done build­ing your what­everi­tis, try it out your­self. Try draw­ing up some use-​cases get some friends or col­leagues to try it out. Pre­tend you’re a blath­er­ing idiot, and see how well you do then. Hell, find a blath­er­ing idiot and point him in your whatch­i­macal­lits direc­tion. Do what­ever you have to to get the sense of the users process. Find the prob­lem areas with your thingi­ma­jigs before they become the bane of every end-​users (which in turn will become the bane of your) life.

Don’t be lazy, and do it right the first time people.

Design Float Mixx Digg reddit del.icio.us StumbleUpon

Keep it clean, no spam, and thanks a bunch for any feedback you give.

*

*

*

No comments have been made yet.