Soon after Google announced plans for its own operating system (OS), called Google Chrome OS, on Tuesday night, the Web giant clammed up about technical details, saying that the project is still at too early a stage. The first netbook devices running Chrome OS won’t be released until the second half of 2010, so most users will have to wait until then to find out precisely how the software will work. But that doesn’t mean there aren’t hints out there already, and the biggest clues can be found in Google’s Chrome browser, which the company says will be a key part of the new OS.
According to a post written by Sundar Pichai, a vice president of product management at Google, and Linus Upson, the company’s engineering director, the open-source Chrome OS will consist of a Linux kernel with the Google Chrome browser running on top inside an entirely new desktop environment.
The Chrome browser was released nine months ago and is Google’s effort to reinvent the browser completely: it’s designed from scratch with Web applications in mind and is meant to be the only application that a Web-savvy user needs on her computer.
In an interview in March, Darin Fisher, an engineer on the Google Chrome team, said that in early sessions, the engineers decided to “take a page out of the operating system book” when they built the browser. Notably, the Chrome team decided to treat the browser as a launchpad from which the user can start different Web applications. Each application operates independently so that if one crashes, it doesn’t affect the others. OSes, Fisher said, had to take the same approach to allow a single application to crash without requiring a user to reboot the whole system. This change in browser design helps give Web applications the stability that desktop applications enjoy.
The concept is easily extended back to the OS. Provided that the user relies on Web applications, such as Gmail, Google Docs, and the like, this simplifies the OS a great deal. It vastly reduces the number of applications that need to be installed and the amount of data that must be stored and processed on the computer itself.
With Chrome OS, Google will blur the line between the browser and the OS completely, says Ramesh Iyer, head of worldwide business development for mobile computing at Texas Instruments, which is one of Google’s partners on the project. “The browser is your operating system,” Iyer says. “The browser is your user interface. The browser is the mechanism from which you launch applications.”
Streamlining the OS to focus on the Web, Iyer says, will allow devices to run more powerful programs with less powerful processors. By keeping processor requirements low, new devices could use less battery power and stay lighter. Texas Instruments, for example, is working with Google to integrate the Chrome OS software with its OMAP 3 multimedia applications processors, creating a system that could be easily installed in netbooks and other devices.
Giving Web applications deeper access to the underlying kernel could make it easier for Web developers to provide better functionality and a better user experience, says Jared Spool, founding principal of User Interface Engineering, a consulting firm based in North Andover, MA. When Web applications such as Gmail and Google Maps first appeared, Spool says, the software engineers who built them had to do a lot of hacking to create the appropriate levels of interaction. “When we went from the desktop to the browser, we took a huge step backward,” Spool says.
With an OS tied closely to the Web, Google can introduce sophisticated resource management tools that will allow Web applications to run much more smoothly. A major role for the OS is allocating memory to applications and adjusting it as their needs change. A big problem with interactive Web applications to date has been that browsers didn’t have efficient ways to adjust the memory assigned to different Web pages. The Chrome browser has already improved the situation, Spool says, and he expects the OS to go even farther. He says that this will allow more powerful Web applications that run more smoothly on the new OS.
But building the Chrome OS won’t be as simple as sticking a browser on top of the Linux kernel, Spool says. The browser version of Chrome relies on the underlying OS’s user interface, for example. Features such as scrollbars come from the OS, not the browser, so Google will need to build all of this from scratch, and even simple things will require significant time and effort.
The Chrome browser also lacks the drivers needed to power any external devices, such as printers or iPods. Texas Instruments’ Iyer envisions a new way that Chrome OS could address this problem. “Wouldn’t you rather have a printer connected in the cloud?” he says. As more devices, including cameras, printers, GPSes, and so on, become able to connect to the Internet in their own right, the concept of a Web interface between a user’s computer and the device comes closer to reality. “This is the holy grail of the Internet,” Iyer says.
Pichai and Upson have also said that Chrome OS will support all Web-based applications automatically, and that new applications written for Chrome OS will run “on any standards-based browser on Windows, Mac, and Linux.” While Web application development has exploded in recent years, this might also introduce limitations, preventing the user from accessing interesting applications developed in programming languages not intended for the Web.
However, Google may have a solution for that too. The company is working on an experimental project called Google Native Client that would allow code written in non-Web languages such as C and C++ to run securely in the browser.
Chris Rohlf, a senior security consultant for Matasano Security, which has been involved in testing the implementation of Native Client, says, “It could be Google’s secret weapon when it comes to Chrome OS, because it would allow developers to extend that platform with things like video and graphics without having to wait for Google to implement any of that.”