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 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.
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.
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.
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."