Back in July, Google made BIG waves in the tech industry by announcing the development of a Google operating system based on Linux. For years there’s been speculation about if/when Google would do this, and when the announcement hit, there was no shortage of people throwing in their two cents on how this new contender would be either the greatest thing in years, or a complete waste of time. Now that Google has finally opened the code for public view, we decided to take a look at what Chrome OS is really all about.
A note about terminology – The official Google products for the browser and OS are Chrome and Chrome OS, respectively. The open source versions are Chromium and Chromium OS. As they’re essentially the same thing, this article will use the terms Chrome and Chrome OS.
What is it?
As mentioned above, Google took the Linux kernel to use as the foundation for their new operating system. This makes perfect design sense, as it gives them a stable, mainstream, open and well-supported foundation on which to build. It’s good news for the rest of us as well, as it means we’ll have great hardware support and easy access to the guts of the system.
One of the most unusual aspects of Chrome OS is that it essentially does away with the concept of desktop applications. This means there’s no manual installation or removal of packages, no manual upgrades, and improved security. Even logins are done remotely, and use your GMail account name to authenticate. A nice side effect of this is that the single sign-on is used to automatically log you in to all Google services.
When you login to Chrome OS, you do not get a “desktop” or anything of the sort, you’re immediately dropped into the web browser (Google Chrome, of course).
Obviously, when your whole UI is a web browser, you’re missing some things normally handled by the UI, like taskbars, clocks, and applets. The browser screen has been somewhat modified to include some desktop-panel type options. In the current version of Chrome OS, some of the normal desktop UI elements have been included in the Chrome browser. Here for example, you can see the buttons for power management and network setup.
Chrome OS is split into a few parts on the disk. There’s essentially two major parts, the system files and the user files. The system files on Chrome OS are actually stored in a read-only partition, and there’s pretty much nothing the user can do to change them. This may sound weird at first, but it was designed this way for a reason. By keeping all system files separate and read-only, Google has increased security by allowing only approved software to exist on the local client. In fact, every time the OS boots, it checks the integrity of the OS and will re-image any files that may have been altered.
This of course begs the question “Well then how do I save files?”. User files are kept apart from the system files, and aren’t actually stored on the computer running Chrome OS. When you save a file, it is actually saved in “the cloud”, aka an internet server. Any files “saved” will be synced to your Google account and stored online.
While there are some drawbacks to that approach, there are a number of advantages as well. For one, you no longer have to worry about backing up that data. From what I know of Google’s data storage practices, your file will exist in no fewer than three separate locations at datacenters across the globe. If one, or even two of them somehow suffer a catastrophic failure, your data will still live on at the third. The other advantage is automatic portability. If I save files on my Chrome OS netbook, then forget it at home while on vacation, I can load up any other Chrome OS system and everything will be exactly the same as if I was on my own machine at home.
For details about how and why Chrome OS does things this way, you can watch the video here.
It’s hard to gauge what I think of Chrome OS for two main reasons. First, it is still fairly early in development and therefore can’t be considered an accurate picture of what the final product will be like. Second, the design choices made in Chrome OS require an entirely different perspective on exactly what an operating system should do. Having spent my life learning the details of the “traditional” way, it may be some time before I can fully wrap my head around all the pros and cons of the design.
That said, there are certainly some things to like and dislike about the current state of Chrome OS. Having removed all but the essential parts of a Linux OS, the boot speed is nothing short of phenomenal. Once logged in, the system is up and running in very few seconds. For someone who just wants to get up and online quickly, like a netbook user, this could be great. On the other hand, if you’re a power user who likes to get into the guts of the system and make things work your way, Chrome OS will likely leave you unsatisfied. There are no desktop applications, so any computer needs that can’t be met by a web app simply cannot be met. For me, that’s a pretty big drawback and I don’t think I’ll ever be using Chrome as my main desktop OS, but for thin clients, netbooks, and portable devices, Chrome OS could be exactly what we need.
UPDATE: A Google engineer has requested that I clarify this point. Chrome OS is unsuitable as a desktop OS because it is not intended to be a desktop OS. Chrome OS is for netbooks and other portable internet devices, and it is not meant to replace the likes of Linux and Windows on your desktop computer.