Friday, July 03, 2009

Think from the user's perspective...

I am a regular follower of Hugh McLeod and his unique picture blog at GapingVoid. This particular cartoon by Hugh caught my attention a few days ago and I was constantly thinking about how true it is with regard to the work we (I) do.

Gaping Void Cartoon: it's not what the software does...
We write a lot of code for a lot of projects.. we build lots of pages that hundreds and thousands of people will look at and interact with every day.

Most of the time we are engrossed in thinking about stuff like what the code looks like, if the data is coming from the database, are we able to navigate the pages, etc.

However, a project is not all about what the software can do.. it’s about what the user can do with the software!

How many times do we actually think about how the user would feel, think and react, looking at our page for the first (and maybe even after the first) time?

We execute all our test cases perfectly, click what needs to be clicked, enter just the right data that needs to be entered.. because we know what to do.
We know what data the code accepts, and what needs to be done after what, because we designed and coded the application.

How about the user then?
  • Have we given him enough information to know what to do?
  • Is our page easy to understand, and the flow of elements in the right order?
  • Have we allowed him to enter only the right kind of data, in the right place, at the right time?
  • Have we prevented him from doing something he should not?
In other words, did we put ourselves in the user’s shoes while testing it?

These are some of the things we need to ask ourselves when writing any software that is meant to be exposed to a large audience.

It takes a little effort to think about and understand something we know so well from a layman’s perspective. But that little effort will lead to great improvement in the quality and usability of the software we develop.