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.
Web-based applications recently have become the most prevalent way to provide equal access for everyone. Whether you call it Web 2.0, advanced JavaScripting or just the availability of a more diverse set of Web programming frameworks, the Web currently is a hotbed of new platform-agnostic programs. That trend isn't going away any time soon, but there are a few problems that are tough to solve with on-line apps. For one, relying on the Web browser to handle multiple applications puts all of your eggs in one basket. If the Web browser itself crashes, so does every one of your running programs. An even bigger problem is that if the Internet itself isn't accessible, neither is the Web-based program.
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.
Equal-Opportunity Adobe?
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.
Twhirl is one of the dozens of Twitter clients available. Many people find Twitter's Web interface much less useful than using a dedicated client. I'm in that boat. Twhirl has lots of seemingly simple features that make it a great way to interface with the Twitter universe.
Many users prefer another AIR-based Twitter app, known as TweetDeck. As both are free, and both work well under Linux, so I suppose it's only fair to mention both. Twhirl is just my personal preference.
Twhirl—works under Linux AIR 1.1 Beta: yes.
DestroyFlickr is a program that lets you manage your Flickr stream with an interface that resembles a light table. It's a convenient way to use Flickr.
Another application that currently works under Linux is Flump. It is much more simplistic in its interface, but it can upload and download photos.
Figure 3. Flump is a very simple Flickr app.
DestroyFlickr—works under Linux AIR 1.1 Beta: yes.
Snackr is an RSS ticker that runs along the border of your screen. Clicking on a story opens it in a preview window, which gives you the option to open the actual page in a browser.
If you would prefer to have a cute fuzzy puppy read your RSS feeds to you while he rolls around on your desktop, you might prefer Pet-It RSS News by zerofractal.
Snackr—works under Linux AIR 1.1 Beta: yes.
Snippage allows you to select a specific section of a Web site and make it display in a widget on your desktop. The Web site can update automatically, so if the page changes, so does the widget.
Snippage—works under Linux AIR 1.1 Beta: yes.
If you look at Google Analytics information very often, this application will save you time. Its functionality isn't much greater than visiting Google's Web site, but the speed and convenience is nice.
Google Analytics Reporting Suite—works under Linux AIR 1.1 Beta: yes.
Back It! is a simple utility for backing up a predetermined set of files and folders from one place to another. The program isn't complex, but it's a great example of AIR interacting with the underlying operating system.
Back It!—works under Linux AIR 1.1 Beta: yes.
RTM Notifier logs in to your on-line account and notifies you of upcoming tasks. I noticed a few graphic glitches running it under Linux, but the program itself is fully functional.
RTM Notifier—works under Linux AIR 1.1 Beta: mostly.
This is a children's program that reads with young readers interactively. There also are activities and the ability to download additional content. Pricing for additional content varies from free to slightly more expensive than free.
Figure 10. I'm a sucker for childhood literacy, so I really hope this program works better by the time you read this.
The functionality of this program is not consistent. Sometimes it won't load at all, and sometimes it starts almost enough to use. I included the app, hoping it works well when AIR for Linux is no longer in beta.
Sam's Interactive Reader—works under Linux AIR 1.1 Beta: almost, but no.
MyMediaPlayer is an application that interfaces the hulu.com Web site and makes it easy to navigate and display hulu videos.
Figure 11. MyMediaPlayer makes the already-simple hulu.com even simpler—assuming it works by the time you read this.
Under the Linux beta of AIR, this application does everything but actually play the videos. The menu navigation is easier than using the hulu.com Web site, and I expect it to be a great application once AIR gets out of beta.
MyMediaPlayer—works under Linux AIR 1.1 Beta: almost, but no.
If you use Pandora to listen to music, you know how inconvenient it can be if you accidentally close the browser window. Several Pandora AIR applications exist in the wild, and assuming the actual playback works once AIR is out of beta, this application will be awesome. It even integrates in the Linux notification area on the taskbar.
As with the other apps that play back media, Pandora apps don't quite work yet. By the time you read this, it should be an application you won't want to forget.
Pandora Desktop—works under Linux AIR 1.1 Beta: almost, but no.
FotoBooth is an application written in Flex that allows you to take photos with your Webcam. It supplies real-time effects you can apply to the photos and allows for uploading directly to Flickr.
FotoBooth has a complex history. It exists as a Web-only Flash application and several versions written in AIR. Some of the versions work under Linux, and some don't. Again, hopefully by the time you read this, it will be a moot point.
FotoBooth—works under Linux AIR 1.1 Beta: yes.
Because countless numbers of AIR apps are available, I'm certain I missed many that you would appreciate. The best place to search for new AIR applications is the Adobe AIR Marketplace (see Resources).
There is a significant chance that you'll want to create your own custom program as well. Fear not, because Adobe also offers tools that allow developers to create their very own AIR apps. Granted, the tools available for Linux developers aren't as robust as those available for Windows and Macintosh users, but the upside is that the Linux tools are free—well, at least for now.
Folks familiar with the Eclipse IDE can download the free (currently alpha, currently free, although that might change) Flexbuilder plugin. It interfaces with the extremely well-known Eclipse program to give Linux users a method for creating AIR apps. If GUI programming environments don't impress you, AIR apps also can be created with a simple text editor.
When you add the simplistic installation method, the cross-platform homogeny and the availability of (albeit rudimentary) development tools for Linux, Adobe AIR is a platform that levels the playing field a bit for those who prefer Linux. Most encouraging of all, at least for me, is that Adobe is paying attention to Linux in a way that has never before been witnessed. And, that kind of Flash really gets my attention.
Resources
Adobe AIR Linux FAQ: tinyurl.com/airfaq
Adobe AIR Marketplace: tinyurl.com/airmarket
Adobe Flexbuilder Linux Page: labs.adobe.com/technologies/flex/flexbuilder_linux
Twhirl: www.twhirl.org
TweetDeck: www.tweetdeck.com
DestroyFlickr: www.destroytoday.com
Snackr: www.snackr.net
Snippage: snippage.gabocorp.com
Google Analytics Reporting Suite: Available on the Adobe AIR Marketplace (see above)
Back It!: backit.underplot.com
Remember the Milk Notifier: rtm-notifier.com
Sam's Interactive Reader: www.storybookanytime.com
MyMediaPlayer: www.paulyanez.com/labs/mymediaplayer
Pandora Desktop: www.pandora.com/desktop
FotoBooth: tinyurl.com/fotobooth
Shawn Powers is on the editorial staff for Linux Journal, a technology director for a school district, a dad, a husband and is beginning to lose his hair. He's very happy about all but one of those facts. Reach him via e-mail at shawn@linuxjournal.com.