You Can UX Too: Avoiding the Programmer's Interface

Programmers have a bad reputation when it comes to UX, but it's time to set the record straight: It isn't because we don't care! It's because we fall in the trap of thinking we can design a user interface and write it at the same time when, the truth is, these processes require different kinds of thinking. But learning how to unlock that part of your brain is worth it – and you'll be surprised at what you already know. From one developer to another, this talk will discuss why you should think critically about the interfaces you write and give you some strategies you can start applying right away, whether you're implementing on your own or working with a UX professional. This talk is aimed at developers, both front-end and server-side, who implement user interfaces but may not have training in UX. Because really, ALL programmers implement user interfaces. Sometimes the user is another developer (in the case of an API) or a more advanced user (for a command-line tool), but don't kid yourself: all software has users. Page

by Eryn O'Neil @eryno

I am glad to see a developer expressing the importance of front to back UX consideration. I see myself as more of a full stack developer so I can't relate directly to Eryn's purer back-end perspective but her presentation included a lot of information that is useful for anyone in the development community. UX is very important and I fully agree with her definition of “good software”, “good software is software that people want to use and want to keep using”. The slides where exactly as they should be in my opinion, short key points. It would be awesome if she could post them along with her notes that we can share the UX “Kool-aid” with our management. In both of the talks I went to that included Eryn she was a very compelling presenter and I would certainly attend her talks in the future.

Below are my notes for the talk:

  • not a ux professional, she is a programmer
  • works at clockwork making lots of different software
  • “good software is software that people want to use and want to keep using”
  • programmers should care a lot more deeply about the interfaces they write
  • the best software happens when everyone on the team feels ownership of the user interface
  • if no one can use your software no one cares about it
  • we use more software then anyone else
  • programmers are uniquely capable of having opinions on interfaces because we are the ones who make them
  • interfaces are our prototyping tool as piano are prototyping tools for composers
  • all software has users even APIs and bash utilities
  • usually interfaces don't start out crappy, it ends up that way over time (scope creep)
  • negative taste vs positive taste
  • positive taste – look at something and know how to make it better
  • negative taste – look at something and know something is wrong but not how to fix it
  • program's interface is the result of designing something while simultaneously creating it.
  • UX first – plan what you are going to build before you build it. as well as continuously throughout the process
  • user centered design – needs, wants, and limitations of users are considered during the entire software development process.
  • don't invent the wheel – users spend most of their time interacting with software that isn't yours
  • also ux people spend a lot more time solving ux problems than we do.
  • pattern matching – group things appropriately for the context
  • don't expect people to read anything
  • avoid surprising behavior
  • watch people use your software – user testing
  • developers need to think about how the implementation will impact UX. consider the things the UX designer has missed like edge cases.
  • don't say “no”, say “yes, but”