The OpenDialog Manifesto
Ronald Ashri and Maaike Coppens
Conversations are central to everything we do as humans. They are our instinctive medium of communication. We use conversations to collaborate, coordinate, problem solve and learn but also simply to express our feelings and have fun.
Building software that interacts with us in our natural interaction mode is an obvious next step in the evolution of digital experiences. While conversations may not be the best or only viable solution for all scenarios, we believe that software applications will evolve to make it the default or predominant interaction mode. We call such applications conversational applications.
Conversational applications help us automate, scale and improve interactions between organisations and users. They can help simplify problem-solving and make knowledge more accessible. Conversational applications enable purpose-led conversations at scale, available at any moment and through a variety of channels. This enables humans to focus on the conversations that matter most.
We are building OpenDialog to provide an open-source conversational experience platform. A tool that enables anyone to design, develop, test, deploy, manage and improve conversational applications.
This manifesto captures our views on what is at the core of conversational applications and what the most important design principles are. These ideas underpin our vision for OpenDialog.
The Nature of Conversational Applications
These statements provide our view of what conversational applications mean and what they are there for. They are not meant to describe all possible approaches to automated chat solutions. Instead, they focus on conversational applications, digital tools that help us get things done. They are the principles that guide more specific design or technical choices.
Conversations have purpose
A conversational application exists to help people achieve an end goal, not to sustain an open-ended conversation.
Conversations never exist in a vacuum
Each participant brings to a conversation their own goals, capabilities, motivations, biases and societal context (yes the bots too).
Conversations create connections and shape relationships
The overall context within which the conversational application is experienced matters. Every single interaction and every word or symbol is important and needs careful attention as it influences the relationship.
Conversations are dynamic, non-linear and multifaceted
Conversations are dynamic (they constantly change and evolve), non-linear (cause and effect cannot be easily predicted) and multifaceted (each participant has an evolving and different model of what is actually happening).
Conversations have multiple participants
A conversational application does not assume that there will be one human and one bot. It does not assume that the solution is a single bot. A conversational application takes a holistic perspective, viewing conversations as the sum of all participants and all possible interactions.
Conversations are a human-machine hybrid
Machines cannot fully learn human conversations and conversational applications cannot be fully designed by humans. Conversations need to be designed, taking into account both past experiences as well as future possibilities. At the same time, conversations are too complex to be solely designed by a human, algorithms need to support the process.
Conversational Application Design Principles
Conversations should be safe and private
Conversational design should, first and foremost, safeguard users. Conversations can create close and direct relationships, and with that comes the opportunity to mislead. It is the job of the conversation designer to ensure that conversations are safe and protect user privacy.
Conversations should be naturally artificial
Conversational applications should always be completely transparent about the fact that they are software designed to interact with humans. They should never attempt to trick the user that they are interacting with another human.
Conversations should be personally inclusive
Conversational applications should specifically take into account the complexity of language use and the diverse individual experiences, social context and linguistic realms of users.
Conversations should be globally local
Conversations cannot be translated as is. Throwing conversation fragments into an automated translation tool will not work. Conversations should have a localized feel while being scalable for global use.
Conversations should be singularly multi-channel
Conversational applications need to take into account the opportunities and challenges that each channel presents, whether it's text-based or voice-first. The overall conversational framework should support multiple channels and allow for specific flows to be used depending on the channel that the user is interacting on.
Conversations should be transparently structured
Conversational applications should be intuitively comprehensible to a user. The aim should neither be to support any possible interaction nor to constrain users to completely fixed interactions. The goal is to design a conversational space that clearly signposts the most important topics, steps and direction of travel while also enabling the user to engage in open conversations.