NaCl is Google's experimental 'Native Client' technology. It's similar to Microsoft's ActiveX, designed to run native code on the operating environment via the browser.
It's currently at it's experimental stage, but I reckon Google is serious about this. Ever since the Chrome OS announcements I've wondered "But why would anyone want to use a computer which has less features than a comparable computer?" .. perhaps because Google has a way to add features to the computer, but in a secure fashion. If Google controls the base libraries on your Chrome system, and there's a safe and secure way for application developers to integrate with these base libraries via the browser, then a whole lot of new facilities can be exposed to the browser and Chrome OS.
So it's starting to smell like the Chrome browser will be an OS and the Chrome OS is just a browser with a bunch of additional supporting libraries.
A good idea? Perhaps. Perhaps it's a very good idea .. if it's secure (which is a big 'if'). But if you're going to be running native applications (via the browser, a desktop shortcut ... whatever), won't there by necessity need to be things like disk access? Network access? Device access? The sort of things which expose security holes? Hmmm, let's not look too hard at that for the moment.
What problem is Google attempting to address here? The post says that for certain operations, native code will be faster than Javascript. But isn't that also a misnomer? I wouldn't mind waiting for a file upload if the server is going to encode my video at much higher speeds than my pathetic little netbook could ever encode at. Faster connectivity is an ever growing trend and Javascript performance is coming on in leaps and bounds. Spending time building something to workaround problems which will soon be gone seems (to be quite frank) stupid.
Finally there's no defined standard for implementation. There's been no industry discussion. Google has decided to unilaterally make something which it's apparently expecting others just to pick-up and use without any good reason. It's the chicken and the egg. Nobody is going to bother to build the plugins and applications for a plugin architecture that isn't universally available or going to be universally available. And let's be honest, even if Chrome OS is an unprecedented success.. there's still going to *have to* be a massive amount of people using Linux. After all, who's compiling these plugins with the modified gcc? Unless the modified gcc is a browser plugin itself and distributed with a Chrome IDE?
There are some extremely fine things which Google has accomplished in the past and I continue to be impressed with the Google approach to giving it a try. But this NaCl is dead in the water without universal browser support. There will be niche uses for this technology where other technologies just don't meet the requirements, but niche is the key word here. Even if this makes it to release stage and finds incredible cross browser support from Google's competitors, it's still a niche market platform. This is the kind of bad API idea that's given Microsoft reams of security problems because whilst it has little value, it just can't be blown dead because a niche group of people will come to rely upon it.
Google, you should concentrate on writing applications and not platforms. Do what you do well, don't try to redo what others have done badly.
Wednesday, December 8, 2010
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment