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.


  1. Actually, I don’t believe I ever commented on proprietary verses non-proprietary in my post

    The post was about Mozilla’s characterization of Adobe’s intentions as wanting to “replace the web”.

    I probably should have emphasized that in italics when I reprinted it, as a lot of people seem to assume I took offense that AIR was describe as proprietary (although I don’t really discuss that in the post).

    mike chambers

    Comment by mike chambers — 29 October 2007 @ 01:11

  2. Actually, I don’t believe I ever commented on proprietary verses non-proprietary in my post

    No . . . but you should have. That’s the point. Proprietariness of the code is the key point being made in the comment that had you so up in arms. You leaped from there to “just because we’re a corporation”, when whether or not Adobe is a corporation has nothing directly to do with whether its software is distributed under a proprietary license.

    You spent an awful lot of time discussing things other than the “replace the web” part for someone whose only concern was whether or not AIR is meant to “replace the web”, by the way — including that bit about “evil”. You also failed to directly state anything about how AIR does not in some way aim to “replace the web” — and you seem to have chosen to ignore the fairly substantial body of points I made about how it does in fact aim to “replace the web”.

    I’d be interested in reading your response to that, if you have one.

    Comment by apotheon — 29 October 2007 @ 01:32

  3. I believe most AIR applications will either be a complement to a web-based application, like Pownce’s AIR client and the eBay San Dimas project (still in beta, I believe), or a desktop application that consumes data retrieved from the web (like a custom RSS news reader). It’s not going to replace the web, it’s going to work in conjunction with it.

    It sounds like Prism is headed in that direction too, but will I be able to write my own Prism applications, or am I limited to contributing code to the overall Prism project? Too early to tell.

    I think what will make AIR appealing to web developers is the fact that they’ll be able to create desktop applications using web technologies, either HTML/JavaScript/CSS or Flex, and the AIR API that will run on Windows, Macintosh, and Linux systems. Certain applications will benefit from being able to access and interact with the desktop and store data locally when a network connection isn’t possible.

    If Mike seems defensive about AIR and Adobe technology in general, I can’t say I blame him. Adobe gets a lot of verbal abuse from the Slashdotters and the open-source community about the proprietary aspect of their code; it comes up almost every time Adobe releases something for the Linux community (Flash Player, Flex Builder, etc.). If I worked on the Linux team at Adobe, I’d wonder why I was bothering to produce anything for such an ungrateful bunch. They don’t have to agree with how Adobe runs their business, but offering constructive criticism would be a lot more effective.

    Comment by Brian Swartzfager — 1 November 2007 @ 05:57

  4. Bah! The two middle paragraphs got transposed somehow, probably when I tried to highlight all the text and copy it to the clipboard in case the form post failed. Anyway, read my 3rd paragraph before my 2nd one and it’ll make more sense. :)

    Comment by Brian Swartzfager — 1 November 2007 @ 06:02

  5. If I worked on the Linux team at Adobe, I’d wonder why I was bothering to produce anything for such an ungrateful bunch.

    I have to wonder what constructive criticism could be offered, other than “Please provide open source clients.” Ultimately, the problem is that Adobe (like many corporations just dabbling in the open source world — one might assume for the buzzword value of it more than anything else) doesn’t seem to realize that developing for the open source world doesn’t work very damned well if you’re a closed shop working with closed code and a limited development team. The reason it doesn’t work is that the open source platforms are multitudinous, and the moment you push out a single iteration it’s going to get modified by many of its users.

    There’s no way to keep up with that to a degree that makes it worth doing for a limited dev team without outside help like the sort you can get with open source software. As a result, Adobe’s Flash players for “Linux” are buggy and very poorly portable across open source platforms.

    Why the hell should I be all warm-n-fuzzy grateful for a Flash player that doesn’t work natively on my OS anyway? As things currently stand, the only reason I can get a Flash player working here is because some open source hackers got together and wrote a wrapper for the thing. Actually, there are at least three wrappers, each of which works with different versions of the Adobe Flash player plugin, because Adobe’s ability to develop a stable, consistent Flash player is greatly hampered by the fact it just doesn’t seem to understand (as an organization) that developing for open source platforms is not the same as developing for MS Windows.

    Hell, Flash players from Adobe don’t even work very bloody well with Firefox on MS Windows, let alone on non-Microsoft platforms.

    Even if there was no ideological reasoning behind the dislike of proprietary software, the fact that it’s proprietary, closed source software leads to a huge source of frustration for many would-be users because it means that trying to use it with open source platforms (or even open source applications like Firefox) is:

    1. prone to stability issues

    2. not fixable

    I find it very difficult to sympathize with someone who wants to justify that sort of broken-ass operational characteristics by saying “Yeah, but we wrote a Linux version!” Maybe it works on Fedora 4 or SuSE 10.3, usually, but stability of the Flash player plugin for Linux degrades rapidly from there — and the apparently congenital inability of proprietary software developers to write portable code (so that it works on more than just Linux with a particular kernel version and configuration) gets really old in a hurry.

    In other words, the reason they’re “an ungrateful bunch” is the same reason I’d be ungrateful if you offered me a free motorcycle that got three miles per gallon, maxed out at fifteen miles per hour, stopped working on specific roads, required applying about six hundred foot-pounds of torque with a hand-crank to start it, and ran a 12% chance of blowing up and killing me every time I filled the gas tank. Gee, thanks. I can’t even give this thing away (thanks to the limits on redistribution in the end user license for the Flash player, or the simple fact nobody wants the damned thing in both cases).

    Haven’t you ever wondered why many people use the Gnash plugin instead of Adobe’s Flash plugin? It’s because, despite Gnash being reverse-engineered, half-baked hackery, it’s not any worse than Adobe’s Flash plugin. It just has different failings.

    Sounds like a rousing endorsement for the efforts of Adobe. In the real world, people don’t care how much “effort” the corporation has put into trying to rope in a new market niche (because, no matter what the marketing materials say, Adobe is not doing this out of the kindness of its corporate heart). They care about whether you’ve given them a cure that’s not worse than the disease — or the alternative cures.

    Comment by apotheon — 1 November 2007 @ 02:10

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

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