Google Chrome OS

Wednesday, July 22, 2009

A while ago Google announced that they work on an OS called "Chrome OS". The basic idea of this new OS is to finally get rid of desktop applications and improve the capability of browser based applications to let them replace their desktop counterparts.
The hardest part when introducing a new OS is to convince users to try it even though there is almost no software available. On the other hand developers may not want to write software for an OS with few users.
To solve this "the chicken or the egg dilemma" Google chose a very clever approach with Chrome OS as you'll get tons of software right away when the OS is launching: All the software available on the web will be there when the OS is launching.

But what about all the limitations that you'll notice today in web based software?
Google is working hard on several projects to extend the boundaries of browser based software:

  • Performance
    Right now browser based software is a mixture of relatively slow JavaScript code and HTML/CSS based layout. Even though the JavaScript engines drastically improved especially in the last two years, native applications are many times faster still. Have a look at the Native Client project to see how Google enables web browsers to run assembler code on the client.
  • Improved user interface
    The WebKit team recently introduced CSS based animations and transformations, both in 2D and 3D (available on Mac only right now).
    Once this feature will be adopted by other browser vendors, this will not only blow away the flash based content. It will also simplify the development of rich user interfaces for browser based apps.
  • Access to local resources
    To make the applications available even when the computer is not online, there is another project that enables developers to access the local hardware in different ways: Google Gears. Gears is a browser plugin that is available not only for different browsers, but also for a number of different platforms including mobile OS.
    Gears lets you not only to store data locally, but also to create desktop shortcuts for browser based applications so that they become desktop applications.
  • 3D capabilities
    To enable game developers to build modern games for Chrome OS, Google recently also demoed the new O3D project. This project is a browser plugin that will provide hardware accelerated 3D graphics.
If you assemble these techniques you'll easily get the picture how Chrome OS will work and look like. It will be the first OS to run only web centric applications, but it will come with the projects above to enable developers to convert almost every application that is available as a desktop app right now into a web application. Of course some specialized applications like sequencers, DAW's etc. will remain, but it is my guess that it is just a matter of time until Google will offer interfaces for improved audio as well.
The big advantage that you'll get when developing software for Chrome OS is that this software will run not only on Chrome OS, but also on all other relevant platforms available today as the projects above are all multi-platform.