WARNING: This blog contains random thoughts on technology, software engineering, and general all-round nerdery. Read at your own risk. Nerd is contagious.

Tuesday, July 17, 2007

Hot AIR?

So, I've joined the AIM team! I'll be working on using WIM (Web AIM) technologies to build cool new apps, so I'm very excited about the new opportunity :)

Ok, enough about me. Yesterday the Adobe onAIR Bus Tour rolled into LA, so James, Richard and I drove up to get a hands on introduction to AIR (formerly codenamed Apollo). I'll post my conference experiences later but I thought I'd talk a little just about AIR first.

AIR (Adobe Integrated Runtime) is a platform to build desktop applications. Well, actually rich internet applications (RIA's). Ok, so it has the Inturnets in its name, is it a web page? Is it a browser? No, it's a way to use either Flex (.mxml + .as), or HTML (.html + .js) for building full featured desktop apps. You get a lot of cool services through the AIR runtime, so you can get access to file I/O and drag & drop support to JS, and you can now save and open files from your computer.

I know what you're thinking: "What about the security issues?!? This is dangerous!", "So basically it's like a webpage with system-level permissions, right?" Well, no and NO. See you're still thinking of this as a webpage! Stop! Yes, you're using HTML + JS to build an app, but it's not an app that you accidentally navigate to and all of a sudden somethings writing files to your desktop.

Take the browser out of the picture. Go on, I'll wait. Ok. Ready?
  1. A user has to have the AIR runtime installed on their machine. Just like Acrobat Reader, etc. Get it here.
  2. You can now download and install .air files. What's an .air file? It's a fancy relabeled .zip package that contains MXML, ActionScript, HTML, JS (or any combination thereof), and whatever else resources (images, etc.) that gets installed on your machine. I'm talking in Add/Remove programs, Start menu integration, etc.
  3. The point is, .air files don't just suddenly execute by you going to a web page. The user has to download it and install it.
So what does this give you AKA "Why are you trying to not be on a webpage for chrissake??"? First of all, the user experience on a desktop is much richer than that on a webpage. Ever keep an eBay page open and occasionally refresh it so that you can keep track of your bid? Imagine what eBay on the desktop can do:
  • First off, when you look at eBay, you're looking at a webpage, in a browser, in a window, on your desktop. That's a lot of visual and mental clutter. Imagine an eBay window that has your watched item and is tracking it for you, that is designed to be just for eBay
  • You can get a growl-like notification when you get outbid. Now compare that to hitting the Refresh button constantly on your browser. No comparison :)
Of course, the example above was not made up by me, eBay has been working on an AIR app: San Dimas.

AIR apps have started popping up all over the place. Pownce released their AIR app the same day they opened the site. FineTune (which I've blogged about before) has a desktop media player that, because it's on your desktop, can now act not only as your internet radio, but mix in your music from your iTunes library. A web app can't do that.

Ok, so I've sold you on rich internet apps, right? This is obviously not new, as Boxely can also do these things. But Adobe has put a lot of people behind promoting this platform and are determined to make it the de facto standard for rich internet application development.