Google’s recent launch of their new browser Chrome has generated a lot of interest from those wondering how it will fare against the established browsers that currently dominate the market. Google has had internal discussions for years about creating their own browser, but any specific details about its development have been kept under wraps until recently. The prior lack of information regarding Chrome has led to many questions such as: How is Google going to separate Chrome from other browsers currently on the market? What kind of functional and nonfunctional requirements did Google establish for Chrome? Is Chrome designed any differently than other browsers? The October 2008 issue of
Wired Magazine addresses these questions and provides a behind the scenes look at Google’s developers as they prepare for the release of Chrome.
Google has been looking into building their own browser since 2001, however their CEO did not believe it was the right time for Google to compete against other browsers at that point. Google did decide to assemble a browser team for the purposes of contributing to the open source browser Firefox. In 2006 the Google Firefox team started to revisit the idea of creating a Google browser. If the team was going to create a browser, they wanted to start from scratch in order to utilize the internet in a way that current browsers could not. Google understood that the internet had evolved and browsing had become more complex since Internet Explorer and Firefox were first developed. These changes were evident in functions such as spreadsheets and databases management that were previously only accessed from a user’s desktop but can now be utilized online. These changes spurred Google to build its browser from the ground up so that it could be used for cloud computing rather then just a standard browser for delivering content.
When Google evaluated the requirements they wanted to include in Chrome, they emphasized a few key functional and non-functional requirements. One of the important non-functional requirements Google wanted to implement into Chrome was a multiprocessor architecture. Multiprocessor architecture is the aspect of a computer system that helps it continue to operate when an application crashes. Google wanted to extend this idea to their browser so that if one tab crashes it does not crash the entire browser and keeps the remaining tabs active. Each tab in Chrome has its own memory and its own copy of the global data structure. This allows issues to stay contained within that particular tab and helps contain memory usage of the browser. The multiprocessor architecture has also led Google to implement a Task Manager within Chrome much like Windows utilizes. The Task Manager feature enables users to determine which web pages are using the most memory and can identify any memory leaks that may be occurring within a particular tab. Google extended its efforts to isolate tabs for security purposes by purchasing the software security firm GreenBorder Technologies in 2007. GreenBorder Technologies was purchased with the specific purpose of creating virtual sessions for the tabs within Chrome. These individual virtual sessions or “sandboxes” as referred by Google are used in each tab to prevent malware from disrupting other tabs or any other data on the user’s computer. Enabling a sandbox for each tab is important because it not only improves the stability of Chrome but also improves the security of the browser as well.
Another nonfunctional requirement Google wanted to emphasize was to make Chrome fast. Google began the process of establishing the speed of its browser by choosing which rendering engine to use. The rendering engine is the software that converts a websites code into a viewable page. Google determined WebKit was the fastest open source rendering engine available which is utilized by Apple’s Safari browser. Google also wanted to ensure that Chrome’s JavaScript engine was state of the art in order for Chrome to be able to run web based applications effectively. Google contacted Lars Bak, a Danish computer scientist who is an expert at designing virtual machines, to create the JavaScript engine for Chrome. When Lars Bak and his team completed the JavaScript engine for Google it was benchmarked at ten times faster then Safari or Firefox and fifty-six times faster then Internet Explorer 7. Google believes that this type of speed combined with the fact that Chrome is open source will encourage developers to create new and exciting web applications which will further the growth of the internet even to the point that the browser will become the equivalent of an operating system.
The key functional requirements included in Chrome are its navigational abilities, the ability to move tabs to different windows and its ability to allow the user to either archive browsing history or operate in incognito mode for private surfing. Chrome differentiates its navigational abilities from other browsers by introducing a feature called the “omnibox”. The omnibox, which is a combination of an address bar and search box, allows users to enter the terms they would like to search for or choose to enter a specific website address rather then having a separate box for each navigational option as in other browsers. Also when a new tab is opened, rather then displaying the user’s home page or a blank tab, the user is presented with a page that displays the individual’s nine most visited pages. This feature was added to Chrome to help anticipate the user’s needs by displaying pages they will likely want to visit. Chrome also allows users to move an existing tab to another window, which is a feature not currently found on other browsers. The ability to move tabs creates new implications for web applications, for example Google’s Gmail can be placed into its own window and can be designated as an “app shortcut”. When the user chooses this option the browser buttons, tabs and other features that give the appearance of a browser disappear and it looks similar to a standard desktop application. The ability for the user to transform the appearance of a web application from a standard looking webpage to one that looks like a desktop application demonstrates the type of capabilities Google had in mind when designing a browser for cloud computing. Google, primarily known for its search engine abilities, implemented a feature that allows users of its browser to search their website history which enables people to quickly find a site they have visited previously. Conversely, Chrome also allows users to surf the internet in what they call incognito mode which is a read only mode where bookmarks are accessible but none of the browsing history is kept and cookies are deleted as soon as the window is closed. These two surfing modes are key functional requirements aimed at getting all types of individuals to use Chrome as their primary browser.
When developing the user interface, Google wanted to keep it clean and very simple. The goal for developing the interface was for the user to not even realize they were using a browser. The team at Google wanted to browser to be functional but not be bogged down by buttons and options. They began the process of adding buttons and features by eliminating everything and then determining what was actually needed. Essential buttons such as the forward and back buttons were kept but extraneous features, such as the browser status bar, were eliminated.
The testing process for Chrome was greatly aided by Google’s web crawling infrastructure and in-house expertise. When a new build of Chrome would become available, it was tested by a “Chrome-bot”, which could access upward of a million web pages and was able to provide information on bugs found within Chrome. The ability to locate bugs via the “Chrome-bot” saved time and money in the development process, rather then waiting for an external beta release to discover certain types of bugs. While Google has tested Chrome extensively, they believe that by making Chrome open source it will encourage further testing by developers around the world. Google believes this type of collaborative effort will help make Chrome better than Internet Explorer.
Google has taken drastic steps in the creation of Chrome to differentiate it from Internet Explorer, Firefox and Safari and to promote growth in the area of cloud computing. The stripped down user interface and unique features may not initially attract the average user, but it will likely be embraced by web developers and tech enthusiast. As cloud computing increases among the general population Chrome will likely grow as a major competitor in the browser market. Google has shown its ability to revolutionize the way people use search engines and locate information despite competition from Microsoft, Yahoo and others. Now Google is hoping to provide the same change to the way people view and use their browser.
Levy, S. (October 2008). Inside Chrome: The Secret Project to Crush IE and Remake the Web. Wired Magazine,Issue 16.10
http://www.wired.com/techbiz/it/magazine/16-10/mf_chrome?currentPage=all