skip to main content
research-article
Public Access

Improving API usability

Published:23 May 2016Publication History
Skip Abstract Section

Abstract

Human-centered design can make application programming interfaces easier for developers to use.

References

  1. Beaton, J., Jeong, S.Y., Xie, Y., Stylos, J., and Myers, B.A. Usability challenges for enterprise service-oriented architecture APIs. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (Herrsching am Ammersee, Germany, Sept. 15--18). IEEE Computer Society Press, Washington, D.C., 2008, 193--196. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Blackmon, M.H., Polson, P.G., Kitajima, M., and Lewis, C. Cognitive walkthrough for the Web. In Proceedings of the Conference on Human Factors in Computing Systems (Minneapolis, MN, Apr. 20--25). ACM, Press, New York, 2002, 463--470. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bloch, J. Effective Java Programming Language Guide. Addison-Wesley, Boston, MA, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Clarke, S. API Usability and the Cognitive Dimensions Framework, 2003; http://blogs.msdn.com/stevencl/archive/2003/10/08/57040.aspxGoogle ScholarGoogle Scholar
  5. Cwalina, K. and Abrams, B. Framework Design Guidelines, Conventions, Idioms, and Patterns for Reusable .NET Libraries. Addison-Wesley, Upper-Saddle River, NJ, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Ellis, B., Stylos, J., and Myers, B.A. The factory pattern in API design: A usability evaluation. In Proceedings of the International Conference on Software Engineering (Minneapolis, MN, May 20--26). IEEE Computer Society Press, Washington, D.C., 2007, 302--312. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Fahl, S., Harbach, M., Perl, H., Koetter, M., and Smith, M. Rethinking SSL development in an appified world. In Proceedings of the ACM SIGSAC Conference on Computer and Communications Security (Berlin, Germany, Nov. 4--8). ACM Press, New York, 2013, 49--60. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Faulring, A., Myers, B.A., Oren, Y., and Rotenberg, K. A case study of using HCI methods to improve tools for programmers. In Proceedings of Workshop on Cooperative and Human Aspects of Software Engineering at the International Conference on Software Engineering (Zürich, Switzerland, June 2). IEEE Computer Society Press, Washington, D.C., 2012, 37--39. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. Design Patterns. Addison-Wesley, Reading, MA, 1995.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Grill, T., Polacek, O., and Tscheligi, M. Methods towards API usability: A structural analysis of usability problem categories. In Proceedings of the Fourth International Conference on Human-Centered Software Engineering, M. Winckler et al., Eds. (Toulouse, France, Oct. 29--31). Springer, Berlin, Germany, 2012, 164--180. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Henning, M. API design matters. ACM Queue 5, 4 (May--June, 2007), 24--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Kirschner, B. The Perceived Relevance of APIs. Apigee Corporation, San Jose, CA, 2015; http://apigee.com/about/api-best-practices/perceived-relevance-apisGoogle ScholarGoogle Scholar
  13. Ko, A.J., Myers, B.A., and Aung, H.H. Six learning barriers in end-user programming systems. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (Rome, Italy, Sept. 26--29). IEEE Computer Society Press, Washington, D.C., 2004, 199--206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Ko, A.J., Myers, B.A., Coblenz, M., and Aung, H.H. An exploratory study of how developers seek, relate, and collect relevant information during software maintenance tasks. IEEE Transactions on Software Engineering 33, 12 (Dec. 2006), 971--987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Mooty, M., Faulring, A., Stylos, J., and Myers, B.A. Calcite: Completing code completion for constructors using crowds. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (Leganés-Madrid, Spain, Sept. 21--25). IEEE Computer Society Press, Washington, D.C., 2010, 15--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Nielsen, J. Usability Engineering. Academic Press, Boston, MA, 1993. Google ScholarGoogle ScholarCross RefCross Ref
  17. Oracle Corp. Secure Coding Guidelines for the Java Programming Language, Version 4.0, 2014; http://www.oracle.com/technetwork/java/seccodeguide-139067.htmlGoogle ScholarGoogle Scholar
  18. Rama, G.M. and Kak, A. Some structural measures of API usability. Software: Practice and Experience 45, 1 (Jan. 2013), 75--110; https://engineering.purdue.edu/RVL/Publications/RamaKakAPIQ_SPE.pdf Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Robillard, M. and DeLine, R. A field study of API learning obstacles. Empirical Software Engineering 16, 6 (Dec. 2011), 703--732. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Scheller, T. and Kuhn, E. Automated measurement of API usability: The API concepts framework. Information and Software Technology 61 (May 2015), 145--162. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Stylos, J., Busse, D.K., Graf, B., Ziegler, C., Ehret, R., and Karstens, J. A case study of API design for improved usability. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (Herrsching am Ammersee, Germany, Sept. 20--24). IEEE Computer Society Press, Washington, D.C., 2008, 189--192. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Stylos, J. and Clarke, S. Usability implications of requiring parameters in objects' constructors. In Proceedings of the International Conference on Software Engineering (Minneapolis, MN, May 20--26). IEEE Computer Society Press, Washington, D.C., 2007, 529--539. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Stylos, J., Faulring, A., Yang, Z., and Myers, B.A. Improving API documentation using API usage information. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (Corvallis, OR, Sept. 20--24). IEEE Computer Society Press, Washington, D.C., 2009, 119--126. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Stylos, J. and Myers, B.A. Mapping the space of API design decisions. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (Coeur d'Alene, ID, Sept 23--27). IEEE Computer Society Press, Washington, D.C., 2007, 50--57. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Stylos, J. and Myers., B.A. The implications of method placement on API learnability. In Proceedings of the 16th ACM SIGSOFT Symposium on Foundations of Software Engineering (Atlanta, GA, Sept. 23--27). ACM Press, New York, 2008, 105--112. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Improving API usability

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image Communications of the ACM
        Communications of the ACM  Volume 59, Issue 6
        June 2016
        106 pages
        ISSN:0001-0782
        EISSN:1557-7317
        DOI:10.1145/2942427
        • Editor:
        • Moshe Y. Vardi
        Issue’s Table of Contents

        Copyright © 2016 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 23 May 2016

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Popular
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      HTML Format

      View this article in HTML Format .

      View HTML Format