How Google Docs Works


Google Docs uses a simple folder and file organizational system. See more pictures of popular Web sites.
©2008 HowStuffWorks

Cloud computing -- a networked computer system that harnesses the resources of several servers to complete tasks and store data -- is shaping up to be the next big trend in the computing industry. Traditionally, only a few people could access the processing power of a supercomputer. With cloud computing, practically anyone could tap into that sort of power.

Since the debut of the personal computer, we've become used to storing information either on an external storage device like a compact disc or on a computer's hard drive. We're also conditioned to buy new machines or upgrade old ones whenever applications require more processing power than our current computers can provide. With cloud computing, the responsibility of storage and processing power falls to the network, not the individual computer owner.

Although it's a relatively young industry, many companies offer cloud computing services. One of those companies is Google. The Internet giant offers a suite of Web-based productivity applications under the name Google Docs. While these applications aren't as complex or comprehensive as the leading desktop counterparts, they have other advantages over traditional software.

The most obvious of these advantages is that the applications aren't tied to a specific computer. There's no need to download and install software on a particular machine. Any computer connected to the Internet can access Google Docs. Because each user saves information to the cloud system, he or she can access the same file from anywhere. Users don't have to worry about which version of a document is the most current -- it will always be saved in the Google cloud.

Another advantage is that multiple users can make edits to the same files at the same time. This is called online collaboration, and it could streamline teamwork over the Web. Because Google Docs preserves earlier versions of documents, there's no reason to worry about irrevocably changing a file. Collaborating on files might mean changing the way we think about document management. But it might also mean project managers can save time and effort.

What exactly can Google Docs do? Keep reading to find out.

What can Google Docs do?

The Google Docs word processing application emulates many of the basic functions of traditional desktop software.
The Google Docs word processing application emulates many of the basic functions of traditional desktop software.
©2008 HowStuffWorks

At its heart, Google Docs is a suite of online productivity software. That means it's a collection of applications that make it easier to produce the kinds of files commonly used in corporate environments: documents, spreadsheets and presentations.

The Google word processing program started out as a product named Writely created by a company called Upstartle. Google acquired Upstartle in 2006 and began the process of converting Writely into a Google-branded product [source: InformationWeek]. The program allows users to create and edit documents online. Multiple users can access the document at the same time, making it easier for teams to collaborate on projects.

Likewise, the spreadsheet function in Google Docs started out as another company's project. A startup company called XL2Web developed a collaboration application called 2Web Technologies. Google acquired XL2Web and gave the team the resources they needed to develop the spreadsheets application [source: Business Review]. Like most spreadsheet programs, Google's application allows users to create tables, charts and graphs. The application has most of the basic functions of desktop spreadsheet programs, including sorting, filtering and formula calculations.

The story is much the same for the presentation application in Google Docs. Google acquired Tonic Systems, a company that developed a suite of Java-based presentation software. Tonic's development team transitioned to Google and modified the software to integrate with the rest of Google's products [source: The Official Google Blog].

The resulting application looks like a basic desktop presentation program. Presentations consist of slides. There are five basic slide layouts users can choose when building a presentation. Google also gives users more than a dozen choices in presentation themes. The application also includes basic functions like image and video support, autoshapes and text boxes.

None of the applications within the Google Docs suite are as robust or versatile as the leading desktop productivity software packages. But Google updates the suite often, adding new features and capabilities. While the applications don't have all the bells and whistles of other software packages, they do meet basic user needs. And while Google Docs might not do everything other products can do, it does have several features that set it apart from the rest of the pack.

What are those features? And what sort of limitations do users have with Google Docs? Find out in the next section.

Google Docs Features and Limitations

System requirements for Google Docs are pretty simple. The only thing you have to worry about is your Web browser. Google Docs is compatible with Internet Explorer version 6 or greater, Firefox version 1.07 or higher (but not Firefox 3) and Safari 3.1 or higher. Google doesn't support Google Docs for any other browsers at the moment, so there's a good chance it won't run on them. In addition, you must enable Javascript and cookies to use the applications.

To access Google Docs, you need to create a Google account. Google accounts are free. All you need is a valid e-mail address -- and the willingness to agree to Google's terms of service -- to create one. If you've signed up for Gmail, you already have a Google account. The account gives you access to many Google applications, besides Google Docs.

With an account, users can either create a new document, spreadsheet or presentation or upload an existing file to the system. Google Docs is compatible with the following file formats:

  • Comma Separated Value files (.csv)
  • Hypertext markup language (HTML) files
  • Microsoft Word, PowerPoint and Excel files (.doc, .ppt or .pps, and .xls, respectively)
  • OpenDocument Text and Spreadsheet formats (.odt and .ods, respectively)
  • Rich text format (.rtf)
  • StarOffice documents (.sxw)
  • Text files (.txt)

Users can also create documents by e-mailing them directly to a unique address based on the name they registered when creating their Google accounts. Google assigns a long string of numbers and letters to each e-mail address to ensure each one is unique. Google Docs uses the subject of the e-mail as the document's name and converts the contents into a document. You can also attach files in an e-mail and send them to your assigned address. Google Docs converts all file attachments into HTML format and saves them to your account.

You become the owner of any file you create or import into Google Docs. Owners can edit and delete files and invite collaborators and viewers. Collaborators can edit and export files. The owner can also choose to give collaborators the ability to invite other collaborators into a project. Viewers can look at files and export them, but aren't allowed to make edits.

The organizational approach for Google Docs is a simple file-and-folder system. You can create folders and subfolders for all your files. Google provides you multiple ways to sort data, including alphabetically or by the latest updates.

Google Docs users get a lot of storage space with their accounts, but it's not unlimited. Each account can have up to:

  • 5,000 documents of up to 500 kilobytes each
  • 1,000 spreadsheets of up to 1 megabyte each
  • 5,000 presentations of up to 10 megabytes each

Google's corporate mission is to organize the world's information. With that in mind, the company has integrated some of its organizational and search capabilities into Google Docs. How can Google Docs take advantage of these technologies? Find out in the next section.

Advanced Tricks in Google Docs

Multiple people can view and edit a Google Docs file simultaneously. More importantly, they don't have to worry about creating duplicate copies of the same file. With Google Docs, everyone working on a project makes changes to the same master document. As users make edits, Google Docs tracks all the changes and tags each edit with the responsible Google account holder's name. That way, the owner of the document can scan changes and see who is responsible for each edit.

Google designed Google Docs to autosave almost constantly, preserving each edit shortly after a user makes it. Other users see the updated changes instantly. While working with documents or presentations, users can see who else is in the file. And with spreadsheets, users can click on a tab labeled "discuss" to chat in real time about the project.

In April 2008, Google announced that users could work on Google Docs document files (but not presentations or spreadsheets) offline using Google's editing software. Previously, users would have to download a file from Google Docs and work on it with some other kind of productivity software if they needed to work offline. Then they'd have to upload the document back to Google Docs once they reconnected to the Internet. This meant that users would create multiple versions of the same file.

Google's solution to this problem is Google Gears, a plug-in application that makes other Web applications more robust. Gears allows users to access the Google editor offline. Once you reconnect to the Internet, Google Docs automatically syncs the offline copy of your document with the master copy stored in the Google account. If another user has made edits to one of the sections you've changed, your changes won't be implemented. Instead, Google alerts you to the issue and gives you the opportunity to compare your changes against the other user's edits. If you still want your changes to go into the file, you can copy and paste them into the document.

Google also has some advanced tricks for spreadsheet editors. For example, the Google Finance feature can retrieve information about a publicly-traded company. It follows an "object/attribute" pattern. Users enter a company's stock ticker symbol (the object) and request a specific piece of information about that company (the attribute). For example, a user could enter the formula to look up Google's most recent stock price. The information updates as market conditions change, though the data can lag up to 20 minutes behind actual conditions.

GoogleLookup is another spreadsheet feature that follows the object/attribute model. Let's say you're building a table that compares different U.S. cities. You might want to look up the population for each city and enter it in a specific column. With the GoogleLookup feature, you'd enter a formula, signify the city you are interested in and ask for the attribute "population." The Google search engine looks for that information and retrieves it. If there are multiple answers for a particular attribute, Google presents all of them to you so that you can determine which one is right for your needs.

While many of the features of Google Docs sound useful, some people are reluctant to adopt the cloud computing approach. Why are they cautious about using Google Docs? Find out in the next section.

Concerns About Google Docs

The presentation function in Google Docs comes with several basic template styles.
The presentation function in Google Docs comes with several basic template styles.
©2008 HowStuffWorks

Whenever there's a discussion about storing data on a third party's database system, questions about security follow. It's easy to understand. Entrusting another company to keep your valuable information safe is a big step. When that information is in your control, you're aware of the security measures in place to keep it safe.

Google assures users that it keeps all data safe and private unless the user chooses to share files with others. As part of its security measures, Google doesn't discuss its approach to security in detail. Since users must have a Google account to access Google Docs, and since all accounts require passwords, we know that at least one stage in Google's security plan relies on password protection.

Google also assures users that unless they publish a file, search engines won't be able to find the information contained within those files. Google doesn't allow search engine spiders -- the applications that crawl through the Internet looking for keywords as a way of building search results -- to access the data within Google Docs.

Because Google Docs allows multiple editors to work from the same master document, there are special synchronization issues Google must deal with. Google Docs handles online edits in real time, and editors can see changes as other collaborators make them. But with offline editing capabilities, this gets a little trickier.

Imagine that you're working on a newsletter with another writer. The two of you are traveling by plane for several hours, and you both would like to work on the newsletter during the flight. Since you can't access the Internet in mid-flight -- at least, not yet -- you'll have to work offline. Each of you choose the offline feature in Google Docs and work on the document. Upon landing, you both sync up to the Google Docs system, but you've both made changes to the same section in the newsletter. What happens then?

Well, whomever logged in first (let's say it was the other writer) will sync up with the master document without any problems. But you will get a message from Google explaining that your changes conflict with another user's edits. Google gives you the option to compare the two sets of changes. At that point, you can either grudgingly accept your fellow writer's changes, or you can bravely replace his or her text with your own.

Another concern some users have is a question of ownership. Section 11.1 of Google's terms of service says that "you give Google a worldwide, royalty-free, and non-exclusive license to reproduce, adapt, modify, translate, publish, publicly perform, publicly display and distribute any Content which you submit, post or display on or through the Service for the sole purpose of enabling Google to provide you with the Service in accordance with its Privacy Policy [source: Google]." Upon first glance, this raises some pretty strong warning bells for some users. It sounds like Google says that it can do anything with the content you create and store on Google Docs.

Google claims that the company has no intention of exploiting user-generated content. The Google Docs FAQ states that users retain all ownership rights to their own materials. Google says it included the section as a way to ensure Google Docs can do what it's designed to do. In order to display user's files the way the user wishes, Google must secure an agreement between the company and the user. That way, if the user chooses to publish a file through Google, the company has the required permission to distribute that file on the Web.

What exactly keeps this complex system running? Keep reading to find out.

Back End of Google Docs

One of Google's data centers in Oregon, which is the size of a football field and holds thousands of servers.
One of Google's data centers in Oregon, which is the size of a football field and holds thousands of servers.
Craig Mitchelldyer/Getty Images

Google has a well-earned reputation for secrecy when it comes to their operations. There's not a lot of information available on the system Google Docs uses. But we can make some safe assumptions based on other Google operations. First, let's start with what we do know.

Google built the software that handles all the major functions of Google Docs -- the parts that in a traditional network would be called the server side of the system -- using the Java programming language. Java is a object-oriented programming language developed by Sun Microsystems. Google uses the Java programming language to build and develop the Google Docs applications.

The user's side of the system -- what would be called the client side in a traditional network -- consists of Web applications enhanced by the Javascript programming language. Javascript and Java aren't the same thing. The Java language allows programmers to build programs ranging from full applications to smaller applets. It's possible to build a Java application that works independently of other software. Developers use Javascript to enhance Web services. It doesn't work outside of a Web browser experience.

Beyond these facts, only people within Google know how the system supporting Google Docs works. But based on computer networks like the Google File System, we can make a few assumptions:

  • Google has a history of using inexpensive, off-the-shelf hardware whenever possible. It's probably safe to assume that the servers handling Google Docs aren't particularly powerful or advanced. It's more likely that they are workhorse computers. Since the hardware is relatively cheap, it's not as expensive to add more resources to the system. When it's easy to build in more capacity in a system, it's called a scalable system.
  • One possible arrangement of hardware would include application servers and database servers. The application servers would run the actual software that makes Google Docs possible. The database servers act as storage. Google may also use a control or administrative server that acts as a gatekeeper.
  • Since cheap hardware isn't always reliable, Google designs its computer systems knowing that parts will fail regularly. That means Google most likely stores Google Docs files on multiple database servers, a policy called redundancy. If one server fails, Google Docs can pull information from another server. The servers likely send messages to a central control server to update files and stay current.

How many machines does the Google Docs system require to run? That's also a mystery. Google has several huge datacenters. A datacenter is a building that shelters computer equipment, usually stored in metal shelving units called racks. A large datacenter might house thousands of servers.

What does the future hold for Google Docs? We'll explore that in the next section.

The Future of Google Docs

Users can create spreadsheets and collaborate with others using Google Docs.
Users can create spreadsheets and collaborate with others using Google Docs.
2008 HowStuffWorks

Google's almost as silent about its future plans as it is about its hardware. But again, there are many safe assumptions you can make about where Google Docs is heading.

For one thing, you should expect to see Google add more functions and features to all three of the major applications within Google Docs. Google developers are constantly tweaking the system. By adding features, Google can close the gap between its services and the more complex desktop productivity software applications on the market. This can include everything from new presentation slide formats to new spreadsheet formulas.

Another goal is to enable a feature that lets users work on spreadsheets and presentations while offline. These files can be more complex than document files. As a result, it's more challenging to resolve discrepancies between multiple users as they make edits offline. Imagine if 50 collaborators working on a spreadsheet were to work on the same file offline at the same time. Syncing back up to the system could be a disaster! Development teams in Google are working on ways to make offline editing not only possible, but also efficient and easy to use.

Google encourages a community of independent developers to find new ways to use the company's various applications. With that in mind, we'll probably see new Google gadgets -- applets built on Google's application programming interface (API) -- incorporated into Google Docs. Some of these might be entirely new applications, while others might combine existing applications with Google Docs. The common term for applets that combine two or more other applications is a mashup.

As an example, let's say you have a spreadsheet that lists all the offices within a company. Each row represents a different office and contains information such as the office's location, sales figures and number of employees. Using a Google gadget, you plot the information in the spreadsheet onto a Google map. The gadget places a little flag on the map for each office's location. Clicking on the flag pulls up the office's information. This example is a form of geotagging -- associating information with a specific physical location.

There are already hundreds of Google gadgets available right now, and developers are constantly creating more of them. Here are just a few gadgets and ways they might one day be integrated with Google Docs:

  • Live TV -- Several gadgets let you watch live television feeds within a Web page. Combined with Google Docs, television executives could create presentations that showcase a specific channel's programming in real time.
  • Chat clients -- Developers could incorporate a chat client into Google Docs so that collaborators have an integrated communication system as they work -- the spreadsheets application already has a similar feature.
  • Google Site Translator -- An integrated application that could translate files into other languages.

That's just a small sample of the gadgets available from various developers. With Google's community of developers, it's not unreasonable to say that if you can imagine a particular feature in Google Docs, someone is working on it right now. It's just a matter of time before we see it in action.

Want to learn more about Google applications and cloud computing? Take a look at the links on the next page.

Related HowStuffWorks Articles

More Great Links

Sources

  • Aslett, Matthew. "Google acquires XL2Web, launches Google Spreadsheets." Business Review Online. June 6, 2006. http://www.businessreviewonline.com/os/archives/2006/06/google_acquires.html
  • Charman, Suw. "FOWA 07: Jonathan Rochelle - How We Built Google Docs & Spreadsheets." Corante. February 21, 2007. http://strange.corante.com/archives/2007/02/21/fowa_07_ jonathan_rochelle_how_we_built_google_docs_spreadsheets.php
  • Cheng, Jacqui. "Hands-on: Google Docs gets gadgets." Ars technica. March 19, 2008. http://arstechnica.com/news.ars/post/20080319-hands-on-google-docs-get-gadgets.html
  • Cowley, Stacy. "Google Acquires Writely Online Word Processing Service." InformationWeek. March 9, 2006. http://www.informationweek.com/news/internet/ebusiness/showArticle.jhtml; jsessionid=02IDACZ4NTW1IQSNDLRSKHSCJUNN2JVN?articleID=1815024 79&_requestid=233068
  • Dekeyser, Stijn and Watson, Richard. "Extending Google Docs to Collaborate on Research Papers." The University of Southern Queensland, Australia.
  • Rochelle, Jonathan and Kotlyar, Leon. Personal interview conducted April 25, 2008.
  • Webb, Bill. "Google D&S." LockerGnome. October 16, 2006. http://www.lockergnome.com/windows/2006/10/16/google-damps/