For whom do we develop software!

badaman_hands_on_clayInterface design is hard. Which is why most programmers turn a blind eye to it. During collaborative development I frequently encounter fellow programmers remark something to the following effect: ‘…do not worry, the users are not idiots, they will understand for what these buttons have been provided, no need to provide tool-tips or any help, lets get these code working and show it to the client.’
Interface design or rather usability design is usually left as an after thought; a colorful facade that you stick on to your backend code.

The following two videos provide a stark reminder, that for most of the time these are the people we develop software for.

Although the above videos are in the context of the users familiarity with the concept of a browser, it brings home the point that for the user the interface is everything, which most of us developers give little thought. Most users don’t care what browser or the version thereof they are using, they just need to get the work done somehow.

People are not idiots as the above videos may have you believe, on the contrary we developers are not smart enough to create usable software.

Writing software, once we become comfortable with the language and environment is easy. But crafting software that the user will love and admire is a lot harder, which in the end is what really matters. Not that I’m downplaying the importance of good code – testing, security, code efficiency are all important elements of a good product. But for the user, the interface is the product. Apple seems to get it, so why can’t everyone.

The path out of this quandary is to really understand usability. If you are a freelancer developer get some good books on interface design and usability, read them, try to implement as much good interface designs into your current project as you possibly can. Over time this will become almost second nature to you. Below are some of the books related to good interface designs that I personally like:

don't make me thinkdesigning-interfaceseffectiveuidesignofeverydaythings

Many readers will be surprised by the absence of Coopers’ About Face 3 here. Coopers’ is a decent book, but I somehow do not like it. It is a tad wordy and preachy, most of which I do not agree on.

2 thoughts to “For whom do we develop software!”

  1. In the same note, if a browsers’s interface is elegant and plays its role efficiently, shouldn’t the user not even recognize its existence?

  2. I always feel usability is of the utmost importance, and I am continuing to learn along the way (still learning, as you can see by the buggy site).

    Wouldn’t developers want to create something that is so usable that it shouldn’t be explained? I always aim to try to accomplish what others are looking for in my project, and then when the simplicity is set, can advance alternatives to heighten the experience.

    But I my goal would be to have something that can’t be explained, or can be explained in many ways. That is when the user experience is rich. These answers should be ideal responses for a project; shows people are using it. Or maybe not if confusion leads to absence.

Leave a Reply

Your email address will not be published.