Native Client turns Chrome into high-end gaming platform

Miniature ninjas, big bad wolves, and a bastion of fantasy have come to Chrome as graphics-intensive games powered by Google's controversial and nascent Native Client technology.

MOUNTAIN VIEW, Calif.--Google's new technology to secure the Web and make browsers significantly more powerful got its first public demo tonight at the company's headquarters south of San Francisco after three years under wraps.

Calling it Native Client, Google says that integrating technology into Chrome is essential for the future of Web browsers.

To show that Native Client is road-ready, the company used its event to announce several new Chrome-only versions of games known for their rich and processor-intensive graphics, available immediately. It also revealed that the browser currently has more than 200 million users worldwide.

The first public demonstration of Native Client started off with Ian Ellison-Taylor, director of product management for the open Web at Google, giving an overview of the questions that led to Native Client's creation.

(Credit: Seth Rosenblatt/CNET)

The games include those made by Square Enix, maker of Mini Ninja; Wolf Toss, built with Moai; Supergiant Games' Bastion (Chrome browser only), which has won industry awards; and the Unity 3D game-building engine. Game designer Amir Rao showed off Bastion running in Chrome via Native Client to the crowd of about 100 developers, Google employees, and journalists, and it was apparent that the gameplay was smooth and that the graphics were highly detailed. It looked as if it could've been running on a console, except it was being played in a Chrome tab.

Ian Ellison-Taylor, Google's director of product management for the open Web platform, said that Native Client, also called NaCl, can currently improve browser performance by 2 to 10 times. "What would it be like if we could run native code inside the browser," he asked the crowd, and he enumerated two goals for the Native Client project. He said Google wants to bring native applications to the Web for performance and security reasons, and it wants to enrich the Web ecosystem by bringing popular, long-in-use programming languages to the Web.

The popular Xbox game Bastion has been ported to Google Chrome using the new Native Client technology.

(Credit: Supergiant Games)

"We're in the prove-it, early stages of the technology," he said to me after the event, and Native Client had already seen a hefty dollop of criticism in the long lead-up to its public debut. Representatives from Mozilla and Opera have publicly stated their personal opposition to NaCl for several and varied reasons. These include its utility in the face of rapidly accelerating JavaScript support; NaCl's plug-in nature as the Web moves more toward abandoning plug-in support; and the very nature of Google's mostly-closed shop approach to NaCl development, which some have criticized as "open-washing."

Ellison-Taylor noted that Google competitors weren't the only ones who had their doubts. "I was very skeptical," he said of the project when he joined Google 18 months ago. He added that most people who encounter the technology at first are either skeptical or agnostic. "We take a very consumer view of this, so if you feel [NaCl] is compelling, then jump on board. We need other people to step up, to say that we're not just interested in using it as a customer but as something worth investing [resources] in."

Erik Kay, engineering manager on Native Client, told the crowd that the in-house NaCl team works closely with the open-source community and accepts external source contributions. "With Native Client, you're going to be able to leverage your existing code base and bring it to the Web. We've seen a small handful of developers [get code ready for NaCl] in a few short weeks."

There was more to the evening's demonstration than cartoony ninjas using katana anachronistically to cut through grass. Neil Wadhawan, co-founder and vice president of sales and marketing for Heartwood Studios, showed off a training tool for how to install solar panels. Leveraging 3D graphics and with the option of linking directly to the Web because it ran in Chrome, he said that the tool could save the Heartwood Studios client it was built for tens of thousands of dollars in on-site training costs.

Sodasynth, a music-looping app, is built using Google's Native Client and available through the Chrome Web Store.

Sodasynth, a music-looping app, is built using Google's Native Client and available through the Chrome Web Store.

(Credit: screenshot by Stephen Shankland/CNET)

Christian Stefansen, Google's product manager on NaCl, explained which kinds of applications work well with NaCl. These include, he said, hardware accelerated games, photo editing, 3D modeling, video training software, and computer-aided design. "Anything that you would classify as heavy numbers crunching is a good fit," he said.

Currently, NaCl runs hardware accelerated 3D graphics, sandboxed local file storage, dynamic loading, full screen mode, and mouse capture. The intent, said Kay, is to track HTML5 development with Pepper. Pepper comprises the APIs of the browser exposed in Native Client, which is necessary because NaCl doesn't otherwise have a built-in way to communicate with the Web.

Another feature that wasn't discussed much at the event was the fact that Native Client offers tighter security than current browsers. NaCl's SDK and libraries slightly restrict what the developer can do, and it relies on a stricter verification process for code. These restrictions, plus sandboxing, allow code to have lower-level access than JavaScript. However, thanks to Pepper, NaCl uses the same APIs as JavaScript, and therefore has access to the same functions. "That's why we went through all this pain of re-architecting how the Pepper client interacts with the APIs," said Ellison-Taylor.

It's been known for a while that Native Client will be making a move to handheld devices, although Ellison-Taylor said that it's more complicated than it seems. That's probably due in part because of the complications that arise when converting from x86 chips to ARM chips.

Google representatives wouldn't commit to a timeline, but Ellison-Taylor did say that they're testing a beta version of portable NaCl (PNaCl) internally at Google and that the public version is due sometime in 2012.

Other near-term plans for NaCl include Web Socket support, gamepad support, and memory-mapped files to improve performance even further. But one of the long-tail goals for NaCl, said Ellison-Taylor, is to prepare it to work on future operating systems, a challenge that would likely mean making Native Client completely open source so that it can be vetted by the widest range of developers possible. It's not clear that Google is prepared to do that anytime soon.

Update, 4:55 p.m. PT: A Google spokeswoman wrote to me to note the following: "Native Client is completely open source and under very strict unrestrictive BSD license. All you need to build Native Client and Chromium are open source."

CNET Top 5
Companies Apple could buy with their billions
Apple's sitting on a massive pile of cash. Here are five interesting ways they could spend it.
Play Video
 

Member Comments