A Review of the Microsoft Bot Framework

Microsoft have clearer put a lot of thought and effort into their bot offerings; they clearly believe that bots are going to be big and they want a share of the action. Their approach is definitely “developer first” - there’s currently no way to create a Microsoft bot if you’re non-technical.

Their platform is surprisingly cross-platform when it comes to development tools, with binaries provided for Windows, Mac OS and Linux, but I guess this is the new Microsoft. The format may not always be what you expect (Linux binaries are supplised with a “.AppImage” extension) but at least they’re making an effort.

When it comes to deployment, everything is set up to deploy to Microsoft’s Azure hosting, however it is possible to host on other cloud services, for example Amazon Web Service.

The framework consists of the following components:

Microsoft provides template bots to get you started quickly:

The advantage of Microsoft’s framework is that it provides you with tools to get going quickly, but it does not dictate any particular solution. The downside of this is that when it comes to implementing the brains of your bot, you are basically left to your own devices. This is in contrast to Google’s Dialogflow, for example, which helps you interpret and make use of intents by designing the flow of conversation.

There are two ways to implement a bot within their framework: as a standard web app (which requires paying for a server to host the bot), or a serverless bot that runs on Azure Functions. It’s nice to have this option, especially for experimental bots or practice ones, since you pay by usage, it works out very good value if your bot never handles a lot of requests, otherwise you would have to pay for a server to be available at all times.

Since most of the components of Microsoft’s framework are freely downloadable development tools, the cost of using their framework is very low. You essentially just pay for hosting the bot, whether that is on Azure or some other platform. The cloud component of their framework, the Bot Service, is also free for “standard channels”, which includes Facebook Messenger, Slack, Skype and Cortana, and costs $0.52 per 1,000 messages for “premium channels” which includes web chat.