The Technology Behind Google+ Hangouts

Ever since Google started to roll out its Google+ project on Tuesday, many of its users have been particularly excited about its group video chat service Hangouts. I agree, but not just because it’s fun and easy to use. The real kicker is the technology that powers the service. Even in its infancy, Hangouts is an interesting cloud service. But in the not-so-distant future, it could evolve into a standards-based video conferencing solution that runs natively in many browsers and on a whole range of devices.

Google has been quiet about its plans for Hangouts, and hasn’t revealed all that much about some of the components powering the service either. However, there have been some key developments in recent months that indicate what makes Hangouts work and where things are going:

The Cloud
Making video chat work at scale can require a lot of resources, which is why there has been a movement towards peer-to-peer (P2P) solutions to offload video and signaling traffic between the clients involved. Skype makes use of P2P for that very reason, as does Chatroulette. However, P2P can introduce latency, which can be especially bothersome if you chat with 10 people at a time. That’s why Google went down a different route for Hangout.

“To support Hangouts, we built an all-new standards-based cloud video conferencing platform,” explained Google Real-time Communications Tech Lead Justin Uberti in a blog post on Tuesday. He added that Hangouts uses a client-server model which “leverages the power of Google’s infrastructure.”


Click to watch the video


Browser Integration
Hangouts currently requires you to download the same plugin that also powers video chat within Google Talk. However, Google is working on making both Hangouts and Google Talk itself work in the browser, without the need for any plugins. This will be done in part through a new framework for realtime communications (read: text, voice and video chat) dubbed WebRTC that the company open-sourced in May. WebRTC is supported by Mozilla and Opera, and Google started to integrate the framework into its Chrome browser earlier this month. “Work has started to move Google Talk completely to WebRTC,” it says on the project’s web site.

At that point, users won’t need a plugin anymore to use Google Talk, and the same should eventually be true for Hangouts. Here’s what a Google spokesperson told me via email about the connection bewteen the Google+ video chat service and the framework: “A lot of the technology in Hangouts feeds into the WebRTC, and we contribute a lot of feedback to help shape the WebRTC interface. At this point though, our plug-in and the protocol are different efforts.” He refused to reveal any future plans, but trust me, the writing is on the wall…

Open Codecs
Google Talk and Hangouts currently use technology Google is licensing from Vidyo to facilitate video chats. Video is transmitted in H.264/SVC, with H.264/AVC and H.263 being used as fallback solutions. However, there are strong signs Google will eventually switch to open codecs.

Google open-sourced its VP8 video codec last year as part of the new WebM video format, and real-time communications were one of the big issues that VP8’s programmers wanted to improve with the codec from the onset. In fact, VP8 is already being used by Skype for its group video calling feature, and Google’s WebM project manager John Luther wrote in February that VP8 is an “exceptionally good codec for real-time applications like videoconferencing.”

So when will Hangouts be switching from H.264 to WebM? Google+ Project Lead Bradley Horowitz indicated on This Week in Google on Wednesday that his team is already testing alternatives to the current codec. A Google spokesperson didn’t want to discuss any future plans for Hangouts when I asked about the codec issue, but here’s a clue: WebRTC is based on the VP8 codec, which means that H.264 could get displaced as the default codec for Hangouts as soon as the video chat service rolls out its native browser integration.

Device Integration
This is where things get really interesting: Hangout’s cloud-based architecture and its upcoming browser integration will eventually make it possible to deliver an optimized group video chat experience to a whole range of devices. Desktop users will get to view full HD video, users on mobile devices will receive optimized streams to deal with bandwidth issues. And Google TV users could see Hangouts appear on their TV sets sooner than they think, because Google TV comes with a full-blown Chrome browser.

A few companies have started to bring multi-person video chat to mobile devices, but cross-device video conferencing is still in its infancy, and Google could have a good chance here to capture the market early on. Of course, the company didn’t want to comment on the specifics of bringing Hangouts to mobile devices, but what Google’s spokesperson told me wasn’t exactly a denial either:

“Again, we can’t comment on future product plans. However, Google Plus heavily invests in mobile products as we believe you should be able to share and communicate, whether you are on the web, tablet, or phone.”

By Janko Roettgers, GigaOM