When our mobility team wanted to build a real-world video calling app for health care, two alternatives were open to us.
- Building the video calling infrastructure in-house with WebRTC techniques.
- Integrating with one of the popular SDKs for video calling, preferably with WebRTC support.
We did dive into building our own SDKs and APIs, and learnt a lot in the process. But to churn out an app in its entirety and do it fast, we started exploring ready-made solutions available in the market.
We found a lot of solutions that enable mobile video calling. Notable among these are Sinch, Hookflash, TokBox, Quickblox, VoxImplant, Twilio, Red5Pro. While each has its own unique selling point and advantages, for our needs we chose Sinch.
In their own words, Sinch is a mobile communication platform that removes the complexity of building and maintaining complex communications infrastructures, with easy to integrate SDKs for developers to use.
We like it because it:
- Is cloud-based: Easy to setup and run. No custom installation nightmares.
- Is cost-effective: Very reasonable pricing per minute.
- Has built-in signalling technology: No need to worry about maintaining these in-house.
- Has strong encryption: The media stream (the call) is encrypted. Also, when calling, encryption is used during signaling (the call setup) by performing encrypted SSL/HTTPS requests towards Sinch servers. For Instant Messaging, all communications are encrypted using SSL/HTTPS requests. Thus, the body of each message is encrypted at all times.
- Has a great customer base: Sinch boasts of 2 billion voice minutes connected in a year across the Finance, Healthcare, Education, Enterprise, Commerce, Social Media and Gaming industries.
Apart from the primary WebRTC SDKs, Sinch also has other offerings for –
- Verification: Verify user phone numbers quickly and effectively using the Sinch SMS API, Voice, or Flash Call technology.
- Voice: Easily add crisp HD quality VoIP calling using WiFi calling or PSTN origination and termination to app.
- SMS: Send SMSes from custom iOS and Android apps, backend, or your website.
How much is it going to cost?
Developers can quickly signup, create apps in the dev environment and test them on their devices. For apps to be supported on the production server, Sinch charges
- $0.00/min for 0-2500 minutes/month
- $0.005/min/min for 2500+ minutes/month
What did we build?
We built a set of solution accelerators to easily enable video calling on any iOS app. They are two feature sets – one for service providers and the other for consumers. Our sample use case: two video calling apps that enable real-time communication between doctors and patients. The patient app enables users to register, search for doctors, check availability and schedule a call with a doctor. The doctor app enables users to authenticate, attend calls, send discussion summary reports to patients and set availability.
Why did we settle on Sinch?
We’ve had a few challenges with scanty documentation in the past. To take a recent example, hybrid app automation using Appium was a tad difficult, owing to the fact that we had to figure things out more or less by trial and error. In comparison, we managed to integrate the Sinch SDK into our app quite easily. Their SDK is well documented and sequential. We had to write very minimal code to enable video calling, and their sample apps available as downloads were extremely useful as well. It was a great experience, overall. We can’t wait to explore other features!