With Battleheart having been on sale for a few weeks, I feel I’m equipped to offer up some impressions of the android market from a developer’s perspective.
The best part about releasing on Android is that there’s no approval process. This means if I get reports of a bug or incompatibility, I can often fix it right away and push out an immediate update, rather than having to wait a week for a trivial bug fix to be approved.
I’ve also been fairly surprised by the revenue potential of the platform. While it’s still a much smaller market than iOS, there’s money to be made through paid apps. I don’t know how it became so widely believed that free, ad-supported apps are the only way to make money on Android… I think you can thank Rovio’s decision to go that route with Angry Birds. I feel like I’ve disproven that myth pretty thoroughly. Daily revenue from Battleheart on Android is fairly close, within 80%, of it’s iOS counterpart at the moment. This statement needs a couple qualifications though…
1) Battleheart on Android is currently very high in the android charts (top 50 apps), whereas Battleheart for iOS is not even in the top 200 games anymore, and yet still outselling it. It’s clear the overall size of the iOS app market is still significantly larger.
2) Battleheart on iOS had a MUCH stronger first couple of months due to prominent featuring by Apple, and since that initial rush has had a steady decline in sales. Battleheart on Android will likely see a similar decline as it spends more time on the market. If you compare launch months, then the iOS version outpaced the android version by a factor of 20.
Still, despite those disclaimers, Battleheart for Android has become a meaningful source of revenue, and has proven that the platform isn’t a waste of time. In fact, I’d go as far as to say that a polished, high quality product is more likely to be embraced on Android than on iOS because the quality bar on the android market is so pathetically low. Here’s some interesting data: on iOS, user reviews for Battleheart average 4.5 stars (4000 total ratings), which is quite good. On Android it’s a stunning 4.8, with 1000 ratings. So not only is it reviewed more highly, it’s also reviewed more often, with a huge percentage of android users taking the time to rate the app. I think the lack of competition makes quality apps really stand out, and generates a lot of enthusiasm from app-starved android users.
Our figures on Android are all the more impressive considering the app hasn’t enjoyed any free marketing on the storefront, and we have done zero promotion for it besides a little blurb on twitter. The main reason Battleheart did so well on iOS is because it was featured prominently on the App Store, first in the “New and Noteworthy” list, and later as “Game of the Week”. The android version’s success appears to be entirely driven by word of mouth recommendations though.
Edit: It’s come to my attention that Battleheart became a featured tablet app on the android market while I was writing this post, and saw a sales bump the following day as a result. The statement still stands though – it performed very well for several weeks before this free marketing took effect.
The Bad and/or Ugly
The technical side of supporting android isn’t so bad, but it is a bit of a nuisance. 95% of the heavy lifting is handled by Unity, the game development engine we use to develop our apps. Actually porting the game only took about a day. Still, some devices don’t handle our shaders in a consistent way, some devices just plain crash for no apparent reason. These kinds of issues are few and far between though – the main thing I had to concern myself with was simply making the game work properly at various screen sizes and aspect ratios, which I had been doing all along, so it was trivial to get it up and running.
The most frustrating part about developing for android is actually just dealing with the deluge of support e-mail, most of which is related to download and installation problems which have nothing to do with the app itself, and everything to do with the android OS and market having innate technical problems. Do some googling for “can’t download apps from android market” or similar wording, and you’ll see that this is a widespread chronic issue for all devices and all OS versions. There are numerous possible causes, and there’s nothing I can really do about it as a developer, since its essentially just a problem with the market itself. Based on the amount of e-mails I get every day, download problems effect 1-2% of all buyers, or in more practical terms, somewhere between two and three shit-loads. I have an FAQ posted which offers solutions for the most common problems, but lots of people can’t be troubled to read it before sending off an e-mail demanding a refund.
This brings me to another major complaint I have – google checkout. As an android app developer, you have to sign up as a vendor with google checkout, where all transactions take place. This means that you alone are responsible for resolving any billing concerns. We actually have a tiny handful of people getting refunds on our iOS games every day, but since all billing and possible refunds are handled by Apple, I don’t have to deal with it. On Android, I do, and I really wish I didn’t. I just want to make games, not listen to people whine about how their app won’t install (due to user error 9 times out of 10) and they missed the 15 minute window to give themselves a refund, or didn’t even know there was such a policy… even though its prominently featured on their order confirmation which is instantly sent to the device being held in their f***ing hand… Yea, my patience is low at this point.
There are days where I just want to pull the plug on the whole thing because I’m sick of 12 year olds (or people with comparable communication skills) trying to convince me they’ve been wronged and I should give them their 3 dollars back. I just remind myself that my user review average would indicate that it’s a vocal minority that has these problems, and I shouldn’t throw the baby out with the bath water.