Android Stats and Tricks from OpenSignal
One blog of note that is furthering the efforts of today’s mobile application developers can be found at the OpenSignal web site. Their recent Android Fragmentation Visualized report offers some unique perspectives on the challenges of writing Android apps that will perform as envisioned for the multiple versions of the mobile operating system that are currently in use.
The difficulties associated with creating a uniform user interface for the vast array of device types, with their many different screen sizes, that will deliver a predictable user experience for their apps, are shown with informative charts and graphs that highlight these singularities.
The authors of the report posit that due to Android’s skyrocketing growth and success, these manifold differences will continue apace as well. They further assert that these variations on the Android theme, while undoubtedly posing conundrums for developers, are nonetheless more of a strength than a weakness.
That being the case, mobile developers should anticipate the ongoing need to test their app's performance while running on as many Android versions and device types as is practicable. That will assist in realizing an acceptable user experience across these variables.
Also stressed, due to the nature of Android’s worldwide user base, is the advisability of carefully considering the context of your app’s content to accommodate the many different cultural sensibilities inherent therein.
In a companion post by Open Signal’s James, entitled 40 Developer Tips for Android Optimization; methods for attaining quality coding are espoused. Such as in Tip 2, where James shows developers how to take advantage of the helpful Android resource folder structures. They can be used for tweaking screen resolutions and other visual attributes like switching between portrait and landscape or flipping layouts from right to left for Arabic language content, for example. For displaying your app on devices with smaller screens, the OpenSignal guru shows how to employ ActionBarSherlock to conceal the Action Bar to save that precious screen real estate. Elementary!
Tip 8 shows how to apply the Graphical Layout tool to preview your work on different screen sizes from the drop down menu. In Tip 9 James adjures against the scaling of all of your images. Tip 15 recommends ditching onDraw and instead custom coding your own graphs. Tip 20 says that for obtaining uniformity, developers should customize all of their user interface widgets.
Tip 21 shows how to make buttons change when selected using XML files. Tip 36 counsels retracing StackTraces because of its files being hidden by the ProGuard feature. Tip 39 encourages developers to start a device pool amongst their circle in order to have a good supply for app testing.
The differences between iOS and Android today, are much like the differences betwixt the Desktop Apple OS and Windows. Similarly, James implies that writing for Android is more difficult than for iOS. He recommends StackOverflow to beginning developers to help troubleshoot their code.