Are you down with Poka-yoke?

December 9, 2008

One of the sessions I attended at the 2008 Adobe MAX conference in San Francisco was Web Application Development: The Error of Our Ways, presented by Robert Hoekman, Jr.. I went to this session in particular as part of my current drive to improve my user interface (UI) and Web accessibility skills. In the session, Hoekman mentioned the concept of poka-yoke, a Japanese term that means fool-proofing or mistake-proofing (see the Wikipedia entry).

The thinking behind poka-yoke is that a thing–software, hardware, whatever–shapes the user’s behavior in order to prevent or limit mistakes. An example that Wikipedia gives is how the key in an automatic transmission car cannot be removed unless the car is in park: the car tries to prevent you from leaving it in an unsafe state.

As Hoekman said in his presentation, we should be designing Web sites and software using poka-yoke, but often the design and interface of our creations encourages users to make mistakes. Or practically forces them to. For example, if you want a date in a specific format, you could indicate the format required. But a better solution would be to use a pop-up calendar widget where the user selects a date, that then formats that date properly. Even better, program your system so it accepts a date in multiple different formats in case the user doesn’t use the calendar widget. This last notion is part of a general theory of providing alternatives to your users, not trying to lock them into using your site in one set way (again, this is coming from Hoekman).

For more information on this subject, you should check out Hoekman’s site and his books. I’ve not read them myself, but have added them to my ever-growing list of books that I intend to read someday. His first is Designing the Obvious: A Common Sense Approach to Web Application Design. His most recent is Designing the Moment: Web Interface Design Concepts in Action.