So you want to build a chat bot?
Considerations on making a conversational bot
Bots supplanted apps that supplanted websites. Easy peasy. Everything is golden in the bot age, right? Nope. Some things are better and some new challenges have spun up. Here are some considerations if you are thinking of building a conversational product or weaponizing an existing product for the bot age.
There’s a bot for that?
Before you begin, ask yourself why
Embark on a vision quest and think deeply about whether you want to bring another bot into this crowded world
A lot has been written on the topic. For example: Here’s a good piece on when to go native app versus conversational bot.
I can distill making a bot down to 2 reasons:
- Non-deterministic: Anything you’d want to discuss with a person or entity that you need a chat to tease out, beyond a simple fact
- Learns the user: Any product that fosters an ongoing relationship where it knows you at a much deeper level on day 100 than on day 1
What kind of bot do you want to make?
Here are the different types of bots you can make:
One special request, I beseech you:
Dear god don’t make a push bot; keep chat spam free!
Let’s clear up one area of possible confusion we see originating from the VC and media communities as the “space heats up.” There’s a misconception that only “enterprise” bots are “serious” bots with large markets to attack. Given the proliferation of test, fun and narrow utility bots that people have been launching to explore the space, it’s understandable where this idea stems from. Don’t discount the consumer space for bots. The two most popular apps are consumer apps and there is absolutely room in the conversational bot space for the next Tinder, Ebay, Twitter maybe even the next Snapchat or Facebook.
Bot from scratch or bot building platform?
This is kind of like the old Phone Gap versus native OS build debate from the app days, with two additional caveats. First, messengers are flooded with lame bots that people whipped together using bot building platforms like Chat Fuel and may penalize and/or disable them soon. Second, relying heavily on a platform comes with the risk that the parent company can move your cheese at any time e.g. take a look at Facebook’s track record on closing platforms before relying too heavily on Wit.ai.
I reached the same conclusion about bots as I did about native apps, based on some advice I got from a mentor years ago…
That which is difficult is valuable. So put on your grown up pants and build your bot
OK with that out of the way, let’s think about some user interface issues
How will your bot relate to humans?
Do some onboarding to teach users what your bot is good at and how to interact with it. 3–5 conversation turns will do the trick.
Minimum Viable Onboarding (MVO) goes a long way
Set appropriate expectations on how “human” your bot will be but don’t overly “neg” your bot’s functionality with overdone caveats. You can totally build a delightful bot that doesn’t care about Turing.
How will users discover your bot?
Some bad news here. All the problems of discovery and noise that plagues app stores, exist in bot stores too, possibly worse because not all platforms have any or full-featured bot stores. Also, people are building bots at a pace more furious than building apps so it’s getting noisy and keyword search has never been a great way of finding software that you need in the context of some task underway.
Here’s the state of messengers as of writing this article:
As of today, Apple doesn’t like it if you build your own bot store / app store within your messenger. WeChat gets away with it because it owns pretty much all Chinese users. Kik are a bunch of independent thinking Canadians and have an in-messenger bot store. Facebook is taking a more cautious approach for now, forgoing building a bot store but I’m sure they will surface relevant bot recommendations in stream as they do with apps, razors and socks.
There are some off broadway bot stores but like unofficial app stores, they aren’t going to get the critical mass of eyeballs needed to get your first few thousand downloads. Product Hunt is a decent resource but it’s getting noisy too and if you intend on releasing a bot for each messenger platform, they may not allow subsequent versions bots to be hunted.
So what’s a bot builder to do? Some ideas to get your bot out there:
- Highly targeted user communities for your bot e.g. Slack and Facebook Groups
- Highly targeted Facebook ads
- YouTube and Instagram influencers
- Thought leaders who love new products. e.g. Chris Messina and Ben Evans
- Publications like Chatbots Magazine
- Build a web app / site or SMS bot and migrate users via email and text marketing (possibly the most effective way from personal experience)
You may have to build your community one targeted segment at a time.
Sharing chat bots with your friends is challenging too.
In terms of virality, messenger frameworks lack deep linking and the ability to invite your whole contact list
Have you given thought to interface?
Bots are pure messaging, so who needs a UX designer, right? Wrong!
Minimal interface is not the same as zero interface
There are a whole set of new goodies messenger platforms are giving developers to enrich their bot user experience, including:
- Guided chats — buttons on messages
- Embedded widgets — carousels and menu items to keep users in chat rather than bouncing them to the browser
- Custom keyboards — screen takeover or pop down
- Sticker packs — to add some delight and fun
- Virtual currency — to incentivize engagement, retention, and referral via gamification
Think about how the bot experience is different than the app experience e.g. if your bot allows the user to talk to the bot or to a human how do you make it clear to the user who they are talking to? In the example below, we see a convention to use a visual differentiator (in this case a blue dot) to indicate when a user is talking to a bot.
We still need to figure out some standards, but the progress is swift and everyone seems to be speaking the same general language. For example, we need standards around how to represent a reply to specific comment without the ugliness of nested topics and methods to interact with objects in the chat stream.
Until standards emerge, consider affording the user a light web layer with which to do and configure more of his / her experience — almost like a remote control. Messengers like to keep user engagement on platform so many of them have embedded web browsers. So, interacting with a web layer won’t be as jarring as bouncing out to Safari or Chrome.
How do you think about your bot data?
With conversational bots, message level data is the entire ballgame so be careful about the API partners you use to ship off all your messaging data. Some might be early stage companies one or two pivots away from entering your competitive space. On the other hand, it may take IBM about 2 years of meetings to decide how to steal and use your data to make Watson do new tricks. So, the 800 lb gorillas may actually be better tech partners here.
Unlike event level data, if you send your message level data to a third party, they have *all* your data
Bots are really comprised of a brain, a communication layer and an action layer. The brain part is the trickiest but also likely tied to your key differentiator. That said, don’t re-build NLP libraries (e.g. geographic entities) and you can leverage some frameworks that do repetitive brain-to-action-layer integrations like Viv.
What are your key metrics? Standard metrics like DAU/MAU and churn still work in the bot space but explore a couple of areas too:
- Conversational Analysis — the dynamics of interactions in chat e.g. Kik measures chat velocity and if your bot is more bot than human, measure the happiness /frustration levels of your users via sentiment analysis and last message before churn attribution.
- Proprietary Metrics — that address your unique differentiators. You will know what these are. They are related to the features that turn monthly active users into daily habitual users.
What is your bot update strategy?
Like apps, bots are software that needs constant maintenance to retain users and keep them delighted.
You will have to keep up with trends and API additions. They seem to ship with quadruple the frequency as app API / SDK functionality did.
We are seeing weekly updates to the major messenger APIs whereas we saw quarterly updates (at best) to the app store APIs in the past.
Here’s some wonderful news. You don’t have to submit your bot for approval to the stores to update your code, fix bugs or offer some new features to your users.
Keep in mind that as standards emerge for in-bot functionality, you will have to stay vigilant to integrate new features that emerge from specific platforms e.g. if Slack now does buttons in chat in a new way, your bot that forgoes buttons for command line will only retain users for so long.
I still believe that a rising tide lifts all bots
In conclusion, chat bots open up a world of possibility and also come with some challenges old and new. I hope that messengers continue to evolve their developer toolkits to allow the conversational age to engage users in exciting new ways. There are at least 7 categories in the bot space you can build for today.
The next age will be the immersive age featuring AR and then VR so the progress we make now will have a lasting impact on human-computer interaction.
Ariel is the Co-Founder and CEO of Sensay