Native Client: A Technology for Running Native Code on the Web
google-code-updates.blogspot.com
google-code-updates.blogspot.com
I'll join you in calling it NaCl.
Also, there's already a "RubyInterpreter" plugin, though assuming it's sandboxed there's not much advantage over JavaScript, unless you prefer Ruby (JS appears to be faster than Ruby, in most cases: http://shootout.alioth.debian.org/debian/benchmark.php?test=...)
Let's just hope Google doesn't mess this opportunity up. This is the silver bullet and they get to shoot it only once and they must not miss. No beta tags.
I first thought the same thing also, but looking at it more objectively we have to see how users adopt native client.
The same benefits would also be a huge boon to browser office apps.
Actually, this is the architecture that should be used to distribute plugins, period.
I see how a near-native-performance plugin interface is valuable, but it's still just not clear to me why, if this was that important, it wouldn't be in the Java applet plugin's bailiwick. The same CS disciplines that make NaCL possible can also drastically accelerate the JVM.
It's also not totally clear that, when NaCL is actually fielded, the end user experience will be that much better than the applet plugin. NaCL forks off a seperate process and sets up a special runtime with a sidecar debug monitor; once it's up in steady state, I'm sure it's faster than Java, but the big issue with Java is setup time.
Are you referring to my first paragraph, where I say could?
Are you referring to my second, where I say would? (Would if it works like it's supposed to.)
As for my last paragraph, this is an opinion based on personal experience with the "security" of ActiveX and other plugins I've run into in my professional life. Web plugins and other downloaded executables should be sandboxed for security.
Also, the fact that it's not a virtual machine, but virtualized machine code will help with setup: the X86 ISA seems to change much less often than the JRE.
ActiveX vs. NaCL is a false comparison, obviously. You can't do worse than ActiveX, and nobody promotes it.
I don't understand your last paragraph; setup time isn't going to be based on the X86 ISA, but rather the time it takes to fork a process, monitor it in a debugger, set up the system call interface, and then do whatever UI goop NaCL wants to do to give native code a window context. It could be faster than the Java applet plugin. It could be slower. And applets could get faster.
I meant setup from a user standpoint. I suspect that once such sandbox software was stable, updates would be less frequent than updates to the Java plugin. You meant setup time in terms of getting code JITed and actual execution.