Saturday, April 28, 2007

Importance of "keeping it simple".

Sometimes you have to keep repeating a message so that everyone gets it, at the risk of sounding like a broken record.

There was a quote in this month's Popular science which applies to  software world as I had been trying to say in earlier posts- "good engineers find solutions to hard problems that are complex and hard to understand, but great engineers find solutions to hard problems that are so simple that you wonder why you didn't think about it in the first place"

Simplicity is not only important in software design but also to the user. I remember working on a product  which had a versioning scheme which was so complex that even the QA required several days of training to understand it. You can imagine the frustration for the customer and how long the feature existed in the product!

The next level of simplicity is in the user interface, Microsoft Office 2007 UI is a great example of how to scare the user by showing all options. 37 signals has some good examples of how to design a simpler UI. Sometimes you just don't want to see the configuration or edit controls unless you need it.

It is the job of every engineer and designer to ensure what they are working on is simple. If not, you are just working hard to make life hard for others!!!


dp Suresh said...

Very nice quote vishnu. It is so true.

bleugger said...

Vish - you got it. The complexity of a design is often its downfall. Also, complexity loves misery - it is like heaping burning coals on one's head. Once something is complex, it stays that way and gets worse. Things get so out of hand that you will find yourself saying 'now why did I do it that way?'

Nice talking with you Vish - dean