AIR Out Your Desktop with Adobe
Most Linux users are intimately familiar with programs that are similar to their commercial counterparts, but not quite the same. There isn't anything wrong with clone applications, but if programs were inherently usable, regardless of the underlying operating system, fewer programmers would have to re-invent the wheel over and over again.
One real hope for Linux users is the idea of cross-platform applications. It's not a new concept, but we're beginning to see some huge leaps in the ability for Linux users to use the same applications that Windows and OS X users use—not just clones, but the same actual apps.
Java, for instance, is a great way to make the underlying operating system unimportant. One really huge stumbling block with Java programs, however, is that packaging them for the different computer systems is very difficult. Sure, you can download a JAR file, but that does the average user little good. It takes effort to make installers for each platform you want to support. Java also has a reputation for poor performance. Before any Java developers form a lynch mob and hunt me down with pitchforks, note that I said it has a reputation for poor performance. At one time it was true, but in most cases, these days Java programs perform quite well. However, fair or not, the general opinion regarding Java programs to date is that they are slow and cumbersome.
Several potential solutions exist to solve the “unconnected” problem regarding Web apps. Google, for instance, continues to develop its Gears infrastructure that allows people to use Web applications when in off-line mode. The concept, whether implemented by Google or someone else, will make Web applications more viable as desktop program alternatives. Unfortunately, it still tethers us to a Web browser. Projects like Prism can allow for separate instances of Web applications, but regardless of what browser is used, the apps still require the browser in order to function.
Adobe has taken its long history of Flash on the Web and given developers the ability to create standalone applications that don't depend on a Web browser at all. I know that many Linux Journal readers just rolled their eyes at the mention of Flash technology under Linux, but to be fair to Adobe, it has put more serious effort in its Linux ports recently than ever before. The mere fact that the same version of Flash is available for Linux as is available for Windows proves that Adobe is taking our favorite operating system more seriously.
So, what makes AIR unique? Several things:
Applications look and function the same, regardless of the operating system.
Developers do not need to package AIR apps separately. One package installs identically on any platform.
AIR applications, along with the AIR environment itself, can be installed directly from a Web link inside a Web browser (assuming a recent version of Flash is installed on the computer).
Applications are standalone and don't require a browser. One AIR app doesn't affect other apps if it crashes.
Although the initial development of Adobe's AIR for the Linux platform has been behind its Windows and Macintosh counterparts, Adobe promises future releases all will come out at the same time for all three platforms. I contacted Rob Christensen, Adobe AIR Senior Product Manager, and he confirmed that future releases are planned to come out simultaneously.
At the time of this writing, that means while AIR 1.5 is available for Windows and OS X, the latest version for Linux is 1.1 Beta. The unfortunate side effect of the different versioning is that many of the newest (read: coolest) AIR applications don't run under Linux, because they require the 1.5 runtime environment. In fact, due to the “beta” aspect of the Linux port, some apps designed to work with version 1.1 don't even function properly.
Hopefully, Adobe will remain true to its promise, so AIR apps work everywhere, all the time, regardless of the underlying OS. I'm hopeful, especially after seeing the recent timely releases of Adobe Flash.
One of the best things about AIR applications is that they tend to look aesthetically pleasing. Let's look at a few from Adobe's AIR Marketplace. I specifically focus on those that work under Linux now, and a couple that I hope work by the time you read this article.
- Let's Go to Mars with Martian Lander
- Applied Expert Systems, Inc.'s CleverView for TCP/IP on Linux
- My Childhood in a Cigar Box
- Papa's Got a Brand New NAS
- Returning Values from Bash Functions
- Rogue Wave Software's TotalView for HPC and CodeDynamics
- OpenSSL Hacks
- Panther MPC, Inc.'s Panther Alpha
- Tech Tip: Really Simple HTTP Server with Python