Mobile Telephony over IP: Facetime, Viber, Skype and other proprietary solutions
The iPhone 5 is a nice piece of hardware, but getting it means signing for two more years with one of the three big carriers, and I was wondering last week whether it was time to experiment with mobile virtual network operators (MVNOs) or with Voice over IP.
The idea behind VoIP or Internet Telephony is pretty simple: it’s about using an IP network (a network, public or private, which uses the same packet transport protocols as the Internet) to support a voice conversation. If you’re using services like Skype, Webex, FaceTime, Viber or if you’re getting your dial tone from your cable company, you’re using VoIP.
Practically, building an Internet Telephony solution is far from trivial, and adding the constraints of mobility to an already complex technical problem only makes the matter worse.
Even if there are established standards and hundreds of VoIP service providers and software vendors offering a piece of an overall Mobile VoIP solution, it’s often much simpler for the man in the street to use a packaged solution such as Viber or Skype rather than try to engineer its own Internet Telephony solution.
In this article, I will focus on the particular case of the iPhone, but most of the products exist or have equivalents in the Android world.
At a high level, there are three categories of VoIP solutions for the iPhone:
– proprietary mobile voice and video messaging solution with no access to the public telephony network
– proprietary mobile voice and video messaging solution interconnected with the public telephony network
– standards based Internet Telephony solution interconnected with the public telephony network
Apple’s own FaceTime or Viber offer free voice and video messaging capabilities over IP networks (through WiFi or through a 3G or 4G data plan), and they work pretty well. Facetime and Viber are closed systems (you can only establish a conversation with another Facetime or Viber user), and they are not interconnected to the public telephony network: only the user of an Apple iOS device will be able to reach you on Facetime, and only a Viber user (there are clients for Android and other platforms) will be able to contact you on Viber. Facetime or Viber don’t give you a phone number, which makes you out of reach of billions of conventional or mobile phones, and you can not call your dentist to ask for an appointment.
Because their scope is rather limited, solutions like Viber are very easy to use, and produce good results – as long as your Internet connection (WiFi or 3G) is of sufficient quality. And they’re 100% free.
Skype is somehow similar to Facetime or Viber: it’s a proprietary solution, but it supports a much larger set of “clients”: not only the usual mobile phone platforms, but also Windows and Linux PCs and Macs. Skype also offers dedicated cordless phones, as well as adapters where you can connect a conventional home phone (wired or wireless), a solution very similar to Obihai’s OBI 100 when you couple it with Google Voice.
Lastly, you can call conventional phones and mobile phones (you just have to buy a bucket of minutes), and you can even tie your Skype account to a phone number (here or abroad). Skype’s online number is not free ($6 /month), but Skype being considered a messaging service, you don’t have access to e911 services and are not subject to the corresponding monthly fees.
All in all, Skype provides a comprehensive consumer oriented IP Telephony solution in everything but the name. With more than 600 million registered users, it commands a 13% market share for international communications worldwide. It’s proprietary – you have to use their client applications to use their network – and some security experts and IT departments don’t like its architecture (Skype is at least partially a peer to peer system), but it works and is far easier to deploy than equivalent standards based solutions.
In theory, it’s possible to use Skype on a smartphone as a substitute for a voice plan (subscribe to a Skype Online Number and attach it to the Skype account you use on the iPhone) . People like Jason Belsey have tried it and are happy with the experience.
I’m not sold on the Skype idea however.
Generally speaking, when you receive a VoIP call on the iPhone, the user experience is not that great, no matter how good the VoIP client is. The iPhone operating system is designed to give priority to conventional cell phone calls and to maximize battery life. It does not offer an easy way for VoIP applications developers to keep the iPhone in touch with the back-end VoIP servers and to rapidly wake it up. To make the matter worse, once the phone has been located on the network and has been waken up, the user still has to enter his/her password to unlock the home screen, and wait a few seconds for the VoIP app to be promoted to the foreground and let him/her accept the call and start talking.
With Skype, the initial call establishment (finding your phone on the network and waking the iPhone up) seems to take longer (15 sec. or more) than with other VoIP solutions. It’s also the case for the time the application takes to come to the foreground. If you add the few seconds needed for the user to unlock the phone, many impatient callers will have abandoned the call.
Last but not least, the upgrade to iOS 6 seems to have created some issues – at least for some users. I don’t think the issue is specific to Skype, though. I also experimented issues with Counterpath’s Bria (a VoIP client) as have many other people.
Viber or Skype are not applications written and published by Apple. When a new version of the OS of the iPhone is released, some of the tweaks and hacks used by the independent developers of VoIP and messaging applications may start producing different results, and as a consequence the application could start behaving erratically. If you really count on VoIP to remain reachable at all times, you must adhere to a strict change control process: when Apple or the application vendor release a new version of iOS or of the app, always wait for a few weeks, then check the forums for issues and incompatibilities, and only install if everything seems OK.
The last option is to build our own mobile VoIP solution, by combining the best standards based IP telephony service provider with the best standards based IP telephony client. It will not make the issues and limitations of VoIP on a smartphone go away, but it will give us a chance to pick the vendors who have been the most successful in minimizing the consequences of those limitations. A sort of best of breed approach. More about in the next post.