Build Microsoft's Bot Framework received a minor feature injection at the Windows giant's Build 2017 developer conference, with the addition of Adaptive Cards for cross-platform rich media and support for new channels and the company's payment API.
Harry Shum, executive vice president of Microsoft's Artificial Intelligence and Research group, made a point of mentioning the 130,000 developers who have registered to use the Bot Framework. That's not quite the same thing as 130,000 developers actually putting public-facing bots into production. While developer interest counts for something, it's not quite a measurement of real utility.
Earlier on Tuesday, in a press briefing, Lili Cheng, general manager of Microsoft FUSE Labs, expressed ongoing faith in bots and in natural language processing as a promising method for device interaction.
But in a conversation that followed, she described them in a way that underscores their weakness. She called them apps without an interface.
That explains why bots are not easy to get right. They require user experience and development work to handle text or spoken interaction in a way that's not annoying. If you're sending text prompts to fetch data that would normally be ended using a web form, chances are you're not making things better.
Bots might not be the supposed next big thing if people spent less time texting and used mobile websites more. Alas, companies want a way to serve customers who spend most of their time in mobile chat applications, and to wring money from them through online commerce. And they want to make sure their customers aren't calling them over the phone.
In a Build session, "Bot capabilities, patterns and principles," developers Mat Velloso observed that bots shouldn't do a lot of chatting. "People assume bots are all about typing," said Velloso. "But the best bots are where you type less."
That a lesson Facebook has offered to its Messenger Platform developers: Use menus where it makes sense. And it turns out, that's most of the time because no one really enjoys typing on mobile devices, which is where bots show up most often.
'Command lines are unintuitive'
Ryan Volum, another Microsoft developer presenting during the session, said, "Command lines are inherently unintuitive."
That's why, he suggested, software engineers have gravitated toward graphic interfaces. "Instead of users having to figure out the language of the machine, we showed them what to do with icons, menus and pointers," he said.
Volum noted that with complex applications, the GUI doesn't necessarily make it easy to use the software. He suggested conversational interfaces could get around that. "With conversational interfaces, it can be the computer's job to figure out user," he said.
That may be possible with an extremely simple application, but trying to operate an application like, say, Photoshop via spoken commands isn't going to be any easier than figuring out how to use menu commands.
In fact, it's going to be harder because there are multiple ways to express a command in words, all of which need to be anticipated by the developer, whereas most operations in an application with a traditional GUI are tied to a single menu command.
Trying to build a natural language interface in a bot amounts to reinventing the wheel, or in this case, the graphical user interface that has served so well since it was popularized by Apple's Macintosh.
Velloso and Volum spend most of their talk explaining anti-patterns, development and design choices that don't work very well for bots. As they acknowledged, developers are still trying to figure out how to implement bots well.
Really, Microsoft never should have used the term "bot," which implies far more intelligence and autonomy than is currently available to developers. Headless apps, chat automation interface, or middleware would have been more accurate. But that would have been a harder sell. ®
Sponsored: Webcast: Simplify data protection on AWS