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.

Posted by creacog

Product Owner/Manager; Digital Project Manager, ex-Developer Available for Product Owner roles


This brings up an interesting point about who owns the user experience. Do we really want our applications to have a different skin for different operating systems?

The dark gray on black theme is not Windows or Mac. It is Adobe. It looks just like the chrome used by Adobe Media Player, and it creates a consistent brand between applications. When I write a computer application, the skinning process will include using the chrome as a branding opportunity.

I won’t try to make it more like Windows than Mac. I personally don’t have any interest in being a marketing tool for Apple OR Microsoft every time I write an application. I stopped writing “Windows applications” or “Macintosh applications” years ago because I’d rather see both operating systems neutralized and end the divisive partisanship we are forced into when we buy a computer and write computer applications.


“Do we really want our applications to have a different skin for different operating systems?”

Not different skins, but there are controls intrinsic to the OS UI that are different from platform to platform and should be respected. This includes those in my example, the menu system if used, and the dock or system tray if used.

Ironically my argument is a mix of mistakes 1, 6 and 9 in this Adobe article…

As for “who owns the user experience?”

IMO this is more a question of responsibility. The Designer/Developer is ‘responsible’ for creating user experience within the app and that responsibility should be weighted towards servicing the user’s needs and expectations rather than the application’s brand owner. With respect to the issue at hand, my reasoning is simple. The user has chosen an operating system and is comfortable using it. To then implement fundamental controls in a way other than expected in their environment devalues your app, the system on which it is running and further disrespects your user’s chosen way of working.

AIR does a great job of abstracting most of the stuff we deal with so we generally only really need write one cross-platform code-set. There simply remains these few areas where the systems are different and if they are to be used in the app – they should be implemented appropriately for each system.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.