Practical tips for designing chatbots.
Bots have been around more than you might think, but just recently, they started emerging into the mainstream. We all probably have a general idea what a bot is, but how do you design one? At first, it seems unquestionably plain and simple but once you start thinking about it, you discover there is a lot more to it. Here’s what we’ve learned in a couple of months of building and designing a bot for a client of ours.
In this part, we will start off with defining a product, with the so called Product Definition phase. We will mention the common business goals with bright examples in this rapidly growing industry, say a few words about bot knowledge, and wrap-up with the technology buzzwords. So, buckle up, and let’s go!
I. Get a clear set of goals
As with every other app or web project, chatbots also need to have outlined set of goals, both for bot publisher (Business) and Interlocutor (the user). Bot strategy and design are what happens in the middle.
Probably the most important goal, and certainly one of the first you have to achieve is driving traffic to your website. The best examples of that are book recommenders like AuthorBot, a new service for book publishers, agents and authors that create author bots on various platforms. Apart from Facebook Messenger, it works on slack Slack as well as Telegram, and delivers voice-activated book discovery and reading services for Amazon Echo and Google Now.
Also, one of the most important goals in every industry is sales generation. SnapTravel, Tommy Hilfiger, and Sephora were one of the first to implement a bot sales generation system that works. For instance, Sephora reported that its Messenger bot has helped increase in-store sales, with an average spend of $50 per client, gathered via its Messenger assistant. Also, they’ve seen an 11 percent increase in booking rates through the Sephora Reservation Assistant. SnapTravel made more than one million dollars in hotel bookings in less than a year. At Tommy Hilfiger, they witnessed an 87 percent return rate for people coming back again to use the Messenger experience, and over 60K messages being exchanged. Most importantly, 3.5 times more was spent through Messenger than any other digital channel.
Customer support, especially in the services domain, is significant, but also, very time and resource consuming. Let’s be honest, it’s grunt work. But on the other hand, it’s also a perfect example of taking advantage of this new technology in the right way. And one of those examples is Marriott. Even though Marriott’s first bot attempt was a big flop, they’ve learned a lot in the process and introduced a new Facebook Messenger bot with a more personal, almost intimate approach.
Bots are also a neat opportunity for engaging new channels. At the end of the last year, Kia introduced their NiroBot, that got their deserved attention after the premiere on this year’s Super Bowl. The bot was created as a part of the social media campaign for the new crossover Niro. In the first two months, Kia garnered more than half a million engagements! The NiroBot helps customers with their purchase decision by providing easily accessible information about the vehicle. In that way, Kia is building brand awareness, educating customers, strengthening brand equity and gathering new leads.
When we talk about User goals, Vote bot is a bright example of Support as a user goal. It’s designed to increase voter participation by helping people by helping people overcome common barriers to registering and voting. The chatbot takes individuals who are first-time voters, recently moved or lack general information through the entire process from registration to voting day.
BBC shows us how bots simplify access to information. The Brexit Politics Brexit Bot focuses purely on updates around the status of the U.K. leaving the European Union.
When it comes to problem-solving, bots are not yet able to solve a complicated math problem, but they are not that dumb either. Productivity bots, in a nutshell, help you work smarter. It figures that a lot of those bots are made for Slack, and some of them are amazing. For instance Meekan, that matches everyone’s calendars, and quickly finds common free times).
Experience is one of the segments bots shine the most, and Signal’s bot is a great example. This oral care brand developed a Facebook bot that looks to encourage kids to brush their teeth by drip feeding them cartoons. Think about it for a second. It’s genius!
As far as entertainment goes, celebrities like Kanye West have their bot. So, yeah, here are some best Kanye’s verses, rants, and quotes in your Facebook Messenger.
So, to sum up:
Most common Business Goals are:
- Driving traffic to a website
- Sales generation-
- Automated Customer Support
- New engagement channels
Most common User Goals are:
- Quick help or support
- Easier access to information
- Problem solving
- New experience
Depending on these goals you and the client need to agree on what kind of chatbot are you building. Are you building functional, task oriented bot, or entertainment, more conversation-led bot?
II. Define Bot Knowledge and Bot Domain
With objectives set, now you need to think about what topics will your chatbot know about and how deep it’s knowledge will go. This is basically a breadth vs. depth question.
How broad is the area of expertise? If you’re working on a job finder bot, will it search only for specific kinds of jobs like dev. positions (java, c, ruby, node…) or will it search for any kind of positions (finance, culinary, customer care…).
The answer to the question above makes a big difference to your UX. If you have only dev positions, you can give your users a predefined set of limited options, so you have a much simpler task at hand (i.e. it’s harder for the user to deviate from a happy path).
If your job finder bot can search for any kind of positions, then this will be a free form input which will require significant development effort for parsing keywords and matching them with a database. In this case, expect ‘Sorry, I didn’t understand, can you try again…’ scenario to happen and design for the recovery path.
Will user search for jobs only by job keyword and location, or will she be able to refine the search by seniority level or a salary range? Advice is to stick with a basic feature set, test it, refine it and then gradually add improvements. Conversational UX is still fluctuating, users are not widely familiar with chatbots, and still, some time is needed for the best conversational paradigms to surface.
Also, determine what knowledge will be delivered as a conversation within a bot, and which will be linked to the outside web.
III. Get Familiar With the Technology Stack Behind Your Bot
There are a few of new words and phrases you need to familiarise yourself with if you want to dig into this whole chatbot game.
Smart vs. Stupid bot
You don’t have to be a big player to leverage AI expertise, large data sets and computing power that were used to create NLP (Natural Language Processing) platforms that work well. All the big players, (Google, Facebook, Amazon) have some kind of an NLP service that is open and free to use for general purposes. In our example, we used Google’s api.ai, but wit.ai from Facebook is a pretty good alternative.
Human conversation is messy and nonlinear and current state of AI is not yet capable to support imitation of human conversation.
What is Natural Language Processing?
NLP is an acronym you will often hear when talking about bots. It stands for Natural Language Processing and is used to analyze the free text input to determine intent and deliver the relevant content or action.
Your team will use NLP as a means of making bot ‘smarter’. So if users types “Help me find a chef job in New York” your NLP will determine that:
- your intent is to look for a job
- job position is ‘chef’
- job location is ‘New York’
Combining that with a good UX, flow, an app would ask for a location confirmation “New York, NY, right?” to get what it needs to query a database and continue with one of the predefined user journeys.
Bot Platforms out there
Where will your bot live? Fb messenger, Skype, Kik, Slack, Twitter…? You need to get familiar with the platform to understand your limitations. What you’re likely to encounter is that you have little control over the application’s appearance so don’t fuss over typography, layouts or styling too much.
Different Data Sources
Backend database, third party solutions, repositories containing information and content that will be delivered through the bot.
Almost any useful chatbot will need to connect to data. During the design process, outline in as much detail as possible:
- Where your data is coming from (bot-specific databases, existing owned databases, 3rd party APIs etc)
- The format each of these delivers in
- The queries underlying each dynamic component
- Relationships between the different datasets
We covered the first part of our Chatbot Design guidelines, starting with a product definition phase. We’ve also prepared a few more interesting locations for you to learn. Please, share us your thoughts and experiences in the comments below.
https://botlist.co/ — a catalog of bots
This blog post is a result of our continuous work on the new chat bot project for our client (team members: Andrea Zeman, Svjetlana Vukić, Miran Brajša, Dario Sikirica and Ilijan Kotarac). Visuals were done by Ana Beverin.