Methods towards API Usability: A Structural Analysis of Usability Problem Categories

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7623)


The usability of Application Programming Interfaces (APIs) is one of the main factors defining the success of a software based framework. Research in the area of human computer interaction (HCI) currently mainly focuses on end-user usability and only little research has been done regarding the usability of APIs. In this paper, we present a methodology on how to use and combine HCI methods with the goal to evaluate the usability of APIs. The methodology consist of three phases - a heuristic evaluation, a developer workshop and interviews. We setup a case-study according to the methodology, in which we are evaluating the usability of a service-oriented framework API. The goal was to explore different HCI methods and compare the applicability of such methods to find usability problems in an API. The case-study combined qualitative and quantitative methods in order to investigate the usability and intuitiveness of the API itself. It allowed us to identify relevant problem areas for usability related issues that could be mapped to specific types of HCI methods. Examples for this are e.g. structural problems, which are identified mainly in inspection methods, while problems regarding errors and exception handling are mainly identified during the hands-on example part of the developer workshops conducted. The resulting problem areas allow us to develop a first classification of API related usability problems that are making the relevancy of usability issues for APIs more explicit and applicable.


API Usability Contextual Interaction Framework HCI 


  1. 1.
    Bloch, J.: 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, pp. 506–507. ACM (2006)Google Scholar
  2. 2.
    Scaffidi, C.: Why are APIs difficult to learn and use? Crossroads 12(4), 4 (2006)Google Scholar
  3. 3.
    Farooq, U., Zirkler, D.: API peer reviews: a method for evaluating usability of application programming interfaces. In: Proc. of CSCW 2010, pp. 207–210. ACM, New York (2010)Google Scholar
  4. 4.
    McLellan, S.G., Roesler, A.W., Tempest, J.T., Spinuzzi, C.I.: Building More Usable APIs. IEEE Softw. 15(3), 78–86 (1998)CrossRefGoogle Scholar
  5. 5.
    Robillard, M.P.: What Makes APIs Hard to Learn? Answers from Developers. IEEE Software 26(6), 27–34 (2009)CrossRefGoogle Scholar
  6. 6.
    Stylos, J.: Informing API Design through Usability Studies of API Design Choices: A Research Abstract. In: Proc. of IEEE Symp. VL/HCC 2006, pp. 246–247 (2006)Google Scholar
  7. 7.
    Stylos, J., Myers, B.A.: The implications of method placement on API learnability. In: Proc. of ACM SIGSOFT 2008/FSE-16, pp. 105–112. ACM, New York (2008)CrossRefGoogle Scholar
  8. 8.
    Ellis, B., Stylos, J., Myers, B.: The Factory Pattern in API Design: A Usability Evaluation. In: Proc. of ICSE 2007, pp. 302–312. IEEE Computer Society (2007)Google Scholar
  9. 9.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: The Abstract Factory Pattern. In: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley (1995)Google Scholar
  10. 10.
    Stylos, J., Graf, B., Busse, D.K., Ziegler, C., Ehret, R., Karstens, J.: A case study of API redesign for improved usability. In: Proc. of IEEE Symp. VL/HCC 2008, pp. 189–192. IEEE Computer Society, Washington, DC (2008)Google Scholar
  11. 11.
    Green, T.R.G.: Cognitive dimensions of notations. In: Proc. of the 5th Conf. of the British Computer Society, HCI Specialist Group on People and Computers V, pp. 443–460. Cambridge University Press, New York (1989)Google Scholar
  12. 12.
    Green, T.R.G., Petre, M.: Usability Analysis of Visual Programming Environments: a ‘cognitive dimensions’ framework. Journal of Visual languages and computing 7(2), 131–174 (1996)CrossRefGoogle Scholar
  13. 13.
    Clarke, S.: Measuring API usability. Doctor Dobbs Journal 29(5), 1–5 (2004)Google Scholar
  14. 14.
    Bore, C., Bore, S.: Profiling software API usability for consumer electronics. In: Proc. of ICCE 2005, pp. 155–156 (2005)Google Scholar
  15. 15.
    de Souza, C., Bentolila, D.: Automatic evaluation of API usability using complexity metrics and visualizations. In: Proc. of ICSE-Companion 2009, pp. 299–302 (2009)Google Scholar
  16. 16.
    Watson, R.: Improving software API usability through text analysis: A case study. In: Proc. of IEEE Conf. IPCC 2009, pp. 1–7 (2009)Google Scholar
  17. 17.
    Henning, M.: API Design Matters. Queue 5(4), 24–36 (2007)CrossRefGoogle Scholar
  18. 18.
    Zibran, M.: What Makes APIs Difficult to Use? IJCSNS International Journal of Computer Science and Network Security 8(4), 255 (2008)Google Scholar
  19. 19.
    Zibran, M., Eishita, F., Roy, C.: Useful, But Usable? Factors Affecting the Usability of APIs. In: Proc. of WCRE 2011, pp. 151–155 (2011)Google Scholar
  20. 20.
    Beaton, J.K., Myers, B.A., Stylos, J., Jeong, S.Y.S., Xie, Y.C.: Usability evaluation for enterprise SOA APIs. In: Proc. of SDSOA 2008, pp. 29–34. ACM, New York (2008)CrossRefGoogle Scholar
  21. 21.
    Beaton, J., Jeong, S.Y., Xie, Y., Stylos, J., Myers, B.A.: Usability challenges for enterprise service-oriented architecture apis. In: Proc. of IEE Symp., VLHCC 2008, pp. 193–196. IEEE Computer Society, Washington, DC (2008)Google Scholar
  22. 22.
    Jeong, S.Y., Xie, Y., Beaton, J., Myers, B.A., Stylos, J., Ehret, R., Karstens, J., Efeoglu, A., Busse, D.K.: Improving Documentation for eSOA APIs through User Studies. In: Pipek, V., Rosson, M.B., de Ruyter, B., Wulf, V. (eds.) IS-EUD 2009. LNCS, vol. 5435, pp. 86–105. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  23. 23.
    Nielsen, J., Molich, R.: Heuristic evaluation of user interfaces. In: Proc. of ACM SIGCHI 1990, pp. 249–256. ACM, New York (1990)Google Scholar
  24. 24.
    Cockton, G., Woolrych, A.: Sale must end: should discount methods be cleared off HCI’s shelves? Interactions 9(5), 13–18 (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  1. 1.ICT&S CenterUniversity of SalzburgSalzburgAustria

Personalised recommendations