AIR Out Your Desktop with Adobe

Shawn Powers

Issue #179, March 2009

Cross-platform never looked so Flashy.

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.

Cross-Platform Apps, a Great Concept

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.

On the Web, Computers Become Irrelevant

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.

Enter: AIR

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.

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

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.

Figure 1. Twhirl is a Twitter microblogging client.

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

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.

Figure 2. DestroyFlickr manages your on-line Flickr account.

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

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.

Figure 4. Snackr continuously scrolls your RSS feeds, so you can “snack” on them at your leisure.

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.

Figure 5. Pet-It RSS uses an avatar much less annoying than Microsoft's Clippy.

Snackr—works under Linux AIR 1.1 Beta: yes.

Snippage

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.

Figure 6. Snippage lets you create a widget from a Web page selection.

Snippage—works under Linux AIR 1.1 Beta: yes.

Google Analytics Reporting Suite

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.

Figure 7. Browsing through Google Analytics information is simple with this application.

Google Analytics Reporting Suite—works under Linux AIR 1.1 Beta: yes.

Back It!

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.

Figure 8. Back It! does exactly as its name suggests. It backs stuff up.

Back It!—works under Linux AIR 1.1 Beta: yes.

Remember the Milk Notifier

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.

Figure 9. Remember the Milk Notifier is a popular on-line task manager.

RTM Notifier—works under Linux AIR 1.1 Beta: mostly.

Sam's Interactive Reader

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

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.

Pandora Desktop

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.

Figure 12. Pandora is a Web application just begging to be a standalone app.

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

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.

Figure 13. FotoBooth is a clone of Apple's PhotoBooth, with Flickr integration.

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.

Almost Equal-Opportunity Development

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.

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 info@linuxjournal.com.