Volume 32 Number 3
Betting on Bots
By Michael Desmond | March 2017
When Microsoft Chief Executive Officer Satya Nadella introduced the concept of “conversations as a platform” at the Build 2016 conference, he posited a future era of intelligent bots that would transform the way things get done. Bots would surface in ubiquitous channels like chat and communication clients to provide seamless access to services and business logic that until now had to be deployed as mobile apps or accessed via the Web. Just as important, the use of natural language UIs and intelligent back-end services would combine to enable human-centric interaction via voice, text and screen input.
These are topics we’ve tackled before. In December, Srikantan Sankaran explored bot development in his feature, “Use Bot Framework for Anytime, Anywhere Access to Application Data” (msdn.com/magazine/mt790202), and Ashish Sahu dove into the Microsoft Language Understanding Intelligence Service (LUIS) in his January issue feature titled, “Enable Natural Language Interaction with LUIS” (msdn.com/magazine/mt745095). This month Kevin Ashley offers guidance on how to leverage Microsoft platforms like Cognitive Services to enable rich interaction in his article, “Making Bots More Intelligent.”
There’s a lot to be excited about, but coders entering the world of bot development face a few adjustments. Ashley cautions developers not to try to do too much in a bot project. The advantages of speech- and text-driven conversational UI can break down, he says, when software must contend with open-ended dialog and a vast array of possible outcomes. He also urges developers to take full advantage of the unparalleled reach of bot software by leveraging as many channels as possible across mobile, fixed and screenless devices.
Those adjustments extend to the architecture model of bot software, says Maarten Van De Bospoort, who, as principal software development engineer at Microsoft, works with developers and architects at large consumer software companies on technologies like bots, Cognitive Services and Universal Windows Platform apps.
“Since bots are basically Web services, on a tactical level an app developer needs to make a shift from client side to server side,” Van De Bospoort says. “Although not as dramatic as 10 years ago, there still are different challenges between the two disciplines, such as threading issues with controls and challenges with state and scalability. A Web developer might have a leg up in that case.”
Bots also open a new front in UI development, where the focus shifts from app design and layout to intuitive flow of conversation. Van De Bospoort says developers need to anticipate what users will ask next and avoid deep hierarchies in which users can get lost.
“At the end of the day, a bot needs to help a user accomplish something—whether that’s by pressing buttons, talking, sending a picture, or typing full sentences,” he says, noting that it’s quicker to press buttons than to type the specifics of an order. “If the bot understands the user, it might be a cool experience the first few times, but then it gets cumbersome quickly.”
What’s your take on Microsoft’s vision of a bot-driven future? Will your dev shop be looking to Microsoft Bot Framework as a way to deliver services and enable interaction?
Michael Desmond is the Editor-in-Chief of MSDN Magazine.