Monday, April 18, 2016

Facebook Messenger’s ‘Rich Bubbles’ Make Dumb Bots Usable

This post was also published in VentureBeat.

In the week since its launch, Facebook Messenger’s bot platform has seen a litany of complaints, with users arguing that it is tedious and unusable. The reality underlying the feedback is that natural language processing isn’t ready for prime time. The techies at Facebook Messenger clearly recognize this fact and have a few tricks up their sleeve that are very old school and reminiscent of the simplified HTML in Facebook’s app platform from almost a decade ago.

Chatting with bots just doesn’t work

Artificial intelligence experts are indeed pursuing systems that pose as humans and can pass the Turing test, but companies attempting to sell flowers or airline tickets are fast realizing that even specialized bots are incredibly difficult to create. The bot platforms are providing tools like Facebook’s and Microsoft’s cognitive services to make creating interactive bots easier, but it is going to take years for these specialized bots to become truly interactive.

Even if that interactivity problem were fixed, it is still incredibly tedious to go back and forth with a bot to do anything even somewhat complicated such as purchasing a plane ticket. Using such as simple interface is reminiscent of calling an airline and having to use their TellMe voice recognition systems to go over every detail of a flight.

Slack, one of the first in the generation of bot platform, relies on “Slash” commands reminiscent of DOS command prompt. Yes, if you learn the syntax, it works, but how many people are going to bother mastering the syntax?

Some evangelists in the bot space are saying that at some point humans will have to take over a conversation in order to complete a transaction, which is quite silly when apps and websites have already made it so that you can perform all of these activities without engaging a human.

Facebook Messenger bots will soon look a lot like Google’s answer cards

Facebook Messenger is bypassing the uncomprehending bot problem by providing “rich bubbles” that provide interactivity directly within the messenger. Most in the industry call the equivalent functionality “cards” – small interactive units where users can make choices, swipe for more information, and click or tap on actions. Google made cards pervasive years ago by putting them directly below search queries such as “san francisco weather” and “flights from sf to la”.

So while the Facebook Messenger bubbles are still quite clunky, their evolutionary path has been well trodden by Google: interpret a textual query and provide an interactive unit in response.

Above: Left, Facebook Messenger’s weather bot, Poncho, in action; right, Google’s response to a weather search.

The chat interface offers iterative interactivity

However due to its chat interface rather than search, Facebook Messenger can provide an iterative experience with interactive cards that can quickly get a user to the answer or service that they want. This iterative experience is actually quite novel and useful.

Facebook Messenger is still a very nascent experience. The conversational interface is unusable and will likely remain so for the foreseeable future. However, the “rich bubbles” are well set up to provide an interactive, iterative way to help users find the information they need.

Facebook will likely expand this functionality to full Micro Apps that can load into the Messenger, with games delivered via React Native and apps delivered in this new HTML subset reminiscent of the FBML language Facebook used in its initial platform. All in all, this is an exciting development with far reaching implications for developers that are getting lost in the Apple iTunes and Google Play app stores.

Sunday, April 03, 2016

How Google’s AI Paved the Way for the Next Generation of Bots

This post was also published in VentureBeat.

Bots are fast becoming all the rage in tech, offering users the ability to use a messaging app to type in simple English requests to services like Uber. The user interface is just like texting a friend, and it’s far simpler to enter a message than to download and use a clunky native app.

As more bots and bot platforms like Slack emerge, it’s interesting to note that Google has spent almost 20 years perfecting how to respond to a text query. Today’s bots have a lot to learn from Google’s lessons in natural language interpretation, artificial intelligence, and user interface.

The quintessential example of a bot is ordering an Uber on Slack, which is relatively straightforward since Slack on mobile knows where you are. However, most current bots quickly devolve into endless back and forth. For example, picking an airline flight via text is about as tedious as using an airline voice response system.

Messaging back and forth with a bot is tedious

Perhaps eventually bots will become smart enough to know exactly what you want when you ask for a flight from SFO to JFK, but we are a long, long way from them knowing whether you are traveling for business or pleasure, if you need a different airport this time versus last time due to meetings, or if you want to fly a particular airline to round out an elite mileage tier.

How Google led the way with less text

Google has long been the master of returning the most relevant research to a textual query. Seven years ago, it began interpreting the intent of queries and returning cards with answers to queries above search results. Over the years, Google’s cards have evolved into highly interactive apps covering everything from weather to music, lyrics, and flights.

Google understands shorthand English like “flights from SF to LA” and returns interactive cards in the search results. An interactive card is a much more efficient user interface than messaging back and forth with a bot. We want to send text, but the last thing we want back is more text.

Google’s interactive card apps

Clicking on the “show flights” button in the card or on the “Flights” tab takes the user to a full-screen, fully interactive micro app capable of directing the user all the way through a flight purchase. Bots will likely soon move to this methodology of using a full-screen micro app for more complex interactions.

To drive the point home that text-only interaction sucks, a few years ago Google killed its SMS search product after its interactive cards and micro apps became fully entrenched in smartphones.

Choosing the right medium for the message

Much like people wait until they are using a computer to write a document rather than attempting to do it on a phone, natural language bots are suited to different tasks in different contexts. When using a voice-only interface, interactions are generally limited to simple questions and answers. When typing into a smartphone, a more complex query can return a more sophisticated interactive card or micro app.

Here’s a brief layout of examples for each interaction option:

The emerging bot platforms need to become micro app platforms

So what does this all mean for messaging platforms such as Slack and Facebook Messenger that are supporting bots? Looking at Google’s path, they will soon need to augment their APIs so that card apps and even micro apps can flourish within their platforms.

Supporting card apps and micro apps will require a new generation of lightweight HTML APIs like Google’s card API. Ironically, Facebook has killed off its FBML (Facebook Markup Language) platform, but perhaps React.js will be able to fill its shoes. Users are tired of bloated native apps, with an overwhelming number of features, and this is a great opportunity for lightweight, HTML-oriented apps to be dynamically loaded in real time.

Google also responds to simple queries before they’re even complete, another feature that messaging platforms will likely soon add.

Google’s search now answers some queries while you’re typing

And with some queries, bots should answer your question before you even submit it, as Google now does in Chrome for some queries like the weather and stock quotes.

Longer term, bots should message you when something of particular interest to you happens. Right now, bots are quite verbose and spit out everything that happens in a source system like Salesforce or Github.

Again, we can learn from Google, whose Google Now proactively sends you push notifications and interactive cards apps based on your context and interests.

Google will likely integrate a similar experience into its messenger Hangouts, and as O’Reilly’s Alistair Croll notes, Google is also integrating intelligent card apps and micro apps into its Inbox email product.

An emerging platform war for developers

After nearly a decade of iOS and Android apps, it’s great to have an opportunity to revisit how to invoke app-like functionality and also to slim down an app based on a query and user context. In the enterprise, users will likely come to expect that all of their enterprise tools are queryable and offer proactive, interactive cards and micro apps.

The value of bots for the enterprise user is only just becoming clear. Enterprise bots will likely be used to augment intelligence in the context of conversations, push relevant information to employees, and optimize workflows.

Google has a big lead in responding to text queries, but Microsoft has already announced a bot API for Skype, and new players like Slack are emerging. All in all, this will be a fun show — we haven’t had a developer platform war in almost a decade!