Speculations are rife that Google has finally decided to put an end to fragmentation in the Android OS. Will we really start seeing an overwhelming majority of Android smartphones running the same version?
Android is looking good, no doubt about it. What has started as a Linux-based OS for handsets (i.e., mobile phones) has now rapidly spread to different devices. There are small tablet computers like Archos' Internet tablets and Enso's zenPad, e-book readers like Barnes & Noble's nook and Spring Designs Alex, and even a netbook - Acer's Aspire One D250 (actually dual boots with Windows 7).
Of course, it's mainly used on smartphones; dozens of them and by different Manufacturers (HTC, Samsung, Motorola, and Acer, to name a few). And there's more coming. In fact, if you combine all of them, their numbers (in users' hands) are about half of those running on the iPhone OS (which are, well, basically all iPhones).
It wasn't like that a little over a year ago, on February 2009, with Android-powered smartphones only getting about 2% market share. That share climbed to 24% in February of this year.
Still, not everyone is happy, and one major problem has got to do with fragmentation. Ok, let me elaborate briefly. Last year (2009), Android released three versions: Cupcake (or 1.5) in April, Donut (or 1.6) in September, and Eclair (or 2.0) in October. 2.0.1 was also released in December. Still another, 2.1, was released on January 2010.
As a result, despite being released on the same year, new Android smartphones sold to the public last year supported different versions of the OS. This left a typical Android smartphone owner envious of another who bought a different smartphone that had cooler apps even if they both purchased their phones on the same year.
Developers are stuck with even greater challenges. To offer their apps to the vast majority of Android smartphone owners, they'd have to write at least four versions of the same program.
Fragmentation is really a pain in the neck for developers. When I started playing around with my first Java midlet back in 2003, fragmentation was already a problem. A basic midlet, especially one that had a GUI, would have to be modified by some (usually large) degree if you wanted it to run on different phones. Screen resolution/size and navigation controls were some of the basic issues.
Now, upon Googling for information, I realize the problem is still there. You'd think that after about a decade of existence (I'm sure Java ME already existed before I compiled my first "Hello World"), they'd have already figured out a solution.
Some bloggers are speculating that Google has already come up with a solution. Looks like they even have two. The first one involves slowing down the pace of version releases. The second involves separating standard apps and components from the main OS and making them available via the Android Market.
Hopefully, if the OS version releases are far apart, the carriers and manufacturers will have time to make the necessary updates for their subscribers. Also, with apps available on the Android Market instead of being bundled with the OS, users can download the latest version as long as their device supports it.
Back in those Java ME days, fragmentation problems were mainly due to the variety of screen sizes and navigational controls of different cell phones. Since practically all Android smartphones have touchscreen displays, I guess the navigation issue no longer exists. However, there are still different screen sizes, right?
Still, if Google is able to persuade carriers and manufacturers to move forward with the said solutions, that would be a great improvement. Wouldn't this mean smartphones are moving towards commoditization? Is this a direction carriers and manufacturers would be willing to take?