April 08, 2011

Why Developers Should Become UX Designers

by Tyler Tate

This is a follow-on piece to Why Designers Should Give a Bleep.

Why do you code? It’s probably not just for a pay check (lets face it, there are plenty of boring jobs out there that pay the bills). Maybe you code because you like working with the latest technology, or perhaps you take pleasure in crafting concise, elegant solutions to tough problems.

Did I hear you say, “I code to deliver value to users”? Hmm, didn’t think so. But you’re not alone: designers have their own set of motivations devoid of the user, from seeking the praise of others to creating a work of art.

It’s imperative that both designers and developers fight against our natural inclinations and treat the user as king. Whatever you’re working on, whether it’s an API for a payment gateway or a new request handler for Solr, you’re building it for the people who will use it. Want to become a better developer? Then start designing the user experience.

Want to become a better developer? Then start designing the user experience.

What UX is not

UX is not about style; it’s primary concern is not colors, textures, or font faces. These elements deserve attention, but they’re secondary to the user’s interaction with your application.

What UX is

User experience design is about helping users accomplish their goals as efficiently as possible. Sounds simple, right? It’s a straightforward concept that’s complex to achieve. Good user experiences are:

  • Discoverable. Can the user easily figure out how to accomplish their task?
  • Efficient. Are the steps involved in accomplishing the task irreducibly complex? Are there any wasted clicks?
  • Economical. Is the cognitive burden placed upon the user as minimal as possible?
  • Tactile. Is immediate and responsive feedback provided for each interaction? Does it feel right?
  • Recoverable. Is the potential for errors minimized? Can users recover gracefully when errors do occur?

While you might recognize the value of these rules of thumb, how can you as a developer achieve them in practice?

Developing a great user experience

You might have seen this joke floating around Twitter recently:

  • Q: How do you generate a random string?
  • A: Put a fresh student in front of vi and tell him to quit.

It’s a good reminder that the knowledge and preferences of developers are mostly likely very different from that of your users. To achieve a great user experience, you must put yourself in the shoes of your users. Don’t assume they’re like you. Talk to real users. Watch them use your application (without any hints from you) and notice where they stumble. Do customer support and see which issues keep coming up. It’s simple, but it will revolutionize the way you work.

To achieve a great user experience, you must put yourself in the shoes of your users.

In conclusion

Every application has users. Great applications are the ones built by developers who care about the users enough to exert the time and effort required to understand them.

blog comments powered by Disqus