skip to main content
10.1145/3422392.3422468acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbesConference Proceedingsconference-collections
research-article

Colloquy: A Method for Conversational API Design

Published:21 December 2020Publication History

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.

References

  1. 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 ScholarGoogle Scholar
  2. 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 ScholarGoogle Scholar
  3. 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 ScholarGoogle Scholar
  4. 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 ScholarGoogle ScholarCross RefCross Ref
  5. 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 ScholarGoogle Scholar
  6. 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 ScholarGoogle Scholar
  7. 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 ScholarGoogle ScholarCross RefCross Ref
  8. Clarisse Sieckenius De Souza. 2005. The semiotic engineering of human-computer interaction. MIT press.Google ScholarGoogle Scholar
  9. 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 ScholarGoogle ScholarCross RefCross Ref
  10. Clarisse Sieckenius de Souza and Carla Faria Leitão. 2009. Semiotic Engineering Methods for Scientific Research in HCI. Morgan & Claypool Publishers.Google ScholarGoogle Scholar
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. Herbert P Grice. 1975. Logic and Conversation. In Speech acts. Brill, 41--58.Google ScholarGoogle Scholar
  13. Open API Initiative. 2020. OpenAPI Specification. http://spec.openapis.org/oas/v3.0.3#fixed-fields-8Google ScholarGoogle Scholar
  14. 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 ScholarGoogle ScholarCross RefCross Ref
  15. Brad A Myers and Jeffrey Stylos. 2016. Improving API usability. Commun. ACM 59, 6 (2016), 62--69. Publisher: ACM New York, NY, USA.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. Mary Beth Rosson and John M. Carroll. 2002. Usability Engineering: Scenario-Based Development of Human-Computer Interaction. Morgan Kaufmann. Google-Books-ID: sRPg0IYhYFYC.Google ScholarGoogle Scholar
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Colloquy: A Method for Conversational API Design
        Index terms have been assigned to the content through auto-classification.

        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
        • Published in

          cover image ACM Other conferences
          SBES '20: Proceedings of the XXXIV Brazilian Symposium on Software Engineering
          October 2020
          901 pages
          ISBN:9781450387538
          DOI:10.1145/3422392

          Copyright © 2020 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 the author(s) 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: 21 December 2020

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed limited

          Acceptance Rates

          Overall Acceptance Rate147of427submissions,34%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader