For years we’ve heard horror stories about mobile app developers trying to support the many screen sizes found on Android. As the story goes, it’s a far more complicated scenario than developing for iOS since there’s only a handful of different screens on Apple devices. Or is it? According to one developer, who writes apps for both platforms, Android screen fragmentation is a myth.
Russel Ivanovic from Shifty Jelly, maker of the popular Pocket Casts app for iOS and Android, shared his thoughts on this perception in a blog post, starting with this infamous and daunting graphic from 2013 that illustrates the many screens supported by Android:
Simply looking at the graphic, it’s easy to believe that supporting Android has to be more difficult for this reason. Not so, says Ivanovic:
“It’s not that hard, and honestly causes us less headaches than most people imagine. Firstly, the tools Google give us to lay out interfaces have supported this from day one. You’ve been able to define one or more layouts that scale to various sizes, and if you want to get everything perfect, you can have as many of these layouts as you like, while still keeping the one codebase. The layouts are XML, and don’t live in your code. If you’re an iOS developer they are pretty much the equivalent of XIB files with size classes like iOS 8. The other part people don’t realise is that Android has standardised on screen resolutions for a long time now.”
Along with scaling layouts, Ivanovic said, developers can include higher resolution assets to be used as needed based on the screen size and pixel density of a device. To illustrate his points, he chose the top 10 Android phones that use Pocket Casts to see the basic interface layout differences among them. The range of screen resolutions for the 10 devices included:
- 720 x 1280
- 768 x 1280
- 800 x 1280
- 1080 x 1920
- 1440 x 2560
After breaking all of these down to base layouts, Ivanovic said the true picture of different screens to develop for turns out to look far less complicated:
Granted, this is solely for the 10 most popular phones for a single app. Ivanovic is ignoring tablets, which represent a fraction of Android devices when compared to phones. So the situation for other developers will surely vary.
But for Shifty Jelly, there doesn’t seem to be much of an Android screen fragmentation issue. In fact, it’s quite the opposite, as the company can now focus on more recent Android devices and still have a wider audience than for Apple device owners:
“For modern apps like ours though, which support Android 4.0 and above, the landscape is much nicer. That’s the beauty of Android’s massive market share, we can ignore all the people with phones running Android 2.3, those with odd and rare screen sizes, and target only 4.0 and above. The resulting group of people is comparable, if not bigger, than the users we target by being iOS 7 only in our iOS apps.”
To be sure, developers have to do more to support a wider range of devices when it comes to Android. However, the tools to do so are clearly available and now that only 14.2 percent of Android devices are running a version lower than Android 4.0, the screen fragmentation issue doesn’t seem so bad from Ivanovic’s point of view.
If you’re an Android developer, I’d love to hear if you agree with his experiences.