When I was debating whether or not to keep or return my Galaxy S (the most recent Android phone I owned), the crux of my concern was whether or not I had faith that Samsung/Google/T-Mobile was going to fix the laundry list of problems I was having, and if so, how long it would take.
I ended up deciding to return the phone, because I didn't actually believe that it would be upgraded in a timely fashion, and it was sort of my breaking point. I felt like an idiot for buying something that was a POS on the promise that eventually it would be fixed and would be great.
Over the years, I've amassed piles of kit that at the time I bought them weren't very good, but would be made "better" over time (drawer full of Maemo tablets; I'm looking squarely at you).
I've had to become more cut-throat now. I don't buy something unless it actually works and does what I want it to at the time I buy it.
If the thought of your Android phone (or any device) never being updated (or not being updated quickly) makes you not want to buy it, then don't buy it. I know it's made difficult by the fact that presently there's an arms race in mobile phones, and things are still getting better frequently; but I really think you'll be avoiding frustration if you just base your decisions around what the device does here and now.
Odds are; they aren't going to stop drinking, or get in shape, or resolve their childhood issues, or become a dog person. If you don't love them as they are, you're just setting yourself up for disappointment.
It's a bit after the fact, but 2 things to keep in mind with regards to Android phones:
1. If you can, when you are shopping for an Android phone, opt for a Google Experience Device whose software is vanilla Android and is managed directly by Google.
2. If you already have a phone with a crappy Android build, the best solution is installing a custom ROM like CyanogenMod. Most custom ROMs remove all the manufacturer junk and also tend to work well. When there are bugs that need fixing, the custom ROMs have release cycles that are measured in days or weeks, rather than months or years.
That said, I do realize that not everyone has the time, inclination and knowledge to fiddle with their phone's ROM.
I was pretty pissed to realize that my Epic, that cost as much as a small PC, would not likely enjoy updates for very long, certainly not the life of the phone.
Coincidentally, because of my personal recession I've backgraded to an old feature phone I had, and no data plan. And I'm of a mind to just stand pat when my personal economic recovery kicks in. I feel like an idiot paying that much for a phone with a short support life (and CM does not support that phone), and a horrendously expensive data plan.
What problems were you having? I have a T-mobile G2 that runs pretty well, but I don't do much on it. The last upgrade actually seemed to introduce a random shutdown, making me actually regret upgrading the OS, but that's about the only problem I have.
It's unclear to me what I really need from further OS upgrades, as I'm not currently wanting any features. If the Galaxy S is really buggy I get you, but in general, I don't get the desire to upgrade Android rapidly.
I haven't dealt with Android technically, but my assumption would be that in Linux fashion, an older version isn't necessarily a bad thing as long as it still works for you (I have a 2.4 kernel on a netbook, for instance, who needs 2.6? I think even the 2.2 and possibly 2.0 kernel branches for linux are still used by certain projects).
My HTC Desire actually got dramatically worse on the Android 2.1 -> 2.2 update: the backup function disappeared. It's apalling there's no supported way to backup and migrate data.
What's really frustrating is that a clear open source strategy would just plain fix this with no cost to Google or the carriers at all. The Nexus phones (and a handful of others) get Cyanogenmod updates with new features all the time.
But almost no one wants to ship a phone that the community can modify. And even Google treats CM like crap: they get no visibility into the process, so have to scramble to synchronize with each major release needlessly.
Samsung took a really long time to update Galaxy S to Android 2.3
To make matters worse, not all countries / mobile operators benefited from the update at the same time. The update for my mobile carrier was released on Sep 26th - less than 2 months ago.
So after almost a year (since December 2010) waiting to get the update - I finally tried upgrading. It doesn't work. I probably have another version than the mobile carrier's norm (it was on sale, maybe that's why). Now I have to go through their service department and yell at them. And they'll probably pass the blame (mobile carrier blaming Samsung, Samsung blaming the mobile carrier).
So if Samsung does update the S line, then maybe they'll surprise me for next year's Christmas.
I thought that the update alliance agreement was once the carrier released an ICS phone they had to keep it up to date, not that they had to update all their phones to ICS.
This is one of three facts why I prefer other mobile OS's over Android.
Other reasons - there are so many Android phones which for me water downs the excitement for the platform. The issue that all apps are not available on all Android phones and there is no Android/Google store to take my device to for a quick fix.
Hopefully they solve these issues when Google/Motorola starts releasing phones; force other manufacturers to follow same UX/UI. Also, possibly open stores as Sony & Microsoft has done following Apple's lead.
This fragmentation is already causing issues for myself and many other developers. I work at a small startup doing gov't work and we develop Android applications that talk to massive server based backends. Yay cloud!
On 2.2 we were seeing issues with the GC not firing enough, especially after shutting down a thread and no longer requiring the data allocated therein and thus we would run out of memory (heap size being set to 24 MB), on our 2.3 devices we were not seeing that issue because 1, the heap size was set to 32 MB, but 2, because our app used much less memory, from what we could see when a thread went away the GC properly cleaned up the memory associated with it, not only that but the same functionality had a difference of almost 5 MB of heap size. The 2.3 VM was more efficient compared to the 2.2 VM.
We have also found many issues with BouncyCastle, the default Android encryption/decryption library that we couldn't reproduce with Java JCE, we filed bugs with BouncyCastle and they said they were features/that we were using it wrong/that they wouldn't fix it. We ended up writing our own CTR block mode (no, we didn't rewrite AES) to fix one of the many issues we found with BouncyCastle.
Also, the SQLite version on the 2.x line of Android OS allows certain constructs that are technically not legal in the versions it claims to be but it accepts and ignores that bad input. The developer had taken output from MySQL workbench and put it in as SQL directly into the SQLite stuff on Android no realising some of his stuff was being ignored because it wasn't valid, no errors were thrown though. As soon as we ran our APK on an Android 3.0 tablet the app would crash because the SQLite there DOES throw errors. Yes it was a simple fix, but it shouldn't have been allowed in the first place!
We also found a whole range of issues with various different keyboards that you can download from the market. Some were causing our app to crash, others would cause the text entry field to show random characters yet when reading back the text from the field in code just the user inputted stuff was there. We'd have our software designed to have a button in a certain location but with certain keyboards up the button was no longer a clickable target and you had to first exit the keyboard. Looking at our bug tracker keyboard related issues are HUGE and there are plenty. It is even worse because the same keyboard on one device may work just fine but move to another device from a different manufacturer and it may be completely broken making it hard to verify bugs do exist.
We now have almost 20 test devices that we have to manually test our software on to make sure it looks right, that nothing is overlapping, and that it works correctly. Designing for multiple different sizes of screen, and then for landscape mode on those screens is absolutely horrible. On some screens elements get so stretched in landscape it just looks terrible and on others everything is so squashed together in portrait mode that it makes it hard for the user to accurately hit a target.
Fragmentation is driving me personally insane. I wonder how much of my work related stress is from having to deal with that kind of crap.
People like to analogize the Android vs iOS battle of today with yesterday's Mac vs Windows battle to make gloomy predictions about the long-term market share prospects of iOS. But would Windows have been so successful with a host of meddlesome third parties deploying major updates out of sync according to their own various incompatible agendas?
Sorry, but I'm not really parsing your post correctly.
You're saying that people are comparing iOS with Android, and drawing parallels to Mac vs. Windows, and saying that in the end the more open, free-form platform will win (i.e. Windows triumphant over Mac).
But Windows did (and still does) have a host of meddlesome third parties all deploying major software out of sync with each other according to their own whims. It's succeeded despite that. Think: graphics drivers, browsers, office suites, etc etc.
I don't think this is really the issue, the issue is that most Android users have no ability to upgrade their phones. Even if you buy a store-configured Dell box, when Windows 8 comes out, you can drive to Best Buy, get a copy of Windows, come home, pop the disc in, and bam, you've got all the new hotness.
Android would be a lot more compelling if users could do this. I'm sure a significant segment of the market would even pay for such upgrades. As it is though, regardless of willingness to pay, the average Android user cannot install new versions until their OEM allows it.
This actually reminds me more of old graphics drivers. In the old days, no matter what graphics chipset you had in your laptop, you couldn't get drivers directly from NVidia/ATI/etc. You had to wait until your OEM (Dell/Toshiba/Lenovo/etc) ported the reference drivers and released them to you. Suffice it to say, they didn't do this. At all, and mobile graphics chipsets were a nightmare of incompatibilities, bugs, and general misery.
At some point NVidia started requiring all their vendors make their hardware compatible with the reference driver, and started offering drivers themselves. The situation improved dramatically almost overnight. Maybe this is what Google needs.
seems a tiny bit early to declare it "dead". the crux of the article is that some manufacturers didn't respond to their emails yet or haven't made up their minds. most of them only got the ICS source a couple of weeks ago - it doesn't seem entirely unreasonable that they are still figuring out which devices they can support.
Let me explain..OEMs give a price to MOs on the update services. These OEMs have consistently underestimated the number of upgrades and work required to get updates to the MOs.That under estimate impacts the resources at the OEM brought to bear on the problem.
If you're right, then most OEMs are really missing the boat by not engaging with the Android ROM development community more seriously. Cyanogenmod (and other community projects) have already done (for Gingerbread) and are already doing (for ICS) most of the non-customization work (including many of the tedious parts) required to produce OS updates for almost all devices with an unlockable or hackable bootloader, including many of the phones that currently fall through the cracks.
If OEMs focused on resolving key roadblocks (like binary graphics drivers and the 911 issue that made Cyanogenmod drop a few phones) and getting updated phones through carrier certifications, they'd spend less money and get more phones upgraded and would have a more customer-friendly, transparent process to boot.
Why would the device manufacturers and carriers offer automatic upgrades if the new OS makes the users want to buy new devices? This is also a factor to be considered.
In order to ensure our security and continuing stability, the Republic will be reorganized into the first Galactic Empire, for a safe and secure society which I assure you will last for ten thousand years.
[+] [-] m0nastic|14 years ago|reply
I ended up deciding to return the phone, because I didn't actually believe that it would be upgraded in a timely fashion, and it was sort of my breaking point. I felt like an idiot for buying something that was a POS on the promise that eventually it would be fixed and would be great.
Over the years, I've amassed piles of kit that at the time I bought them weren't very good, but would be made "better" over time (drawer full of Maemo tablets; I'm looking squarely at you).
I've had to become more cut-throat now. I don't buy something unless it actually works and does what I want it to at the time I buy it.
If the thought of your Android phone (or any device) never being updated (or not being updated quickly) makes you not want to buy it, then don't buy it. I know it's made difficult by the fact that presently there's an arms race in mobile phones, and things are still getting better frequently; but I really think you'll be avoiding frustration if you just base your decisions around what the device does here and now.
Odds are; they aren't going to stop drinking, or get in shape, or resolve their childhood issues, or become a dog person. If you don't love them as they are, you're just setting yourself up for disappointment.
[+] [-] theoj|14 years ago|reply
1. If you can, when you are shopping for an Android phone, opt for a Google Experience Device whose software is vanilla Android and is managed directly by Google.
2. If you already have a phone with a crappy Android build, the best solution is installing a custom ROM like CyanogenMod. Most custom ROMs remove all the manufacturer junk and also tend to work well. When there are bugs that need fixing, the custom ROMs have release cycles that are measured in days or weeks, rather than months or years.
That said, I do realize that not everyone has the time, inclination and knowledge to fiddle with their phone's ROM.
[+] [-] xer0|14 years ago|reply
Coincidentally, because of my personal recession I've backgraded to an old feature phone I had, and no data plan. And I'm of a mind to just stand pat when my personal economic recovery kicks in. I feel like an idiot paying that much for a phone with a short support life (and CM does not support that phone), and a horrendously expensive data plan.
[+] [-] qdog|14 years ago|reply
It's unclear to me what I really need from further OS upgrades, as I'm not currently wanting any features. If the Galaxy S is really buggy I get you, but in general, I don't get the desire to upgrade Android rapidly.
I haven't dealt with Android technically, but my assumption would be that in Linux fashion, an older version isn't necessarily a bad thing as long as it still works for you (I have a 2.4 kernel on a netbook, for instance, who needs 2.6? I think even the 2.2 and possibly 2.0 kernel branches for linux are still used by certain projects).
[+] [-] zurn|14 years ago|reply
[+] [-] div|14 years ago|reply
I'm currently using a Nexus One, and while I like it just fine, my next phone is going to be an iPhone.
At least Apple seems to be beholden to making sure their customers stay happy after money has changed hands.
[+] [-] beatle|14 years ago|reply
[+] [-] ajross|14 years ago|reply
But almost no one wants to ship a phone that the community can modify. And even Google treats CM like crap: they get no visibility into the process, so have to scramble to synchronize with each major release needlessly.
[+] [-] bryanlarsen|14 years ago|reply
[+] [-] wmf|14 years ago|reply
[+] [-] bad_user|14 years ago|reply
To make matters worse, not all countries / mobile operators benefited from the update at the same time. The update for my mobile carrier was released on Sep 26th - less than 2 months ago.
So after almost a year (since December 2010) waiting to get the update - I finally tried upgrading. It doesn't work. I probably have another version than the mobile carrier's norm (it was on sale, maybe that's why). Now I have to go through their service department and yell at them. And they'll probably pass the blame (mobile carrier blaming Samsung, Samsung blaming the mobile carrier).
So if Samsung does update the S line, then maybe they'll surprise me for next year's Christmas.
[+] [-] veeti|14 years ago|reply
[+] [-] darrenhinderer|14 years ago|reply
[+] [-] paul9290|14 years ago|reply
Other reasons - there are so many Android phones which for me water downs the excitement for the platform. The issue that all apps are not available on all Android phones and there is no Android/Google store to take my device to for a quick fix.
Hopefully they solve these issues when Google/Motorola starts releasing phones; force other manufacturers to follow same UX/UI. Also, possibly open stores as Sony & Microsoft has done following Apple's lead.
[+] [-] calloc|14 years ago|reply
On 2.2 we were seeing issues with the GC not firing enough, especially after shutting down a thread and no longer requiring the data allocated therein and thus we would run out of memory (heap size being set to 24 MB), on our 2.3 devices we were not seeing that issue because 1, the heap size was set to 32 MB, but 2, because our app used much less memory, from what we could see when a thread went away the GC properly cleaned up the memory associated with it, not only that but the same functionality had a difference of almost 5 MB of heap size. The 2.3 VM was more efficient compared to the 2.2 VM.
We have also found many issues with BouncyCastle, the default Android encryption/decryption library that we couldn't reproduce with Java JCE, we filed bugs with BouncyCastle and they said they were features/that we were using it wrong/that they wouldn't fix it. We ended up writing our own CTR block mode (no, we didn't rewrite AES) to fix one of the many issues we found with BouncyCastle.
Also, the SQLite version on the 2.x line of Android OS allows certain constructs that are technically not legal in the versions it claims to be but it accepts and ignores that bad input. The developer had taken output from MySQL workbench and put it in as SQL directly into the SQLite stuff on Android no realising some of his stuff was being ignored because it wasn't valid, no errors were thrown though. As soon as we ran our APK on an Android 3.0 tablet the app would crash because the SQLite there DOES throw errors. Yes it was a simple fix, but it shouldn't have been allowed in the first place!
We also found a whole range of issues with various different keyboards that you can download from the market. Some were causing our app to crash, others would cause the text entry field to show random characters yet when reading back the text from the field in code just the user inputted stuff was there. We'd have our software designed to have a button in a certain location but with certain keyboards up the button was no longer a clickable target and you had to first exit the keyboard. Looking at our bug tracker keyboard related issues are HUGE and there are plenty. It is even worse because the same keyboard on one device may work just fine but move to another device from a different manufacturer and it may be completely broken making it hard to verify bugs do exist.
We now have almost 20 test devices that we have to manually test our software on to make sure it looks right, that nothing is overlapping, and that it works correctly. Designing for multiple different sizes of screen, and then for landscape mode on those screens is absolutely horrible. On some screens elements get so stretched in landscape it just looks terrible and on others everything is so squashed together in portrait mode that it makes it hard for the user to accurately hit a target.
Fragmentation is driving me personally insane. I wonder how much of my work related stress is from having to deal with that kind of crap.
[+] [-] theatrus2|14 years ago|reply
[+] [-] cageface|14 years ago|reply
[+] [-] potatolicious|14 years ago|reply
You're saying that people are comparing iOS with Android, and drawing parallels to Mac vs. Windows, and saying that in the end the more open, free-form platform will win (i.e. Windows triumphant over Mac).
But Windows did (and still does) have a host of meddlesome third parties all deploying major software out of sync with each other according to their own whims. It's succeeded despite that. Think: graphics drivers, browsers, office suites, etc etc.
I don't think this is really the issue, the issue is that most Android users have no ability to upgrade their phones. Even if you buy a store-configured Dell box, when Windows 8 comes out, you can drive to Best Buy, get a copy of Windows, come home, pop the disc in, and bam, you've got all the new hotness.
Android would be a lot more compelling if users could do this. I'm sure a significant segment of the market would even pay for such upgrades. As it is though, regardless of willingness to pay, the average Android user cannot install new versions until their OEM allows it.
This actually reminds me more of old graphics drivers. In the old days, no matter what graphics chipset you had in your laptop, you couldn't get drivers directly from NVidia/ATI/etc. You had to wait until your OEM (Dell/Toshiba/Lenovo/etc) ported the reference drivers and released them to you. Suffice it to say, they didn't do this. At all, and mobile graphics chipsets were a nightmare of incompatibilities, bugs, and general misery.
At some point NVidia started requiring all their vendors make their hardware compatible with the reference driver, and started offering drivers themselves. The situation improved dramatically almost overnight. Maybe this is what Google needs.
[+] [-] zmmmmm|14 years ago|reply
[+] [-] navs|14 years ago|reply
I recently upgraded my iPhone3G to an iPhone 4. Hopefully, I'll get the latest updates for the next 2 years. Hopefully.
[+] [-] shareme|14 years ago|reply
Let me explain..OEMs give a price to MOs on the update services. These OEMs have consistently underestimated the number of upgrades and work required to get updates to the MOs.That under estimate impacts the resources at the OEM brought to bear on the problem.
[+] [-] fpgeek|14 years ago|reply
If OEMs focused on resolving key roadblocks (like binary graphics drivers and the 911 issue that made Cyanogenmod drop a few phones) and getting updated phones through carrier certifications, they'd spend less money and get more phones upgraded and would have a more customer-friendly, transparent process to boot.
[+] [-] gangadhargs|14 years ago|reply
[+] [-] mksreddy|14 years ago|reply
[+] [-] silentscope|14 years ago|reply
[+] [-] headhuntermdk|14 years ago|reply