Building Desktop Applications For The Web With Adobe Integrated Runtime
People are building desktop applications for the web that are unlike any web-based application anyone has ever seen before.
Just about everyone with a web connection has experienced Adobe Flash content/applications. But, Adobe's Flash is not a "web technology" by any stretch of one's imagination—the fact that the Flash player is installed on most people's systems and thus Flash content can be played within the browser is the reason why Flash is wrongly assumed to be a web technology. The browser's presence in rendering Flash content/applications is entirely incidental.
But, what if your users want to run your "connected" application offline? Or, what if they want access to their local file system, a feature that browser applications typically don't allow because of security restrictions?
Adobe has launched a new environment, Adobe Integrated Runtime (AIR), an extra layer of software that allows the same program to run on different operating systems and hardware (Java is another example). AIR allows applications to be installed on the local operating system and accessed from the desktop just like the other applications that the desktop user runs. At the same time, AIR applications can access online information. That is, these rich applications can run either online or offline, when appropriate or necessary. One example is eBay Desktop, which allows sellers to complete a listing offline and then upload it to eBay when they are connected to the Internet. AIR version 1.0 was released on February 25, 2008.
AIR is not a general desktop runtime that competes with lower-level application runtimes. It comes from the web to the desktop and is aimed at web developers. Its primary use is to enable web applications and Rich Internet Applications (RIAs) to be deployed to the desktop.
Figure 1 illustrates the overall AIR system architecture that enables robust and feature-rich applications to run on the desktop (Windows, Mac, and Linux—in the near future), the web, or both.
Figure 1: Adobe AIR application stack—simplified view
Note: Flex is a GUI toolkit library that sits on top of the Flash library and runtime. The output of a Flex build is simply a SWF file (the type of file that the Flash player will run; it ends up being just another Flash application. The Flex SDK is free and open sourced; you can write Flex applications, compile them, and ship them all for free.
The references at the end of this article provide a good deal of additional information on terms such as Flex, AJAX, and the like used in Figure 1, for those not already familiar with them.
AIR applications run with the same user privileges as native applications. In general, these privileges allow for broad access to operating system capabilities such as reading and writing files, drawing to the screen, communicating with the network, and so forth. And, operating system restrictions that apply to native applications, such as user-specific privileges, equally apply to AIR applications.
Today's users don't have to seek out AIR to enjoy its benefits; they are prompted to download it along with the first AIR applications they want to use. My guess is that future versions of the ubiquitous Flash player will be bundled with AIR.
Google Analytics, a web traffic analytics service, is a prototypical AIR application. It is extremely comprehensive, quick-to-setup, easy-to-use, and totally free. It's a powerful tool that can help you better understand your traffic/visitors, measure performance of individual pages (or even ad units), identify low performing web pages, and more. Note: If your web site receives fewer than 50-100 K pageviews/monthly, any simpler analytics tool should be sufficient as well.
Google now officially supports the development of the Google Analytics AIR application built by Nicolas Lierman at Boulevart. They are in close contact with the Google Analytics team to make sure the AIR app has all the latest and upcoming Analytics features present. Google will also host the app on the Google domain once it is released. The release of Google Analytics AIR is currently slated for mid 2008.
Figure 2: Google Analytics running on the Mac