Popular photography app 500px is at the forefront of a growing developer movement. Despite nearly sixty percent of users running a version of Android under 4.0, 500px will be dropping support for older versions of Android. What’s the thinking behind the growing trend of, “Out with the old, in with the new?” I reached out to 500px’s COO and co-founder, Evgeny Tchebotarev, to gain some more insight.

At first glance, developers dropping support for older versions of Android seems like a huge mistake. According to the latest Android platform distribution numbers, fifty-five percent of Android users are on a version of Android lower than 4.0, Ice Cream Sandwich. Logic would dictate that by dropping support for Android devices not running 4.0 or higher, you’d miss out on over half of the market. But platform distribution numbers are deceiving.

In a recent comment to Mobile Syrup, 500px’s Evgeny Tchebotarev said that, “Just 16% of users use our app with Android version lower than 4.0, and this number is dropping by around 0.1% every week.” After knowing this, what originally seemed like a horrible idea, alienating half of the users on the platform you’re developing for, seems like an effective way speed up development and ensure a better user experience. When I asked Evgeny what he thinks dropping support for older versions of Android will do for the development cycle, that’s exactly what he said.

Although we never dropped any Android version before, but did so for iOS – speed of development and quality of code increased dramatically. I'd assume that dropping some Android versions will streamline our testing, allow us to focus more on performance, and can actually lead to an increase in app ratings.Evgeny Tchebotarev500px

500px is in a mildly-unique position, with a user based compromised of mostly, “Very savvy users with the latest Android phones,” Evgeny says. But they aren’t alone. Normally, once any certain firmware’s install base reaches 10-15%, dropping support for that firmware is common practice. Android is different right now, in that you can essentially break the entire platform into two sections, despite individual firmware numbers. 500px is lucky enough to have only 10-15% of their users on a version of Android under 4.0.

Developer 25 Squares, the folks behind the fantastic Google Reader client Press, can share another story about how the adoption rate of newer versions of Android is speeding up. In a twitter post, 25 Squares revealed some interesting stats on who’s using their app. According to the tweet, their install base consists of, “15% on 4.0, 30% on 4.1, and 55% on 4.2.” Press is only available for phones running Android 4.0 and up, but knowing that only a couple devices run the newest version of Android, 4.2, and still more than half of Press’ customers are using 4.2, is impressive.

After 25 Squares’ tweet, other developers were eager to chime in, saying that even in their apps that do include versions of Android under 4.0, usage numbers were minimal, and that support for them would be dropped in later updates.

One of the Android developer community’s most popular devs, ROM Manager, Carbon Backup and Desk SMS’ Koush, is also adopting an Android 4.0 and up only development policy, again saying that platform distribution numbers don’t paint a proper picture of actual usage.

From this point forward, you’ll be hard pressed to find a lot of apps that make their initial appearance with support for Android all the way back to 1.6. Those that can drop older versions of Android will. And should. Apps like Twitter, Instagram and Facebook want to support as many older devices as possible, because there’s a good chance people with older devices are still using those services. So perhaps still developing for older versions of Android is in their best interest. But they belong to a shrinking club.

Developing for only Android 4.0 and higher is inevitable. Handfuls of incredibly talented developers and innovative services have already adopted it, and it’s all for the best. Evgeny Tchebotarev said, and I agree whole heartedly, “For the platform overall, moving forward is the key. Android was a very buggy system before 4.0, but has evolved a lot in 4.2. So I’d simply love to see more people upgrading and switching to newer, better, systems.”

In a perfect world, Google would have created an operating system that doesn’t require a potential sixty percent of its users to be shunned if developers want to streamline and simplify development, creating a better overall product. But that’s the way it is. Thankfully, in order for most developers to make the leap to a modern Android only development process, they aren’t losing even close to as many users as it may seem.

At the end of the day, developer’s like those behind 500px are making the right choice. We’re just left with one unanswered question — If practically no one using an older versions of Android is using these hot new apps, what in the hell are people doing with their older Android phones?

I think its good that they are doing this, maybe that will convince people to upgrade their phone to a device with android 4.0+. As a temporary fix for gingerbread users they could have to versions of their app, but that may cause some confusion.

I agree, that and most of those users are probably around the time that their contract is ending and up for an upgrade, and with more and more phones beginning to ship with JB it will get rid of the majority of those with older versions.

I think you’re taking the completely wrong mindset and only thinking of the US alone. I imagine a majority of that 60% are the cheap crappy not really smart phones that give android it’s market share around the world. So a majority of these phones are bought in areas where there is no subsidy and there is no upgrade cycle and having the cheapest phone possible is important. That’s probably why only 16% have the talked about app, either the phone is too crappy to run such an app or the people are at such a cheap price point they don’t buy content.

Android version fragmentation isn’t going to get better any time soon when a majority of the owners of old version are cheap low price point phones who will keep them for as long as they possibly can.

The problem with the fragmentation argument is assuming that, without it, those “defragmented” users would simply start buying content and behaving like a user who cares about the _smart_ part in smartphone.

They won’t. The fragmentation actually allows Android to cater exactly for those people needs: something cheap and much more powerful than what they need. Pretty much like a PC, or an Internet-enabled fridge. :)

That’s the good side of Android: it is _very_ democratic. The downsides are minimal side effects of this freedom, IMO.

It won’t cause confusion. Devs can have one entry in the Play Store and distribute different APKs to users depending on whether they’re on a certain OS version, have a certain screen size, etc. The users won’t even know the difference.

I still activate new Gingerbread devices each and every day. I try not to, if I can help it, but to the uninformed public (who’s main objective is to pinch every penny), devices like the LG Optimus Elite and the ZTE Warp are the way to go. They won’t listen to me when I tell them that a device like the Kyocera Rise is worth the extra $20, and they’ll buy them anyway. When they find out that the new version of Angry Birds doesn’t work on their phone, they aren’t going to bother to remember that I told them that they were buying an “Older device that might not be able to run all the new apps and games”. They’re just going to get pissed off at their “crappy phone” and look for something different. However unjustified, they will have a bad opinion of Android.

Most users with older android versions do not install apps. They register in play store every day because the play app is pre-installed but never go there to install apps. they use their smartphone as a feature phone (call and sms) and maybe browse some web, Facebook and nothing more. Google stats should consider users that install any app in the month and not just the login.

I wouldn’t say that’s entirely true. There are definitely exists a group that got their first android phone when GB was shipping with most phones and they don’t do much but call, email, facebook, and text. There are also many android geeks like myself who got phones in that same era, but are locked in a 2 year contract. I was stuck on GB for a long time because my old contract phone didn’t run ICS well. Only recently I jumped to a Nexus phone. As we see more of these contract GB phones run out there will be a big group of people stuck on JB that we talk about 20 months from now.

“If practically no one using an older versions of Android is using these hot new apps, what in the hell are people doing with their older Android phones?”

I think the major flaw in many of the comments on this article is that you think everyone in the world has contract cycles and upgrade times. I don’t know the statistics but a majority (probably most of that 60% number) of android market share comes from outside the US where people buy the cheapest phone possible. Those android sets that have crappy hardware and crappy parts just to be super cheap and not really even a smartphone. They aren’t going to upgrade every two years. They will hold onto their devices for as long as possible. And that thought mirrors what the developer said that only 16% come from that area because since this people are at such a cheap price point, I’m sure they never purchase content.

I don’t think its as big a deal as people thinking. If we want the best performance and features from an app, it has to be optimized for the latest and greatest. That’s like trying to stream Hulu on a computer that’s 10 years old and expecting it to be completely fluid, its not gonna happen. The website was designed with current web standards in mind, not so my grandma can use her Pentium II to watch her stories. (btw, saying all this with a comedic tone)

With new hardware performance comes new app performance. If we’re stuck back at the lowest denominator, then we’ll never have technological progress.

I agree 100%. Just like iPh@ne 3GS or 4 (not 4S) users don’t expect to use the latest iOS features, fellow Android users must upgrade their phones to use it’s newest features.
Android 4.2 on my Galaxy Nexus is almost perfect. Apps optimized for ICS/JB run great. My co-workers keep asking me, “Did you buy a new phone?”

The difference is, I would venture that many of those pre-4.0 devices aren’t 3 or 4 years old. They are probably still being sold because they are the cheap crappy phones sold as cheap as possible around the world that make up a majority of androids market share. It costs money for a maker to cheap phones up work in an upgrade. They keep what barley works and what people buy to continue to make money.

Also, I believe, the 3GS can run every app in the App Store, its just apples features that they decide not to support. So some new features do trickle down but things like Siri that require modern performance do not. I could be wrong about the ever app comment but I had a 3GS until 2012 and it ran everything I tried it to.

Considering the average Joe android user still has upwards of a year on contract before being able to upgrade,gb is here for a while. Dropping support for new versions of the apps on 2.x makes sense as long as a legacy version that works is still available. They won’t crave the latest and greatest, and will be happy with any version while the new people get the new app

In a perfect world, this would become enough of a trend to put pressure on the carriers to actually keep phones current, at least so far as their hardware allows for. Sadly, that’s unlikely to actually be a thing that happens, which is why I’m buying straight from Google from here on out.

Standardize the Holo look has nothing to do with dropping support for older APIs.

To standardize Holo, the single most important thing to do is update handsets to 4.0+. And that relies only on manufacturers support and customer conscious decisions when buying handsets.

A developer dropping support for < API 14 will do nothing to standardize the looks. It will only alienate customers, i.e., you will lose 40% of your users, you won't convert them to Holo by doing that. On a collective approach, I think it's questionable that we should all, as a whole, artificially drop support for older devices in order to "force" those customers to buy new handsets. If anything, Android is what it is because of the economies of scale and freedom, which allowed Android to grow organically instead of artificially. The "fragmentation" is an aspect of optimal accommodation to user _demands_ (not worrying about it), no more, no less: an optimal cost/benefit… most users don't care, so try developing the best with what you have and to what it is demanded.

Also, there are a lot of apps with legacy looks even on Holo devices. Lazy developers won't do anything to update them, and it's not competition to your beautiful, Holo designed, feature-optimal apps anyway. You dropping _won't change_ that. Eventually, those apps will fade away because of lack of user interest. Let them die naturally dropping in the app rank.

Finally, on your side, you can always standardize Holo for pre-Honeycomb apps. There are automatic, "plug-and-play" libraries for that, and again, the answer is not dropping support for legacy APIs. But before doing so, understand that shoving Holo down the path is the reverse side of the coin of using legacy looks on Holo devices.

If you read the article, you will see that the point of dropping support is not to primarily standardize on Holo. It's to avoid the unnecessary work (when applicable) of forking features to gracefully degrade in older handsets. It avoids extra developing time and costs, with the _benefit_ (not goal) of natively standardizing on Holo for all your users. It also helps streamline the code. The exchange you make is dropping support for older APIs, but depending on your customer base, they may not care about you anyway, and THAT's when dropping support makes all the sense.

This kind of data coming from developers is a big deal. It proves that fragmentation isn’t going to destroy Android. Phones running GB simply don’t have the power to run all these new amazing apps and who cares! People buying GB phones in 2013 or even 2012 probably aren’t looking to do all sorts of amazing things with their mid or low end Android device.

Exactly! I know a few less tech savvy friends and family members that just use their phones not even realizing it’s an Android device. And with so many bidget Android devices out there they would have a poor experience trying to run the higher-end apps we use daily. The apps that people use for these old phones are Dictionary, Words With Friends.. and apps like these.

I have a co-worker like that. He wanted to upgrade current Android phone to another Android phone. He asked me which model had Google Navigation ‘built-in.’ When I told they all do, he didn’t believe me.

Some time ago, before receiving the update to ICS, I was not so happy that I could not test some apps that were available for Android 4.0 and up. I guess this is inevitable, since this could make apps a lot faster/better and consumed resources would be lower. This should make manufacturers think twice before pulling the update on some smartphones capable of running a newer Android version.

The developers should make it that upgrades be available to the newest version only or that the older version be manually downloadable from a server somewhere. It should ease the transition for the users on the older version.

Lazy, lazy, lazy. In my current (large scale, feature rich) app have less than a dozen places where I check for a specific version of Android before using a feature, and maybe 1 or 2 where I can’t do a minor tweak or use a library to support almost the same functionality on older versions. All added up it’s maybe cost a couple extra weeks out of nearly a year of development, and I support back to v2.1 (Eclare). These are the same types of Android devs who can’t figure out how to make their apps look as polished as their iOS counterparts. Stop blaming the OS or cutting corners, learn your craft, and don’t make users pay for your lazy development practices – you’re making us all look bad! I can understand the testing cost concerns, but if you test smart the added cost is minor and it results in more passes through the app, so a better chance of finding bugs before release.

For what I’ve seen, people almost always drop support just because they can’t figure out a way to gracefully degrade the functionality, or provide alternatives, not because they absolutely must. And let’s face it: the emulator has come a long way since the days when we didn’t have x86 images available (which was the opposite issue: testing HC/ICS when we didn’t have such device).

Of course, as I said in a post above, it’s not absolute: you don’t need to counter corners when there are no customers there for you to reach, and I think that was the whole point of the article.

I think its good that they are doing this, maybe that will convince people to upgrade their phone to a device with android 4.0+. As a temporary fix for gingerbread users they could have to versions of their app, but that may cause some confusion.

I agree, that and most of those users are probably around the time that their contract is ending and up for an upgrade, and with more and more phones beginning to ship with JB it will get rid of the majority of those with older versions.

I think you’re taking the completely wrong mindset and only thinking of the US alone. I imagine a majority of that 60% are the cheap crappy not really smart phones that give android it’s market share around the world. So a majority of these phones are bought in areas where there is no subsidy and there is no upgrade cycle and having the cheapest phone possible is important. That’s probably why only 16% have the talked about app, either the phone is too crappy to run such an app or the people are at such a cheap price point they don’t buy content.

Android version fragmentation isn’t going to get better any time soon when a majority of the owners of old version are cheap low price point phones who will keep them for as long as they possibly can.

The problem with the fragmentation argument is assuming that, without it, those “defragmented” users would simply start buying content and behaving like a user who cares about the _smart_ part in smartphone.

They won’t. The fragmentation actually allows Android to cater exactly for those people needs: something cheap and much more powerful than what they need. Pretty much like a PC, or an Internet-enabled fridge. :)

That’s the good side of Android: it is _very_ democratic. The downsides are minimal side effects of this freedom, IMO.

It won’t cause confusion. Devs can have one entry in the Play Store and distribute different APKs to users depending on whether they’re on a certain OS version, have a certain screen size, etc. The users won’t even know the difference.

I still activate new Gingerbread devices each and every day. I try not to, if I can help it, but to the uninformed public (who’s main objective is to pinch every penny), devices like the LG Optimus Elite and the ZTE Warp are the way to go. They won’t listen to me when I tell them that a device like the Kyocera Rise is worth the extra $20, and they’ll buy them anyway. When they find out that the new version of Angry Birds doesn’t work on their phone, they aren’t going to bother to remember that I told them that they were buying an “Older device that might not be able to run all the new apps and games”. They’re just going to get pissed off at their “crappy phone” and look for something different. However unjustified, they will have a bad opinion of Android.

Most users with older android versions do not install apps. They register in play store every day because the play app is pre-installed but never go there to install apps. they use their smartphone as a feature phone (call and sms) and maybe browse some web, Facebook and nothing more. Google stats should consider users that install any app in the month and not just the login.

I wouldn’t say that’s entirely true. There are definitely exists a group that got their first android phone when GB was shipping with most phones and they don’t do much but call, email, facebook, and text. There are also many android geeks like myself who got phones in that same era, but are locked in a 2 year contract. I was stuck on GB for a long time because my old contract phone didn’t run ICS well. Only recently I jumped to a Nexus phone. As we see more of these contract GB phones run out there will be a big group of people stuck on JB that we talk about 20 months from now.

“If practically no one using an older versions of Android is using these hot new apps, what in the hell are people doing with their older Android phones?”

I think the major flaw in many of the comments on this article is that you think everyone in the world has contract cycles and upgrade times. I don’t know the statistics but a majority (probably most of that 60% number) of android market share comes from outside the US where people buy the cheapest phone possible. Those android sets that have crappy hardware and crappy parts just to be super cheap and not really even a smartphone. They aren’t going to upgrade every two years. They will hold onto their devices for as long as possible. And that thought mirrors what the developer said that only 16% come from that area because since this people are at such a cheap price point, I’m sure they never purchase content.

I don’t think its as big a deal as people thinking. If we want the best performance and features from an app, it has to be optimized for the latest and greatest. That’s like trying to stream Hulu on a computer that’s 10 years old and expecting it to be completely fluid, its not gonna happen. The website was designed with current web standards in mind, not so my grandma can use her Pentium II to watch her stories. (btw, saying all this with a comedic tone)

With new hardware performance comes new app performance. If we’re stuck back at the lowest denominator, then we’ll never have technological progress.

I agree 100%. Just like iPh@ne 3GS or 4 (not 4S) users don’t expect to use the latest iOS features, fellow Android users must upgrade their phones to use it’s newest features.
Android 4.2 on my Galaxy Nexus is almost perfect. Apps optimized for ICS/JB run great. My co-workers keep asking me, “Did you buy a new phone?”

The difference is, I would venture that many of those pre-4.0 devices aren’t 3 or 4 years old. They are probably still being sold because they are the cheap crappy phones sold as cheap as possible around the world that make up a majority of androids market share. It costs money for a maker to cheap phones up work in an upgrade. They keep what barley works and what people buy to continue to make money.

Also, I believe, the 3GS can run every app in the App Store, its just apples features that they decide not to support. So some new features do trickle down but things like Siri that require modern performance do not. I could be wrong about the ever app comment but I had a 3GS until 2012 and it ran everything I tried it to.

Considering the average Joe android user still has upwards of a year on contract before being able to upgrade,gb is here for a while. Dropping support for new versions of the apps on 2.x makes sense as long as a legacy version that works is still available. They won’t crave the latest and greatest, and will be happy with any version while the new people get the new app

In a perfect world, this would become enough of a trend to put pressure on the carriers to actually keep phones current, at least so far as their hardware allows for. Sadly, that’s unlikely to actually be a thing that happens, which is why I’m buying straight from Google from here on out.

Standardize the Holo look has nothing to do with dropping support for older APIs.

To standardize Holo, the single most important thing to do is update handsets to 4.0+. And that relies only on manufacturers support and customer conscious decisions when buying handsets.

A developer dropping support for < API 14 will do nothing to standardize the looks. It will only alienate customers, i.e., you will lose 40% of your users, you won't convert them to Holo by doing that. On a collective approach, I think it's questionable that we should all, as a whole, artificially drop support for older devices in order to "force" those customers to buy new handsets. If anything, Android is what it is because of the economies of scale and freedom, which allowed Android to grow organically instead of artificially. The "fragmentation" is an aspect of optimal accommodation to user _demands_ (not worrying about it), no more, no less: an optimal cost/benefit… most users don't care, so try developing the best with what you have and to what it is demanded.

Also, there are a lot of apps with legacy looks even on Holo devices. Lazy developers won't do anything to update them, and it's not competition to your beautiful, Holo designed, feature-optimal apps anyway. You dropping _won't change_ that. Eventually, those apps will fade away because of lack of user interest. Let them die naturally dropping in the app rank.

Finally, on your side, you can always standardize Holo for pre-Honeycomb apps. There are automatic, "plug-and-play" libraries for that, and again, the answer is not dropping support for legacy APIs. But before doing so, understand that shoving Holo down the path is the reverse side of the coin of using legacy looks on Holo devices.

If you read the article, you will see that the point of dropping support is not to primarily standardize on Holo. It's to avoid the unnecessary work (when applicable) of forking features to gracefully degrade in older handsets. It avoids extra developing time and costs, with the _benefit_ (not goal) of natively standardizing on Holo for all your users. It also helps streamline the code. The exchange you make is dropping support for older APIs, but depending on your customer base, they may not care about you anyway, and THAT's when dropping support makes all the sense.

This kind of data coming from developers is a big deal. It proves that fragmentation isn’t going to destroy Android. Phones running GB simply don’t have the power to run all these new amazing apps and who cares! People buying GB phones in 2013 or even 2012 probably aren’t looking to do all sorts of amazing things with their mid or low end Android device.

Exactly! I know a few less tech savvy friends and family members that just use their phones not even realizing it’s an Android device. And with so many bidget Android devices out there they would have a poor experience trying to run the higher-end apps we use daily. The apps that people use for these old phones are Dictionary, Words With Friends.. and apps like these.

I have a co-worker like that. He wanted to upgrade current Android phone to another Android phone. He asked me which model had Google Navigation ‘built-in.’ When I told they all do, he didn’t believe me.

Some time ago, before receiving the update to ICS, I was not so happy that I could not test some apps that were available for Android 4.0 and up. I guess this is inevitable, since this could make apps a lot faster/better and consumed resources would be lower. This should make manufacturers think twice before pulling the update on some smartphones capable of running a newer Android version.

The developers should make it that upgrades be available to the newest version only or that the older version be manually downloadable from a server somewhere. It should ease the transition for the users on the older version.

Lazy, lazy, lazy. In my current (large scale, feature rich) app have less than a dozen places where I check for a specific version of Android before using a feature, and maybe 1 or 2 where I can’t do a minor tweak or use a library to support almost the same functionality on older versions. All added up it’s maybe cost a couple extra weeks out of nearly a year of development, and I support back to v2.1 (Eclare). These are the same types of Android devs who can’t figure out how to make their apps look as polished as their iOS counterparts. Stop blaming the OS or cutting corners, learn your craft, and don’t make users pay for your lazy development practices – you’re making us all look bad! I can understand the testing cost concerns, but if you test smart the added cost is minor and it results in more passes through the app, so a better chance of finding bugs before release.

For what I’ve seen, people almost always drop support just because they can’t figure out a way to gracefully degrade the functionality, or provide alternatives, not because they absolutely must. And let’s face it: the emulator has come a long way since the days when we didn’t have x86 images available (which was the opposite issue: testing HC/ICS when we didn’t have such device).

Of course, as I said in a post above, it’s not absolute: you don’t need to counter corners when there are no customers there for you to reach, and I think that was the whole point of the article.