Fall is making a tentative foray into the morning air. It’s a bit chilly but once risen, the sun quickly warms one’s skin. This is California: we don’t have ostentatious seasons, we have ephemeral ones. You might feel a bit of a chill when the leaves turn color, but then the sun returns and it feels like summer again for a few days. Then that euphoria goes too and the fog rolls in.
It’s a bit like that with Adobe AIR for mobile. Yay, it’s here for iPhone! No, it’s not. Yay, it’s back on iOS! Yay, it’s shipping for Android! So, you consider as the sun warms your fingers, is now the time to go mobile with an AIR based strategy? It does, in the face of it, promise to solve one of the most vexing problems facing developers today: the cross-platform dilemma. Write your app native for iOS, then a complete rewrite for Android? Or use AIR across desktop and mobile? The cost savings from a cross-platform tool are obvious and compelling. Will AIR magically make all your problems go away?
As a prospective mobile developer, you need to consider a number of critical factors. There’s performance. There’s integration with the platform. And there’s the size of the addressable market. Android is big news, and it’s selling more devices than iOS. At some point, maybe early next year, there will be as many Android devices in consumer’s hands as iOS ones. But you still want to reach as many customers as possible.
Let’s look at the facts. AIR only runs on Android 2.2 (Froyo) and up. That decision clearly anticipates some date in the future when nobody has an Android 1.6 device, and all the 2.0 and 2.1 handsets are upgraded. This might happen in a year or two. Right now, however, the fact is a substantial number of OEMs are still shipping Android 1.6 phones. There’s several reasons for this: hardware requirements are more modest for low end phones, there are still some glaring problems in 2.2, manufacturers have an investment in proprietary modifications that take time to port (I’m looking at you, Sony X10), and carriers are sometimes conservative about rolling out new versions. And there is the current installed base. So let’s take a gander at what is actually in the market now:
This is the so-called fragmentation problem. To sum it up, AIR only runs on 34% of Android devices in the wild. This means you won’t be able to reach 66% of potential customers with an AIR based solution. And all of a sudden, the cross-platform solution isn’t so cross-platform after all. And the fog rolls back in for a few days.
Enter Corona into the picture. Corona is built from the ground up for mobile, by former Flash and Flashlite engineers. It’s small, fast, and portable across iOS and Android. And on Android, the minimum version is 1.6. This means that Corona runs on 90% of the Android world. That is 270% of what you can get out of AIR.
270%! That’s almost three times the potential sales for your Android product. That fact should make your decision to go with Corona a little easier.
The reason for AIR being restricted to Froyo? I’m sure Adobe will never tell. But I suspect they are completely dependent on performance improvements in the Froyo OS. Corona, by contrast, fully utilizes a phone’s graphics hardware, and our core engine is built for mobile speed.
Oh, and there’s platform integration. Corona apps on Android are native Android apps; Corona apps on iOS are native iOS apps. And we have integration with native UI and device features that AIR only dreams of. But we’ll leave that full discussion for another day.