Somewhat deceptive, because a lot of stuff in Android is now unbundled and separately updated, whereas with iOS you have to upgrade to a new OS version to get a new version of the app.
iOS needs a whole OS update to update things like Mail, Maps, Safari, Siri, Notes, Reminders, Camera, Photos, etc
On Android, many of the core equivalents are available as Play store updates with the exception of stuff like Chrome and WebView which had deeper OS dependencies.
Is someone stuck on say, Android 4.2 (two releases ago) in a worse situation than someone stuck on iOS 5? The Android user in many cases could still get the latest Google Now cards, Chrome, Gmail, Maps, etc
Yes, it was bad in the Gingerbread era. But if you've got Jellybean or equivalent, in many cases, you don't need to be on KitKat to get the majority of the latest features.
It's bad for developers though. You have to stick with older API's when developing Android apps if you want to target the largest audience possible. As we speak already ~75% of iOS users are on iOS 7[0] and I'm quite sure it'll be close to ~90% in the next 2-3 months.
For me as mobile developer, this is one of the reasons why I'll keep developing iOS apps first and target Android second.
"You have to stick with older API's when developing Android apps if you want to target the largest audience possible."
what? surely you just use the new features as and when they become available and always use the oldest API as a 'base level'? this is the same for all platforms... including iOS - if you approach backward compatibility as something you seriously want this is not even a problem. even given the quick uptake on updates in the iOS world, supporting just iOS 7 seems a bit nuts to me.... maybe i get the wrong end of your stick though.
i'm kind of mystified how you are doing things to make this the case... the only significant headache i have ever had with backward compatibility is when apple stop me from being able to do it by force.
> "what? surely you just use the new features as and when they become available and always use the oldest API as a 'base level'? this is the same for all platforms... including iOS - if you approach backward compatibility as something you seriously want this is not even a problem. even given the quick uptake on updates in the iOS world, supporting just iOS 7 seems a bit nuts to me.... maybe i get the wrong end of your stick though."
In iOS often newer versions of the operating system make certain functionality much easier to develop due to the new API's that are added or existing API's that are extended or improved. I personally don't find backwards compatibility hugely important, I just want to provide enough backwards compatibility to serve 85+% of the market. I think in the coming months we'll reach that stage for iOS 7, so for the current app I'm working on will target iOS 7+, that is if I can convince our client this is a good idea.
Sadly, for Android I'm likely required to target versions 3.2+, which means some functionality might not work as well or look as great compared to what's possible in the newest versions of Android, especially if I find myself using the lowest common denominator of API's. I don't like to do extra work just for a small part of the audience, so that is something I'll try to avoid (perhaps some people will hate me for this?).
that makes sense. ditching backwards compatibility does make life a lot easier - as long as you are aware of the compromise (or that it doesn't exist if you are targeting some enterprise environment perhaps) then it does make sense.
In general though I think as an approach it is customer unfriendly and programmer (or other ulterior motive) friendly /only if the programmer is lazy or starting from scratch/. Eventually you do have to decide a cutoff point based on the time you spend vs. the reward - however if you reuse your code properly these become one time costs that are rapidly amortised - and following the practice of backwards compatibility helps in a cross platform environment to ensure that your /architecture/ is actually future proof and platform agnostic.
As a one man band I enjoy supporting all of the platforms and with a large amount of backwards and forwards compatibility. It might be easier as a team of one, but it makes me feel (that bad kind of) pride when I look at 10+ man dev teams failing to do the same...
Why would you target android 3.x? 3.x was a very short-lived, tablet-only release that never had a significant install base.
I understand wanting to support 2.3 for older/low-end phones, but I've never seen any statistics, including those you posted, that suggest 3.x has enough market share to be worth supporting.
> Sadly, for Android I'm likely required to target versions 3.2+, which means some functionality might not work as well or look as great compared to what's possible in the newest versions of Android, especially if I find myself using the lowest common denominator of API's. I don't like to do extra work just for a small part of the audience, so that is something I'll try to avoid (perhaps some people will hate me for this?).
This is a bunch of nonsense, support apps back to 2.2 or 2.1 is not difficult and you can easily target higher level APIs even if you use an older OS version as a base API level.
I think the point he is trying to make is that the technically newest APIs (19/Kitkat) aren't all that different from any of the 3 Jelly Bean APIs in a significant enough way that the SDK can't mitigate the differences in an acceptable way.
The stats at your second link are based on apps that use mixpanel. I suspect that Google's statistics [1] are going to be more accurate because they are based on play store purchases and periodic update checks.
This was mostly true for Gingerbread and even Froyo and Eclair too (that's as far as my personal experience goes). YouTube, maps, play store etc. got several major updates on their own schedule and many new Google apps were released for them.
Android and iOS have different development models, if that isn't taken into account then comparisons are meaningless. Google often gives people the chance to opt into beta or dev releases, by this standard nearly every desktop Chrome user is two versions behind the latest release.
BTW, Chrome is available from the store, though webvew isn't (yet).
It's also deceptive to say "iOS needs a whole OS update to update things like [...]", it needs an incremental update, which it gets, so how is that an issue at all? That you can't update them individually?
If an iPhone can no longer get a major version upgrade (e.g. a N.x upgrade not an N.0x upgrade), it also can't get any of its apps updated.
Some of my relatives who took my iPad 1s when I bought new Ipads for my kids are stuck on iOS 5.1.1. Those iPads are from September 2010, but stopped receiving any updates for system apps as of May 2012.
So yes, granular, loosely coupled updates are better than "rebuild the whole tightly coupled world and ship a firmware-diff" updates.
In particular, if an app is not tied to specific kernel features on Android, changes are it can have along life, because Android OS level services like Google Play Services can be independently updated as well.
Yes, this is true, especially in the past (up to the iPhone 4/ iPad era). Obviously hardware dependent features aren't there (eg siri when new, iOS7 camera, M7, etc) either.
Still, I have zero issues with iOS 7 on my iPad 2 and my parents are happy on their 4S.
Yes, I believe that's the issue. I recall with the Maps debacle, you had to wait for a minor update of the OS to update the app itself. Obviously the "iOS needs a whole OS update" can be seen in two ways, we know that going from say 7.0.1 to 7.0.2 means that a few things on the source changed and they recompiled, but for the end user, they don't receive a patch of say 15MB with what has changed. So in that respect iOS needs a whole OS update to update things like Maps (not the data obviously, but the source of the app).
The issue there is that for someone living in a country where data is expensive, a 10MB download is better than an ~800MB one every time there's some bugfixes/app updates. Plus from my knowledge, Play Store can deliver a patch of the app, instead of downloading the whole 10MB.
Right but there were many other good mapping apps at the time Apple introduced their maps app, and since then there has also been the Google-developed Google Maps app — all these are updated individually.
Aside from Maps (for which there were alternatives) the other apps haven't really had any urgent patches bundled into minor OS upgrades that I can recall.
I was cherry-picking Maps, but I remember that not all iOS apps were updated to the iOS7 look and feel when it came out, it was only at point releases that the few that weren't updated received the update. If Apple has a new shiny Safari browser ready, they have to bundle it with the whole OS update instead of pushing an update on the App Store.
One could even say that the advantage of Google being able to system app updates on the Play Store is that Android apps competing with iOS ones (not a great comparison, but Google Now and Siri) have an advantage in that Google keeps on pushing updates regularly as and when they are ready, whereas Apple would update Siri during a major OS update or the incremental ones. [I am aware that back-end services/responses are updated regularly by both, but I'm referring to code which would change an app's behaviour].
> I was cherry-picking Maps, but I remember that not all iOS apps were updated to the iOS7 look and feel when it came out
This is not true for apps that come with the OS. Some Apple apps were updated later, but only those that come from the App Store like any other regular 3rd party app.
The advantage Google has to be able to update core apps from the store instead of through OS updates is specific to Android's nature, because it allows them to work around OS updates not being available to customers (because of carriers, OEMs, whatever). Apple doesn't have that problem because they update the OS themselves. Also, Google likes to update its software more often than Apple does.
Also, every app developer on IOS is a jerk that deliberately add some fake requirement (such as front facing camera) so appstore will refuse to install the app on 3gs or older models. just because they fear they might get one bad review for the app being slow there... well, not that there are a single app that isn't just a useless native version of some site anyway.
I'm an App Developer who has never done this. Every app developer I know has never done this. I really don't understand why you are so bitter for absolutely no reason, except maybe you have a 3GS and won't upgrade.
I've been forced to do this by a publisher and did not feel good about it at all. To be fair, though, it was a quick port of a flash game that was completely unplayable on the 3gs and not fun on the 4.
A quick search will bring up tables of which device requirements will disallow which devices, so it's not an unheard of practice. But nobody is excluding potential customers out of spite, it's because the older harware genuinely can't handle the apps.
I have a 3Gs so i can also be exception, like you, and keep upgrading my apps/sites and not having to add "front facing camera" just so i can be a slob and not test for the phone poor people uses.
screw upgrading phone every year. my gaming desktop is not upgraded that often.
Maybe you should think through what you are saying. If someone is stuck on iOS 5, which phone would they be using? A phone that's 4 years old (i.e. pre Gingerbread era)? Apple has done a pretty good job of allowing phones/tablets to be updated, with the iPad 1 being a big exception.
What Google is doing is helping but the ideal solution would be to have people be able to upgrade their mobile devices for at least 3 years. As much as I dislike Microsoft, if they provide a better upgrade path, they could become a much bigger player by making upgrades trivial for the 99.9%.
I was kidding. Yes, FreeBSD has a very good package manager, but as far as overall philosophies and maybe popular perception, Linux is the million-tiny-independently-updateable-bits-that-may-or-may-not-fit-together and FreeBSD is the huge-giant-blob-we-update-together-and-it-all-works!
Also, the iPhone 4 phones don't upgrade to the latest, iOS7 on an iPhone 4 is barely usable, AND WORSE you can't downgrade. I've known people who "bricked" their phones, where it was usable but very slow and painful to even make phone calls. So is it truly a fair comparison?
Now those on Android 3.x are definitely screwed. At least the 4.x phones are getting the new apps, and new APIs.
From the developer's perspective, this is just a shit. Now you have to deal with something like DLL hell in API versions instead of a few of fixed major versions.
I've swapped from Android to an iPhone. And I think articles like this are dumb, and missing the damned point. I don't need to justify my choice, as it's that: a choice. You're not joining a religion. So why preach?
Anyway, the difference lies here; those EOL'd phones? Yeah, well you have a much better chance of getting a community written ROM bringing you up to date, then you do have the same thing happen to your iPhone 3GS. I want to run TOR on my iPhone, but I don't trust what's in the App Store, and I've no way of putting FOSS on my phone. I give up that choice for a nice well supported handset.
But that doesn't mean anyone who makes a different choice is wrong. Sigh.
You have no idea what you are talking. The community isn't a magic unicorn that crap out software for older devices.
First of all, the radio and camera and anything that touches a hardware is proprietary and very hard to reverse engineer. So 99% of all ROMs start with the proprietary blobs being extracted from the official ROMs. So if the last kernel released for your device (e.g. let's say you gave $600 to google for a nexus one, the first phone they falsely advertised continuous upgrades) and now you want android4 there. too bad. it is pretty easy to compile android 4 and flash there. but you will probably not even have the screen working.
Lol, mate, I used to port Windows mobile updates to phones that we're never meant to have it, back when people knew what "XDA" was for.
I do know what I'm talking about: you have that choice with android. Not every device. But that's splitting hairs. You DONT have that possibility with iOS. That was an okay trade off for me.
More to the point, now that Android has decoupled core apps from the OS itself, older phones can have nice new updated core apps, even when their manufacturer had abandoned them (which I never said was a good thing).
And yes, drivers need to be ported or written. That sucks. But at least there's the option. I don't have that option with my 4S, so when Apple moves on from it, I'm stuck.
You have no idea what you're talking about either. A first generation Samsung Galaxy S (released in 2010)[1] can run Android 4.3 through a stable release of CyanogenMod 10.2 and work is under way for Android 4.4 support[2].
If you split end users into tech people and lay people, then I don't think it matters as much.
Most of my lay friends tend not to even realise they are not on the latest version. Their maps app gives them directions and the camera takes photos.
As for more techie people... that's why I much prefer Android. The ROM scene is amazing, and allows my original Samsung Galaxy S 1 to run the latest version of Android. I also get to experiment with different ROMs that take different approaches to mobile OSes.
I think you're underestimating the Apple marketing machine. Members of my family who hate to open up their computer were asking me questions about iOS 7 before it came out. Apple does a really good job at marketing the latest version. Android basically never mentions it because of 1) the fragmentation but 2) Google doesn't have any control of the hardware so they focus on pushing out app updates rather than OS updates.
Apparently over 80% of the world doesn't agree with the OP. Why could it be? Apparently they only care about what they can do with the phone they have in their hand, not a bunch of models listed in a table showing some argument, such as being stuck at an earlier major version. And some random bits:
* on iPhones they can't install CyanogenMod, Ubuntu Mobile, a custom ROM, newer experimental OSs. versions, Firefox.
* on iOS they can't find enough free apps, they end up paying 5 times more. It's a money trap.
* On iPhones they can't install Android KitKat neither since iPhones are stuck on iOS.
* Newer iPhones are stuck at similar specs to the previous versions mainly they couldn't easily keep the API consistent if they had launched a 6.0inch iPhone and a 2inch one.
* They can't install iOS on a phone with very large screen, with dual sim card, a very small screen, a phablet, a water proof phone, a watch, a virtual machine, a game pad
* iPhones are mostly oversold in US, due to carrier subsidy model. Most people end up paying higher sums during the whole contract, beyond the initial money they paid. It's a money trap to suck more from customers.
> on iPhones they can't install CyanogenMod, Ubuntu Mobile, a custom ROM, newer experimental OSs. versions, Firefox.
Of the "80%", how many care?
> on iOS they can't find enough free apps, they end up paying 5 times more. It's a money trap.
Bullshit.
> On iPhones they can't install Android KitKat neither since iPhones are stuck on iOS.
Meaningless.
> Newer iPhones are stuck at similar specs to the previous versions mainly they couldn't easily keep the API consistent if they had launched a 6.0inch iPhone and a 2inch one.
Bullshit.
> They can't install iOS on a phone with very large screen, with dual sim card, a very small screen, a phablet, a water proof phone, a watch, a virtual machine, a game pad
Meaningless.
> iPhones are mostly oversold in US, due to carrier subsidy model. Most people end up paying higher sums during the whole contract, beyond the initial money they paid. It's a money trap to suck more from customers.
There is no point is arguing this kind of thinking. If it's reversed, you'd cry FUD. It's meaningless bullshit. Simple as that.
Edit: the whole list is so logically challenged (if something is free, how can someone pay "5 times as much"?) that it wily be a waste of time and energy debating any merit that may be present.
I understand that customization is a big part of Android, but I have a hard time believing that 80% of people care about that. Only recently 82% of people still couldn't tell you what a browser is (http://www.cxacademy.org/only-8-of-internet-user-know-what-a...), so I can't see them customizing their OS, or even caring/understanding the details of OS customization.
Personally I hope both platforms stay strong, so we get lots of innovation.
I'm curious, is it possible to upgrade/customize the Android OS in the way you described if you don't have a computer?
What I find the most surprising is how Apple continued to sell the 3GS. You could have bought a 3GS at a time where I wouldn't have updates for even a year.
The upgrades also shouldn't be a reason for buying a phone, you buy a phone for what it can do now. You don't know whether an update will be useful or not.
What did iOS 6 add? Apple's own Maps, Facebook integration (why is that an OS feature?).
Those are all things that in Android are just app updates, any app can integrate with other apps and feature SSO & default apps (like Maps, SMS, browser) can be chosen by the user.
There are some things that iOS 7 does better then Android, and some things that Android does better.
Both have a target audience and both are really advanced, but neither is a truly better OS.
I currently own an iPhone 5S. And while I do love the fingerprint sensor and the back-gesture-swipe, there really are some oddities in iOS. Why can't I use a mp3 as a ringtone without using iTunes? Why do I have to use iTunes to add music to my phone? Why can't I choose Chrome as my default browser?
> Why do I have to use iTunes to add music to my phone?
You don't. You have to use iTunes to add music to the bundled Music app. You can use other music apps that have different ways of getting the music onto your device, e.g. Spotify, last.fm, Amazon Cloud Player, etc.
Is that still correct for iOS5 and newer? I know I never solved that to anything remotely close to satisfaction when checking it out last time for iOS6
No, the poster is setting up the same tired argument that is raised since the iPod came out: it's not a USB media device out of the box. That is by design, and likely for reasons other than to "restrict our freedomz!". I don't want to use a file manager to organize my music, I'll take an iPod/iPhone, please. You may feel differently, so you might want to take a look at the fine music players on the market. Or just suck it up and install the app on your iPhone.
I want to hook up an iPad to my laptop - FOR FREE - and be able to copy 2GB movies to it whenever I want, with 2 clicks or less. I say iPad but it's the same, really, for iPhone. I just care more about the iPad here :)
You can do it, but it's in no way straightforward: all sort of cloud services (no, I don't want to send my files over to your servers in Finland to copy things in my living room), making the iPad a WebDAV server (probably the simplest solution but definitely annoying), SMB shares (only seen on the iPad through crappy or paid apps), iTunes (again, crappy solution, a lot more clicks than a real file manager).
I mean, just because Apple (or the media companies Apple does business with) has an agenda to push you can't blame me for bitching at them. After all drag'n'drop file copying between devices was a problem solved 20 years ago. Now I need special "apps" on either my PC or on the iPad (most of them crapware or paid or paid crapware) to connect glorified "iDevices". The just took that option out - there was no technical reason to not have it and just HIDE the entry from newbies.
Add to this the fact that the app market looks so immature that I feel I'm back to DOS shareware land. Few major companies I feel I can trust to not screw me at a low level (I don't care about NSA intrusions, I care about credit cards numbers being leaked out or major security breaches on code no-one has ever reviewed), no well known, mature OSS apps for the main things I do with my device.
Right now installing an app seems a crap shoot.
Anyway, it's all business reasons and not tech reasons, I get it. End of rant :|
Hardly my point. I use spotify because I have a subscription anyway. I just wanted to add some music to my phone so I could test siri and select songs by voice. The stock player is privileged (spotlight integration, Siri integration) in iOS so using a different app isn't an optimal solution.
When I use Android phones I have literally dozens of options to get music to play with the stock player. (copy it from a cloud storage, adb push it to my phone, copy with a simple file explorer, download it from a website or use btsync to sync it automatically)
Apple made a big step when the iPhone/iPad no longer needed a PC to just activate it. And then again a big step to allow OTA updates. I think the next step would be to allow some way to add music without using a dedicated PC.
I know that loading new music onto recent iPods is protected by cryptographic techniques with a similar strength and level of code obfuscation to their DRM scheme. Wouldn't be surprised to find the same is true of the iPhone.
Yes, Android support is a bit bad, slowly improving but still unsatisfactory. However, I agree with other commenters that it's not a good apple to apple comparison.
Most of the apps that come with Android with Google apps (which all of the OEMs listed use) have the majority of apps that can be updated from the Play Store. Besides for 'low-level' APIs that change with each Android version, a lot of users still get the benefits of app updates, which ordinarily continue to work fine on older hardware.
Of course this becomes a problem for developers regarding which versions to target as a minimum, but to offset that to an extent, there are compatibility libraries (both from Google and the community).
Lastly, the aftermarket ROM community is doing wonderful work with supporting flagships and other device ports. It can only get better, definitely not a reason for me to switch to iOS, if I know the differences between the OS features, and what each version of each OS roughly has, I should also know that I can get a custom ROM that will have all and likely more features than stock Android.
However, that doesn't take into account all the new features disabled on past iOS devices. Of course there are a variety of reasons why some features are not present: (lack of) hardware, marketing, difficult to backport.
What is the problem of running an older Android OS version on your phone if it runs fine? Some people are not tech savvy, and dont want every update. And most people buy a new phone every two years. So, while the graph is probably right, it is not pointing out a big problem.
For developers it is easy to build an android app that supports android version 2.2 upwards with the compatibility packages. Testing is just a tidbid harder.
>For developers it is easy to build an android app that supports android version 2.2 upwards with the compatibility packages.
No, it isn't. Seriously, tell my how compatibility packages address the lack of TextureView in pre-ICS, the lack of meaningful Camera API, the lack of OpenSLES, the outdated SQLite libs, the lack of way to get the native sampling rate, ... (I could literally go on for an hour like this).
Any nontrivial app needs load of work to properly support old versions. And then you can begin the real work: fixing vendor specific bugs.
> No, it isn't. Seriously, tell my how compatibility packages address the lack of TextureView in pre-ICS, the lack of meaningful Camera API, the lack of OpenSLES, the outdated SQLite libs, the lack of way to get the native sampling rate, ... (I could literally go on for an hour like this).
Things like TextureView, OpenSLES, and sampling rate are app specific and will be a challenge to deal with in general, regardless of platform level. Camera APIs are available in a good state going back to API 8 and 9, which are 2.x releases. Generally speaking, the majority of app developers will not have to deal with the APIs you are talking about, but yes they are flaws and your app may have to target higher API levels or have extra development if you want to support older devices for those things.
> Any nontrivial app needs load of work to properly support old versions. And then you can begin the real work: fixing vendor specific bugs.
Vendor specific bugs are always an issue even in the 4.x releases, this is something that cannot be avoided when developing for a platform with a lot of hardware variation.
The problem is it doesn't always run fine. I've got a Samsung Galaxy S running Android 2.35 and it's a pain in the neck. It's slow and crashes regularly, requiring me to remove the battery to hard reset it. And the Samsung Kies software needed to update the firmware only worked on 1 out of the 4 Windows PCs I tried it on.
Got a Nexus 5 on the way, hoping that I'll have better luck with that.
Thanks, I avoided rooting because I didn't want to spend the time and take the risk, but given the amount of frustration the it's given me I should have done it ages ago. If I wasn't about to receive a Nexus 5 I would definitely try this.
I had to bite the bullet on a Galaxy S a couple of years ago due to poor performance but it was totally worth it. Running a 10.1 or 10.2 version of cyanogenmod is very snappy, although there are limitations (e.g. storage space on /datadata) due to the age of the hardware.
I did survey of Android side of things during winter break right after Ice Cream Sandwich came out[0]. As I recall most of the severe fragmentation cases were low-end handsets which were typically behind a version or more already when released.
The point is presumably that there's no equivalent in the Apple ecosystem at all. If you want an iPhone for even close to the price of a low-end Android phone, your only option is a second-hand 3GS which is also one major version behind and no longer getting updates (or the equivalent at whatever time that survey was done). Except that, because Android can update many of the bundled apps seperately and iOS cannot, you're actually worse off.
Clearly this also depends on what you consider a "major version". If you consider major Android versions to be 1.x, 2.x, 3.x and 4.x, Android would look a lot better.
In actual development experience, pre-ICS (2.x/3.x) and post-ICS (4.x) are a big divider.
Does this count 4.1, 4.2 and 4.3 as separate versions? I had all 3 on my phone and barely anything changed between them. This looks like typical Apple fanboyism to me.
I wonder how much this reflects a split in the market between people who treat their smartphone like a computer vs those who treat it like an appliance. When I buy a microwave, a TV, a stereo, a car, or pretty much any other consumer product, I have no expectation that the UI will ever change. I won't have people moving the knobs on my cars dashboard, or "flattening" the UI on my microwave. Android is on OS used primarily by phone manufacturers who still want to control the user experience (e.g. TouchWiz), and who are selling that phone as an appliance.
Complaining that one can't put Kit Kat on a Nexus S seems a bit like complaining that you can't add HDMI input on your old Sony Trinitron or put ABS on my 1990 Miata.
right, but apple will turn your phone into a brick with an update because they stop caring about older models long before they officially drop support.
True. they list 3Gs as supported. I can barely use my test 3GS with the latest ios6.. i go for a coffee everytime i open the browser. i bet with ios7 i would be able to go brew a fresh one.
Apple is damned if they do and damned if they don’t. If Apple decides a device is too slow to run a new major version of the OS, the decision will be condemned by people like u/jheriko. If Apple does let a 4 year old model run the new major release, people like u/gcb0 will complain that it’s slow.
Meanwhile, a three year old phone (iPhone 4) can run iOS 7 and run it well, albeit without fancy animations and parallax effect. I don’t know of any three year old Android phones that run Android 4.4.
Disclaimer: I think both platforms are shit in their own way. I prefer Android, though I actively hate it every day.
> I don’t know of any three year old Android phones that run Android 4.4.
I don't know either (not saying there aren't any). But the (lack of) support isn't Android vs. iOS. It's Apple vs Samsung vs Motorola vs Sony vs ...
For example i own Goog, err.. Motorola phone about as old as iPhone 4 and the most recent version it runs is 2.2 (AKA unusable crap). I use 2.3 via CM and there are 4.x builds available. On the other hand, Sony phones from 2011 (perhaps only some) received update to 4.1. This is just two manufacturers, out of many.
(i am not a fan of android at all and much prefer ios)
its trivial to solve. test the os update on old devices and don't push os updates to old phones if it destroys the user experience. i'm not going to condemn them for not ruining my user experience...
my issue is the fact that they change their tools and processes to make it impossible to support e.g. iPhone 1 if you want to. My app will run lovely on an iPhone 1 or 3G, but I can not make a version that runs on these phones as well as an iPhone 5. This is a choice, not a technical constraint or avoiding maintenance costs - I'm very sure its /more/ expensive to do this than not.
i'm fairly sure that its part of their strategy to encourage you to use the latest devices. lots of apple consumers seem to be aware that 'apple don't give a crap about you if you use their old stuff' - i've heard this opinion unprovoked from very un-tech-savvy types much more often than once.
if you work with the apple tech much yourself its an obvious recurring theme - they all but explicitly tell you not to support old devices and then do make it actually impossible beyond a certain point.
this is just not the case for android or even windows or any other platform/os except for perhaps games consoles which are special - if i want i can make an app run across all android versions and have one entry in google play and supporting old versions of windows is trivial work usually. apple have the worst ecosystem for this by miles and miles - nobody else comes close
...and actually old android phones do run 4.4 - you have to put it there manually perhaps, but this is at least possible. it actually has performance benefits on older phones too... which is how it should be. the fact that each ios release is significantly slower isn't down to new features or niceness its programmer sloppiness.
I've had three iPhones: 3G, 4, 4s. With my 3G, 18 months into owning it I upgraded it to the last iOS (4 if I recall correctly) and the phone became unusable. Every time the phone rang, I would be swiping to answer the call and it would not respond in time before the call would go to voicemail. Every other function on the phone was also slowed down to the point of not being realistically usable.
The issue with the 3G is well known and hasn't really repeated itself. If Android fans get to tout community support as a positive then why not us too? Install whited00r, and your issue is solved.
there is also the general phenomenon of people being afraid to update (wrongly) their iPhone 4 or 4S based on their previous experiences with a 1, 3G or 3GS
EDIT: also see other testimonials in this page of comments...
I know people say things like this, but how much of it is true and how much is perception.
For example on an old phone the chances are you are still using the latest versions of apps, which are now coded for faster models. So trying them on your 3GS means they use more memory, crash more and slow down the OS. Taking a vanilla install I don't think you would see much difference in common tasks.
you are right, almost certainly a lot of it is perception based on the poor quality of apps in a legacy environment.
some of it is certainly OS features though. the framerate on animations can be quite poor - like slideshow poor - when launching an app, swiping at notifications or bringing up the status bar. the onscreen keyboard on the 3G is something i remember as being particularly terrible from when I had access to such a device... it would lose input entirely in some situations. some of this is probably also apps in the background, but its also the OS management of those apps...
ultimately though i think the real thing is that apple don't test in real world usage cases (like you describe) - or have a very low quality bar on what is acceptable on older devices. if the way most users use their OS makes it slow then it just is the OS developers fault imo...
EDIT: i would point out that as an app developer its definitely not the speed of the hardware - its the difference between os versions that i see - nothing else changed.
You can't assume from your limited experience with a 3G running iOS 4.2 that an iPhone 3GS running iOS 6 or an iPhone 4 running iOS 7 will be as bad.
Those issues were caused by the anemic processor and 128mb of RAM in the original 3G. The 3G was arguably unusable with iOS 4.2 but the same situation really hasn't repeated itself with more recent devices.
thank you. i did say precisely this, that the current fears are measurably unjustified, but obviously i didn't make clear enough that this was what i meant. :/
That fragmentation forces developers to be remained painful and, sucky old API and toolset. What really sucks is Google only advances to newer version, and don't give a shit on old versions - that's what they have been do on their services.
Google can provide something better even on old version of OS, but they didn't because it's annoying, so now all the 3rd-party developers must do clean the shit from Google.
Anyway, if Google is not idiot, they should know he problem is the fragmentation, and will offer some better abstraction layer which can cover any old systems too. And I believe the answer from Google is Chrome. Now I believe the Android - which is out of control - is out of focus in Google.
This is why I thought putting the CyanogenMod installer app in the Play store was a watershed event, with Google acknowledging the role of aftermarket Android distros in keeping older OEM devices current. Too bad that didn't last more than a week or two.
The chart isn't entirely fair, since Google Play Services is a kind of overlay for some APIs that can be kept current without an OS upgrade. But that also has the effect of making closed some parts of the Android system.
Overall, Google could help enable, and could more strongly encourage OEM partners to provide upgrades. I'm not sure why that isn't a condition for Google logo and app suite licensing.
It might've lasted more than a week or two if it wasn't a warranty and support nightmare. The CyanogenMod installer app made it easy to install when it worked, but apparently it frequently failed leaving the phone as good as bricked for most users. (The only way to recover was to reflash manually using the traditional tools, and the app was aimed mostly at people who couldn't figure this out.) Also, it was a one-way trip - if users didn't like CyanogenMod or found it didn't run on their device, there was no way to reinstall the official firmware.
This is not the same reason that my latest phone upgrade was to iPhone. I always root my Android devices so that I can get the latest OS when I need it. For example, my Galaxy S2 is not 4 major updates behind as this chart says, it's actually fully up to date. The Android ROM community is massively popular [1] so this comparison here is invalid.
[1] 5.4 million registered users on XDA-dev.com with the majority of the subforums being for Android phones.
Windows Phone is no better here either. They screwed WP7 users completely and rumor has it that 8.1 won't work on WP8 handsets either.
I've moved to iOS for mobile devices as well. Better investment long term, especially considering that I am actually paying for some apps and want them to work for more than a couple of years before I have to argue with the upgrade treadmill.
This is a great illustration of why Android is likely to face problems in corporate deployments. Lack of security updates less than 2 years after release is likely to prove a serious problem for companies who operate a 3-5 year device refresh lifecycle...
Maybe the issue is that a 3-5 year refresh on a device with a 2 year designed lifespan is a bad idea? Also, with the pace that smartphones have advanced... even if a 5 year old phone still works, who wants to use it?
Sure in a consumer scenario 2 years is the norm. What I was thinking of is that corporates are not used to 2 year lifecycles so there's likely going to be problems for them if they don't budget for that.
Is your company really working on 3-5 year life cycle for mobile devices?
Most companies where I worked were on 2-year life cycle. The new devices were almost free at this point, it made no sense to use the old devices any further.
Does it really matter when you get a new free android smartphone every two years? I doubt that people will get far enough behind to really care. Also, Google framework updates now so you always have the latest core experience without your UI functionality shifting around via OS update.
iOS needs a whole OS update to update things like Mail, Maps, Safari, Siri, Notes, Reminders, Camera, Photos, etc
On Android, many of the core equivalents are available as Play store updates with the exception of stuff like Chrome and WebView which had deeper OS dependencies.
Is someone stuck on say, Android 4.2 (two releases ago) in a worse situation than someone stuck on iOS 5? The Android user in many cases could still get the latest Google Now cards, Chrome, Gmail, Maps, etc
Yes, it was bad in the Gingerbread era. But if you've got Jellybean or equivalent, in many cases, you don't need to be on KitKat to get the majority of the latest features.