TechCruch just posted about the news that Adobe and Google are going to be collaborating a bit around Chrome and the Flash Player. The basic gist is that Chrome will start integrating the Flash Player directly into the browser so that users will always have the most up to date versions and anyone who downloads Chrome won’t need to also install the Flash Player. I think that’s good, but the much bigger news in my opinion, is that we’re working with Chrome and Mozilla to revamp the plugin architecture. This has huge implications.
We’ve been using an old-school plugin model for a long time. In fact NPAPI, the plugin interface, stands for Netscape Plugin Application Programming Interface. And as the Wikipedia entry states, it’s so sucessful because it’s so simple. The API basically lets plugins associate themselves with a content type (like a SWF file) and then puts that plugin in charge of all the rendering. There’s not a lot of integration between the plugin and the content in the browser which means the plugin lives in its own little world and it’s tough to break out. You can do things like ExternalInterface but it’s still pretty hacky.
But under this new plug-in, we’ll have much closer integration at the browser level. There’s a great summary of what this means at the Chromium blog:
Think better access to the hardware APIs via this new plug-in model, better access to the DOM, and a generally much better, more stable experience. The Flash Player in the browser has always felt a little like a black box largely because ofthe constraints in the plugin model. Certain things didn’t work quite as you’d expect in a regular HTML site. Hopefully this changes that. In theory this could make it possible to use the save-password feature with your Flex/Flash apps, or make Flash SEO a lot easier, and it allows us to innovate around HTML-Flash integration. If you’ve used AIR, you’ve seen what’s possible when you have complete control over both technologies. This new plugin work makes that easier to do across all browsers that support it. I don’t know when/if we’ll see it, but it’s easier now.
Another benefit is that the API is going to be OS and Browser neutral so you won’t see such wildly different performance on different platforms. The hooks that we can use to make the browsing experience better will work across all of the browsers that support the new plugin across all of the operating systems.