Facebook, Drop.IO and XMPP

Posted by Mickaël Rémond on November 11, 2010

Facebook has recently bought the online service Drop.IODrop.IO is a real time online collaboration and file sharing service.

This acquisition is mostly focused on technology, assets and, as a consequence, the founder of drop.IO, Sam Lessin, will join Facebook. At this stage it is unclear if Facebook will hire a larger part of the company. For existing users however it means the service will be shutdown in the short term.

What does the technology include ?

Interestingly enough for ProcessOne and the XMPP community, the core platform asset includes an ejabberd based XMPP service to power the real time parts of the service.

Quoting the drop.IO team:

Using the Jabber (XMPP) protocol and through a chain of events mediated by JavaScript, BOSH and XMPP drops are now updated for all users viewing that drop in real-time. We are using ejabberd, which is known for its high level of compliance with XMPP. On the front end we use the Strophe javascript library, which uses a technique called Bidirectional-streams Over Synchronous HTTP (BOSH) to connect to a Jabber server.

Actually, this acquisition strengthens both XMPP as a standard for realtime communication on the web and ejabberd as a reference implementation. Facebook already was using Erlang and ejabberd for their chat service. This acquisition means that there will be even more XMPP, Erlang and ejabberd at Facebook. Given the size of Facebook user base this is another good step for XMPP ubiquity for real time web services.

XMPP stands for Extensible Messaging and Presence Protocol and is an open standard XML based messaging protocol. The protocol already powers Google Talk infrastructure, Nokia Ovi service and thousands of large scale deployments around the world.