Abstract
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.
Chapter PDF
Similar content being viewed by others
References
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)
Scaffidi, C.: Why are APIs difficult to learn and use? Crossroads 12(4), 4 (2006)
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)
McLellan, S.G., Roesler, A.W., Tempest, J.T., Spinuzzi, C.I.: Building More Usable APIs. IEEE Softw. 15(3), 78–86 (1998)
Robillard, M.P.: What Makes APIs Hard to Learn? Answers from Developers. IEEE Software 26(6), 27–34 (2009)
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)
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)
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)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: The Abstract Factory Pattern. In: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley (1995)
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)
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)
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)
Clarke, S.: Measuring API usability. Doctor Dobbs Journal 29(5), 1–5 (2004)
Bore, C., Bore, S.: Profiling software API usability for consumer electronics. In: Proc. of ICCE 2005, pp. 155–156 (2005)
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)
Watson, R.: Improving software API usability through text analysis: A case study. In: Proc. of IEEE Conf. IPCC 2009, pp. 1–7 (2009)
Henning, M.: API Design Matters. Queue 5(4), 24–36 (2007)
Zibran, M.: What Makes APIs Difficult to Use? IJCSNS International Journal of Computer Science and Network Security 8(4), 255 (2008)
Zibran, M., Eishita, F., Roy, C.: Useful, But Usable? Factors Affecting the Usability of APIs. In: Proc. of WCRE 2011, pp. 151–155 (2011)
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)
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)
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)
Nielsen, J., Molich, R.: Heuristic evaluation of user interfaces. In: Proc. of ACM SIGCHI 1990, pp. 249–256. ACM, New York (1990)
Cockton, G., Woolrych, A.: Sale must end: should discount methods be cleared off HCI’s shelves? Interactions 9(5), 13–18 (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Grill, T., Polacek, O., Tscheligi, M. (2012). Methods towards API Usability: A Structural Analysis of Usability Problem Categories. In: Winckler, M., Forbrig, P., Bernhaupt, R. (eds) Human-Centered Software Engineering. HCSE 2012. Lecture Notes in Computer Science, vol 7623. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-34347-6_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-34347-6_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-34346-9
Online ISBN: 978-3-642-34347-6
eBook Packages: Computer ScienceComputer Science (R0)