Everyone wants better support for the phones we're buying, and not getting it is holding Android itself back.
Here's a simple truth we all probably know in the back of our minds — you don't need to get a new version of Android because not much will seem different. The home screen or app drawer may have a tweak or two, and there will be one feature we would like to have, but the apps we use are going to look and function the exact same. The things we do, like messaging or Facebook, won't use any of the new features developers have available for a while, and apps that do include the latest cool developer feature will be few and far between for quite a while.
Yeah. That really sucks. But there's nothing most of us can do about it since we're not building phone operating systems or apps ourselves. And we can't get mad at the developers who make the apps, because of another simple truth: phones not getting fast updates are hurting the Android platform.
Android only exists to run apps. Poor support for phones limits the people making them.
It's not hurting us a bit. As mentioned, there's not as much to look forward to as it sounds on paper, and you don't have to have the latest version to get maintenance updates. In fact, unless you're using a phone you bought from Google, the updates from the folks who built it usually bring more to the table than a whole new Android version. What Note 5 user doesn't want to new interface from the Note 7? Compare that to the number of folks excited about Scoped Directory Access in Android 7.0. (Though Scoped Directory Access is pretty sweet and will make apps safer and run better.) We want things we can see. We want application-focused things like Svelte or Bundled Notifications. We're getting neither.
All one has to do is look at the number of phones running the last version at the Android Developer Dashboard to see why. When less than 20 or 30 percent of your potential users would be able to benefit from anything new, it's a much better idea to build your apps for the other 70-plus percent of the market. It will still work for phones on the newer version, and gives you time to make changes and be ready when the cycle repeats for the next big update. There is no rocket science needed on this. But feel free to rocket science the hell out of it if you can because rocket science is cool.
This is the real story of Android fragmentation. Phones with older versions aren't the issue — it's the phones with the newer version that are. Crazy. Building apps for different screen sizes and different processors was a lot easier than people made it out to be, and it didn't even turn out to be the mess that was predicted. Working around all the different versions turned out to be simpler, too. Pick the one with the most users and ignore what's new. Google has tools to make it easy to stay compatible with the older versions (which will come in handy six months later when it's finally time to update) and phones with the latest software will still get the same experience as everyone else. And I'm on your side, developers. This is exactly what you should be doing. Work with your market, not against.
The fix is simple and impossible all at the same time. Phones that are going to get updated need to be updated faster. Phones need to be supported longer by the people who took your money. Google has to plan carefully to not exclude any phones unless they absolutely have to.
Google, as the torch-bearer of Android and maintainer, does some of this well. The update cycle has been stretched to one per calendar year, manufacturers and big names in the app space get early access to code changes and new APIs. The vanilla framework and system are regularly updated and patched. All these should make it easier to update the operating system on a phone. The department-of-making-phones, though, is a bit sketchy on the support side and sometimes the reasoning behind it leaves a bad taste in the mouth. They can do better, and they should be doing better. But they are doing something.
Fragmentation works the opposite way we think it should. The updated phones are the ones left out.
And the companies who make the phones we are buying in gigantic numbers aren't sitting on their laurels all day every day, either. Samsung, LG, and HTC have shown that they can pump out an update fairly quickly while others like Huawei and Sony even show us the progress and let us join the fun through beta programs. But nothing is done consistently. Some models get some things, others get none, and the ones in the middle seem to be in perpetual limbo. Releasing a $90 phone running Lollipop and locking it to that version is fine as long as critical issues are addressed, but the most expensive models need supported longer and updated faster to change things. And for God's sake please stop making so many different middle-of-the-road models so you have the resources to support the ones you do make. If it's not on this list, stop making it and instead make one that will be on that list next year. Done. No charge for that market insight.
Nobody can force anyone to change things, nor should anyone be able to. Android is already the most closed open-source project since WebKit. Yeah, I know, being mobile-focused is the reasoning but I'm still allowed to not like it. Only the people making the phones and writing the software for the phones can change any of this, and even then only for their own models. The market research they tout so often to support things like thinner phones with small batteries or that only users outside of North America want dual-SIM models will have to show that what we really want is better support for what we're buying.
Yes, only enthusiasts are worried about getting the latest update quickly, but everyone wants to have apps with the best features and a phone that doesn't need to be replaced every 18 months to get them.