THE IT ASPECTS OF MESSENGER APPLICATIONS
One of the fascinating aspects of technology is the vast divide between the front-end and back-end of software. There is the part of the software the user experiences and the feeling they get when interacting with the technology. Then there is all the code that powers that and makes the functionality possible.
Messenger applications are one example of this technology that we use every day and don’t appreciate the complexity of. Texting has been omnipresent for more than a decade so we take it for granted that it is easy to communicate our thoughts to people we aren’t with, but messenger applications are so much more than that. They give you the ability to speak with your friends over video and audio; you can transport files, track someone’s location, and play games. Packaging all of this into one application involves considerable engineering skill.
One simple example of this is end-to-end encryption. To a user, this is nothing more than a checkmark in their mind, but to the developers, this was hours of hard work trying to find the most efficient way to transmit data while keeping it safe at the same time. The funny thing is that this wasn’t always the standard, but once WhatsApp implemented it in November of 2014, it became an expected feature. This is the nature of most development. The pioneer benefits until they are no longer a pioneer.
Something interesting about the different messenger applications is the variety of the technology used to develop the applications. Whatsapp was developed using Erlang, a rare language that hasn’t found a home except with messaging software. Erlang was developed in the 80’s and never gained any significant popularity until more recently. It was developed by the telecommunications giant Ericsson with the purpose of facilitating massive amounts of conversations at the same time. Funnily enough, the Facebook chat was launched using Erlang the same year they turned down the job application of the eventual founder of Whatsapp.
The simplest way to explain Erlang’s strength is to use the analogy of someone that is able to do many small tasks at the same time, without experiencing any downtime. Erlang was originally used to do numerous small tasks on the command line but has now scaled to the point where it is working on the cloud rather than a single computer. Strength of Erlang is the ability to be upgraded while being used. There are no server downtimes with Whatsapp because of this, and it has helped form the competitive advantage that has given it so many users. Not only was Whatsapp developed using Erlang, but WeChat as well. WeChat is a strong competitor because of the firm hold it has on the Chinese marketplace, but it basically comes down to Whatsapp, WeChat and Facebook Messenger as the leaders in the industry. Knowing this, it is quite interesting that two of the three biggest players were developed using Erlang, an otherwise obscure language.