Google's Native Client SDK developer preview provides helpful reminder of plans for world domination
It's easy to forget some of Google's "we will own you and your children" initiatives: there are simply so many of them. One particular gambit that has been flying under the radar is Google's Native Client, which allows the Chrome browser to execute x86 code natively. This has big implications for moving those beefy, number crunching desktop app holdouts to the browser, which would not only be a boon for Google's ability to make Microsoft and Apple-beating web apps, but a big win for Chrome OS as well. Right now the Native Client is only working with the developer-oriented Chromium browser, with ubiquitous support a distant dream, but Google has already worked out ARM processor code portability, has plans to be completely processor agnostic in the future, and will be updating the SDK "rapidly" in the coming months. Basically, it's on. Check out a video demonstration of some "hello world" code after the break, along with a brief demo of a 3D shooter.
























Dont be evil...google
@erwin
Google isn't evil the governments make it do evil stuff like submitting our search history etc etc..I think Google should buy a large island and become a nation of its own (for tech purposes only allied to the US, UK and Russia just to fend off any attacks lo)
@Engadget
Your via link is pointing to the wrong place
@sshating atleast he has an ugly wife.....
@sshating
You can always delete your cookies and you can always control your own privacy. But the government has been pushing for submission of all searches performed on google (not sure about other search engines). And it's your choice to use google if you are concerned about privacy (due to cookies). I'd be more afraid using facebook(which I don't have) than use google (for mere cookie expiry date)
hilarious the most important news in months gets a mere 29 comments.
engadget, you get the crowd you sow...
@erwin
Haha, seems like the author of the post is afraid of google taking the market of the old Big boys.
@doutorpiranha
Exactly, this is GREAT news, and no "breaking" for them. But I am going to tell you I tried the Hexxeh version of Chrome OS, 2 months ago (virtualized) , and there wasnt many things you could do except for browsing the web, this advance is a BIG STEP to a new web based OS .
@JXCGunrunna lol
But can it run Crysis?
@Gamecheater
No.
@Gamecheater No it can't run Crysis but once they add filesystem access, it will be able to delete your copy of it without your permission.
How is this going to be any different to the much reviled ActiveX?
Or is it OK because it's Google rather than MS?
@sshating
Not true, NativeClientSDK can't realistically be sandboxed, at least not without virtualising it, and doing so will only slow it down and you'll lose access to hardware acceleration (3D and audio) and advanced USB device support.
@sshating
I don't feel that the comparison is totally valid. When ActiveX was created, security was not nearly as much of an item to consider as it is today. Given that, Google has already been successful in creating a very secure browser and I doubt they'd just fudge that up with this.
Surely, they have security in mind. While I have no idea what they plan to do to prevent the next generation of potential malware/viruses that could be made with this, I can think of some ideas. First off, it would not run by default and every domain would ask for your permission to run native code. Probably something similar to "Always allow this site" , "Allow this site for this session only",and "Never allow this site."
Unfortunately, many users are the click-through-whatever "I just want to see what I came here for" type and will inadvertently run something they shouldn't. There's no way to prevent this even in the best of cases. People will always do things they shouldn't because they don't know any better. PEBKAC will never go away. :(
@Malcolm
"How is this going to be any different to the much reviled ActiveX?
Or is it OK because it's Google rather than MS?"
I didn't know people held the makers of IE6 to such high esteem when it comes to Internet security. If the makers of IE6 can't figure it out, nobody can.
Oh congratulations Google, you've just reinvented ActiveX!
And oh how so successful and not at all security nightmarish they were/are!
Anyone for NativeClientSDK trojan kit?
I would be far more inclined to want chrome OS on my computer if google wasn't planning on making it such a "Cloud Computing" centric operating system.
Nexuiz FTW!!11!1!
Hell yeah, Nexuiz!!!
how 'native' is this as it only runs on a browser?
@htd
While I understand what you're getting at, that's not what they are claiming. They are saying that even though it's a browser, it doesn't just send data to be rendered like a web page or video. It can send an instruction set to be executed on the processor.
This is particularly interesting because you could easily make an "online" emulator of your favorite retro consoles. Being processor agnostic would be a huge boon in not having to port said emulator to every platform imaginable. You'd just have to port Chromium to every platform, which is much easier to leave that to Google. :)
@Master of the Intangible
MAME in the browser! Host the site and ROMs wherever in the world it's legal to so do, et voila! PROFIT!
@Master of the Intangible That already exists, at least for NES. There are a handful of Java-based online emulators that get ROMs off some remote server, and like any other Java applet they run on any browser, any OS.
@Master of the Intangible That already exists, at least for NES. There are a handful of Java-based online emulators that get ROMs off some remote server, and like any other Java applet they run on any browser, any OS.
So they want to run native code via a web browser? What could possibly go wrong?
@HotBBQ Yeah! Last time someone did this, it went perfectly fine!
At first this particular screenshot reminded me a lot of the original UT 'Turbine' map. Ahhh, I need to play that again this weekend.
I think this is comparable to what Java and Silverlight does. You have source code converted to intermediate code before deployment and before it's executed remotely it's turned into native code via the JIT compiler.
There is enough performance in Silverlight
@bmouton It really isn't - it actually delivers a native x86 executable. There was a comment on the blog post indicating that converting to use some form of intermediate code was somewhere in the roadmap, but at the moment you have to compile to your target processor architecture so presumably you have to cross-compile your executable to all supported processors - which isn't too bad for PC/Mac/Most Linuxes because they all use x86 or x64 but if you wanted to support ARM/PowerPC for example the architectures start to diverge dramatically and you have to start worrying about endianness and things.
Right, we already have a cross-platform way of delivering code to browsers; it's called Java and on various benchmarks, on the latest x86 optimised versions, low-level performance is roughly similar to native code - not surprising, since 'just-in-time compilers' do in fact compile the code into native code while it runs, and Intel lent a hand in tuning the more recent versions of said compilers. And whereas previously there were sometimes reliability issues, Java applets run in separate processes on all browsers nowadays (on Windows for ages, Mac not quite yet) so they can't kill the browser any more.
What's more, if you really really want to ship actually native code in a browser for some reason (and you love compiling 17 different versions of it) you can do this, inside a java applet, right now. Because Java is by default sandboxed, that applet will have to ask the user for security privileges before it installs malware all over their computer... I presume there will be a similar prompt for this Google effort.
I'm sure this makes it a bit easier to write native code, they presumably have a common cross-platform API or something instead of you having to code to the Windows API on Windows and the Mac API on Mac etc... but honestly, there's no point in native code.
Unless anyone has legacy C++ applications they'd like to port to the Web? Oh. Joy.
@bmouton Sorry I submitted before finishing. There is enough performance in Silverlight to build things like custom video codecs.
Yay, now people who write bad JavaScript can write bad C/C++!
Joking aside, people are saying, "this is just like ActiveX". That's probably true, but why do we hate ActiveX? Beyond the philosophical/religious questions of using plugins vs plain ol' HTML, JS, and CSS, it comes down to security and portability (in terms of platforms). It seems like they've solved the latter problem, and hopefully the former is helped out by virtue of it being open-source.
Again, I don't think most web applications could/should use this, but I'm excited to see what people do with it.
@agahnim
asm
{
lock cmpxchg8b eax
}
@Master of the Intangible
Anyone running a processor that old deserves it.
Google's got this ish in the bag, as long as they stick to phones they'll eventually take the market. They need to avoid fragmenting to the maxipad space and leave that to Apple.
I gotta say, Google is so far ahead of everyone for the next wave of computing it's almost scary. MS better step it up fast.
can't wait to say goodbye to microsoft for good...
@obobo
just do it now. I hear iPads are really affordable... and magical.
If the native client is not code named "salt" then this world is not optimal.
@obobo
I think MS has its place in the Corporate world, but for home use I would much rather stick with something free/open source. I actually enjoy being able to call MS on all their BS and because we are such a large client they usually get us a fix within a day or two. We rarely ever get that kind of support from Red Hat on our Linux servers.
As far as this goes it looks like its just a new segment. ActiveX serves its purpose and does so very well as long as you are aware of the dangers that surround it. It seems that we like to talk about the security of our devices so much but we forget that the best security is your finger - Dont click the accept if you dont know what it is. I would imagine that most engadget readers are a little more tech savvy than most and know when and when not to accept at a prompt. If not then obviously the exploiter did his job and exploited a weakness. In the end a computer is only a tool, it is only going to do what you tell it to do.
Hopefully with Chrome OS being cloud based it will be a little harder to get my data if i do make a mistake. Rather than having access to my File System you will only be able to exploit my current session. Next reboot im back in the cloud enjoying a fresh session. Google can and will take care of the security on their end
This has been tried and ultimately fails. Applets, ActiveX, yada, yada, yada.....This won't go anywhere, nor should it. The reasons why I use a native app vs a web app are simple, the experience is much better on a native app then on a web app. For some apps, I'm not looking for a great experience, in which case I got to the web, other's I use a native app. Case in point, I'd still rather use a native app for email than a web app. I really like Gmail, but I'd still rather use a client instead of the web app.
This thing here...native x86...it owns. Great step forward for them.
OK, so Chrome will make it so that you can execute x86 code on any processor (that they support), even one manufactured by, say, ARM, that doesn't use the x86 instruction set?
I dunno, that seems pretty cool to me. Granted, you won't be playing Crysis (lol) on it, but Doom, Descent, Quake I... you can fire up Fractint and draw Mandelbrot sets and stuff. I mean, I dunno how practical this will be, but....
It seems like people are completely ignoring the fact that there is already an NDK for Android that is deployed and in use on millions of devices. I guess the fact that it isn't part of the browser is the big difference? You would have to install a Market app that used any NDK exploit code obviously, rather than just navigate to a page I guess, but I don't think that is to far removed from 'oh, it is on the market I trust it...'
Do I dream awake or do I see an "apple" design browser on the screen capture?
Web-centric is shaking my brain
OMFG IT'S NEXUIZ PLAYING IN CHROME =O
Good luck Google. That's reminiscent of IBM's OS/2 effort to run Windows x86 code in its operating system many years ago. Microsofts's strategy to combat itt was to change the API everytime IBM had their operating system running Windows apps better than Windows.
>> One particular gambit that has been flying under the radar is Google's Native Client, which allows the Chrome browser to execute x86 code natively. This has big implications for moving those beefy, number crunching desktop app holdouts to the browser, which would not only be a boon for Google's ability to make Microsoft and Apple-beating