Since Digium launched the Respoke real-time communications (WebRTC) platform last fall, thousands have signed up for an account to quickly add live communications features to web applications. Today, we’re pleased to announce that we’ve extended the same possibilities to mobile developers with the launch of our software development kits (SDKs) for iOS and Android. The Respoke mobile SDKs make it incredibly easy to incorporate live audio and video calling, instant messaging, and presence into native applications. We’ve also made some key changes and additions to the Respoke platform to optimize the mobile user experience.
Until now, building in-app communications features on native mobile platforms has required a small army of specialized experts, people with a deep understanding of call signaling, media subsystem integration, codecs, encryption and packetization. With the Respoke SDKs you can leave all of the plumbing to us. The Respoke libraries handle identity, message delivery, call signaling, and – in an industry first – mobile push notifications. You simply add code to handle various events and to incorporate various Respoke features into your user interface. Adding a rich suite of in-app communications features typically takes only a few hours of planning and coding.
Doing live communications on mobile poses some challenges. While it’s quite common to have many desktop applications running simultaneously, the resource constraints of mobile platforms allow for only one active application at any time. To extend battery life, mobile devices quickly revert to a power-saving sleep mode when not in use. This makes things interesting for communications applications, which need a way to interact with the user even when backgrounded or offline. We solved this by incorporating support for push notifications using the push services provided by Apple and Google.
The latest version of Respoke includes a number of features that lets your app use push to send messages and calls to applications, even when offline or in the background. The Respoke developer portal now contains a push configuration tab which allows you to set the credentials and certificates required by Apple and Google. Here you can also set the rules that control if and when push notifications are sent. For example, you might chose to send push messages only when the user isn’t available on another connection (perhaps from a browser or desktop application).
In the spirit of “eating our own dog food” (i.e. using the software we build for our own applications), Digium’s Respoke team used the new SDKs to build mobile versions of our home-grown collaboration suite. There’s nothing quite like having to choke down some kibble to help you get things right; our experience quickly showed us that mobile is a different beast. It took several stabs at push notifications before we found a balance between simplicity (automatic push messages) and elegance (being able to control and format push messages for optimal user experience – what became our PushEvent feature). Getting that right was a huge effort, but totally worth it as it made the mobile collaboration client a true peer to the web client.
The users who helped us beta test the SDKs seem to think we got it right. “The Respoke mobile SDKs made it so easy to implement the real-time communications features of our app,” said Jason Adams, founder of Ninjanetic, an early user of the SDKs. “The interface is simple and straightforward, allowing us to implement all of the complexities of chat, calling, and identity with just a couple of classes. A surprising amount of that code came straight from the example applications.”
It’s something of an understatement to say the team is excited to see the SDKs released. We’ve been hearing from existing and potential customers that mobile support is a key requirement. As of today, we have a platform that supports web and mobile on equal footing. For everyone who asked for mobile and waited patiently, thank you very much. Now we’re looking forward to seeing what kinds of awesome mobile apps our developer community can cook up.
To get started with the Android SDK, view the Respoke documentation for Android.
To get started with the iOS SDK, view the Respoke documentation for iOS.