Mozilla Prism vs Adobe AIR
A few weeks back, Mozilla introduced into Mozilla Labs an application called Prism, which essentially rebrands the old Mozilla WebRunner as a desktop container for web applications.
As the following image (from the Mozilla Labs Prism page) illustrates, the idea is that Prism splits apart the light coming from the cloud into separate apps. (I know, light doesn’t really come from clouds, but you get the point):
In essence, what Prism does is simply to create a single-url loading instance of firefox without all the browser chrome – so that the application gets an icon of its own, has an entry in the Start menu, is accessible via alt-tab application switching, and the like.
Its an interesting direction for WebRunner, and a good step forward for some specific use cases along the desktop application / web application continuum. Take an app which has offline sync via GoogleGears, run it inside Prism, and you’ve got a desktop application which syncs to the cloud but can also be accessed from other non-prism browsers when you are away from your machine.
(For more info on Prism, see Read/Write Web, Geeks are Sexy, Alex Faaborg’s discussion of its UI, feature suggestions on Prism Brainstorming, Mark Finkle’s discussion of changes from the existing WebRunner, and the forums at Mozilla Labs).
In the process of explaining what Mozilla Labs is up to, the (anonymous?) Mozilla Labs blog entry author said:
Unlike Adobe AIR and Microsoft Silverlight, weÃ¢â‚¬â„¢re not building a proprietary platform to replace the web. We think the web is a powerful and open platform for this sort of innovation, so our goal is to identify and facilitate the development of enhancements that bring the advantages of desktop apps to the web platform.
This got the attention of Adobe’s Mike Chambers, who first posted in the comments on the Mozilla announcement, taking issue with the idea that Prism is fundamentally different from AIR. After all, he noted, AIR also runs applications developed on web standards and runs them in a desktop container with some additional desktop-like features:
So, is the main difference between something like Prism and Adobe AIR, that Adobe AIR is being primarily developed by a company (Adobe), and that Prism is being developed by Mozilla?
Later, he expanded on this issue in a blog post: “Mozilla Prism and the Disingenuous Web,” repeating the notion that AIR and Prism seem quite similar in goal and usage, and complaining:
Come on Mozilla, the web development community deserves better than that. Adobe has been an active supporter of the web development community, of open source, of web standards and of Mozilla (donating the ActionScript virtual machine from the Flash Player (Tamarin)). Adobe AIR leverages a number of open source technologies (including Tamarin, SQLite and WebKit) and we actively participate in both of those development communities, and we have been open with our development process for some time.
So what does differentiate Prism from AIR? (See also “AIR, and a Prism” at Technological Musings for another comparison)
Mozilla Prism, for now, is Windows only; Adobe AIR, for now, is Windows and Mac OS only. Both have promised Linux support in the near future.
As several readers pointed out in comments threads on both Mike Chambers post and the one at Mozilla labs, the Mozilla foundation has a better track record at porting applications to Linux than Adobe does. (Flash Player 9 notwithstanding).
(Note that Linux and MacOS X installers are already listed in the Mozilla Labs Wiki – I’m trying one out in Linux now, and it seems to work just fine).
One significant difference is that Adobe AIR applications are created by developers, who do some “extra work” to create and package their application as an AIR application, whereas Mozilla Prism applications are created by end users, who take an existing web application and tell Prism to run it.
Finally, and perhaps most importantly, while AIR “leverages a number of open source technologies (including Tamarin, SQLite and WebKit) and [Adobe] actively participate in both of those development communities, and [Adobe] have been open with our development process for some time” (quotes from Mike Chambers’ blog post), Mozilla Prism is itself an Open Source project (Mozilla Public License).
What this means it that if the development community is unhappy with the directions in which Prism is going, they can fork, and take the existing code base in different directions.
Or, working in collaboration with the existing project, they can extend that code base, taking it to other platforms or contexts.
In other words, I’d say the difference isn’t, to answer Mike Chamber’s question, that one is developed by a company (Adobe) while the other is developed by a foundation (Mozilla), but that one consumes and participates in open source (Adobe AIR), while the other is itself fully open source (Mozilla Prism).
That’s not to say Adobe has not been a good open source citizen or contributed appropriately to WebKit, SQLite, and others – I believe they have contributed substantially to a number of projects. It’s just that an implementation which is fully open is preferable, for many folks, to one which is mostly open except for where it isn’t.
I’m surprised that is still so hard to understand.