Connect Your Service to Conversations: Skype for Business Trusted Application SDK
At MS Ignite 2016, Andrew Bybee (Principal GPM) and David Newman (Program Manager) gave us some great insight and early access to some new technologies coming to Skype for Business developers.
The full video is available to watch at the end of this blog post.
We already knew that Microsoft was working on a “Services SDK” from a talk at the Office365 Summit in May 2015, but this is the first time we’ve seen some real detail, some live demos and some back-story on the thinking and planning that has gone into this new tooling.
The Developer Platform for Skype for Business is a key component of the overall Skype for Business offering, maybe even more so with the push to Online and cloud-based services. As quoted in one of the slides from the talk:
The Skype Developer Platform is a critical asset for integration communications with business processes, enabling broader adoption of Skype for Business and supporting faster deployment of O365 E5 users.
Bots, Bots Everywhere
Bots are a hot topic right now but the idea isn’t new. The reason they are suddenly relevant again is because of the huge advances made in the field of AI and cognitive intelligence. We’ve moved on from the Eliza bot (which I studied at university) to AI which can now pass the Turing test. There are now lots of tools and services available to developers to harness this new technology; none more so than in Azure, which hosts a range of Cognitive Services.
However, regardless of how ‘smart’ you make your application you still need a way of communicating with users, and Skype can be that pipe. In addition, there has to be some way for applications to be able to manipulate and change how an organisation communicates if applications are to be truly useful in the fields of compliance, call recording, ethical walls etc. Finally, such applications can have different audiences depending on what task they are solving: be it internal users, specific customers or the general public. Applications should be able to present themselves in the way that makes the most sense: be that via a webchat on a webpage, or at the end of a phone line. Voice is particularly important here as although web-chat is exciting right now the majority of customer service interaction is still done via voice, not chat.
UCMA in the Cloud
For quite a long time, really since the introduction of Skype for Business (or Lync as it was then) Online, UCMA developers have known that they can’t build applications which run against online installations. UCMA is a powerful, server-side technology which can do a number of powerful things on a Skype for Business environment. Porting that style of application to a multi-tenanted system such as Skype for Business Online was always going to be a challenge.
Today, we got the final word from Andrew: there won’t be a UCMA in the cloud, it doesn’t fit. UCMA will continue to be supported for on-premise installations, but it won’t be moving to online.
Instead, a new model exists to support the world of online. This follows a similar model to the other web-based SDKs announced in the past few years and sits alongside the Skype Web SDK and the App SDK:
One of things mentioned is that Trusted Application SDK is not the final name, as it’s not that catchy and doesn’t abbreviate well. So, if you can think of a better one let me know in the comments and maybe we can submit a list of alternatives. BotAppSDK?
Another interesting comment was that the recently announced Organisational Auto Attendant and Call Queues features of Skype for Business Online which are coming in October were actually built using this platform, not with some secret internal platform. This is really good news for this SDK and for developers who use it, because it means that the SDK will continue to evolve and support changes and enhancements to Skype for Business. The best way to maintain an API is to build your products on it!
The full range of features isn’t known at this stage, but the demos showed included sending and receiving of IMs, call transfer facilities and some sophisicated audio IVR features. In this screenshot you can see an audio call that’s been transferred to the user by an application with an Azure cloud service URI:
It’s also exciting to look at the sort of applications which Microsoft recognise need to be built. They’ve clearly done their requirements gathering research to see what demand is out there for solutions, and it’s encouraging to know that as the SDKs evolve they are keeping these types of products in mind:
Security & Identity
The provisioning model for these applications will be registration in Azure Active Directory. There are different security models for different scenarios. Applications can be secured on a per-user basis and then will presumably pick up the security of the user and be able to do things the user can do (like send messages, check presence etc). This sounds similar to User Endpoint UCMA applications. Alternatively they can be secured on a per-tenant basis by a tenant administrator and will then have ranging powers across an organisation’s Skype for Business Online deployment. This sounds similar to Application Endpoint UCMA applications.
What about On-Premise?
When this new SDK was first announced last year, Microsoft made clear that it would be Online only. This line seems to have softened a bit, as support for Skype for Business Server is now shown as Planned:
However, it’s clear that new features and innovations will come to Online first and fastest, and this will be where Microsoft’s focus and resources will be concentrated.
When Can I Get This?
The Trusted Application SDK is not available yet. The plan is that a Public Preview will be available in early 2017. There are a number of other “irons in the fire” which need work first, for instance the AppSDK for iOS and Android needs to come out of Preview and into GA, and the GA of Organisational Auto Attendant and Call Queues. However, once those are done then the plan for 2017 looks really interesting as different features of the Trusted Application SDK come online.
Watch it Yourself!
If you’ve got this far then you might be interested in seeing the second half of this video, starting at 30mins 54 seconds and which includes a number of demos: