Tuesday, December 18, 2007

Feature Complexity vs. Feature Value

Sometimes, as engineers we become guilty of pouring large amounts of time and energy into a feature that yields little or no value to our users in the long run.

Sometimes, as engineers we overlook some trivial detail in usability that would have made a world of difference to someone who needs to use it for a living.

I'm no usability expert, but I really like watching someone using my program:
  • I watch the way their eyes scan the screen when it first appears
  • Is there any repetitive motions?
  • Does the user seem to be hitting dead ends anywhere? Are they searching for some button or display feature that doesn't exist?
One of my clients was a very slow typist, and he was mentioning some occasions where he lost his work on a web form due to session expiration. Instead of extending the session timeout, I added these four lines of code to the HEAD tag of his web form:
       function AlertUserOfTimeout()
{
alert("You will be logged off of this page in ten minutes, save your changes while you can!");
}
window.setTimeout("AlertUserOfTimeout()",<%=(Session.Timeout-10)*60*1000%>);
Basically ten minutes before the server disposes of his session, he has a popup window reminding him to save his work.
Today he told me that these four lines of code saved him hours of work! Now that is some code with real value!

0 Comments:

Post a Comment

<< Home