Tuesday, February 22, 2011

Google's Native Client updates to Pepper API, looks set to fragment the Web

Native Client (NaCl), Google's attempt at bridging the gap between pure JavaScript Web apps and installed programs, creeps ever closer to a stable release, and ultimate inclusion in other browsers, including Firefox. The plug-in, which allows the browser to safely execute native compiled code, has retired its NPAPI interface in favor of Pepper (PPAPI), and now has a much-improved SDK.

NaCl, as a concept, is awesome. It allows for untrusted code to be executed natively, which is perfect for processor-intensive tasks like games and data analysis. The ultimate goal is to have NaCl modules that you can plug into a website, just like JavaScript is used at the moment -- a physics module, a maths module, a graphics module. JavaScript would still manage the easier bits, while NaCl would be leveraged for meatier tasks.

Ultimately, however, NaCl could cause immeasurable damage to the Open Web paradigm. NaCl is an open source project, but it still brings the same risks of fragmentation as Flash, Silverlight and Java applets. As it stands, only Chrome supports the Pepper interface that NaCl requires -- and with IE9 and Firefox 4 only weeks away from release, it would be a long time until support for the plug-in could improve.

If NaCl gains enough traction, Chrome could become the next IE6...

Finally, there's the question of whether Native Client is really necessary. JavaScript is already very, very fast -- and it's open! All two billion Internet users can use it! We've always thought of NaCl as a bit of a gimmick -- mostly to bring more content to Chrome OS -- but now it looks like Google really intends to push it as a bona fide Web plug-in. If you have faith in Google as a power for openness, then perhaps there's nothing to worry about -- but if history has taught us anything (Flash!), plug-ins are rarely open and shut cases.

If you want to try out some Native Client examples you'll need to install Chrome 10 or later, which currently includes the Beta, Dev and Canary channels. Enable Native Client in about:flags, then head over to the examples.

Tags: browsers, chrome, chromium, google, nacl, native client, NativeClient, NPAPI, pepper, plug-in, plug-ins, PPAPI, sandbox, web, web apps, WebApps

apple fruit facts apple fruit history apple fruit nutrition apple fruit picture

No comments:

Post a Comment