How Google Plus Works


Under the Hood of Google Plus
Google Plus has a bit of a learning curve but Google includes this helpful reference to give you the edge.
Google Plus has a bit of a learning curve but Google includes this helpful reference to give you the edge.
Screenshot by HowStuffWorks.com

There are two main components to Google Plus: the front end and the back end. The front end is what you see when you log in to your Google Plus account. It's the user interface (UI) -- the part of Google Plus that lets you do things. The back end is the side you don't see. It resides with Google and the company's massive data centers.

The Google Plus team used Google Bigtable and Colossus as the foundation for the back end of the system. Bigtable is a distributed storage system. It's a heavy hitter for Google -- Bigtable also acts as the foundation for the company's Internet search tool. Colossus is the follow-up system to the Google File System. While Google optimized the old file system to keep tabs on the content of the Web, a new focus on real-time search required new tools. Colossus is that tool.

Most of Google Plus is built on two different languages: Java and JavaScript. Despite the similarity in names, these two languages aren't directly related. The syntax for JavaScript bears a resemblance to that of Java's but you don't derive JavaScript from Java.

Java

Java is a programming language that Sun Microsystems developed. Java's creators intended it to be used to build programs rather than as a means of research for computer scientists and academia. It's a class-based, object-oriented language, but what does that mean? An object is the combination of information, process and identity. A class is a categorization of objects. All objects of a certain structure and that follow a particular type of behavior will belong to the same class. When programming in such a language, you build these class categories and organize objects into them. Other class-based languages include C and C++.

Web developers like Java because you can create applets with it. An applet is a small program that can run within a Web page. You can plant it right in the middle of your hypertext markup language (HTML) code and create new features for a Web site. Google Plus relies on Java with an injection framework called Guice. The purpose of Guice is to eliminate the need to build factories. In Java, a factory is a way to protect the program's architecture so that other programmers can add their own code and increase the program's functionality. This side of Google Plus runs on Google's servers.

JavaScript

JavaScript is a client-side scripting language rather than a fully-fledged programming language. Sun Microsystems didn't create JavaScript -- Netscape did. Like a Java applet, JavaScript code can run within a Web browser. Inserting JavaScript code into a Web page's HTML allows you to add functions to your site.

In Google Plus, the JavaScript elements run within the client's browser. Clients are the machines accessing Google Plus, while servers are the machines serving up content. Google also uses a tool called Closure, which streamlines JavaScript and simplifies the process so that developers can make changes quickly to fix issues with the Google Plus UI.

While Java and JavaScript aren't related, Web developers do use both to push the limits of what you can do within a Web page.

Out of all the features on Google Plus, the Hangouts utility may be the most complex. It relies on the extensible messaging and presence protocol (XMPP), extensions to XMPP like Jingle, real-time transport protocol (RTP), session traversal utilities for NAT (STUN) and secure real-time transport protocol. That's a fancy way of saying the technology behind Hangouts is complicated. Unlike video services like Skype, hangouts don't rely on a peer-to-peer network. Instead, all the processing power is on Google's side of the system. Only engineers at Google know exactly how much processing power goes into keeping all those video hangouts running smoothly.

Will Google Plus be the next Facebook? While the private beta created an exclusive atmosphere among users and spurred a demand for access to the service, only time will tell if Google Plus's popularity will last.

To learn more about Google Plus and other topics, take a look at the links below.

Related Articles

More Great Links

Sources

  • Avram, Abel. "Google+ Technological Details." InfoQ. July 13, 2011. (July 25, 2011) http://www.infoq.com/news/2011/07/Google-Plus
  • Chase, Nicholas. "Understanding Java Factories." informIT. Aug. 2, 2002. (July 25, 2011) http://www.informit.com/articles/article.aspx?p=28283
  • Crockford, Douglas. "JavaScript: The World's Most Misunderstood Programming Language." 2001. (July 25, 2011) http://www.crockford.com/javascript/javascript.html
  • De, Pallab. "Google Plus Technical Lead Answers Questions From Users." Techie Buzz. July 13, 2011. (July 20, 2011) http://techie-buzz.com/social-networking/google-plus-new-features-technology.html
  • Google. "About profiles." 2011 (July 19, 2011) http://www.google.com/support/accounts/bin/answer.py?answer=97703
  • Google. "Bigtable." Nov 2006 (July 25, 2011) http://labs.google.com/papers/bigtable.html
  • Google. "Closure Tools." 2011. (July 25, 2011) http://code.google.com/closure/
  • Google. "Corporate Information." (July 20, 2011) http://www.google.com/about/corporate/company/
  • Google. Google. Google. "Google Chrome Extensions." (July 25, 2011) http://code.google.com/chrome/extensions/getstarted.html
  • Google. "Google-Guice." 2011. (July 25, 2011) http://code.google.com/p/google-guice/
  • Google. "Google+: A Collaborative Document." (July 19, 2011) https://docs.google.com/document/d/1cUjZ_7rlAmKRDVB6GXId73h_eUdXGKdjtSff0svbaz0/preview?pli=1
  • Google. "Picasa and Picasa Web Albums Help." 2011. (July 19, 2011) http://picasa.google.com/support/bin/answer.py?answer=1224181
  • Gundotra, Vic. "Introducing the Google+ project: Real-life sharing, rethought for the web." The Official Google Blog. June 28, 2011 (July 19, 2011) http://googleblog.blogspot.com/2011/06/introducing-google-project-real-life.html
  • Hoff, Todd. "Google's Colossus Makes Search Real-Time by Dumping MapReduce." High Scalability. Sept. 11, 2010. (July 25, 2011) http://highscalability.com/blog/2010/9/11/googles-colossus-makes-search-real-time-by-dumping-mapreduce.html
  • IDG News Service. "Google Introduces 'Buzz' Social Networking Tool." PCWorld. Feb. 10, 2010. (July 19, 2011) http://www.pcworld.com/article/189079/google_introduces_buzz_social_networking_tool.html
  • Johnson, Bobbie. "Privacy no longer a social norm, says Facebook founder." The Guardian. Jan. 11, 2010. (July 21, 2011) http://www.guardian.co.uk/technology/2010/jan/11/facebook-privacy
  • Liedtke, Michael. "Google Wave: Google Introduces New Communication Platform." Huffpost Media. May 28, 2009. (July 20, 2011) http://www.huffingtonpost.com/2009/05/28/google-wave-googles-intro_n_208754.html
  • Ngak, Chenda. "Then and now: a history of social networking sites." CBS News. (July 23, 2011) http://www.cbsnews.com/2300-501465_162-10008478-8.html
  • Purcell, Kristen et al. "Understanding the Participatory News Consumer." Pew Internet. March 1, 2010. (July 22, 2011) http://www.pewinternet.org/Reports/2010/Online-News.aspx?r=1
  • Rucker, JD. "Taming the Google+ Privacy Concerns." Fast Company. July 25, 2011. (July 25, 2011) http://www.fastcompany.com/1768914/taming-the-google-privacy-concerns
  • Sun Microsystems. "The Java Language Specification, Third Edition." 2005. (July 25, 2011) http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html
  • Tsukayama, Hayley. "Google+ app makes most of social network." The Washington Post. July 23, 2011. (July 25, 2011) http://www.washingtonpost.com/business/google-app-makes-most-out-of-social-network/2011/07/18/gIQAjALWVI_story.html
  • Whitney, Lance. "Google VP: Why Google+ requires real names." CNET. July 25, 2011. (July 25, 2011) http://news.cnet.com/8301-1023_3-20082874-93/google-vp-why-google-requires-real-names/
  • Whitney, Lance. "Google+ name policy 'frustrating,' Google confesses." CNET. July 26, 2011. (July 26, 2011) http://news.cnet.com/8301-1023_3-20083499-93/google-name-policy-frustrating-google-confesses/

More to Explore