BT

Google+ Technological Details

by Abel Avram on Jul 13, 2011 |

Google Plus, the social network from Google, is built mostly on Java and JavaScript while Hangouts, its video conferencing framework, uses a client-server approach.

Google Plus or Google+, the long awaited social network from Google, has recently made its debut, being available to a limited number of users based on invitation. The project started in early 2010 and it was done behind the scenes with little or no information available on its underlying technology. Joseph Smarr, a technical lead on Google+ and former CTO at Plaxo, unveiled some of the network’s technical details in an AnyAsk interview without being very specific. We contacted Smarr for further detail on Google+’s architecture, but he declined to offer more information, promising more will be released in the not-so-distant future.

According to Smarr, Google+ uses Java with Guice on the server side and lots of JavaScript on the client side for the UI based on the open source cross-browser Closure framework. Closure is a set of tools for JavaScript developers who want to write rich web applications, and it is used by Google for GMail, Maps and Docs. It is interesting that Google did not choose to employ GWT, which is used for Wave and AdWords, a technology that is targeted more to Java developers rather than JavaScript ones. The HTML5 History API is added in order to “maintain pretty-looking URLs even though it's an AJAX app (falling back on hash-fragments for older browsers)”, and the Closure templates are often rendered on the server so that “the page renders before any JavaScript is loaded, then the JavaScript finds the right DOM nodes and hooks up event handlers, etc. to make it responsive.” Smarr further explains:

The cool thing about Closure templates is they can be compiled into both Java and JavaScript. So we use Java server-side to turn the templates into HTML, but we can also do the same in JavaScript client-side for dynamic rendering. For instance, if you type in a profile page URL directly, we'll render it server-side, but if you go to the stream say and navigate to someone's profile page, we do it with AJAX and render it client-side using the same exact template.

The back-end is built on BigTable and Colossus, Google’s file system used for real-time search.

Smarr acknowledges that the Google+ team learned from others, both from Google and other companies, and they are “’standing on the shoulders of giants’ in many ways, learning both from our previous social products and the industry at large”, perhaps referring to Facebook and Twitter, and the product looks in many ways like Facebook.

Google+ Hangouts is an online cloud video conferencing platform based on XMPP, Jingle, RTP, ICE, STUN, SRTP, and which has taken a completely different approach than Skype which uses a P2P network. Hangouts is a client-server/cloud technology that heavily relies on Google’s infrastructure. There is no data available on how much resources Hangouts consume, but it is expected to be a lot. All of that in order to provide low-latency (<100ms) for smooth group communication.

Hangouts requires the same plug-in as Google Talk but they are working on moving it to WebRTC, a JavaScript-based framework for video communication, being open source and supported by Google, Mozilla and Opera. When WebRTC will be integrated in Chrome, there will be no need to download a plug-in for Hangouts if it is run inside Firefox, Opera or Chrome. At that time, Hangouts will be using the VP8 codec which is integrated in WebRTC instead of H.264 that it is using right now.

Christian Oestlien, PM on Google+, has revealed that Google prepares special features for businesses, such as analytics and integration with the other business accounts, but he declined being specific. He asked businesses to refrain from creating Google+ accounts now because they will be deleted, and rather wait until the features are ready.

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Goggle+ send feedback feature implementation by Xavier Sanchez

Hey.

Aren't you interested in knowing how is the awesome send feedback feature implemted exactly?

If you don't know, give a hand by voting this question

"How is the awesome Google+ send feedback feature implemented and with what technologies (specially the screenshot part)?"

here:
anyasq.com/79-im-a-technical-lead-on-the-google...

Good story for Google + by Xia Roger

Find here a Chinese translation: www.lifeyun.com/google-technical-details.html

Re: Good story for Google + by Abel Avram

It's great someone translated it to another language. I just wish they pointed to the original document as it is customary.

Re: Good story for Google + by Xia Roger

Hi,Abel, thanks for your comment, I just attached the original document there.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

4 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT