May

Microsoft AI products

                                                 

Microsoft product strategy has always been and still remains that of ‘zero alternative’. Their ultimate policy is for their customers to have no choice but to embrace only Microsoft products. Consequently they created and are offering products and solutions in (almost) every segment of IT enterprise and consumer market, including, but certainly not limited to, their own data base, their own cloud services, operating system, office tools, programming language, and many more.

Not only do Microsoft offer wide variety of products, they tie them up together in a unified ecosystem that makes it easy for components to connect and interact. At the same time, this ecosystem is hostile to non-Microsoft products.

Microsoft strategy for the burgeoning, fast growing AI segment is similar:

Create products to address all parts of the AI market, add them to the ecosystem to ensure easy compatibility from within and difficulty of use from outside.

Currently the products on offer are:

- Microsoft AI engine, called LUIS. It is supposed to compete with other major industrial AI systems such as IBM Watson, and has similar training methodology. It offers webhook interfacing via endpoints.  

- Microsoft chatbot building platform, called, surprisingly, Microsoft Bot Platform. It addresses the popular demand for easy chatbot design and provides seamless connectivity with main user interfaces, such as web interface, SMS, mobile, and messaging platforms.

- In addition Microsoft offers their own messaging platform in Skype.

The main advantage of  using Microsoft AI products is the built-in connectivity with user interfaces.

The main disadvantage is in their ‘zero alternative’ policy - once you’ve chosen a Microsoft product you are likely will be forced to choose only Microsoft products for the duration of your project.

 

Interested in reading more? Check out our other blogs:

Building Facebook Messenger chatbot: what they forgot to tell you.

                                     

There are lots of written tutorials and online videos on this subject.

Yet many of them omit important details of the bot building process. These details may vary from one user to another and are difficult to describe in a unilateral fashion. Consequently it is easier for tutorial writers not to mention them at all. We try here to fill the gap and provide some additional clarity.

1. Creating Facebook app.

One of the first steps in building a Facebook Messenger bot is creating a Facebook App. It requires a business Facebook page. This might seem obvious to avid social users yet worth mentioning: a business Facebook page can only be created from a personal Facebook page. If you already have a business Facebook page move on to the next step. If you have a personal Facebook page go on and create a business page. If you are among the lucky ones that live without Facebook presence now is your chance to become like everybody else.

2. Getting SSL certificate.

Next you need to setup a webhook. Your web application is hosted on a web server and the webhook’s role is to establish connection between Facebook and your web application via your web server. In order for the webhook to work you need SSL certificate because Facebook supports only secure connections (HTTPS) to external web servers. So first, you need to purchase it. The costs change from one company to another but it is important to buy a reliable certificate otherwise Facebook might reject it. All major ISP companies offer SSL products. Second, you need to install it on your web server. The installation process can be tricky. Sometimes you can get technical help from the ISP company that sold you the certificate (as a rule of thumb, the bigger the brand the better their technical support is supposed to be. But the cost may be higher too). You can also rely on popular tools, such as keytool command utility, assuming you know how to use them. In any case, it might be a good idea to allocate several days, up to a week, for this step when planning your project.

3. Choosing the server environment.

Your options are (almost) unlimited. Many online tutorials use Heroku which is a cloud-based web application platform, but a simple Tomcat web server would suffice too. Your decisions should be based on your business requirements.  A lightweight server such as Tomcat is a good fit when it comes to web centric, user facing applications. If backend integration comes into play, a web application server should be considered.

Your choice of programming languages is also broad. PHP is one popular option, Java is another but the list by no means ends here. Your chatbot app communicates with Facebook using POST requests, so any language that supports web protocols will work. Again, make decisions having your business goals in mind.

READ MORE