Last night I started writing a plugin to easily embed the Flash Media Playback video component on WordPress blogs and its now ready for you all to use! Flash Media Playback is a free media player based on the Open Source Media Framework and hosted by Adobe so its ideal for bloggers to use. You don't need to install the video player yourself and can very easily just point to a video file, set up some optional configuration settings and you're done.

Thanks to some very helpful beta testers I've got an update ready and a stable release is hosted on the WordPress Plugin Directory.

Using the plugin couldn't be simpler, in a post you just use the following syntax:

[FMP] path to your video file [/FMP]

The path to the video file is the only required argument, in which case the video will be shown with the default width and height you set up in the plugin options page.

Optional arguments include: width, height, poster, autohide, controlbar, playbutton, autoplay, loop,...


[FMP width="320" height="240" controlbar="none" autoplay="true"] [/FMP]

On the plugin options page you can set up whether or not to embed SWFObject 2.2, the text to be displayed if Flash Player isn't installed and the default width and height for the video if not specified.

Using SWFObject ensures cleaner embed code than the raw object / embed tags generated with the Flash Media Playback Configurator.

I plan to support setting up more default values in the plugin options page (controlbar style, autoplay,...) in a next release as well as possibly some of the more advanced features supported.

[update] version 0.8 now adds support for HTML5 video fallback (useful for iPhone, iPad) and default values for all optional arguments.
You can download the component here or install it through your WordPress admin interface. I look forward to seeing people use it on their blogs. Websites developed using WordPress will run both on Windows hosting and Linux hosting

7 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

If you want to distribute AIR applications the install badge is definitely the best way to go. The one problem I had with it is that its a pain to prepare and embed on your blog. To help remedy this I started working on this AIR Badge plugin last night, it allows you to simply use an [airbadge] tag and a couple of arguments in your blog post which will then be replaced by the AIR install badge.


[airbadge] application name, full URL to .air file, application version, image.jpg [/airbadge]

[airbadge]Contact Manager,, 



[airbadge]Contact Manager,, 1,[/airbadge]

Options page

The plugin options page allows you to specify whether or not you want to embed the SWFObject javascript (only disable this if you already have it included in your WordPress template elsewhere).

AIR Badge options page


The AIR Badge plugin is compatible with WordPress 2.2 and higher (version 2.5 recommended). To install use the following steps:

  1. Download AIR Badge plugin

  2. Unzip
  3. Upload the air-badge folder to wp-content/plugins
  4. Activate the plugin

You can now start using the [airbadge] syntax in your blog posts to create an AIR badge for your applications.

Download here (version 0.6)

Note: this plugin uses the beta AIR Badge available from and includes SWFObject by Geoff Stearns (

Future improvements

I plan to add support in the AIR badge plugin options page for setting badge colors, publisher settings and other default properties for the badge. For hosting I suggest you find a PHP hosting provider that is suitable for your web development projects.



You can support this project by helping to test it on your WordPress install and reporting any bugs or feature requests.

The code is released under a GPL license, donations are welcome if you find this plugin useful and want to sponsor my caffeine addiction ;)


CategoriesAIR, PHP
28 CommentsPost a comment

There have been a number of posts and tutorials posted on this topic but just wanted to post it here as well because I've heard some people who were under the impression it is not possible to hook AMFPHP or other Flash Remoting solutions up to Flex 2. Flex 2 uses a newer and more optimized version of the AMF format, while its true that exisiting Flash Remoting solutions currently don't support this latest AMF format, it is possible to set a property on the NetConnection class to make it compatible.

Getting this done is pretty easy, you create a custom class by extending and set the objectEncoding property to AMF0 (the constant is set in

For more information see:

CategoriesFlex, PHP

I recently got word from my good friend (and CMS guru) mattie about a great plugin. This plugin is a really cool addition to those of you running a WordPress blog for getting some visitor stats (including those that read it through your RSS feed) inside the admin panel. Extremely easy to install, just upload and activate it -- no further action required which was a pleasant surprise!


If you're working with Flash Remoting using AMF-PHP you might have encountered some problems in the latest release with doing multiple method calls. I've been browsing the mailinglist and came across a solution by Justin Watkins that fixes this problem.

You can download an updated version of "Executive.php" and use that to replace the old one (flashservices > app), you'll also be required to do a little tweak to your "gateway.php" file:


Those two changes should do the trick!

4 CommentsPost a comment

ActionScript Hero has just reported some great news, a developer edition of mySQL 5.0 alpha is available for download which includes support for stored procedures.

I remember working on a project a while back involving Microsoft SQL Server and it took me quite a while to get my head around the concept of stored procedures. I'm looking forward to using it with my PHP apps, it's a really neat way to handle more complex or repetitive series of queries.

5 CommentsPost a comment

I've written this SHA1 class in PHP quite a while ago but thought I might just put it up in case anyone's still interested in using it.

The code was ported from Branden Hall's SHA1 Secure Hash for Flash MX which in turn was based on a JavaScript implementation. You can download the code here, feel free to drop me a line if you're using it for a particular project that's always nice to know!

FYI, people running a PHP release above 4.3 can use the built-in sha1() and sha1_file() functions.

6 CommentsPost a comment