Bot development tips
I recently caught up with David Low, Developer Advocate at Skyscanner and we reflected on the Microsoft and Skyscanner partnership last fiscal, which covers O365 Add-ins, Universal Windows Platform and the Bot Framework. For many developers building bots is a new paradigm, which offers unique opportunities and challenges. We cover some development tips if you are just setting out on this journey.
- Be Agile - we made an overarching plan for where we wanted to take our bot platform very early on and got the bot out to market as quickly as possible. Taking this approach enabled us to deliver solutions and learn in an agile manner.
- Select your channels wisely - starting with social platforms with large user bases gave us a clear focus to kick-start our conversational efforts and an understanding of one-to-one platforms. Our appreciation of the social nature of travel then lead to our work with Skype to enable group travel in a way that we've not done before. The platform is a great space to start our work on Group Booking Flow as it has a highly engaged user base that frequently participates in group conversation.
- Testing challenges - testing a platform that is constantly evolving presented us with unique technical challenges. We took a two-pronged approach: we first tested the bot with users as early as possible to identify what worked, what didn't and how we could improve it; we then incorporated user behaviors into a suite of automated tests that focused on the reliability of the service by creating a testing suite that could simulate thousands of users using the bot simultaneously.
- Telemetry - To iterate, improve and know what's going on, we track everything we can - what state the user is in, what they're trying to input and also what the bot understands. That allows us to see if there are problems in the conversation flow and how to fix that as early as possible in order to ensure a smooth UX.
- Operations - When we first rolled out the bot to Messenger it was critical to work alongside the squads that were most familiar with the platform and also to work with our User Satisfaction team to prepare them for questions surrounding the bot. Additionally, the squad that built the bots is also dedicated to supporting them. All part of our philosophy - you build it, you run it.
- Tools - To develop the bot, we used Visual Studio and Azure for rapid prototyping. Additionally, using C# to prove out concepts on the Skype bot while the Skype team was working on them gave us the ability to be really close to the metal. We then flowed these into our node.js services as things matured and we rigged up the whole stack.
You'll find the complete article here: https://www.microsoft.com/en-gb/developers/articles/week05july16/skyscanners-year-in-bots/