Between all the different brands, phones, versions, and screen sizes, Android is an operating system used by nearly 4,000 distinct devices. For developers, this can mean an all-nighter or ten. For you, it could mean anything from needing to find more experienced developers to extending deadlines, longer build times, and some nasty headaches along the way.
And this is why:
1. Different devices, different functionalities
Android takes the cake when it comes to device inconsistencies. Unlike iOS, Android is implemented by each phone manufacturer to suit their own hardware. As a result, there are differences in how one Android device will behave compared to another made by someone else, so you’ll have to account for these manufacturer-based nuances during development. For example, the Samsung Galaxy S3 and HTC Droid DNA both run on Android 4.1, but the S3 uses the TouchWiz user interface while the Droid DNA uses HTC Sense UI framework, a subtle but important enough difference that will require you to think about how your app integrates with these UIs.
2. One size does not fit all
The Samsung S3 has a 4.8-inch display, while rumor has it that the Samsung S4 is at almost 5 inches. The brand spankin’ new HTC One has a 4.7-inch screen, a whole 0.3 inches smaller than the HTC Droid DNA. Then there’s the 7-inch Nexus Tablet and the 5.3-inch Galaxy Note. What does this mean for you? It means double or even triple the work for your designers. Compared to iOS, there are so many different screen layouts and footprints for Android devices. To support all these different screen sizes, your graphic designer will have to produce images in multiple resolutions. Your team will also have to recreate the layouts for your UI multiple times to suit different devices. The number of permutations of layout and graphic sizes is enough to drive one to the bottle if you don’t scope your app to a small set of screen formats.
3. Complex programming model –> Longer build time
This is something your developer can worry about, but it’s something you want to pay attention to as well, especially if more experienced developers and longer build times are going to cost you. Compared to iOS, Android’s programming model is pretty complex. When creating an iPhone app, Apple tells you to design your app using what’s called the Model-View-Controller paradigm (those are some big words, I know – again, let your developer worry about it). Android, however, just gives you a toolbox and says go to town. While some love a blank slate without anyone telling them how to do what they do, creative freedom has its price: it makes it harder to design or program something on Android, compared to what once was easy and less time-consuming on iOS. (Plus, Android’s development tools suck, but you didn’t hear it from me – just Google it and you’ll hear it from everyone else)
4. There are a million versions of Android
Just kidding, though it does feel like it compared to iOS. From “Cupcake” (Android 1.5) to “Jelly Bean” (Android 4.2) and the latest “Key Lime Pie” (Android 5.0), Android has 18 API levels (that’s dev talk for ‘versions’) and counting. While all these version updates sound yummy, from a developer’s standpoint, they’re more like those fat-free, sugar-free, taste-free muffins you can get at the grocery store (no offense if you’re into that sort of thing). Why? Because no one ever really enjoys them. You’d think it would be fun to see what cool new things you could do with new releases, but with the market share amongst current Android devices being so heavily fragmented, you don’t actually know which version you should program against without potentially alienating your customer base. Your best option, then, would to program against the oldest version to cover all potential users. This means you’ll lose out on the perks of newer or later versions, such as additional functionality or ease of use (e.g., more robust UI and enhanced performance of Android 4.0 Ice Cream Sandwich over Android 3.0 Honeycomb).
Android is not your developer’s best friend – far from it. Nonetheless, it’s a rapidly growing market and the industry is watching with eyes wide open. It’s full of possibilities and it may just be where your app gold mine lies. But before you take that leap, talk to your developers. Do your research. And make sure you know exactly what you’re getting yourself into.
Are you a developer? What do you hate about building Android apps? Share your thoughts below.