Last Tuesday we published the first major update to Xero Touch for Android since the native app was first released back in February. Read on for a summary of what was in the release, the history of Xero Touch on Android, and the implications of OS fragmentation for support.
The major item you’re likely to notice is initial support for Files for Xero. Previously you could only attach a single picture to a receipt, but now you can attach as many as you like. This creates a foundation for our next two Android features: attaching files to invoices, and accessing the main files inbox.
Under the covers, we’ve also refactored segments of the app (particularly authorisation) into Android library projects. Xero Touch isn’t going to be the only mobile app we release, and this refactoring means that a lot more code can be reused for new apps. A more modular codebase also makes it easier for us to develop and test new features.
That’ll come in handy as we move to a more regular release cycle. Already the native version of Xero Touch has seen more regular releases, every five weeks on average (as opposed to five months for HTML5). Our customers also seem to like it a lot more. The HTML5 implementation at one point dropped down to a 2.4 star rating, but the current combined rating for the native releases is over 4 stars! It’s unfortunate that the ratings assigned to the old version of the app persist; this is why the overall app rating is only 3.55.
|HTML5||1.x||1 Oct ’12||228||700||3.07|
|Native||2.0.3+||19 Feb ’14||260||1079||4.15|
We’ve also seen a steadily increasing number of customers downloading and using the app, with over forty thousand current installations. At present Android users make up about a quarter of all active Xero Touch users. Android fragmentation has also decreased, with over 70% of active users now using OS versions less than a year old.
The decrease in fragmentation is really good news for us, as many of the bugs we find are specific to a particular OS version. For example, when Android 4.4 was released along with the Nexus 5, we found a nasty bug that crashed the app. We had to do a whole release just to resolve the problem! Fragmentation means not only more work fixing issues, but much more work finding them in the first place. Every release must be exhaustively tested against several different devices.
The other problem is maintaining backwards compatibility with versions that came out before Ice Cream Sandwich (4.0). With that release, Google made some pretty significant changes to UI and animation standards. Although third-party libraries like HoloEverywhere and NineOldAndroids have helped, we still spend about a day a week on average working to support pre-4.0 devices. It also prevents us from using some of the more modern animation options even when phones support them!
That significant overhead, combined with the very low proportion of customers still on these versions (2.16%) has led us to the decision to stop supporting Android 2.3 and 3.x from this release on. If you have an old device, don’t worry! You won’t get new features, but your current copy of Xero Touch will continue to work as normal.