Wednesday, January 18, 2012

WebRTC now available in Chrome!

Been a while since my last update! After the launch of Google Hangouts, I moved over to a new team at Google, focused on building the next audio/video communications platform for Google and the web.

This team, known as WebRTC, has been hard at work building the first version of this platform and integrating it into the Chrome browser. Today marks a big milestone for our team, as the first version of Chrome with WebRTC support is now available on the Chrome dev channel, as well as in Chrome canary builds.

Check out our announcements on the Chromium blog and our own WebRTC blog, which gives instructions on how to enable WebRTC support. This is a very early release (an alpha platform on a dev version of the browser) and a number of things are not yet implemented or still in flux. But the basics are there, and you can do some really great stuff with the API even now. We'll be releasing some demos in the next few days to give a taste of what you can do with WebRTC.

Sunday, July 03, 2011

Hangouts Mailbag

Wow, people sure seem to like Hangouts! Following up on a few questions I've been asked in the past week:

Q: "So does this require a certain operating system or version? I would love to conference with a few friends in remote areas with limited computer access."

A: We support all major desktop OSes and browsers (including Mac OS 10.6 "Snow Leopard"). You can see the full list of supported configs here. Other configs may work, but we haven't tested them specifically.

Q: "I was curious about: Latency < 100 ms -> Is this end2end ?"

A: This is the end-to-end transmission latency target.

Q: "Any comment about mobile access?"

A: I'll let our PR answer this: "... 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.”

Q: I love the look of the interface. How much of this design and technology grew out of the Google's Marratech acquisition? 

A: Upon acquisition, the Marratech team was immediately integrated into our group, and they've had a big role in the development of our video technology.

Q: Are you guys planning to open up the tech behind Hangouts? Also, is it based on Muji or was it built from scratch? 

A: Yes, we plan to publish the specifications needed to interoperate with Hangouts. At a high level, it's based on XMPP MUC (XEP-0045) and Jingle (XEP-0166/167), with some other enhancements needed to handle our architecture. We looked at Muji but concluded it wasn't a good fit for our service.

Q: Since Hangout is basically a "meet-me" conference, meaning the participants initiate a session with the conference bridge, why is there a need for ICE and STUN? 

A: ICE is useful for many things besides NAT traversal. We're able to do a bunch of smart things related to mobility, firewall compatibility, and service failover using ICE.

Wednesday, June 29, 2011

Lifehacker: Google+ Hangouts Is the Best Free Group Video Chat We've Seen

From Lifehacker: Google+ Hangouts Is the Best Free Group Video Chat We've Seen
Team Lifehacker has been playing around with Google+ all morning, and so far the coolest innovation we've seen—particularly from a productivity standpoint—is the Hangouts feature, which creates rooms for you to hang out with your friends, coworkers, or any of your social circles. It's great.

Tuesday, June 28, 2011

Announcing Google+ Hangouts

What we've been working on recently :-) From the Google Blog:
+Hangouts: stop by and say hello, face-to-face-to-face
Whether it's inside a pub or on a front porch, human beings have always enjoyed hanging out. And why not? It's how we unwind, recharge, and spend unscheduled time with old and new friends alike. Hanging out is deceptively simple though, and the nuance gets lost online.
Just think: when you walk into the pub or step onto your front porch, you're in fact signaling to everyone around, “Hey, I've got some time, so feel free to stop by." Further, it’s this unspoken understanding that puts people at ease, and encourages conversation. But today’s online communication tools (like instant messaging and video-calling) don’t understand this subtlety:
  • They’re annoying, for starters. You can ping everyone that’s “available,” but you’re bound to interrupt someone’s plans.
  • They’re also really awkward. When someone doesn't respond, you don't know if they’re just not there, or just not interested.
With Google+ we wanted to make on-screen gatherings fun, fluid and serendipitous, so we created Hangouts. By combining the casual meetup with live multi-person video, Hangouts lets you stop by when you're free, and spend time with your Circles. Face-to-face-to-face:
To support Hangouts, we built an all-new standards-based cloud video conferencing platform. This platform combines high quality, low latency, and strong security with the ease of use of a web application. Through the efficiency of this new platform, we're able to deliver a leading video conferencing experience at Google scale.

A few noteworthy technical points:
  • Fully browser-based/cloud-based
  • Client-server: leverages the power of Google's infrastructure
  • Designed for low latency (< 100 ms) and high performance (multicore + hardware acceleration)
  • Standards-based: XMPP, Jingle, RTP, ICE, STUN, SRTP
  • Fully encrypted (HTTPS + SRTP)

Google voice and video v2.1.7

Today, we released the 2.1.7 (and 2.1.8 for Windows) update for the Google voice and video chat software. All current installations will automatically update within the next few days. If you do not want to wait, you can visit and re-run the installer.

You can use your Gmail account to find out what version is currently installed. Simply go to the Gmail Settings page and look under the "Chat" tab. You will see the plugin version under the "Learn more" link, in small type.

Here's what's new in the latest version:
  • Several installer improvements; installation no longer requires a browser restart
  • Improved smoothness of video rendering
  • Added support to monitor and reduce CPU utilization when system is under extremely high load
  • Fixed issue where playout volume was too low on various machines
  • Fixed issue with incorrect audio ducking behavior on Vista/Win7
  • Fixed issue with delayed audio if connectivity was briefly interrupted
  • Fixed issue with delayed video on Mac when under high CPU load
  • Fixed issue where encryption/decryption could fail on sequence number rollover
  • Fixed random flash effect when entering fullscreen in some browsers
  • Fixed many crashes
If you're on 2.1.7 and still having a problem, please take a look at the Google Chat Help Center, or report the issue on the Google Voice and Video Help Forum. You can also email me using the "Email Justin" link above.

Google Talk now supports XMPP Jingle

As reported by the Register last week, we've just finished updating Google Talk and its related services to speak XMPP's Jingle call signaling protocol. A lot of stuff had to change here - many different code bases, clients, servers, and reporting systems - but the migration is now complete.

From our announcement to the Jingle mailing list:

We are pleased to announce that we have launched support for Jingle
XEP-166 and XEP-167 for Google Talk calls to and from Gmail, iGoogle,
and Orkut. We have also added the same level of support to libjingle
(, which is used by many native
clients. From this point on, it will be our primary signalling
protocol, and the old protocol will only remain for backwards
If you're interested in interoperating with the Google Talk service, you can now refer to the public XEP-0166 and XEP-0167 documentation for implementing call signaling.

If you're interested in the differences between the old and new protocols, you can also see the old "Gingle" protocol documentation on our developer site.

Thursday, May 19, 2011

Google Talk + AIM = XMPP Federation!

It's been over three years since I last blogged about interop between AIM and Google Talk, when I announced the ability for Gmail users to log in to AIM and chat with their AIM buddies. While a step forward for users, who could now talk to twice as many people as before, the approach taken had several technical drawbacks.

For various reasons, the mechanism used to access AIM involved making Google Talk into a "multi-headed" client, where it logged in to the Talk network and the AIM network at the same time, but hid these details under the covers so that from the user standpoint it felt like a single messaging application. Unfortunately that wasn't always true; users needed to have both a Google and an AIM account; they had to remember their Google password and their AIM password, and various features, such as group chat between members of both networks, were technically impossible to implement with this approach.

That's why I'm glad to announce today that the AIM and Google Talk universes are now connected via XMPP Federation. Through the open XMPP protocol, the AIM and Google Talk servers can communicate directly with one another, eliminating the need for separate credentials and the multi-headed complexities of the past. Users can now sign into a single service, either AIM and Google Talk, and communicate with one another simply by adding the email address of their friends to their contact lists. (For AIM users, who historically have been identified by "screennames", the email address is simply

For Google Talk users who previously used AIM integration within Gmail, there's one issue to be aware of. With our switch to use federation, Gmail will no longer log you into your AIM account, and so Gmail won't know who your AIM buddies are. Fortunately, AOL has created a simple web-based tool that will import your AIM buddies into your Gmail contact list, saving you the trouble of adding all your friends by hand.

I'm excited to see this day finally come, and am hopeful that this will lead to federation of all the world's IM services. We've achieved this for email; we should expect no less for IM.

Friday, May 06, 2011

Google voice and video v2.0.7

Today, we released the 2.0.7 update for the Google voice and video chat software. All current installations will automatically update within the next day or two. If you do not want to wait, you can visit and re-run the installer.

You can use your Gmail account to find out what version is currently installed. Simply go to the Gmail Settings page and look under the "Chat" tab. You will see the plugin version under the "Learn more" link, in small type.

It's been several weeks since our last release, so there's a lot of new stuff:
  • Fixed crashes on:
    • Mac OS X - Firefox 4 when resizing popped-out 1:1 call
    • Mac OS X - Safari when ending a call
    • Windows XP when starting a call
  • Fixed several crashes within Google Talk Plugin Video Accelerator during a call
  • Fixed an issue where we could misinterpret a camera image format, resulting in green-tinted video.
  • Improved rendering performance in many situations.
  • Improved audio performance in high CPU situations, and fixed issue where audio could become corrupted in such situations when using Windows.
  • Optimized Mac video encoding and decoding performance.
  • Enabled use of "Video chat enhancements" lab on systems without video hardware acceleration.
  • Improved media performance when connected using TCP.
  • Improved hot-plugging and unplugging support for cameras, speakers, and microphones.
  • Preferred devices are now remembered even if unavailable, in case they become available again.
  • Added support for specifying a port range to use when making media connections, to simplify enterprise firewall configuration.
  • Reduced number of steps to install on Mac.
  • Fixed an issue where the Mac uninstaller would not uninstall itself.
If you're on 2.0.7 and still having a problem, please take a look at the Google Chat Help Center, or report the issue on the Google Voice and Video Help Forum. You can also tweet @GoogleChat or @juberti, or email me using the "Email Justin" link above.

Friday, April 29, 2011

Gingerbread gets Google voice and video chat!

The Google Mobile team just announced the release of Google Talk with video chat (originally added for the Honeycomb release) in Gingerbread 2.3.4. Like other communication services, video chat benefits from network effects, and adding millions of additional video chat endpoints will be a nice boost to the Google Talk network.

I've been using this on my Nexus S, and it's quite nice. The software uses the same libjingle-based stack as Google voice and video, and the front-facing camera on the Nexus S really works well.