Skip to content
Biz & IT

Nothing but ‘Net: hands-on with the Cr-48 Chrome OS laptop

Google's Chrome OS offers a bold new approach to netbook computing, eschewing …

Ryan Paul | 198

Google's 'Net-centric Chrome OS platform challenges conventional notions about what constitutes an operating system. It puts the cloud front and center, eschewing the familiar desktop paradigm and native applications in favor of a browser-only environment. It's an audacious and intriguing experiment, but it's not clear yet if it will resonate with a mainstream audience.

To get a feel for how Google's new platform works in the field, we spent a few days testing the Cr-48, an experimental laptop prototype that runs an early version of Chrome OS. Although the software is still under development and not yet mature enough to support an authoritative conclusion about the platform's potential, we have assembled some observations based on our experiences.

Our testing of the prototype so far has left us impressed, but wanting more functionality. The Cr-48 performs relatively well and meets basic requirements for Web surfing, gaming, and personal productivity, but falls short for more intensive tasks. Google is actively working to correct some of the limitations and appears to be making good progress on addressing common needs in other areas like multimedia, but there are still some gaps that constrain the scope of the platform's efficacy compared to the conventional netbook experience.

Whether the gaps are a major impediment or a minor inconvenience will depend largely on the user's workload. At launch, the audience will be somewhat limited and consumer expectations will have to be set very carefully. As broader support for emerging standards makes the Web a richer application platform and Google advances other critically important technologies like Native Client (NaCl) and Chrome's extension API, the appeal of Chrome OS could expand.

Hardware

The Cr-48 is an unbranded prototype that is not available to regular consumers. Google commissioned Taiwanese original design manufacturer (ODM) Inventec to produce approximately 60,000 units specifically for participants of the Chrome OS pilot program. Google hopes that the recipients of the Cr-48 prototypes will supply feedback to help guide further refinement leading up to the official Chrome OS launch next year.

A study in black

It's not really clear yet if the Cr-48 is intended to be the basis for a Chrome OS hardware reference design or if it's just a configuration that happened to be convenient for the prototypes. Google says that individual OEMs will choose their own designs and hardware configurations. I suspect that the first commercially available Chrome OS devices will be a few inches smaller than the 12-inch Cr-48 and will look more like conventional netbooks. As we discuss the Cr-48 hardware, it's important to remember that it's a prototype and that hardware that eventually reaches consumers might not resemble it at all.

The laptop's undifferentiated black exterior and total lack of branding and other adornments contribute to a gracefully understated design. Most of the surface has a smooth matte finish with a slightly rubberized texture. One of my friends aptly commented that it looks like the fake laptops that you see as props in furniture showrooms. I think that it's quite fetching compared to average laptop designs, but opinions seem to differ among members of the Ars staff.

The Cr-48 comes with a built-in 3G modem that is tied to Verizon's network. We also found what looked like a SIM card slot in the battery compartment, but we aren't sure if it's operational. We had no trouble getting the Verizon connectivity to work during our tests. To set it up, we had to go through an initial registration process at the Verizon website and input a credit card number. The user gets 100MB per month for free, and can choose to pay for additional service as needed.

You can click the network status icon in the status area to toggle 3G and other relevant connectivity options. Switching to 3G connectivity is easy and proved to be a convenient option at the coffee shop.

The matte 12-inch screen renders at 1280x800. We aren't particularly impressed with the quality of the display, which seems a bit cheap by our standards, but it is roughly comparable with what you typically get in budget netbooks. Battery life is relatively decent, lasting a good six hours of continuous use with the network enabled during our tests.

The full-sized keyboard has chiclet-style keys with a fair bit of spacing between them. It's as smooth as butter and very comfortable for typing—much better than the average netbook keyboard. It uses a standard layout for the alphanumeric keys, but there are some minor differences for the meta keys and the function keys. The caps lock key has been replaced with a "search" button that opens a new browser tab. Google has also omitted the "Windows" key that typically resides between ctrl and alt. The top row of the keyboard has keys for switching between browser windows, toggling full screen mode, adjusting the screen brightness, and other similar functions.

The Cr-48 keyboard—with no caps lock key

The touchpad is a single surface that activates a click when it is pushed down. It supports basic two-finger multitouch gestures, such as swiping two fingers to scroll and pressing down with two fingers to right-click. It is generously sized and feels sturdy, but the multitouch support is terrible. You have to have your fingers spaced apart just right for any of the two-finger gestures to work. Scrolling is finicky and unpredictable. Performing a right-click is an exercise in frustration. It's just not a good experience.

I suspect that the touchpad woes are at least partly a software issue. The touchpad hardware is made by Synaptic, and support for the recent Synaptic multitouch pads on Linux is generally shoddy. I've encountered similar issues with Ubuntu on my HP portable.

On the sides of the device, you will find a single USB port, a headphone jack, a VGA output, an SD card slot, and the power adapter slot. The battery compartment on the bottom is secured with a single latch. The battery fits entirely within the case's profile and doesn't protrude from the back.

Software experience

The Cr-48 will turn itself on and start booting automatically when you open the lid. The autostart can be a bit jarring at times, but I began to appreciate the feature after I learned to expect it. The initial setup process was easy and intuitive. It prompts the user to configure a wireless network and supply Gmail login credentials. It will also offer to snap a photo of the user with the laptop's built-in camera so that an image can be associated with the user account. After the setup process, it will display a simple walkthrough of the platform's key features.

Boot up is fast

The Cr-48 generally takes between 10 and 12 seconds to boot. That's decent startup performance, but it's not surprising given that the machine has an SSD. We've been seeing comparable startup times on SSD-equipped Ubuntu systems for over a year now. A more impressive achievement is the speed with which the Cr-48 wakes up from a suspended state. It snaps to life almost instantly when you open the lid and reestablishes a connection very quickly. Reliable suspend/resume is an area where Linux still falls short on laptops, so it's encouraging to see that Google got it right. The influence that they were able to exert over the hardware was likely a contributing factor.

The Chrome OS user interface is built entirely around Google's Web browser. It doesn't have a conventional desktop or standard floating windows—the browser window completely fills the screen. A small status area, which is positioned in the top-right corner at the end of the tab bar, has a clock and status indicators for the battery and network. The integrated Chrome browser behaves pretty much as you would expect—you can create tabs, load webpages, and use your bookmarks.

The Chrome OS user interface

When you open multiple Chrome windows, you will be able to switch between them by pressing the alt+tab keyboard shortcut or hitting the dedicated window switching key that is in the function row of the keyboard. When you switch between windows, you will see an animated transition that slides the contents of the screen to the right or left, creating the impression that the individual windows are different workspaces or virtual desktops.

There doesn't appear to be a way to view more than one window at the same time, however. You can't move two of them into the same workspace, for example, for side-by-side viewing. I was also unable to find a way to move a tab from one window to another. The platform's very simplistic approach to window management is appealing in some ways, but lacks flexibility. There are various tab management and pane splitting extensions that you can use to work around these limitations, but none of them really deliver the kind of experience you would get if equivalent features were supported natively in the browser. I think that a richer tab management interface—potentially something that works like Firefox's Tab Panorama—is needed to smooth out some of the rough edges in the Chrome OS user experience.

Although Chrome OS doesn't allow you to see more than one regular browser window at the same time, it displays popup windows as panels that hover over the main window. These panels can be resized and moved to the left or right, but their bottom edge is always nailed to the bottom of the screen. These popup windows are particularly useful for chat conversations or other activities that you want to have persistently accessible on the screen regardless of what tab you are viewing in the window. You can click the titlebar to minimize them along the bottom screen edge. Unfortunately, you can't arbitrarily tear out any tab to turn it into a panel—it only works with popups.

Google Talk popup panels hovering over a browser window

Chrome OS performance on the Cr-48 was generally very good. This is unsurprising, because Chrome is a very fast and responsive browser. It handled JavaScript-intensive websites very well. The one area where I experienced performance problems was with Flash content. Adobe's Flash implementation for Linux is notoriously poor, so this isn't really a problem that is specific to Chrome OS. Scrolling exhibits noticeable lag on pages with embedded Flash content, even when it's not animated.

Missing bits

As you would expect of an incomplete prototype, there are still some key pieces of Chrome OS that aren't complete yet. The two most notable areas where development is still ongoing are multimedia playback and removable storage.

Chrome OS is designed with the expectation that users will rely on cloud storage rather than a hard drive. It's still possible to download files, however, and individual Web applications can use HTML5 APIs to cache data to the physical disk for offline access. The platform's partitioning scheme is a bit odd, but it appears to have about 10GB of free space available for local storage. Chrome OS has a very simple HTML file browser that displays in a popup panel. It will appear when you download files and can be invoked manually with a keyboard shortcut.

When you open an image file from the file navigator, the image will load in an extremely primitive HTML-based image viewer in a browser tab. Most other kinds of files will simply display an error message when you try to open them from the file navigator. It's worth noting that Google is integrating PDF rendering directly into the browser itself, thus addressing one of the most common file download use cases.

When I plugged a USB thumb drive into the Cr-48, the system detected the storage device and automatically mounted it, but did not expose it through the file navigator. There is an experimental option in the "chrome:///flags" panel to enable removable storage browsing, but it didn't really work for me. This feature will likely be fully functional by the time that Chrome OS devices are ready to ship out to consumers, but it's not working yet.

The experimental flags panel also had an option that let us get an early look at the platform's incomplete media player. It operates in a popup panel and has simple playback controls. We couldn't get anything to play in it during our tests. Like the removable storage browsing, we suspect that this will work by the time that Chrome OS reaches the consumer market.

The experimental Chrome OS media player and file navigator

We were very surprised to find that Google's Native Client (NaCl) isn't supported out of the box on the Cr-48. NaCl is a sandboxed runtime environment for portable binaries. It can operate as a browser plugin, allowing developers to implement performance-sensitive components of their Web applications in native C or C++ without the security risks that generally come with executing arbitrary native code.

It's thought that NaCl will eventually play an essential role in making Google's browser-based environment a viable alternative to conventional computing platforms. Although the NaCl browser plugin does ship on the Cr-48, it's not enabled by default and we couldn't find a way to activate it without having to resort to jailbreaking.

Security characteristics

The browser-centric model of Chrome OS raises an obvious question: what value does the platform provide that differentiates it from simply running the Chrome browser on a conventional Linux distribution? Security is one key area where Chrome OS unambiguously beats existing mainstream operating systems.

Google has gone to extreme lengths to harden Chrome OS and lock it down. The platform's browser-only model has made it possible to institute security mechanisms that would be practically impossible to adopt on a general purpose operating system. For example, most of the filesystem is mounted as read-only and it's not possible to run unsandboxed binary executables from the writable parts.

As far as I can tell, NaCl is really the only way to run binary code on Chrome OS that wasn't put there by Google—and that's not even enabled yet. Modifying the contents of "/etc" or other sensitive parts of the filesystem is completely barred. Those restrictions (which are still enforced even when you have root access) significantly enhance security.

It's quite common to see that level of lockdown on embedded systems that aren't intended to be user-extensible, but it's practically unheard of in mainstream desktop computing environments. Google can do it on Chrome OS because the browser-only model eliminates the need to support the installation or execution of conventional third-party native applications.

The bottom line is that Google can take advantage of Chrome OS's unique application model to build a computing platform that is uniquely secure against threats like viruses. We think that this is the greatest strength of Chrome OS and the most compelling reason to use it instead of merely running Chrome on Ubuntu or any other operating system.

Power users

Chrome OS is not a particularly good platform for power-users, but Google is making an effort to support that audience. Chrome OS users can access a command line by hitting the ctrl+alt+t keyboard shortcut. It will open up the aterm terminal emulator in a window. The aterm windows are treated just like Chrome windows, meaning that you can switch between them and your browser windows using alt+tab or the window switching key.

Chrome's command line interface comes with its own text-based shell called crosh. Unlike conventional command shells such as Bash, the Chrome OS crosh shell doesn't provide any access to the filesystem. It's limited to a handful of commands, including an SSH client and a few network diagnostic tools. In keeping with the broader philosophy of Chrome OS, the platform's command line interface is fittingly intended solely for accessing remote systems.

The Chrome OS command line, running the crosh shell

If you want more comprehensive command line access, however, you are going to have to "jailbreak" the system. The Cr-48 has a built-in jailbreak switch that Google included for the benefit of developers and testers. Flipping the switch will disable some (but not all) of the platform's security restrictions. It disables the hardware's verified boot mechanism and allows you to get full access to the terminal.

The tiny switch is recessed in the battery compartment and hidden under a piece of tape. After stripping off the tape, I was able to toggle the switch with a pair of tweezers. Instructions for doing this are documented on Google's Chrome OS wiki. When the jailbreak mode is enabled, the laptop displays a warning message about the lack of verified boot every single time the computer starts up. You have to hit ctrl+d to dismiss this message and continue the boot process. During the first boot after the jailbreak mode is enabled, the system will wipe out all of your local files and settings and do a sort of factory reset. You will have to go through the initial configuration process again.

In jailbreak mode, you can use the "shell" command at the Chrome OS command line to escape from crosh and get a full-blown Bash shell, with filesystem access. You can use "sudo su" to assume root privileges. This gives you a much more complete command line experience and is quite useful for exploring the filesystem. It also gives you access to a lot of other useful commands, such as wget. It is still subject to some of the platform's security limitations, however.

Even with full root access, you won't be able to modify much of anything outside of "/home" and you won't be able to run other applications that you dump in the home directory. My attempts to run Firefox on the Cr-48, for example, proved unsuccessful. One nice thing that you do get with the jailbreak is the ability to use NaCl. You just have to launch Chrome manually from "/opt" with the —enable-nacl parameter.

It's unclear if the jailbreak switch will be included in regular commercially available Chrome OS systems or if it is exclusively a feature of the developer-centric Cr-48.

Conclusion

By design, Chrome OS assumes a world where connectivity is ubiquitous and every conceivable computing function can be performed on the Web. Although it seems like that world is approaching inexorably, it hasn't entirely arrived yet. Chrome OS reminds me a lot of Google Wave—in the sense that it is a radical and innovative break from the past, but seems perilously ahead of its time. It offers a lot of great ideas, but the degree of change might take users too far out of their comfort zone. That's really the biggest risk factor for Chrome OS.

The strengths of the Cr-48 prototype suggest strongly that the concept of a browser-only operating system could be made to work eventually by taking the current Chrome OS implementation to its logical conclusion. It's also clear that there are some tangible advantages to Google's approach, particularly in the area of security. The question that is still unanswered is whether the trade-offs will appeal to regular computer users.

In its current form, I think that the operating system could appeal to some niche audiences, like regular consumers users who really just need browsing or office productivity workers at companies that have gone Google or only use intranet apps. It's decidedly not a full-fledged alternative to the general purpose computing environments that currently ship on netbooks. Security is one area where it really shines, but most of its other advantages are obtainable in other software environments without having to sacrifice native applications. It's important to remember, however, that the platform is still a work in progress, under heavy active development. Google says that we can expect to see more features and capabilities emerge as they move closer to the official launch. We look forward to revisiting Chrome OS and performing a full evaluation when it's ready for mass consumption.

Photo of Ryan Paul
Ryan Paul Ars Editor Emeritus
Ryan is an Ars editor emeritus in the field of open source, and and still contributes regularly. He manages developer relations at Montage Studio.
198 Comments