It should be no surprise to anyone here that I’m a big fan of Android, though I’m by no means a “fanboy.” I’ve had a smart phone since the days of the original Handspring Treo, and since then I’ve used palm OS, windows mobile, Symbian, iOS, and Android devices. Really the only mobile platforms I missed were WebOS and meego (both died to quickly.)
The number one reason I settled on Android was the extremely tight/core integration of Google services, and the generally “Open” nature of the platform on the whole.
I like to hack and tinker with my electronic devices, and Android affords me the greatest opportunity to do so.
That said, it’s extremely disheartening to see that after 5 years of rapid development, Android is still a second class citizen when it comes to many cross-platform applications.
A recent example of this is a popular exercise app, Sworkit.
The paid/pro version of this app ($1) has an overall rating of 4.6 on the Play store. And the free version has an overall rating of 4.5, and both apps combined have an “install” base of ~105,000-510,000 users according to the ranges indicated on their product pages.
And Sworkit for Android is a borderline unusable iOS port, and an example of a terrible developer pushing crap as quickly as possible to make money, instead of focusing on quality.
Here’s a few or the biggest problems with Sworkit for Android:
- Sworkit isn’t native, but an extremely poor performing web-wrapper, using Cordova.
- Sworkit completely ignores every Android UI guideline. This is a huge, HUGE issue. Menu’s don’t work the way they should, There’s no action bar, nav drawer, view control, etc.
- Sworkit completely ignored the systemwide “Holo” themes, instead using UI elements straight from the iOS app that don’t fit with Android at all.
- Sworkit largely ignores hardware buttons which either don’t work as they should (back causes endless loops in many screens), crash the application, or don’t do anything at all (e.g. menu button)
- Sworkit uses built-in, pre-recorded voice files instead of utilizing the Android TTS services, so the only language it supports is English.
- Sworkit embeds assets (e.g. system fonts like Roboto) instead of calling them from the operating system framework.
- Sworkit even ignores common APK structure, placing all drawables into the /assets folder instead of the /res folder.
This is by no means an exhaustive list of all the problems with Sworkit for Android, but it’s definitely some of the most glaring issues.
I don’t really know how else to say this, but to anyone developing for mobile platforms, your applications need to show that you actually care about them. Android users by and large want apps that look and feel like they belong on Android, not iOS or web ports. Just like iOS users want apps that look and feel like they belong on iOS.
If you’re going to develop for multiple platforms, take your time. Learn the platform. Use it’s strengths wherever possible, and only develop custom workarounds in the absolute worst/last case scenario.