3 Simple Usability Tips For Developers

It takes a lifetime to become an expert on the usability field. Many developers may be interested in creating usable, successful applications. But the entry barrier is sometimes too high — it’s easier to rely on the usability experts than to know about usable applications themselves.

Although I’m really passionate about usability, I really understand that approach: Many of the developers in our company are not judged upon their ability to make usable solutions. They are measured on their skills in Java, .NET or whatever.  Also the current Wikipedia page on usability is hard to understand for anyone just faintly interested in the area.

However, basic knowledge of usability can often be of big benefit to most developers. So have simplified and boiled down  to these 3 simple statements:

Usability definition

In a simplified form, a usable system is

1) Easy to use

2) Easy to learn

3) Difficult to make mistakes

Easy to use: This is quite subjective scale to an ordinary system. Almost anybody — expert or not — have an intuition about system: Is it easy for me to use.

Easy to learn: You only have one chance to make a good first impression. For relations between people this is common knowledge. But when building user interfaces we often forget that first impression of the system.Was it really easy to use without prior knowledge? Did first-time use of the system require intense training? Do first time users ask questions or look for information the wrong places?

Difficult to make mistakes: Often overseen in the projects I see. There is a tendency to think that users always do the right thing (Push the correct button, do things in the correct workflow order, etc.). Do you remember back when there was no or limited undo in word-processing? First we had the mechanic typewriter. And after some years, Liquid Paper was invented. Today’s common desktop programs all have unlimited undo. Also a few web apps have (GMail is one), but most applications we build for clients still don’t have it.

Developers tend to think that undo functionality will be too complicated. What about transactions that have to be reversed, etc? I couldn’t agree more. Building simple interfaces is a very complex thing.

Consider this example: A missing person is declared “dead” by the authorities. A few years ago I spoke to a person maintaining the Danish Social security database. Sometimes, a person is declared dead by accident.Either the person shows up, or it turns out that the authorities  by accident have declared the wrong person dead. To undo that action, I was told, is 100 times more expensive.

All in all

Consider these simple rules and you’re on the right way. This is by no means a replacement for dedicated usability work in the projects. However, it’s a good supplement and can be used instead of exposing non-usability resources in projects to complex words that has value to experts.

Forget using words such as affordance, error-rate, click-through-rate, task-efficiency, contextual inquiry, quantitative and qualitative analysis. Start using the simpler easy-to-use, easy-to-learn, difficult-to-make-mistakes.

More info:

Technorati Tags: ,

10 Responses to “3 Simple Usability Tips For Developers”

  1. Jesper Rønn-Jensen Says:

    Matthew Oliphant posted this lengthy reply on his blog UsabilityWorks: Translating Usability to Dev-Speak

  2. Pin Says:

    The world best system, or inventions, could be from simplest technology… I agreed that system must be simple, easy and available to everyone!

  3. Pin Says:

    By the way, can I have your email?

  4. Pat Says:

    A lot of usability is common sense. The problem is that a lot of developers don’t think about the end user.

  5. Aashish Realgroup Says:

    Usability definition> In a simplified form, a usable system is that which is User Friendly. (It covers all – Easy to use, easy to learn & Difficult to make mistakes) Simply; Think like a user while development.

  6. Jeff Says:

    Most developers are too smart and dont think like the level of people using the software. After doing tech support for three years I learned you cant assume anything or you are trying to solve problems and getting asked questions like “oh, you want me to turn the computer on?”

  7. Red Says:

    I like your approach. I am by no means a programmer, but I have worked with many in my day job.

    They all mean well, but in laymans terms, I find it hard to undertand. They typically think very modularly and process oriented, and Im looking for more simple, easy terms to understand!

  8. golf packages in Arizona Says:

    This is a great break down, and your last point hits home. It amazes me when we develop programs, and then think we have all considerations taken care of, the users come along, and find the most interesting things that they do to break things. I am always floored when they find a way to mess something up that we never considered.

  9. Hectic Bloggers 2009 Says:

    Thanks buddy for you usable hints and tips! I will help this 3 steps on my blogging carrer.

  10. Peter Moss Says:

    I agree with you. Most employers and their HR departments go by the list of acronyms aka skills. I’ve been asked many times if I know “See number sign” (C#) and how many years of this or that I have.

    They are asking the wrong questions. It does not matter much that you know
    the syntax of the language if you cannot design UI, database or your back end.