UX Design Versus UI Development
Published: March 21, 2010
One of the more interesting tensions I have observed—since getting into user experience design about five years ago—is the almost sibling-rivalry tension between UX Designers and User Interface (UI) Developers. At the heart of the tension between them is the fact that most UI Developers consider themselves—and sometimes rightfully so—to be UI Designers. The coding part is like Picasso’s having to understand how to mix paint. It’s not the value they add, just the mechanics of delivering the creative concepts.
When I worked on the Body of Knowledge Task Force for the Society for Technical Communication, the interesting question we wrestled with was: What value does a technical communicator add above what an engineer who writes well offers?UX Designers or UX Architects have the same problem to solve: What value do we add that differentiates us from a UI developer who is user focused? This question strikes to the very heart of what differentiates us, as UX professionals, from UI Developers. If we don’t provide a compelling answer, the only one left is that they code and we don’t. Hmm…, not the kind of value proposition I’d be comfortable with in this economy.
I was recently reminded of the import of this problem, when a UX Designer lamented that he had approached the Product Manager for a new product with the question: “Have you thought about how to ensure the quality of the user experience?” The Product Manager’s answer was: “Oh yes, so-and-so is developing the UI,” where so-and-so was a talented and user-focused UI Developer. So, how do we break into the product-design process when something like that happens?
I thought about this on my drive home that night—on almost empty roads, because the weatherman had predicted two millimeters of snow for Atlanta, and the town was shut down in anticipation—wondering how to counter in response to a statement like this: “We have a talented developer working on it.” My conclusion: I’d come back with, “Great, he’s good! Where is he going to get his user data?”
I think a mistake we sometimes make as UX Designers is that we believe, if the race starts at wireframing, we will win. But if that’s where the race starts, we have no advantage over a talented UI programmer. It’s not like we have a monopoly on secrets about design patterns and best practices for user interactions. Some UI Developers have the same knowledge and, in some cases, were even the ones who pioneered those patterns and best practices.
In this column, I’ll examine the differences and commonalities between the UX Designer and UI Developer roles and discuss how the two can complement each other rather than compete.
The following descriptions of roles are a bit oversimplified, but provide a workable framework for a discussion of the respective contributions of UX Designers and UI Developers.
- UX Designer—One who designs the user experience for applications after doing user and workflow analysis, producing user-centered design artifacts such as personas, site maps, taxonomies, and wireframes. A UX Designer may also conduct usability testing on prototypes or finished products to assess the quality of a user experience.
- UI Developer—One who builds user interfaces that support the exchange of information between an application’s users and its back-end processes and databases. This could be either a fully dedicated role on a development team or a hat a developer who is also responsible for coding the back-end processes might wear. A UI Developer’s output is functional, testable, shippable code that lets users accomplish their goals when using an application. The UI Developer is also responsible for documentation that allows others to maintain their code.
Figure 1 illustrates the resultant overlap of traditional UX design skills and UI development skills.
Figure 1—Overlap between UX design and UI development skills
The area that tends to fall under the exclusive domain of UI development includes the programming skills and knowledge. If you had a pin labeled Ruby on Rails, the UI development role would be a good place to stick it. The area that tends to be the exclusive domain of User Experience relates to user research and usability testing. Thus, if you had a pin labeled card sorting, the UX side of the diagram would be its predictable home. The area of shared expertise between the two roles includes knowledge of UI patterns and standards—the widgets and elements that make up a user interface—as well as knowledge about the software development process. This diagram is somewhat oversimplified—imagine one where the borders are fuzzy rather than crisp lines of demarcation, and you’d get closer to the truth.
How These Roles View Themselves and Each Other
As I’ve worked with and listened to UX Designers and UI Developers, I’ve noticed how they view themselves and each other. I am reminded of the crime shows on TV and who is the primary crime solver on each of them. You get a very different impression depending on which show you watch. The CSI shows would lead us to believe that the forensic scientists solve the crimes—including the arrest and interrogation of suspects. Quincy ME tried to convince us that it was the coroner. And patrol cops, detectives, profilers, prosecutors, and defense attorneys might emerge as the central crime solvers, depending on what show you watch.
In short, if you ask a UX Designer and a UI Developer who is the principal designer of the user experience, expect to hear a resounding I am! from both of them.
UX Designers see their validity as coming from the user research that informs their designs. “We’ve talked to the customers, and we know what they want.” UI Developers see their validity as coming from their knowledge of the underlying technology’s capabilities and constraints, along with their knowledge of how to use the widget library at their disposal.
And the tension between the people in these two roles has been known to generate hard feelings. UX Designers resent the disregard developers sometimes give their designs. And UI Developers feel that UX wireframes are too static and don’t take into account what they discover during the process of building a user interface. As a design comes to life, the developers gain new insights—either while interacting with the back-end processes or by testing the interactions they are building.
Another source of resentment that sometimes arises is UX Designers’ feeling that they’re getting left out of the development process as their wireframes move into production and would like to be more involved when changes are necessary. Conversely, UI Developers feel left out up front, where they feel they could provide informative inputs about what the available technology and tools can do and what they constrain.
I think the two roles have distinct areas in which they respectively add their unique value.
The professional value UX Designers offer includes their processes and the artifacts they create that help inform and validate design and development around user needs. When we create a wireframe or prototype, it’s our way of communicating data-driven—or at least process-driven—design considerations. Such a design artifact should be a straw man that starts a collaborative process of review and refinement. (Sometimes, being a UX Designer feels like being a forensic sketch artist who draws a nose, any nose, so a witness can say broader, thinner, whatever.) The best case is when a design deliverable both visually communicates data-driven requirements and provides a working space for collaborative input.
The professional value UI developers offer is their use of technology to actually make the best user experience happen. In that role, the UI Developer is a rightful participant in the design process. Bringing a conceptual design to life is a creative function, and a UI Developer can help the design mature and emerge by applying his or her own creativity to the process. If a UX Designer were to insist that his wireframes were unquestionable blueprints, we’d lose the insights that could come from a UI Developer’s craftsmanship in building that blueprint into a functional structure in which a user would want to work.
So, as UX professionals, our ultimate value is that we follow a process that includes data gathering, data validation, collaborative design, and usability testing of our designs. Our process can channel the talents of UI Developers and support their involvement in design by informing them of user needs, then validating that the emergent design meets those needs.