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.












Comments
13
Subscribe to commentsOmar M.Feb 21st 2011 7:35AM
Chrome will never be anything like IE6.. it is compliant with the common web standards, which is not the case with IE6.. hell, even IE 7 and 8 are not fully compliant with these standards.
adding new things isn't the problem, the problem is refusing to support the old things that everyone else agreed upon, coz you're too stubborn to move on.
kurtextremFeb 21st 2011 10:29AM
Never ever compare chrome (wayne which version) with IE6!!
NaCl is Open-Source, IE6 not. Thats one reason, why Chrome's NaCl is better.
MyriaFeb 21st 2011 1:17PM
I'm continuously stunned by the slack the geek set constantly cuts Google, I see nothing whatsoever to justify it and every reason to be as suspicious -- nay. more so -- as I would be of MS. But, hell, it doesn't really matter how many dick moves Google makes or how often one of their execs flat out tells you that as far as they're concerned you have no privacy, all they need to do is hand out some half-arsed "free" service that exists for no other purpose than to collect more information on you and all is forgotten.
And frankly Chrome became a hell of a lot worse in my book than IE ever was when I discovered that it, without warning, installed updaters for itself every bloody where I looked in my system. Including in Firefox. Seriously, wtf? Why would I ever, ever, ever want a memory wasting plug-in in Firefox just to update Chrome?
I suppose they know most people wouldn't, which is why they don't ask.
At least with MS or even Apple I know they're trying to sell me a product. Google feels I, and everything I might ever do, say, or think, is theirs, I am a product for them to sell.
That's a pretty good definition of evil, if you ask me.
Hugh Isaacs IIFeb 21st 2011 1:20PM
I don't see how you could compare Chrome with IE6 because of Native Client as.
1) Chrome supports web standards very well.
2) Native Client unlike Active X is also available as an NPAPI plugin for other browsers and OSes (this is something you missed in your article).
Also, Javascript will never be as fast as native code.
SilverWaveFeb 21st 2011 6:17PM
@Hugh Isaacs II
Of course if it works... then this would be MS's worst nightmare.
The web actually running at desktop speed...
Sebastian AnthonyFeb 21st 2011 6:46PM
@Hugh Isaacs II Unfortunately, NPAPI support was removed -- it's now Pepper (PPAPI) only.
RoyalKnightFeb 21st 2011 4:45PM
Ahh yes, fragmentation.
Just like how more standards-compliant browsers like Opera and the then-new Firefox fragmented the web from the de facto standard of IE6.
Just like how IE fragmented itself from IE6 with IE7 and 8 to play catchup with the rest.
Just like how Chrome fragmented the web renderer market when it was first released, where suddenly we had to target for Trident, Gecko, and Webkit (and Presto, if you still remember Opera being there) who all had different levels of standards compliance.
Just like how the rise of smartphones and mobile browsing fragmented web design itself in sizes that can be summed up as "big wide screen" and "small long screen" (and anything else your demographics works with).
Just like how we're currently being fragmented with HTML5 capability ("Sorry, your browser doesn't support HTML5, upgrade to a bunch of browsers most of you have only heard of, no worries!"), H.264 vs WebM, Apple vs. both Adobe and proper standards.
...Really, "fragmentation" happens so much that NaCl doesn't really hold a candle to, say, Silverlight, which I'm barely bothered about. With how current trends are going and NaCl actually takes off, then everyone but Apple will go "Hey, nice idea, Google!" and develop their own compatible implementation. But we'll just have to see if this even becomes anything first.
Sebastian AnthonyFeb 21st 2011 6:47PM
@RoyalKnight Thanks for the input -- you make some good points :)
Indeed, we'll have to wait and see!
SilverWaveFeb 21st 2011 6:08PM
heh nice troll Sebastian :-)
SilverWaveFeb 21st 2011 6:13PM
Native Client, I think, is mainly about the Chrome OS... at least for now...
We will see but its has some *Huge* trust issues to overcome.
I'm not saying Google isn't smart enough to figure this out but they will have to prove it, in detail.
I know Native Client isn't ActiveX but still even for Google its a big ask.
Sebastian AnthonyFeb 21st 2011 6:48PM
@SilverWave We were pretty sure it was all about bringing a bigger selection of programs/libraries to Chrome OS. But who knows if CrOS is still a serious venture. Maybe they will start with CrOS, and then slowly push it out to other Web services.
You can't imagine Google requiring people to use Chrome, though. So we're still looking at a year or two for Pepper to appear in other browsers.
Hugh Isaacs IIFeb 22nd 2011 1:20PM
@Sebastian Anthony
No, Native Client now only supports Pepper API modules. The plugin itself will be provided as an NPAPI plugin.
Hugh Isaacs IIFeb 22nd 2011 1:26PM
You've got it all wrong.
Native Client will still be provided as an NPAPI plugin, it's just now Native Client modules won't support the NPAPI and is switching to the Pepper API.
http://code.google.com/chrome/nativeclient/docs/releasenotes.html