There's quite a bit of interesting info in this video recording on Adobe's Rich Internet Applications Roadmap. Particularly note the focus areas for 2009 with Flash Player "Argo" and "Stratos", the plans for mobile and devices and ideas for AIR extensibility.



Happy holidays everyone! I thought I'd release a little tool today that I think will be useful to those of you doing iPhone application development. As you might know reviews for your applications in the iTunes App Store are specific to each country and at the moment Apple provides no way for application authors to easily browse reviews of the various international stores.

A few days ago I came across a solution by Erica Sadun on using a Perl script to scrape the reviews from the XML feed by spoofing the HTTP header. Flash Platform geek as I am, I thought this would be a perfect candidate for an AIR application and thats exactly what I did today.

The "iPhone App Reviews" AIR app was built using Flex and obviously runs on Windows, Mac and Linux -- its about 250 lines of code and uses the SQLite and File APIs for those interested.

How does it work?

You paste in the URL of the application you want to check (right-click on an app in iTunes and choose "copy iTunes Store URL"), the AIR app then figures out the name of the application and adds it to the local SQLite database.

iPhone App Reviews - set up applications

Once you've set up the applications you want to monitor you go to the "Check reviews" tab, select the application and what country you would like to see and click the "refresh" button.

iPhone App Reviews - check reviews

If you want to save out the reviews you can click export and select where to save the text file.

Click "install now" on the AIR badge install below to install the application. Alternatively you can download the AIR file here (not recommended) in which case you need to make sure you have the AIR 1.5 runtime installed.
[airbadge]iPhone App Reviews,,1,[/airbadge] Note: This is still an early version of the application and not extensively tested yet. Consider this a workaround until Apple comes out with a better way to check your app reviews in the international iTunes stores.
I hope you enjoy the application, its provided as is and free of charge -- if you do want to support feel free to buy one of my wacky digital clock experiments on the iTunes App Store.

CategoriesAIR, iPhone
31 CommentsPost a comment

Moderator AIR application I recently found out about a very useful AIR application called "Moderator" created by Danny Dura, Platform Evangelist at Adobe. What the application does is give you access to your comment moderation queue if you're running a WordPress blog.

Installation is very easy, you first install a WordPress plugin and activate it, then download and install the Moderator AIR application. You'll be prompted to log in with your blog administrator credentials and endpoint, usually that is the xmlrpc.php file inside your blog installation directory.

You can specify in the settings how often the application should check the moderation queue and when comments show up you can simply choose to accept, mark as spam or delete.

I'm really pleased with the app, saves me from constantly having my blog admin open in a tab of my browser and manually hitting refresh all the time.

From what I've heard Danny is going to add Growl notification support in an upcoming update which would be a great enhancement. Two thumbs up!

More information and download here:

CategoriesAIR, Reviews
5 CommentsPost a comment

Today the Adobe User Group Belgium organized a FlexCamp in Antwerp with some fantastic speakers lined up including no less than three Adobe employees (Matt Chotin, James Ward and Chet Haase) which must be a new record for us. I presented a slightly updated version of my "Introduction to SQLite in Adobe AIR" talk, covering the new encrypted database support in Adobe AIR 1.5.



For those interested, the source files of the demo applications I showed is available for download here (including the updated YouTube class to get hold of FLV files, thanks to Pogopixels!)

3 CommentsPost a comment

When you go to conferences as much as I do and meet up with old friends and acquaintances, the number one question is: "So, Peter what have you been up to?". I realized that, unless you follow me on twitter and actually read the dozens of messages I post there every week, fairly few people have a clue what I've been doing these last few months. Well here goes, apart from the Object-Oriented ActionScript 3.0 courses I teach in Belgium and the UK, I spend a good bit of time tech reviewing several books. Two great titles that are coming out soon are AdvancED Flex 3 (Friends of ED) and the Adobe AIR Cookbook (O'Reilly).

AdvancED Flex 3 Adobe AIR Cookbook

I'm also co-authoring a couple of books, one that has already been announced is AdvancED AIR Applications (Friends of ED).

Turns out I've so far attended 10 events and conferences this year, presented a total 12 sessions and have enjoyed every minute! That said I'm not sure if I'll be able to keep things going at that rate.

While I'd love to be in the position to speak at all conferences that would like to have me over, unless my basic travel and accommodation expenses can be covered (which thankfully and increasing number of conferences are able to do), I'm going to have to become very selective in what I take on. I'd prefer to spend my personal travel budget on community events that genuinely have limited resources or are just starting out. That's not a dig at Adobe MAX by the way, there are different reasons why I won't be speaking there this year.

The ActionScript Conference in Singapore is going to be my last conference speaking engagement of the year and have not confirmed anything for 2009 as of yet.

We'll see how things go, after Singapore I'm heading to India for a couple of weeks and will get back to business again by the end of November.

3 CommentsPost a comment

Thanks to Zohar Babin for pointing me to some further information about the FlaCC project on the website. Scott Petersen gave a talk on August 1st at the Apple Campus for the "2008 LLVM Developers' Meeting".

The title of his session was "Flash C Compiler: Compiling C code to the Adobe Flash Virtual Machine" with the following session description:

FlaCC is a research project that compiles C code to ActionScript using llvm-gcc with a custom flash code generator. This enables almost arbitrary C and C++ code to be executed safely and efficiently within a Flash container on web pages. This talk describes the implementation of the system and shows several compelling examples that use it to run other language and CPU interpreters within Flash as well as run existing large programs within C. The demos are also extremely impressive :)

I took the time last night to read through the slides and watch the video. While a fair bit of the technical discussion is way over my head, here are some interesting points in the presentation that stood out to me:

■ ByteArray optimization was done and is shipping in the AIR 1.1 release (5:15) ■ Synchronous C to asynchronous AS3 classes (8:05) ■ Multi-threaded C code but no multi-threaded ActionScript (11:00) ■ Performance better than 50% of fully optimized native code (11:40) ■ Quake running on AIR 1.1 demo (13:15) ■ C AS3 API (17:00) ■ Initializing C library from ActionScript (18:50) ■ Python interpreter demo (21:20) ■ Nintendo emulator demo (23:20)

Of course the demo's of Quake and Zelda running in the Flash Player are extremely impressive, where I think this project is going to make a huge difference is apart from obviously allowing native C library extensibility for Flash, Flex and AIR, enabling Flash content to be created using Python and other languages.

Looking forward to hearing more about this project at the Adobe MAX conference!

You can download the slides (PDF - 508kB) or video of the presentation (M4V - 405MB) from the following URL:

3 CommentsPost a comment

If you paid close attention during some of the Adobe sessions at Flash on the Beach you'll have heard about a project called FlaCC, basically a way to compile C and C++ libraries to ActionScript bytecode. I haven't seen a whole lot of people talking about it as of yet even though - if this works out - it is in my opinion one of the most exciting developments in the last few years!

From what I can tell this project goes back to what we saw presented by Scott Petersen during the sneak peek sessions at MAX Chicago 2007, the most impressive of his demo's was without a doubt running a cross-compiled version of Quake in the Flash Player (or an AIR app as it turns out).

Here's the video I recorded back then:

There was a huge amount of interest in this project and shortly after Ryan Stewart had the opportunity to interview Scott Petersen to find out more:

The first mention of FlaCC during Flash on the Beach was at the Adobe Town Hall meeting, where Paul Betlem answered a question about possible support for a Dynamic Language Runtime.

I don't have a direct quote but in effect he said that FlaCC was in development, it allows for C/C++ code to be compiled to ActionScript bytecode, and will be made available to developers in the not too distant future.

On Wednesday during the "The Yin and Yang of Flash" session we were given a little more background information.

One of the major use cases for FlaCC seems to be to allow a form of native extensibility for the Adobe Integrated Runtime. Since it would compile C/C++ down to ActionScript bytecode this would ensure cross-platform compatibility, which is a key concern for AIR.

Paul Betlem mentioned that the C code compiled down to ActionScript bytecode runs up to 10 times faster than ActionScript 3.0 (and about twice as slow as native C code) making it a good candidate for complex math and other operations.

Since FlaCC was brought up as a reply to a question on Dynamic Language Runtime support, this could conceivably mean work is being done on having an interpreter for a language like Python ported to the Flash Player. This is in line with what Scott Petersen presented at MAX 2007 and I believe that same point came up in the Adobe Town Hall meeting as well.

In any case, exciting times ahead and can't wait to see this in action!

16 CommentsPost a comment

I did my "AIR Beyond the Basics" talk at Flash on the Beach on Tuesday and was pretty happy with the turnout -- especially since I was up against a jam session with Keith Peters, Joa Ebert, Ralph Hauwert, Carlos Ulloa, Mario Klingemann and Andre Michelle ;) The internet connection unfortunately failed on me and had to skip over a couple of cool demo's -- think I'll do a recording soon walking you through the various code samples and post it here. If you want to give it a try yourself in the meanwhile you can download the source code from the link below.

Example code includes:

Network monitoring Windowing API HTML engine FileSystem API SQLite databases Drag 'n Drop Clipboard access Update API EncryptedLocalStore Launch AIR app from an AIR app Merapi - Launch native application Merapi - Text to speech

Feel free to get in touch if you've got any questions about these AIR APIs and I'll be happy to help you out.
Download source files (10.7 MB zip file)

7 CommentsPost a comment

Another year, another great Flash on the Beach keynote. This year Richard Galvan, Serge Jespers and Mark Doherty took the stage to talk about Flash CS4, AIR and Flash Lite.

At some point during the keynote Richard mistakenly says that Flash Player 10 beta has reached 60% adoption, I've been told by Adobe that there have been 6.5 million Flash Player 10 beta downloads at this time.

6 CommentsPost a comment

The Actionscript Conference I'm very excited to be part of the first edition of "The ActionScript Conference" at the National Library in Singapore on October 19th! With fellow speakers like Lee Brimelow, Michael Plank, Stefan Wessels and others it promises to be a great day.

The conference is organized by the Singapore Flex Usergroup that includes such talented people as Hu Shunjie, Arul Prasad. Genuinely looking forward to meeting the Singapore community and doing some sightseeing.

If you haven't booked your ticket yet, you're sadly too late since they've already sold out. Make sure to keep an eye out for a next edition though!

3 CommentsPost a comment

Great news for the Flex community, the inaugural issue of Flex Authority is here! It was great working as a technical reviewer with the various talented authors and I can promise you its chuckful of interesting articles on Flex and AIR for readers of all skill levels.

Here's to many more issues to come, an excellent technical journal has seen the light! Be sure to subscribe today, its just 49.95 USD/year for a printed copy and 29.95 USD/year to get all four issues as a PDF.


Meet the GuruI'm excited to be partnering up with Comtaste for their "Meet the Guru" training sessions starting this October in London. October 13-15th, I'll be doing a three day course on "Programming ActionScript 3 for Flex 3", covering everything you'll need to get started with ActionScript 3.0 development for your Flex-based Rich Internet Applications.

Later that month Marco Casario is doing a "Flex 3 and Flex Builder 3" course and Koen de Weggheleire will be teaching "Developing desktop applications with AIR, Ajax and Flex".

Needless to say these are going to be great events and a fantastic opportunity to get up to speed with the latest Adobe technology has to offer!

The courses take place at the Lafone House, The Leathermarket - Weston Street in London. Its a bring your own laptop event, course material that attendees get will include the books "Flex Solutions: Essential Techniques for Flex 2 and 3 Developers" and "Object-Oriented ActionScript 3.0".

If you use the discount code "Peter" you'll get a 5% discount when registering for the training. Hope to see you there!
More information and registration here


I was amazed at the amount of positive feedback I got yesterday when Leo Laporte published the little AIR application on his blog. Decided to address some of the excellent suggestions that were coming in and spent another hour or so working on it before releasing this 1.5 build.

Here's what has changed:

  • The application has been renamed to "TWiT Live Desktop"

  • Application icon is now vector and looks much better
  • IRC channel is now supported
  • Refresh button added to force reload the live stream
  • Compact video mode plays the video in a smaller "always on top" window

In a next release I'll be looking at the following features:

  • Add support back in for minimizing, maximizing and resizing the application

  • Icon to toggle the "always on top" setting on the main window
  • Preferences panel to tell the app to launch in regular or compact mode at startup, save your timezone setting so the Google Calendar displays the schedule for your timezone etc.
  • Notes feature to allow you to quickly write down a URL or something interesting you heard and save it out to a file.

Some of the other feature requests that came in have to do with how Stickam handles their embedded video and chat. I'd love to talk to them to see if there's a way to make it work. If there is anyone from Stickam reading or you know anyone there feel free to send me an email.

For those wondering version 1.5 is about 40 lines of code at this point. I will be open sourcing the application at some point in time, probably in a release or two, and putting it up on Google Code.
Download and install here: [airbadge]TWiT Live Desktop,, 1.5, /blog/wp-content/uploads/2008/07/twitlive-air-300x240.jpg[/airbadge]

32 CommentsPost a comment

Last Sunday afternoon I was listening to The Tech Guy on and when I accidentally closed its tab one too many times decided to quickly make an AIR app for it to have it available as a desktop application. TwitLive AIR application

It literally took me 11 lines of code and a good 15 minutes to build. Decided to send it to Leo and was happy to hear how excited he was about the app and did a plug for it on the net@night and MacBreak Weekly podcasts.

You can use the application to watch the live video stream and see the schedule for upcoming shows. Looks like it was released just in time to see him do the 24 hour iPhone 3G launch marathon.

How was this built?

For those of you not familiar with Adobe AIR:

  • AIR is a free cross OS runtime (Windows, Mac and Linux)

  • There's no new language to learn, it uses web technologies like HTML, AJAX, Flash and Flex
  • You get a lot of additional API's like drag 'n drop, filesystem access, network detection, clipboard access, local database support and much more that you can directly call from your code

This particular application was built in Flex with a TabNavigator component and two HTML components that are specific to AIR (the runtime has the open source WebKit embedded, the same HTML rendering engine as Safari uses).

For embedding the AIR install badge on his blog, Leo is the AIR Badge plugin for WordPress, a project I started a couple of months back.
I hope you'll like this little application, there's obviously a lot more you can do with this so am happy to hear any feature requests you might have. Leave a comment or drop me an email.

Download and install

[airbadge]TWiT Live Desktop,, 1.5, null[/airbadge]

CategoriesAIR, Flex, PHP
44 CommentsPost a comment

Over the months I have tried numerous Twitter clients and few have survived my wrath. Twitter has for me largely taken over from email and IM for staying in touch with colleagues, family and friends. Working with the constraint of 140 characters also tends to make sure people get to the point which you don't always get with email. I'll just walk through some of the clients I've used so far:
Twitterific -


Twitterific was great until they decided that they needed to be ad supported, kept running the old version for a while but it was a bit too sparse for my needs anyway and was only available on Mac.

Twhirl -


Twhirl was the next candidate, feature wise this was getting closer but I had some issues with the UI and how things were set up. Error handling when Twitter went down or the API request limit had been reached wasn't optimal either. This is probably one of the more popular AIR based Twitter clients but it didn't feel quite right to me. -


This meant going back to the Twitter web interface, unfortunately around this time things really started going sour and the fail whale kept me company throughout most of the day.

Moving on to, a web interface that allows you to post your messages even if Twitter is down and they'll make sure it gets delivered as soon as things are back up. Nice, but no friends timeline from that site.

TweetDeck -


I wanted to try another AIR based client so I can easily run it on my Mac and PC which was just around the time @bigmadkev started mentioning TweetDeck.

TweetDeck is still in early development, am currently running version 0.14 but its already looking very promising and seems to be doing everything a power user needs.

Features that stand out for me are:

- multi column views - grouping your friends - filtering message timeframe - message queuing if offline

TweetDeck doesn't rely just on the Twitter API but is starting to use for things like replies as well. Advantage there is that it doesn't go against the request limit of the API and it generally seems to be a lot more stable.

I believe version 0.15 is on the way, which from the sounds of it has even more great features. Congrats to Iain Dodsworth for an outstanding job!

Recommend anyone to give it a try, message @tweetdeck to get your beta invite or watch for a public release coming later.

CategoriesAIR, Twitter
4 CommentsPost a comment

I'm really happy to finally be able to announce a project I've been working on for a little while now --

A job board targeted at Rich Internet Application developers from various backgrounds be it Flash, Flex, AJAX or Silverlight.

Of course there are already great community resources available for those looking for Flash, Flex, AJAX developers but what I believe is often missing is the idea that Rich Internet Applications and Web 2.0 are about more than any single technology.

As developers we need to start looking beyond the confines of our specific expertise and as a company a site like allows you to specifically build out and recruite a multi-disciplinary team.

What is in it for you?

In its current form you are able to post jobs in any of the categories free of charge. We do also offer paid services like having your job post featured on the homepage or advertising in one or more of the categories.

An interesting note here is that a minimum of 20% of all revenue will go to charity and we'll have monthly reports of how much has come in and was donated where. It is not my intention to make this into a commercial project, very much like it to grow as a community resource and welcome participation!

What else can you expect in the future?

Among several other things, these are features I am currently working on and you can expect to see on the site in the not too distant future:

  • We'll have a freelancer database where RIA developers can leave their profiles and set their current availability

  • There is an AIR application in the works that allows you to set up notification for any specific job description, location, etc.
  • Non profit and charitable organizations will be able to list projects and recruit volunteers from the website
    I would like to thank the 'early adopters' for kicking off the project: Brooksource, TBWA France and Domani Studios and look forward to many more people using the site!

    If you would like to check up on the jobs as they are being posted you can use the RSS feed, play around with the API or follow RIAJobs on Twitter.

    8 CommentsPost a comment

    In case you didn't know Adobe is running a great program where they offer you a free one year certificate with Thawte for signing your Adobe AIR applications (worth 300 USD) -- the only thing you need to do is submit your unsigned AIR application to the AIR Marketplace and be among one of the first 135 to do so. I did just that and submitted the VideoSnapshot application I built a while back -- low and behold I got an email letting me know how I could redeem the certificate.

    After filling out the application form on the Thawte site and it has gone through the verification process you'll get an emali telling you that you can download your certificate. Interestingly you'll need to use Firefox when you apply or want to install your certificate.

    Thawte Fetch Certificate

    When you click on the fetch certificate button the certificate will install itself into Firefox and when you go to Preferences > Encryption and View Certificates you'll be able to see it listed under Your Certificates.

    Firefox Certificate Manager

    The only thing you now need to do is select it, and choose to backup which then prompts you to save it and give it a password. It is that very certificate file on your hard drive that you'll use when exporting your Adobe AIR application, just browse to it and specify the password you provided when backing it up from Firefox.

    Now rather than that big red exclamation mark during the install process, you'll see a yellow one and your name will be shown as the verified publisher identity.

    AIR Verified Publisher Identity

    Think its definitely worth doing...

    6 CommentsPost a comment

    I just finished my last talk here at Scotch on the Rocks and thought I'd go ahead and blog my presentation slides and code.

    RIA meets Desktop

    First session I did was "RIA meets Desktop", a look at some of the common API's in Adobe AIR (network detection, windowing, drag 'n drop, clipboard etc.)

    Download "RIA meets Desktop" slides Download "RIA meets Desktop" code (zip file - 128 Kb)

    Object-Oriented ActionScript 3.0

    Next session was a basic introduction to Object-Oriented ActionScript 3.0 -- covering classes, inheritance vs composition, encapsulation, polymorphism, interfaces and some basic design patterns like Observer and Singleton.

    Download "Object-Oriented ActionScript 3.0" slides Download "Object-Oriented ActionScript 3.0" code (zip file - 324 Kb)

    5 CommentsPost a comment

    Scotch on the Rocks Just got back from London for the first teach date of my Core ActionScript 3.0 course at Skills Matter and in a matter of days I'll be heading out to Edinburgh along with Nico Lierman for Scotch on the Rocks.

    This is going to be an interesting conference for sure, for one thing I haven't touched ColdFusion in quite a few years and creating a CFC is about the extent of my hands on experience with the technology. The up side is that pretty much every session is going to be an eye opener for me.

    Don't worry, I won't be talking about ColdFusion but rather doing my "RIA meets Desktop" talk covering a whole bunch of AIR API's as well as one on "Object-Oriented ActionScript 3.0".

    Have been looking over the schedule and these are some of the sessions I'm hoping to catch:

    Neil Web - Cairngorm for Beginners Sean Corfield - Getting Dynamic With ColdFusion Neil Middleton - jQuery in a Nutshell Andrew Shorten - Flex 3 Designer/Developer workflow Sean Corfield - Event-Driven Programming in ColdFusion Luca Mezzalira - Manage Flash Lite Data with Flex and Air Børre Wessel - Flex Client Architecture & Best Practices

    Now, I'd better get ColdFusion installed on my laptop so I can start experimenting with the stuff I'll be learning.

    CategoriesAIR, Events
    5 CommentsPost a comment

    I did a talk last night on "The Evolution of the Flash Platform" at Skills Matter as part of the London Web Week. Had a nice group of people turn up from various backgrounds and all seemed very interested in seeing the direction Flash is heading in.

    Tried to cover as much ground as possible within limited time talking about Flash, Flex, AIR, Flash Lite, Flash Media Server, ECMAScript / ActionScript, Adobe and open source.

    Also discussed a few common misconceptions related to Flash content and SEO, deep linking and browser button support. Then moved on to showing several of the sneak peeks from earlier conferences -- Flash "Next", Pacifica, Thermo, etc.
  is having some problems with the Flash Player 10 beta, if you can't see the slides above you'll find them at the following URL:


    5 CommentsPost a comment