Setting AIR Apart from Other Desktop Runtimes
As is to be expected these days, any major initiative from Adobeparticularly where Flash is concernedwill draw a fairly significant amount of attention, ranging from praise to vitriol, from naysayers to pundits of all flavors. Most of the commentary appears to be in the form of comparisons with tools that are similar in one or more ways to the functionality of AIR.
The truth is, like any product, particularly one at the start of its life cycle (AIR isn't even 1.0 yet), AIR has pros and cons; choosing a desktop runtime is very much a decision about using the best tool for the job.
Initial discussions compared AIR to third-party Flash projector enhancers, such as ScreenTime's mProjector. Comparisons to Flash projectors are fairly obvious because of AIR's tight ActionScript integration, and because the projectors Flash creates are nearly worthless. To be more precise, native Flash projectors are little more than an extension of the Flash Player. They offer a scant handful of new features, the most often-used one being the ability to present a file in full-screen mode, but lack everything essential to desktop delivery, including OS integration.
However, while AIR is salivation-worthy compared to existing options, it may not always be the best tool for the job. Without delving into a deep, point-by-point comparison, here are a few general reasons AIR may not fill all your desktop application needs at this time. (By comparison, ScreenTime's mProjector addresses these limitation examples either in whole, or in part.):
- Extensibility. AIR cannot be extended with native code, leaving its feature set pretty much where it stands upon release.
- Launching external applications: AIR cannot currently launch other applications. This functionality exists in a very limited way in Flash projectors, but security played a large part in restricting this feature in AIR.
- Installation: AIR applications must be installed to work. In addition to being seen by some as a potentially risky or invasive process (an opinion I don't share), the big issue here is that AIR applications cannot be run from a CD- or DVD-ROM, or even a kiosk, if not previously installed. In some circumstances, such as some of the education work I do, this can be a nonstarter.
- ActionScript version support: For the purposes of this particular analysis, AIR supports only AS3. Based on what I understood when AIR was first being discussed with developers, I was later surprised to discover that legacy SWFs are in fact supported, which is great. However, as the AIR-specific APIs are ActionScript 3.0 only, older SWF files will not have access to the desktop-application-specific functionality cited previously.
Another factor is installation size, which is somewhat of a half-full/half-empty debate. The AIR installer is between 5 and 9 megabytes, which is a hefty download. By contrast, ScreenTime's mProjector averages 300800 KB, which isn't as disparate as it may seem, however, because the AIR runtime, like the Flash Player, must be installed only once (though it will require updating from time to time).
The final AIR applications, like Flash SWFs, are very small. (One of the demo files included in the accompanying download, including two PNGs, is only 54 KB.) If you are likely to download a lot of AIR files, the large initial file size will eventually be met by the per-installer file size of other projector enhancers.
The AIR file/player approach has other benefits, too, such as tighter technology integration (Flash, HTML, PDF), more standardized delivery, and tighter security. AIR will also support an integrated application update feature that other projector enhancers don't have.
To be fair, Adobe isn't aiming its application at the desktop-enhancer market. From its product materials: "Adobe AIR is not a general desktop runtime that competes with lower-level application runtimes. Adobe AIR comes from the web to the desktop and is aimed at web developers. Its primary use is to enable web applications and RIAs to be deployed to the desktop."