Google's Eric Schmidt and Andy Rubin have both gone on the record to deny fragmentation exists, but it's there; they just don't see it.

This back-and-forth about Android fragmentation is getting a little ridiculous.

I'll cut a swath through the recent articles out there and recommend two. Although I disagree with his view on fragmentation, Eric Schmidt's recent take at CES 2012 on is interesting, and recommended reading. It's also worth balancing against MG Siegler's piece on what he believes went wrong with Android. MG Siegler is a known iPhone partisan, but his explanation is compelling.

I don't believe there's a blanket "this one is wrong and this one is right" choice with either of these stories. There are too many shades of gray. But here's what's clear: the way the Android ecosystem works ensures fragmentation, even if there are good intentions on all sides. Instead of denying it, it's much more helpful to work on mitigating it.

Schmidt can call it differentiation instead of fragmentation if he wants, as he did at CES this week, but the result is still OS and app incompatibilities across different Android devices. By allowing vendors to "innovate" on top of the Android code base, Google is relying on phone vendors and carriers to develop bug-free UI layers and other software, maintain it all while simultaneously working on new phones, and continue to support older phones with new OS upgrades along with the new ones. All of that requires a lot of extra development time. It also exponentially increases QA with third-party apps.

That wouldn't be a problem in a world of unlimited resources, but we don't live in that world. Phone vendors will tend to allocate developer resources toward creating software for brand new devices that bring in more revenue, while leaving older platforms out in the cold and not fixing bugs in new phones in a timely manner. That's how fragmentation happens. It's not intentional, but given the way the system works, it's unavoidable. Google's dream of one open Android OS and many phone vendors with distinguishing software and bug-free products doesn't work out so neatly in reality.

This is also why the Google Android Update Alliance, originally announced at Google I/O in May 2011 to address the inconsistency and uncertainty of Android OS updates, was doomed to fail (and ).

Let me give an example. In a conversation about this on Google+, John Bergquist, an app developer for both Soma Games and Code-Monkeys, commented that even on iOS devices—which as a rule get OS updates for as long as the hardware allows—customers with first and second-generation iPhones sometimes have trouble running his company's apps. "We chose to develop for Android via the Kindle Fire only for now, because whether [Schmidt] believes or not, the market is fragmented," Bergquist said.

Sadly, that's a smart strategy, even though it limits the company's potential customer base. Otherwise, smaller independent development studios like Bergquist's will code themselves into oblivion tracking down bugs instead of selling product. "I love the innovative side of Android and despise the fallout," Bergquist said.

So why let companies modify Android in the first place? Phone vendors want to add value and differentiate their devices, because otherwise, everyone is selling the same exact phone: a touch screen slab with a big screen that runs stock Ice Cream Sandwich. That's why these UI layers exist in the first place. Carriers also add tons of bloatware to promote their own services, as well as give smaller app developers a chance at the big time by granting them a prized spot in the stock device menu.

Android phone enthusiasts have always hated this, and we call it out in the reviews. But this isn't the real problem, since the vast majority of Android phone buyers pay little to no attention to such things. What they do notice is that they buy a new phone, download a cool game or an app they can't wait to start using, and then find that the app doesn't run. Or that it runs, but it's buggy, looks awful, or quits after a minute for no apparent reason.

Once in a while, the custom modifications work out: witness the sharply targeted Amazon Kindle Fire. Most of the time, though, they lead to devices that may work well out of the box but act weird with various third-party apps. And it means OS updates will lag, because the next Android version won't automatically play nicely with all the stuff the phone vendor and carrier added, so they can't just make the OS update available automatically.

Schmidt's solution—that "if you don't like it, you can buy the phone from someone else"—doesn't work when you're locked in a two-year contract, when there are over 300,000 apps in Android Market to test, and when a phone vendor goes back on its promise to provide an OS upgrade. How could you possibly know beforehand what's going to happen?

Android has plenty of virtues, and it's turned out to be an awesome competitor to the iPhone. Even with fragmentation, we regularly recommend Android phones because of so many other reasons. But fragmentation remains an issue with each new OS revision—regardless of what Google executives say.

For more from Jamie, follow him on Twitter: @jlendino.