Google Chrome OS goes native (code)
We hate plug-ins. Except our own
Google's Chrome OS does not run local applications or store local data. Everything is handled inside the browser. But when the much-hyped operating system debuts on netbooks at the end of next year, you can bet it will execute native code on behalf of online Google applications such as Gmail or Docs and Spreadsheets.
In other words, Google apps will tap directly into the netbook's processor in an effort to close the performance gap that separates them from the local software offered by its bête noire, Steve Ballmer's Microsoft.
In typical fashion, Google is playing coy over the role of native code in its fledgling OS. But the company says its Native Client project - which executes native code inside today's Google Chrome web browser - is an "important part" of an effort to boost the performance of web-based applications running on its netbook operating system, set to appear on x86 and ARM netbooks around November 2010.
Currently, Native Client (NaCl) runs only on x86 machines - via Windows, Mac, and Linux. But Google has confirmed it's building a version for ARM.
Google unveiled its Native Client plug-in a year ago, calling it "a technology that aims to give web developers access to the full power of the client's CPU while maintaining the browser neutrality, OS portability, and safety that people expect from web applications." Then, in October, it rolled the plug-in into the latest version of its Chrome browser, which serves as the basis for Chrome OS.
Chrome OS is essentially the browser running atop a Goobuntu flavor of Linux.
At the moment, Native Client is turned off by default in Google's browser. But clearly, bigger things are ahead. During Google's November press conference unveiling an early version of Chrome OS, vp of product management Sundar Pichai and engineering director Matthew Papakipos were hit with not one but two questions about the role of Native Client in their fledgling operating system. And twice they answered only in part.
"We are investing a lot in additional technologies like Native Client, which will make it really possible for some of the most performance-intensive desktop applications to become web applications," Pichai said in response to question number one.
Then, when a second questioner asked if Native Client would be "an important part" of Chrome OS, Pichai said "work is underway to make [Native Client] work on ARM." And though he declined to "go into all the technical details," Papakipos explained that Native Client applications would run on ARM just as they run on x86 chips.
"We'll make sure there is a way for you to have Native Client–based applications that will run equivalently on x86 and ARM," Papakipos said. "There's a lot of work going on with that today. You'll see more of that."
You can bet, however, that Google will offer native code versions of its online apps when the OS debuts at the end of next year. Last month, Dave Girouard - president of Google's enterprise division - said that in a year, Google Docs will be so effective that users will be able to "get rid of [Microsoft] Office."
This fall, Google also unveiled a new programming language it calls Go, an effort to crossbreed a dynamic web-happy language like Python with a compiled language like C++. The company has since said it plans to integrate the language with Native Client. It would appear this effort has barely gotten off the ground, but that's certainly the aim.
"We have an embryonic implementation of the NaCl support for Go," a Go developer told Cnet. "It's restricted by a couple of details of NaCl's implementation, but we hope to see changes to NaCl one day that will make Go a full-fledged language in that environment."
We also asked Google to discuss the future of Go. But it has yet to respond.
It's no surprise that Google is working to boost the performance of webware. By design, Chrome OS is an effort to usurp the Microsoft model with 100 per cent "cloud-based" applications. But some have questioned whether Native Client undermines the "open" browser ethos Google has so vehemently pushed for in recent months.
Next page: A plug-in is a plug-in