ABSTRACT
APIs (application programming interfaces) play a key role in software development. Virtually, all programmers are potential users of third-party APIs. From the perspective of the theory of Semiotic Engineering, we may characterize an API as an artifact mediating the communication between two types of developers: the API designers and its users. During the construction of an API, the designers should establish proper dialogues with the users. These dialogues will enable the conversation of these actors at the interaction time. In this way, we define a conversational API as an API capable of offering effective dialogues to its users. In this paper, we introduce Colloquy, a method for supporting the design of conversational APIs. Colloquy results from the lessons learnt during an action research conducted for redesigning a real and complex API. The set of Colloquy resources allow API designers to go beyond conventional concerns with usability. We also report in this paper a case study in which Colloquy was used for redesigning a refactoring API. The study findings indicate the method helped the designer creating empathy with the API users, as well as better reflecting and depicting the requirements and the conversations that the API should attend to the different user profiles.
- Luiz Marques Afonso. 2015. Communicative dimensions of application programming interfaces (APIs). PhD Thesis. Programa de Pós-Graduaçao em Informática do Departamento de Informática da PUC-Rio.Google Scholar
- Luiz Marques Afonso, João Antonio Marcondes Dutra Bastos, Clarisse Sieckenius de Souza, and Renato Fontoura de Gusmão Cerqueira. 2018. The Case for API Communicability Evaluation: Introducing API-SI with Examples from Keras. CoRR abs/1808.05891 (2018). http://arxiv.org/abs/1808.05891 _eprint: 1808.05891.Google Scholar
- João A.D.M. Bastos. 2020. Supporting the Design of Conversational APIs: A Conceptual Framework and a Method for API Design. PhD Thesis. Programa de Pós-Graduaçao em Informática do Departamento de Informática da PUC-Rio.Google Scholar
- João A.D.M. Bastos, Luiz M. Afonso, and Clarisse S. de Souza. 2017. Meta-communication between programmers through an application programming interface: A semiotic analysis of date and time APIs. In 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). 213--221. https://doi.org/10.1109/VLHCC.2017.8103470 ISSN: 1943-6106.Google ScholarCross Ref
- João A.D.M. Bastos, Rafael M. Mello, and Alessandro F. Garcia. 2020. A Conceptual Framework for Conversational APIs. In Simpósio Brasileiro de Engenharia de Software (SBES).Google Scholar
- Alan Cooper. 2004. The inmates are running the asylum:[Why high-tech products drive us crazy and how to restore the sanity]. Vol. 2. Sams Indianapolis.Google Scholar
- Maíra Greco de Paula and Simone Diniz Junqueira Barbosa. 2003. Designing and Evaluating Interaction as Conversation: A Modeling Language Based on Semiotic Engineering. In Interactive Systems. Design, Specification, and Verification (Lecture Notes in Computer Science), Joaquim A. Jorge, Nuno Jardim Nunes, and João Falcão e Cunha (Eds.). Springer, Berlin, Heidelberg, 16--33. https://doi.org/10.1007/978-3-540-39929-2_2Google ScholarCross Ref
- Clarisse Sieckenius De Souza. 2005. The semiotic engineering of human-computer interaction. MIT press.Google Scholar
- Clarisse Sieckenius de Souza, Renato Fontoura de Gusmão Cerqueira, Luiz Marques Afonso, Rafael Rossi de Mello Brandão, and Juliana Soares Jansen Ferreira. 2016. Software Developers as Users: Semiotic Investigations in Human-Centered Software Development. Springer International Publishing. https://doi.org/10.1007/978-3-319-42831-4Google ScholarCross Ref
- Clarisse Sieckenius de Souza and Carla Faria Leitão. 2009. Semiotic Engineering Methods for Scientific Research in HCI. Morgan & Claypool Publishers.Google Scholar
- Umer Farooq, Leon Welicki, and Dieter Zirkler. 2010. API usability peer reviews: a method for evaluating the usability of application programming interfaces. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI '10). Association for Computing Machinery, Atlanta, Georgia, USA, 2327--2336. https://doi.org/10.1145/1753326.1753677Google ScholarDigital Library
- Herbert P Grice. 1975. Logic and Conversation. In Speech acts. Brill, 41--58.Google Scholar
- Open API Initiative. 2020. OpenAPI Specification. http://spec.openapis.org/oas/v3.0.3#fixed-fields-8Google Scholar
- Eduardo Mosqueira-Rey, David Alonso-Ríos, Vicente Moret-Bonillo, Isaac Fernández-Varela, and Diego Álvarez Estévez. 2018. A systematic approach to API usability: Taxonomy-derived criteria and a case study. Information and Software Technology 97 (May 2018), 46--63. https://doi.org/10.1016/j.infsof.2017.12.010Google ScholarCross Ref
- Brad A Myers and Jeffrey Stylos. 2016. Improving API usability. Commun. ACM 59, 6 (2016), 62--69. Publisher: ACM New York, NY, USA.Google ScholarDigital Library
- Jonhnanthan Oliveira, Rohit Gheyi, Melina Mongiovi, Gustavo Soares, Márcio Ribeiro, and Alessandro Garcia. 2019. Revisiting the refactoring mechanics. Information and Software Technology 110 (June 2019), 136--138. https://doi.org/10.1016/j.infsof.2019.03.002Google ScholarDigital Library
- Felipe Pontes, Rohit Gheyi, Sabrina Souto, Alessandro Garcia, and Márcio Ribeiro. 2019. Java Reflection API: Revealing the Dark Side of the Mirror. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2019). Association for Computing Machinery, New York, NY, USA, 636--646. https://doi.org/10.1145/3338906.3338946 event-place: Tallinn, Estonia.Google ScholarDigital Library
- Mary Beth Rosson and John M. Carroll. 2002. Usability Engineering: Scenario-Based Development of Human-Computer Interaction. Morgan Kaufmann. Google-Books-ID: sRPg0IYhYFYC.Google Scholar
- Robert Watson. 2014. Applying the Cognitive Dimensions of API Usability to Improve API Documentation Planning. In Proceedings of the 32nd ACM International Conference on The Design of Communication CD-ROM (SIGDOC '14). Association for Computing Machinery, Colorado Springs, CO, USA, 1--2. https://doi.org/10.1145/2666216.2666239Google ScholarDigital Library
Index Terms
- Colloquy: A Method for Conversational API Design
Recommendations
A Conceptual Framework for Conversational APIs
SBES '20: Proceedings of the XXXIV Brazilian Symposium on Software EngineeringApplication programming interfaces (APIs) are everyday tools for any programmer. During its usage, an API mediates the communication process between designers and users. This mediation may be implemented in three different ways: the source code, the ...
Método de avaliação de comunicabilidade para sistemas colaborativos: um estudo de caso
IHC '12: Proceedings of the 11th Brazilian Symposium on Human Factors in Computing SystemsOs sistemas colaborativos (SiCo's) estão sendo cada vez mais utilizados para atender as necessidades das pessoas comunicarem entre si, além de trabalharem em conjunto e à distância. No entanto, ainda existem poucos métodos consolidados para a avaliação ...
Uma introdução à engenharia semiótica: conceitos e métodos
IHC '13: Proceedings of the 12th Brazilian Symposium on Human Factors in Computing SystemsEste minicurso apresenta uma introdução da Engenharia Semiótica, teoria de IHC criada no Brasil. Centrada nos fenômenos de significação e comunicação, ela é particularmente atraente para as aplicações interativas contemporâneas. O minicurso visa ...
Comments