One of the questions that we get a lot is whether there’s going to be an Android version of Trail Wallet. Unfortunately, the answer is “not at the moment” and here’s why.
Different Programming Language
In order to be fast and efficient, Trail Wallet has been coded in iOS’s native language, Objective C. Android runs on a different language, Java. This means that most of the code would have to be rewritten for Android.
There are cross-platform coding tools available (such as PhoneGap) that allow you to code once and have it deploy to all mobile devices but there are some serious issues with using these, not least of which is the added dependency on a third-party system.
Currently, I have two test devices: a 4th Generation iPod Touch and an iPhone 5.
Measured in points, these two devices represent the entirety of the available iPhone/iPod screen dimensions (Trail Wallet doesn’t support iPad, but even if it did that would only add one more screen size1). That means, if it looks good on these two devices, I know that it’s likely to contine to look good on everyone else’s devices.
Android, on the other hand, has thousands of different devices supporting hundreds of different screen resolutions. This makes device testing a heavy proposition.
Even if I only supported the most popular devices, it’s still a non-trivial amount of work (not to mention the fact that I would have to invest in some of these devices for testing2).
Along with this comes another problem—feature updates and bug fixes.
In response to user’s suggestions and issues, we were able to roll out five updates in the six months since we launched the app and we’re currently deep in the middle of a huge new update.
If we had to support a different language, as well as test in all the different devices, we simply wouldn’t be able to keep up. Updates would be delayed for months and we wouldn’t be able to get new features into the hands of our users as quickly as we’d like.
We’d rather deliver the best possible experience to a smaller market than a crappier experience to everyone.
At the recent Apple Keynote event, Tim Cook noted that 93% of users are on iOS 6, the latest available operating system for iPhones, iPods and iPads.
Currently, Trail Wallet supports iOS 5.1 but, given this fact, Trail Wallet 2.0 will probably only support iOS 6 and above. This gives me access to a huge range of new features and time saving code shortcuts and I can do this knowing that only a very small number of users will be affected.
In contrast, only 33% of users of Android devices are on Jelly Bean, the latest version of Android, which would mean choosing to drop support for a significant number of users or be stuck using older APIs and dealing with backwards compatibility issues (a significant overhead).
Developers on iOS generate 2.6x the revenue of their Android counterparts, despite the fact that Android enjoys a significantly larger market share in terms of devices sold.
Although it’s encouraging to see that gap closing, the simple fact is that there are more folks on iOS willing to pay for apps.
Trail Wallet has been a significant investment of time and money already and, based on the assumption that it would cost a similar amount to port it to Android, it hasn’t yet been profitable enough to make the investment worthwhile.
Given the disparity in revenue generation, we also have to assume that it would take significantly longer to make back this investment and, in the meantime, we’d be expected to keep developing and updating it, adding to the cost.
Watching the Tides
We do really appreciate the interest in our app and wish that things were just a little bit different but we’re a tiny development shop and so have to be very careful where we dedicate our resources.
We won’t be developing Trail Wallet for Android in the near future. However, Trail Wallet is doing very well and, if it continues to grow as it has and if the paid app situtaiton on Android continues to improve, then we will definitely reconsider our position.
Technically, the Retina display doubles this number but, because of the way Apple have designed their devices, adding support for Retina is actually incredibly easy. I have a Photoshop action that automatically creates Retina versions of all of my assets, adding approximately 30 seconds to the development time.↩
I am aware of the many software based testing tools available but these don’t come close to testing on actual devices.↩