Recently, the CEO of Sprint could be seen in TV commercials stating "Technology is only great when you know how to use it.Here is an article that digs a little deeper into this ad campaign.  The purpose of the campaign is to highlight Sprint's customer service, which of course is vitally important to any company providing products or services. 

I am not here to criticize Sprint.  In fact, if you read the article, you will see that they are addressing technology simplicity as well as customer service.  I am here to criticize the statement above, specifically with software development in mind.

While customer service is vital, we cannot rely on it.  It doesn't matter how pleasant a customer service call is if the users are forced to call for support continually because they don't understand how the product works.  I'll paraphrase something I've heard or read before; "Technology is at it's best when you don't realize that it is there."  Now, that is a foundation to build a product on.

Good application designers are hard to find.  And even then, the design should be customized to the target user base.  So how do we make applications more intuitive to the user?  We listen.  We observe.  We ask the right questions. 

There are a lot of ways to accomplish this goal.  Paper prototyping (leading to usability testing) is one that has a lot to offer.  If you have never witnessed a usability session with paper prototypes, it might be difficult to truly understand the benefits.  In the usability session, your team sees firsthand how the user would interact with the application, before you have built it.  In a usability session, we listen, we observe, and we ask the right questions (frequently without vocalizing them).

How else do you simplify technology?  Well, by not doing the opposite.  I think, all too often, we developers tend to add something to an application because the technology is cool.  Sometimes the best answer is the simple one, not the one with that is most configurable.  TDD and YAGNI come to mind here.

I could sit here a long time with anecdotes about technology getting in the way.  The bottom line is, we should use a little bit of common sense.  If we had to go through hours of research or training to understand a new technology, is that something we want to expose a customer to?  The more we can keep technology hidden, the happier our customers will be.  This applies to framework builders as well.  How many times have we decided to use one framework over another because it is easier to use?

Strive for simplicity.

posted on Thursday, October 23, 2008 9:13 AM
Filed Under [ Agile Design Design Principles Quality ]


No comments posted yet.

Post A Comment