Google Unveils Chrome OS

Google has just unveiled its Chrome OS operating system during a press event at the company’s headquarters, and it’s pretty much exactly what we expected it to be: a streamlined Linux kernel booting straight into the Chrome web browser. The code is available starting today.

Web web web web web web web

The Chrome OS replaces the traditional software stack on computers with a more lightweight one, all made possible because it can only run web applications. Instead of going from BIOS to kernel, services, start-up applications, and eventually the browser, Chrome OS will cut a lot of stuff out, ending up with just the BIOS, a streamlined Linux kernel, and the Chrome web browser.

The end result is that Chrome OS boots in 7 seconds, with every application on the operating system being a web application; there are currently no plans for native applications. You can pretty much mimic the interface of Google’s new operating system by maximising your Chrome window, but there are also a few new things in Chrome OS, UI-wise. For instance, there are panels, which are lightweight windows which pop-up from the bottom of the screen.

Under the hood, Chrome OS does a few interesting things. The entire root file system partition is read-only, and the user file system is encrypted. You shouldn’t see the user file system as a place to store files – it’s actually a cache. All user data is stored in the cloud on the internet, and continuously synced. As you probably already anticipated, the operating system updates itself automatically.

Another interesting concept is that of the verified boot. The boot process verifies the bytes on your drive using cryptographic keys, and as soon as a mismatch is detected (because of malware? Data corruption?), the system will reboot itself and re-download the operating system image. The operating system basically re-images itself.

Security is a focal point for Chrome OS. It uses the browser security model, meaning that the operating system does not trust any application. All web applications run in a sandbox, and can’t touch local files. This is fundamentally different from traditional operating systems, where every application has the same privileges as the user – in other words, they can potentially destroy your data.

Google is taking a rather different approach to distributing Chrome OS. You won’t be able to just download it and install it on any machine – Google will be very strict about what hardware Chrome OS supports, and provide reference hardware to OEMs. For instance, Chrome OS does not support mechanical hard drive; only solid state drivers are supported. As for other types of hardware, Google will for instance specify what wireless chips OEMs must use. Chrome OS will, however, run in a virtual machine.

The first Chrome OS devices are expected to ship late next year.

Different

Google calls Chrome OS a “fundamentally different model of computing”, and they certainly have a point there. However, I’m personally not very excited about all this. Call me a traditionalist, but I dislike web applications, and the idea of being limited to them doesn’t appeal to me at all. Google did state that web applications that support HTML5’s off-line capabilities will work without an internet connection too, but I have the sneaking suspicion that most of them don’t, and the prospect of having a dead machine every time the internet decides to call it a day isn’t a pretty one.

Then there’s the interface of Chrome OS. It’s all a work-in-progress at the moment, so things might still change between now and when Chrome OS ends up on the shelf. The current interface is very limiting, as the tab bar runs out of space after about 5-6 tabs open. Since applications as well as regular web pages take up residence there, it looks like a very inefficient and space-constrained environment for managing running applications and web pages. The panels, which can be tiny applications like a music player or a notepad, also look constrained and restrictive.

And every application full-screen, with no side-by-side abilities? I shiver at the thought.

Still, there’s a lot of innovative stuff here as well. I still don’t understand why modern operating systems do not stick every application in a sandbox, so Chrome OS has them beat there. The verified boot and read-only root file system are interesting too, as is the idea of encrypting all user files.

Overall though, Chrome OS looks like a very limiting environment to work in, and much will depend on the agility with which web developers will dive into HTML5 and associated technologies in order to create compelling and useful applications. Google also has a lot of work ahead to make the interface more appealing. I love Chrome’s UI as a browser, but I wouldn’t want to spend my entire computing time in it.

Google will also have to convince users that storing all their stuff on servers somewhere far away is a good thing, and I’m not sure people will accept that so readily – I certainly don’t.

Then again, I’m scared of anything new, so maybe I’m just too old-fashioned, and Chrome OS is for people who say “cloud” instead of internet. We’ll see.

In any case, the code is available starting today.

147 Comments

  1. 2009-11-19 8:07 pm
    • 2009-11-20 7:20 am
      • 2009-11-20 8:32 am
      • 2009-11-20 11:18 am
        • 2009-11-22 12:26 am
  2. 2009-11-19 8:13 pm
  3. 2009-11-19 8:19 pm
    • 2009-11-20 12:04 am
      • 2009-11-20 12:21 am
        • 2009-11-20 12:56 am
          • 2009-11-20 4:06 pm
  4. 2009-11-19 8:24 pm
    • 2009-11-19 9:17 pm
      • 2009-11-19 11:35 pm
        • 2009-11-21 6:23 am
          • 2009-11-21 1:22 pm
          • 2009-11-21 7:58 pm
          • 2009-11-22 1:17 am
      • 2009-11-20 10:32 am
        • 2009-11-20 4:09 pm
        • 2009-11-21 6:30 am
    • 2009-11-24 11:09 pm
  5. 2009-11-19 8:25 pm
    • 2009-11-19 9:02 pm
    • 2009-11-19 9:41 pm
    • 2009-11-20 11:29 am
      • 2009-11-20 10:03 pm
    • 2009-11-24 11:18 pm
  6. 2009-11-19 8:26 pm
    • 2009-11-19 8:53 pm
      • 2009-11-19 9:09 pm
        • 2009-11-20 2:32 pm
      • 2009-11-20 7:35 am
  7. 2009-11-19 8:32 pm
  8. 2009-11-19 8:35 pm
    • 2009-11-19 8:47 pm
      • 2009-11-20 1:04 am
        • 2009-11-20 2:38 am
          • 2009-11-20 12:10 pm
      • 2009-11-20 11:48 am
    • 2009-11-19 9:14 pm
      • 2009-11-19 10:11 pm
    • 2009-11-20 8:34 am
    • 2009-11-22 1:00 am
  9. 2009-11-19 8:53 pm
    • 2009-11-19 9:00 pm
      • 2009-11-19 9:06 pm
        • 2009-11-20 5:18 am
    • 2009-11-19 9:01 pm
  10. 2009-11-19 8:54 pm
    • 2009-11-19 9:48 pm
    • 2009-11-19 10:01 pm
  11. 2009-11-19 9:04 pm
    • 2009-11-19 9:25 pm
      • 2009-11-19 9:30 pm
      • 2009-11-19 9:32 pm
    • 2009-11-19 10:24 pm
      • 2009-11-19 10:29 pm
  12. 2009-11-19 9:14 pm
    • 2009-11-20 3:11 am
      • 2009-11-20 6:03 am
        • 2009-11-20 8:22 am
    • 2009-11-20 4:19 pm
  13. 2009-11-19 9:16 pm
    • 2009-11-19 9:40 pm
    • 2009-11-20 11:09 am
  14. 2009-11-19 9:18 pm
    • 2009-11-19 9:30 pm
      • 2009-11-19 9:43 pm
        • 2009-11-19 9:48 pm
      • 2009-11-19 10:06 pm
      • 2009-11-19 10:22 pm
        • 2009-11-19 10:28 pm
  15. 2009-11-19 9:27 pm
    • 2009-11-19 11:26 pm
  16. 2009-11-19 9:34 pm
  17. 2009-11-19 9:42 pm
    • 2009-11-19 9:57 pm
      • 2009-11-20 1:59 pm
  18. 2009-11-19 9:59 pm
    • 2009-11-19 10:09 pm
  19. 2009-11-19 10:29 pm
    • 2009-11-19 11:24 pm
      • 2009-11-20 12:25 am
    • 2009-11-20 12:16 am
    • 2009-11-20 1:57 am
    • 2009-11-20 7:29 am
    • 2009-11-20 8:30 pm
  20. 2009-11-19 10:34 pm
  21. 2009-11-19 10:37 pm
  22. 2009-11-19 10:38 pm
  23. 2009-11-19 10:39 pm
    • 2009-11-19 10:51 pm
      • 2009-11-21 1:42 pm
    • 2009-11-20 2:22 am
      • 2009-11-20 3:10 pm
        • 2009-11-20 8:45 pm
  24. 2009-11-19 10:44 pm
    • 2009-11-19 11:15 pm
  25. 2009-11-19 11:08 pm
  26. 2009-11-19 11:09 pm
    • 2009-11-20 2:27 am
      • 2009-11-21 1:51 pm
        • 2009-11-21 3:09 pm
        • 2009-11-22 1:04 am
        • 2009-11-22 1:09 am
  27. 2009-11-19 11:17 pm
  28. 2009-11-20 1:03 am
  29. 2009-11-20 1:22 am
  30. 2009-11-20 2:09 am
    • 2009-11-20 4:55 am
  31. 2009-11-20 2:30 am
    • 2009-11-20 2:58 am
      • 2009-11-20 5:08 am
        • 2009-11-20 8:49 am
          • 2009-11-20 8:55 am
          • 2009-11-20 9:22 am
          • 2009-11-20 4:34 pm
          • 2009-11-20 9:04 pm
          • 2009-11-21 4:40 am
          • 2009-11-21 6:37 pm
          • 2009-11-22 1:36 am
          • 2009-11-22 5:04 am
          • 2009-11-22 10:06 am
          • 2009-11-23 1:08 am
          • 2009-11-23 9:04 pm
    • 2009-11-20 4:32 am
      • 2009-11-20 7:39 am
        • 2009-11-20 12:38 pm
      • 2009-11-21 4:29 am
  32. 2009-11-20 11:34 am
    • 2009-11-21 2:06 pm
  33. 2009-11-20 4:07 pm
  34. 2009-11-20 4:29 pm
    • 2009-11-20 4:53 pm
      • 2009-11-21 6:07 am
        • 2009-11-21 8:22 am
          • 2009-11-21 7:23 pm
  35. 2009-11-20 5:13 pm
    • 2009-11-21 2:21 pm
      • 2009-11-23 9:52 pm
  36. 2009-11-20 5:21 pm
  37. 2009-11-20 5:58 pm
  38. 2009-11-20 7:18 pm
  39. 2009-11-20 8:15 pm
  40. 2009-11-23 8:34 am
  41. 2009-11-23 5:30 pm