Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time
75 lines (39 sloc) 4.67 KB

The Humans Are Dead, We Are All Bots Now

With Tommy Lewis

First things first, Microsoft has promised not to bring back Clippy!

A typical bot currently does things like get showtimes or book appointments, like a haircut. One unique example that has been doing really well is a law bot that has help people beat over 160000 parking tickets.

When thinking about bots, developers have a tendency to think too sophisticated about them rather than about common interactions and practical things. Think about simple problems, things that might help Kenyan farmers for example.

As developers think of bots like Conversations as a Platform:

  • Remember that on the other end of a conversation, the bot is talking to a real person. Consider their needs, emotional state, etc.

  • Digital assistants: Siri, Cortana, Alexa, Google Assistant - all are becoming increasingly personal. Cited a podcast with a story about a 5 year old girl who was having a meltdown because she’d been told she couldn’t take the family’s Amazon Echo to bed. She wanted to do this so she could keep talking with Alexa.

  • Bots are often best when doing very specific things for us.

Developing bots requires a new way of thinking.

  • Human language is the new UI.

  • Bots are the apps - digital assistants are meta apps.

  • Bots are going to help people achieve things just like web apps do now.

  • They infuse intelligence into our interactions.

The key differentiators of a good bot are a conversational UI and intelligence. These bots move away from the choose your own adventure style of tree dialogue that many early bots have been based around.

Fictional bots as portrayed in movies like "Her" create unrealistic hype about bots in the short term. Currently technology can’t live up to this hype. On the other hand, we should probably be considering these bots and the ideas behind them. There was a time when we asked, who would want to touch a screen or what kind of a service limits your message to 140 characters.

No doubt that many bots are going to suck. Just like the early days of the App Store, there are bound to be a plethora of fart bots. But this is part of the process that most new tech goes through. As Neil deGrasse Tyson says in Cosmos, we need to learn from our failures not mock them.

Looking at the larger picture right now, messaging and social are the top experiences across all platforms. All the large players (Google, Apple, Microsoft, etc) have bought into this. Language understanding has progressed significantly and conversational UI is becoming increasingly familiar. Knowledge of AI and machine learning is becoming increasingly mainstream.

Many people are currently building bots because they can, but they aren’t asking why they should. What is the problem they are attempting to solve with the bot? Consider that all our learnings from planning web apps can still be applied to bots.

"Don’t try to be an actual person, try to be a bot."

One very important consideration for any bot is how does it react in crisis? A bot needs to react appropriately to a person’s problem. Ie. an IT support bot should not use a happy upbeat tone with a client whose mission critical servers have just gone down. One of the easiest ways to deal with a crisis scenario is to identify the severity of the situation via the person’s tone and language and immediately pass them along to another real person who will be able to match the client’s needs more accurately.

Other design considerations for bots:

  • Bots need to confirm actions. Ie. don’t immediately delete something without being sure this is the intended action.

  • Think about accessibility and inclusivity

  • Does the bot allow for human interruption

  • Did you really map out ALL of the possible conversation paths?

  • Design for people, not for yourself

When you go to actually build a bot, you have many options. Microsoft offers the Bot Framework:

  • It uses javascript

  • Has many built in tools such as date handlers

  • It integrates with many channels (Slack, Twilio, Facebook, Web, email, Kik…)

  • LUIS, helps with understanding language, ie. "Hey, deliver 3 pizzas to my crib!"

  • Use a cognitive services API to determine emotions and adjust context