And this is like a windows 8 developer preview going out, sure all the basic stuff is there, but to get it to actually work properly with anything with all the parts requires a fair bit of effort. No support for micro sd cards? (or the wrong type of support or whatever) need to fix that. Uses 35 more MB of ram than the previous version? that might break something important.

And whatever is wrong you have to figure out how to fix, which can take a lot of time, especially if the upgrade process breaks som

You actually aren't giving a good comparison. XDA takes a long time because of the all the PURPOSEFUL breakages and blocks that are put in by the manufacturers and the carriers.

The manufacturers and carriers take a long time because they have some many artificial limiters and blocks and DRM that they all have to work together.

Google and XDA timeframes are understandable. Google is doing the REAL development work to make an Operating System. XDA is doing the best they can with what they have to work with with DRM and spyware riddled garbage.

The carriers and manufacturers spend their time screwing everything up on purpose.

Yes but XDA should then be the maximum time it should take to release, and they aren't anywhere close yet. Given that everything they have thus far is basically garbage, well that's sort of my point. Getting all of this stuff working is hard.

It's not like google has done all the work. That's, to use my actual comparison of Window 8, like saying that MS does all the driver development. They do a driver, which hopefully won't cause it to explode, but that's about as far as it goes. Getting all the driver

It actually ISN'T that complicated on the carrier side where the real delays come from, they just make it that way. When all the DRM and bloatware and crapware and bandwidth throttlers and tethering blockers and Carrier IQ loggers that are all designed to BREAK your phone or compromise its security go in, its damn difficult to make it run at all.

Look at cyanogenmod and how little time it takes them to get new versions out once they have all the roadblocks in the device figured out.

Yoda would more likely say "Make an operating system, a kernel does not."

There's a difference between Yoda-speak and German-speak. Yoda-speak is OSV (object subject verb; "a fine mess this is") or VOSv (verb, object, subject, helping verb; "help you I will"), in contrast with the SVO or SvVO order of English (and presumably of standard Galactic Basic). The "X does not Y make" pattern is SvOV, as commonly used in German and Dutch and occasionally in English until the early modern (17th century) period. It's an allusion to a Richard Lovelace poem [wikipedia.org].

Yoda would more likely say "Make an operating system, a kernel does not."

There's a difference between Yoda-speak and German-speak. Yoda-speak is OSV (object subject verb; "a fine mess this is") or VOSv (verb, object, subject, helping verb; "help you I will"), in contrast with the SVO or SvVO order of English (and presumably of standard Galactic Basic). The "X does not Y make" pattern is SvOV, as commonly used in German and Dutch and occasionally in English until the early modern (17th century) period. It's an allusion to a Richard Lovelace poem [wikipedia.org].

The Moar You Know...:::*

You know, your excellent and informative (if off-topic) post just made me really nostalgic for the days when such were common on slashdot.

And the fact that it takes people on XDA a matter of days to find and fix many of the issues in manufacturer releases.

Two words that the mobile industry doesn't seem to understand:Beta Test

Users would not be so angry about delayed upgrades if we were allowed to test betas. Also, if carriers ran beta tests properly, users would be less unhappy with carrier firmwares. (For example, the data-eating AP Mobile widget on AT&T-originated Samsung devices would either be fixed or gone.)

I can understand carrier certification delays for network interfaces to a small degree - but the truth is that nowadays on any properly designed phone, the radio baseband firmware and the applications processor firmware are well isolated from each other. You don't HAVE to go fucking around in the radio baseband every time you touch the applications processor - the usual end result of this is lots of regressions.

Wi-Fi - utter bullshit. The PC industry has no problem deploying driver updates without recertification of all devices targeted by the driver.Bluetooth - utter bullshit, same deal as with WiFi - the PC industry has no problem with this.

I imagine that the fact that most PC vendors aren't trying to re-flash the wifi firmware every update, just in case you've cracked it and been able to connect to hotspots produced by another vendor, might help them with that feat...

I'm not actually planning on exempting Apple. Their recent "iOS5 battery drain" thing, and various other glitches here and there are better than some of the other vendors; but still rather tepid for somebody who controls the entire OS, chooses the parts that go into the hardware, and has enough market dominance to shake some serious engineering support out of their vendors and contractors....

I'm not sure if most handset vendors just don't care, since they really want you to buy the new hardware, whether they just don't have a sufficient history of in-house software expertise, or whether the vendors of low-power mobile silicon are far nastier about driver blobs and things than their PC counterparts; but smartphones seem surprisingly glitchy for a fixed platform product with substantial vendor control over most of the software. They aren't quite on the same level as, say, ACPI issues in random homebuilds of questionable quality; but they seem pretty mediocre.

I'm not sure if most handset vendors just don't care, since they really want you to buy the new hardware, whether they just don't have a sufficient history of in-house software expertise, or whether the vendors of low-power mobile silicon are far nastier about driver blobs and things than their PC counterparts; but smartphones seem surprisingly glitchy for a fixed platform product with substantial vendor control over most of the software.

They are too busy pushing the marketing for the next big thing to let something petty like actually testing the product get in the way. See they know then can fool customers into buying poor quality crap, then they just pull the model before glitches are sorted for next big thing. So the customer never has a trusty older model to go to. We still buy the shit, so why should they spend more to make it better?

I'm all for progress but life was better when a new model lasted say 3 years instead of 1, and early adopters took the risks and could replace with same towards the end of the cycle if they liked it but it broke or they lost it. Meanwhile buying slightly older tech had it's benefits too - products were ironed out and bugs were actually fixed. Now you replace one immature piece of junk with another, and if you actually find something that works well for you and it comes to an untimely demise, you're stuck gambling on another piece of unreliable untested shit.

Exactly. If the manufacturers/carriers just gave us plain-old-Android, all they would have to do is get their drivers installed.

Samsung is the worst. Their software sucks so bad, it makes their phones unusable. And of course, Verizon loads their crap, too.

Google needs to drop the hammer on that bullshit. They should say "Look, quit loading up our OS with your crap, or we'll delist you from our search engine and block your networks from accessing our sites".

Exactly. If the manufacturers/carriers just gave us plain-old-Android, all they would have to do is get their drivers installed.

Samsung is the worst. Their software sucks so bad, it makes their phones unusable. And of course, Verizon loads their crap, too.

Google needs to drop the hammer on that bullshit. They should say "Look, quit loading up our OS with your crap, or we'll delist you from our search engine and block your networks from accessing our sites".

In one of the interviews(with TheVerge.com) Matias Duarte, the chief designer of Android said that he encourages OEMs to come up with a modified OS of their own. He believes this fosters creativity and helps tackle the issues of every phone looking like the same thing..

So far my experience is that the more a manufacturer meddles with Android, the worse it gets. And this is not because Android is perfect, but (my conclusion) because manufacturer are mostly incompetent when it comes to software.

I might disagree, but in a slight way. Some OEMs add onto Android in nonstandard, but positive ways.

Take Motorola's Atrix. It has security enhancements that really should be in AOSP. The first of which is encrypting everything on the internal drive as a complete image. The second is encrypting files on a memory card on a file by file basis. This way, if the device is lost or stolen, even if the MicroSD card is pulled, it is protected. This is crucial for getting Android into the enterprise.

Then, there is the Webtop feature. It may be limited, but it is interesting nonetheless, and appears to be a decent environment for doing remote work with. With the reports of searches and seizures of phones and laptops without any warrants, having the ability to leave your data at the remote site and work with it via a glorified dumb terminal will become more useful as time progresses.

The ideal would be to let phone makers and cell carriers have their default ROM load, but keep bootloaders open so one can just grab the latest CyanogenMod revision or a custom ROM and use that.

Android 3 supports full disk encryption so all phones and tablets that get 3 or above will too. Apparently some phones running 2.3 support it too, such as the Droid.

Note that this requires locking your phone with a password, though, not a pattern. This is because the decryption key is derived from your password. This is good security design, but the unlock pattern can't really provide enough entropy so you have to use a password.

It also means that if you forget your password, you're screwed. That's because it's good security.

Here here. Google lacks the balls Apple definitely has to dictate their product to the manufacturers and carriers (an I'm an Android user and fan). I'd love for there to be ONE killer plain vanilla (Ice Cream Sandwich, haha) Android phone, a Nexus, guaranteed never to have any bloatware on it (have you read about what Verizon did to the Galaxy Nexus?), on all carriers simultaneously, and with a much more organized way of marketing and releasing it than the boondoggle that's currently going on with the Gal

I just got a Samsung Focus S Windows Phone 7.5. It came installed with both AT&T and Samsung bloatware.

15 minutes after I had the phone powered on, all of it was gone. I just deleted it.

I came off iPhone because I hated how controlling they were of the OS. I WANT to like Android, but the level of shit I have to deal with to get a bare OS without all of the bloat is more than I want to hobby with on a phone I need to depend on.

Windows Phone, while it has some pretty huge downsides (anemic app selection,

Samsung's software is quite good - Touchwiz is the least intrusive of the vendor skins.

Now the carrier bloat they don't have the balls to keep off of their devices, THAT is a different story. The AT&T Galaxy S II (SGH-I777) is the least mangled of the Samsungs, and even it has some major problems not present in its nearly-identical international older brother (GT-I9100).

A senior OSS licensor using its market position and services to retaliate against junior redistributors, essentially in order to protect the integrity of the brand, would be an interesting precedent. Particularly if the senior licensor owned a company that directly competed with its junior licensees. Which in this case, it does.

Google needs to drop the hammer on that bullshit. They should say "Look, quit loading up our OS with your crap, or we'll delist you from our search engine and block your networks from accessing our sites".

You obviously don't understand why Android is out there. Android is out there simply to drive traffic to Google Services. Google was scared that iOS could/would cut them out of picture. As long as people are still using Google Services via the phone and getting all Ad revenue that represents then Google is happy. They would be more likely to drop the hammer on Verizon doing Bing thing more then anything else.

Google needs to take the first step and have their subsidary, Motorola Mobility, lead by example. Even if it is something as simple as going onto a website, typing in your phone's IMEI, getting a response code, and then using that during the fastboot oem unlock procedure, it would show that Google/Motorola was open.

Locked bootloaders do have a place -- they are good at keeping Joe Sixpack out of things he shouldn't be mucking with, so the tech support department can tell him to hard reset and go about his life. However, if someone is willing to go to a website, acknowledge that they are doing stuff that only they will be taking responsibility for, and has the tech ability to get adb working with a device, it is only fair for the phone maker to hand over the keys.

If Android is going to be open source, you have to take the good with the bad. Also there's the little matter of an antitrust investigation if Google starts leveraging their dominance in one area to control another.

OEMS: I takes time to integrate our own buggy, irremovable software into the kernel.

Dude, this isn't like upgrading hardware on a computer; There is no no plug and pray. Every device is a blob of different hardware, along with dozens of assorted interfaces baked into the silicon. Motion sensors, GPS, transmitter/receiver pairs, the call stack, etc. It's less like a computer and more like a minature network inside your smartphone, and your phone might look the exact same as the next one on the shelf when you buy it, but the hardware inside might be very different.

It's not just about integrating their "buggy, irremovable software" into the kernel... it's also about integrating a dozen different peripherals together, and then holding it together with bailing wire and duct tape and praying for a miracle.

y'all really need to stop looking at this from your comfortable Everything Is A Computer(tm) mindset. It's not. There might be a microprocessor embedded in there, but that's about where the similarities end.

And yet, custom ROM makers already have (mostly) working Android 4.0 firmware for several devices. What you say is true, to some extent, but in reality it shouldn't take nearly as long for them to get the upgrade working as it does. Also, many devices use the same hardware (partially), so it's not like common drivers don't exist in the majority of cases.

Custom ROMs often contain bugs that would be unacceptable for OEMs to release. Power users can go to a forum to get support if they are having problems, but the average user will just blame the problems on the carriers and OEMs.

This is true. OEM's also have considerably more and (presumably) more knowledgeable people working on the problem. My point was, if hackers on the Internet can get it working, paid software engineers should be able to get it working well. Maybe my expectations are just too high though.

Oh, and OEM ROMs often contain bugs that it should be unacceptable for an OEM to release... but still, fair point.

Custom ROMs may have bugs but the 'stock' carrier supplied ROMs appear to be far, far worse in every case.

I had to laugh reading the article, "Furthermore, by putting all this efforts into testing and certification, we ensure that quality and conformance is at a top level, in benefit for all consumers worldwide" - yeah right. If they actually did that I would expect to see some results. In fact uncertified ROMs from amateurs working in their spare time seem to miraculously beat the carriers on quality and c

"Dude" I don't think that's what he's talking about. I think he's talking about the bullshit bloatware apps that every vendor and/or carrier sticks on their phone: For example my Droid 3 has shit that I never use like the Blockbuster app, City ID app, GoToMeeting, Citrix client app, etc... all shit that I would love to get completely of my phone and off my Apps screen but I can't. Fuck you, Motorola and fuck you Verizon for not letting me do this.

Is it because the handset manufacturers don't make any money from the software and are probably more interested in selling you a new phone? After a year or so of support, they've generally shown almost no interest in pushing out additional upgrades as they probably don't even sell that particular model of phone any longer. Unless it's a Nexus phone, or a particularly popular model, support is pretty sketchy. [theunderstatement.com] There are a lot of promises to update phones to ICS, but I won't be surprised when a lot of those plans get canceled or delayed indefinitely.

Wading through the code and carrier requirements certainly tacks on some additional time, but considering that these companies don't have much incentive outside of brand loyalty, which may not even exist to any serious extent, to update their old hardware, I don't think that they try too terribly hard to get it done in a timely fashion.

That explains why manufacturers stop supporting older models, but it doesn't explain the delays in the phones that it currently supports.

It would advantageous for phone manufacturers to have timely updates to the phones. Delaying the process just pisses of the consumer who will want to go to another brand with faster and more reliable upgrades.

The average consumer, who knows nothing about Android other than the fact that it runs on his phone, couldn't care less. They just know some new version came out and it will be rolled out on the phone soon.

People like you and me (e.g. the power users), who want the latest and greatest, will either attempt to compile the kernel ourselves or buy a new phone.

My guess is that phone companies -- or carriers -- have little incentive to actually push the update. Most people will want a newer m

Maybe for cheaper models, they won't support at all, but buyers of the top of the line flagship phones expect updates for their phones. Most people own the phones for two year before upgrading so manufacturers support updates on phones for at least the first year. If one phone manufacturer fails to deliver timely updates, then competitors will take advantage.

You missed the point, this is not about getting a new update nor not, which is another matter entirely (although not any less important).

This is about why it takes so long for updates that *are* happening to reach users. Keep in mind that even though ICS was just released, there are phones that are only now getting Gingerbread, the last major Android version. It is sad and it is a rather difficult problem to solve.

I know I am going to get flamed for being an apologist, but you know that until about a year ago Dell was selling computers preloaded with Windows XP, right? Windows XP, which made its debut in 2001? They were selling (and people were glad to get) a computer with 9 year old software on it. Now we have Android OS from Google and the turnaround can be anywhere from 4 months to a year before it is running on a good portion of the install base, and we complain about it? Why? If the phone doesn't do what you want it to, don't buy it thinking that some software release will come along next week and make it all better (even if the retailers want to insist that)...

Learn from history: buy the phone that does today what you want your phone to do today. For a crowd of computer dorks who know all too well the ups and downs of the software development lifecycle, we here on/. sure do like to play dumb...

Android is free and newer versions tend to not only work better but provide more features. Windows upgrades tend to consume more resources and generally introduce new bugs. It's not really fair to compare the two.
That being said, it would be a completely different story if your new PC came with the promise that newer versions of windows would be made available at no charge over your existing internet connection. Why shouldn't you be upset when a new version is released and months go by without your upgrade coming through?

People were asking for Windows XP in large quantities still, which is why Dell continued to sell it with their computers. You don't see people bemoaning the fact that the carriers and manufacturers are making plans to start rolling out upgrades and phones that lack Android 2.x on them, whereas you did see that in the PC market when Vista came out. Android 4 is seen as a legitimate upgrade to the Android line. Vista was seen as a downgrade by many, so they preferred to do without it.

People were asking for Windows XP in large quantities still, which is why Dell continued to sell it with their computers. You don't see people bemoaning the fact that the carriers and manufacturers are making plans to start rolling out upgrades and phones that lack Android 2.x on them, whereas you did see that in the PC market when Vista came out. Android 4 is seen as a legitimate upgrade to the Android line. Vista was seen as a downgrade by many, so they preferred to do without it.

Comparing the two makes little sense.

Whenever I talk to an Android user who hasn't been exposed to internet forums, there is probably a 95% chance they don't even know what version of the OS they are currently using, much less what version is somewhere in the ether waiting to get released for their phone. Articles are constantly appearing that bemoan the Android upgrade cycle, and while there are a lot of things about it that seem impractical (such as giving carriers, who know little about hardware OR software, so much say over what changes will be made) it always has the stink of a pissing match because a little version number buried somewhere deep in some settings menu has so little to do with what the phone actually does.

If these articles were all about how Android 2.3 had glaring bug [X] or glaring missing feature [Y], and Android 3 or 4 or 9.8 was supposed to fix all that, then I would say "game on" and be right there lighting the fire under whoever is holding up the process. As it is, all we are doing is complaining about the weather because honestly if version numbering and release state were kept under wraps (like they are on monolithic platforms) then none of this would ever be discussed at all.

If I were to (warning, a line is about to be crossed) write an article that said Apple's iOS 6 was "finished" and I had evidence to back it up, and I went on to complain that the release wouldn't happen until December 2012 because of some group's lengthy test process, or bureaucracy, or AT&T's insistence, or whatever, should that depress all the Apple users thinking that they were holding a phone in their hands that was running an "outdated" operating system?

That being said, it would be a completely different story if your new PC came with the promise that newer versions of windows would be made available at no charge over your existing internet connection. Why shouldn't you be upset when a new version is released and months go by without your upgrade coming through?

Expectation management is definitely not handled well by the people selling the phone, you have a definite point. At the same time, Google has a real branding problem because no one can really be bothered to tell the difference between what the Android OS itself is, and what runs on their phone (a piece of software often bearing very little resemblance to the original version)...

Why should you expect that your device will get new versions of an operating system at all? Because "it's free"?

Perhaps because it was promised? And may have been a factor in deciding which product to purchase? If you have a choice between two otherwise equal phones, and one comes with a promise of an upgrade to the next OS, you'll go with that one, since it'll be able to run newer apps for longer and will have more features over the life of the phone than the other one does.

So you're suggesting that, given two otherwise equal phones, you'd recommend taking the one that makes no promises for future upgrades over the one that at least promises them? And I'm the moron?

Come on.

Stop being argumentative for no good reason. I didn't say that you should buy on a promise over a device that's already shipping with more features. I said that if you have two otherwise equal choices, the one that has a possibility of future advancement is better than one that has no potential for it. That'

And guess what makes the difference. Right, Windows XP *is still supported*. Support runs until 2014!

Google on the other hand has the explicit policy of not supplying any previous version of Android with security updates. Whether they timely patch the latest version also remains debatable, because they keep the list of security issues confidential. Google has a long way to go in this matter to even reach the standard of Microsoft.

I learned this lesson the hard way with the Motorola Cliq XT. I bought it a while back (2 yrs?) despite it only having 1.6 on it because I was told they were already working on a 2.0 upgrade that would be coming. I waited, and waited, and waited. Eventually they canceled the upgrade and sent an email out recommending a new phone (quite the slap in the face).

Once I saw that no upgrade was coming, I rooted my phone and installed cyanogen mod. I have 2.1 on my phone and it works great (only minor bugs). Plus m

Now we have Android OS from Google and the turnaround can be anywhere from 4 months to a year before it is running on a good portion of the install base, and we complain about it? Why? If the phone doesn't do what you want it to, don't buy it thinking that some software release will come along next week and make it all better (even if the retailers want to insist that)...

The day the iPhone 4S with iOS 5.0 was released I was able to upgrade my iPhone 4, iPod Touch, and iPad to iOS 5.

The day the iPhone 4S with iOS 5.0 was released I was able to upgrade my iPhone 4, iPod Touch, and iPad to iOS 5.

You get the update the day that Apple decides they want to start pushing the update, it has nothing to do with when the code was "finished" because Apple keeps all of that under wraps. Whether this is good/bad/indifferent is up to the user, but comparing that process to the Android one is awkward at best. Oh yeah, and how is Siri working on that iPhone 4 of yours?

You get the update the day that Apple decides they want to start pushing the update, it has nothing to do with when the code was "finished" because Apple keeps all of that under wraps. Whether this is good/bad/indifferent is up to the user, but comparing that process to the Android one is awkward at best. Oh yeah, and how is Siri working on that iPhone 4 of yours?

Google patches a security flaw in Android and releases it. How long does it take the patch to be available for every Android phone worldwide?

You get the update the day that Apple decides they want to start pushing the update, it has nothing to do with when the code was "finished" because Apple keeps all of that under wraps. Whether this is good/bad/indifferent is up to the user, but comparing that process to the Android one is awkward at best. Oh yeah, and how is Siri working on that iPhone 4 of yours?

Google patches a security flaw in Android and releases it. How long does it take the patch to be available for every Android phone worldwide?

When Apple released iOS 5.0.1. Every iOS user worldwide got a notification that a new OS was available and all they had to do was press 'Update' from their phone/tablet.

The last (and only, from my memory) time a security issue surfaced, Google plugged the hole via a silent update to it's application suite and it did not require any user intervention at all. There was also no documented cases of the exploit being used "in the wild" so the action taken by Google was sufficient to mitigate any risk. Whether or not this is the best way to handle things is again, up to the user. However, I would be interested to see an "in the wild" exploit that gained traction due to the la

This is just one bug where Google patched it for the Nexus but had to wait on the various manufacturers/carriers to send out a patch? How long do you think it took carriers to send out an update? How many manufacturers didn't bother about updating their phones?

The 3GS was introduced in June 2009 and is still getting updates. How many Android phones from even last year are still being kept up to date by the manufacturer?

The question is not if one can get an older version of the OS installed if you wish. The question is why one cannot get a phone with the current version of the OS. Yes, as WIndows XP is the stable version of MS Windows some people choose to buy Windows XP. However, even if they do, they can if fact get the latest SP of XP for any computer that ships with XP. And Dell does sell most if not all computers running Windows 7.

The problem with Android are three fold. One is that Android and the hardware is

Anyone who was in the peanut gallery in 1998 was a little more clued in. The audience wasn't nearly as wide then. You could expect that people had a little bit more of a clue by virtue of the fact that they were even aware of the Internet.

Anyone who was in the peanut gallery in 1998 was a little more clued in. The audience wasn't nearly as wide then. You could expect that people had a little bit more of a clue by virtue of the fact that they were even aware of the Internet.

Truth, but we all know the only constant is change. There are still good comments out there, they're just a lot harder to find.

The community will port 4.0 to existing phones and newer ones, just like gingerbread. This is because google releases the code to everybody, rather than OEMs. On the atrix, it was due to go up to gingerbread by Motorola, but long long before that gingerblur came out bringing with it most of the features. The official update was of course slightly better, but then again the atrix is locked, what can we expect?

P.S. unlocked phones get much much better support from the community, such as the g2, so it may be worth staying tuned to XDA for your phone and see if 4.0 is ported to it yet.

What certification process is SONY talking about if in the end, (as evidenced by apps that will not correctly run on their devices), apps deemed compatible with Android still will not install/run on all their product portfolio? Who is SONY trying to fool?

In the first Ice Cream Sandwich source code that was released, the Hardware Abstraction Layer (HAL) – the software layer giving applications direct access to the hardware components – was to some extent adapted for a Texas Instruments hardware platform. However, for all 2011 Xperia phones, we used a Qualcomm hardware platform. This means we have to replace the default HAL coming with first source code released for Ice Cream Sandwich, with our own HAL.

The HAL changes have impact on several features on a phone, including the camera, different sensors (such as proximity, light, accelerometer and compass), audio, Bluetooth, Wi-Fi, GPS, as well as multimedia and graphics components. Thus, we do not only have to modify and configure the HAL according to the Qualcomm hardware platform, but also all the other hardware components used in a phone.

Wow, I sure hope they're just mixing up terminology here. The entire point of a HAL is that you just plug in your drivers. If you have to modify the HAL because you're using different hardware than the reference device, you're doing it wrong.

Unfortunately the manufacturer is right here. Currently in the ARM world every printed circuit board (PCB) model requires its own kernel version - even if the SoC is the same. Even if the components in the board are exactly the same, a new kernel version is required if the components are just wired differently!

Why is this? Because in the ARM world there is no any universal bus like PCI is in the x86 world. Typically components are connected by using quite primitive buses like I2C or SPI, which has no bulletproof way to do a listing of connected components. Also ARM is heavily power optimized - also in the PCB-level. There are software controlled regulators powering different components ON when needed and OFF to save power. Because there is no any standard way to do this - every manufacturer is designing the powering differently. Power and the communication bus are not connected by any means - powering the component on/off might require using a totally different bus - not told to software by the communications bus. This knowledge is typically just put (hacked) into the kernel code.

In PC world most of the hardware is initialized by BIOS and all the peripherals are usually nicely listed by the PCI bus (try lspci -command in your x86 linux box). Drivers can be easily attached into peripherals by unique device IDs. The same driver works for all boards even if the PCI bus address is different.

No such luxury in the ARM world. Typically you can see multiple versions of drivers for the exacly same component in the Linux kernel source tree. Just because the ARM architecture has brought too many obstacles for developers to easily use the same driver for different boards. You can imagine - it is a total mess. Also typically those drivers do not enter into mainline kernel so there is again more work for phone makers to port drivers for the new kernel version. Also Android kernel has some differences to normal Linux kernel.

Correct me if I'am wrong, but in my understanding the Android HAL-interface is in the user space - not kernel space. The HAL-interface might change a lot between Android versions. But not only the interface has changed - also the kernel space interfaces - those on the top manufacturer have to implement the HAL-interfaces - have changed breaking the existing drivers the manufacturer has made.

But there is hope in the future. Developers of linaro.org have work in progress and already very good demonstrations of how this mess can be sorted out. But we are not there yet and the work is huge. It needs also some common standards and practices to be adopted by the ARM hardware makers.

But this ARM-problem is not just related to Linux. Windows Phone 7 is currently working only on Qualcomm SoC, probably because Microsoft wants to keep things simple at this point. Apple has solved the problem by making its own hardware and SoC and probably standardized the hardware in house.

Uh yeah, I agree. You abstract away as much hardware as possible. The point is, if Android has a standardized HAL, i.e. standard interfaces for various pieces of hardware like the CPU, GPU, camera, sound, etc. why does Sony feel like they need to replace the HAL *itself* rather than just plug their drivers into the existing HAL?

A couple of times it has turned into a very large clusterfuck. Stuff breaks that seems like it should not break for any reason ever. But there you are with 50 people saying that 911 won't work. So these updates break stuff. They break important stuff and every piece of hardware (even within the same hardware line) reacts a little bit differently.

It is one of the glaring weaknesses of a diversified culture (as compared to the locked down monoculture of Apple).

I've been thinking this for some time, and the more I see articles like this (and for that matter Android phones), the more convinced I am that a rapidly evolving platform put together by a company famed for an attitude of "foist a beta onto users, we can always update it later" and the cellphone industry as it stands simply do not mix.

Why don't they mix? Well, think back to a dumb phone - more specifically back to when that was more-or-less your only option.

Why do Android upgrades take so long? You're kidding, right? Probably not... about the time that Android 4.0 came out, there was an article about Android 2.3 being "long in the tooth". I bought my Android 2.1 phone in June 2010. Android 2.2 had just come out, but the only things that the 2.2 phones offered over 2.1 were built-in wifi sharing (didn't need), 4G (not available within 300 miles of my home), and a front-facing camera -- and I wasn't going to spend an extra $100 for the front-facing camera. Since then, Android 2.3 came out (December 2010), then 3.0 (February 2011), 3.1 (May), 3.2 (July), and 4.0 (October). Looking back, 2.1 came out in January 2010, and 2.0 in October 2009. Ignoring the tablet-only 3.x, that's still five versions in two years! Even the ten month wait from 2.3 to 4.0 is hardly an eon.

One of the things Apple does right is that they dont need to go through months of testing with every iPhone-selling carrier on the planet just to release a new iOS update, they can and do release on their own terms.

Other manufacturers need to follow Apple on this and take control over firmware releases.

Samsung have made zero attempt to lock down the system (which is why I buy their phones). Firmware for all variants of all Samsung phones released around the world are available at www.samfirmware.com [samfirmware.com]. I remember when Gingerbread first came out of the Galaxy S it came out in the Netherlands. I flashed that firmware over my phone without problems. The carriers in Australia released their copies some SIX MONTHS LATER.

The XDA-Dev [xda-developers.com] page should give you a good indication of what Samsung phones are capable of and requires nothing more than downloading one of the two flashing utilities for Samsung phones. Personally I run a beta of IceCream Sandwich [xda-developers.com] on my Galaxy S.

Great phone, the Fascinate, just can't stand the software they stunk it up with.

It's weird that you think the software and the phone are two different things - the software on a smartphone is more the phone than the hardware. I wouldn't put up with a phone with bad software, hoping that it would get better with a software update. If someone sells a phone with bad software they're the last company I'd expect to provide good software for it in the future. They shipped a bad product, buy from a different comp

Buying your own phone doesn't matter with Verizon or Sprint. Non-Sprint phones can never be activated under a Sprint account (they can roam, but never be the phone for a real Sprint account). Verizon will let you do it if you twist their arm and escalate it high enough (possibly due to a consent decree inherited from AT&T years ago), but they won't actually *help* you, and you'll never get EVDO to work, only 1xRTT due to radio firmware funkiness unique to Verizon. There's no actual engineering reason why it HAS to be this way (it's purely a matter of software and business process; the hardware is identical), but unfortunately, that's the way it is.

In theory you could buy an unsubsidized phone for AT&T or T-Mobile, but in most cases you'd only be able to use GPRS and EDGE on T-Mobile (most foreign phones can't do 1700/2100 HSPA+), and I'm pretty sure most imported phones can't do HSUPA on AT&T (and often, the only models that can do 850MHz UMTS are the ones intended for Australia, which are so expensive when imported to the US that you could almost buy a Verizon phone and pay for the service for two years for what you'd pay for the imported phone alone).

The unfortunate truth is that America's mobile phone market is as structurally fragmented and messed up as Japan's, and only slightly more likely to untangle itself over the next 25 years into something resembling tortured interoperability.

And how many of them were NOT T-mobile branded, but nevertheless capable of HSPA+?

The only non-Tmobile-branded phones I'm aware of that are capable being coaxed into doing 1700/2100 plain-vanilla (non-HSPA+) UMTS at all are Samsung's GSM Galaxy-S phones (AT&T Captivate & international i9000). I'm sure there are a few others, but they're rare. Likewise, most foreign phones can now limp along and do 1900MHz plain-vanilla UMTS on AT&T, but very few that can also do 850MHz UMTS. I don't think there are ANY non-AT&T-branded phones that can do HSUPA on AT&T.

As a practical matter, if you care about getting the fastest data speeds possible, America's two nominally-GSM networks are almost as de-facto proprietary as Sprint and Verizon. And the tragic punchline is that when AT&T, Verizon, and (now) Sprint roll out LTE, they're going to be equally incompatible with each other and everyone else on earth despite LTE nominally being a global standard.

T-mobile will sell you just about any phone they have without a contract. You can then use the very sneaky loophole of calling them and telling them that you are going out of the country, they will try and sell you the international plan, decline saying you are only going out for a few days and you don't expect to go often and would just like to buy a pre-paid sim when you get there. They should give you the unlock code for your phone.

Also T-Mobile is one of the few where the monthly payment is less when you buy the phone outright.

And an incompetent process, too. Because competent developers would separate their changes, and integrate them only with a few hooks, so that they are easy to port. Unfortunately, competent software developers seems to be completely absent from the Android phone market.