Lessons learned from designing and building over 100 chatbots

I have broken down these lessons so it is easy to consume for both beginners and seasoned chatbot developers.

Victor Okoroafor
The Startup
7 min readNov 21, 2019

--

Source: undraw.co

Navigating the world of chatbots has been one heck of a voyage. I have developed several bots for businesses which include e-commerce stores, agencies, coaches and local businesses. I have come to the realization that it is easy to get drawn into the tools of the trade required to build the chatbots and ignore the ultimate goal, which is to engage with your audience and bring them into your world.

Here are the lessons that always guide every bot I have built.

Summary

  • Always follow the tenets of conversational design
  • Create the entire flow before you start creating the bot
  • Your focus shouldn’t be on what you can do with your toolbox but on what your average user expects
  • AI is not everything but it is a formidable ally if used in the appropriate situation
  • Context is everything

Always start with conversational UX

Conversational UX is usually touted as the primary core of marketing regardless of the platform or product. With the growing heavy reliance on data to drive sales and engagement, it is evident that customers want to be part of the process. Customers want specialized services and want it built exactly to their taste. Studies have shown that customers are more likely to continue patronizing a brand they feel emotionally connected to and this is what you want when designing your bot.

it is crucial to map out the emotional aspect of the bot before you start geeking away and creating the bot. The last thing you want is for your bot to come off as insensitive and unhelpful, that is why you need to set the emotional tone at the design level

When designing the conversational feel of your bot you want to focus on the pillars of conversational building and build like an architect as suggested by google. These pillars are:

  • Cooperative principle
  • Turn-taking
  • Context

Another important thing to consider before you start geeking away is to ensure that the bot provides the user with enough information to make a decision about their next action or request from the bot. A common mistake I have seen chatbot creators make (I used to make this mistake too) is to assume that their audience know they are supposed to click a button or respond with a particular word or collection of words. If you are building a rule-based chatbot, you need to guide your users so it is explicitly clear what the next action should be and don’t ask open-ended ambiguous questions that would end with your chatbot and your audience looking like fools.

Poncho weather bot is a classical example

When designing the conversational experience, always have in mind that context is everything and this requires a lot of planning. You will have to put yourself in the shoes of the average user of the chatbot (The law of averages work here too), consider as many entry scenarios as possible and structure your contexts around them.

It is cliche to say you should define your average user, how they communicate, what platform they prefer to hang out on, what the structure of their conversation feels like and what type of words they use (millennials are big on emojis). it is very important that you have all these figured out before you create the chatbot to avoid the bot breaking down at every complex in-context speech thrown at it.

design the conversational flow before you start building out the chatbot

After covering the conversational design, the next step will be drafting the entire flow from start to finish (emphasis on start to finish). At this point, it is tempting to open up your favorite chatbot building toolbox to bring the chatbot to life, but that would result in a lot of confusion especially when you are working on a team or someone has to take over from where you left off.

Building out the dialog from beginning to end makes it easy to build the bot when you start, it keeps your thought process aligned and stops your ever creative mind from venturing into weird fantasies of how the bot should work deviating from the audience centered design

Remember that it is a conversation

source: giphy

In my earlier years of building out conversational interfaces and dialog flow (you see what I did there ☺), I would be more focused on getting it all out there and shoving as much content to the unsuspecting visitors. This is a therapy for a useless bot and I learned that the hard way.

Remember that the reason it is called a chatbot is that it is conversational and not a blog post crammed into messages. You want to make sure that your style of conversation is built around how your audience communicate and the tone that they expect. An entertainment bot should not be formal and banking bot should not be telling jokes.

Make sure that the copy is short and straight to the point and only lengthy when it is absolutely necessary. You also want to break lengthy messages into smaller chunks of consumable information to avoid overwhelming your audience and forcing them to endure the constant barrage of information.

conversations are mostly built around turn-taking and just like every normal human interaction, if one person is doing all the talking then the other person begins to feel excluded (and may just as well go to sleep). It is paramount to build the conversation in a way that the user feels present in the conversation. If you fully utilize the maxims of conversation building when creating your chatbot dialogue, you can then account for possible responses and create the appropriate fallback intents when needed.

In case of a linear design or rule-based design, you want to make sure you let your audience know what responses you expect from them but if you are utilizing AI-driven solutions like Dialogflow, IBM Watson or Microsoft bot framework, you can be flexible with that option and build by context.

Build with the platform in mind

Source: undraw.co

At this point, you should have figured out the platform and if you are targeting multiple platforms, there is no “one size fits all” solution. You have to build utilizing the tools and options available for that platform.

I have seen chatbot developers use the same copy for voice-based bots and a messenger based bots. It is a convenient solution but therapy for disaster. There are features and nuances used in these platforms that your users are familiar with. You should utilize these features as they were meant to be used, this would give your bot the expected human.

Voice conversations are totally different from the way we converse via text. Text-based platforms like WhatsApp and messenger allow you to give prompts and accents are pronunciations are not an issue on text platforms but for voice-based platforms, the flood gates of potential issues open up if you have a messenger or WhatsApp conversational design integrated into a voice-based bot.

It doesn’t always have to be AI-driven

When it comes to deciding if you need an AI-based design or a rule-based design, there are several things you should consider.

  • Cost

AI-based solutions are more expensive to manage because of the need for continuous improvement and training that comes with new information, changing ways of communication and customer feedback. They require continuous monitoring because of the multiple ways customers can break the bot, so these require hands-on-deck. In the long run, it is a more effective solution as the bot becomes familiar with the way your target audience communicates. The most common use cases are consulting bots, diagnostics bots, and personal assistants.

A rule-based solution is relatively very easy to build and requires very little maintenance because the instructions are pretty much clear for your audience to follow. The most common use cases for rule-based design are FAQs, e-commerce chatbots, banking bots, and appointment bots. The actions that the bot can perform must be spelled out so that it is glaring to your users what the next action would be.

  • Technical requirement

These days, it is almost equally easy to build both an AI-driven chatbot and a rule-based chatbot. Platforms like Dialogflow make it easy to build any type of chatbot without writing any code but, to fully unlock the potential of AI chatbots, some technical knowledge is required to properly utilize fulfilments and integrations with other platforms.

For rule-based chatbots, I would recommend platforms like Manychat, Chatfuel, and mobile monkey. You don’t need to be technically adept to use any of these platforms, they provide a very interactive designer interface where you can drag and drop features giving you the time to focus more on the conversational design.

--

--