I recently had the pleasure of interviewing Philip Su, the lead engineer for Facebook Video Calling. My biggest shock was learning that Su is actually the only full-time Facebook employee working on the newly released feature. Moving ahead, he may need more people, but he claims it will be easy to recruit because it is an exciting project.
That's what Su told me when I asked him how big his team was. He of course had a few Facebook employees from other teams (most notably Facebook Chat) help him out here and there, as well as Skype employees (audio codec, video codec, and plugin experts), but overall, it was a one man show.
Su himself said he was frankly surprised that he was the only one tasked with the new feature. He noted, however, that there was a lot of confidence at Facebook that the job could be done by just one person. He quickly found that the feature was completely doable alone because the systems he relied on at Facebook were well designed and he didn't have to build something from scratch. For example, messages were sent over Facebook's existing chat channels, encryption was taken care of, and scaling was easy because the company has years of experience doing just that.
Su also noted that he was one of the most experienced engineers hired at Facebook's Seattle office, which made it a lot more credible for one person to tackle video calling. He was perfectly okay working one step at a time to build what he calls "the Web's best one-on-one video calling experience." Only when he's satisfied with version 1.0 will he consider other platforms and/or extra features.
Before Facebook, Su worked 12 years at Microsoft. Interestingly enough, he didn't work on Office Communicator, Windows Live Messenger, or anything even remotely related to his current position. He worked on Windows, Microsoft Office, Bing, MSN Money, and even the tablet PC, but nothing specific to messaging or video calling.
Speaking of Microsoft, Su said he was already deep into version 1.0 before Microsoft's announcement to acquire Skype three months ago. Moving forward, he noted that it would be interesting, that the potential from Microsoft is good, and that it was overall great news for Facebook in the long run (I agree, better for Facebook that it's Microsoft and not Google).
I also asked Su why he went with Skype and if that decision would ever change. He replied that Skype is multiplatform, it has great quality of audio and video codecs, as well as excellent knowledge in VoIP. For the near term, he doesn't see anything changing with Facebook's Skype relationship.
In terms of timeline, Su said Facebook started discussing technical details with Skype at the beginning of November 2010. The first concept call took place in December 2010. From then until the release in July 2011, Su worked hard on tweaking the interface and making sure everything worked correctly in various different scenarios.
When I asked Su about implementing video chat on the various mobile platforms, Facebook Messenger wasn't out yet, nor had the video calling tidbit leaked either. Still, it's been obvious for a while that the feature is coming to mobile, although Su of course didn't confirm this. He noted both group video calling and mobile were all options he is open to, but said that while there are talks, there is still no committed road map.
Su is still very focused on version 1.0, noting that only a small percentage has it right now. He is analyzing user-submitted suggestions for improvements, as well as user-submitted bugs. He's already seen a few problems, the biggest one being latency when making international calls.
I insisted he tell me which he thought was more important: group video calling or mobile support. He said that his views do not reflect that of Facebook's, but he finds that although the former is great to demo, it's not useful in the long-term, while mobile certainly is.
As for a more specific roadmap, Su insisted that Facebook doesn't work like Microsoft. The company rolls features out based on metrics, and is not driven by a timeline. Various factors come into play when gauging video calling, including types of webcams, latencies, whether most calls are between countries or within cities, connection failure rates, how often a feature is reused, how many people are called how often, and so on.
I asked him what the toughest part was, and Su said it was undoubtedly setup. He knew that going in, because the drop off rate when prompted to download and install is pretty high, especially when having to deal with administrator accounts and so on. As such, Su wanted to minimize the number of required clicks and make sure the installation process would never have to happen more than once.
That's why it took between December 2010 (initial version working) and July 2011 (first version released) for video calling to finally arrive. Having to deal with multiple operating systems and browsers was a pain as there were many specific issues that slowed progress.
Last but not least, I wanted to know about how updates would work. Su said he aims the goal is to never have to reinstall again, but he admits Facebook won't necessarily hit that target. The other shocker came when he told me that there have already been a handful of updates done for the plugin in the background (to fix specific bugs, not add new features). Did you notice? Yeah, neither did I.