Tuesday, December 29, 2009

Developing For Android vs The iPhone: One Developer's Experience

Original article extracted from IMerlion

Blog Notes:

Today, I was talking to a developer who develops software clients on the smartphone for my company. They told me that, currently their software works on the Google Android phones, but not the HTC Hero. Somehow, the "keypad" functions were re-written by HTC and the cross platforms codes has failed to work as the APIs are a bit different. And they have not yet tried Motorola's Droid or other new Android phone sets yet.

This has reminded me about the failure of Microsoft CE or Windows Mobile who has make the original mistake, by allowing your OEM's partner to change the codes specifically to their liking...

Google have to put a stop to it? Otherwise, there will be multiple OS within the same Android OS platform, and they will never catch up Apple's iPhone, iPod Touch or the iSlate...

Apple / iPhone Rules....


Developing For Android vs The iPhone: One Developer's Experience

Thye Chean's Space War for the iPhone was originally developed for the Android platform.

In the great iPhone versus Android debate, a common argument is that the open nature of the Android platform will eventually steamroll over the walled garden that is the iPhone. As more and more manufacturers come up with their own devices, they will eventually eat up Apple’s marketshare, or so the argument goes.

However, what Android defenders omit or play down is the fragmentation of the platform that results from having multiple devices, with multiple screen sizes and screen resolutions, and varying capacities, all running customised versions of Android. The greatness, or otherwise, of the Google Phone, does not remove this problem. In fact, it contributes to it, being yet another device on an already fragmented platform.

How bad is the problem of fragmentation? The example of developer Lim Thye Chean gives us an insight into the problems faced by an indie developer on the Android platform.

Thye Chean is the Singapore-based CTO of a Malaysian-based tech company. He is also the father of 10-year-old iPhone developer Lim Ding Wen of Doodle Kids fame. Thye Chean developed a Space Invaders clone on the Android platform called Space War to encourage his son to develop his own arcade game for the iPhone.

Space War now occupies a top 10 slot in Android’s arcade games category. However, the problems with ensuring that this game is compatible with different Android phones has given Thye Chean so many headaches that he is taking a break from the Android platform.

When he first released Space War on the HTC Dream and HTC Magic, things went well. However, when the HTC Hero came along, the problems began. He began getting bug reports that the game crashed, and this was a problem he could not duplicate until he got a Hero himself.

“I found that in the Hero, immediately after installation, the sound file will return a NULL value on start-up. However, once it goes through the first crash, it will subsequently work. I ‘solved’ this problem by not playing any sound (since it is NULL) rather than letting it crash.” He still does not know why the problem occured.

When the HTC Tattoo came along, he played around with it but because it had a very small resistive screen, it was hard to use so he decided to not support the Tattoo. “It is the start of the multiple resolutions nightmare. If I wanted to support multiple resolutions, then I either make my game Android 1.6 and above ONLY (and break all compatibility with all the devices mentioned above), or I switch between both for development and testing. I would have to develop using 1.6 code and compile it to run on 1.5 devices.”

Now the Motorola Droid has come along, and it has a WVGA screen. People who download Space War on the Droid are complaining that the game runs way too slow. The poor performance is because the game is running in compatibility mode as Android will scale the HVGA screen to WVGA screen automatically. “Where do I get a Droid to test? Now players start giving me 1 star reviews because it does not support Droid.”

To add insult to injury, Android apps can only be sold in just nine countries around the world. “So even though I have spent so much time maintaining it, I still have no hope of selling it. And if this is not bad enough, some countries cannot even get the game, and this includes Malaysia (where he is a citizen of).”

It’s not that Thye Chean believes that iPhone development is a walk in the park. He faces a problem with fragmentation there as well. His Space War port, recently released for the iPhone, will run on the latest hardware, but will not on the older iPhone 3G, it will run very slowly. However, the issue of fragmentation is much less than with Android.

And there are other problems as well, chiefly the fact that the App Store is so crowded that it is hard to stand out. However, Thye Chean is willing to give it a shot, at least for now.

It's hard to take the experience of one developer and extrapolate on it to say this is a problem all developers face. But Thye Chean's experience at least tells us that even if the total number of Android phones surpasses that of the iPhone, it's not the end of the iPhone.

No comments:

Post a Comment