Introducing Skype for Business Web SDK
As part of the Office365 Summit we’re getting lots of great information about the upcoming Skype for Business release.
In a video – Opportunities with the Skype Developer Platform – Daniel Jonathan Valik, Sr. Technical Product Marketing Manager and Srividhya Chandrasekaran, Sr. Program Manager, talk through what we can expect to see in the new Skype Developer Platform.
The key functional requirements which the new Web SDK will deliver are:
- Rich Media Support
- Chat
- Voice
- Video
- Sharing
- Cross-Platform Client Extensibility
- Works on Desktop
- Works on Web
- Works on Mobile
- Flexible Server SDK and Services Framework
- Cross-network Connectivity – it doesn’t matter where you connect, the process of connecting to different protocols is abstracted
- Skype / Skype for Business
- IP / PSTN
- Support for Industry Standards
- Today – SIP
- Today – SDP
- Later – WebRTC (see this post on the IE blog for more)
Call via Skype
A new feature which I’d not seen before is the Skype Button page, which lets you choose different options and generate HTML code to add to your website, for calling or chatting via Skype. This is great, because for many people this is just about the right level of integration to allow their customers to contact them by Skype:
REST-like
The intent of the Skype Development Platform is to offer a RESTful API which will work on all platforms. The new API will conform to the following principles:
- Internet Scale – runs on the same scale that powers the Internet
- Platform Neutral – works for iOS, Windows Android, Emulated etc.
- Language Neutral – works with JavaScript, C#, Objective C etc.
- Topology Neutral – works for hybrid topologies, on-premise only, online only
- Architecture Neutral – provides an abstraction of the underlying architecture allowing for convergence of Skype and Lync over time
- Versioned – we can expect new features to be added over time
- Optimized for mobile – efficient on the wire and in processing to reduce CPU and network requirements while boosting battery life
This API stack is the same stack which is being used to power the Skype for Business 1st party applications (the clients, Web Access etc) – doing this shows the commitment from the team to ensuring the API stays up to date and relevant over time.
In the Box: JavaScript API & HTML Common Controls
What the team are doing with the Skype Web SDK is creating a set of client wrappers which abstract the UCWA Command and Event channels, making it much easier to develop applications. Â The SDK will consist of:
- Common HTML UX Controls
- A JavaScript API, which talks to the UCWA Object Model
In this slide (taken from around the 26 min mark) you can see how this will work. You will write your webpage (in green at the top) but leveraging UX HTML controls from the Skype Web SDK, and JavaScript libraries which then communication RESTfully to the Skype (or Skype for Business) network.
Capabilities
The new Skype Web SDK will give developers the following capabilities:
- IM and Presence
- Search and Contact information
- P2P and Conferencing communication capabilities
- Audio/Video support including Multiview video support
- Passing the application context to the server
- and more, as yet unannounced, functionality
Backward/Cloud Compatabilities
Not everything will work everywhere initially. This is the compatibility matrix at launch, you can see some combinations are still planned for the future:
What’s worth mentioning here is that UCMA is still not supported in Skype for Business Online, and at launch the Skype Web SDK will not be supported Online. Also, only Basic support for the Web SDK will be available in Lync 2013. I don’t know what that means exactly, but when I find out I’ll let you know!
I’ll say it again, because it’s going to come up in a lot of conversations in the next few months: at launch, the new Skype for Web API will not work with Skype for Business Online. This lack of support is a shame. I’m hoping that it’s just something which couldn’t get worked out in time for the April launch date, and that it just requires an update to the Online codebase which has to be scheduled in, tested and rolled out. Regardless, there will a lot of companies who have moved from on-premises to Online (in no small part because Microsoft have been pushing customers to the cloud) and who will want to make use of the new SDK everyone is talking about. UCWA is still not supported on Lync Online, which is a pain for some but perhaps not a major roadblock. However, Microsoft are pushing this Web-based approach of communication much more aggressively now, Lync Server SDK is a big part of that, and so they really need to ensure that all their customers can use it equally.
Future – UCMA Services SDK
We saw a glimpse of what’s planned for the future in the form of a Services SDK, which will be a C# object model, UCMA friendly SDK, which will only work Online. This slide shows how that will fit into the rest of the Skype Developer Platform:
Skype for Web SDK Object Model
Here’s a sneak-peak at the Skype Web SDK object model, which shows the sort of data you’ll be able to access, and the relationships between different objects. Of particular note within the Conversations object are audioService and videoService – I look forward to playing with those!
What is the best way to communicate with the Web SDK on android?
When will this be available? We are trying to integrate the Skype chat, presence and call functionality in our application
When will this be available? We are trying to integrate the Skype chat, presence and call functionality in our application