ABSTRACT
The number of APIs produced by Google's various business units grew at an astounding rate over the last decade, the result of which was a user experience containing wild inconsistencies and usability problems. There was no single issue that dominated the usability problems; rather, users suffered a death from a thousand papercuts. A lightweight, scalable, distributed design review process was put into place that has improved our APIs and the efficacy of our many API designers. Challenges remain, but the API design reviews at scale program has started successfully.
- J. Beaton, B. Myers, J. Stylos, S. Y. Jeong, and Y. Xie. 2008. Usability Evaluation for Enterprise SOA APIs. In Proc. of the 2nd International Workshop on Systems Development in SOA Environments (SDSOA '08). ACM, 29--34. Google ScholarDigital Library
- K. Beck and C. Andres. 2004. Extreme Programming Explained: Embrace Change (2nd Edition). Addison-Wesley Professional. Google ScholarDigital Library
- J. Bloch. 2006. How to Design a Good API and Why It Matters. In Companion to the 21st ACM SIGPLAN Symposium on Object-oriented Programming Systems, Languages, and Applications (OOPSLA '06). ACM, 506--507. Google ScholarDigital Library
- A. Bosu, M. Greiler, and C. Bird. 2015. Characteristics of Useful Code Reviews: An Empirical Study at Microsoft. In Proc. of the International Conference on Mining Software Repositories. IEEE. Google ScholarDigital Library
- S. Clarke. 2004. Measuring API usability. Dr Dobb's Journal. (2004). http://www.drdobbs.com/windows/measuring-api-usability/184405654Google Scholar
- M. E. Fagan. 1999. Design and Code Inspections to Reduce Errors in Program Development. IBM Syst. J. 38, 2--3 (June 1999), 258--287. Google ScholarDigital Library
- U. Farooq, L. Welicki, and D. Zirkler. 2010. API Usability Peer Reviews: A Method for Evaluating the Usability of Application Programming Interfaces. In Proc. of the SIGCHI Conference on Human Factors in Computing Systems (CHI '10). ACM, 2327--2336. Google ScholarDigital Library
- T. Grill, O. Polacek, and M. Tscheligi. 2012. Methods towards API Usability: A Structural Analysis of Usability Problem Categories. In Human-Centered Software Engineering, M. Winckler, P. Forbrig, and R. Bernhaupt (Eds.). Lecture Notes in Computer Science, Vol. 7623. Springer Berlin Heidelberg, 164--180. Google ScholarDigital Library
- G. M. Rama and A. Kak. 2015. Some structural measures of API usability. Software: Practice and Experience 45, 1 (2015), 75--110. Google ScholarDigital Library
- J. Stylos and S. Clarke. 2007. Usability Implications of Requiring Parameters in Objects' Constructors. In Proc. of the 29th International Conference on Software Engineering (ICSE '07). IEEE, 529--539. Google ScholarDigital Library
- J. Stylos and B. Myers. 2007. Mapping the Space of API Design Decisions. In Proc. of the IEEE Symposium on Visual Languages and Human-Centric Computing (VLHCC '07). IEEE, 50--60. Google ScholarDigital Library
- L. Williams and R. Kessler. 2000. All I Really Need to Know About Pair Programming I Learned in Kindergarten. Commun. ACM 43, 5 (May 2000), 108--114. Google ScholarDigital Library
Index Terms
- API Design Reviews at Scale
Recommendations
API usability peer reviews: a method for evaluating the usability of application programming interfaces
CHI '10: Proceedings of the SIGCHI Conference on Human Factors in Computing SystemsWe describe a usability inspection method to evaluate Application Programming Interfaces (APIs). We found the method useful as it identified usability defects in Microsoft's .NET Framework, of which 59% were new and 21% were fixed. Based on a comparison ...
API peer reviews: a method for evaluating usability of application programming interfaces
CSCW '10: Proceedings of the 2010 ACM conference on Computer supported cooperative workAPI usability tests in the lab are time and resource intensive, thus allowing a relatively small percentage of the API namespace to be evaluated. We describe a group-based usability inspection method -- API Peer Reviews -- to evaluate API usability. ...
Human-centered methods for improving API usability
WAPI '17: Proceedings of the 1st International Workshop on API Usage and EvolutionApplication 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 (...
Comments