
I’m excited to share with you the launch of Supercast, a premium service for DirecTV subscribers that allows viewers to watch all NFL games in high-quality h264 video encoding, while getting the latest scores, plays, and highlights.
While Flash video in the browser is great, the AIR application leverages a number of desktop API’s to improve the viewing experience, while providing DRM support that makes this type of application viable to media companies like DirecTV.
I think this project also proves there is commercial viability for AIR applications. Its probably the first AIR app that you can’t install, which is too bad because its one of the best. Definitely check it out if you have NFL Sunday ticket.
While I got to get my coding mitts in early on the project, the lion’s share of the application was built out by two talented consulting groups - Blitz Agency and gskinner.com. Congrats!
posted by admin at 2:39 pm
AIR provides some great API’s for integrating with other applications. Via the NativeDragManager and Clipboard classes, you can easily export your data in a multitude of formats, including PNG and CSV. Recently I had an project that utilized these features, and I figured it would be good to share the techniques with the community.
In particular this example, framed as a basic stock chart application, demonstrates the following features:
- Native drag-and-drop with PNG images and custom image proxies.
- Copy to Clipboard / Export with both PNG and CSV data formats - Right-click on the chart to get your options
- Example code for customizing the HLOCChart class look-and-feel
These features were factored into ‘behavior’ classes so that they can (fairly) easily be applied to your own AIR apps.
Source is available by right-clicking and selecting ‘view-source’ in the application from anywhere but the chart.
posted by admin at 1:10 pm
James Ward created an excellent RIA Data Loading Benchmarking tool that compares the load, parse and rendering time of a number of RIA technologies including both AJAX and Flash based technologies. Its nice to see a well-designed tool spell out the performance differences of technologies. This should make it easier for Flash developers to explain to their CTO why AMF will save them money and result in a better app. Nice work!
posted by admin at 10:01 am
In my last post, I wanted to distribute a sample AIR application via the user-friendly badge installation process. After taking a look at the available options, I came across an excellent Flash embedding solution for Wordpress called Kimili. Kimili is a Wordpress friendly wrapper on top of Geoff Stearns excellent SWFObject Javascript library.
I thought I would share my code snippet for my previous post in order to help the next person who was trying to get AIR badges in Wordpress going:
[kml_flashembed movie="/examples/airchrome/badge.swf" height="140" width="217" fid="badge" bgcolor="#181818" fvars="appname=ResizableAIRChromeExample ; appurl=http://www.wabysabi.com...ChromeExample.air ; airversion=1.0.M6 ; messagecolor=999999 ; imageurl=http://www.wabysabi.com...airchrome/badge.png" fversion="9.0.63" allowscriptaccess="always" scale="noscale" wmode="transparent" / ]
Two side-notes:
- The Kimili plugin delimits flashvars with semicolons bracketed by spaces (e.g. ” ; “). I’m not sure why it requires this odd syntax, but things won’t work if you eliminate the spaces.
- I added a space betwen the closing bracket of the tag so that Wordpress wouldn’t interpret it. The correct syntax should be “/]”.
Thanks to Michael Bester for the great library!
posted by admin at 9:26 am
** Updated for AIR 1.0 02/25/2008 **
The AIR windowing API offers some exciting new possibilities, and challenges, for Flash developers. With the Employee Directory Sample Application, we showcased a well-designed, real-world application that dynamically resizes itself to a changing content area. This is a powerful technique that simply isn’t possible within the confines of a browser window.
I thought it would be useful to distill this capability from the more complex directory application and provide a simple ‘kick-start’ application that demonstrates:
- Leveraging transparent windows to create high-quality custom window chrome with drop-shadows.
- Using the Flex Resize effect and event listeners to dynamically size a NativeWindow to the size of a changing content area
- Simple PNG-centric CSS styling example with advanced text anti-aliasing applied.
You may install via the AIR badge below, or if you have less than 9,0,63, you will have to manually install the runtime and AIR file:
Source is available by right-clicking and selecting ‘view-source’ in the application.
One other factor with resizable applications not covered in this sample app is automatically keeping the application onscreen as the application resizes. This is a challenging problem that is addressed in the directory application (via a fairly convoluted solution), but is not covered here. Something I definitely hope to address more clearly in the future. Definitely check out the Employee Directory if you haven’t already.
posted by admin at 5:04 pm
NOTE: Updated URL’s to adobe.com

Just thought I would announce the re-release of the Employee Directory AIR application on Labs. I am excited to show off what I think is a very useful corporate directory application that provides a better experience for finding fellow employees and conference rooms.
Technically, the application is probably not the best place for pure beginners to learn Flex and AIR, as it was built using best practices for extensible medium to large applications. That said, it is a great starting point for building your own corporate directory application - its very similar to what we’re using internally at Adobe.
Some of the AIR features demonstrated:
- Offline data storage using SQL API’s
- Resizable, transparent windows with automatic position management
- Data synchronization and automatic application updates
Check out the sample application here.
posted by admin at 9:15 am

I am pleased to announce that Adobe has released an AIR sample application that I worked on. The application is designed to be a lightweight company directory application that allows searching for employees and navigating through the management hierarchy.
From a technical standpoint, I think the application really shines. Not only does it demonstrate a number of cool AIR features, including the SQL API, but its pretty easy to integrate your own employee image and data sources, so it may actually be useful. Adobe is using an extended version of the app internally.
Feel free to contact me if you are trying to integrate the app and would like some tips.
posted by admin at 10:49 am

Just wanted to pass on the news that my latest project, the Twitter Flash Visualizer was put on display at the RailsConf 2007 in Portland. This was a really fun project developed in collaboration with Biz Stone and the rest of the Twitter team. The visualizer was built with configuration in mind, so I think we’ll see it applied to a number of different situations. The tech is still a little green, so if you hit any bugs let me know.
Props to Biz for a great design, and the Twitter team for feeding my latest Internet addiction!
p.s. Click on the app to go fullscreen.
posted by admin at 12:23 pm
Not super recent news, but Trevor McCauley over at senocular.com posted a really good Actionscript 3 Tips of the Day entry over on the Kirupa forums. In particular, there are some good new tips on ‘Class member enumeration’ and also the undocumented ‘addFrameScript’ property. Enjoy.
posted by admin at 4:09 pm
Are you a Flex coder? Ever feel constrained by the default ButtonSkin provided with the Flex application? I have some good news for you. I have been working on an ‘enhanced’ version of the skin that allows for more fine-grained control over button display such as explicit, multiple gradient and border colors for each button state, border thickness, as well as individual corner radii.
Here is an example demonstrating a few of the newly supported style values.
.customButtonStyle {
cornerRadii: 16, 0, 16, 0;
borderColors: #006699, #006699;
borderThickness: 3;
fillColors: #FCFFF4, #006699, #FCFFF4,
fillAlphas: 0.5, 0.5, 0.5;
fillColorRatios: 0, 128, 255;
}
Check out the style explorer that I built for the skin, or go to Flexlib to download the source.
posted by admin at 3:09 pm