Chad Perrin: SOB

29 October 2007

Adobe AIR and the overly defensive Web

Filed under: Geek,inanity,Liberty — apotheon @ 12:47

I just stumbled across this weblog post about how great Adobe is, and how evil Mozilla is for daring to refer to an Adobe product as “proprietary”. After having read the entire ramble, what immediately struck me was the way an Adobe employee just tried to convince everyone that his employer is the Second Coming of Open Source Friendliness while avoiding the key issue to which he was ostensibly responding.

Mike Chambers, the author of the post, objected to this statement from Mozilla’s Prism page:

Unlike Adobe AIR and Microsoft Silverlight, we’re not building a proprietary platform to replace the web.

That’s what set him off on his entire, prolonged gripe-and-brag, apparently. His immediate response, before addressing what was really bothering him, was to correct an apparent oversight:

First, Silverlight and Adobe AIR really are not related at all, and don’t target the same things. As I have said a million times before, if anything, the comparison is between the Flash Player and Silverlight.

Unfortunately for Mike’s point, the quote from the Prism page in no way implies that AIR and Silverlight are the same in any way except in that they’re “proprietary” and attempts to “replace the web”. If you want to take issue with the phrasing, take issue with the “proprietary” and “replace the web” terms used, not some straw man where you assume someone is claiming AIR and Silverlight are just the same thing from different companies. Just as a Hyundai Sonata and a pair of Doc Marten AirWair boots are almost nothing like each other, they are both proprietary attempts to replace modes of travel like crawling around on your hands and knees.

While I’m at it, though, Adobe’s own marketing has identified the capabilities of AIR (or at least its predecessor, Apollo) in a manner that makes it sound stunningly similar to Silverlight. Each uses a VM for what is traditionally viewed as a “web scripting language” to provide desktop-anchored applications that are highly portable (as long as you have the VM and environment installed), granting an ease of installation and use reminiscent of a “package manager” from any of several open source OSes. I fail to see how they are not particularly comparable.

As Mike puts it, the comparison should be between Flash and Silverlight, not AIR and Silverlight — but AIR is being pushed as the Next Big Thing, the fusion of Flash and standard (though not necessarily Standardized) web content that isn’t so easy to achieve using a “traditional” web browser. In fact, the more I think about it, the more it seems like if there’s a point at which the comparison between AIR and Silverlight really fails, it’s the point at which AIR proves itself to be a more comprehensive and direct attempt to replace the web as it currently exists (with a proprietary system).

After quoting the Prism page further, Mike has this to say:

Do you see where I am going with this? You could describe Adobe AIR in exactly the same way (just replace Prism with Adobe AIR and Firefox with Webkit).

Webkit isn’t really comparable to Firefox. It’s more comparable to Gecko, the rendering engine that underlies Firefox. In other words, Mike dismisses Firefox as nothing more than a rendering engine that can be leveraged to provide a desktop-oriented approach to web-delivered applications. It seems he utterly fails to get the point that Firefox is a complete application that provides an interface to web-delivered applications already. The difference with Prism is that it allows one to separate those web-delivered applications into their own discrete desktop windows (off-topic: there’s a nice mixed metaphor for you). This makes Prism more properly a contiguous part of the web browser’s platform, an extension of it more fully into the desktop UI model. He ignores all of this, however, by equating Firefox with Webkit — ironically making the same mistake of improperly comparing software that was the basis for his initial complaint about the Mozilla/Prism take on AIR and Silverlight.

Ultimately, I think Mike is overlooking the fact that there’s a distinct difference in the approach taken by Adobe in the development of AIR and that taken by Mozilla in the development of Prism. The former approaches the web from the realm of the desktop application, and the latter approaches the desktop from the realm of the web application. They may be converging on middle ground, but there are some things that will definitely be done very differently because of these differing perspectives and avenues of approach — such as the degree and manner of browser integration, as well as the manner in which the software maintainers will expect people to write the applications that run via their respective platforms. It’s entirely possible that AIR is capable of much the same thing as Prism (though difficult to tell amongst all the marketing-speak and defensive rants like Mike’s), but from where anyone not actually developing AIR in Adobe’s employ is sitting, it looks like Adobe expects everyone to write AIR applications that are delivered via the web, and Mozilla expects everyone to write web applications while allowing end users to turn them into desktop applications with the click of a button.

Does that sound the same to you?

A bit further down in Mike’s treatment of the subject, he says:

Adobe AIR is built on top of web standards and can run existing web applications and content. It runs on Windows and Mac (and soon Linux), and it also provides additional desktop functionality.

That really does sound surprisingly like Silverlight. What was his objection to that comparison, again?

Mike informs us, in the last paragraph:

Adobe AIR is not meant to “replace the web”

No, I suppose it isn’t meant to replace the entire world wide web — but it is meant to be a replacement for the traditional web platform UI, the web browser. It may be assumed that, at least for a while, AIR users will also be browser users, but that doesn’t mean it isn’t meant to replace the browser to some non-trivial degree as a platform for web-delivered apps. The browser, to a significant degree, is the web: it’s the central point through which all the HTTP-communicated markup documents are connected to one another. Without that pervasive interconnectedness, it wouldn’t be a web. As useful as they are, tools like AIR and Prism divide up parts of the web into discrete, stand-alone applications, no longer acting as part of the contiguous whole.

Hyperlinks bind pages together into a largely homogeneous single interface. The web is a “web” because it is a single mesh of documents created through an accidental synergy of efforts between individuals. As long as you’re not intentionally constructing “walled gardens” where you can get in, but can’t get back out again, you contribute to that web. Discrete, break-away applications don’t fit that description — so, contrary to what Mike’s trying to push, AIR doesn’t seem to be anything like part of the web. It’s a piecemeal replacement of parts of it. The fact you get your application behavior from the same source — the same server on the Internet, via the same HTTP protocol — doesn’t make it part of the same web, because the web isn’t defined by a protocol or a given server. It’s defined by the interconnectedness of content.

Mike then goes on to finally tackle the issue that’s really bothering him:

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.

No, that’s not what’s being said, Mike — and if you weren’t so damned defensive about Adobe’s “honor” (hah, there’s a funny thought), you might be able to understand that without having to get your nose rubbed in it. What’s actually being said is easily broken down into parts like this:

  1. Mozilla is taking a web-platform approach, while Adobe and Microsoft are taking a desktop-platform approach, or so the marketing materials from Adobe and Microsoft seem to suggest.

  2. Mozilla develops open source software, while AIR and Silverlight are closed source, proprietary software.

If you choose to apply the character of “evil” to “closed source, proprietary software”, that’s you doing so, and not the Mozilla Foundation. Is that clear enough for you?

Of course, I happen to share some of that sentiment, if that’s what you really want to imply, but that’s not really relevant to the topic at hand. The point is that Mike has assigned moral judgments to a simple statement that Adobe AIR and Microsoft Silverlight are similarly proprietary software “products”, both of which are apparently intended to allow the developer to use web programming skills to deliver application functionality to the desktop.

Quoth Mike:

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?

That certainly isn’t the “main difference”, and I don’t think anyone claimed or even suggested it was. As Adobe itself has proven with Tamarin, for instance, a corporation like Adobe can create open source software just as easily as a non-profit foundation. AIR, however, is not open source software — so, in addition to any technical differences, the licensing is also significantly different. That right there is a much bigger difference in the software itself than its point of origin.

Next comes the really funny stuff:

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

I love that “has been an active supporter” comment. Let’s flesh it out a little:

“Adobe has been an active supporter of [. . .] open source [for all of five minutes].”

There. I fixed it for you, Mike.

Mike really seems to be sold on the idea that Adobe is the Great White Hope of corporate support for open source development, and he really seems to want to convince us of the same. I’m not convinced. I’m likely to remain unconvinced until some time after Adobe provides open source versions of its browser plugins.

. . . or, at the very least, provides browser plugins that bloody well work with open source OSes and browsers. Come on, Mike — do you think you’re going to sell ice to penguins?

. . .

I don’t know why I’m continually surprised when employees of massive, market-dominating technology companies like Microsoft, Oracle, and Adobe spout this kind of defensive obfuscation. These corporations want to have their cakes and eat them, too: they want to leverage proprietary technologies for effective vendor lock-in toward the goal of increased market dominance, but employees like Mike still want everyone to see the corporation as the warm and fuzzy teddy bear of openness.

I can understand how one arm of the organization might be pursuing its usual “burn the village to save it” tactics while another is making honest attempts to extend welcome and aid to open source development projects. That’s entirely comprehensible, within the realm of the massive, bureaucratic collections of people with often conflicting agendas that get lumped together under the banner of a single corporate masthead. What gets confusing is the willingness — even eagerness — of employees of such corporations to attempt to use the friendly behavior of small, uninfluential (within the corporation’s power structure) divisions to justify the predations of the larger, market dominance oriented divisions that are busily pursuing a Final Solution to the “problem” of competition in the market.

It would be sickening if it weren’t so risible.

All original content Copyright Chad Perrin: Distributed under the terms of the Open Works License