Google pushed an impressive new Chrome update into the developer channel on Thursday. This experimental prerelease, which is labeled version 2.0.156.1, gives users a first look at some of the items that are the focus of the developers working on Chrome 2.0.
Chrome is an open source web browser that is built on Apple's WebKit rendering engine. When Google launched the first release of Chrome last year, it was surprisingly polished but it lacked a handful of critical features. Google has moved swiftly to close the functionality gap by adding a bookmark manager and other improvements.
Unlike much of Google's other software, Chrome didn't stay in beta for very long. It got the 1.0 treatment last month and Google is already courting OEMs with the aim of getting it preinstalled on new PCs so it can reach users as soon as possible.
Now that the 1.0 version is out the door, Google is leaping ahead and beginning work on a major 2.0 release. The new version that was pushed into the developer channel on Thursday—which includes several significant rendering enhancements, new user interface features, augmented extensibility, and a number of other nice additions—demonstrates Google's commitment to making Chrome a serious contender on the desktop.
Google makes Chrome available to end users through three separate channels: stable, beta, and developer preview. The stable channel, which is used by default, provides heavily tested, stable updates. The beta channel, which is generally updated on a monthly basis, has complete features that need widespread user testing before they are suitable for the stable channel. The developer preview channel, which is a bit like Mozilla's Minefield builds, is used for testing experimental features that are not necessarily complete.
To switch to the beta or developer channel, users will need the Chrome Channel Changer tool, which is available from the Chromium web site. The new 2.0.x builds are currently only available through the developer channel.
New features
The new version uses a more recent revision of WebKit that has support for some of Apple's impressive non-standard CSS features, including gradients, reflections, and masks. These features are still a work-in-progress. I conducted extensive tests and found several corner cases that exhibited bugs. For example, Chrome renders black when it is supposed to draw a transparent gradient in a reflection. The following example compares the rendering in Chrome (the top one) with the rendering in the WebKit/GTK+ port that I use on Linux. The transparent gradient is supposed to fade to the page background color, which is white:
The most significant user interface enhancement in the new Chrome update is support for edge docking. When a tab is dragged to the top of the screen, it snaps into place as a maximized window. When the user drags a tab to any other screen edge, it will dock in that region and fill half of the screen. This feature is clearly designed to mimic the equivalent window management functionality in Windows 7, but the implementation isn't quite as good yet. When you drag a Chrome window out of a docked position, it will not revert to its previous size.
An exciting extensibility improvement in this release is support for user scripting. This feature, which is intended to be loosely interoperable with Firefox's Greasemonkey, allows users to apply custom JavaScript behaviors to pages that are loaded in the browser. This feature is still at a very early stage of development and it's not enabled by default. In order to turn on user scripting, you have to execute Chrome with the —enable-user-scripts flag. You also have to create a scripts directory in your Chrome data path.
There are a few other nice features in this release that are worth a quick mention, including support for full page zoom, form autocompletion, support for importing (but not synchronizing) Google Bookmarks, and middle-click drag scrolling. The new version also includes a few major changes under the hood. The Chrome developers are moving away from using the WinHTTP library and are working on a platform-neutral alternative that will make Chrome easier to port to other operating systems.
Google is making very impressive progress with Chrome and the new features introduced in 2.0.156.1 are a great first step towards a 2.0 release. It's clear that Google takes Chrome very seriously and aims to make it a mainstream success. For more details, check out the release notes and the official announcement.