Empirical Software Engineering

, Volume 16, Issue 6, pp 703–732

A field study of API learning obstacles


DOI: 10.1007/s10664-010-9150-8

Cite this article as:
Robillard, M.P. & DeLine, R. Empir Software Eng (2011) 16: 703. doi:10.1007/s10664-010-9150-8


Large APIs can be hard to learn, and this can lead to decreased programmer productivity. But what makes APIs hard to learn? We conducted a mixed approach, multi-phased study of the obstacles faced by Microsoft developers learning a wide variety of new APIs. The study involved a combination of surveys and in-person interviews, and collected the opinions and experiences of over 440 professional developers. We found that some of the most severe obstacles faced by developers learning new APIs pertained to the documentation and other learning resources. We report on the obstacles developers face when learning new APIs, with a special focus on obstacles related to API documentation. Our qualitative analysis elicited five important factors to consider when designing API documentation: documentation of intent; code examples; matching APIs with scenarios; penetrability of the API; and format and presentation. We analyzed how these factors can be interpreted to prioritize API documentation development efforts


Application programming interfaces Software libraries Programming Documentation 

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  1. 1.School of Computer ScienceMcGill UniversityMontréalCanada
  2. 2.Microsoft ResearchOne Microsoft WayRedmondUSA

Personalised recommendations