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):

Mozilla Prism

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

Adobe AIR is based on WebKit (also used in Safari, originally from the Konqueror browser in KDE) for rendering HTML; Mozilla Prism is based on Firefox. AIR can handle flash content, pdf content, or Ajax (HTML/JavaScript) content; Mozilla Prism can as well, though it relies on the same plugins the Firefox browser does to support these other content types.

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.

5 Comments

  1. I am still a bit fuzzy on what prism will do so thanks for the links. But, your point is right on. It is unfortunate that companies tend to ride their instincts and assume that open source is competition.

    When really it is just a better business model. Adobe would be well suited to keeping themselves agile by opening up more and working with these advancements. Because to me their roles are changing. Soon they will only provide the finished aspect of open source software. Touching it up, providing support, and tweaking it for enterprises.

  2. >I’m surprised that is still so hard to understand.

    My web post that you referenced questioned Mozilla’s characterization of Adobe’s intentions as “trying to replace the web”.

    The post was not about the differences between AIR and Prism, or why a developer would choose one over the other.

    from my post:


    So, I guess the thing I found odd was Mozilla appears to be building something very similar to Adobe AIR (which is fine and cool), but somehow it is inherently good when Mozilla does it, and inherently evil when Adobe does it.

    Im not going to rehash the thoughts behind that, as that is essentially what my original post is.

    mike chambers

    mesh@adobe.com

  3. Thanks for the comments, Steven and Mike.

    To your point Mike, I agree that the difference between the goals of AIR and the goals of Prism was greatly overstated by the anonymous Mozilla Labs post author. Although I guess I didn’t say it explicitly, I think the content of my discussion makes it clear I think they do more or less the same thing.

    My point is, in a sense, that thinking about it as Adobe (corporation) versus Mozilla (foundation) is misplaced, which I guess means agreeing with you. This isn’t about Adobe replacing the web versus Mozilla enhancing it.

    The difference, for me, is that one is itself open source while the other leverages open source. I don’t mean that as some kind of moral judgment – whether Adobe contributes enough to the projects it uses I have no idea – but as a question of how and in what contexts I can use it.

    For example, Prism is now up and running on Linux – I’m still waiting on Adobe AIR. I cannot currently use Adobe AIR built applications on my Linux machines, period. Mozilla XULRunner can power Songbird, Miro, and other platforms because the license terms explicitly permit it and provides the necessary access to the source code.

    While they may not be a different between “inherently evil” and “inherently good,” to use your terms, it does make all the difference for many potential users and uses.

Comments are closed.