A First Glint Of Chrome
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.
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.
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.
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.
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.
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.
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.
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.