an AIR pet hate : Forcing Windows UI on users of other platforms

An emerging pet hate of mine: AIR applications that do-away with the system chrome, only to then re-implement parts of it, but ignoring host-system conventions. Note this isn’t anything to do with AIR itself, more to do with designers and/or developers not entirely considering user-experience across all platforms.

window controls

The example above taken from Tour de Flex.

Personally for this app I see no reason not to have used the host system’s chrome. Doing so would have entirely avoided this issue. But to re-implement fundamental controls such as those pictured using positioning and icons based on only one operating system in an app which is cross-platform undermines the user-experience for users of other systems. In the example, a Windows arrangement and appearance is used which feels wrong on a Macintosh system, where the arrangement should be reversed and in the left rather than the right corner of the window. That it is Adobe setting this presedent in a number of their AIR applications is disapointing. I hope it is a convention other AIR developers will not follow. I certainly wont.

1st debug run following Flex SDK 3.2 update

Will probably yield scary looking error:

Process terminated without establishing connection to debugger.
“/Applications/Adobe Flex Builder 3/sdks/3.2.0/bin/adl” -runtime “/Applications/Adobe Flex Builder 3/sdks/3.2.0/runtimes/air/mac” /PathToProject/bin-debug/Project-app.xml /PathToProject/bin-debug
Output from command:
error while loading initial content

So, basically by setting the project to compile against the SDK 3.2 you are implicitly changing the version of AIR you are building against from earlier versions to 1.5. To fix you need to open file :


and change the namespace to “”

This has already been logged as a bug (FB-15687) in the bugbase against Gumbo, by the release of which, hopefully it will be intercepted to present a more meaningful message.

Peddling Tour de Flex

New Tour De Flex application looking like a very cool and a very useful resource. More information…

Basically it’s a Flex Component explorer as an AIR application and Eclipse plugin.

Just thinking I’d have preferred that the System Chrome was used in the AIR app to provide the min/max/close buttons rather than those alien windows style icons on the wrong side of the window. Mac user me! 😉

brushing up on flex and effects

This week I’ll be mostly getting my head around effects. Unfortunately missed Tink’s LFPUG presentation, but just been doing a catchup with the video and resources, I think worth re-posting here…

what the feck is AOO TLP ?

(Update: 28/10/2008 here)

Having been chastised for using these ‘unknown acronyms’ in my comment on jd’s weblog, I thought it worth writing a brief entry describing what these acronyms stand for and how they may be of interest for those purchasing or upgrading Adobe software.

Essentially this is all to do with volume licensing as an alternative to purchasing products through the Adobe store or other 3rd party suppliers. Volume licensing sounds like it is aimed at large organisations purchasing site-license. However the Transaction Licensing Programme facilitates as little as a single product license. The way the scheme works is to provide a transaction discount should you purchase multiple products in a single transaction based upon a point value for each product. TLP purchases may be made through 3rd party suppliers, but also through Adobe directly as in my case. There is no published price list so you need to request a quote.

The key point of interest to me was the Upgrade Plan which allows licenses to be purchased over 24 month subscriptions. Essentially this means I effectively have already paid to cover my CS4 upgrade. This is the point I was trying to make on jd’s weblog. He acknowledges that trial versions of CS3 products not being available until mid November is a ‘Pain point’ and he provides some explanation including the phrase “The big shipping versions get released first.”. Well I’m a AOO TLP upgrade licensee who’s just been told I may have to wait until the ‘end of November’ for it to physically ship to me. If it is painful for ‘users’ who haven’t paid for the software yet, imagine the pain for those who have paid for the software, but may have to wait until the end of November.

So while the Upgrade Plan offers some value, fulfilment seems less than ideal especially given this Key benefit documented on the Adobe site: “Get timely notifications of new upgrades, so you can stay on top of new product releases.”.

This is now my latest bug-bear. For Adobe to see how the customer experience could be improved in this regard, they need only look back to the now discontinued Macromedia DEVNET Pro subscription, where serial numbers and downloadable installers were immediately available to subscribers from day one of a new product shipping.

If this was fixed, I could now be blogging about cool new stuff in CS4 rather than  fuming over this and wondering if I would actually be better-off purchasing through conventional means.

UPDATE : 28/10/2008

Received my Adobe License Fulfilment email on 26th. Logged in and was able to request media for the upgrades, but at the time couldn’t see serial numbers or any way of downloading. However just checked again today, and the serials are there and I now have downloads in progress – and at a good bit-rate. So I’m feeling a lot happier now than when this post was originally published. While the process has not been entirely seamless, this time is far better than my previous experience with CS3 where I had to wait for physical media.

looking forward to this week’s LFPUG

Really haven’t spent enough time ‘finenessing’ Flex based UIs recently, so especially looking forward to a something of a fast-track on Flex Effects in Tink‘s presentation.

Always good to hear how others work with their clients too in the “ActionScript in Commercial Environment”session.

Full details: London Flash Platform User Group 25th Sept 2008

understanding source code licensing

When researching ActionScript libraries to include in a project, it is tempting to simply look to see that it has an open-source license and just use it. However closer reading may often reveal that the license burdens the developer with responsibilities which may make use of the code irreconcilable with the project requirements. Grant Skinner has published a valuable plain English summary and comparison of the common source code licenses. My take from it, is that if the source you are hoping to use is published with any license other than MIT, chances are you are not going to like some of the license conditions and you certainly need to research them.

AIR update Framework (beta), locating config file

When using the Adobe AIR Update Framework for the first time, you will be stepping through the associated documentation. You will probably initially decide to use a configuration XML file to govern the update process. The documentation presents the following line to inform the framework of the location of your config file:

Point the configurationFile property to the location of that file: as in the following ActionScript:
appUpdater.configurationFile = new File("cfg/updateConfig.xml");

If you are familiar with the File class, you will see that this is likely to generate a run-time-error, especially when testing in adl…

ArgumentError: Error #2004: One of the parameters is invalid.
at Error$/throwError()
at flash.filesystem::File/set nativePath()
at flash.filesystem::File()

If you are like me, you’ll probably want to place the updateConfig.xml file within the application directory next to the *-app.xml file. If so, the line of code you need can be written:

appUpdater.configurationFile = new File( File.applicationDirectory.resolvePath( "updateConfig.xml" ).nativePath );

or more compactly, using the “app:/” url scheme:

appUpdater.configurationFile = new File( "app:/updateConfig.xml" );