I've been rattling my brain trying to figure out why I dislike Android at times, and I've finally hit the nail on the head. First we must understand some things. Apple products are the ONLY products that run iOS software. For example, when iOS 5 (Software for iPhones / iPads / iTouches) was released, that only had to be pushed to a couple of in house devices. This allowed for a speedy delivery of a product and with frequent OTA (Over the Air) updates for any problem that arose. These updates were dealt out to any carrier instantaneously, since the difference in carriers lied in the radio.
Now lets switch over to the Android scene. Android is made by Google, and they create a product. Phone producers such as Samsung, HTC and LG use Android in their phones and then distribute those to the carriers. So now we have
- Native Android
- Developer Firmware (HTC Sense, Samsung Overlay, LG Innovation)
- Carrier Addons (Also known as bloatware)
- Radio / RIL for that carrier
So HTC releases 12 phones in 2011 all running Android 2.1-2.3 with a version of their modified Android: HTC Sense. A couple of months past and Google releases Android 4.0 in December of 2011. This is a large upgrade much like iOS 5 was to Apple. Apple rolled iOS5 out to all devices within a week while they said goodbye to the iPhone 3G. Android 4.0 has been out for 3 months now and phones running Android have yet to see official 4.0 because they are too heavily modified by the phone producers in order to take advantage of these updates. The time required to re-engineer these builds is time consuming. Thus, updates rarely come.
This is why Android suffers. Corporation's that don't understand the true meaning of open source. Android is great, a huge improvement in mobile development no doubt, but the issues lie in the carriers. Take the additional bloatware and modified Android out of the equation and you have another win-win situation.