Building Your First Bot
When consumers think of bots, they mention Amazon's Alexa, Microsoft's Cortana, or Apple's Siri. These three household names are excellent examples of branded personal bots. Interestingly enough, there are also other types of bots aside from just individual bots. Below are examples of different bot categories:
Personal vs. Team Bots
A personal bot is very much like a personal assistant. They communicate directly with the user on a one-on-one basis. This bot is somewhat hyperfocused and therefore limited by design. For example, Alexa today cannot detect a specific user's voice and understand its preferences. For instance, may Johnny likes to listen to music at volume level 6, but his father prefers to listen to music at volume level 3. Alexa today cannot recognize a voice, remember its preferences, and adjust them accordingly. This will likely happen in the future, but not yet.
Team bots are like managers. They facilitate processes amongst people. The best example comes from the Scrum project management world where you have a standup bot asks everyone in your team to deliver a daily report. Team bots are harder to develop because they must be able to handle multiple requests at once, but similar to personal bots, its only a matter of time.
All-in-One vs. Specialized Bots
Super bots are supposed to have hooks into everything possible. For example, a super bot might be able to access your Spotify Playlist, check your weather, and book an airline flight for you later. The advantage of a super bot is its ability to integrate various services into a single user experience.
The only challenge of a super bot experience is determining if you, the user, prefer to speak imperatively or declaratively. For example, if you prefer to tell your bot what to do and how to do it, then an imperative style bot will need to be developed. If, on the other hand, you prefer to send your bot a request and figure out how to solve the problem best, then declarations are your jam. There's no right or wrong answer except that imperative speakers might not like declarative-based bots and vice versa.
A domain-specific bot is somewhat of an expert. For example, a classical music bot might know everything about classical music, including all the nuances regarding the past 400 years worth of music history. Unlike Spotify or Apple Music, users might be able to refer to the music as a "piece" or "movement" or "aria" instead of a "track" or "song."
In straightforward terms, where a general bot focuses on broad and shallow, a domain-specific bot focuses on in-depth and narrow.
Consumer Bots vs. Business Bots
Consumer bots are often designed to delight as much as provide a useful utility. Therefore, it's likely that a consumer bot might want to have a personality that is geared towards creating a great experience.
A business bot may focus less on experience and more on facilitating or streamlining tasks. Business bots might be more "to-the-point" and designed to help enhance business.
Voice Bots vs. Text Bots
Voice bots are command or question-based guides. They are typically great for hands-off experiences like driving, cooking, watching TV, or listening to music.
Text bots are often seen in chat apps and are designed for users who prefer to work on desktop computers or mobile phones.
Tools for Making Bots
Below is a list of popular tools and services for creating bots.
- Flow XO is an easy-to-use authoring tool that provides predefined templates.
- PullString is an advanced IDE that's great if you're planning to build a bot that will support Slack, Facebook Messenger, and Amazon.
- Chatfuel is excellent if you want a web-based simple IDE.
- Chatflow focuses on the chat flow.
- Pandorabots uses XML for creating bots. If you like working with XML, this may be your jam.
- Automat promises to use both human expertise and AI to build a conversational both.
- Recast is similar to Chatflow in that it focuses on flow.
- Imperson is both an easy-to-use IDE and hosting solution.
Software Development Kits
- Botkit is an open-source, cross-platform solution based on the team who developed Howdy.
- Microsoft Bot Framework is Microsoft's SDK for building bots such as a bot connector and even emulator.
- Slapp is an event-driven SDK for slack bots.
- Twilio is perfect for SMS-based bots.
- Google API AI was initially designed to power Android and iOS personal apps. It's now used to simplify and integrate AI into your bots.
- IBM Watson is an enterprise toolset that provides conversation management and image recognition.
- Facebook Wit AI is a conversational AI solution.
- Microsoft LUIS stands for Language Understanding Intelligent Service and is aimed at competing against Google, Facebook, etc.
- msg.ai is focusing on commerce use cases.
Analytics & Insights
How do you measure the impact of your bots? Through analytics! How do you create a dashboard of analytics? By collecting data. Here are a few strategies for creating bot analytics.
- Raw Logs is tedious but very useful.
- Filtered Logs are the best way to create goals.
- Dashbot is sort of like the Google Analytics for bots. It's a managed solution, and you have to share your data.
- Botmetrics is a self-hosted solution that allows you to create a path and show you were the user struggled with your bot.