Premise
Chatbots, which leverage natural language processing and machine learning, are a growing focus for application developers. Developing chatbots for specific use cases—consumer, business, and otherwise—can be a complex process, especially as these apps are deployed as orchestrated microservices to myriad mobile, commerce, and other application environments.
Analysis
Chatbots may eventually replace—or substantially supplement – user interfaces in many if not most online services, as well as in most messaging, mobile, and Internet of Things (IoT) applications.
Chatbots—which often go by such alternate names as digital assistants and conversational interfaces – have already become pervasive in the e-commerce, customer service, call center, and help desk arenas. As consumers gain familiarity with the technology, they will demand chatbots in a wider variety of applications.
For developers who are starting chatbot projects or seeking advice on the next step to take with existing chatbot efforts, Wikibon provides the following guidance:
- Identify the most promising chatbot applications. Identifying the most promising chatbot use cases should start with a focus on any application that can benefit from an interface that is self-service, personalized, and predictive. The starter app for chatbots may be as simple as delivering intelligent responses to natural-language queries via text and/or voice inputs. Other candidate uses of chatbots may include presenting personalized purchase recommendations, providing driving directions, and delivering other real-time decision-support guidance.
- Evaluate chatbot development frameworks, tools, and platforms. The chatbot development environment should guide developers in assembling and optimizing the appropriate conversational capabilities to use in various solution scenarios. The environment should provide visual tools for specifying the user experience, generating application code and machine learning models, including conversational domain content, and crafting other chatbot programmatic artifacts.
Identify The Most Promising Chatbot Applications
Chatbots can deliver value into every aspect of users’ lives. As a key tool for user augmentation, chatbots have great potential for expanding the range of outcomes, improving the quality of experiences, and boosting future opportunities for action available to individuals, while reducing the costs and mitigating the risks of engaging at scale.
Table 1 presents the principal guidance for identifying high-impact chatbot applications. In the process of identifying these applications, developers will need to engage with stakeholders—such as brand managers–who will benefit from the outcomes that can be realized through development of high-quality chatbots.
Table 1: Guidance for Identifying High-Impact Chatbot Applications
Evaluate Chatbot Development Frameworks, Tools, and Platforms
Chatbots can be complex applications to build and optimize. In launching their chatbot initiatives, developers should evaluate the growing range of development frameworks, tools, and platforms on the market. Table 2 discusses the core features of a high-quality chatbot development tool.
Table 2: Features of a High-Quality Chatbot Development Environment
The range of chatbot development platforms on the market now is vast, and a bit overwhelming. Both commercial and open-source offerings abound. Big-name cloud/AI providers compete with no-name open-source tools.
If you’re looking for a tool from an enterprise solution provider, AWS offers Lex as well as a library for developing Alexa apps that work with Amazon.com’s Echo appliance and with AWS Lambda. Facebook offers Wit.ai; Google has API.ai; IBM has Watson Conversation; Microsoft has its Language Understanding Intelligent Service, Microsoft Cortana, and Microsoft Bot Framework; and Oracle has its Intelligent Bots Service.
Some tools are specific to a particular language and/or chatbot deployment platform, with Facebook Messenger being a particular popular target environment for these apps. The language and/or platform-focused chatbot development tools include crystal telegram bot API, Node.js Messenger Bot, node-slack-sdk, node-telegram-bot-api, python-slackclient, python-telegram-bot, slack-ruby-bot, PHPFaceBot, rust chatbot, Telegram Bot API PHP SDK, BootBot, botman, BotStack, ChatClub, Chatfuel, Hangoutsbot, It’s alive, ManyBot, telebot, telegraf, telegram.bot, ManyChat, Mindiq, Octane AI, relax, and Chatfuel.
Many tools enable development of chatbots for deployment on diverse platforms. These tools include Botcamp, BotEngine, bothaus.io, Botkit, Bottie, Botmaster, BotPress, Bottr, Botsify, ChatScript, ChatterBot, Chatteron, claudia-bot-builder, Conversable, Converse, Dexter, E.D.D.I, Firebot, FlowXO, Fred, Gupshup, HelloStars, HemenBot, init.ai, MachinaBot, message.io, Meya, Morph.ai, Motion.ai, notify.io, PandortaBots, Parlo, Personify, PullString, Rasa NLU, Rebotify, Recast.ai, Recime, Sequel , TalkBot , Ubisend, Wechaty, wit.ai, Avaamo, Azumo, Rul.ai, and Turing Robot.
Action Item
Chatbots may be suitable for deployment in each access modality–device, app, and/or online service–that users encounter. For application developers, Wikibon’s primary recommendation is to adopt visually-oriented tools to accelerate building of high-quality chatbots for messaging, mobile, commerce, IoT, and other application environments.