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 else that you do?), we needed to focus on the things that developers often do. And that is reading, writing, and debugging code that uses many different APIs. So we started the long journey of measuring and improving the user experience of the class libraries and APIs that developers use.

We didn’t get it right on the first try. But through perseverance and a strong desire to improve, we managed to achieve a good understanding of what it means for an API to be considered usable. We learned many lessons along the way, some of which fundamentally questioned our assumptions about how developers write code. In this chapter I share those stories and the journey we took.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.188.57.172