After working on a couple of iOS Flex apps, it seems that one of the biggest weakness is that you have a lot of case when button clicking (touching?) is not registered (10 to 20% of miss for me for navigation button for example)
It really kills the UX of the apps, and cause a lot of user frustration, not help by the facts that it's not a problem in native apps.
The cause is that a finger is not as precise of the mouse, and Flex often think that the use made a roll-out (or not touch the button) if the user touch the edge of the button.
I've tested several other Flex iOS apps with this problem, and other devs have suffered from it (and you can see this in some apps reviews like Politifacts that have good reviews, but quite a few that point to "unresponsive buttons").
It's even worse for the back button in the navigation bar, because of the short height of the beveled style.
If you read the Apple iOS Interface guidelines, it is recommended to add a "hit-active" padding around buttons, to avoid this.
It seems to me that we should have a property in Flex to easily augment the hit area (like "ActivePaddingLeft","ActivePaddingTop", etc)
I really think Adobe should consider this addition if we want good UX Flex app...
For now, I know I should change the button mobile skin, but I'm not very strong in mobile as3-only skin, so I wanted to know what the best/easiest way to augment the hit area.
I think have to add a alpha:0 Rectangle in the skin, but any help would be appreciated...
Couldn't that be addressed in the fxg file in the down state of the actionscript skin?
You can subclass the existing button skin (e.g. BeveledActionButtonSkin or BeveledNavigationButtonSkin) and override drawBackground to draw a transparent hit area larger than the skin. The bug is being addressed for the next release http://bugs.adobe.com/jira/browse/SDK-31494.
Jason San Jose
Software Engineer, Flex