Obviously quality – by definition- implies certain subjective factors. But it is true that exists a global perception that – for the time being- there is a qualitative superiority of Apps iOS-based compared to Android. Warning, i dont want to be tendentious! Android improved much from the first versions – 1.5, 1.6…- but I think they have a lot of homework pending yet.
After almost 5 years in mobile marketing and development with Android, iPhone – Blackberry also-, our experience has shown us the 5 main qualitative differences why Android Apps are not better – yet – compared to iPhone:
- No restrictions in Google Play - old Android Market-: it is easy to virtually upload any App to the store. No minimum quality. Apple is very clear: try to send us an App that doesnt contribute the community and you will lost two or three weeks in the revision process.
- Fragmentation: it sounds really happy to have available a new version every 3 or 4 months of the platform. But reallity hits your face: you have to maintain the quality in the wide ecosistem: 2.3.3, 3.x, 4.1.x, 4.2.x…Although Google ensures backward compatibility with the majority of the plataform features, our experience reveals that it is not really true. One of the most used word for Android Developers is: WORKAROUND – do some tricks to make something work-. And i will write an articule about the hidden fragmentation: manufacturers Android customization.
- Bad – very bad -Android API documentation: what should be a reference for developers contains documentation incomplete, inconsistent and careless. A little example: http://developer.android.com/reference/android/app/ProgressDialog.html#setProgress%28int%29. Stackoverflow becomes the main information source for Android Developers.
In that sense, Apple takes care about developers, bringing them documentation with quality. Not perfect, of course, but it is something.
- Technical complexity: it is impressive the quantity of files, XML, and lines of source code to create a little feature in your Android App. Simple things as apply a simple style on a screen results on creating or modifying lots of files: styles.xml, colors.xml, AndroidManifest.xml, creation of shapes, drawables, backgrounds, selectors…Obviously, more things you get, more things you have to test, especially when you have much lines of codes for a simple feature.
- IDE immaturity: there are a lot of alternatives for Android development, as Intellij and Netbeans. But Eclipse remains as the main and favourity IDE for Android. In my opinion, here we have two main problems: operative bugs, intrinsec to Eclipse and its plugins – constant memory leaks, crashes, workspace corruption…- and Android problems – migrainous visual editor and visual XML leaks makes developer write their UI in raw XML, pitfall for visual bugs. It is easy to find Apps that are not visually correct in some types of screens.
It is my experience, sure we can make this list bigger or different. Did you find any other reason? I will appreciate it if you make me know!