Thursday, December 11, 2008

Google Native Client

OR Changing the web one press release at a time

Google have released a new experimental browser plugin called Native Client that allows embedded application to interact with the operating system. Traditionally browser to OS interaction has been severely constrained for security reasons. Plugins that have attempting to provide more options for interaction have proven to be highly insecure. ActiveX attempted to do this by allowing the user to decide what plugins it trusted but users are generally poorly positioned to make these sorts of decisions. Google's Native Client plugin aims to provide secure interaction by identifying trusted modules for interfacing with the OS. I'm guessing that Google will be making the decisions about what modules can and can't be trusted. The up side is that you can develop an application and know that it will be as secure as the trusted module that is doing the work for you.

A nice feature of this system is that existing applications can apparently be quickly compiled to work with a minimal number of changes:

"As a test, Google ported an H.264 encoder that is about 11,000 lines of conventional C code. To get the encoder to compile and run in Native Client, they only had to add approximately 20 lines of code and modify the Makefile. The resulting binaries are completely portable and can run without requiring recompilation on any operating system supported by the Native Client. "
Safer than ActiveX: a look at Google's Native Client plugin

It's not hard to see that this has the potential to transform the internet (not that old chestnut again). Especially when it's combined with Google's Chrome browser and the growing popularity of Google apps.