These days, I spend most of my time helping people design chatbots. What I’ve found is that the most difficult part of designing and building a chatbot is the first step — going from conception to developing a model that will inform how the chatbot is built.
My specialty is taking ideas about what a given chatbot should or could do and converting it into an actionable blueprint (a mock-up, a flow diagram, etc). Once that’s done, the rest is really easy. After the first step, it’s mostly just a question of “wiring” the different blocks together.
But how do go from an abstract idea of what you want your chatbot to do to creating an actionable blueprint? In other words, how do you take all those ideas and goals for your chatbot and transform it into a tangible, directed plan for coding and building it?
How Many Chatbot Types Are There?
That may seem like a simple question, but you’d be surprised at how many different answers there are.
If you ask the developers of IBM’s Watson, they’ll tell you that there are 3 types of (business) chatbots (support, skills, and assistants). Other people say there are 7 types of chatbots. Still others say there are 5 kinds of “good” chatbots and 4 kinds of “bad” chatbots. Still others say there are just 2.5 types of chatbots (flow, AI, and hybrid). And a former Facebook engineer says there are 3 interaction model types of chatbots (as layer, as pillar, or as the backbone).
So, who’s right? Well, there is no one correct answer, obviously. But as someone who has spent more than 1,000 hours developing chatbots across a wide range of platforms, I believe there are only 3 types of chatbots.
Why does this matter? Because when you know the type of chatbot you want to create, it’s a lot easier to build.
Type 1 — The Plinko Chatbot
If you’re an American who has ever watched daytime television, you probably instantly recognized the above picture as the most popular game ever created for The Price is Right. And if you’re not American, you may be more familiar with the game’s original name, pachinko.
Both games, however, work exactly the same way. You drop a ball (or a “chip”) in the top. The ball (or chip) will then bounce off the pegs until it finally drops into one of the slots at the bottom.
PlinkoBots work exactly the same way. The user experience begins at the top (welcome sequence), bounces around through various menus/options as they make their choices, and then, ultimately, wind up in one of the slots at the bottom (usually a purchase).
To the user, the bouncing around (following decision trees) seems fun and somewhat random. But to the designer, every possible bounce (user decision) is plotted in advance to help guide the user towards the final goal.
What makes a PlinkoBot unique is that every interaction with the chatbot has just one goal in the mind — to get the user to the bottom (one of several pre-defined endings).
Use cases include:
- Ordering a pizza (or other types of food)
- Buying flowers
- Accessing weather information
- Making travel (hotel, flights, etc) reservations
- Sales funnels
The goal of a PlinkBot is to make the user interaction as fast and easy as possible.
Most of the chatbots currently in existence are PlinkoBots.
Type 2 — The “Third Place” Chatbot
The term “third place” doesn’t refer to the chatbot coming in third during a competition 😜 but rather to the design approach pioneered by Starbucks of a third place where people like to spend time (the first two “places” are home and the workplace).
A Starbucks cafe, just like a “Third Place” chatbot, is designed to be a welcoming place, a place where you can relax while pleasantly engaged in doing something that’s fun, educational, and/or interesting. In short, a “Third Place” is a location where you feel comfortable spending time without any rush to achieve/accomplish something.
Unlike a “PlinkoBot”, a “3rdPlaceBot” isn’t trying to shepherd the user through a sequence to achieve a specific goal, but, instead, serves as a kind of virtual butler, there only to assist the user as s/he spends some time in the environment.
Use cases include:
- Collaborative events (like group chats and relay chats)
- Pinterest-style browsing and collecting
The goal of a 3rdPlaceBot is to increase the amount of time the user interacts with the bot, to encourage repeat visits, and to make spending time with the bot as pleasant and engaging as possible.
Type 3 — The Colossal Cave Adventure
First developed in 1976, Colossal Cave Adventure (CCA) was a groundbreaking game that let players explore a huge virtual space. The original CCA was entirely text-based, but more modern, visual-based games like Grand Theft Auto V are built on the same premise — letting players explore a virtual world.
Unfortunately, chatbots do not serve very well for this kind of interaction. As you can see from the CCA screencap above, one of the frustrating limitations to this type of game is that players (or “users”) have to guess what they can and cannot do in this virtual world.
Most chatbot developers and designers never want to build a CCABot because, simply put, it is way too much work. Instead of focusing on improving flows (for a PlinkoBot) or honing the UX (for a 3rdPlaceBot), designers have to try and anticipate anything and everything that a user might input in order to navigate through the very limited choices that the chatbot actually offers.
Mostly, it is large corporations, in particular banks and FinTech companies (for whatever reason), that seem obsessed with building CCABots.
The CEO or whomever it is that came up with the idea for a chatbot is usually completely unaware of what chatbots can do well (and what they’re not good at), and so demand a “magic” bot that will respond appropriately to thousands (or millions) of random inputs just because it’s “cool” to let the users explore a huge, virtual world.
CCABots that I’ve seen include:
Currently, there are hundreds of chatbots in development that are being built on this CCA model of letting the users explore an undefined space through the “magic” of AI.
Frankly, the CCA model is a bad one for chatbots. CCABots frustrate the users who can’t figure out what’s permitted or possible. And CCABots cause untold headaches (and expensive work hours) for the engineers, who have to figure out a way to constantly capture freeform inputs and translate them into intents that the chatbot can understand and teach the chatbot how to corral users into staying on the reservation.
Underneath all the “flash” and “bells and whistles”, CCABots are just PlinkoBots without any guardrails or signposts, forcing to the user to try and guess where the “exit” (successful conclusion) is and how to get there.
A PlinkoBot is like McDonald’s — The user walks in, makes an order, gets their product, and then gets out as fast as possible.
A 3rdPlaceBot is like an independent bookstore — The user is invited to hang out and spend as much time as they like. Sure, they might buy something while they’re there, but it’s not mandatory.
A CCABot is like an escape room — The only users (players) you’ll attract are those who like figuring out puzzles and riddles. And even then, some puzzle-loving users will want to exit prematurely when they get too frustrated.
Let’s take two hypothetical cases, based on recent bots that I’ve helped design.
First, someone came to me wanting to build a “weight loss bot.” Okay, that sounds noble, I suppose. But how exactly do you translate “helping people to lose weight” into a chatbot format?
Second, someone different came to me wanting to create a “recipe bot.” They wanted to provide recipes, search by ingredients, and even recommend (push) certain recipes. How to translate these ideas into chatbot format?
For the weight loss bot, I began asking questions:
- Do you want to provide general information (i.e. USDA nutritional data) or targeted, personalized information (coaching)?
- What is/are the user’s goal(s) when they access the chatbot?
- Do you need (not want) the bot to be able to record and access information in order to inform subsequent user interactions?
- What do you consider to be a “successful” interaction with the chatbot?
After speaking to the client for a while, I learned that he wanted a “place” where users had registered profiles, could access nutritional information, and get personalized feedback on calories and other data based on inputting what they ate.
In other words, the weight loss chatbot was definitely a 3rdPlaceBot. There is no “buy and leave” desired outcome. There is no successful “exit” (i.e. a purchase) to define the endpoint of an interaction with the chatbot. And the chatbot’s main focus was to increase user interaction, not get through it as fast as possible.
For the recipe bot, I also asked questions:
- What is/are the user’s goal(s) when they access the chatbot?
- Does the bot need to record the user’s actions, a profile, or other information to be used for subsequent interactions?
- Does it matter in which order the user navigates the chatbot’s options?
- What does a “successful” interaction with the chatbot look like?
After discussing the issue for a while, I learned that the chatbot’s main focus was to push featured recipes as well as deliver recipes based on whatever ingredients the user has on hand in their kitchen.
In other words, this recipe bot was clearly a PlinkoBot. From start to finish, the goal of the bot was to deliver a recipe, and the faster (and easier) this could be accomplished, the better.
What Comes Next
Once the type of chatbot has been established, the rest of the design process is rather straightforward:
- PlinkoBot — Design a decision tree flowchart that maps out all possible options (either clickable menus or freeform inputs parsed as “intents”), with the goal to get the user from start to finish as quickly and easily as possible. Key elements include intuitive, easy to use interfaces, a straightforward approach, and simplicity.
- 3rdPlaceBot — Design an open-ended experience with a focus on aesthetics, accessibility, and ease of use. Allow users to explore different options at their own pace, and in the order of their choosing. The focus is to get the user to spend more time with the bot rather than achieve a pre-defined goal like buying something. Key elements include a feeling of homeyness, comfort, and the ability to share, whether that’s results/achievements/points or the interaction with the chatbot itself being shared (in real time) with friends.
- CCABot — Make the user guess what the bot can do. Never describe or delineate the available options. And never explicitly define what it takes to achieve a successful exit.
Keep in mind that most of the popular platforms for building chatbots, including IBM’s Watson, Amazon (Lexbot, Alexa “skills”, Connect, et al), Google’s DialogFlow, FlowXO, and ManyChat are only good at creating PlinkoBots (and CCABots).
If you want to create and build a 3rdPlaceBot, you’re going to have to think outside the box a bit and be very creative with how you put the chatbot together. It is possible, however, to create great 3rdPlaceBots.
Good luck in designing your own bot, and most of all, have fun!