What’s the theme running across Siri, Cortana, Alexa/Echo, Slackbot, Native, Operator and now Skype, as part of Microsoft's big play in 'bots'? With varying degrees of success these are all attempts to introduce “conversational user interfaces” as a new and distinct interaction method, primarily but not exclusively on mobile devices.
Some of these services are purely algorithmic whilst others are human powered, at least for now. Most, whether algorithmic or not, attempt to fulfil the role of personal assistant. Conversational interactions are familiar to all users from messaging friends, and in Asia in particular there has long been a trend of messaging apps such as WeChat developing in to platforms with rich and diverse functionality from booking a restaurant table to government services.
For a year or so now, developers have looked at Slackbots as a way to enable internal messaging and alerting on their work and systems. But now with Microsoft offering to enable bots at high scale, and Facebook launching a KLM flight assistant integration in Messenger, it's clear we are now seeing the 'rise of the bots'.
The esteemed mobile analyst Benedict Evans believes messaging is the new app platform: “[In WeChat, in China] You can send money, order a cab, book a restaurant or track and manage an ecommerce order, all within one social app. So, like the web, you don’t need to install new apps to access these services, but, unlike the web, they can also use push and messaging and social to spread.”
Similarly Nir Eyal recently wrote about his experience with conversational assistants and why 'Assistant-As-App' might be the next big tech trend.
Looking back there are of course precursors to these conversational interfaces: IRC bots and the much-maligned Office Clippy of the 90s, SMS text message keyword response services in the early 2000s and a fad for Twitter bots around 2007. So what’s changed since the days of Clippy and texting a code to get Crazy Frog?
We believe a confluence of technological progress and user behaviour changes have led toward messaging and conversational UI being the next big wave:
- Our mobile devices can infer and learn significant amounts of contextual information from platform APIs and sensors (location, activity, calendar, even mood).
- Voice input has matured and is widely accepted and used.
- Natural language parsing, particularly term extraction, has made significant leaps.
- Messaging, both person to person and within groups is the defacto mobile experience.
- Sharing of rich content and collaboration on tasks (for example researching and booking a holiday together) still has a high degree of friction. Messaging conversations feel like the right place to solve this.
- Nuggets of content in the form of “cards” are ubiquitous and fit naturally in conversational responses.
- Users are increasingly adept at tuning their “natural” input when they realise they are “talking to a machine”.
There are however significant and interesting challenges in how one handles user input and presents useful information to users in a conversational form.
Introducing a Telegram Bot for Skyscanner
As a first step to help explore and understand the conversational medium, Richard Keen of our Solutions Architecture team hacked together a Skyscanner “bot” for the Telegram messaging service. The bot currently provides a rudimentary hotels search based on our B2B API for Hotels.
Telegram has over 60 million monthly active users on their platform and has been growing rapidly in recent months. Last year they introduced a bots API enabling developers to create conversational UIs for both one-to-one and group chats. The API has some interesting and innovative capabilities such as enabling custom response keyboards for specific conversation states (for example ‘Yes’ and ‘No’ buttons).
Here’s an example conversation with the Skyscanner bot. You can view a slower non-GIF version here.
Whilst the functionality and usefulness of the bot are limited at this stage, it's interesting to consider a few of the advantages messaging provides: extremely low data usage, nothing to install (assuming you use a supported messaging service), excellent poor network connectivity handing, cross-platform by default, push notification of updates and group communication.
What can the bot do?
While far from all-encompassing, the bot can:
- Search for available hotels at a particular location, on a specific day
- Start a search with /hotels (a slash indicates an action to Telegram bots)
- Allows you to change and refine your search by providing a new location or date after the initial results are sent
- Understands some natural language date entry forms in addition to full dates, for example 'Next weekend', 'Next Friday', 'September', or 'January 1st 2017'
- Accepts feedback with /feedback
How to try the bot and give feedback
You can give the bot a try by following this link or starting a Telegram conversation with the Skyscanner_Bot user (the one with a Skyscanner icon).
Telegram is available for iOS, Android, Windows Phone, Mac, Windows, Linux and Web at: https://telegram.org. Please note, all messages you send to the bot will be logged and stored so that we can learn from people’s usage.
And of course if you're a lucky Echo owner in the USA, you can try our Alexa integration: