So Is Native Client Designed to Gouge Microsoft or Adobe?

By Clint Boulton  |  Posted 2008-12-11 Print this article Print

Q: Native Client runs on Firefox, Safari, Opera and Google Chrome and supports any modern Windows, Mac or Linux system that has an x86 processor. Why no support for Internet Explorer?

Chen: We've actually been working on Internet Explorer, but the fact is all the browsers we do support all use NPAPI (Netscape Plugin Application Programming Interface) and is implemented fairly similar to the way that NetScape and Mozilla created it. Internet Explorer doesn't support NPAPI at all. The Mac OS version of Safari has an NPAPI version that is quite different from the others. We're working on both of those and consider them essential, but they just weren't at the level of function and stability that we thought it made sense to include them in the first research release.        

Q: In your blog post from Dec. 9, you outline image processing as a potential use case for Native Client, which enables image processing on the desktop CPU to improve application performance. What's another use case?

Bridge: Physics requires a lot of computational power and is used in a variety of games today. Games like Quake are a great example of that. You could also see Native Client used in scientific applications. Basically, anything that requires a lot of computational power but requires that a user can interact with it in real time rather it going out to a server and going back to a user's computer.

Q: The Native Client has provoked some discussion about what technologies it's intended to challenge, such as Microsoft Silverlight, or Adobe Flash or Air. What technology does Native Client threaten?

Upson: I don't think there's anything out there that competes with Native Client. There's two things that it really enables. One, is performance. You can get full hardware performance out of it. You can low-level numerical computation much faster than even in the fastest JavaScript implementations. The second thing is it allows Web developers to access large, existing C and C++ code bases that they can use in there Web applications safely. There's a physics simulation engine written in C++, but if you wanted to build a 3D game with physics in it, you'd have to rewrite that whole physics engine in JavaScript. Being able to take that existing code base and have it run inside of a browser is pretty powerful. These guys (Bridge and Chen) basically took the whole Quake source code, and within a short period of time had it up and running in the browser. So I don't think there's anything else out there that does what Native Client does. It complements a lot of the work that's going on in the Web. You can use it with Flash, Silverlight, HTML and JavaScript.

Q: So, people are throwing out Chrome, Android, Gears and Native Client. Would all of these ingredients together or in some combination form the basis for a Web operating system?

Upson: Ever since the Microsoft antitrust trial, I don't know what an operating system is anymore. They drew the circle very wide and basically said it's anything we call Windows. My computer science 101 textbook had a much narrower definition of what an operating system was. I can't define an operating system in any kind of reasonable way. But I can tell you what we're trying to do with things like Chrome, Native Client and Gears. We really want to make it possible for people to build Web apps that are as rich, responsive and powerful as desktop applications. We really want to close the gap between the Web and the desktops. We're very committed to doing that with open source and open standards.


Submit a Comment

Loading Comments...
Manage your Newsletters: Login   Register My Newsletters

Rocket Fuel