Sign In

Communications of the ACM


Why Is Great Design So Hard?

View as: Print Mobile App Share:
Carnegie Mellon Associate Professor Jason Hong

I want to take a slight detour from usable privacy and security and discuss issues of design. I was recently at the Microsoft Faculty Summit, an annual event where Microsoft discusses some of the big issues and directions they are headed.

In one of the talks, a designer at Microsoft mentioned two data points I've informally heard before but had never confirmed. First, the ratio of developers to user interface designers at Microsoft was 50:1. Second, this ratio was better than any other company out there.

As someone who teaches human-computer interaction, I wanted to push on this point, so I asked the hard question: "On a relative and absolute scale, Microsoft has more designers than Apple or Google. However, I think most people would argue that Apple and Google have much better and easier-to-use products. Is it an organizational issue, a process issue, a skills issue? What do I tell the students I teach?"

I want to make clear that my question wasn't meant to be negative of Microsoft specifically. It actually hits on a pervasive issue facing the software industry today: how do we effectively incorporate great design into products? Because, to be blunt, a lot of user interfaces today are just plain bad. Painfully bad.

Companies like Nintendo, Apple, Google, and Amazon have proven that good design matters. Why haven't other companies followed suit? Or perhaps the real question is, why haven't other companies been able to follow suit?

I discussed this issue with a lot of people at the faculty summit and in Silicon Valley. I used Microsoft as my example, but I think the same problems apply to pretty much every software company today.

People offered five explanations. The first is the "geek culture" where engineers rule. At most software companies, there has never been a strong mandate at the top for great design. Instead, engineers tend to have wide latitude for features and implementation.

Second, there is often no one in charge of the overall interaction and user experience. As such, there tends to be no consistency and unified flow for how a system looks and feels.

Third, designers tend to be brought in too late in the process, to do superficial work on a system that has already been built.  One person basically said it was "lipstick on a pig". Design is more than just the surface layer of the visual interface. It's also about understanding how people work and play, how things fit into their lives, how people see and understand things, what problems they have, and how to craft a product that fits these constraints.

Fourth, designers have no real power in most organizations. They are typically brought in as consultants, but cannot force (sometimes necessary) changes to happen.

Fifth, a lot of people in technical professions just don't "get" design. They think it's just putting on a pretty interface, or worse, the equivalent of putting pink flamingos in one's lawn. A lot of this is due to education in computer science programs today, which focuses heavily on algorithms and engineering, but leaves little room for behavioral science, social science, the humanities, and any form of design, whether it be industrial design, graphic design, or interaction design.

Overall, this issue of design is a fundamental problem that industry doesn't quite know how to get their heads around. Just hiring an interaction designer isn't enough. Improving the ratio of developers to designers isn't enough. With the advent of trends like "design thinking", the increasing number of human-computer interaction degree programs, and visibly great products, people are starting to realize that design really matters, but just don't know how to go about making it a fundamental way for organizations to make software, rather than just "lipstick on a pig". The problem becomes even harder when the system combines hardware, software, and services, which describes pretty much every system we will have in the future.

I want to make clear that we as researchers and educators don't know the answer either. But, in my next blog entry, I'll write about my discussion with someone who used to work at Apple, with some insights about how their process works. I'll also be visiting Google next week, so I'll be sure to ask them these same questions.

P.S. I want to get your comments and feedback, but please don't use the word "intuitive", talk about "dumbing down interfaces", or say that users are "dumb, stupid, and naive". These are signals that you really don't know what you're talking about. And yes, not all interfaces have to be walk-up-and-use.


Randall Neff

This article is nothing new, the same whining is in Cooper's book (1999), Winograd's book (1996), and books by Norman, TOG, Nielsen, and others. The problem is there is no clear example of a 'great' user interface versus a 'bad' user interface solving the same problem. I suggest that you pick an open source program, then design and implement a 'great' new interface. Programs like GIMP, Inkscape, Blender, Eclipse, LibreOffice are all possibilities for an impressive user interface makeover. Show us why user interface matters. Don't write whiny papers, implement a great impressive new interface that runs on Linux, Windows, and Mac. Document the process on a blog. Let the users decide by downloading and using both versions.
Encourage SIGCHI to run a design and implementation contest for the same program.

Jason Hong

Thanks Randall for the comment, but I would very strongly disagree that there is no clear example of a great UI vs a bad UI solving the same problem.

I'd point to the iPod (vs all the mp3 players that came before it and after it). I'd point to Unix (which has a very high learning curve but is effective in the hands of experts) vs other competing command-line interfaces that were around at the time. I'd point to SQL and relational databases vs network/CODASYL approaches. I'd point to Google vs the large number of search engines that came before it (where the UI improvement for Google was both algorithmic as well as the sheer simplicity of their interface). I'd point to REST-based interfaces vs SOAP/WSDL ones, which were essentially equivalent in functionality but one was far far simpler to use. I'd point to the Web versus FTP, gopher, telnet, etc.

I'd also argue that a main reason that a lot of open source apps aren't reaching their full potential is precisely because of a serious lack of thought about design, and I don't mean just the user interface. How easy is it to install many open source apps? How much useful documentation is there?

Displaying comments 11 - 12 of 12 in total