Google shows Native Client built into HTML 5
Google shows a version of its technology for putting Web applications on steroids that's built into its Chrome browser. Also: expect Web Worker support in Chrome soon.
SAN FRANCISCO--Google wants its Native Client technology to be a little more native.
Google Native Client, still highly experimental, lets browsers run program modules natively on an x86 processor for higher performance than with Web programming technologies such as JavaScript or Flash that involve more software layers to process and execute the code. But to use it, there's a significant barrier: people must install a browser plug-in.
However, Google wants to make the technology more broadly accessible in browsers through new technology coming to HTML, the standard used to build Web pages, and at the Google I/O developer conference Thursday demonstrated its work to make that happen.
Specifically, David Sehr, a tech lead for Native Client, showed off Web Workers standard to let Web pages assign different tasks to independent processing "threads," effectively letting a browser walk and chew gum at the same time rather than waiting for one chore to be finished before the next begins. Web workers are one element of the ambitious but still not finalized HTML 5 standard.
Why care? Because today your browser runs software excruciatingly slowly compared to native applications that run on your computer, but Google wants to speed them up tremendously, a move that would add a lot of muscle to its ambition to make Web-based software more competitive.
"We want to be within single-digit percentages of what you can do with the best desktop native code," said Brad Chen, engineering manager of the Google Native Client (NaCl) project in a talk at Google I/O.
Examples of what can be done include decoding video, encrypting data, video game physics engines, and face recognition. More interesting, perhaps, is when Native Client can work in conjunction with another Google browser plug-in, O3D, that lets browsers take advantage of hardware to accelerate 3D graphics.
"With O3D, we think we'll be able to enable high-quality games, the kind you're accustomed to seeing on consoles, as well as CAD applications," Chen said.
Although Google is working hard to enable more powerful Web applications, it's not all altruistic. The company has a growing stable of applications including Google Docs, Google Maps, and Gmail that can become much more competitive with desktop technology such as Microsoft Office. For now, though, Google is trying to hammer out Native Client security issues before promoting it more widely among programmers, much less mainstream users.
Sehr said Google's browser, Chrome, will introduce Web Worker support, he hoped within the next couple weeks. Google has been touting HTML 5 features at Google I/O, and Chrome gives Google a way to advance the state of Web application art.
Though other browsers are building in Web worker support, too, for now the technology is rough and certainly not a foundation a Web programmer could expect widespread support for among browsers.
Google plans to support Native Client both through Web Workers and the plug-in, Chen said in an interview. Built-in support in the browser is helpful, but Chen said Web Workers have undesirable limitations for many chores. For example, the plug-in is necessary for applications that require a fast response to user input, he said.
One such example Google showed at the conference was a photo editor. With it, images could be rotated, zoomed, and have colors and tones adjusted with a variety of sliders. There are online photo editors available today, but they typically use Adobe Systems' Flash plug-in.