Why Is It Important to Study API Usability?

Unlike graphical user interfaces, developers don’t interact with APIs in a direct manipulation style through widgets or UI controls. Instead, the developer types some text into a text editor and then, some time later, compiles and runs the program. The developers don’t interact directly with the API, but rather interact directly with the tools they use to write and run the code. Obviously the usability of these tools will have a great impact on the developer’s ability to write and run code that uses the API.

But is it OK to stop there? What if, in an ideal world, the tools were the perfect tools for a developer? Would the experience that the developer has writing and running code that uses an API also be perfect? Let’s consider the impact a badly designed API has on a developer trying to use it, even with the ideal set of tools.

APIs are supposed to increase a developer’s productivity by providing components that perform common tasks. Indeed, many times a developer must use an API to accomplish some task because doing so is the only way to access encapsulated system functionality that can’t be implemented from scratch. Even when the operations can be executed without the special privileges to reach into hidden parts of the system, using the API saves the developers the time and effort required to create their own implementations of these components. Unfortunately, when an API is badly designed, it can be difficult to determine whether the ...

Get Making Software now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.