A Slice of Pie: Developing in the Android Ecosystem
By Robert Sebenda
Last month marked the release of Android 9 Pie (API level 28), the ninth major update and the 16th version of the Android operating system. While the naming convention has not abandoned its confectionary theme, there are certain new features that make Pie a release worth talking about.
An Overview of Pie
Let’s break down some of these talked-about features. They’re not revolutionary, but they’re pretty useful for Android users and developers.
According to Android enthusiasts, the most noteworthy feature is probably the adaptive battery — a feature that applies machine learning to battery life. It’s supposed to understand which apps you use less frequently and limit their allowed battery. This way, the apps you use least and are less crazy about won’t be draining your phone. Following in this lineup of noteworthiness is the digital wellbeing software, which will be added later this year. This feature gives you a daily dose of reality with a breakdown of your phone and individual app use.
Apart from these two heavy hitters, new navigational gestures make use of a slim home button and allow for one handed use of your android device. Not only that, but improved notifications and a smarter display make the interface much cleaner and smarter. Android Pie also includes native support for cutouts, which helps out a lot when it comes to user experience — particularly for notifications.
With all that being said, Pie is the newest version in a very complex ecosystem of Android phones. As a developer, how much of an early adopter should you be? Let’s look at the three thoughts you might have in regards to the release of Pie.
How quickly do you need to update?
Immediately, if you can.
There are Target API level requirements that exist for the Play Console. Google Play requires that new apps target at least Android 8.0 (API level 26) from August 1, 2018, and that app updates target Android 8.0 from November 1, 2018.
But it’s not just the requirements that should force you to update. Pie, as with any newly released update, is aesthetically more appealing. The best way to have your app stand out and appear innovative is to have the latest functionality. Not only that, but new APIs make a developers life much easier.
Should you still support old versions?
The short answer? Yes.
The long answer? Absolutely, obviously, without a doubt — yes.
The reality is that many people still use devices running earlier operating systems. Android 8.0 and 8.1 Oreo run on around 14.6% of active Android devices while Oreo’s predecessor, Nougat, runs on 30.8%. Many earlier operating systems like Lollipop and KitKat also account for a significant amount of devices. This means that if you only support pie, you’re alienating most android users.
Another point to consider is that with so many different manufacturers, there’s no one source of android phone. In fact, there have been thousands of different Androids released over the last decade. That’s why there’s so many Oreos and Nougats in the world.
While Apple releases a single iPhone each generation, Android operates in a much more chaotic environment. Since any manufacturer can make an Android smartphone, many devices won’t be quickly and automatically updating to Google’s latest version release. Not only that, but many newly released phones will be running old software.
There are also companies like Samsung which build on top of the Android open source, changing and customizing certain features. This means that they don’t adopt to updates very well (or quickly). Samsung Galaxy is one of those phones that could be running an old OS like Nougat on a newly released device model. In this case, you have users that not only won’t, but physically can’t update to the newest version until Samsung does.
At TTT, we use and support the ten most popular Android devices:
- Samsung Galaxy S9
- Samsung Galaxy S7
- Samsung Galaxy S8
- Google Pixel 2
- Google Pixel 1
- Motorola Moto G6
- Motorola Moto X4
- LG G4
- LG G5
- LG G4
We also make a point to support many old OS versions. We understand that the majority of Android users won’t be updating to Pie any time soon — it’s simply the nature of the Android ecosystem.
When Should You Stop Supporting Old Versions?
Maybe that seems like a generic answer, but it really does depend on what kind of app you’re building.
Although we want to support old versions for accessibility reasons, there are situations where it might not be worth it. From a developing perspective, jumping through hoops to make things work might be too much of an unnecessary hassle.
If you’re building basic apps, it makes sense to support earlier operating systems like KitKat or Lollipop. The apps will be available to a greater portion of the Android market and won’t cause you (the developer) a huge headache.
However, if you’re working with more advanced and specific projects, you may only want to support the newer platform versions. When Two Tall Totems tackled VRify, a virtual reality project, we used marshmallow because it allowed for advanced 360 degree views. With KitKat and Lollipop, we couldn’t pull off anything fancy.
As a general rule, it only makes sense to support the kinds of apps you’re building. But do keep in mind that developing with very early systems is a huge challenge. Even rounding corners is hard in older versions since standard imageview does not have rounded corner options. This might not seem like a big deal, but when you want to build a modern and well designed app — round corners are super important.
The Takeaway? Know Your Audience
After this ninth major version release, one thing is clear: Android developers need to know their android audience.
The Android ecosystem is always evolving, so being aware of the phone and operating system distribution is key for developing the best apps. As of August 2018, Google’s oldest supported version is Marshmallow 6.0 (API 23). Despite Google dropping support for many of it’s older versions, our recommendation for standard apps is to cut off support at KitKat 4.4 (API level 19). We will always aim to support KitKat, and if that’s not possible we will try to support Lollipop. Now, if we’re working with new technology, we avoid the stress and go straight to Oreo.
These rules are not set in stone, but they’re what work for most TTT projects. Our team knows that being an android developer isn’t always a simple job — it requires skill, expertise and an adaptive mindset. But when you keep your audience in mind, developing for Android can be as easy as pie.
Originally published at www.twotalltotems.com on September 11, 2018.