Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Compare Microsoft Bot Framework With Howdy Botkit

I am looking to create a bot and have come across Microsoft Bot Framework (with LUIS or can use C# SDK provided by API.AI) and Howdy.ai Botkit (with Middleware support for LUIS & API.AI).

Can someone help me with comparison between these two?

I am looking for following things in my bot -

  • Support multiple channels including Email.
  • Have the bot act in both reactive (reply to some user message) and proactive (send out message to users once a day about something important to them or followups) manners.
  • Save and later retrieve user provided data (manage state).
  • Rich message support.
  • Respond with delay.
  • Manage conversation history.

Are there things that are available in one but not in another?

like image 329
Lalit Bhatt Avatar asked Nov 22 '16 12:11

Lalit Bhatt


People also ask

What is Microsoft bot framework?

The Bot Framework includes a modular and extensible SDK for building bots, as well as tools, templates, and related AI services. With this framework, developers can create bots that use speech, understand natural language, handle questions and answers, and more.

What is Botkit?

Botkit is the leading developer tool for building chat bots, apps and custom integrations for major messaging platforms. Botkit offers everything you need to design, build and operate an app: Easy-to-extend starter kits. Fully-featured SDK with support for all major platforms. Tons of plugins and middlewares.

What is new in Microsoft bot framework?

Bot Framework CLI tools added lg as a core plugin and included other overall tool improvements. Updated the README files in the samples and added new Teams Typescript samples. Composer improved support for skills and improved integration for Cognitive Services. Web Chat added many accessibility improvements.

Is Microsoft bot framework free?

The Azure Bot Service has now been Generally Available, which means they're providing a paid service with incurring subscription cost. The free tier, as you mentioned above, is capped at 10000 msgs/month. The previous Preview (or Beta) did provide the channels for free although they don't guarantee the SLA.


1 Answers

I tried developing a bot in Botkit and MS Bot framework both. Ultimately I went with MS bot framework. Some of my reasons which could help with the comparison:

  • MSBotFramework has support for skype, slack, telegram, Facebook, and many other channels. BotKit, the last I checked, supported only Facebook and slack. I was targeting skype and telegram and that was a deal breaker.
  • Botkit currently is node.js only. On the other hand, MSBotFramework has .Net, Node.js and even a REST API (which basically means you can use it from any language you want). Also, there are python wrappers available which internally make use of the REST API.
  • Being a Microsoft product, MSBotFramework's integration with skype, azure, azure analytics, LUIS and other Microsoft services is very easy. This could be required for developing, deploying or integrating natural language support. Botkit supports LUIS integration, which is fairly easy( maybe as easy as MSBotFramework). The analytics (through botkit studio) (was) very basic and MSBotFramework wins hands down here.
  • I found the documentation for MSBotFramework more comprehensive than Botkit but both of them have an equal amount of resources and documentation.

Some of the other points you have asked about:

  • Proactive messages depend on the channel you are developing for. For eg. Facebook allows a time window of 24 hours from the user's last message in which you can reply. Whereas other platforms like skype and telegram allow you to send a message anytime you want.
  • State management will need to be handled on your end. Bot Framework provides some mechanism, but it is not robust enough to be used in production.msdoc
  • Rich messages are platform dependent, but bot framework does pretty well in catering to most of them. So, the way this works is, you send back the message to bot framework in its own rich message format. It converts to platform specific format. If you have only one or 2 platforms in mind, you can develop accordingly.
  • Respond with delay - You will have to implement it yourself, though bot framework has lots of examples of doing this.github
  • Managing conversation can be done easily if you are using C# and .Net platform in general. The documentation and number of examples are very impressive.github repo for samples

All in all, I would recommend MS bot framework.

like image 90
Dhruv Sangvikar Avatar answered Oct 13 '22 20:10

Dhruv Sangvikar