The Null Device
Posts matching tags 'native client'
The latest experimental technology to emerge from Google's labs is something called Native Client. This is an experimental means of running web content in native machine code in a web browser. It's X86-specific (so users of PowerPC Macs and the numerous ARM-based portable devices are out of luck here), though other than that, completely portable; the binaries are in a special format, and get a limited number of system calls standardised across Linux, OSX and Windows. There is even a version of Quake which will run in a browser, in any of these systems, should you have the plugin enabled.
Of course, by now, you're probably thinking "Are they crazy? That's the worst idea since nuclear-powered airliners". Google, though, claim that they have a robust security model. The instruction set available is restricted, with constraints placed on the format of the code, allowing a code inspection process to detect any dangerous instructions. Google argue their case in a research paper; I'm not sufficiently familiar with recent x86 assembly language to verify their claims, but it looks like they certainly put some thought into it. Of course, there are a lot of very bright people in places like Russia, Romania and China who would also put a lot of thought into it, to entirely different ends, so there are reasons to be concerned.
Of course, such an idea opens all sorts of strategic possibilities for Google; if it works, it would reduce the desktop operating system to a commodity. If any kind of application can be used as a web service, why buy a copy of Windows (or a PC with the Microsoft Tax in the price)? In fact, why bother installing a full-scale Linux? They're already starting to make PCs with cut-down instant-on operating systems (typically Linux-based) in the ROM, so that if you can't wait for your Vista box to finish booting, you can boot into the instant OS and get a web browser. Now, imagine a box like this, only with the OS being able to run web apps at native speed, perhaps in an application-oriented browser like Chrome. Could this be the much talked about "Google OS"?