Something's in the Air: Adobe's New Software Platform

By Mike Geraci
about

On February 25, 2008, The software giant, Adobe Systems, released version 1.0 of the Adobe Integrated Runtime, a.k.a "AIR" and significantly reinforced their position as purveyors of rich media on the Web and desktop. AIR does just that: delivers on Adobe's strong multimedia technologies infrastructure by offering a free software development platform that connects locally installed software with the power of Rich Internet Applications (or RIAs). Seems like a mouthful of tech buzzwords, doesn't it? What it means to the average computer user is that Adobe has produced a system for the creation of software that is poised to bring a new generation of specialized desktop applications that are Internet savvy to our personal computers. Oh yeah, and it's free.

In the halcyon days of software development, if I had an idea for a piece of software, like a tool that lets you compose text documents -- let's call it a "word processor". I would have to write all the code in a particular programming language and then compile it into a executable application. I would need to do this for each computing platform that I wanted to deliver it to: Windows, Mac OS, Linux, etc. Users of my application would have to purchase or download the right installer for their computer and then remember to check my Web site every so often for updates, patches, and new versions. In recent years, we've seen tremendous growth in the number and sophistication of applications like my word processor that run in the Web browser such as the ever-expanding offerings from Google. Adobe AIR combines the best of both these worlds, and it does it with industry-standard tools and technologies which allow non-programmers (well at least, technically inclined non-programmers) to build and deploy applications to all major computing platforms.

You may already have what it takes to build an application with AIR. You see AIR applications are created from one or more of the following technologies: HTML, JavaScript, XML, AJAX, Flash, and FLEX. So if you can create a Web page or a Flash movie, you can deliver it via AIR. Your end users can download it and use it on their computers (Mac, Windows, Linux) as they would any traditional piece of software. To do so, simply requires that they first download and install the free Adobe AIR runtime, a "virtual machine" application that runs behind the scenes. Just as Apple's QuickTime and Adobes Acrobat Reader give us access to a variety of media types, AIR provides an abstraction layer where AIR applications can interact with the operating system and other applications installed on the local system such as a Web browser.

What makes AIR special is that it is truly cross-platform. An application need be created just once and it can be delivered to all major platforms. Even the installer, which physically locates the application and all its resources on the users system is platform agnostic. On top of this, AIR applications work like other applications, they are persistent on the system (unlike Web apps which go away and take their data with them when the browser is closed) and they use the system's resources such as the task bar or application tray in Windows or the Dock, Dashboard, or Menu bar on the Mac. AIR apps use the local file system, meaning that they store and access information on the local system, which makes for a more responsive experience and much more storage capacity than is possible with Web apps.

Things get interesting when we consider the "Internet-enabled" aspect of the AIR platform. For once they are installed, AIR applications can operate using standard Internet protocols which allows them to send and receive data from remote hosts, download updates, and collaborate with other users without having to rely upon other applications. A good example of this comes from Adobe, who naturally want to highlight the power of this new system. According to the AIR Web site, Adobe used AIR to create a corporate contacts application that had every employee's contact information, calendar, and office location in it. The application and all of its data was installed and stored locally on employee computers. So online or off, at work or on the road, employees had access to the corporate contact database. However, once connected to the Adobe network, the application automatically synchronized the user's data with a master database and updated itself with new features (or bug fixes, as the case may be).

As of this writing, there are over 125 AIR applications available online; the majority of which are listed at the AIR apps wiki. While the possibilities for AIR apps seems limitless, it appears that a large percentage of the current offerings are companion products to popular Web services. For example, followers of the social news site, DIGG can now download a number of AIR applications that allow them to keep track of stories, diggs, and their Digg friends without having a Web browser running. Similarly, addicts... I mean users... of other popular social Web networks such as Flickr, Facebook, World of Warcraft, and all major Chat services can use AIR applications to feed their... ummm... social pastimes.

On the more utilitarian side, there's AIR applications that let Mac users search the massive AppleCare system, including the knowledgebase and discussions forums, create and manage e-Bay listings; and there's even a beta version of a project management application, Agile Agenda that allows for real-time project tracking and scheduling that allows you to store your project data online so it can be accessed from anywhere.

As an educator, I am excited to see that at least one of the online course management systems, Ucompass, is planning on building an AIR application that will allow users of their system to mange their online courses in a more efficient and streamlined manner. One can only assume that this will also happen at the student level, thereby providing students with easy access to course information and interactions.

It's fair to note that Adobe is nor the first company to offer a hybrid software environment like this. Google Gears, Microsoft Silverlight, and Mozilla Prism are all similar efforts to bring Internet-aware applications to the desktop. What makes Adobe AIR a bit more compelling is Adobe's dominance in the rich media landscape. They have the dominant creation tools in Dreamweaver, Flash and Flex and all of these applications are now AIR enabled via a free extension that can be downloaded. Adobe has the ability to combine their proprietary technologies like PDF (documents), SWF (multimedia), and FLV (streaming audio and video) with current open-source standards like AJAX, SQLite, and the Webkit HTML engine. In short, AIR applications should "just work" and will be buttressed by the immense user communities built around today's most popular standards.

If you're the security-aware type of person, you're probably thinking that AIR seems like yet another gaping access point for malicious code and malware. It's true that any locally installed application that has access to your file system presents a security challenge, but Adobe is taking security seriously by having all AIR application "digitally signed" using industry standard certificates and they have created a AIR sandbox model. All the gritty security details are beyond the scope of this article, but for now it's safe to assume that AIR applications will not simply be released into the wild to run amok on users' computers.

In conclusion, I believe that Adobe's AIR platform is a harbinger of what is to come; it's the next generation of software development working in concert with Web technologies that, even at this early stage, shows lots of promise for developers and users alike.

For more information about Adobe AIR: