Original URL: http://www.theregister.co.uk/2008/12/09/google_native_desktop/

Google Native Client challenges Microsoft and Adobe RIAs

If only they can get the security to work

By Gavin Clarke

Posted in Software, 9th December 2008 20:33 GMT

Google is entering the rich-client game with a project allowing online applications to tap your desktop through the browser.

The search giant has revealed its Native Client project, intended to run native code from web-based applications on x86 Windows, Mac, and Linux. Native Client will use JavaScript in the browser.

Google has so far devised a version of Native Client for Ubuntu - the flavor of Linux that Google runs. Versions of Native Client for Windows XP and Mac OS X have been developed and tested. Native Client works with Firefox, Safari, Opera, and Google Chrome, with plans to support ARM and PowerPC.

Google has released the open-source Native Client code to take feedback from the security community, in addition to those in the broader open-source community.

The company has proposed a system of two sandboxes - called the inner and outer sandboxes - to prevent untrusted modules from the web running amok on your machine. Google has proposed a model where application calls are made using ptrace in Linux and Mac OS X. Access control lists have been proposed for Native Client on Windows.

You can read more about the proposed Native Client architecture here (warning: PDF).

Why all the security? Native Client wants code from web-based applications such as photo sharing and editing to run natively on your x86 machine. Currently, you use a combination of JavaScript in the browser with the resources of the service-providers' servers.

However, Google wants consumers do be able to do things such as modify photos hosted on photo-sharing websites using their machine's processor and memory, rather than flogging the service provider's servers and or going out over the network - both of which produce delays.

Brad Chen, with Google's Native Client Team, blogged: "With the ability to seamlessly run native code on the user's machine, you could instead perform the actual image processing on the desktop CPU, resulting in a much more responsive application by minimizing data transfer and latency."

Also, Google wants such applications to be "browser neutral". In other words, to allow application and content creators to build their applications without needing to tweak for different browsers' idiosyncrasies or different levels of support for web standards.

Many will see Google's Native Client in terms of a head-to-head with Microsoft and a challenge to the Windows desktop - and there's certainly an element of truth to that view. Native Client could potentially provide more options for Windows-application developers interested in putting their software online and freeing themselves of dependency on the desktop or being tied into Microsoft's Silverlight browser-based plug-in for video and audio.

The challenge will be in how far Microsoft is willing to work with Google on making its Windows APIs open and available to talk to the sandbox architecture. That'll be one reason why Google is reaching out to the security community: to garner feedback and assistance.

Adobe Systems' Flash and AIR, though, are the real competitors here. Adobe is working on the same goals with AIR: to let applications on the internet or intranets access the data and processing resources on your PC and present server-side information in visually slick and pleasing ways.

Also, Flash and AIR are used to present online video and photo content, while there's a potential rivalry between' Adobe's presentation technology and JavaScript. And, finally, Google doesn't like the fact that Adobe's Flash Player remains a closed-source product.®