App Development

How To Develop Great Bots

Over the last months, many of our clients have come to us to work on a bot development strategy, so we thoughts we’d share some of our high-level thoughts on where bots are going, and how our clients are leveraging them.

What is a bot? Bots have been around since the start of computing and are nothing more than an automated response to a query (or a simulation of an automated response to a query). Back at AOL in the late 1990s we had a bot program where you could call in and play Blackjack against a computer using voice commands.

Why are bots taking off now? When we talk about the current wave, we are primarily talking about chatbots which typically work within a messaging program, or their own messaging interface. Bots are exploding right now because several technologies have come together to make them easy to use, and useful:

  • Natural Language Processing (NLP) allows computers to much more accurately translate normal human speech patterns into usable code. The big win here is users don’t have to know what variables to enter or what syntax to use to tell a computer to do something. More on that below.

  • Automatic Speech Recognition (ASR), otherwise known as Speech to Text (STT) allows us to speak to our devices, making interaction with bots much easier and more widely available. Siri of course is the most recognizable player in this space.

  • Mobile makes it all possible because our always-on, always-with-you devices allow us to get things done immediately and quickly.

So how are bots going to make our lives better? Chatbots are an incremental improvement over apps / web pages for certain tasks using “Conversational UI.” As UX designers, we spend most of our time designing experiences that make it quick and easy for users to navigate through a series of screens to get the information they want in order to perform a task. In the future, for certain tasks with bounded outcomes, having a voice or text conversation with a computer will be much more efficient than navigating through screens. Easy-to-understand consumer-facing concepts could include “order me new toothpaste” on Amazon, “when can I see Star Wars” on Regal Cinemas, “get me a hotel room tonight” on Wyndham Hotels, and “what are Clinton’s latest poll numbers?” on Fox News. The even bigger innovations may be in the workplace where tasks like ordering parts or call center operations could be entirely automated via chatbots.

Where do bots live? Bots exist primarily in two places:

  • Inside Messaging / Chat Services: Think Facebook Messenger, Slack, or even the text messaging app on your phone. Within any of these services, you will be able to pull up 1000s of individual bots, and interact with it. So for example, you could pull up the Regal Cinemas bot and ask it to book you movie tickets tonight.

  • Inside Apps: Bots will have the option to interact with all or portions of the app. WillowTree believes this is a huge opportunity in the near term as the standalone bots are much more complex to roll out. So for example, you could use the Choice Hotels app to find a list of hotels near a point on a map, see prices, and then at that point move to a bot interface and tell the app to book you a room for tonight. We believe these types of hybrid experiences will become common very quickly.

How do you build a bot? Developing a bot is very similar to developing an app. It all starts with a UX strategy to develop use cases, personas, and users stories. The big difference is that instead of then designing screens, you design a series of conversational UI paths.

Next, you can use a service like Microsoft’s Luis ( to create the logic that interprets the spoken word and parses it into actionable data . For example, Regal could train the system to understand that the question “Where can I see Star Wars in New York, NY tonight?” is equivalent to movie=Star Wars, Location=New York, NY and Time=Today’s Date between 5pm and midnight. This can now be translated to an API call.

Finally, a back-end system must be developed that receives queries and replies with the desired outputs or questions. This is where the bot’s conversation logic exists. The system should be architected in a way that it works across a variety of bot services (e.g. Facebook, Skype, Telegram, and Kik) and apps.

The key to making a great bot is having a highly-experienced team take a deep dive into the different possible language patterns to make sure the bot is trained to return great results. The more specific the use of the bot is, the easier this will be. This is why we believe that commercial bots with very specific use cases will be the early success stories.

If you’d like to discuss bots generally or have a specific project in mind, please don’t hesitate to contact us as we’re working on a variety of chatbot projects.

Moving from Monolith to Microservices Architecture

When a client decides to move from a monolith platform to microservice architecture,...

Read the article