A Conceptual Framework for Conversational APIs
Application 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 documentation, and the API behavior. According to the resources used, an API may reach higher or lower levels of conversation with its users. In this paper, we propose a conceptual framework for the definition and classification of conversational APIs. A conversational API is one capable of communicating its internal logic of operation and how to be properly used. Through the proposed framework, we introduce how to classify an API according to its level of conversation. Besides, we use our framework for evaluating three common Java APIs for managing date/time. Our experience indicates that the proposed conceptual framework may be useful for supporting designers in implementing their API interfaces accordingly to the proper needs of communication required by their different types of users.