Author: Jason Yang - Developer, Application Development
“Conversation as a Platform”, or the newly coined term “Conversational User Interface” (CUI) or simply “Bots” is becoming an integral part of our online digital experience. Bots are the next step in the website and app evolutionary line.
Websites were initially designed for large screen usage – on desktops or laptops. This became difficult and clunky with the rise of mobile devices. Then everyone started building apps, designed for mobile device user experience and limited real estate and but came the requirement of having to be downloaded. There are millions of apps out there, and most people do not download more than a handful of apps. Client side apps are also costly to build, maintain and deploy especially with the many different operating systems, devices and methods of distribution.
And now we have bots. Bots solve the usability problem by taking advantage of the core method communication for humans – conversation via language. Language is an interface that humans naturally understand and bots can utilise. Rather than simply displaying information accessed via navigating nested pages and links, it allows the user to simply chat with the bot. It also conveniently utilises the same channels we currently use to communicate to each other via messaging apps effectively solving the download and distribution problems. Bots are currently available on a range of messaging platforms including Skype, Facebook Messenger, Kik, GroupMe, Email (O365), SMS (Twilio), Microsoft Teams, embedded web chat and even custom apps via the Direct Line API. These channels make bots extremely adaptable and portable. With the extensive features within the Bot Framework, development cycles for bots can be very fast and Azure allows for on-demand scalability. Furthermore, with the artificial intelligence and machine learning capabilities provided by the Bot framework and Azure Cognitive Services, bots can continuously learn and evolve, becoming smarter, more “human” and better at personalising our user experience.
With messaging app usage continuing to grow, businesses need a way to leverage these platforms and engage with their users.
Where to use Bots
There are four main categories which bots excel at. These categories represent a wild range of real world scenarios, with some use cases overlapping multiple categories:
Data and information gathering – We can use bots to collect information from the user in a guided approach. Simple examples would include surveys, feedback questionnaires and FAQ where a fixed script is used. But this doesn’t utilise the full potential of bots. Bots also can ask a series of questions, of which the subsequent questions can be chosen based on previous responses – a decision-based flow. This is particularly useful for scenarios such as Level 1 Tech Support or quoting for service provider where the unique user circumstances or decisions can be recorded quickly and accurately.
Information search and filtering – Bots can find and filter information much faster and more accurately than any human could. Why spend time combing through search engine results and extracting relevant information when a bot can do it for you? By leverage the power of Azure Search with indexing, querying, result handling and many other features, this makes bots ideal for scenarios such as encyclopaedia and research aide bots.
Automation of scripted tasks – Bots also excel in performing tasks which have a set script. One example is resetting passwords. The generic process usually looks like this:
a. validate user identity
b. reset password
c. provide a link to create a new password
This can all be done automatically through a bot. In fact, any task, that can be listed out as a series of instructions – a recipe if you will, can be automated using bots.
Specialised personal assistants – With growing ubiquitousness of general purposes personal assistants such as Siri, Cortana and Alexa, we are seeing a need for simple, yet sophisticated specialised personal assistants for specific tasks. These bots utilise some or all of the above categories in order to provide a service which makes the user’s life easier in a specific aspect. Example scenarios of this include a flight booking manager, which helps the user track flight booking documentation, check-in times, flight delays. What makes these bots really special is that they can interface with the service providers such as airports and flight centres
Consider the scenario of a tech support department. A customer would call in and, if the support centre is busy with all their operators engaged in existing calls, the customer will be placed in a queue, on-hold. When it is finally their turn, they will speak with a level 1 support agent who will likely ask a scripted set of questions to inquire about the customer’s problem, collecting data. Based on the collected information, they can suggest possible solutions with fixed instructions in an attempt to resolve the problem. Otherwise, they can escalate the issue and transfer the customer with the collected information to another department or another more specialised support agent where they are potentially placed in another queue, on-hold again.
Now let’s bring Bots into this scenario. A customer would call in and be immediately greeted with a Bot who can immediately start the ‘gathering information’ of the process – there is no wait for the customer. Based on the customer responses, the bot can suggest potential solutions. Then, based on the customer response, they can escalate the issue to a support agent. By replacing the first two steps – information gathering and suggesting simple and common solutions, with a bot, the support centre can improve the customer experience by reducing wait times as well as reducing business costs.