Continuing my recap of noteworthy stuff from late last year. In December it was revealed that Google is working on a project dubbed Native Client, which aims to bring native x86 execution speed to web apps in a secure way. It is an exciting project, "so crazy that it just might work", wrote Neil McAllister.
How is this different from Microsoft's ActiveX technology? Security wise, ActiveX relies on trust, i.e. it's up to the user to give the ActiveX control permission to run. Native Client on the other hand relies on automated sandboxing and code analysis to make sure that the application is safe to run. Native Client also takes a more open approach, by open sourcing the technology. Native Client is portable across the x86 architecture, which includes Windows, Linux and Mac machines, but it potentially leaves important mobile platforms in the cold.
Initially, the main target for the project is resource intensive applications, like physical simulations and visualizations. The image above depicts the Mandelbrot set, as generated by a port of the fractal viewer application XaoS to Native Client. The 3D game Quake has also been successfully ported to Native Client. Generally it has proven easy to port existing C/C++ applications to run in the trusted environment, which is really promising.
If the launch of the Chrome browser was Google's first step towards making the OS desktop obsolete, Native client is yet another step in that direction. Soon we might be able to do all computer tasks, even resource intensive ones, inside the browser window.