Thursday, February 26, 2009

Some lessons learned from the android market

Sometime in December, I released a game I wrote, Robotic Space Rock (RSR for short) in the android market. This lead to a small stream of emails from angry users, claiming that the app I published was not working. I unpublished RSR and started scratching my head and trying to figure out what went wrong. My first mistake was that I only tested RSR on the emulator, because at the time I had no access to a T-Mobile G1. As a matter of fact, I still don't because, Android Developer Phone (ADP) is not yet available in Greece where I live, and Google has not given a timeframe for the release of ADP in my region. So I searched the internet in order to find out why my users got a blank screen. A few days later, I found the problem, and corrected it. I asked for volunteers to test the corrected application before I resubmit it to the android market. Of course, my app was already buried (under 2 stars rating), so when I resubmitted, most guys were reluctant to try it out. Despite this, I continued to release updates. After a few days, I got an email from google. They asked me to rename it. Initially it was called MonolithAndroid but it seems that you are not allowed to have the term android in your application title, because it violates android market policies. So I had to rename to RSR and re-release. As days passed by, I got everything from 1 to 5 stars, and users saying that they hate or love RSR and everything in between. Some claimed that the background music slowed the game down, and others that RSR kept force closing. One of the worst things about the android market is that you cannot see the user comments of the users in the developer console, as someone would expect. This void was filled by the excellent cyrket web site by saurik. When the paid apps were introduced about a week ago, a flood of apps appeared and my app was further pushed down in the popularity rank. A few days ago, some apps with screenshots became visible through the android market website, but they were only the top rated apps. No chance for RSR appearing on the android market website, it seems...So what are my conclusions for now:1. Never, ever release an app, unless you thoroughly test it on a real device. If you don't get it passably right the first time, your app will be buried.2. The phone memory limit is a severe limitation. My application has some original music. I wanted to add a couple of songs or more but I do not want to, because that would make it bigger and big apps, especially games are not going to stay on the phone for long. So keep your app small (under 1 MB) in order to maximize the chance of your application staying on the phone. Google should permit program installation on the SD card, increase the APK size limit and maybe increase the amount of internal storage to 1 GB or more.3. Games are not that popular on the G1. It seems that geeks don't like gaming so much, or the games currently available are not so hot. So focus on applications, especially if you want to make some $$$. 4. Sound support for android is not good yet. If you use SoundPool, you increase the chance of your application hanging, making the user unhappy. I think that sound problems should be corrected immediately, because that affects all kinds of applications and especially games.In my next blog entry I will try to compare android to iphone and symbian developer tools and market publishing. Stay tuned!

Programming is very interesting and creative thing if you do it with love. Your blog code helps a lot to beginners to learn programming from basic to advance level. I really love this blog because I learn a lot from here and this process is still continuing. Love from Pro Programmer