The Case for API Communicability Evaluation: Introducing API-SI with Examples from Keras

In addition to their vital role in professional software development, Application Programming Interfaces (APIs) are now increasingly used by non-professional programmers, including end users, scientists and experts from other domains. Therefore, good APIs must meet old and new user requirements. Most of the re-search on API evaluation and design derives from user-centered, cognitive perspectives on human-computer interaction. As an alternative, we present a lower-threshold variant of a previously proposed semiotic API evaluation tool. We illustrate the procedures and power of this variant, called API Signification Inspection (API-SI), with Keras, a Deep Learning API. The illustration also shows how the method can complement and fertilize API usability studies. Additionally, API-SI is packaged as an introductory semiotic tool that API designers and researchers can use to evaluate the communication of design intent and product rationale to other programmers through implicit and explicit signs thereof, encountered in the API structure, behavior and documentation.

[1]  Thomas Green Instructions and descriptions: some cognitive aspects of programming and similar activities , 2000, AVI '00.

[2]  Umer Farooq,et al.  API peer reviews: a method for evaluating usability of application programming interfaces , 2010, CSCW '10.

[3]  Martin P. Robillard,et al.  What Makes APIs Hard to Learn? Answers from Developers , 2009, IEEE Software.

[4]  Cleidson R. B. de Souza,et al.  Automatic evaluation of API usability using complexity metrics and visualizations , 2009, 2009 31st International Conference on Software Engineering - Companion Volume.

[5]  Gretchen Rossman,et al.  Numbers and Words , 1985 .

[6]  Clarisse Sieckenius de Souza,et al.  The Semiotic Engineering of Human-Computer Interaction , 2005 .

[7]  Curtis Becker,et al.  Using the cognitive dimensions framework to measure the usability of a class library , 2003, PPIG.

[8]  Clarisse Sieckenius de Souza,et al.  Metacommunication between programmers through an application programming interface: A semiotic analysis of date and time APIs , 2017, 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[9]  Alan F. Blackwell,et al.  A Systematic Literature Review of Cognitive Dimensions , 2017, PPIG.

[10]  François Chollet,et al.  Deep Learning with Python , 2017 .

[11]  Jeffrey Stylos,et al.  A case study of API redesign for improved usability , 2008, 2008 IEEE Symposium on Visual Languages and Human-Centric Computing.

[12]  Thomas D. LaToza,et al.  Programmers Are Users Too: Human-Centered Methods for Improving Programming Tools , 2016, Computer.

[13]  Jeffrey Stylos,et al.  Informing API Design through Usability Studies of API Design Choices: A Research Abstract , 2006, Visual Languages and Human-Centric Computing (VL/HCC'06).

[14]  Isaac Fernández-Varela,et al.  A systematic approach to API usability: Taxonomy-derived criteria and a case study , 2017, Inf. Softw. Technol..

[15]  U. Flick,et al.  The SAGE Handbook of Qualitative Data Analysis , 2013 .

[16]  Brad A. Myers,et al.  Improving API usability , 2016, Commun. ACM.

[17]  Clarisse Sieckenius de Souza,et al.  Software Developers as Users , 2016, Springer International Publishing.

[18]  Brad A. Myers,et al.  Natural programming languages and environments , 2004, Commun. ACM.

[19]  Brad A. Myers,et al.  More Natural Programming Languages and Environments , 2006, End User Development.

[20]  eva Kühn,et al.  Automated measurement of API usability: The API Concepts Framework , 2015, Inf. Softw. Technol..

[21]  Jakob Nielsen,et al.  Heuristic Evaluation of Prototypes (individual) , 2022 .

[22]  Jill Slay,et al.  A Generic Cognitive Dimensions Questionnaire to Evaluate the Usability of Security APIs , 2017, HCI.

[23]  Volker Wulf,et al.  New Perspectives in End-User Development , 2017, Springer International Publishing.

[24]  M. Nadin Interface design: A semiotic paradigm , 1988 .

[25]  Manfred Tscheligi,et al.  Methods towards API Usability: A Structural Analysis of Usability Problem Categories , 2012, HCSE.

[26]  Cathleen Wharton,et al.  The cognitive walkthrough method: a practitioner's guide , 1994 .

[27]  Thomas R. G. Green,et al.  Cognitive dimensions of notations , 1990 .

[28]  Portia O'Callaghan The API walkthrough method: a lightweight method for getting early feedback about an API , 2010, PLATEAU '10.