How Google+ is developed

Ron

Google’s latest foray into social networking is proving to be a hit for the company with millions of users signing up to use the service. Building such a service can prove to be quite a technical challenge. Google+ technical lead Joseph Smarr hosted an online Q&A session answering questions regarding Google+’s development and how the company plans to expand the service in the future.

As reported by GigaOM, Smarr took questions using AnyAsq.com, a service which allows users to post questions using their Twitter account. Some of the more interesting responses by Smarr are included below:

Q: What software technology stack does Google+ use?
A: Our stack is pretty standard fare for Google apps these days: we use Java servlets for our server code and JavaScript for the browser-side of the UI, largely built with the (open-source) Closure framework, including Closure’s JavaScript compiler and template system. A couple nifty tricks we do: we use the HTML5 History API to maintain pretty-looking URLs even though it’s an AJAX app (falling back on hash-fragments for older browsers); and we often render our Closure templates server-side so 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 (as a result, if you’re on a slow connection and you click on stuff really fast, you may notice a lag before it does anything, but luckily most people don’t run into this in practice). Our backends are built mostly on top of BigTable and Colossus/GFS, and we use a lot of other common Google technologies such as MapReduce (again, like many other Google apps do).

Q: What’s the ultimate vision for Google+?
A: I think our blog post covered it well: “We’d like to bring the nuance and richness of real-life sharing to software. We want to make Google better by including you, your relationships, and your interests.” We think we can make sharing better and make Google more social (and useful) in the process.

Q: How was engineering on Google+ run differently from other products at Google?
A: We put extra emphasis on engineering speed/agility–we try to release code updates on a daily basis while still keeping quality/stability/latency as high as you’d expect from google. This helps us move fast and respond quickly to user feedback. Otherwise, there’s not too much magic to the process–just lots of passionate, hard working people trying to make sharing better. 🙂

With Facebook having a stranglehold on social networking, Google will be utilizing their entire pool of resources to continuously expand Google+. It is certainly their best effort into social networking and should provide some much needed competition and innovation. By providing an in-depth look at their development practices, Google is aiming to deliver a message of transparency which should enable them to further attract users and developers to the platforms.