Confused about the Android OS

I was just looking at a preview of a phone that is coming out shortly (a dual-core phone if you can believe that!) and one of the drawbacks listed is that comes with Android 2.2 but it may be updated in future. Isn’t the Android OS pretty hardware independent? Can’t Google release Android 2.5 (for example) and then have everyone with an Android phone install it?

What is it that the manufacturers need to do in order to get it to work on their phones, does each new release of Android require significant work by the hardware manufacturer to operate with their device? If you look at the list of Android devices on Wikipedia you see most of them only support one version whilst a few were able to upgrade just one level. It sounds like your phone will be out of date and unable to update just a few months after buying it, what gives?

No. Unless you root your phone, Google leaves updates up to the manufacturers – and they do it at their leisure or not at all. Sometimes it’s because they have a customized UI on top of Android (such as HTC Sense or Motorola’s Motoblur), but even the generic Android phones (like Droid) can take months to update after the official Google release.

This fragmentation is one of the most common complaints against the Android platform and it’s only going to get worse as more and more devices come out and the old ones get left in the dust.

Manufacturers are just lazy about it. They get nothing for spending resources to update the phone you already paid for, unlike Google (who wants you to keep using their latest and greatest products/services).

Yes to varying degrees. There is what people call the “vanilla” android, which is the version (2.1 ‘Eclair’, 2.2 ‘Froyo’, 2.3 ‘Gingerbread’) which Google releases. If the phone is a Nexus 1 or Nexus S, it get’s the update “right away”. Otherwise, it has to wait for a carrier specific update. Many manufacturers are very good at customizing and releasing the updates quickly, others are not. For example, my HTC EVO got the 2.2. update a month or two after it was released by Google. The Samsung Epic is still waiting for 2.2

Why, technically, can’t a phone released with 2.0 have 2.3 installed onto it? If manufacturers want to offer updates to the OS in the form of new UIs surely they can patch it in later but I don’t see why the basic OS can’t be used on any Android device, sure there may be new features that don’t work on all devices due to missing hardware or the newer OS may run slowly on older devices but surely it should still run, shouldn’t it?

Even though it’s the same OS, each update is made specifically for the phone. For example, you couldn’t just download the update for the Nexus One and install it on an EVO, even with a rooted phone, it would need to be modified first.

I was under the impression that phones were more like computers these days. I can buy (or build myself) a PC and put Windows, OSX (with some fiddling) or any of a million different linux distros on it and it doesn’t matter. Then in a few years time I can update to the latest version and it will still work no problem. It is a shame phones don’t work in this was as well, I find it massively off-putting to think of buying a brand new phone only to find that it can’t be updated and is essentially out of date after a few months.

I was planning on replacing my iPhone with an Android phone when the time came for an upgrade but this draconian way of running things is very disappointing.

so lets see, with Apple you might get to upgrade the OS (maybe not with all the features) but you have to let Apple dictate what apps you install on your phone; and you think the Android situation is draconian?

good lord.

I understand your point jz78817 but there really isn’t anything I want on my phone that I can’t get already, the freedom of apps is only really a selling point if Android has apps that I want and Apple won’t provide.

More annoying to me would be to be a victim of the attitude ‘thanks for your money but from here on out you’re on your own, we’re going to keep improving the product but only for new customers’.

I just had my HTC Magic (Vodafone UK) updated from 1.6 to 2.2 over the air from Vodafone. The Magic is, at the rate things are going, a very old and underpowered platform. I put it back to factory last weekend so that I’d have a new baseline when the official upgrade came through. I’ve been running 2.0+ via developers like Cyanogen for about nine months. People who haven’t been fannying about with their phones just got a new lease of life out of them.

Of course, my contract is up on Monday. Free upgrade! I am in a tizzy about new phone selection - Desire HD is too big!

So it is very much down to the phone it seems, unfortunately that looks like something that is only really known with hindsight or do phone manufacturers advertise that they will provide support for x number of revisions or x period of time?

it’s the same everywhere. the original iPhone will not run iOS 4. The iPhone 3G will (with some features disabled) but it runs like shit. The 3GS and iPhone 4 run iOS 4 just fine.

the split between iOS <4 and iOS 4 is similar to the split between Android 1.x and 2.x.

see, phones are not like PCs. people (in general) get a phone, then when their contract says they’re eligible to upgrade, they get a new one.

Depends, I guess. Vodafone brewed up a great distro for what is an end-of-life platform. Remember that 18 months is a long time in contract phone world. Iphones are great too.

Hey, was it you that had the “14g in an f p d thing”?

The iPhone is a different matter, i’m sure iOS 4 could be made to run on the original iPhone but it would be so slow it would be unusable, this is to be expected in a market that is still growing rapidly. The 3G still updates itself to the latest iOS version (with performance improvements designed specifically for it) despite it being two and a half years old. In the case of Android devices they release with one version of the software and most appear to be locked to that version for life, others are upgraded just once. Looking at the release schedule for the Android OS you can see there have been 6 versions in under two years.

There is hardly a comparison at all between OS update support for Apple vs. Android. I’m far from being an Apple fanboy, in fact I despise their overpriced computers and hate being railroaded into using iTunes but on this score they have Android beat into a corner.

@Baron Greenback yes, but don’t tell anyone!

Heh. It’s our secret

and Android 2.2 would run so slow it would be unusable on the 528-600 MHz phones that originally came with 1.5-1.6, so how is this “a different matter?”

my Droid Incredible shipped with 2.1 and downloaded the 2.2 update as I was driving home from the store with it, and it will likely get 2.3. So there.

right.

What dual-core phone were you looking at mittu?

There’s not a lot of difference between Android 2.2 and 2.3. Many of the changes are to take advantage of new hardware peripherals which obviously doesn’t matter – a phone already has support for all of its peripherals. In the case of a dual-core phone, it likely has a kernel closer to 2.3 anyway. 3.0 is supposed to be for tablets so there is not much value there either.

Google has tried to alleviate the need for new OS versions by updating their core applications independently. Gmail for instance gets updates independently from the Android OS. They have also said that the rate of OS releases will likely slow down after 2.3 as a lot core functionality is complete.

The main hold-up to releasing new versions on existing hardware is not the manufacturer; it is the carrier. The carriers are very conservative about pushing new versions to existing customers. They need to test, certify, and user-trial the new version and this all costs money and time. It is also has an opportunity cost – they can’t use these resources on their next device.

The manufacturer does have work as well. If they have custom apps, they need to re-integrate these with the new OS. If the new OS replaced any functionality, then the manufacturer has to make the appropriate changes. They also have costs (real and opportunity) just like the carrier.

LG LS670 comes with Android 2.2 and has a 600MHz processor, performance simply can’t be the reason that updates aren’t done in all cases as there are too many instances of lower-spec phones running later software than phones with better hardware.

That covers a development timeline of about 11 months. It would be cool if all the phones got updates for a minimum of 24 months (contract length for high-end phones if you don’t want huge monthly bills) but this just doesn’t seem to be the case. I can’t (and don’t) blame Google/Android for this so much as phone manufacturers who give up supporting their old models as soon as the new ones hit the shelves, it would be good if some kind of open standard existed so that the Android OS would install on any Android device now and forever more with it being up to the end user if they wanted to update or not.

Believe me, on the iPhone/Apple vs. Anything Else debate I am always on the other side of the fence, always. I was planning on getting an Android device as my next phone once the handsets themselves improve but I find it very disappointing to think that as soon as the next model comes out mine might stop receiving updates to its OS. The world would be a better place if everything were geared towards open standards and you could use any OS on any phone you liked and upgrade to any version you like.

After preview:

So whilst the OS itself may stop receiving upgrades the equivalents of ‘Internet Explorer’ and ‘Windows Media Player’ continue to be updated? It’s just the kernel is reflected in the OS version number?

It being at least partially down to the carrier rings true, I just found this article stating that a certain phone is getting an Android update but not for people on AT&T.

The phone I was looking at was the LG Optimus 2x. I wasn’t looking at it with a view to getting once so much as out of boredom. Being ill and in bed for days on end will lead you to read pretty much anything on the internet!

At least I think I have the answer to my original question now anyway, it’s down to a god-awful mashup of manufacturers and carriers with their own agendas and views on customer service combined with a desire to stamp their own mark on the software rather than releasing something vanilla. A practice which I loathe with a fiery passion after dealing with it all the time with PCs, so many new PCs come loaded down with a thousand applications and launch managers it could make you cry to see a $2000 machine running like it was 5 years old already!

Yes, plus 3rd-party apps get updated constantly.

No, sorry if I gave that impression. It is both the kernel and the Android framework, but since the framework has been around for a while and settled down a lot of the differences between versions are in the kernel (to support new hardware).

It is entirely up to the carrier really (in the US at least). Do you think if a carrier asked for an update, the manufacturer would not oblige? The manufacturer depends on the carrier to sell its phones.

That link indicates that the phone will get 2.3 updates. After that, I don’t think there will be a new phone OS for a while.

I don’t think I would say that. I think it is primarily a decision by the carrier.

Honestly, fragmentation has been a major issue for Android, but I think the issue is quickly going away. Once you have 2.3, auto-updating Google apps, and auto-updating 3rd-party apps, what more does the phone need?

I think it depends on what “out of date” means when you’re talking about phones. I’ve been using the Nexus One since it came out and gone through 2-3 updates and none of the updates have given me anything I really cared about.

There were performance improvements (really can’t tell any difference on mine, but it was top of the line) and things that many people were interested in, but it’s not like things quit working. Even if it didn’t have all the bells and whistles, it’s far from out of date.

I can tell you that the iphone end-of-life is pretty bad. I gave my 3G to my daughter to play games on, but most of the simplest kids games I try to install require higher versions when there’s no good reason to.

I understand why I need Android 2.2 to display a flash site, but she can’t reinstall the same iphone Old Maid game she’s been playing for months because it now requires an OS upgrade? Puleeze. A lot of simple little apps that don’t even need an internet connection require an OS update. I dread looking for games because she gets excited but most of them are incompatible and can’t be downloaded.

So, 2 years and my iphone is worthless. I could update it and have it run like shit or keep it as it is and lose access to many apps over time. 2 years and my Android phone will be out of date. I can update mine, but assuming I couldn’t, I could continue with everything except whatever new capabilities come out.

Here’s the skinny on Android and why you just can’t “update” it.

At one time, IBM designed the PC. It created the specks, and everyone slavishly copied them. Since every single PC was more or less a clone of the IBM PC, each release of MS-DOS worked on all machines.

This changed when Windows took off. Suddenly, Microsoft created the “reference platform”. If you followed the reference platform, your computer would work with Windows. If you didn’t, it might not. Thus, every time there was an update to Windows, all PCs could use the new update.

Apple’s iOS platform is designed by a single company: Apple, and Apple makes sure that the design of the various iOS devices and the iOS operating system itself work together. They do this by defining a reference platform.

Android has no such reference platform. Android is compiled to each device and each manufacturer designs the underlying layer that talks to its hardware. Thus, every time Google comes out with a new Android release, it may or may not work on the various Android devices that are out there.

The lack of a reference platform wasn’t a forgotten step on Google’s part. It was part of the basic strategy. One of the big complaints about the PC desktop platform is that all PCs are pretty much alike and that they’re basically interchangeable commodities that compete almost exclusively upon price. The reason for this is due to the highly detailed reference platform and Microsoft’s vigorous platform certification system. Yes, your computer can run all Windows updates, but it is virtually identical to every other one.

The lack of a reference platform meant that hardware developers can now design unique phones that compete on a wide variety of features. Because Android is open source, they can futz with the operating system creating improvements in the UI, the input methods, etc. For example, Android phones can use the Swype not because Google included it in Android, but because the manufacturers can include it if they want. If you want a Swype keyboard for your smart phone, you can probably find it on some Android device, but you won’t find it on an iPhone because Apple didn’t sign a licensing agreement with Swype.

It also means that when Google makes a new Android release, not all phones will get it or are even able to handle it. My son has an Android phone he bought. It had Android 1.6, but he was told that it would be upgraded to 2.1 in a few weeks. It has now been several months and now Android 2.3 is out, and his phone is still at 1.6 and might never be upgraded.

Google is changing the way Android is handled in release 3.0. In this release, there is a reference platform and certification testing. This was done to help unify the Android platform where even things such as button layout differ from phone to phone. It will also mean that newer Android releases will be compatible with older phones that fit the reference platform.

Google is trying to keep this reference platform for loose enough to prevent Android phones turning into cheap commodity clones, but strong enough to keep the platform more unified. It is a similar strategy that Microsoft does on its WP7 phones.