Discovery is becoming one of the main challenges for the evolution of bot technologies. The Achilles’ heel of mobile apps, discovery models can also become a challenge in the bot world.
The rapid proliferation of messaging bots and the increasing number of messaging platforms is translating into a discovery nightmare for the ecosystem. As a bot developer, how could I ensure that my bots are surfaced to the correct users? as a bot user, how can I discover the best bots for my current needs? These are some of the main questions surrounding the bot discovery space. I would like to use the rest of this post to explore some ideas in this area.
The Bot Store Model is Outdated
The “app store” is the model that most developers associate with asset discovery. Consequently, different vendors have tried to recreate the app store model for the bot ecosystem and have created different “bot store” solutions. While the bot store model works well in scenarios in which the users know the specific bot they are looking for, its incredibly inefficient for organic discovery scenarios. Similarly to the app store, for bots to be visible in this model they will have to make it to the “Top 10" of the bot store, a premise that is not achievable by most bots. To address some of the challenges of the bot store model, I believe we can turn to one of the best friends of bot technologies: artificial intelligence(AI).
A Natural Language Google for Bots
Imagine that you are using a messaging platform such as Facebook Messenger or Skype, and you would like to check airfares for an upcoming business trip. Instead of searching for a travel bot upfront in the bot store, you can simply type a natural language question such as “what flights are available departing NYC to London next week?”. Automatically, a set of flight options will popup on your IM window together with some recommendations of bots such as Kayak or American Airlines that might help you complete the process. The model I just described feels more natural than the bot store equivalent and also takes advantage of natural language processing(NLP) techniques.
A Bot Description Language
A simple way to start enabling better bot discovery processes could be for bots to express their capabilities using a metadata description language. By capabilities, I am referring to some of the most common questions, entities, intents or other aspects related to the functioning of the bot. Bot developers could include that metadata with their bots and automatically publish it to the different bot platforms. In our example, the Kayak and AA bots will express their capabilities using a description language and deploy it as part of the solution.
A Bot Discovery Bot
The second component of our model is a bot that uses natural language to discovery other bots. Our discovery bot will match the user intent with specific bots based on the capabilities expressed in those bots’ description language. In our example, the discovery bot will recommend Kayak and AA as possible bots based on the user intent [booking a flight].
AI-Driven, Self-Improving Discovery
A bot discovery model could also take advantage of AI and NLP to improve the discoverability of bots based on its interaction with users. In that models, as more users interact with a specific bot, the platform could enrich its description language and discovery criteria to associate the bot with new users.
It’s Happening Already
Bot discovery is becoming a focal point of platforms in the space. Microsoft has been vocal about exploring the idea of building a search engine for bots. Also, the bot startup Intento is pioneering some interesting innovation in the bot discovery space.