Which means that what I learned at I/O 2013 can finally be put to good use!
The sad part is that I decided to skip looking enthusiastically under the hood of M, because I won't be able to use it anyway for quite some time.
Which means that what I learned at I/O 2013 can finally be put to good use!
The sad part is that I decided to skip looking enthusiastically under the hood of M, because I won't be able to use it anyway for quite some time.
Perhaps updating your app to the 5.x standard will actually make those users use it instead of running away to other Material apps ;)
Luckily, Android has a great compatibility library so you can still use many of the new features.
This allows you to use the newer features, but also include fallback layouts for lower SDK versions.
EDIT: Yeah, looks like I was mostly right: minSdkVersion and targetSdVersion. https://developer.android.com/guide/topics/manifest/uses-sdk...
That's how they manage to capture a large percentage of the few users who have the latest version of Android. That's how the app builds a strong brand for the "new stuff", and then can usually maintain that brand as all devices start being replaced by devices that support those APIs.
Other time, they don't improve that much on their app, and someone else comes from behind and makes a better alternative with the new APIs, though.
You must have a very unusual user base! We have 11.6% using 5.0 or newer, and apps in our category (Communications) have average of 16% using 5.0+. Our largest user base is for 4.4, at 49%.
The whole approach of backwards compatibility has not worked out well. Google's alternative approach for the last two years have been the Play Services, which are now a behemoth requiring multidex in your app, when the majority just use the API client libraries from them.
[1] https://developers.google.com/android/guides/setup#split
This puts future development on two, or, for very mature products, on three tracks where you have a code-base for up-to-date devices, and another for somewhat training edge devices, and maybe a third for old devices. Very often new phones have an outsize value to app developers because that's where the new phone customers, who buy apps at a higher rate than people with two-year-old phones.
YMMV. If you don't have tens of thousands of users, you aren't going to do it that way. Or, if you app has no need for the latest features, you won't do it that way.