Webware

Read all 'Native Client' posts in Webware
October 3, 2009 6:00 AM PDT

Native Client in Chrome: Google flexes Web muscle

by Stephen Shankland
  • 56 comments

Google has built its Native Client technology into its newest version of Chrome, endowing the browser with new processing power for running Web applications.

Native Client, or NaCl for short, is an ambitious Google project that, if successful, will help close one gap that separates Web applications from those that run natively on a computer's operating system. That would improve the competitive position of Web applications such as Google Docs compared to Microsoft Office--and thereby boost Google's Chrome OS project in comparison with Windows.

Most Web browsers run programs written in JavaScript or perhaps Flash, both of them running on a programming foundation that makes those programs slower than native software. But Native Client lets programmers write software that directly taps into x86 chip models such as AMD's Athlon or Intel's Core. Secial programming tools and a screening mechanism in the Native Client software itself are designed to provide security for what has historically been the risky process of downloading executable programs from the Net

Chrome Version: 4.0.220.1, released Friday, "introduces the Native Client as a built-in feature for the first time on Windows," said Jonathan Conradt, a Google engineering program manager, in a blog post about the release. Previously the software was available only as a browser plug-in.

Google also offers a variety of basic tests and more elaborate examples of what Native Client can do, though it takes a bit of technical configuration to get them working. Among them are spinning ray-traced globes, the Game of Life, and the Quake first-person shooter video game.

Native Client shows how Google is using Chrome as a vehicle to advance its Web programming agenda. While some competitors such as Microsoft have a strong business of software that runs natively on a computer, Google wants software to run on central servers on the Internet.

This cloud computing approach has some advantages--being able to more easily collaborate and share documents for example, or to see and edit documents using any PC or smartphone. Google was born on the Web and has an incumbent's advantage there over rivals, but as an applications foundation, the Web remains slow and primitive compared to native applications in many regards.

Native Client isn't the only effort to change that situation. Google also has a plug-in called O3D--also a project it's building into Chrome--designed to let programs tap into hardware-accelerated 3D graphics. It works at a higher programming level than a related effort from Mozilla and Firefox called WebGL.

Google first released Native Client in December 2008. In June 2009, declaring confidence in NaCl's security model, Google it announced it was bringing Native Client out of research and into production.

Though Native Client is built into the new Chrome version, there are plenty of qualifiers for the release. First, it's only in the developer preview version of Chrome, and only for Windows right now. Second, it's disabled by default; adding "--internal-nacl" as a command-line switch at Chrome launch will activate it, according to an explanatory page.

The new version of Chrome offers a variety of other features too, notably a number updates for extensions to let people customize the browser.

For example, extensions now appear as an option on the wrench menu for browser settings. More obviously from a user-interface perspective, the browser actions interface (see illustration below) is now available to place extensions in the form of a button to Chrome's main toolbar.

Browser Actions is a new extensions interface that let browser customizations take the form of small icons in the browser's main toolbar. This illustration shows what Google believes to be an overabundance of such extension buttons.

Browser Actions is a new extensions interface that let browser customizations take the form of small icons in the browser's main toolbar. This illustration shows what Google believes to be an overabundance of such extension buttons.

(Credit: Google)
Originally posted at Deep Tech
July 22, 2009 1:47 PM PDT

Google building 3D hardware boost into Chrome

by Stephen Shankland
  • 21 comments

Departing significantly from what other browsers offer, Google has begun building its O3D plug-in for hardware-accelerated 3D graphics into its Chrome browser.

"The O3D team is working on getting O3D integrated into the Chromium build, and we're close to being able to complete our first step towards integration," said programmer Greg Spencer in a mailing list announcement Wednesday about Chromium, the open-source project that underlies Chrome itself. "I'll be making the Windows build of Chromium be dependent upon building O3D as part of the build process."

By helping to pave the way for high-powered Web-based games, the move furthers Google's ambition to speed the transformation of the Web from a static medium into a foundation for applications. Another piece of the work is Google Native Client, which is designed to let Web applications take advantage of a computer's native processing power.

... Read more
June 11, 2009 8:32 AM PDT

Google Native Client grows out of research phase

by Stephen Shankland
  • 24 comments

Satisfied that its security underpinnings are solid, Google has promoted its open-source Native Client technology to accelerate Web applications out of its research phase and is taking steps to build it into the Chrome Web browser.

"Based on our experience to date, we believe that the basic architecture of our system is sound and the implementation is supportable. So now we are undertaking a number of tasks to transition Native Client from a research technology to a development platform," said Brad Chen, Google's Native Client engineering manager, in a mailing list announcement Wednesday.

Brad Chen, engineering manager of the Google Native Client

Brad Chen, engineering manager of the Google Native Client

(Credit: Stephen Shankland/CNET)

Native Client, called NaCl for short, is a mechanism to run software downloaded over the Web directly on x86 processors such as Intel's Core line. The key motivation is to attain the speed of regular "native" software installed on a computer rather than the much slower JavaScript environment that sophisticated Web sites use today. It's one part of Google's broad effort to evolve the Web from a collection of relatively static sites into foundation for more powerful applications.

Executing native code from the Web is easy--until you start trying to worry about security risks. To this end, Native Client examines software before it runs to block software that takes a variety of prohibited actions, an idea called static analysis, and it runs the software in a protected sandbox.

"We recognized the underlying technology to be ambitious and risky, and felt strongly than a generous measure of public scrutiny was appropriate before we committed to any definite plans," Chen said. Satisfied that Native Client passed muster, Google will remove various security constraints such as the inability to execute Native Client software downloaded from the open Internet, he said.

Native Client was first introduced in December a browser plug-in, but Google doesn't like that approach.

"We recognize that there is well-justified resistance to installing browser plug-ins. For this reason we have a strong preference for delivering Native Client pre-installed or built into the browser, and we'll be focusing on that as our main strategy for delivering Native Client to users," Chen said.

And now we see one reason why Google is interested having a browser of its own available: "Careful readers may have already noticed evidence of integration into Chromium in the Native Client source," Chen said, referring to the open-source project that underlies the Chrome browser.

Google touted Native Client at its Google I/O conference in May, showing off a Web-based photo editor as an example of the processing power the technology offers. Google also is trying to pair Native Client with another company project, O3D, which lets browsers take advantage of hardware to accelerate 3D graphics.

May 28, 2009 3:01 PM PDT

Google shows Native Client built into HTML 5

by Stephen Shankland
  • 13 comments
Brad Chen, engineering manager of the Google Native Client

Brad Chen, engineering manager of the Google Native Client

(Credit: Stephen Shankland/CNET)

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.

Google demonstrated a browser-based image editor built with Google Native Client.

Google demonstrated a browser-based image editor built with Google Native Client.

(Credit: Stephen Shankland/CNET)

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

This fractal graphics demo showed off a forthcoming Chrome ability to access Native Client applications through the HTML 5 Web Worker standard.

This fractal graphics demo showed off a forthcoming Chrome ability to access Native Client applications through the HTML 5 Web Worker standard.

(Credit: Stephen Shankland/CNET)
April 27, 2009 4:00 AM PDT

Google plugs PC power into cloud computing

by Stephen Shankland
  • 15 comments

Even at the cutting edge of cloud computing, Web-based applications can be frustrating to write and to use.

Spreadsheets can't sort data well, there are lags between mouse clicks and the program's response, graphics look Mickey Mouse rather than lavish. But Google, among the most aggressive cloud computing advocates, is trying to address some of those shortcomings.

The company has released experimental but still very much real software that brings in some of the power of the PC, where people often use Web applications. Google Native Client--first released in 2008 but updated with a new version Thursday--is a browser plug-in for securely running computationally intense software downloaded from a Web site. And on Tuesday, Google released O3D, a plug-in that lets Web-based applications tap into a computer's graphics chip, too.

The projects are rough around the edges, to say the least. Native Client--NaCl for short--is more security research project than usable programming foundation right now, and O3D exists in part to try to accelerate the arrival of some future, not necessarily compatible, standard for building 3D abilities into Web applications.

Google Native Client is shown here running a fractal landscape explorer.

Google Native Client is shown here running a fractal landscape explorer.

(Credit: Google)

But both fundamentally challenge the idea that Web apps necessarily are stripped-down, feeble counterparts to the software that runs natively on a personal computer, and they come from a company that has engineering skill, a yen for moving activity to the Internet, and search-ad profits that can fund projects that don't immediately or directly make money.

"There are things you can do in desktop apps that you can't do in Web apps. We're working very hard to close that gap, so anything you can do in a desktop application you can do safely and securely from a Web application," said Linus Upson, a Google engineering director.

... Read more
December 8, 2008 5:39 PM PST

Google's answer to Java, Flash, Windows: Native Client

by Stephen Shankland
  • 36 comments

Rumors have abounded over the years about a Google operating system, perhaps based on the Ubuntu version of Linux widely used within the company, but on Monday the company revealed an open-source project that provides a different answer to the same problem: Native Client.

The reason I've been skeptical about Google releasing an operating system of its own is that the company has such a Web-based view of the world. But Web apps have limits, impressive gains of Google Docs notwithstanding, and Native Client is geared to address those.

"At Google we're always trying to make the Web a better platform. That's why we're working on Native Client, a technology that aims to give Web developers access to the full power of the client's CPU while maintaining the browser neutrality, OS portability and safety that people expect from Web applications," said Brad Chen of Google's Native Client team in a blog posting.

Google has a three-lobed mission: search, ads, and apps. It does well on the first two, but Web-based applications remain rough for most users. Native Client could change that if Google develops the project to maturity, convinces people to install it, and convinces programmers to write for it.

The software plug-in works in conjunction with various Web browsers but lets Web-based applications take advantage of a computer's significant processing horsepower. That puts it in a similar camp as Sun Microsystems' Java, Microsoft's Silverlight, and Adobe Systems' Flash, which, like Native Client, include a "runtime" foundation for running the software.

Although Native Client is just a research project at this stage, the move could have powerful long-term consequences for the battle to create the most compelling foundation for Web-based applications. The technology philosophically meshes with Adobe's hybrid philosophy of running applications both on servers and PCs.

So far, Native Client works on Firefox, Safari, Opera, and Chrome on any modern system with an x86 processor running Windows, Mac OS X, or Linux, Google said.

Originally posted at Business Tech
  • prev
  • 1
  • next
advertisement

About Webware

Say No to boxed software! The future of applications is online delivery and access. Software is passé. Webware is the new way to get things done.

Add this feed to your online news reader

Webware topics

15 sites that went kaput in 2009

Web sites launch all the time, but they also shut their doors. We highlight 15 that bit the dust this year.

Top 10 news stories of the decade

Let the debate begin: Was the iPhone more important than iTunes? Was anything bigger than Google finding a great business model? CNET offers its list of the 10 most important stories of the '00s.

Most Discussed

Inside CNET News

Scroll Left Scroll Right