Google Goes Native: Offers Sneak Peak at C++ Support in Chromium
readwriteweb.com
readwriteweb.com
A colleague was playing around with the NaCl SDK and he said the example app is Quake. Within a day or so, he had an in-browser demo running 9 instances of Quake, with sound, all at the same time.
All this noise about HTML 5 and video codecs? With Native Client, the web app could include whatever codec it wanted.
Ever notice that a simple 2D game such as Farmville runs at 15 frames per second, even on a machine that can play Crysis or Supreme Commander? With Native Client, we'll start to see these types of truly rich experiences on the web.
I'm sorry, Flash, but the web is changing without you...
Edit: I see there is a lot of concern about security. NaCl uses x86 segment restrictions to build a sandbox for untrusted x86 code. Google ran a contest to try to poke holes in it: http://code.google.com/contests/nativeclient-security/
Long ago some crazy folks managed to cram most of the guts of a processor onto a single integrated circuit, allowing the creation of a crude yet functional general purpose computer with a single printed circuit board and a few commodity support components. This enabled the creation of "personal" computers that were cheap enough and small enough for nearly anyone to own. At first they were far, far less capable than the mainframes and mini-computers of the day, and written off by many professionals as merely toys. But the nature and simplicity of their construction as well as the expanded potential user and developer base enabled for a faster rate of evolution than old style computer systems. At first micro-computers could only run native code, then people started writing simple interpreters and compilers, then developers created command line operating systems, just as had happened for mainframe computers decades ago, the micro-computer was simply playing catch up. But micro-computer development caught up extraordinarily quickly, and then began to surpass mini-computers and mainframes (as the rate of evolution didn't change after having caught up). Mini-computers quickly died out as specialized micro-computers began to take over their old roles.
Will things be the same for the web? In 5 or 10 years will we see web based applications and games more advanced than photoshop, visual studio, and Halo today?
Err....
When he got an email from Mountain View which offered him a Job and working on a similar project it was clear Google is pushing hard into this direction.
At first, Google's offerings look, as another poster said, like spaghetti flung at a wall in hope that some will stick. I think there's a more cohesive strategy behind it, and it's all about building a platform on top of Windows (and other operating systems) to cut off Microsoft's air supply. Google's cloud printing initiative is a perfect example of this -- if a site's back-end can generate printer-ready content and allow a user to print it locally from a netbook/tablet/phone/whatever, that takes away a major reason to keep a Windows desktop sitting around at home connected to a printer. A user can just buy a Wifi-enabled printer if he cares about dead-tree artifacts.
I'm working now on a GWT application. Why, other than for its own internal purposes, would Google invest so much in this tool? It allows a new generation of in-house corporate apps requiring fast user interaction (think call center) to be built for the browser instead of the obvious Windows-centric alternatives like Visual Basic. One less reason for a Fortune 500 company to deploy 10K Windows desktops. Perhaps a call center could be run on a bunch of ChromeOS appliances?
Look at the initiative to introduce Gb-to-the-home. Google certainly wins if Youtube becomes like a TV network, but the lack of bandwidth also requires users to use home servers to house their content locally. Although appliances for this are certainly becoming more common, many consumers likely use a Windows machine to serve up their content to their TVs.
If I had more time, I'd write about other stuff Google's doing and how I think it ties in to the "layer on top of the desktop" strategy. While a rising cloud/network tide will float all non-Microsoft boats, how does Google justify paying for all the water required? Is the ROI there to support such a subsidy?
It's beginning to look more and more like a Jackson Pollock painting... or maybe a Jackson Pollock exhibition.
SaaS is the biggest lock-in, but no one seems to be complaining.
In either cases, the issue comes down to data portability. If you can get at your data, in a reasonably convenient format, you're not locked in. This can and should be provided in any application model and I am relieved, as of late, to see awareness of this spreading fast.
I don't see the benefit; all I see is another Flash/Silverlight wannabe that puts more reliance on the user understanding their system/installed programs. This is not the future.
Secondly, isn't the point of this that it sandboxes native code? That means you can, potentially, have code running much much faster than Flash can.
More choice and better performance = win IMHO.
Google can't let Palm get the upper hand, can they? ;)
You can code in C and C++ but not with nice javascript bindings like native client has.
http://blog.chromium.org/2010/03/native-client-and-web-porta...
They're also working on what they consider the Right Thing: instead of sending instructions for a particular processor, send LLVM bytecode and have the client finish the compilation.
They haven't done it yet.
As for LLVM: I believe the main challenge here is modifying the LLVM JIT compiler to produce Native Client-friendly machine code.
My guess is this won't see mainstream distribution until they've removed the x86 instruction dependency. I think the shipping version will use LLVM bytecode rather than x86 machine code. (this has been hinted at, too.)
https://groups.google.com/group/native-client-discuss/browse...
"A subset of our current functionality works in Firefox, for example (though it's currently missing some important parts, like 3D)"
Also, Google sure throws a lot of spaghetti on the wall to see if something will stick, don't they? From this to Chrome OS to their JavaScript stuff to Android to Go and on and on.
You make it sound like they aren't related :)
How does Google plan to spread adoption of this technology?
http://www.apple.com/hotnews/thoughts-on-flash/
..HTML5, the new web standard that has been adopted by Apple, Google and many others, lets web developers create advanced graphics, typography, animations and transitions without relying on third party browser plug-ins (like Flash). HTML5 is completely open and controlled by a standards committee, of which Apple is a member....