The bots are coming: Conversational UI and introducing the Skyscanner Telegram Bot
What’s the theme running across Siri, Cortana, Alexa/Echo, Slackbot, Native, Operator and Facebook’s M? 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, and of course in APAC there has been a trend of messaging apps such as WeChat developing in to platforms with rich and diverse functionality, such as booking a restaurant table or a cinema ticket.
(image from Dan Grover’s blog)
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.”
Old: all software expands until it includes messaging New: all messaging expands until it includes software — Benedict Evans (@BenedictEvans) March 13, 2015
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?
I believe a confluence of technological progress and user behaviour changes point 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, I have hacked together a Skyscanner “bot” for the Telegram messaging service. The bot currently provides a rudimentary hotels search based on our B2B API.
Telegram has over 60 million monthly active users on their platform and has been growing rapidly in recent months. They recently 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 very limited at this stage, it’s interesting to consider a few 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 2016’
- 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.
Feedback is very much welcomed and appreciated: the bot accepts feedback with the /feedback command.