I'll admit, I'm somewhat interested in Google's Chromebook concept. The Chromebook is Google's spin on the "netbook". Announced in May last year, Chromebook goes on sale in mid-June.
The Chromebook runs Google's Chrome OS, which is based on Gentoo Linux. While Linux has appeared on netbooks in the past (and were the only option on the very first netbooks) this is another example of the flexibility of Linux. You can use Linux as a base for almost any computing platform - it's small, fast, and supports a variety of hardware.
When I first heard about the Chromebook, I started thinking about how you might go about "building" a Chromebook-like netbook. Now that Chromebooks are about to go on sale, I thought I'd revisit this idea here.
First, let's understand the concept of the Chromebook, what makes it different from other netbooks.
The idea is that you have a netbook where all your data is stored in "the Cloud" (Google Docs, etc.) so that nothing of value is really on the netbook. There's no "desktop" concept, you can't really save anything to your Chromebook. You do everything (including documents, email, games) via a web browser. This potentially makes for a very secure computing environment.
Starting from that, the Chromebook is essentially a mobile web computer, under the assumption the Internet is "always on" (or at least, "mostly on" - leveraging Google Chrome's support of HTML5 offline mode to continue working.)
Google Chrome is already available for Linux. And that's all we need to start "building" a Chromebook-like netbook:
Start with a "bare" version of the "X" Window System. Imagine a "window manager" that doesn't really manage any windows. If the Chromebook doesn't support a "desktop", then your "window manager" doesn't need to do much. In the simplest case, you need an "action bar" that lets you connect to open wi-fi networks, displays battery, and lets you logout.
The Samsung Chromebook sports a 1280x800 display. Here's a mock-up in those dimensions. I'll fill in the pink area next.
In this mock-up, maybe clicking on the user's name will bring up a simple dialog with "logout". The icons on the right could be clickable too, to join a network or to put the netbook to sleep. There's no option to bring up local applications - because you do everything in "the Cloud".
The "window manager" only has to keep track of one window: Google Chrome. The "window manager" doesn't need to support features such as virtual desktops, because Chrome supports tabbed browsing on its own.
You won't have the option of a file manager or a terminal program ("shell" window) in such an environment, but neither does Chrome OS. This is really intended to get you online, for you to do your work there.
How fast could such a system boot up? I installed a minimal Fedora Linux on an old laptop to test. This machine only takes 9 seconds to boot into text mode on a 2GHz single-core CPU with 1GB memory, no services running. Assuming a graphical environment like I've described above, this system might take a total of 11 seconds to boot up into a "login" screen.
Once you've logged in, probably another 2 seconds to bring up the "window manager" and start Chrome.
That's not very different from what Google is claiming for the Chromebook: about 8 seconds to boot. I'd guess that's the time it takes to get their "login" window, which is pretty bare:
So there you have it - all it takes is a "window manager". I used to have the programming madskillz to write such a thing, but my C is a bit rusty these days. I haven't looked around, but I'd bet someone has written a minimal "window manager" like the above. Maybe someone can point me to a link in the comments.