X
Business

Inside Microsoft's build-a-bot strategy

Microsoft Research, its Developer Experience team and its Applications and Services Group are all building out pieces of the company's evolving bot platform. Here's what's under the hood.
Written by Mary Jo Foley, Senior Contributing Editor

Tomorrow, Facebook is expected to roll out new bot-related programming interfaces and possibly new chatbots of its own at its F8 developer conference.

botconnector.jpg

Microsoft recently used its own Build developer event to talk up the coming bot-centric future. In the couple of weeks since then, I've been watching recorded Build bot sessions and following various links to understand more about Microsoft's approach.

Bots aren't new and definitely are not unique to Microsoft. Bots are conversational agents. They're meant to help users achieve and/or complete a particular task. Bots can help users interact with a particular service or application without having to download a separate app or go to a specific Web site.

Personal digital assistants like Cortana, Siri and Alexa could be construed as bots. In Cortana's case, Microsoft is pitching Cortana as a possible front end to simpler, single purpose bots.

At the core of Microsoft's bot work is the Microsoft Bot Framework. The Framework consists of three pieces: Bot Builder software development kit (hosted on GitHub) for those interested in building bots using C# or Node.js; the Bot Connector for registering, connecting, publishing and managing bots to text/SMS, Office 365 mail, Skype, Slack, Telegram, kik and more; and a Bot Directory of bots developed with the Bot Framework.

The Bot Framework is available, as of two weeks ago, in preview form. Currently, developers can build bots via the Microsoft Bot Framework that work in text/SMS, Office 365 mail, Skype, Slack, GroupMe, Telegram and the Web (using the embeddable chat control). Microsoft expects the Bot Framework to be generally available by the end of calendar 2016.

Microsoft officials said in a Bot Framework Q&A that "the core Bot Framework effort has been underway since the summer of 2015, primarily driven by Fuse Labs within Microsoft Technology and Research." I actually stumbled onto some early bot research from the Fuse team back in 2013. I wouldn't be surprised if AskyBot actually marks the unofficial start of Microsoft Research's work in bots.

The Research team also has been simultaneously developing a number of cognitive services (several of which were formerly part of Project Oxford), such as computer vision, emotion recognition, face recognition and video, that bot builders can add to their bots.

It's not just Microsoft Research that's been working on Microsoft's bot strategy; the Developer Experience team and the Applications and Services Group (home to Bing) have been part of this plan, too.

What, specifically, is the Bing team's involvement here? This is where the machine learning/AI component of bots comes into play.

The Bing team is currently crawling the Web to create lists of available bots. (There's also the aforementioned Microsoft Bot Directory in the works that will list all of the available bots registered with Bot Connector that have been approved.)

The Bing team also has developed a number of the cognitive services that Microsoft is making available to bot builders. Some of these include an academic knowledge programming interface; interactive structured data search; entity-linking service; recommendations; image and news search; and the Microsoft Translator service.

The Bing team also has been leading the charge on how to discern user intent. To do so, a service needs to understand domains like place, time and the like. (This is where Cortana has gotten a lot of its smarts.) Because of its roots in the business world, Microsoft also has built up knowledge of business-related entities around areas like documents and meetings which will help with users' bot queries like "remind me to send my boss that document I worked on last night."

Microsoft is expecting companies of all sizes to start making bots the front ends to their services in a relatively short amount of time. After all, nearly every action a user takes can be viewed as a "conversation." Why not have users provide bots with their names and addresses, rather than having them fill out Web forms?

As Microsoft's bot strategy evolves, I'm sure there will be plenty more bots and related cognitive services. I wouldn't be surprised to see bots coming to Minecraft some time soon, given the Softies' hints about a Minecraft bot "channel." Integrating bots with holograms probably isn't far behind...

Editorial standards