For years, one of the decisions every team embarking on a mission to create desktop software has been faced with a common challenge: Determining which operating system(s) should be targeted for their application.
Remember the early promise of Java?: "Write once, deploy cross platform". The thought at the time was that applications written in Java, including Java Applets would be the holy grail of software deployment, finally eliminating the need for businesses to choose Mac or Windows or Unix/Linux. In theory, Java is a solution to this problem, however time has shown that Java applications are far better suited to run cross-platform "on the back end" than as end-user GUI applications.
A lot of software designers and user experience professionals would probably agree that Java for cross-platform GUIs failed, in part, due to the cumbersome process that end-users had to go through to ensure that their installed Java runtime would allow the application to run. Also, java applications of this nature just didn't, couldn't, wouldn't perform as well as required and weren't stable enough for a real takeover in the consumer market. The latter is most often blamed directly on the decisions made by the folks at Microsoft in their effort to combat the threat posed by Sun and the possibility of a Java-based operating system.

A lot has changed since back then! While Windows is still the dominant operating system for both business and personal users, there has been a huge gain in market share by Apple, as well as with Linux. While it used to be a satisfactory decision to "just make an application for Windows", more and more companies are now thinking about "cross-platform" as a necessity and no longer just a "nice to have".
Today, Adobe jammed their flag in the ground, staking claim to next generation cross-platform desktop applications. They Announced Adobe AIR (Alpha) for Linux!
This announcement means that countless Linux (Ubuntu, Debian, SuSe, etc) users are now able to play along in the "Rich Desktop Client" reindeer games enjoyed by both Mac and PC users since the public release of Adobe AIR.
In addition to the release of the AIR runtime, Adobe also announced that the Adobe Flex Builder IDE was also available for Linux!
So, it seems as if Adobe has defined the first stable, freely available, and truly cross-platform solution for desktop application development. Why is this really a big deal?
(I do realize that technologies like Python also run cross-platform, but we are talking about something much more adoptable by end-users with AIR).
In my opinion, this is interesting for three primary reasons. Reason number one is that this means that software development teams (and business folks that pay them) no longer need to cut Linux users out when bringing applications to market.
Secondly, and less obvious, Adobe's acknowledgement of Linux moves the operating system one step closer to being the preferred OS for many folks that were disappointed by the range of desktop software available that has traditionally been available.
Hardcore Linux users will disagree with me on this point. I am sure that it wouldn't be too hard to find people who'd passionately debate this and stand strong in their belief that Linux is, and has been, the greatest thing since sliced bread (or inkjet printers). I don't disagree with the fact that Linux is a powerhouse of an operating system.
I must point out, however, that after many attempts by different companies pushing Linux distributions (Redhat, SuSe, Mandrake, etc, etc) as well as hardware vendors and retailers trying to sell Linux-based desktops or laptops, that the general public has shied away from the platform.
It isn't only the common everyday users that have found Linux to be less optimal than Windows or Mac's OS X. Even industry insiders and RIA thought leaders like Adobe's Ryan Stuart admit that the reason they haven't made the full-time switch to Linux is due to the lack of quality software applications or choice of applications that they have.
Let's face it, Linux is a wonderful system, however for the untrained user, can be unwieldy to say the least.
I suspect with the newfound popularity of the Ubuntu Linux distribution, and with the new ability for AIR applications to run on the platform, more and more folks will be stimulated to give Linux another shot as their OS of choice.
Now that Adobe is releasing Flex Builder for Linux, is it possible that they will follow suit with their other software tools (Dreamweaver, Flash, CS3, etc?) If that is the case (total speculation), it only adds support to software/web design professionals' desire to take Linux more seriously.
Lastly, having been involved in the strategy, design and development of many different software projects, I can attest how unrealistic it really is to try to develop different instances of a software product to run on different operating systems, while still maintaining quality and brand identity (not to mention plain old usability). The primary OS always gets the funding, and the secondary platform (usually Mac OS) typically suffers.
Need an example? Have you used Microsoft Office on a Mac lately?
Moving on...
One major challenge to this entire argument (and one I am sure I will hear!) is the fact that Adobe AIR still runs inside it's own security sandbox, and that applications developed to run on the AIR platform still don't have the "real power" of traditional desktop applications. In short, to prevent the ability for AIR applications to take over your computer or execute malicious code, they are limited in what they can or can not do.
The primary limitations of AIR applications is that they don't have system-wide file access, can't connect natively to external devices, and rely on the Adobe framework to do what they need to do. Having talked to the folks on the AIR team about this, it is clear to me that they realize this deficiency and leave me with the assumption that down the road, the AIR platform may become more robust, enabling more and more integration directly with the end-user's operating system.
Until then, there is Merapi. As a member of the Merapi project, the release of AIR for Linux is terribly exciting. We've created Merapi in anticipation of this, and because it is developed in Java, Merapi is designed to run cross-platform, alongside the Adobe AIR framework.
The concept is that developers could create their application using the Adobe AIR runtime, and package it up with Merapi, utilizing the Merapi API and plugin architecture to do things that AIR isn't able to do by itself. For more information on Merapi, check out this recent post or hop on over to Adam Flater's blog where he's been making updates until we get the Merapi Web site and SVN repository online.
All in all, it is going to be one very exciting year in the world of next-generation thin-client applications, cross-platform software design and development and the adoption of Linux by users who were previously scared away by its lack of support from major software manufacturers like Adobe.
For more information on this announcement and Adobe AIR/Flex on Linux, check out the following: