How WhatsApp web Works and why it won’t be available on iOS any time soon

In the last few weeks we have been witness to the debut of WhatsApp Web. The messaging service has finally decided to take its messaging service, which has domineered the App market for years, into a new stage: the web and personal computers. It comes a bit late seeing there are already solutions like Hangouts which allow you to seamlessly move through devices and have everything synced, or even iMessage with it’s iCloud system (despite the fact it only works on devices that bear the charismatic Apple logo).

As soon as you enter the WhatsApp web webpage you are in for a surprise. Just like you can see in the screenshot, it turns out WhatsApp web supports every mobile operating system the App can be deployed in, except iOS, and it keeps asking you to keep your phone connected once you hook up to the system. Why is this? This is particularly the reason why WhatsApp Web is such a step forward technologically speaking and a extremely intelligent move by the company, and it is also the reason why iOS is left out.

webwhats

What WhatsApp Web really does is establish a WebRTC connection with your phone; this way what you are really seeing is the contents of your phone in your web browser. This is because WhatsApp does not keep a record of all your conversations for two reasons, the first is for privacy and security reasons, and the second is because it would require a much more complex server structure. Therefore, they decided that the best way to display all the contents of your phone was via a low latency socket connection with WebRTC that can establish and stream data seamlessly from one to the other.

In case you haven’t heard, WebRTC is a new set of APIs that allow real time communication without the need of plugins and only using Javascript which takes away all the complexity from the developer in things like port resolution, transmission control and IP address resolutions. You can read more about it here.

webrtcschema

So, why is it only for Chrome? If you look at the following table you’ll see that Chrome is one of the browsers that better supports the RTC (RTCDataConnection is the method needed to establish the low latency connection I described earlier). It is also is one of the bigger parties driving this technology and the most updated. Big surprise huh ;)?

supportcardwebrtc

Now you probably are wondering why iOS is left out. Even BlackBerry, who currently embodies the concept of security allows it, so it must not be a security issue right? The truth is it has nothing to do with security, the data connection is encrypted end to end so that’s not a problem at all. The real issue is that you need to establish and keep a connection in the background to send and share all the data, and iOS does not allow it. In fact, Apps in iOS have very restricted background tasks, and any open connection would be killed by the operating system. Another issue is the fact that Apps cannot run on startup on iOS, the user has to manually open them. If you compare this to Android for instance, the App is running the moment you switch your phone on (hence the need for more RAM) so you can use WhatsApp Web without even opening the App (as everything can be configured in background).

If Apple does not change this type of limitations, WhatsApp Web will never work on iOS. Maybe it’s time Apple realised that being secure and being closed are two different things and they don’t need to go hand in hand.

What do you think dear reader?

Drop me a line in the comments.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s