Building Your First Bot
When consumers think of bots, they often 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 personal bots. Below are examples of other 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 that user's preferences. For example, 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 sort of like managers. They facilitate processes amongst people. The best example comes from the Scrum project management world where you have a standup bot that asks everyone in your team to deliver a daily report. Team bots are harder to develop because it 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 imperativley 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 otherhand you prefer to send your bot a request and have it figure out how to best to solve the problem, then declarations are your jam. There's no write 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 very simple terms, where a general bot focuses on broad and shallow, a domain specific bot focuses on deep and narrow.
Consumer Bots vs Business Bots
Consumer bots are often designed to delight as much as provide a useful utility. Therefore, its likely that a consumer bot might be inclined 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 streamling tasks. Business bots might be more "to-the-point" and designed to help enhance a 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 are 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 great 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 originally 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.