Going Mobile: Digium’s Respoke Launches iOS and Android SDKs

By Steve Sokol
Share this:Share on Facebook0Tweet about this on TwitterShare on LinkedIn61Pin on Pinterest0

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.

Bringing web communications capabilities to iOS and Android was a significant undertaking. Our development team spent many months designing, testing and refactoring intuitive programmatic interfaces that match the general design of our JavaScript library, yet adhere to best practices for iOS and Android. To make it easy to get started, we integrated the SDKs with CocoaPods and Maven, the package repositories for iOS and Android. And because we believe in the power of open source software, we’ve chosen to license the SDKs under the extremely permissive MIT license. This gives developers the freedom to adapt the SDKs to best suit their projects.

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.

Ready to find out more? You can get started with a free trial from Respoke and then easily migrate to one of our pricing plans, based on active number of user connections.

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.

No Comments Yet

Get the conversation started!

Add to the Discussion

Your email address will not be published. Required fields are marked *

About the Author

Steve Sokol

Steven Sokol is co-founder and product lead for Respoke, Digium's real-time communications (WebRTC) platform and continues to serve as the director of strategic programs at Digium (aka entrepreneur in residence), identifying and capitalizing on emerging technologies.. He has previously served as the Asterisk marketing director and as a product manager. He joined Digium in the summer of 2007 when his startup was acquired. Steve co-founded both AstriCon, the annual Asterisk user conference, and the Asterisk Bootcamp training program. He lives in Kansas City.

See All of Steve's Articles