Whatsapp, Facebook, Erlang and realtime messaging: It all started with ejabberd

There has been a lot of buzz recently around Whatsapp acquisition by Facebook and the record price paid for the company. FastCompany’s Ainsley O’Connell wrote Inside Erlang, The Rare Programming Language Behind WhatsApp’s Success, giving some technical background around the story.

As the founder of leading instant messaging technology provider developed in Erlang, I want to had a few words on my perspective of this story.

I discovered Erlang in 1998 when it was release as Open Source and I was hooked. I was exploring the potential of the technology and how I could apply it to my internet project.

ICQ was a big thing at that time. Yahoo!, AOL, MSN were launching their own instant messaging service. Jeremy Miller started working in 1999 on an open and federated protocol for instant messaging called Jabber. I started getting interested in that protocol since the very beginning and got the chance with my company at that time to work on early commercial Jabber projects. At that time, the collision between Erlang and XMPP already happened as my company was working on an Erlang layer to turning Jabber first C server into a large scale cluster.

In 2002, I joined Alexey Shchepin that just started building an XMPP server fully in Erlang. We work together for all this years and when I felt the time had come, I founded ProcessOne in 2005. ProcessOne is an Erlang company selling technology and expertise to build large scale realtime messaging services.

We worked across the world with major brands to build messaging services in Erlang with ejabberd. We expanded during the passed years to all kind of messaging realtime application. We have a large scale Push notification service build in Erlang, that is sending billions of notifications. We have build the most used XMPP messaging server, the reference implementation that nearly everyone is using. And we are getting further, building even larger scale platforms for the Internet of Things.

During that time we have seen big companies and small companies embrace our vision. Facebook chat started from our vision: Why was Erlang chosen for use in Facebook chat?:

Facebook chat started out as a hackathon project in January 2007, by mid 2007 it became an official project with a dedicated team.

Facebook engineers choose to use ejabberd since back in 2007 it was the only chat server which had clustering built in for free. As you can imagine at Facebook’s traffic every service needs to scale horizontally and ejabberd was solving an important problem for them.

Funny thing is that a couple of year laters in june 2009, Whatsapp team is building its own platform sharing the same vision. Here is a post of Jan Koum on ejabberd mailing list: client access control:

hi there,

i installed ejabberd today, got it work with adium/ichat and wanted to ask
you all a couple of things:

I remember the call that followed with Brian Acton and Jan Koum, talking about our technology and our vision.

And here is the most interesting piece: when Facebook acquires Whatsapp, they also buy a technology that they know fits well with their existing messaging platform.

Finally, this is just two of the success stories our vision, expertise and technology helped sparkled. I would not be surprised that more such success stories arise in the coming months and years.

It all started with ejabberd and we are proud of it !

For us, this is business as usual and just the beginning of a great story.

Let us know what you think 💬

17 thoughts on “Whatsapp, Facebook, Erlang and realtime messaging: It all started with ejabberd

  1. Does not it bother that with merger with Whatsapp Facebook will most likely switch to it as its instant messaging app and XMPP world will use one of its biggest (although not-federating) providers, yet another after GTalk?

  2. Can you tell a bit more on the “internet of things” part? We build an infrastructure on top of ejabberd towards this purpose. We would love to find ways to give things back to the open-source community.

  3. i understand the server part but what about the android client of whatsapp are they using any spefic xmpp library ( for example like asmack ) to make connection with server or is there any middle web layer in between android and server which maintains the session and connectivity ?

  4. So To Clone a service like Whatsapp-is that possible or not yet?
    Will its be easier than a few years ago.

    • With latest improvements to ejabberd, the launch of fluux.io and ejabberd Business Edition I think it’s way easier to clone whatsapp than it was back then. If you look at the Android or iOS app stores you can see many messenger apps. It’s still a lot of work to launch it, and to gain significant userbase your app has to have a unique appeal (like Striply, for example). But the technological barrier is indeed lower than before. Still quite high though ;)

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.