Improving API usability

@article{Myers2016ImprovingAU,
  title={Improving API usability},
  author={Brad A. Myers and Jeffrey Stylos},
  journal={Communications of the ACM},
  year={2016},
  volume={59},
  pages={62 - 69}
}
Human-centered design can make application programming interfaces easier for developers to use. 

Figures from this paper

API Designers in the Field: Design Practices and Challenges for Creating Usable APIs
TLDR
Application Programming Interfaces are a rapidly growing industry and the usability of the APIs is crucial to programmer productivity, but designers lack tools to gather aggregate feedback from this data even as developers openly discuss the API online.
Human-Centered Methods for Improving API Usability
  • B. Myers
  • Computer Science
    2017 IEEE/ACM 1st International Workshop on API Usage and Evolution (WAPI)
  • 2017
TLDR
This talk will summarize results presented in the recent paper on Improving API Usability, along with newly proposed work on studying the needs of API designers, and cover a wide variety of HCI methods found to be effective for better understanding and meeting theneeds of API users of all levels.
Human-Centered Methods to Boost Productivity
TLDR
In this research, the use of at least 10 different human-centered methods across all the phases of software development, almost all of which have impacts on programmer productivity are documented.
Programmers are Users Too : Human Centered Methods for Improving Tools for Programming
TLDR
This article summarizes the use of new and existing HCI methods across nearly 30 years of research on improving software development, which can be usefully applied to systems in other domains in addition to software development.
A Generic Cognitive Dimensions Questionnaire to Evaluate the Usability of Security APIs
TLDR
This study attempts to improve the Cognitive Dimensions framework based API usability evaluation methodology, to evaluate the usability of security APIs.
Metacommunication between programmers through an application programming interface: A semiotic analysis of date and time APIs
TLDR
This work analyzed metacommunication between designers and users of date APIs, specifically, using the “SigniFYIng APIs” method and related to the testimony of professional programmers during an interview concerning their experience with APIs and programming in general.
The Uses of Interactive Explorers for Web APIs
TLDR
Eight ways developers use interactive method invocation tools in software development are described, grounded in empirical analyses of the Google APIs Explorer.
How developers use API documentation: an observation study
TLDR
An exploratory study that observed developers while they solved programming tasks involving a simple API reveals differences regarding developer activities and documentation usage that a successful design strategy for API documentation needs to accommodate.
A Design Guide for Usable Web APIs
TLDR
A design guide for web APIs with an emphasis on usability, using the best practices of usable web APIs design is proposed, based on an adaptation of the design science research methodology (DSRM).
The Long Tail: Understanding the Discoverability of API Functionality
TLDR
It was found that programmers’ prior experience with similar APIs significantly impacted their ability to find relevant features in an API and attempting to form a top-down mental model of an API resulted in less discovery of features.
...
...

References

SHOWING 1-10 OF 31 REFERENCES
Design Patterns
TLDR
This book offers an easy-to-reference library of design patterns as well as some principles of object-oriented programming to help readers become better designers.
A case study of API redesign for improved usability
TLDR
A usability evaluation of the proposed changes to the API suggests that the user-centered design process evolved in redesigning SAP's BRFplus was successful in helping to create an API that significantly improved users' productivity and better matches the different users' needs.
The Factory Pattern in API Design: A Usability Evaluation
TLDR
A user study comparing the usability of the factory pattern and constructors in API designs found highly significant results indicating that factories are detrimental to API usability in several varied situations.
Some structural measures of API usability
TLDR
This work presents a set of formulas that examine the API method declarations from the perspective of several commonly held beliefs regarding what makes APIs difficult to use, and validate the numerical characterizations of API usability as produced by the metrics through the APIs of several software systems.
Mapping the Space of API Design Decisions
  • Jeffrey StylosB. Myers
  • Computer Science
    IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2007)
  • 2007
TLDR
This paper puts existing API design recommendations into context by mapping out the space of API design decisions and API quality attributes.
Usability engineering
  • J. Nielsen
  • Computer Science
    The Computer Science and Engineering Handbook
  • 1997
TLDR
This guide to the methods of usability engineering provides cost-effective methods that will help developers improve their user interfaces immediately and shows you how to avoid the four most frequently listed reasons for delay in software projects.
Six Learning Barriers in End-User Programming Systems
TLDR
A study of beginning programmers learning Visual Basic.NET identified six types of barriers, which inspire a new metaphor of computation, which provides a more learner-centric view of programming system design.
Usability Implications of Requiring Parameters in Objects' Constructors
  • Jeffrey StylosS. Clarke
  • Psychology, Computer Science
    29th International Conference on Software Engineering (ICSE'07)
  • 2007
TLDR
It was found that, contrary to expectations, programmers strongly preferred and were more effective with APIs that did not require constructor parameters, revealing that required constructor parameters interfere with common learning strategies, causing undesirable premature commitment.
Methods towards API Usability: A Structural Analysis of Usability Problem Categories
TLDR
A methodology on how to use and combine HCI methods with the goal to evaluate the usability of APIs is presented and a first classification of API related usability problems that are making the relevancy of usability issues for APIs more explicit and applicable is developed.
Usability challenges for enterprise service-oriented architecture APIs
TLDR
This work evaluated a large E-SOA API and identified many usability challenges, including difficulties developers encountered while assembling data structures in Web service parameters, cycles of errors due to unclear control parameters within data structures, and difficulties with understanding long identifier names.
...
...