The most important part of my job is writing AIR applications, and I’ve written quite a few. In addition to applications, my team and I have written a great deal of reusable ActionScript library code (Amazon S3 APIs, Exchange APIs, etc.). Everything I’ve written is completely free and open source.
The problem is that I haven’t done a very good job in keeping these applications and libraries synchronized with the the publicly available version of AIR. It’s not that I’m lagging behind, though. In fact, I have the opposite problem: most of this code has been updated to work with the the latest internal versions of AIR so that I can keep banging on, testing, and exercising the latest and greatest runtime.
I just wanted to let everyone know that I will be releasing all my apps the day we release AIR 1.0. If you can’t wait that long, the source code is all available here in Google Code. In theory, all of the libraries should work with the public AIR beta (beta 3), and the applications should all work, as well, as long as the application descriptor’s namespace is set to 1.0.M6 rather than 1.0. Anything that doesn’t work, or any bugs that you find, will be fixed in the final 1.0 release.
Below is a list of almost everything I’ve written that’s worth releasing (I’ve written dozens of test applications that will never see the light of day).
Applications:
- Apprise: A simple but powerful RSS aggregator.
- Lineup: A application for viewing your Exchange calendar, and receiving meeting notifications.
- PixelPerfect: Measure things on your screen in pixels.
- S3E: Easily manage your Amazon S3 objects and buckets.
- SPF (Screen Protection Factor): A multi-monitor screen saver.
- ScreenBoard: Draw on your screen during presentations.
- HTMLScout: A tool for inspecting the DOM of an HTML page.
- Timeslide: A simple but useful countdown timer with good visual feedback.
Libraries:
- as3corelib: The corelib project is an ActionScript 3 Library that contains a number of classes and utilities for working with ActionScript 3.
- as3fedexlib: A wrapper on top of some of the FedEx XML APIs.
- as3syndicationlib: Use the syndication library to parse Atom and all versions of RSS easily. This library hides the differences between the formats so you can parse any type of feed without having to know what kind of feed it is.
- as3awss3lib: This is an AS3 library for accessing Amazon’s S3 service.
- as3notificationlib: This project makes it easy to add cross-platform notifications to your AIR application. It handles "native system notifications" like the dock icon bouncing and the taskbar icon flashing, and it allows you to easily create alert "pop-ups".
- as3exchangelib: This is an ActionScript 3 library for talking to Exchange servers. (Currently only supports retrieving meeting information.)
- as3preferenceslib: An AIR library for storing preferences. It worries about persistence and even encryption for you.
- as3nativealertlib: This project creates Flex-like alerts, but they are native windows so they can appear outside the bounds of your application.
The source code for all these applications and libraries is available here. You will need to use subversion to download the source.

Great resources, I can see where several of these will be handy in my current AIR apps. Any tips on actually using the SPF app as a screensaver? Just curious, anyhow thanks very much.
These are great, I want to try some of them out but there doesn’t appear to be compiled versions for many of them – the adobe labs samples seem to have changed…? I just can’t face downloading and setting up Flex, SVN and the Air SDK right now lol.
Max,I’ll release compiled versions (with simple installers) the day AIR 1.0 launches.Christian
Thanks Christian, this is a great resource and when I get a minute I’ll be investigating – much appreciated
Christian,Thanks you for all the work. I’m hoping you can give me a quick pointer, as I’ve literally been trying to solve this problem all day. While I’ve learned a lot in the process, so it has been time well spent, I’ve still not fixed the problem.I am trying to work with your S3 code. The problem is that the compiler see the uploadUnencoded method of File as undefined. In the documentation, I can clearly see it is a method of FileReference. I’m using the air-config.xml.Any pointers?Many thanks,Chris
Looks useful – just curious though – are the AS3 libraries specific to AS3 or are they specific to the features of AIR?It looks like they might be a mix?
Hi Christian,Thanks for all that. I’m using your S3 library (and other code), and it’s opened up a great wealth of possibilities with AIR. I’m looking to do a bit of refactoring it a bit to facilitate integrating it into a queuing framework (itself a part of larger open source framework). Are you interested in discussing community contributions?Best Regards,Ian McDonaldSubaltern Productions
These look enticing but I simply cannot seem to make them work. I’ve downloaded HTMLScout version “v1″ and Apprise version “1″ from Adobe’s AIR samples, and I’ve got AIR 1.0.4880 installed on Windows. The sample apps start up but they don’t do anything. (Apprise goes so far as to produce “Network error: Error #2032″ but that’s all.) Is this a mismatch of apps to AIR version? I am admittedly a complete beginner with this stuff. If I could get these working they would be fabulously instructive!Thanks,Per
Does as3notificationlib work with Javascript AIR apps? If it does, how might I go about using it? It looks like Jonathan Snook might be using it in his Snitter app, but there’s only a SWF in his source and so I’ve no clue what’s actually in it.Any pointers on getting this working with HTML/JS apps?
Hi Christian,I’ve been playing with your s3e flex app. It works fine
However, the code in SVN references a MimeTypeMap (from corelib) which doesn’t seem to exist in the latest corelib codebase(thru SVN). Maybe I’m missing out something. Anyway, I commented that out, and just using plain application/octet-stream.I’m basically a Java programmer. So the notion of sending an upload request to a file object seems kind of weird to me (objectFile.uploadUnencoded(req) in saveObject method of AWSS3). Shouldn’t it be more like an I/O Channel that should push the file-bits?Anyway, just dropped by to say Thanks!
Hassan,I just checked to make sure the MimeTypeMap is in SVN, and it is. It’s available from here:http://code.google.com/p/as3corelib/source/browse/trunk/src/com/adobe/net/MimeTypeMap.asThanks,Christian
Thanks Christian, I was able to retrieve that file.
Hi, Christian.First, thanks for all your contributions to the community. These libraries are a huge help to someone just getting started with Flex.I’m having trouble getting the as3awss3lib to compile. I’ve filed a bug at Google Code herehttp://code.google.com/p/as3awss3lib/issues/detail?id=7Could you take a look and let me know what I’m doing wrong? I’ve tried everything I can think of and can’t seem to get around it.Thanks,Jamie
Can you please help?There is no file to download at this address :http://code.google.com/p/as3corelibChristian says: Use SVN. There are no downloadable zip files.