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.
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:
- They’re also really awkward. When someone doesn't respond, you don't know if they’re just not there, or just not interested.
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)
12 comments:
I love the look of the interface. How much of this design and technology grew out of the Google's Marratech acquisition?
Any comment about mobile access?
I was curious about:
1. Latency < 100 ms -> Is this end2end ?
2. Video Codec -> VP8 ?
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.
I like the kernel behind this. Watching V.Gudotra? on TWIG. G.Trapani liking it. Alright!
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?
I built a website http://www.squarechat.com and I use a CDN for delivery of the content and flash wich is terrible because it costs me $$ but was looking at Adobe cirrus http://labs.adobe.com/technologies/cirrus/ but is also flash. I love to see this technology being standardized. Amazing work!
Are you guys planning to open up the tech behind Hangouts? Also, is it based on Muji or was it built from scratch?
Aswath, I can't comment on behalf of Google team but this is my take. Even though the end device might be using a centralized conference bridge for initiating a conf, it is likely that the end devices themselves might be behind a series of cascading NATs and Firewalls and they would likely use ICE to perform connectivity checks.
And as for the conference server, it needs to only support ICE-Lite, not full blown ICE implementation.
All it needs is screensharing and whiteboards!
I read over at http://gigaom.com/video/google-hangouts-technology/ that the technology that you are using for Hangouts is Vidyo. I've used it several times, and it is superior to everything else for group video chat. Latency is almost non-existant, and it has a high tolerance for missing packets. In terms of just plain communication among people, it is currently the best there is. In that same article there was speculation that you might move to another technology. I am writing to plead: please don't. Please stick with Vidyo.
"Fully encrypted (HTTPS + SRTP)" is great, but one should add that Google Hangout does not provide end-to-end (e2e) encryption.
Post a Comment