Adobe Air – An Introduction

Over the past two months since Web.AppStorm was launched, I’ve received a good number of inquiries about Air.AppStorm. There seemed to be a lot of people curious about AIR apps and AIR news. Well, for the time being, we’ve decided to tuck the coverage of everything Air related under Web.AppStorm.

And today is the first day.

Perhaps you’ve heard of Adobe AIR. Perhaps you’ve installed it and used a couple of apps. Or maybe you’re a power user or an AIR developer. Whichever category you fall in to, the goal of this site is to provide a resource for all things AIR.

But for a lot people — even those web savvy folks who work with the web every day — this platform is still a bit of a mystery. So what better way to launch our AIR coverage than with an high level look at what exactly Adobe AIR is?

Adobe AIR – What is it?

When doing research on an application or technology, I have three sources of information that I start with. First, I start with the company, vendor or developer who created the tool or technology itself. Here’s how Adobe defines AIR:

Adobe AIR is a cross-operating system runtime that lets developers combine HTML, Ajax, Adobe Flash®, and Flex technologies to deploy rich Internet applications (RIAs) on the desktop. Adobe AIR allows developers to use familiar tools such as Adobe Dreamweaver® CS4, Flex® Builder™ 3, Flash CS4 Professional, or any text editor to build their applications and easily deliver a single application installer that works across operating systems.

That’s a fairly straight forward explanation. In laymen’s terms, it’s a way for developers to use existing web-based technologies to create a tool that is more desktop-ish in nature — basically an application that appears to run on the desktop, but uses all the tools that would work on a modern web browser.

The key term here is “cross-operating system runtime”. That means that users of Windows, OS X and Linux can all use the same application that was built with Adobe AIR.

Air apps

Secondly, I like to read about a subject on Wikipedia. Here’s a sample of the overview section of the entry on AIR:

AIR is intended to be a versatile runtime environment, as it allows existing Flash, Actionscript or HTML and JavaScript code to be used to construct a more traditional desktop-like program. Adobe positions it as a browser-less runtime for rich Internet applications that can be deployed onto the desktop, rather than a fully-fledged application framework.

Similar to the concept of a SSB (single site browsers) like Fluid or Prism, which allow users to create running instances of web app on the desktop, AIR creates an experience more like a desktop application than a web application. But it’s built on web technology.

And the third place I like to go for information is my peers. A quick poll on Twitter showed that many of the tech-minded folks I talk with have have concerns about a few aspects of AIR applications. I’ll get in to those concerns a little later.

The Good

As with most technologies, AIR has some good qualities and some bad. Here are the positives that matter the most:

  1. Speed: In general, AIR apps run fairly fast.
  2. Cross platform: Having the same app available on multiple operating systems (or OS) is a real boon for some people. As someone who had to use Windows XP over the past 5 years, AIR apps were an attractive option compared to some applications designed for that OS.
  3. Easy installs: Whatever OS you use, AIR apps are fairly easy to install. On Windows, the install process closely mimics what Windows users are used to. On OS X, the installer takes the user even a step further than normal and puts the app in a folder (defaults to the Applications folder).

For users, those are the features that are going to matter the most.

The Bad

It’s not all peaches and cream — there are some fairly serious concerns with using AIR apps:

  1. Performance: Even though the apps are generally speedy, they can have performance issues. Not unlike most web browsers, inactive AIR apps can tend to hog CPU cycles.
  2. Security: AIR apps have the same access to OS resources (files and folders included) that native applications do. There is an opportunity for exploitation beyond what a web app would allow.

And the Ugly

There is one thing you will not get from AIR applications — consistency in the user experience from app to app. There are no interface standards. As a result, the look and feel from one app to the next can be completely different. There are no conventions for a developer to adhere to.

This is no different than web sites or web applications, but can still take away from the overall experience.

Final Thoughts

Taking a step back and looking at the whole picture, what Adobe is doing is laudable. To provide a consistent approach across the platforms of the current operating systems is following the trend of the current cycle of technology — take the focus off of the desktop and put it on the web (or the cloud). We know this is what Google is doing, so it makes sense that other tech companies will also move in this direction.

With so many users adopting the idea of running web apps on their own — outside of their primary browser — Adobe gives another good option with the AIR environment.

Here are a few resources to read more on your own.

I hope that this has helped to get us started on the subject. From here on out we’ll be looking at the tools and utilities that have been built using AIR. If you have any recommendations or experience with AIR apps, I’d love to hear from you.