There's no such thing as Android, only Android-compatible
arstechnica.com
arstechnica.com
Google should step in and assure that all Android (tm) hardware can be updated to vanilla releases of the operating system without the need to be a technology wizard.
Here's some common scenarios from back in those days:
- Buy a Tandy? Sorry, weird video card and sound controller meant limited software selection.
- PC Jr? Similar. But entirely different from the Tandy hardware. Even had a different kind of VGA and oddball joystick ports!
- 5.25" drive when the software is only in 3.5"?
- How about double sided disks?
- Double density?
- Oddball keyboard connector on your AT&T brand 8088?
- No Parallel port? No printer.
- No PS/2 port, but the needed trackball peripheral needs it?
- Weird IBM MCA slots? Can't get a sound card.
- Wrong UART chip? Stuck at 2400bps.
- Hercules graphics card? good luck with that.
All of these things were on systems that were "PC Compatible", and were advertised as such, but made owning and operating these things a serious pain. It was a loose "compatibility". If you had just the right hardware mix and match, and just the right drivers loaded in the just the right parts of memory, you could get 85% of the software to work.
Later software sent users through extensive setup processes with questions like:
"What DMA assignment?", "Hercules graphics?", "CGA, EGA? or VGA (not PC Jr. Compatible?", "EMS?" etc. etc.
It's not quite that bad with Android, it seems about 95% of the software I try on my devices works fine. But it's still kind of a pain, and useful to keep the old days in mind.
Some people seem to expect perfection out of the gate and aren't willing to give things time to settle down. Not everyone can or wants to be Apple.
Plus too many ignore the fact that, in the US at least, cell carriers are fully willing to do things for their benefit to the detriment of their customers.
- Resolution:
* HVGA (mostly only low-end phones now)
* WVGA ("standard")
* FWGVGA (early Motorola)
* qHD (most high-end phones)
* WSVGA (7" tablets)
* 720 (Rezound, Galaxy Nexus, more soon)
* WXGA (10" tablets)
- Graphics
* Adreno (Qualcomm)
* GeForce (nVidia Tegra)
* ARM Mali (SGSII, less the T-Mobile USA variant)
* PowerVR (everyone else)
http://www.zdnet.com/blog/perlow/android-virtualization-its-...
I also know that Cortex A15 has hardware virtualization, so that might make things easier, too.
Except that's not the case, because all Android-powered hardware require drivers which are not part of Android itself, and are bundled by integrators. That's one of the reasons why efforts like Cyanogenmod have "supported devices" and there's a different file to download for each device.
In fact, Apple's the same thing: each device has its own firmware because hardware differences mean they don't bundle the same drivers, even if 95% of the firmware is the same across the device without the last 5% it just can not work.
This requirement would make support for any version of Android containing it dive into the ground.
In the end, don't parts manufacturers need Android more than vice versa?
No, as far as parts go Android phones are run-of-the-mill smartphones (as are pretty much all others), it does not matter what OS they run the parts are the same.
Parts manufacturers only need smartphones being built, and that won't stop, Android or not.
The common bottleneck in Android devices isn't device drivers and board support - it's stupid manufacturer customizations which integrators don't want to spend the money to front-port to a new Android API. An obvious example is the Galaxy S ICS disaster - the Galaxy S hardware is entirely able to support ICS and will almost certainly be supported by CM, but Samsung simply don't want to frontport their integrator customizations to Android 4.0 for that device.
Google could certainly introduce rules surrounding upgrades and integrator customizations which would alleviate the upgrade issue - CyanogenMod is proof of it. Sadly, that's not Google's goal, so the wide variety of Android versions in the wild will persist for the foreseeable future.
Too bad it can't be, for a few non technical reasons.
Drivers are most definitely the major issue as far as ChrisLTD's suggestion goes.
> Most Android phone boards lean relatively close to their SoC's reference design, and while building board support for each device certainly isn't trivial, it's far from a difficult task
Nobody (least of all me) says it's a difficult task. But it's not a task Google can achieve, from Android, by bundling every single SoC driver under the sun.
I'm not sure what you're trying to reply to, but it does not seem to be my comment.
> The common bottleneck [...] Samsung [...] that device.
This paragraph has nothing to do with this sub-thread (let alone my comment).
> Google could certainly introduce rules surrounding upgrades and integrator customizations which would alleviate the upgrade issue
They could introduce whatever rule they want, the question is: would anybody care? Google has no power over OEMs, short of making android "not open-source anymore".
I don't mind if they raise the price a little, but they'll have to heavily promote this "feature", otherwise customers won't know why their phone is more expensive than the competition who isn't offering these updates.
Baring actual hardware limitations (e.g. the lack of NAND space on the Nexus One), most of the work in porting a ROM is the device drivers. Vendors are really shooting themselves in the foot by releasing a dozen different hardware configurations in a single year.
Interesting definition of 'original'... unless my history is very wrong, *NIX was around first. Retailored and rebranded by vendors? Check. Rewritten for different hardware? Check.
Android is like Unix, which is no surprise really, since technologically that's what it is.
What freed Unix from the fragmentary mess of vendors? It was cheap commodity hardware, combined with GNU. As long as smartphone makers try to differentiate their products, incompatible versions of the OS will proliferate - and as long as Android remains schizophrenic about whether it's really open or not, and as long as Google tries to prevent forking, forks will happen. The best defence against forking is not to try to defend against forking. (Further reading: esr on bazaars)
They'd buy one under contract and upgrade to a new on within 18-24 months. The old smartphone then given to a family member. It is a lot more common than the tech crowd.
So having manufacturers updating the phone for at least 3 years would really help a lot.
Take Windows XP for example. People are still installing this even though they are no longer supported by MS.
In fact, I installed Android 4.0 last night and now I'm running a phone thats almost exactly 2 years old. I love my HTC Incredible.
It's a double whammy. The OEMs need to spend the money for the update and the customer will be disincentivized to buy the newest hardware.
Not supplying ICS for the Galaxy S will help the sales of S II and the Galaxy Nexus.
"Buy our hardware and be assured software updates for 2 years."
From my own experience with this, I bought a Samsung Moment a couple weeks after it launched and was abandoned with about 17 months left on my contract (with some severe bugs that were never resolved while I had it). I did get an official update to 2.1, but it was very late and that was the last update it ever received while I owned it.
Sure, I wasn't an eligible purchaser for their next immediate phone release, but their utterly terrible support of my product ensured that I'll never be a future customer of Samsung, for any of their product divisions and severely tarnished my impression of Android in general. All Android manufacturers do equally bad jobs at supporting their products with only a couple of products as exceptions (even "big release" phones like the original Motorola Droid got abandoned before their earliest contracts ended, late buyers are really screwed), so I'm not too keen on rolling the dice on any future Android products either.
It doesn't contain any new-ish phones, but for phones it does have on the list that were released less than 24 months ago (which would still be under contract right now), none of them will be getting updated to ICS via their manufacturer. The majority stopped receiving updates less than 12 months from their initial release.
If customers are interested in long supported devices, then the companies who provide them will come out on top. And if customers don't care about updates, then they won't buy a new device just because it has a newer version.
There are already some device vendors who provide good support: Google and Apple. Others, like Sony and Asus, seem to be willing to improve their reputation.
Samsung itself has already improved a lot since 2010. It's disappointing that the Galaxy S is abandoned now, but it already got a great deal more support than Samsung's 2009 lineup.
Also, don't forget that Motorola is going to be part of Google soon. For obvious reasons, future devices from Motorola will run AOSP-Android and get Android updates for as long as possible.
tl;dr if customers want long term software support for their devices, someone will give it to them. No matter what software platform the software is based on.
Google keeps saying it's going to be "Moto as usual"; let's hope that was wrong.
Fewer devices, stock Android, longer support. Nothing that Samsung or HTC couldn't do as well if they wanted to.
What stick does Google have?
Also, keep in mind that people lose/break phones all the time, or get rid of their old one because it annoys them. Lack of updates could be a significant factor in making a decision to go with the same manufacturer.
Or will it help the sales of Xperias, Sensations, RAZRs, etc.?