The OpenDialog Way

You cannot design great conversations without a clear conversation model and method to help you navigate through the process.
Designing conversational applications is intrinsically hard. There are a number of different disciplines that are required, from machine learning all the way to brand management and conversational content management.
Creating great conversational experiences is hard
A conversational application platform needs to embrace this complexity, break the problem down and ensure that different disciplines can come together effectively to produce great solutions.
In order, for us to be able to deal with complexity, without getting lost along the way, we need to start from a strong conceptual core and build out.
For conversational applications, the conceptual core has to be a model of conversations themselves.
We need a strong understanding of what are conversations, what are the component parts and how they interact to build increasingly more complicated solutions to handle sophisticated multi-turn conversations.
This model is at the heart of what OpenDialog does and how it works. Overall the OpenDialog Way is based on three core pillars:
  1. 1.
    A clear conversational model to help reason about what are conversations.
  2. 2.
    A context-first way of defining conversations so that we can more robustly manage interactions.
  3. 3.
    A pro-active and opinionated conversation engine that works with the model, takes advantage of context and co-ordinates between all the different components allows us to break the problem into smaller pieces.
This section guides you through these ideas by explaining each principle and at the same time describing the overall approach. Spending some time to read through these ideas will help you get proficient and efficient in the OpenDialog Way faster.
If you've used other conversational approaches these principles will help you understand how our approach differs and how it can help you become more efficient and build conversations that are more sophisticated.
If you are new to conversation design this section will bring you up to speed with the terminology and concepts and set you on your way of designing great conversations!
Underlying these ideas there is a conceptual approach based on viewing conversational applications as multi-agent systems. After you've covered this section if you are still curious about some of the reasoning behind it it may be worth delving deeper into the theory.
Let's dive into it!