With a project called Portable Native Client now making its way into
Chrome and potentially onto the Web itself, Google is violating its own
principles for its Blink browser engine, a Mozilla programmer said Friday.
Portable Native Client, or PNaCl,
is a Google technology to let Web apps run specially created software
at nearly the speed of the native apps that run on operating systems
like Windows or iOS. It plugs into the browser with an interface called
Mozilla representatives have been frosty toward Native Client
for years, but one programmer, Robert O’Callahan, issued a new
criticism Friday, arguing that the Blink programming team’s admirable
Web standards principles take a back seat to Google’s priorities with
“Unfortunately it appears Blink’s principles only apply to Blink, not Chrome as a whole,” O’Callahan said in a blog post.
“I’m sad, because this seriously undermines the value of the Blink
team’s good intentions; a Google team that doesn’t want to be a good Web
citizen can probably find a way to be ‘not Blink’ and run roughshod
over the Blink team’s good work.”
CNET contacted Google for comment and will update this post with its reply.
Google has been developing PNaCl, its less flexible predecessor called
Native Client, and Pepper for years, but it has yet to win over any
other browser maker about the merits of the approach. The technology is
geared for programmers who want to bring C and C++ software such as
videogame engines or audio decompression software to Web apps. (Native
Client, has the same abbreviation, NaCl, as table salt, whose chemical
composition is sodium chloride. Salt, naturally, is paired with Pepper.)
O’Callahan voiced his concern because of two recent Google moves.
The first move was the creation of the Blink browser engine underlying
Chrome, a Google change that was accompanied by the publication of principles for deciding what new technologies to add to the browser engine. The second move was the announcement May 15 that Chrome 29 would have PNaCl built in,
albeit disabled by default. And unlike how Google treats NaCl, which is
only available in apps downloaded through the Chrome Web Store, Google
said Chrome will run any PNaCl apps on the Web.
“Once PNaCl is fully released, users will be able to run PNaCl modules
on any Web page — applications will not need to be deployed through the
Chrome Web Store in order to run PNaCl modules,” Google said in an announcement
O’Callahan argued PNaCl violates Blink principles to favor technology
standardized and supported by multiple browsers; to avoid technology
that risks compatibility problems that mean Web sites don’t work on any
browser; and when a technology poses a compatibility risk, Google will
propose a draft standard of the technology.
“None of this is happening for PNaCl and Pepper,” O’Callahan said.
Mozilla has been developing a technology called ASM.js
that accomplishes some of what PNaCl does — provide a way to C and C++
programmers to bring their code into browsers. Unlike Native Client,
though, it doesn’t add a new foundation for running Web-based software
to the Internet.
Instead, ASM.js relies on programming tools, notably Mozilla’s own
universal Web programming language. Browsers then are optimized to run