Loading...
Please wait, while we are loading the content...
Similar Documents
Human-centered methods for improving API usability
| Content Provider | ACM Digital Library |
|---|---|
| Author | Myers, Brad A. |
| Abstract | Application programming interfaces (APIs) are the way that developers reuse functionality supplied in libraries, software development kits (SDKs), toolkits, frameworks, etc. By adapting a variety of user-centered methods from human-computer interaction (HCI), we have studied usability problems both for API users and for API designers. These studies revealed barriers both at a low level (such as using the factory pattern in an API) and at a high level (such as the lack of example code in the documentation). In lab studies, we have shown that some patterns can slow programmers down by a factor of 10, and in the field, we have seen problematic APIs block programmers for up to a week while they waited for an answer from the API designer. The implications of our results can guide the design of the API, and, when APIs cannot be changed, inspire novel documentation and tools to help use the APIs. Our collaboration with SAP resulted in significant improvements to their APIs, documentation and tools. This talk will summarize results presented in our recent paper on Improving API Usability [2], along with our newly proposed work on studying the needs of API designers. I will also cover a wide variety of HCI methods we have found to be effective for better understanding and meeting the needs of API users of all levels: novice, professional, and end-user programmers (EUPs). We have applied these methods across all activities of API development: requirements and problem analysis, design, development, testing, and deployment [1]. Since programming is a human process, we have found that many of these HCI methods can be used without change to answer many useful questions, but for other questions, we have needed to create new human-centered methods. |
| Starting Page | 2 |
| Ending Page | 2 |
| Page Count | 1 |
| File Format | |
| DOI | 10.1109/WAPI.2017..2 |
| Language | English |
| Publisher | Association for Computing Machinery (ACM) |
| Publisher Date | 2017-05-20 |
| Access Restriction | Subscribed |
| Subject Keyword | Empirical software engineering Api usability Human-centered methods |
| Content Type | Text |
| Resource Type | Article |