Start the design of your chatbot with a framework or suffer the consequences.
When I started designing chatbots for BEEVA almost a year ago, I applied some of my UX knowledge and did some unsuccessful research looking for tools that could fit my needs. Actually, I was quite amazed that I couldn't find practical literature about the topic. There are tons of chatbots out there, but there's little about how companies really get hands on.
I already shared some of my findings here, and here, with tools I found, general knowledge about designing chatbots and UX design applied on chatbots, but I think it would be great to make a deeper explanation about how I exactly face the situation on a regular basis.
While many people immediately start thinking about how to manage the user flow, I separate my process into 4 different steps: the bot scope, the chatbot personality, a prioritized list of must-have features and the chatbot flow.
1. The Bot Scope
It basically explains what the chatbot is all about. It might seem silly but it is really important to make clear what people can expect from our chatbot. This is normally a business decision that comes from Management, but sometimes the opinion of a designer is needed to set the focus on what really matters. The last e-commerce chatbot we developed was meant to be useful by helping people decide which technological product they should buy, and which vendor will be offering the best price.
2. The Chatbot Personality
I take this part really seriously. The personality of the chatbot is one of the most important points to take into account if we want our assistant to succeed. I always start researching who our early adopter will be and in which situation they will be talking to the chatbot. Once that I got a clear picture, I tailor-make a personality that fits perfectly with the user and with the specific situation. Defining in advance how our chatbot is going to be will help us eventually to decide how the bot will talk and act in every situation.
3. A Prioritized List of Must-Have Features
What information any user would need from our chatbot to find it useful? In the example I mentioned previously, for the e-commerce chatbot, we researched among different retailers and users to come out with the next list: Updated product database, pictures, comments, specifications and prices from different vendors.
4. The Chatbot Flow
Obviously, this is the most complex part, but I never give any step forward without knowing the previous ones. Once that I got all that information is time to start designing how the chatbot will behave in every possible scenario in its interaction with every user.
I always use Xmind for designing the flows from scratch. It's easy to use and really fast if you want to make any changes. The first thing I need to do is create a color legend with every possible item I will include on the chatbot.
Because at this point the scope has been set, I need to take users to the functionalities that I cover. In the e-commerce chatbot, I was able to give pictures, opinions, details, and prices for technological products. Because the best way to set the scope is making it clear in the welcome message, that is the first thing I write down in Xmind. Right after, I point out every possible scenario the bot will need to deal with. In the example:
1- Don't know: the users say anything the chatbot won't ever be prepared to answer.
2- Known category: the users ask for a category of products the chatbot knows.
3- Known brand: the user asks for a category and a brand the chatbot understands.
4- Known product: the user asks for a category, a brand and a model the chatbot knows.
It actually looks like a gradient of success: from desperation to heaven.
The First Scenario Is the Saddest One
You can do little but trying to get the user back to your scope: remind them what you are meant to do or give them some examples.
Second and Third Scenarios are Great
They mean that the user is on its way. You only need to help them to give you the remaining information: whether suggesting them some brands of the specific category or going directly to well-known models. Nevertheless, chatbots need to be designed for any possible misunderstanding in every step. That means that a specific error message needs to be set just in case the misunderstanding happens. That would help us to get the user back to the scope without restarting the whole process.
The fourth Scenario Is the Dream Place to Reach
Prepare an error message in case the user suddenly wants something weird out of their request, and offer them the information they were looking for.
After this main flow, I always prepare some easy-to-answer questions. People love to play with chatbots and small conversations are great to hide some Easter eggs.
When designing a chatbot we need to go further than the classic decision tree. Feel free to test my framework with the four main steps: the bot scope, the chatbot personality, a prioritized list of must-have and the chatbot flow.