[edit: Osmos has finally been ported to Android! You can get it here.]
A lot of people have been asking us if and when we’ll bring Osmos to Android. After all, we’ve already ported it to iOS and Linux, so it should be a no-brainer, right? Well… unfortunately not. We’d like to, but after having spent some time and effort looking into it, we aren’t going to just yet.
There are a number of reasons, but there’s only one that’s truly blocking us: OpenAL support. Surprisingly – especially for an OS based on Linux – Android does not yet support the OpenAL sound library! Osmos is strongly tied to OpenAL and makes extensive use of its pitch-shifting functionality, which most sound libraries (such as SDL) do not support. And since we are not willing to sacrifice the quality and richness of sound in Osmos – not to mention the extra work involved in migrating to a different library – we’re blocked. There is a light at the end of the tunnel however: we’ve heard rumours that OpenAL support is on Google’s roadmap. We’re not sure when, but when it arrives, we’ll get started on the port.
While that could be the end of the story, I think it’s worth pointing out some of our other considerations. None of these are actually blocking, but they do reduce the appeal of porting to Android, and will also limit the audience we’ll be able to reach.
Multitouch: This may be a good time to point out that Android is an OS which extends beyond smart phones and tablets, and device standardization is a bit of a nightmare. Sure, Android may run on your toaster someday, and that’s great – but will your toaster sport a multitouch screen? Regardless, there are already a ton of Android phones on the market that do not support multitouch, and even the OS has been rather half-baked with respect to its multitouch support. It seems that only recently – with OS 2.1 and the latest wave of devices – has multitouch become a proper standard on Android phones. As such, when we do port Osmos, it will only be supported on recent phones and OS versions.
On the subject of devices, I’d like to add that the huge variety of Android phones on the market is a daunting QA and support task. And while it’s easy to say we’ll “just support a few, modern phones” (like the Samsung Galaxy, the HTC Evo 4G, etc.), the Android Marketplace has little infrastructure to support this. Listing all supported devices in the application’s description in not a great nor a foolproof solution; most users do or will not understand the lack of support for their device, leading to a lot of upset customers and reviews. Even the ever-popular Angry Birds – a game with simpler input and resource requirements – has had trouble in this area. Osmos will suffer even more from these issues. I must admit it feels somewhat like opening Pandora’s Box.
Finally, as indie developers who depend on games for their living, we have to ask if it’s worth it financially. Porting to any new platform is a significant amount of work simply from a support, maintenance and PR standpoint; and in Android’s case the actual development effort looks to be significant. And while many point to the growing device numbers and market share of Android phones, we’ve heard that application sales are lagging far behind. Apparently Android phone owners purchase way less software than their iPhone counterparts. Perhaps it’s due to piracy, but I suspect it’s mostly due to the difference in online store integration, and even “culture.” As for numbers, we’ve heard anecdotal evidence that Android app sales are anywhere from 2% to 33% of what they are on iOS. Now, if Osmos were to sell 33% on Android what it does on iOS, we’d be very satisfied. On the other hand, if it only sells 2%… ugh. In the end, if we could reasonably expect 10%, we’d consider that worth our while. The problem is, it may not even hit that modest amount. If any developers out there are willing to share their numbers – in absolute terms or in relative percentages – needless to say we’d love to hear them!! :)
All that said, we do plan to port Osmos to Android — someday. We have lots of love for open standards and communities, both as users (eg. all our libraries and tools!) and developers (eg. the Linux port of Osmos). So let’s go, Google — bring on the OpenAL support and we’ll be right behind you.