The Bot Value Chain by Jean-Marc Ly
With the rise of bots, software designed to automate tasks (making a reservation, purchasing a product, distributing content, providing customer service or sending coupons), there is a degree of development knowledge needed to create intelligent, robust and scalable bots. By nature, bots are applications that live on top of existing communication channels that take advantage of their interface UI and adds NLU (Natural Language Understanding) to facilitate communication between the software and an individual.
Bot development differs from app development is many ways. Apps require proper planning, a specific designer for UX flow and platform specific building blocks. Bots on the other hand offer a more streamlined and linear execution. However, building a bot isn’t as simple as it looks. Let’s take a look at how bot development is done today and a new emerging development method.
Building a Bot from Scratch Today
Bots rely on several preparation steps to ensure a good working bot. You need to prepare the conversational script as part of your bot spec, the bot architecture and your development environment.
Spec & Conversational Script
The conversational script acts as use case of actual user conversation. Because most bots interact with users via a chat interface, the bot must guide the user toward the answer or task. The content of the script creates a context that relies on user behavior and add-on NLU (Natural Language Understanding).
System Environment & Configuration
Next you need to create the architecture and engineering design of the bot. You need to create both the back-end and front-end ranging from setting up the servers to the front-end conversational interface, user action and any computation needed. A developer will typically need to spin up their own servers, build, deploy and manually wire up the corresponding SDKs, incorporate NLU (Natural Language Understanding), fiddle with platform specific API, manage hosting and preparation of deployment package including processing of dependencies, test and deploy. These steps usually takes developers a bit to set up since there are many connecting interfaces, services, plugins and configurations. Will you manually host it yourself, use Amazon AWS (which requires configurations) or another service? Will you create a management interface to monitor your resource spent and key-value storage of your conversation history?
With your system configuration all set, you can now start building your bot. Use your conversational script to create a working bot while testing it to make sure it responds well and to check for any errors. This step is very straightforward as your spec guidelines gives you the skeleton of the bot.
Once you are satisfied with your bot, it is time to deploy it to your hosted environment. You need a stable hosting environment where the bot will reside that allows you enough flexibility to expand your hosting and monitor your bot/resource usage.