First Look: Chromium browser for OS X

As noted here back in February, Google’s Chrome browser for OS X is still in the works. At that time, all we had was one little screenshot. Things have progressed markedly since then, though there’s still not a native version of Chrome for OS X that you can download and try.

What has changed, though, is that you can now run a close relative of Chrome on your Mac—and no, I don’t mean the Windows version of Chrome in VMware Fusion or Parallels Desktop for Mac. I mean a real, live, honest-to-gosh version of (what will eventually be) Chrome that runs directly in OS X. How, you might ask? First, a bit of background.

Much like Apple’s Safari browser is based on the open-source WebKit project, Chrome is based on Chromium, another open-source project. To further muddy the waters, Chrome itself uses WebKit, so Chromium also incorporates the WebKit open source project. As a user, though, all that really matters is that Chromium builds are now available for OS X. While this isn’t Chrome for OS X, it’s a very good look at what will become Chrome for OS X. As such, I thought I’d download a build and check out the state of Chrome-to-be on the Mac.

Please note that the following is not a review in any way, shape or form. It’s merely a look at Chromium as it exists today, to give you a sense for its state of development. Things that are broken or not working at all are fully expected in software at this stage of the development process; I point out the problem areas only so you’ll know what you’re getting into if you decide to download Chromium yourself.

If you’re interested trying Chromium, you can download OS X Chromium builds from the Chromium Web site. The download page contains a ton of folders, each with a unique number and timestamp. To get the newest build, scroll to the bottom of the page, and click the folder above the entry that reads LATEST. Note that things are changing rapidly—in the time it took me to write this First Look, there have been sixteen new builds posted, and a total of nearly 50 for the whole day.

This is not for everyone

Before you jump in, though, there are some things you should be aware of. First, this isn’t any sort of beta release. In many ways, it’s barely an alpha release.

Second, while Chromium runs and seems relatively stable (though it did crash on me a few times), it’s really only usable for basic browsing needs. Want to watch videos on YouTube, Apple’s movie trailer page, or any other site? Want to view a PDF? Or access a page protected by Apache’s basic access authentication, play games in Flash or Shockwave, or listen to internet radio? If you answer “yes” to any of those questions, then Chromium is not for you—at least not yet.

As of today, Chromium can load Web pages, and JavaScript support is there. Based on my initial testing, though, that’s about it—everything else is still to come. (Mike Pinkerton, a Chromium developer, has tweeted that newer builds can now play YouTube videos; these builds are not yet downloadable.)

image
Chromium's preferences are there, sort of. This tab is totally blank.

The unfinished nature of the browser extends to the preferences, which consist of only a couple changeable items, some placeholders, and one entirely empty tab. While you can add bookmarks, there doesn’t appear to be a bookmark manager of any sort, nor can you delete added bookmarks within the browser.

There’s a bookmarks bar, but no visible way to put a bookmark on it. There’s no way to block pop-ups, control cookies, or do much of the rest of the “routine” stuff you might expect a browser to handle. I also ran into the occasional glitch with an element on a page—a pop-up menu would appear many hundreds of pixels below the button that activated the menu, for instance.

The big leap forward

The big advance in Chromium (and Chrome) is that each tab in the browser is a separate process in OS X. As a user, what this means to you is that if you load a page that crashes due to bad JavaScript or some other reason, you won’t lose your entire browser.

image
What you'll see when a tab or window crashes.

Instead, the tab (or window) that loads the crashing page will have to be shut, and you’ll see the crash message (or whatever it evolves into) as seen at right in that tab or window—but all of your other windows and tabs will remain intact. This is a tremendous advance in terms of usability; I can’t count the number of times I’ve lost a nicely-set-up collection of tabs in Safari or Firefox just due to an issue on one tab.

However, this new feature isn’t without its costs—in this case, the cost is RAM usage. Each new blank tab I opened in the browser took about 20MB of real RAM. As those tabs then gained content, their RAM usage would increase. Here’s a look at Activity Monitor for Chromium, showing the browser with seven open tabs. (Those “not responding” processes aren’t crashed; they just weren’t doing anything when I took the screenshot.)

image
New processes for each tab/window mean memory usage increases dramatically with open tab/window count.

All told, that’s about 336MB of RAM for my seven-tab browser. This isn’t all that different than Firefox or Safari, but as the number of open tabs and windows increases, the numbers start to diverge. Opening a new tab or window in Firefox or Safari only adds about 2MB of real RAM usage to each program’s memory footprint. A quick test with 15 open tabs (loading the same sites in each browser) showed Chromium requiring over 520MB of RAM versus 310MB for Safari.

There are two very important things to keep in mind about these figures, however. First, they’re incredibly preliminary; I doubt much (if any) work has been done to reduce Chromium’s memory footprint. Second, the advantages of separate processes per tab or window are very real and tangible—the first time you don’t lose all your open tabs to one bad JavaScript, you’ll thank Chromium profusely. Final determinations on memory requirements will have to wait for the final version of the browser—but for now, if you’re going to test Chromium, just be aware that it will take up lots of RAM each time you open a new tab or window.

So what’s interesting about it?

With all the limitations on Chromium, you’d think I’d have tested the browser, then removed it as quickly as possible. But that’s not the case. Despite the unfinished elements of the browser, the stuff that’s there works really well, and there are some new ideas in how to handle certain routine browsing tasks.

The Chromium start screen (click for larger)

Chromium features a fast start page, much like what you see in the Safari 4 beta or Firefox with the Fast Dial extension installed. In this case, Chromium shows the nine most-visited sites in your browsing history.

In addition, you can easily search your history, see recently-added bookmarks, and recently-closed pages. A Remove Thumbnails link makes it easy to remove some or all of the thumbnails on this start page.

Chromium is a fast browser—sure, some of that is because things like Flash ads can’t load. But beyond that, page loading times are good, and moving back and forth between pages is nearly instantaneous. The page rendering (HTML and CSS) seems to be all there, as pages look the same in Chromium as they do in Safari (barring omitted Flash imagery, of course). The V8 JavaScript engine (which only works on Intel Macs as of now) is speedy; I ran Apple’s SunSpider JavaScript benchmark, and Chromium (my build, anyway) was about 12 percent faster than Safari 4 Beta, the previous speed champ on my machine.

The tab interface worked well in my testing, and there are some unique features to be found in Chromium’s implementation of tabs. Like most other tab-based browsers, you can drag tabs around to rearrange them, drag a tab off the tab bar to create a new window, and merge windows by dragging a tab from one window to the other.

As expected, based on what we saw in the Windows version of Chrome, Chromium’s tabs are at the top of the window. However, unlike Safari 4 Beta, Chromium does this well—the tabs are at the top, but a thin strip of window still resides above the tabs, making it clear how to drag the window around. (It’s not a full-height window frame, though, so there’s no room for the page title in the window header area.)

image
Chromium's tabs-on-top still provide a draggable window border above the tabs.

As you look at the above screenshot, notice there’s no Google search box. Google searches are run by simply typing in the URL bar—type 10,000rpm 2.5 hard drive and press return, for instance, and Chromium brings up the results of this Google search. This works in Firefox, too, but in Chromium, it’s the only way to run a Google search (without loading Google.com, of course).

The other thing about tabs in Chromium is that they handle other duties. Choose Show History from the History menu, and a new tab opens, displaying (in a very nicely formatted manner) your browsing history. The same thing happens when you select the Downloads “window”—it too is a tab.

image
What you see during a Chromium download

The Downloads tab shows you a history of your downloads by date, including the name of the file you downloaded, the URL where it was downloaded from, and a link to show it in the Finder. There’s even a search box to make it easier to find old downloads. While downloading, you see the filename, URL, download speed, Pause and Cancel buttons, and a green segmented-circle progress indicator. Although non-standard, I found the progress indicator pleasing to my eye and easy to understand.

Chromium doesn’t have a status bar at the bottom of the window, a la Firefox and Safari (where it's disabled by default). Instead, when you hover over a link on a page, the link’s destination appears at the bottom of the window, where the status bar would normally be seen. When you move the mouse away, the link destination vanishes, freeing that space to again show web page content.

This early build of Chromium already supports Chrome’s Incognito Mode, which is akin to Safari’s Private Browsing mode, except it can be used on a window-by-window basis. Pages opened and files downloaded in an Incognito Mode window won’t be tracked, and any newly-created cookies are deleted when the Incognito Mode window is closed. Being able to mix private mode and general browsing (by opening a new, normal window next to the Incognito Mode window) is a step forward from Safari’s all-or-nothing privacy mode.

Finally, developers will appreciate the very clean code view—Chromium formats the page’s source code (again this is displayed on a tab), and color-codes the HTML; both of these things make it very easy to see how a certain page is put together.

What’s next

There are no timelines that I’ve seen for Chromium/Chrome on the Mac, beyond “we’re working on it.” Chromium builds will continue to evolve, apparently at a rapid pace, adding features as time passes. At some point, Google will announce that Chrome for Mac is ready for use (probably as a beta), and we’ll be able to take an in-depth look at it.

For now, though, Chromium is out there. It’s usable though far from feature-complete, and it looks to bring some interesting new features to the browser wars. As a browser enthusiast, that’s nothing but good news in my book.

Subscribe to the Apple @ Work Newsletter

Comments