In association with heise online

03 September 2008, 09:27

A First Glint Of Chrome

Dj Walker-Morgan

Google Chrome is Google's entry into the web browser business, designed with an emphasis on simplicity, performance and reliability. The open source browser has been released as a beta version for Windows. In this first look, we look at the beta and see how it measures how it meets those three design criteria.

Simplicity

Google's search box on the Google default home page is the defacto standard in simple user interfaces. There's a text field to enter your search into and a button to click to do the search. A typical modern browser is a slightly more complex affair, with toolbars, tab bars, URL field, a search box, a status bar, numerous popup dialogues and sub windows for downloads. All these components make up what browser developers have called chrome, and this chrome then wraps a view of web pages being displayed by the browser.

The chrome of Chrome
The chrome of Chrome

Google Chrome approaches the browser from a different angle. At the launch, one of the developers described it as "a window manager for web processes". Looking at the top of a Chrome window, the tab bar appears first and below that, forward, back and refresh buttons and a text area called the Omnibox. To the far right of the Omnibox, two menu buttons pop up options for the page itself and for Chrome. That's nearly all the visible interface.

The Omnibox folds in the functions of the address bar and search bar into one text area; users can enter a URL or a search term, or just start typing and see what Chrome suggests from its searching local history and bookmarks or from calling search services for suggestions.

Download windows and status bars have apparently disappeared. The status bar is still there, only displaying as a overlay in the bottom left of the Chrome window, but it doesn't obscure content; move your mouse towards it and the overlay shuffles outside the window and out of the way. Downloading a file doesn't pop up a dialogue window wanting a response, which them pops up a download window; instead the download just starts, with a panel appearing at the bottom of the window showing the icons of files being downloaded. When the download is complete, the user can drag the icon out of the browser to the desktop or another folder. Download history is visible as a web page within Chrome, rather than another window.

A download in progress in Chrome
Zoom A download in progress in Chrome

The biggest visible change from other browsers is the tab bar. The bar now lives at the top of Chrome's window, rather than directly above the web page view. Tabs can be dragged around to reorder them and dragged away from the tab bar to open the tab in its own window. It feels like a much better way of managing the tab bar; it's easier to locate in the interface and reduces the cognitive processing needed to figure out what page you are looking at.

First impression on simplicity – The Chrome developers have done a good job reducing browser chrome to a minimum within Chrome without compromising too much on functionality. How this simple design will work when developers start extending Chrome will be the litmus test of this simplification.

Performance

The faster a web browser can display a web page, the smoother the experience for the user. With Google Chrome, the web page rendering is fast, though in this first beta, some rendering roughness is visible in some fonts and shapes. Chrome uses the Webkit page rendering engine, developed from KHTML by Apple for the Safari browser. Webkit is a good solid rendering engine with excellent web standards compliance, which is why companies like Nokia and Adobe already use it in their products.

Google Chrome displaying heise online UK's home page
Zoom Google Chrome displaying heise online UK's home page
Rendering is only part of the performance equation though. Browsers have traditionally been single threaded, single process applications, so with multiple windows or tabs open, a page with lots of executable content could block a page on another tab while it is running. Chrome gets around this by giving each page its own process, so that each page is run independently of the others. This multi-process architecture also means that on today's multicore processors, Chrome should make better use of the available CPU power.

The biggest performance boosted part of Chrome is the JavaScript engine. Chrome uses a new engine called V8 to run JavaScript in the browser, developed by a Google team based in Denmark. V8 is very fast. Using the SunSpider benchmark, Internet Explorer 7 ran the test in 53588ms and Google Chrome ran it in 2183ms, over twenty times faster. What this means in practice is that JavaScript heavy web applications like Google Docs and Google Maps become very snappy and respond faster to user interaction.

First impression on performance – Chrome is the fastest browser out there now, with a fast page renderer and blisteringly quick JavaScript engine. But this performance just brings into stark relief how CPU hungry plug-ins like Flash can be.

Reliability

Traditional browsers suffer from the problem that if a page or plug-in crashes, the entire browser crashes. We have mentioned that Chrome gives each page its own process for performance reasons, but this same multi-process architecture is also key to reliability in Chrome. Because each page has its own process, if a page crashes, in Chrome only that page crashes. The browser carries on displaying other pages and can allow the user to restart the crashed page, rather than restart the browser and hope the browser had noted where it was. Plug-ins like Flash can also crash, but Chrome has that problem taken care of by giving plug-ins their own process too, isolating their crashes from the pages they are in and offering the ability to restart them too. There is a task manager for the curious which lets you view all these page and plug-in processes and tells you how much CPU and memory each is using.

The Chrome task manager
The Chrome task manager

Another advantage of the multi-process architecture is better security; because each page has its own process, there's no way for code in one page to manipulate another page. This is a problem with many current browsers where attackers write code to extract information from other pages by traversing the browsers internals. Added to this isolation is a security hierarchy of privileges for pages and plug-ins which also restricts what they are allowed to do without the interaction of the user; the default being a sandbox which requires the user authorise operations, for example a page's javascript accessing to local disk.

First impression on reliability – Chrome has a solid reliability and security model which appears to work well. The reliability features make Chrome capable of staying running for long periods of time. The real test of the security model though will come though when people start attacking it.

Conclusion

In this first look, Google Chrome seems to have met the three big design drivers. It is simple; possibly too simple for some who like to have browser extensions and debuggers in their browser. It is fast; it beats all comers currently, including Microsoft's Internet Explorer 8 beta 2, the development versions of Firefox with TraceMonkey and Safari with SquirrelFish. This is just the latest round in the JavaScript performance race, though. It is reliable; it isolates problems and keeps their impact to a minimum. For a first public release it is remarkably good, especially for a company that has not delivered a web browser in the past. With the initial beta release only available for Windows, and with the promised Mac and Linux versions quite early in development (neither have a user interface layer yet), it isn't ready to be to cross platform browser solution yet. Despite this, Chrome is a strong player in the return of the browser wars.

Print Version | Permalink: http://h-online.com/-746392
  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit
 


  • July's Community Calendar





The H Open

The H Security

The H Developer

The H Internet Toolkit