3 Tips for Building Mobile Apps
Building an app can be tough fo ...
At Sourcebits, we often debate the merits of iPhones vs. Android devices (thus the inspiration for our platform wars blog series). We can’t compare every smartphone on the market, but this blog post focuses on the issue of device fragmentation when it comes to mobile app design and development.
For the average user, the plethora of options that can come with an Android smartphone might be overwhelming. Mobile devices change rapidly and vary wildly, but that can appeal to people looking for a specific set of hardware features. For this reason, Android has the tendency to draw “tinkerers”, who want to play, experiment, and customize their smartphones. In fact Google’s Project Ara takes it to the extreme – it’s a modular phone concept where all the main components are interchangeable. For a simpler experience, iOS affords users a straight-out-of-the-box, consistently reliable experience. You can pick from (and as a developer you only have to test apps on) a few iPhone and iPad models, vs. hundreds of Android devices.
What do some of our team members say about the hardware battle?
“iOS tends to have better and more consistent hardware available with less compatibility issues and more performance headroom. The hardware capabilities are also better used by the OS, which means it’s easier to achieve greater perceived performance. iOS hardware typically has superior build quality, although the batteries tend to deteriorate embarrassingly quickly. Transitioning an app from an iPhone to an iPad is also incredibly simple from a development point of view, unless you want a heavily customised UI.”
“In its favor, Android is already the forerunner for wearable technology and other non-phone gadgets. Because the Android platform is (mostly) open, it’s possible to be creative and customize your own version. For example, a user can strip out segments to make the phone more lightweight and put in their own specifically tailored features, or replace default services with more robust services that fit your needs. You can create your own launcher to completely change how your home screen looks and functions. With regards to the hardware quality, on budget Android phones it can be inferior. But smartphones like the HTC One and Samsung Galaxy S5 have achieved parity with iPhones.”
On going cross-platform, Chris says, “Creating new layouts to expand from phone to tablets is as easy as creating it and dropping it in a folder. No code change is necessary, unless again you want a heavily customized UI.”
He adds, “My Android phone feels every bit mine and not like some rental from Apple. Also, it’s big and I don’t feel like I’m going to crush it with my hand like I do with an iPhone.”
With the endless parade of hardware choices, Android’s fragmentation is both a blessing and a curse for developers. On the one hand, the variety of Android devices has resulted in far more consumers (80% of smartphone users in aggregate). On the other hand, developing an application that works across a huge number of devices can be agonizingly frustrating and extremely expensive for testing and customer support.
Screen size plays a major role in mobile app design and development. iOS has just a handful of screen sizes to account for, while Android has dozens. Here’s a visual comparison (from OpenSignal in 2013, so a bit dated as many more devices have since come out) of the two platforms’ very different fragmentation across devices. Each box represents a different device’s screen size.
Additionally, OpenSignal put together this cool visualization showing the rapid fragmentation of devices. In just one year, from July 2012 to July 2013, the number of Android devices on the market tripled, from 3,997 to 11,868.
When it comes to OS fragmentation, according to April 2014 data, 87% of Apple users have adopted iOS 7 since the September 2013 launch – and 98% of users fall within iOS 6 or 7. Meanwhile, just 5% of Android users have devices running the latest OS version, KitKat. In fact, 6 different OS releases comprise the Android ecosystem – creating a real challenge for developers.
As you can imagine, working within the fragmentation of Android’s mobile experience can make a developer’s already-complex job much more difficult. A team of developers working on their app called Emu decided to buck the normal trend and build “Android-first.” But they later reversed their decision and designed exclusively for iOS. As they explained it, “The problem with fragmentation isn’t merely the quantity of bugs. It’s also the difficulty of finding them, and of understanding them well enough to fix them. We can’t test on every Android device we support, so we get bug reports in the field that we couldn’t anticipate and can’t reproduce. And, plenty of bugs go unreported and, therefore, unnoticed.” While the team acknowledges Apple has its own problems, such as its provisioning and certificate system, as well as its manual app-review system, they decided iOS was ultimately better for their product and their market.
Have a question or feedback on the battle between iOS and Android? Share your thoughts with us in the comments.