Developers are not Users

Posted by Eric Bastholm on November 4, 2010
Nov 042010

Your developers are not users. This may seem a bit obvious and not at all surprising. It may not be clear, at first, what the significance of this is. However, it is a very important point to remember because if this fact is not addressed it can negatively affect usability of your website or application.

Developers are generally highly intelligent, motivated individuals who consider their application to be their “baby”, and they are very skilled at organizing and processing information. The developer will find some things very easy that average non-developer people will find very difficult. On the flip side developers are not very good at, say, dancing or appreciating a rainbow, so it all evens out in the end.

As a consequence of this technical ability developers often over engineer and produce designs that are more complicated than they should be. This is in part because they get excited about the project and start adding things that are not needed and partly because they simply learn very quickly to use the first non-optimal design that they might have come up with. They tend to not consider usability issues to much and almost certainly never do any usability testing with actual users. To be fair, project management probably rarely gives them the opportunity to do it anyway and resort to the train the user solution.

This is why you can never leave the design entirely up to the developer. You must insist that the design is created in consultation with users who are actually going to use it. This does not mean the users’ manager, this means the actual users. They know the business, they know what they do every day, they know the best way to do it. The users are normal people. They will behave very different to the developers. They will make silly mistakes, they will be less attentive to detail, they may be older, they may be younger, they may be anti-change, they will be more likely to fall victim to things like change blindness and other perception tricks.

Some of things that you should watch for because developers won’t:

  • Unnecessary features. Features in the design that, although cool for the developers, the users will never use.
  • Complicated layout of information. Normal people will tire of a cluttered interface. Developers can handle a lot of information without effort.
  • Non-standard controls and behaviours. Users are familiar with whatever is most evident in standard design practices. Invent something new at your own peril. Developers love doing new stuff. Don’t let them unless the users like it.
  • Inadequate task analysis. Often a outwardly good looking design fails because of some issue with the way the user has to approach a task, or there is a conflict between the developer and the user mental model.
  • Instructions. If there are instructions within the interface design to explain how to use it then the design is not right. In practice, the users don’t read the instructions anyway and will try to use the design how they think it looks like it should be used.
  • Highly interactive components. Controls and data that when changed result in a lot of changes to other parts of the interface should be avoided. Developers love this, maybe because they think it’s cool and shows off their programming skills, but users will get confused or even worse will completely miss something important.

It is clear from the above list that the best plan is to incorporate some level of usability testing combined with a rapid prototyping methodology of the user interface. Even a very basic level of usability checking gives very good results. Get regular user feedback and work it into the design. Do this often and you will end up with a design that the users love.

© 2011 phinetune Suffusion theme by Sayontan Sinha