
What I suspect Google is up to with Native Client - forgotusername
http://www.hackerspews.com/?a
======
rst
There's some real confusion about Android here. Android already has its own
bytecode format (Dalvik), and it's unlikely that NaCL would replace it, if
only because NaCL is tightly tied to the underlying processor instruction set,
while Android has already shipped on at least two (ARM, MIPS), and been ported
to at least one more (x86).

It's also already the case that a third-party app which requests appropriate
permissions can replace the standard contacts app --- in fact, there are
several alternate contact managers already in the Android Market. Of course,
the user must confirm that they want to allow the app to manipulate contacts,
and apps that don't request that permission can't ordinarily do that.
(Malicious apps can manipulate contacts without asking permission on the
customized versions of Android shipped with several recent handsets, per news
from the last few days, because the vendors doing the customization screwed
up, but that's another rant altogether...)

~~~
forgotusername
I think you're focusing too much on the underlying technology, Dalvik is
ultimately little more than a layer of indirection, that could easily
disappear deeply beneath the covers of a 22nd century OS, hidden by a simple
click of a 'Build' button in an IDE, much like Win32 did.

Similarly, Contacts was only used as an example, as it is prominent and simple
to understand. The main reference made there was to the data the Contacts UI
represents, which ultimately backs on to some class library that ultimately is
controlled by the platform (as I understand it).

~~~
nooneelse
> "...that could easily disappear deeply beneath the covers of a 22nd century
> OS..."

So we have a bit of time to form a reaction strategy then. ;-)

Are we even sure Android will run on the quantum-singularity computronium that
we will have by then, or that the Google meme-avatar will still be on, or
near, Earth?

------
barrybe
I don't get how NaCl can be a tool for controlling content, when it's easy to
convert an NaCl app into a native app that can be downloaded and run at will.
You can't really have Microsoft-style dominance over a platform when users can
leave you as soon as they are slightly annoyed.

Not to mention that NaCl is open source BSD-license, so, yeah.

~~~
est
> when it's easy to convert an NaCl app into a native app that can be
> downloaded and run at will.

In theory .NET JIT can emit native image code. But have you ever seen any
framework-free .NET apps?

The dependences, libraries, ecosystem will lock you in.

------
twoodfin
I think Microsoft really missed a good bet by not embracing NaCl years ago.
They have a huge preexisting native codebase. Probably a plurality of their
development teams are native code-focused. Their customers employ hundreds of
thousands of native developers and probably billions of lines of native code.
C/C++ is such an inescapable part of their ecosystem that after almost a
decade of selling C#/.NET as the future, they're increasingly proselytizing
for the benefits of native code and C++11 in particular.

They could have leveraged all of this by buying in to NaCl and putting it into
IE. Hard to see how Google says no, and once Microsoft has that level of
commitment to the technology, they'd get a strong say in its evolution. As a
multi-vendor standard with an open source implementation, NaCl could have
gotten real traction, and suddenly every C++ developer inside Microsoft and
working for their customers has a path to the web for existing code that's
_slightly_ more plausible than rewriting everything in JavaScript and hoping
the VMs get faster without also killing your laptop's battery (unlikely, I
think).

~~~
petegrif
Agreed. And I still don't understand Mozilla's problem with NaCl. They argue
that js is now nearly as fast as native. Well...even if that were true it
ignores the fact that as you point out there is huge investment in legacy code
that NaCl unlocks AND it ignores the fact that js makes it easy to copy what
may be valuable IP.

~~~
bzbarsky
Mozilla's problem with NaCl is that Mozilla believes in open access to the web
for everyone, while NaCl at the moment is tied to particular hardware
architectures. The two seem to be fundamentally incompatible.

If PNaCl ever happens, that might change the situation, maybe.

As far as legacy code, emscripten unlocks it as well. Not with the performance
of NaCl (and unlikely to get there), but it has the benefit of running cross-
browser right now and not forcing people onto particular hardware platforms.

And copying "valuable IP" out of an emscripten-compiled program is just as
easy as copying it out of a binary, of course.

~~~
ootachi
As for PNaCl, I think "LLVM IR is a compiler IR" sums it up nicely:
[http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-October/0437...](http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-October/043719.html)

------
nl
I think people who claim "Google is planning xxxx" miss the fact that Google
isn't exactly some monolithic entity.

There are plenty of people within Google who'd love NaCI to take over the
world. But equally there are lots who think it is a downright bad idea.

------
peterwwillis
I didn't even read past the third paragraph. It's not even the creepy,
conspiratorial way he talks... who the hell puts up a single domain, with a
single plain-text page of content, with a font big enough for my grandmother
to read it, just to complain about Google? It's weird.

~~~
forgotusername
The site is not tailored to readers who search for social proof in a WordPress
theme; for multiple reasons this was an intentional choice. I'd suggest
starting with the two years of my HN comment history.

------
Mediocrity
Wait wait wait.

Google is going to lock the world into it's "stewardship" with a couple open
source projects and the cell phone market?

I can't help but feel that I've just been trolled. Unless someone can better
explain this to me.

------
tree_of_item
NaCl may have a large role to play in the future, but I don't think this is a
bad thing, or "dystopian". NaCl, Android, Dart, and Chromium are all open
source and can be forked by the free software and open source communities and
retooled for whatever ends should Google begin to play nasty. The big issue
here is control of user data, which is orthogonal to the choice of software
anyway. You can use all of the software above to connect to friendly data
stores, perhaps ones you control.

~~~
zobzu
Yeah, for example, Android Google devs do not take patches from other devs,
and do not open Android til "its ready". Other devs, mainly CM do not submit
patches (its useless) and it takes a long time to support devices because you
need a lot of proprietary code that needs to be available, or specs,that also
needs to be available.

So yeah, but no, you definitely can lock stuff in with "open source", no
problem with that.

~~~
rryan
No -- you can't. You can lock people out of your project, but FLOSS doesn't
mean everyone gets to play inside your project.

The license guarantees anybody who doesn't like the way Google is doing things
can take the code and start their own project around it. The forks may not be
easy to keep in sync -- this shouldn't matter if you don't agree with the way
Google is doing things because you'll probably stop using their work after you
fork anyway.

What you want is to have Google's engineers run their project the way you
want, which is NOT what open source is about at all.

Aside: You're wrong about proprietary code -- awesome people like jbq and
folks from the AOSP have consistently worked with hardware vendors to open up
their binary blobs. They are actively fighting for this, not using it to keep
people locked into the official Android project.

------
petegrif
May I suggest a rather more innocent possibility wrt Google's intentions? They
want us to be able to run high performance apps in the browser. And guess what
- most of us would like that.

------
iFire
If Google is evil, just fork Chrome. It's called Chromium. Chrome is not 100%
proprietary. Nacl is open source.

------
dhconnelly
"it is designed and explicitly documented to run on an as-yet nonexistent
virtual machine"

[http://code.google.com/p/dart/wiki/Building#Building_the_sta...](http://code.google.com/p/dart/wiki/Building#Building_the_standalone_VM)

~~~
forgotusername
My mistake; omit the paragraph and continue reading.

~~~
dhconnelly
I guess I don't get the $30 :) Just kidding.

------
EmilENewton
New Rule: Whoever mentions Microsoft first, loses the debate and the thread is
closed.[1]

[1] Obvious References: [1.1] Reductio ad Hitlerum (
<http://en.wikipedia.org/wiki/Reductio_ad_Hitlerum> ) [1.2] Godwin's law (
<http://en.wikipedia.org/wiki/Godwin%27s_law> )

------
icebraining
It's funny, because what came to mind as the platform for apps that would be
streamed from HTTP wasn't Chrome, but Mozilla!

After all, that was the promise of remote XUL+JS, which provided the user gave
it the permissions, could access the XPCOM components to access the
filesystem, run external applications and more.

Nevertheless it didn't caught on.

~~~
dextorious
"""Nevertheless it didn't caught on."""

Well, I was kinda hoping it would, but for one thing, the Mozilla guys:

1) never documented it properly 2) never made any usable developer tools,
IDEs, etc 3) never delivered on their initial XUL/XULRunner promises 4) never
tried to build a community around them

------
smosher
_The main hack done to the compiler is that generated code avoids certain
constructs that inhibit perfect static analysis, allowing the NaCL host (i.e.
Google Chrome at present) to verify the behaviour of some untrusted binary
before ever executing it (just like Java does)._

I am having a hard time with this. At first I thought this amounted to a claim
that the halting problem had been solved, or else that Java and NaCl are not
Turing complete. I'm guessing the problem is with the term "perfect." So
something interesting must be going on or it wouldn't be worth mentioning.
What's being verified? That the code can't execute data and won't call certain
interrupts, or is something more interesting happening?

~~~
DarkShikari
_At first I thought this amounted to a claim that the halting problem had been
solved,_

That's not what the halting problem means! There is no rule that says you
cannot prove a program is safe: the rule is only that you cannot prove _any
arbitrary_ program is safe. NaCl gets around that by adding checks to the code
(bounds checks, etc) to anywhere that it _can't_ prove is safe.

~~~
smosher
_Perfect static analysis_ is certainly halting-equivalent. What you're
describing falls short of perfection, which is what I've suggested.

------
petegrif
tldr(all) this is a paranoid rambling piece that may just have some sense in
it somewhere but it's so incoherently written it's tough to find it.

------
joshu
what's the unicode symbol for bong hits?

~~~
Matt_Cutts
I laughed hard enough at this comment that I woke my wife up.

~~~
forgotusername
Thanks, Matt "lol bongs" Cutts, your mockery proved a meaningful critique.
Often people laugh and act juvenile when otherwise they might cry.

------
wickedchicken
"guys, let's replace javascript with the most advanced modular program
distribution and compilation toolkit known to mankind. hell, we could even
implement javascript on top of this toolkit to let people have their cake and
eat it too. oh wait, nevermind, some person on the internet told us this is
evil. my bad"

------
est
What's more interesting is the Chrome Remoting technology. It allows you to
render webpage/webapp in a desktop chrome process but display it on another
remote device, even mobile device. It's like Microsoft 3389 RDP without
fullscreen but each individual window.

~~~
fuzzix
"It's like Microsoft 3389 RDP without fullscreen but each individual window"

Sounds more like plain old X forwarding.

------
scriptproof
I am not really favorable to the all-in-the-cloud trend at Google. NaCl seems
to be the exact opposite to that and I am as other users (as expressed in a
comment above) happy with that. Another point is that it is not a replacement
to DirectX. WebGl is this replacement, and WebGL is a common initiative, not a
Google's invention.

~~~
winthrowe
WebGL is not a replacement for DirectX, it's just a replacement for Direct3D.
What's the rest of the stack?

~~~
scriptproof
It is a frontend for browser apps to OpenGL that is an alternative to DirectX
(or a part).

------
nextparadigms
Why is the performance impact of the sandbox with Intel code only 1% while the
AMD and ARM code 7%? Is it just because they haven't focused much on
optimizing for those or any other reason? I would expect them to at least
focus more on ARM, especially if they are porting it to Android.

~~~
Dylan16807
As quoted on the article, the segmentation technique it uses is only available
on x86.

------
dgreensp
Gives Google too much credit, on the one hand, by saying they will create an
elegant OS that unifies desktop, web, and mobile (a sort of "holy grail"
actually)... then says this is a bad thing.

------
avree
Is this site designed to be read from across the room?

~~~
forgotusername
Implemented a partial compromise, but IMHO all sites should be designed to be
read from across the room. Comments on the article text welcome.

~~~
getsat
I think this is the first site I've never had to zoom in on to actually read.
(2560x1440)

------
brown9-2
"in particular, it lacks the elegance necessary to lend credence that this was
ever a research project"

How does one judge this subjectively?

~~~
rprospero
As a researcher, I was surprised that the author assumed that any of my work
was ever elegant. Research projects are ugly and messy because you know that
they'll never need to scale. If you can actually make it work, that's when you
start on elegance.

~~~
brown9-2
This is exactly what I had always assumed, but felt like I couldn't rely on
much of conventional wisdom in an argument like this.

------
CyruzDraxs
The sky is falling! Oh noes!

------
drivebyacct2
Wait, wait, wait.

Because a platform is near-native performance, is cross platform and may run
in a virtual machine, they are becoming Microsoft and locking people in? WHAT?
(Beyond the absurdity of leaping to that conclusion, it's an open spec and the
main implementation is open source. I understand that alternative
implementations are needed for "open spec" to have significant meaning, but
still).

That and the last set of bullet points are all true. Just like Google...
except without the near native performance of NaCl. Which is why it was
created. To be just like the rest of the HTML/JS stack. They're trying to get
to actual "Web 2.0" (bleck), where Dart and NaCl are viable additions to the
traditional stack. I see no reason why this is nefarious.

RE this whole conspiracy (not mocking it by calling it that...) and the
Android connection especially... that's what I've been assuming and hoping for
from day one. Portable LLVM bytecode is another step in that direction as
well. I'm excited.

~~~
nknight
> _RE this whole conspiracy (not mocking it by calling it that...)_

Then I will. It's a conspiracy theory, worthy of all the mocking typically
associated with such a thing.

Anyone who's been watching Google long enough, closely enough, knows how out
of character this would be. Such efforts, not to mention the purported
motivation, is not in their nature.

Google employees start hundreds (thousands?) of new projects every year with
little coordination. Some of these end up becoming big, official things, and
we end up with Gmail. They throw stuff at the wall and see what sticks.

There might be some group inside Google thinking along the lines this guy is.
I doubt it, but it's possible. It might even be the native client guys. What
there isn't, is a massive internal conspiracy crossing every product team up
and down the chain of command, aimed at making Google the sole arbiter of what
can run on your device.

Even if the executives wanted it to happen, it couldn't. How do I know this?

Because Google is full of hackers who would instantly revolt. They've had
enough problems with things like their real name policy and the handful of
places they've had to acquiesce to DRM.

A coordinated effort to make Google into The One True Gatekeeper into your
electronic life on a scale unmatched even by 1990s Microsoft? I await the
flying pigs.

~~~
ootachi
There is not a single company in history that failed to get away with
malicious behavior due to being "full of hackers that would instantly revolt".
Engineers do not have executive power within companies. Executives do.
Engineers "revolt" by quitting, and at Google they are easy to replace.

~~~
nknight
You're right, they do revolt by quitting. I don't see a big exodus. I have
several friends there I know would be out the door in a heartbeat, and 5 years
ago I knew one of the guys who is now one of the most senior on the Chrome
team. Unless his character has been very fundamentally altered, there's not a
snowball's chance in hell he would aid such an effort.

------
rsanchez1
Careful, people might accuse you of being a right-wing conspiracy theorist,
even if you do present evidence that Google is becoming the new Microsoft.

~~~
jff
[http://standupforamerica.files.wordpress.com/2010/01/conspir...](http://standupforamerica.files.wordpress.com/2010/01/conspiracy-
tin-foil-hat.jpg)

------
ariwilson
Never attribute to malice that which is adequately explained by stupidity

