Bots, bots, bots! What’s all the fuss about bots?

With all the talk about bots, AI and bot stores from Microsoft, Facebook, Slack and Google, I thought I’d share some of my thoughts with you all here.

To explain my thinking, imagine there’s a spectrum, from the left hand side single purpose bots, to the right hand side full AI assistant. Let’s examine the edges of this spectrum, check where we are today, and what kind of things pull a bot from one end to the other. I will also finish with an example of what I think are bots done right.


  • Bots are computer programs that interact with humans through a text-based interface. Bots can run tasks like look up the weather, check zip codes, or convert currency rate. They are not a new thing (bots have been around since the 1980s in platforms like internet relay chat IRC). Both Facebook and Microsoft announced dev tools to build new bots. Apps like telegram, wechat, line, hipchat, slack and others have launched their own bot platform.

TLDR; version (skip now and read at the end if you’re not lazy!)

  • Short term you’ll see plenty of bots but full AI is super hard to get right.
  • The levers that move a bot from one end of the spectrum to the other are context, domain and UX interactions.
  • Text-based interactions work well for some things, not so well for other things.
  • Bots are the new apps, but not for the reason you think.

1. Why simple bots are about cranking the fidelity knob up in B2C and C2B communication

Let me share a story with you.

When I worked on the Vodafone Discover product (which ships embedded on every Android device sold by Vodafone), our main goal was to provide both VF and the customer with a better way to talk to each other. Think about it, communication at that point was limited to SMS and weird interactions like texting capital ROAMING to 1619 if you wanted to get the right tariff while you were abroad.

While it’s important to note that these interactions sometimes worked for consumers, we thought we could do three key things better: 1) embrace the device’s context, 2) leverage our unique domain and 3) provide richer UX interactions.

  • Context meant both inside the device and with the outside world. (e.g which device the user was using, if he was on a roaming network, if there was a trending topic on twitter or if his/her favourite football team was playing).
  • Our unique domain meant we knew things like your tariff, your balance, who tried to reach you but failed and more.
  • And richer interactions meant we built a couple of dashboard visualisations into the widget that were richer than the limit of 160 characters of text (e.g. images, bars, toggles, buttons and others).

And so we shipped. And a lot of what was configured by the 8 launch countries and was displayed to the thousands of VF users across Europe was just, simply put, ads. Users. Hate. Ads. Even when they’re good.

What I’m hinting at here is that the ‘business’ part of B2C in this equation didn’t quite get what to do with a product like this at first. In Vodafone, we helped the countries build better use-cases by talking to them about what was possible. I think Facebook is doing a great job at explaining this in their documentation and the fact that they approve each bot submission is a good thing for users.

And we’re proud of the ones we shipped: in one you actually get help for using the device you bought and not a pointer to a generic help page with a list of a thousand models, in another you get help obtaining a better tariff based on how you use your phone, in yet another one you get to see how your favourite football team is doing while they’re actually playing the game. Oh and that roaming problem? Now you get one-tap to activate roaming which is only displayed when you actually are in a roaming country. This product is not perfect, and needs iteration (which is harder than you think in a large company) but the seed of the idea is the same as what I expect to see happen with the first wave of bots.

One more note about context that might have been lost in translation: having the device context also means that the bot gets details about me (with my approval) from the host device/service. This means that Facebook can securely share my payment details with the bot so I don’t have to, or that the bot might ask to see details about my calendar if I approve it. Also the bot gets to keep history and details of our past interactions so the provider knows more about my preferences as the interactions ensue.

Sounds cool doesn’t it? That’s what’s happening right now.

So I believe bots will allow higher fidelity interactions than sms text or e-mail, especially those that take advantage of context, a unique domain and richer UX.

I especially believe that you need to have quite a limited domain to succeed (at least right now), which is best explained in the second point. Let’s get to it.

2. AI is a multi year journey, and we’re not quite there yet

On the right hand side of the spectrum you find Cortana, Siri, Alexa and Google. These tools are amazing! They provide an even better way to interact with users since they rely on using natural language, which is something we humans are quite good at (after all, we practice every day).

The promise here is that you can ask it about anything (domain = ∞), using the best interaction possible (natural language) and with superior context (knows about you, the world, about your calendar, your documents et al).

If you’ve tried one of these services you quickly find out two things: they’re great for some things, but in others they fail miserably. This creates a kind of man behind the curtain moment, that users turn a suspicious eye to when it comes to relying on them to take care of things. Fail them enough times (or provide them with value too late), and they stop relying on the service all together.

The key thing to note here is that all these assistants are actually the growth equivalent of very young children (e.g. Apple’s Siri is 5 years old, isn’t that cute?). If you asked me a complicated question at 5 years old my best answer would have been “cookie?”. Like humans, these systems need time to learn and need great input and tailoring so that the results they produce are the ones you’d expect. We’re talking a long time and a lot of inputs.

Facebook in my opinion is doing a great job at this with M. They use a combination of humans and robots to teach an algorithm what to do for a certain request. In other words, they absolutely tailor the kind of input that goes into the system, so that the right synapses are formed growing up. Siri, Cortana and Google are also great in that they rely on acquiring a massive quantity of information to infer the result you need. For now, Siri and Google need to ‘be taught’ new tricks to display new information (e.g. just recently Apple’s Siri added baseball scores for the ongoing season for example). The information was always there, but needed to be made sense of.

Systems like Siri, Alexa, Google, M and Cortana are not the end of the journey, but will be a key way of how we interact with computers in the next 10 years.

My main point is that we’re not quite there yet, and only a handful of companies are positioned to deliver on this all-context, all-domain, natural-language vision over a sustained period of time. Keep an eye out for breakthroughs, but remember, MSFT, APPL, GOOG very likely have eyes on those same breakthroughs too.

3. Text-based interactions are better for some things, worse for others

A text-based interaction has advantages in that 1) it’s personable, 2) it doesn’t require my full attention right now 3) I am actually more likely to respond to a question if it’s part of a conversation. They also have disadvantages like 1) they can become verbose, 2) they can be quite slow to interact with, 3) they are not great for browsing/discovery of content.

Some examples come to mind here: why build a weather bot, when it’s quicker to pull down on the notification pane of the iPhone and check the weather there. How about choosing which restaurant to go to with a group of friends, doesn’t it become verbose and confusing after a while? And how about giving feedback on your friend’s CV, would you do it over a text message? I think we know the answer to these questions as they highlight some of the challenges of using a text-based interaction.

I also think that presenting the user with an open ‘command line’ to the bot’s abilities is not necessarily the best way to go (i.e. I agree with Facebook’s thinking, in that we should provide a set of options even if those are presented in a chat bubble).

But let me highlight some advantages too with the example of an app called Lark.

Lark is your own personal trainer, in that it helps you know more about the food you eat and about how much exercise you’re getting. Lark is (currently) an app, and what you get is a message chat, with this green parrot-like creature called lark. The conversation usually doesn’t last more than a couple of minutes and is normally prompted at lunch and dinner times. Lark asks “what did you eat?”. You say “lean beef burgers, two of them”. He replies by telling you how much protein, fat and other things your food has along with some helpful tips. He says things like “well done on skipping carbs for lunch! Notice whether in the next few hours you feel less sleepy and more energetic than normal”. He also remembers and logs what you like to eat, how often you eat it and how often you said you felt better by following its advice. It’s personable, doesn’t require my full attention in the moment and I find myself more likely to respond to its questions than I would to open myfitnesspal and log my meals there.

Another great example is Slack’s onboarding, which uses slackbot to ask questions like your name, your profile photo, your settings and so on. So text-based interactions have pro’s and con’s, and they’re not a silver bullet for all interactions.

4. No, there’s no app for that

Think about going to your local florist and ordering some flowers.

In these kind of services, one of two things happen currently: a) either your florist has built an app, which you have to install and likely disable notifications for, or b) there’s a third-party aggregator service that has built an app and provides the service but loses all its personality in the process. It would be great if the local florist could offer the service, not lose the personality of a local business, and not have to spend a lot of money building and promoting an app. Bots (and Facebook pages as a conduit) are a great way to do that. This is true not just for local businesses, but for services that are best consumed through this type of interaction, rather than built and promoted as a full app.

In other words, “bots are the new apps”. This is right because not everything needs the investment that is building a full mobile app, but is not right in that it solves the user acquisition and app-discovery problem. Just try searching for florist in fb messenger search box.

Studies tip that apps are becoming harder to find and we install fewer and fewer of them (even though we use the ones we keep more and more). I have to say, I don’t buy into that at all. I still think that while Apple/Google can do a better job at the UX on their stores, there are still a million ways to get customers that are not related to the platform we build our product on.

What I think a good bot looks like

So after all these points about bots, what do I think is a good execution of a bot? Read through.

Hi, I’m the ‘looker’ bot. Ask me a question.

Meet the looker bot. I like it because I think it successfully pulls itself into the middle of the spectrum. Looker is a data platform that provides users with information about their business in a way that doesn’t require knowledge of SQL. They have a great website, mobile app and everyone gets the gist of it once they’ve used it for a while.

The looker bot is a bot for slack that uses the lever of UX and the lever of its unique domain knowledge to pull itself inside the spectrum (in this case allowing natural written language and very good domain knowledge). So you can connect looker to your analytics and your customer support databases and ask things like “looker, how many users have clicked this button since we launched?” or “looker, does this customer have any open defects in the mobile application?”. The looker bot will answer with a visualisation of the data in the most appropriate graph with a link to get more information. This new form of interaction, I believe, does more to democratise data usage than any app (or data analytics team) would. And for any organisation this is magic! Think about what it would mean for your business if any of your designers, developers, sales, support could have access to that information to make decisions on their day-to-day.

Show your support

Clapping shows how much you appreciated Ricardo Clérigo’s story.