The design of APIs is important to programmer productivity, but major disagreements exist on what characterizes a good design, and most API designers learn from experience in the field rather than formal training. By interviewing 24 API design professionals and cross referencing the themes of their conversations, the authors "found interesting insights about how APIs are designed and ways to improve this process." This paper is short, readable, and filled with direct quotes from the interviewees which I think will be helpful conversation starters.
Please join us for lunch downtown and bring your insights from creating and working with APIs.
Here's the abstract:
Application Programming Interfaces (APIs) are a rapidly growing industry and the usability of the APIs is crucial to programmer productivity. Although prior research has shown that APIs commonly suffer from significant usability problems, little attention has been given to studying how APIs are designed and created in the first place. We interviewed 24 professionals involved with API design from 7 major companies to identify their training and design processes. Interviewees had insights into many different aspects of designing for API usability and areas of significant struggle. For example, they learned to do API design on the job, and had little training for it in school. During the design phase they found it challenging to discern which potential use cases of the API users will value most. After an API is released, designers lack tools to gather aggregate feedback from this data even as developers openly discuss the API online.