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?
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.