Friday, July 28, 2006

Oops!

After I did my last post on the 0.01% solution, I went out for a walk.  I got to thinking about how applications respond to errors in input. One of the key points made by one of the major gurus of quality, Dr. W. Edwards Deming, was that it was more logical to ascribe the mistakes in processing to the process itself rather than to the people performing the process.  Rational management should design the process to reduce the number of possible errors.  I think the same thing is true about applications. 

I order a lot of things on line.  Each of these applications will ultimately as part of their checkout process ask for credit card information.  One of my pet peeves is that there is a lot of variability in how these applications will accept the credit card number.  Some applications require you to enter the spaces that appear on the credit card.  Other applications will not accept spaces at all.  I think that that is incredibly stupid.  The application ought to accept the credit card number with and without the spaces and internally converte to the format that it needs (I assume that’s without the spaces).

Another of my pet peeves is how applications handle addresses.  The application typically provides multiple input boxes to hold the one or two address lines for the street address, perhaps an apartment number, city, state, zip code, and so on.  If someone provides me with an address in an email and I want to get a map for that address, some of the mapping applications I use require me to parse the address to figure out all of the various piece parts.  What I really want to have is a text box I can paste the entire address into and ask the application to parse out the various piece parts for me.  The application would still have the various fields with the various parts of the address.  The parsing function would fill in those fields for me.  I then could edit those fields as needed and submit the address.  [This idea is not original with me.  I’m not sure where I read this, it might have been one of Alan Cooper’s books.  In any case I think it’s a good idea and I want to add my voice to promote it.]

Along the same line, I think applications should capture statistics about the errors that users make when they enter data.  A large number of a particular kind of error for a particular input field is not an indication that you have a lot of stupid users.  It is an indication that you had designed the application stupidly.  A good application makes it hard for users to make mistakes doing the typical processing.  Now I understand that there is a risk that you might make the application so “cuddly” that it becomes almost impossible to get useful work done.  However, a robust and vibrant application is aware of its environment and overtime adapts itself to productively serve the needs of its community.  If the application needs a credit card number and there are a lot of errors generated because people enter those credit card numbers with spaces that is an indication that you should accept spaces.

0 Comments:

Post a Comment

Links to this post:

Create a Link

<< Home