O'Reilly logo

Making Software by Greg Wilson, Andy Oram

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 29. How Usable Are Your APIs?

Steven Clarke

In November 1999, I started working as a user experience researcher on the user experience team for Visual Studio. I was excited to be part of a team that designed the product I had used in my previous job. While working as a software developer at Motorola, I had always wanted to be able to make big improvements to the user experience of Visual Studio, and now I had my chance. But, although it seems obvious now, it took me almost a year to figure out that the way to improve the developer’s user experience wasn’t necessarily to focus exclusively on the development tools.

When I joined the team, I focused exclusively on achieving a deep understanding of the way that developers used Visual Studio. Together with my colleagues, we spent countless hours observing the experiences developers had creating new projects in Visual Studio, adding new classes to existing C++ projects, debugging web services, and many other experiences. We learned a great deal of useful information that enabled us to better understand our customers and how to apply that understanding to designing and building a great development tool.

But there was something missing. Although the developers’ experience with the development tool was getting better all the time, the overall developer experience wasn’t improving to the same extent. We needed to change focus. Instead of focusing on things that developers rarely do (how often do you create a new project compared to everything ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required