Related topics

Google mocks Steve Jobs with Chrome-Flash merger

Mountain View comes out of the plug-in closet

Common Topics

When Steve Jobs met Google boss Eric Schmidt for coffee late last week, they may or may not have reached some common ground on certain hot-button subjects. But odds are, they didn't see eye-on-eye on Adobe Flash. As Jobs prepares to ship his much ballyhooed Apple iPad without even the possibility of running Flash - which he calls "buggy," littered with security holes, and a "CPU hog" - Google is actually integrating the beleaguered plug-in with its Chrome browser.

In a blog post on Tuesday, Mountain View announced that Flash has been integrated with Chrome's developer build and that it plans to offer similar integration with its shipping browser as quickly as possible.

Google has been known to say that HTML5 is the way forward for internet applications. But clearly, it believes in the plug-in as well, and it has no intention of pushing all development into the browser proper.

"Just when we thought that Google was the champion of HTML5 they turn around and partner with Adobe on Flash to ensure that the web remains a mess of proprietary brain damage," one netizen said in response to Google's post.

Last summer, Google proposed a new browser plug-in API, and with today's blog post, it also said that Adobe and Mozilla have joined this effort. "Improving the traditional browser plug-in model will make it possible for plug-ins to be just as fast, stable, and secure as the browser’s HTML and JavaScript engines," the company said. "Over time this will enable HTML, Flash, and other plug-ins to be used together more seamlessly in rendering and scripting.

"These improvements will encourage innovation in both the HTML and plug-in landscapes, improving the web experience for users and developers alike."

What's more, Mountain View is developing a native code browser plug-in, dubbed Native Client. This is already rolled into Chrome, and it will be an "important part" of the company's browser-based Chrome operating system, set for launch in the Fall.

By integrating Flash with Chrome, Google said that it will ensure users always receive the latest version of the plug-in and that it will automatically update the plug-in as needed via Chrome's existing update mechanism. And in the future, the company added, it will include Flash content in Chrome's "sandbox," which restricts the system privileges of Chrome's rendering engine in an effort to ward off attacks.

In July, with a post to the Mozilla wiki, Google proposed an update to the Netscape Plug-in Application Programming Interface (NPAPI), the API still in use with browsers like Chrome and Firefox, and both Adobe and Mozilla are now working to help define the update.

"The traditional browser plug-in model has enabled tremendous innovation on the web, but it also presents challenges for both plug-ins and browsers. The browser plug-in interface is loosely specified, limited in capability and varies across browsers and operating systems. This can lead to incompatibilities, reduction in performance and some security headaches," Google said today.

"This new API aims to address the shortcomings of the current browser plug-in model."

The new setup was developed in part to make it easier for developers to use NPAPI in tandem with Native Client. "This will allow pages to use Native Client modules for a number of the purposes that browser plugins are currently used for, while significantly increasing their safety," Google said when the new API was first announced.

Native Client and the new NPAPI have been brewing for months upon months, but today's Chrome announcement would seem to be a conscious answer to Steve Jobs' hard-and-fast stance on Flash. Presumably, the company sees this as a way to ingratiate existing Flash shops who've been shunned by the Apple cult leader.

One of the many questions that remain is whether Chrome will give users the option of not installing Flash. With the new developer build - available here - you must enable integrated Flash with a command line flag. ®