Conversation Design — The challenge of the new UX
Chances are you’ve been exposed to the hype around chatbots and may currently be moved or tasked to create one, or at least explore what that would entail. To date the focus of the hype has been on the technology itself, with hyperbolic depictions of artificial intelligence unleashing futures both utopian and dystopian alike.
The technology itself is formidable but artificial intelligence is not possible without data and inherent in that data is required the logical classifications from which to create machine learning models.
Data, however, is not always readily available, especially not in the volumes needed to make effective machine learning models. So-called ‘rule-based’ approaches to AI fill that gap and this is where Conversation Design comes in.
In order to train a chatbot effectively you need two elements:
- Knowledge — having the answer to provide to a user when asked a question
- Understanding — being able to interpret what a user is asking in natural language
Knowledge
This is the easy one because generally speaking there is only ever one answer to a specific question.
User: “What weight of luggage can I check into my international flight on Fare A?”
Bot: “You can check in 23kg of luggage on that flight”
That 23kg luggage answer is the knowledge, which is stable and definitive.
Understanding
While the answer is definitive (there is only one weight allowance) there may be logical nuances in that question that drive its precision. Firstly, your luggage allowance may depend on how you’re transporting it (check in), the nature of the flight (international) or the fare (Fare A). There may be an entirely different answer for “carry-on for domestic flight on Fare B”
Secondly, a user could have a number of different ways of approaching that question, each of which might yield further complexity in enabling the bot to get to a definitive answer.
In our Conversation Design process we refer to ‘archetypes’ and ‘abstractions’ when establishing the decision-making processes of TwylaBots. The question posed above would represent an archetype because it contains every variable needed for the chatbot to provide a definitive answer.
An abstraction could be something like “How much luggage can I take on my flight?”
Now, in an airline context the chatbot’s only contextual references for that question are “[how much] [luggage] [flight]”. It’s incapable of providing a definitive answer. Sure, it could provide all the answers to all the variations in one go but that would be a long chunk of text and not a very pleasant user experience.
So a crucial part of Conversation Design is creating a pleasant user experience by training the chatbot to provide natural language journeys. By defining the logical hierarchy of steps through which to converse with a user you can replicate the experience of conversation with a human.
User: “How much luggage can I take on my flight?”
Bot: “I can help you with that. Is it an international or domestic flight?”
User: “International”
Bot: “Okay, and what fare is it?”
User: “Fare A”
Bot: “Sure, you can check in 23kg on that flight and take 11kg on board with you”
In this example we’ve concatenated the check-in and carry-on answer knowledge into one answer to avoid asking the user an additional question. Our ambition is to always keep chatbot responses under 140 characters where possible, or break the text into up to three individual messages.
In some instances you can further enhance the user experience by providing buttons as shortcuts (on Facebook Messenger for example) for providing quick natural language answers, since there are only pre-defined choices along the way, like “International” versus “Domestic”
Good Conversation Design will also identify the potential confusion that a user might encounter along the way. For instance, there could be an interjection by a user who doesn’t know which fare they’re booked on and so interrupt the flow to tell the chatbot they don’t understand. At this point the bot should be able to handle a digression into an explanation of how to find out what the fare is before returning to the original sequence.
If this looks daunting, it is. I won’t get into the machine learning model alternative to this right now; that’s a topic for another post. But if you think this process is anything other than design I would respectfully disagree. This is the new frontier of interface design where the complexity is not managed on the surface layer in the form of buttons and layouts but in a new layer of logic beneath the surface. The real user interface is not the graphical user interface of the messenger application but in how natural language is processed as a method of input.
Just why this is such an exciting opportunity for UX design is that we are no longer encumbered by the need to generalise graphical user interfaces to satisfy the most common type of user, but rather we now have the ability to create an exponentially scalable user interface using the oldest input method of them all: language.