Posted
by
timothy
on Friday September 07, 2012 @11:44PM
from the so-many-other-sweets-to-explore dept.

First time accepted submitter brocket66 writes with this excerpt from BGR: "Three major revisions of Google's Android operating system have launched since the company released Android 2.3 more than 21 months ago in December 2010, but Gingerbread is still the most widely used version of Android by a wide margin. A study conducted early this year by graphic designer Chris Sauve projected that based on Android adoption trends up to that point, Android 2.3 Gingerbread would be the dominant version of Android in 2012 despite the fact that Android 3.0 Honeycomb and Android 4.0 Ice Cream Sandwich had already been released. Now, as the fourth quarter of 2012 approaches, data from Google's Android version distribution tracker confirms once again that those projections were accurate."

Speak for yourself. I like a having a hackable smartphone or tablet that lives outside the Apple walled garden. I do not like that developers are being forced to code to an API that Google froze as obsolete almost two years ago. Nor do I like the fact that a few braver developers are writing cool apps for the current API, but IU can't run them because phones I can afford are stuck on Gingerbread.

Android phone sales may be fine now, but technology is a grow-or-die marketplace. No matter how well it's doing now, Android doesn't have a future if it's stuck like this.

If these devs are coding for obsolete systems that is their own damned fault, since if you'll look at any eTailer like Amazon or Tigerdirect the ones being sold with 2.x are the CCC (Cheapo Chinese Crap) that frankly won't run anything heavier thanks to low end CPUs and pathetic amounts of RAM!

If the devs are really giving a shit about 2.x they may as well go write for Symbian feature phones, because THAT is who all these CCC pads and phones are marketed towards. I have no doubt I'll be picking one of those

It's also not the developers fault that they target the dominant version of the OS. Google dropped the ball. They should have made an upgrade path easily available to their users (and by users I mean end users, not handset manufacturers).

Apple got this one right. It takes no skill to click an 'update' button. Hell it even prompts you that an update is available. Plug it in and your phone is updated in 15 minutes with a single click.

The current method of relying on handset vendors to provide updates to Android handsets where there is no profit margin for them to do so is broken. Why provide updates when you can get this shiny new phone with a newer (yet obsolete) version of Android? The technical folk can upgrade but the masses are stuck with obsolete and potentially vulnerable versions due to neglect.

Absolutely agree. Developers just go where the people are. People are largely at the mercy of manufacturers and carriers who can take years to release a single update. And even when they do, there's often no notification to the end user that a new version is out.

And you're absolutely right about Apple having this part nailed. iTunes handles all that quite nicely. Of course Apple only has to deal with 4 or 5 models. I expect Google knew they couldn't manage safe rollouts on an infinite variety of devices, which is a fair assumption.

End result is Android phones in general just don't get updates. Not in any meaningful way that you can count on. People all have to go buy new phones before you can change your minimum target API.

But as another poster said you're missing the forest for the wood. the question is WHY aren't they updating? The answer is simple, these units are CCC which means the thinnest of razor thin margins, which makes it simply not financially feasible to update most of these things, if there are even drivers for the older/shittier chips these units use.

Here is a perfect example [straighttalkandroid.com] of what I'm talking about which is VERY popular here BTW. We are talking about a $135 Android smartphone, runs 2.3, and service is $50 a

if you'll look at any eTailer like Amazon or Tigerdirect the ones being sold with 2.x are the CCC (Cheapo Chinese Crap) that frankly won't run anything heavier thanks to low end CPUs and pathetic amounts of RAM!

All my cheapo Chinese crap phones are running 4.03 at least.

There's no real problem, this is just clickbait hype. Phones are lasting longer than 2 years, and normal people don't upgrade their OS. That's being spun as an issue.

So the phones are lasting longer *and* Android activiations are 1.3 milion a day of which tablets are only 70k of that and yet the majority of the phones have an OS from nearly 2 years ago when Android was less popular?

I'd be more inclined to think there are a bunch of budget crap that hardware manufactuers don't care about.

There's no real problem, this is just clickbait hype. Phones are lasting longer than 2 years, and normal people don't upgrade their OS. That's being spun as an issue.

No, the issue is that the manufacturers and carriers aren't upgrading the software. I bought my phone in January, it was released last October, eleven months ago, and the manufacturer (HTC) says it won't push ICS, and my carrier has been mum. I could install the alpha build of CM9 on it, and give up video recording and get "wonky" camera operation (according to the single dev on the project) - but I like having a camera on my person all the time.

It's a bit more complicated than you seem to think. Most phones consist of parts from many different manufacturers, and they all need to have stable ICS drives for the phone to upgrade. The cheaper the phone the more likely that it has some random and old Broadcom chip or TI radio that has long since been replaced with a new and more expensive model.

Sure, sometimes Cyanogen proves that it is just the manufacturer being lazy, but once again it comes down to cost. If the manufacturer has to factor in upgradin

the ones being sold with 2.x are the CCC (Cheapo Chinese Crap) that frankly won't run anything heavier thanks to low end CPUs and pathetic amounts of RAM!

It's not just ones being sold that are the problem. My phone shipped with 2.2 and has a vaguely-supported (as in, from the manufacturer, but not made available through their developer channel) upgrade to 2.3. It has a 1GHz CPU with 576MB of RAM (512MB for the Android). In fact, its specs are higher than my Smartbook, which manages to run LibreOffice or Firefox (it struggles a bit running both at the same time). If you're writing a mobile phone app that requires more CPU power and RAM than this, then you

1)Too many versions too quickly. 2 major releases (3.0 and 4.0) in too short a timespan

2)Not enough work on backwards compatibility. If I use the 4.0 features, there's no good fallback. Java doesn't help them here- in C++ I could #define in 2.x and 4.x blocks, Java requires lots of reflection aware code because there is no conditional compilation. Or you need to set up special stuff with antenna and the like, which is hard to get working nicely with all the tools.

2a)The backwards compatibility they do have is pretty broken. Unless the support library improved, it couldn't do simple stuff like make PreferenceFragments work like PreferenceActivities in 2.x very well. So as a dev I can't code to 4.0 and use libraries to emulate features.

3)The ratio is still out of whack with more 2.x phones sold than 4.0. This is due to so few phones being upgradeable

4)For whatever reason, I don't see a lot of open source stepping in to help this. On the PC, there's be open source libraries galore to step into the gap. On mobiles, not so much. I think the idea of easy monetization via ads (regardless of how much you actually make) has helped to kill the open source movement on mobile phones. Plenty of free help out there, but not much in the way of quality libraries. But these are the people who generally would be jumping on new features. Without them, its mostly commercial devs and they just want to target the mass market.

2)Not enough work on backwards compatibility. If I use the 4.0 features, there's no good fallback. Java doesn't help them here- in C++ I could #define in 2.x and 4.x blocks, Java requires lots of reflection aware code because there is no conditional compilation. Or you need to set up special stuff with antenna and the like, which is hard to get working nicely with all the tools.

This is something I have far too much experience with from the world of BlackBerry. I've done both preprocessor hacks (which is supported by the build tools, but Eclipse hates), and fancy crap with libraries/pseudo-reflection/design-patterns (which lesser developers might cringe at figuring out). Either way, its not fun. It basically means that you have to use any new features "by exception", versus "by design", which makes it very hard to fully leverage them if the int

And sadly, I don't think that the platform vendor is keeping up. I've recently started heavily writing my own reusable components, with the idea of spitting out a lot of small easy apps (to try and force myself to think in those terms, since I usually dream up giant multi-month efforts). Some of the things I had to write myself were ridiculously common, yet every damn dev is writing their own.

*Splash screen (and side note: the tutorials I found on the web on how to make one were all horrible, involving spawning threads and making sleep calls).*Intents to just play full screen video, or audio and matching image.*An Image widget that can use a resource or a URL as the source.*A wrapper around their gyroscope and accelerometer to form a compass sensor. Something they used to have (ORIENTATION_SENSOR) then deprecated.*A single function call method to get a URL as a string (or as an image, etc).*A view that displays the output of the camera, and manages requesting access to the camera when the activity is paused/unpaused. Really, how the hell did they miss this?*A JSON parsing library that will take JSON and an object definition and use reflection to turn the JSON into a java object.

Really, most of these are extremely common. Most aren't that hard, only the compass took significant time, and that because I needed to figure out the linear algebra and then clean up the sensor data. But google isn't providing it, and there aren't any good common Android libraries so everyone is rewriting most of these. And sure, some of these have limited use, but there's still ridiculous amounts of time being wasted by rewriting these thousands of times. Give us better tools to get out jobs done quickly, and we might have time to play with more advanced features.

I have to take exception to ' people clinging to their ancient phones'. Two years is nothing like ancient. It's not even close. I know a lot of corporations would like to see a hyper consumer culture where people buy buy buy and then throw it away as soon as they get home because it became 'obsolete' within the 10 minute trip, but that's not terribly sustainable.

You are free to use nothing but the latest, greatest and the bleedingest edge if you like and you are free to code to nothing but the latest APIs i

That's not how it should be. iPhone releases 1 phone per year, which includes 1 major OS upgrade to all prior phones of the past 2+ years (covering all carrier contract timeframes). All other mnaufacturers release so many phones that they can't keep up on software upgrades, and by the time that 1-2 year timeframe hits, that phone feels ancient. It's not exactly an optimal customer experience.

As a customer I specifically make phone purchases based on the odds of getting new android updates. At first I th

You make a lot of good points (I disagree with you on 4) but I don't seem them as central to the problem. Which is: that most phones are being sold with Gingerbread, If these could be magically upgraded to 4.whatever, the problems you cite wouldn't matter so much.

Was 4) about Linux? Because in the Windows world, I don't see a lot third-party OS developers jumping in on this kind of issue. Maybe they do in the Linux community, but isn't that the way all Linux problems get solved?

When you get a lot of different companies and people working together to keep a platform alive (Linux, Apache), then you do get a lot of people stepping up to solve random problems. Not the case when the platform basically belongs to one company, even when that platform is open source.

No, it was pretty general. When I'm developing a desktop app, the first thing I do for any large piece of routine or semi-routine functionality is to look for an open source library that can either be used as a whole or as a template for how to do it. The majority of the time there's something close. That includes times I develop for Windows. This just doesn't exist in mobile, although some Java libraries can be made to work on Android, depending on what parts of the Java standard library they rely on.

As I said above, new phones are not the only issue. A number of major manufacturers do not provide updates, so even though the hardware in my phone meets the minimum requirements for 4.0, it's probably going to stay on 2.2 for a long time (2.3 works with cyanogen mod, I may eventually get some third-party upgrade to 4.0). Apple is a lot better at getting users of older devices to upgrade, but they also have a simpler problem for two reasons: XNU has stable kernel interfaces, so porting drivers is minimal

no conditional compilation, but you can have conditional execution.also some of the ui things have actually backports/compatibility packages to 2.3.

it really isn't that big of a deal, really. if it were 2.0 or earlier that was dominant, that would be a problem.

anyhow, in mobiles cheap "1 generation behind" phones are _ALWAYS_ sold twice the amount of the newest thing(even apples previous models have actually made up a significant portion of their sales..). why? because people like cheap.

Yeah, but to get it to compile with conditional execution you have to wrap everything in reflection. Which bloats the code and reduces readability significantly. Better than nothing, but nowhere near as convenient.

As for the UI backports- some do. Most don't, or have half working solutions. I haven't looked into them in a while, maybe things have changed. But even for the limited usecases we had at my last job we decided the support library was just not feasible.

Java requires lots of reflection aware code because there is no conditional compilation.

Well, kind of. There is no preprocessor (although you can, of course, run Java code through the C preprocessor before compiling if you really want to, or through some other text processing system), but you can conditionally compile different versions of the same class, so you can implement shared functionality in a superclass and pre-target functionality in a subclass and then just compile the correct subclass for your target.

Another big problem is closed drivers. That is what is preventing my evo 4g and nook color from upgrading

I can upgreade to icecream and jellybean for the evo 4g but then I loose 4g and video acceleration (netflix.) Same video problem with the nook. This is not the devolpers fault - in fact it is amazing how well they are doing porting new versions.

Last Christmas it was only 700,000 units per day - and it was the holidays. June was but 3 months ago, and it was only 900,000 then. Now it's the off season and 1.3 million per day. With a ramp to holiday volumes we could see a 3x year over year increase. I would say that Android is still seeing considerable growth.

Just Android's increase in sales per day over the last three months is the entire market for the wildly successful iPhone. Nearly 100% increase in just nine months, from an immense base. Th

ICS came out less than 1 year ago. Honeycomb was never meant for anything but tablets, so phones COULDN'T update to that. So, the API you're complaining about most certainly was NOT supposed to be phased out 2 years ago. It couldn't even START to phase out until 11 months ago.

Meanwhile, Gingerbread is NOT 2 years old until December.

So to recap, we're 'stuck' because a 1.5 year old API hasn't yet been scrubbed from the face of the Earth?

Speak for yourself. I like a having a hackable smartphone or tablet that lives outside the Apple walled garden. I do not like that developers are being forced to code to an API that Google froze as obsolete almost two years ago. Nor do I like the fact that a few braver developers are writing cool apps for the current API, but IU can't run them because phones I can afford are stuck on Gingerbread.

Android phone sales may be fine now, but technology is a grow-or-die marketplace. No matter how well it's doing now, Android doesn't have a future if it's stuck like this.

Okay, but your first and second paragraph seem to be in opposition to one another. The reason why there are two popular API:s, one which you can't afford to buy hardware for, is that technology is a grow-or-die marketplace. Growing pains are growing pains.

You'll probably find cheap 4.x phones in Q1 2013. If you're more than a hobby developer and you can't get your hands on the latest tech then it's your boss who's to blame, or your own planning if you're freelancing.

but it's not behind. It has grown. Ahead of the market. It's waiting there for the market. The market is what is slow (comparatively) here. I have a Google Nexus One, running Android 2.2. Some years old now. It is still a miraculous little tool. I have no need to upgrade. In fact I have an iPhone4 and never (literally, other than to check what it did) used it. The iPhone is heavier, shorter on battery life, and I can't swap out the battery and so carry multiple with me. I regularly use my 'old' Android for

Android phone sales ARE the way forward. There's two issues here, a) manufacturers / telecom companies not providing timely updates, and b) end users simply not giving a damn. There are MANY people in these categories. Most Android users don't connect their phones to a computer and are never actually aware that an update is released. More importantly until [killer app] fails to work on their phones due to an obsolete OS issue the phones do everything the end user wants, what's the incentive to upgrade?

But I paid hard earned money for my phone. I'm not ready to buy a new one yet. Now maybe if more Android phones were upgradeable to newer operating systems, I might run some newer software on my phone.

CyanogenMod breathed a whole new life into my 2 year old Nexus one. It was snappier, appeared to get battery life and had a whole host of awesome new features. The only reason I finally upgraded to a newer phone was because the power button broke (again!) and the headphone jack wore out. If you're sitting on an older Android device, consider trying CM. It really turns your phone into a geeksphone.

Agreed. I have an LG Phoenix (aka Optimus One). It is rather underpowered (ARM11 processor is very slow). I found a CM10 rom and put it on. Sure enough it works, and works well - just as snappy as Android 2.1 that it originally shipped with.

Cyanogenmod is available for maybe 25% of android devices sold in models, probably less than 10% in number. For my android device, there are severe trouble with the phone/wifi firmware (wifi sometimes doesn't work when you have a SIM inserted) and camera (not supported by native camera app). There is no support for that from the CM team since it's an unofficial port and obviously, the hardware vendor and telco don't support it either.

Apple supports firmware updates including full hardware support for about 3 years at least. You may not always get all new features, but at least you get the security updates. Google does not mandate any such term from their vendors, they are fine with "fire and forget". In practice, this makes devices with the same quality and features in hardware less worth if they're not running iOS. You may not want to spend iOS money on a device, but if you have to add in the security risk and frustration about the lack of support and McGyvering you will probably be subjected to, the price difference may suddenly not be that big anymore.

Android vendors get away with putting on their own "improved" UI, which usually isn't that much of an improvement, but makes it harder for people to switch phone because the UI is different. There's no signature "it works this way and looks that way" OS on Android phones, making it harder to market them.

If Google wants to really get ahead, for Android 5 they should mandate 3 years upgrade support from vendors and telco's (within 1 month after general release) and no customization apart from optional addons that can be switched off by the user. People that spend a lot of money on a device or a "sponsored" telco deal should be able to enjoy their device a whole lot better and marketing the devices would be a lot easier as well, making it more justifiable to pay top dollar for such a device.

Google sells bare phones direct to consumers. Really good, well supported models with lots of high end features. Consumers have the choice to buy these, or defer the large upfront cost of the phone over a year by paying higher monthly rates. I've had my Nexus S for almost three years and it's paid for itself (actually I'm about $60 ahead at this point) by choosing a plan that reflects my up front purchase cost. Telcos are taking advantage of lazy consumers, but there are also competitors in the market who a

Here is the official Google blog [blogspot.com] announcing the Nexus S. It was announced on December 6, 2010. It wasn't available for sale in the U.S. until December 16. Even assuming you ran out and bought one the day it shipped, you still haven't owned it for three years. Not even two, in fact.

If virgin uses GSM then you should be fine, I was able to use my phone while roaming all over South America (I made a call from Macchu Pictures on this thing) and most of Mexico. Supports edge and 3g here stateside.

I would buy an Android powered Blackberry curve in a second. I loved my Blackberry to death, but using it made me feel like I had an Apple II in my pocket, when everyone else had a sparcstation. Dat keyboard.... to this day I'm still slower (even with Swype, Swiftkey, etc... I've tried them all) on a touchscreen than I ever was on my physical keyboard blackberry. Sadly the only android phones that come with a physical keyboard are marketed towards teenagers and thus manufactured as one grade up from trash.

In practice, this makes devices with the same quality and features in hardware less worth if they're not running iOS.

A) Most of the cost a lot less than a device running iOS.

B) iOS is dragged down by the abomination that is iTunes and the fact that it is so heavily locked down. I'm not just talking about what apps and features are allowed, you can't even copy your MP3s to the damn thing without iTunes or iCloud.

but if you have to add in the security risk

Can you point to one instance of users suffering from an in-the-wild security exploit on Android that was not patched on a phone from a major manufacturer? Android seems to be pretty secure, with the only security issues coming from apps, and Google does bother to patch its own or remove third party ones that are not fixed. Part of this resilience is probably due to there being little incentive to do drive-by attacks on Android since rooting can be accomplished in much easier ways, so no-one is bothering to look. With iOS for a while you could actually drive-by jailbreak anyone's iPhone via a web page, talk about scary.

Android vendors get away with putting on their own "improved" UI, which usually isn't that much of an improvement, but makes it harder for people to switch phone because the UI is different. There's no signature "it works this way and looks that way" OS on Android phones, making it harder to market them.

Actually the point is to make it easier to market the phone by differentiating it from all the other Android phones out there. I dislike most of them as well (the Samsung GSIII one is fairly minimal and not annoying, but HTC is horrible), but you completely misunderstood why they have them.

>Apple supports firmware updates including full hardware support for about 3 years at least.

That is probably why I'll buy the new iPhone when it comes out despite knowing it'll have a proprietary power plug instead of microusb and a walled OS. Maintaining the OS is crucial since no OS is bug-free when it's shipped. Android, by not having a routine patch policy, is just a few bugs away from a clever black hat finding the flaw that'll give them complete control of handsets around the world.

In practice, this makes devices with the same quality and features in hardware less worth if they're not running iOS.

A) Most of the cost a lot less than a device running iOS.

B) iOS is dragged down by the abomination that is iTunes and the fact that it is so heavily locked down. I'm not just talking about what apps and features are allowed, you can't even copy your MP3s to the damn thing without iTunes or iCloud.

but if you have to add in the security risk

Can you point to one instance of users suffering from an in-the-wild security exploit on Android that was not patched on a phone from a major manufacturer? Android seems to be pretty secure, with the only security

I run 2.3.6 on my phone, and 4.1 something on my (Nexus) tablet - let me assure you all 200+ apps I have installed on both (thanks, local backup) are at the exact same version on both devices. If you replace your launcher, you don't even see the OS unless you open the settings screen.

I run 2.3.6 on my phone, and 4.1 something on my (Nexus) tablet - let me assure you all 200+ apps I have installed on both (thanks, local backup) are at the exact same version on both devices. If you replace your launcher, you don't even see the OS unless you open the settings screen.

Of course, because all your apps are written for Gingerbread or Froyo to begin with. Basically if you write for Froyo, you're encompassing the vast majority of Android phones out there. If you write for Jelly Bean, your app onl

Not even close -- half of the android apps I use have released new versions in the past month that use new OS features on JB. It just so happens that I haven't seen a huge difference from it for my use cases -- which include mostly photography, various utilities that abuse the sensors of the device, and a host of tools that make organizing my life easier. Maybe I have a set of apps that does not allow the new features of JB to shine, but I don't see what the big deal is. Compared to the difference in the fo

The users generally don't have a choice. Eg: a number of Motorola phones released in 2011 (Droid 3, Droid X2) will never see ICS, and while most released in 2012 will, the upgrades are still being rolled out.
https://forums.motorola.com/pages/00add97d6c [motorola.com]

As a developer you should realise that piracy is inevitable, and that the vast majority of attempts to forcibly prevent piracy have only served to irritate or discourage legitimate purchasers.

So instead of trying to drive more of those who would be willing to buy your apps towards piracy, use the pirate copies as advertising and try to drive the pirates to become paying customer by offering them compelling reasons to do so?

The biggest cause of piracy on all mobile devices is the lack of demo versions. Even my TV (Panasonic) has an app store where they expect you to pony up a fiver based on a single screenshot and a bit of text. At least Google gives you multiple screenshots and a video, but really the only solution is for developers to release free demo versions.

It is more work but virtually all software has to offer trial versions. Plus on an app store with 100,000+ apps if you don't you can bet someone will release a free o

honeycomb is only for tablets, not cell phones, so it makes sense. Blame the cell carriers/ 3rd parties for the holdup 4.0 is not even being rolled out to some 90% of phones that are already out there, therefore it only makes sense that 2.3 is the dominant flavor

Probably, in numbers, the amount of devices still sold with Android 2.2 and 2.3 is still higher than the amount of devices sold with 4.X. Even tablets are usually sold with either 2.X or 4.X, not with 3.0. So no, it doesn't make sense, new devices are being sold in the millions with known vulnerable software on them.

I've been assuming the reason there are lots of 1.x and 2.x phones out there just had to do with the fact there are a lot of low-end Android phones for sale. I figured ICS and JB had fairly stiff hardware requirements. Is that not correct?

Basically if you had a top of the line phone 2 years ago it can probably run ICS, it might be a little sluggish, but it's doable. I had an epic4g (basically sprint's version of the original galaxy s line) and it runs ICS fine via cyanogenmod 9. I haven't looked into budget android phones in a while, but I'd hope that most things bought in the last 6 months or so would have the specs to run ICS, since there's been 2 years of time for moore's law to catch up.

4.0 and 4.1 don't have very harsh CPU/GPU/RAM requirements, the big problem is storage space.

4.0 uses significantly more space than 2.x so it's complicated to upgrade a lot of phones. Even if the phone has plenty of internal flash you might only have a 512MB system partition, so upgrading means re-partitioning flash to allocate more space to the OS, which is apparently too difficult to do as an OTA update.

With Cyanogenmod I believe you can use a custom bootloader to wipe and repartition then load the 4.x OS

On the consumer side, 90% of smart phone customers don't use even 15% of what their devices are capable of doing. For most consumers, the questions, "Can it go online?", "Can it make phone calls and send texts?", "Does it have some stupid little games I can put on it to pass the time when I'm bored?", and "Does it work reasonably well without being too confusing for me to figure out" are all they care about. That functionality has been available long before android 2.3 even hit the scene, never mind 4.0.

The average consumer doesn't understand nor care about the differences between OS versions on really anything, computers, smartphones, whatever. As long as it does that one thing(s) that they want, most are satisfied. Now if they're exposed to a new feature from a new version they might grow to like it and use it, but chances are unless they're already a techie and looking into that sort of thing, most users won't care about it until there's some game/app/thing they want to do with their current device/OS and can't. Plus, unless they happen to be fairly tech savvy and aren't afraid of voiding warranties and what not the consumer is at the whim of their device manufacturers and carriers to get them updated software. So it's no surprise most people just stick with what they have if it works 'good enough'

From a manufacturer point of view they've already sold the product, maintaining updates costs them money, so they're disinclined to spend money on a product that's already sold. There's some work done on flagship products, and maybe a little bit just to earn enough goodwill with their customers that they'll keep coming back, but like all corporations they balance expenses for 'customer service' very carefully. For most corporations, customer service isn't about doing what's right for the customer, it's about doing enough to keep most of the customers happy, but not cost the company a fortune.

There's a little more incentive on the carrier's end to keep things updated, since their customers are paying for a service, not for hardware, and I'm sure that there's some push from the carriers to get their devices updated. But even then that costs money, so it's really only going to be their most popular devices that get attention, and less popular ones will fall by the wayside.

That's where Apple got it right with the marketing. They advertise new features that us geek consider not worthy of even talking about. However, as you said Joe User does not care about the OS or what it can do unless it has been demonstrated to him and Apple ads, as silly as they are, just do that.

I can get ICS for my phone, and in fact I have been rejecting the update. Reports are that my phone performs better on GB, and it's already rooted and working fine. I am going to leave it as it is until maybe some killer app comes along that won't run on GB. Most likely that won't happen until my next phone comes along, and by that time I may bite the bullet and get an iThingie.

Or rather, without the cellphone. (I have my reasons, no need to question them.) Naturally whatever I choose will probably have cellular equipment in it. I just want to make sure cellular doesn't switch on. Limiting my phone calls to Wifi is perfectly fine.

Also preferably without the Microsoft tax, which probably limits my selection to Motorola....any suggestions?

1-Turn on airplane mode.2-Turn on wireless.3-Take a look at the phone status4-Profit

But it depends on the reason behind not wanting a cellphone radio in the first place. My guess it the radio will be on by default on a cold boot and you need to turn it of, maybe you could remove any RIL stuff from your ROM (rooted or custom ROMs). But when I go to places I don't want the radio enabled I do the above and tell Tasker to do this for me at boot just in case it restarts/reboots.

How portable does it have to be? Most Android tablets don't include cellular equipment. Since you like Motorola, maybe a Motorola Xoom, which has a good upgrade record. Some app UIs don't look very good on tablet-sized screens, though.

That said, every Android phone I've owned has included switches for both the WiFi and 3G radios. "Airplane mode" turns off both, but you can also switch off one or the other, if you choose. Switch off the cell radio and forget about it. Or for that matter, buy a GSM Android ph

Perhaps a better way would have been for Google not to release the Android source code, but instead to implement it in such a way that it supported a plugin and extension architecture, like Firefox, Chrome and Eclipse.

That way, the OEMs would have been able to tailor the phones to their liking, but wouldn't have been able to tinker directly with the primary Android code. It would mean that updates could easily be pushed to the phones and OEMs would have to do very little work. A preview Jelly Bean could

While not officially supported, many phones have working, mostly working, or partially working builds of ICS and JB. I was on a Droid2 before I decided to get a Galaxy Nexus for the fact it has an unlocked bootloader, even over the SIII, but the Droid2 ran ICS like a top, though some hardware acceleration issues existed. The ICS build by some user on RootzWiki was still far better, smoother, faster, and had better battery life than the GB build that came on it by motorola.

See XDA and RootzWiki with your GB phones, and see about getting a better build on there...of course, I roll my own anymore, and run JB on my Gnex, even though it's not been released yet officially for my phone (vzw).

Perhaps the fact that we cannot ourselves (easily) update our tablets and phones says something about how much control we've lost on our devices? That scares me. If i buy one of the new style of laptop-tablet hybrid, can I expect the same? Will this not easily cut years of value off these things, and slow down the software ecosystem?

I had an _expensive_ Window Phone. Then Microsoft told me I could not upgrade my 6 months old phone to WP8. I felt so cheated, and still do. I will never buy another. It is such a disrespect for the customer.

Amazing! That's almost two years!! How can they stand to use anything so ancient?

Mobile is a rapidly-developing technology market. Every phone I've owned has been significantly better than the last. What people are starting to understand, though, is that many of the improvements -- some of which are major -- can be delivered via software only. UI glitches in older versions would disappear... if the carrier or phone maker would just deliver the new software. But they don't. Imagine if you bought a car, and then in the next two years they put out a new model that has the same engine, sam

My phone came with 2.2 and I have upgraded all the way to the latest Jelly Bean. Here's a hint: only buy Samsung or straight from Google. Maybe Motorola will finally stop being jerks now that Google owns them and have an upgrade path, but my next device will be a Nexus 7 straight from Google.

Other than by calling into JNI constantly, how would you write an activity in C++? I was working on Android on a C++/JNI solution when 2.3 came out, I don't remember seeing anything particularly new then. Or much since. Or are you just talking about better OpenGL bindings for C++ (which is nice, but doesn't really help much other than games).

"Three major revisions of Google's Android operating system have launched..."

Really? I thought it was just one major revision.

"Android 3.0" was for tablets only. Perhaps, they should just have called it "Android 2.0 Tablet edition", which was really what it was. Take "Windows XP 32bit" users for example, it's not like they complained when "Windows XP for Netbook" came out, or when "Windows XP 64bit" came out.

And Jellybeans is just Android 4.1. That's not a major revision, that's a just minor one, hence the ".1" and the minor number of changes compared to Ice Cream Sandwich version - Android 4.0.

The relevant bit:"iOS 5 captured approximately 75% of all iOS users in the same amount of time it took Gingerbread to get 4% of all Android users. Even more astounding is that 15 weeks after launch iOS 4 was at 70% and iOS 5 was at 60% while Ice Cream Sandwich got to just 1% share at the same age. If there were any question as to whether iOS had a less fragmented ecosystem than Android, the past two charts provide a fairly definitive answer."