I argue in this piece that chatbots are a stepping stone towards personal assistants. That in order to build personal assistants that deliver on their promise, we need APIs to essentially all business data out there, and that chatbots are essentially a way to get businesses to realize that they need to expose their processes and data through APIs for conversational UIs to leverage them, so that we one day can have true personal assistants. Would you agree?
This reminds me of Microsoft’s demo of the direction they want Cortana and Skype to go in. https://youtu.be/GgutlKV42SY?t=8419
This is the best example I’ve seen so far toward a true chatbot ecosystem. The current model of adding a bot as a contact and talking to individual bots in isolation is a good start for getting people to explore bots, but it’s inefficient when compared to an entirely conversational experience. Once we have larger scale adoption of bots I think that we will move to something more like the Microsoft demo where your digital assistant is conferencing in specialized bots to handle tasks that the assistant itself isn’t capable of.
I don’t think that we will see these general assistants handling the specialized tasks themselves for quite a while as that would require a large amount integration between the assistant and the service they’re talking to. I do think that we will soon see this hybrid approach where the assistant has a broad understanding of how to do common, simple task. It will then farm out more complex tasks to specialized bots with deep domain specific knowledge.
Thanks Jeff. I agree. And good demo by Microsoft, hadn’t seen that one yet. I wonder if conversation makes sense as an interface between the bots though. Reminds me of one scheduling assistant emailing with another one, vs talking directly via APIs. But that brings us back to my original point about the world needing more APIs…
I don’t think the bots and assistants will talk through natural language. I think that it’s much more likely that the assistants will have an api through which your backend can make requests, payment processing, get location, add to calendar, etc. That way the assistant needs to have minimal information about the bot’s service and together they can handle a wider range of request types.
Most of my background is in video games and I’m reminded of companies that handled services like selling digital goods. We talked with a lot of companies that had requirements like “set up the database like xyz” or “your items need to have field x formatted like y”. Dealing with the better services like Steam, they simply asked for a list of product descriptions and prices. That’s all the store front really needed to operate and it kept the dependencies between systems to a minimum.
In a similar vein I don’t think we are best served by exposing apis to everything, and expecting the assistant to be able to handle all conversation. I envision some sort of registry for bots where assistants can look up what bot to conference in for a task, and the bot will make requests to the assistant’s api for some generic tasks.