Fragmentation vs. Obsolescence In the Android Ecosphere
whisper_jeff writes "Engadget has an interesting article up discussing whether or not Android is fragmenting. While the article discusses the concept that it may be more about handsets becoming obsolete at a dramatic pace rather than the OS fragmenting, it also begins by noting that there are currently five different versions of Android on the market, which implies there is a notable degree of fragmentation. Regardless of it being fragmentation or handsets becoming obsolete to new feature sets in a terribly short period of time, I believe this development cycle could turn casual consumers away and hurt Android's chances for long-term mainstream success."
As an iPhone developer who would love to make the jump to include android I am very scared about the large mishmash of versions and hardware. Talk about a testing nightmare. Simulator testing is great but as we all know nothing beats the real thing. I don't feel like buying enough handsets to cover my desk.
I wouldn't be able to keep all the chargers straight anyway.
These "growing pains" need to be worked out, but app developers will quickly learn to check versions at runtime to make sure most of their features will work in older (or newer) versions of Android.
... it will just take a little time.
Apple took care very well from the start, but they've had lots of consumer software experience. Goole & Android will get their act together
The flash runtime has experienced the same problems as it was a developing platform. Flash 8,9 and 10 are all still in use today and have different feature sets and programming models. I realize the analog is slightly different as android is an OS and not a runtime, but the fact remains that progress requires this. We as geeks bemoan long development cycles and slow progress. Well the way to get around slow progress is quick iterations, and that gets to you to fragmentation. Adobe has realized this and their rate of development has slowed as they have stabilized on where they want the platform to go. Give android a year or so, and once Google realizes where it wants android to go, the iterations should slow down dramatically, and fragmentation will be a thing of the past.
je suis parce que j'aime
I remember a time when people complained about desktop computers becoming obsolete too quickly. I also work at a local PC repair shop where I see and fix computers daily that have slower processors and less RAM than the Droid Incredible, sometimes some that are lower spec'ed than the Droid Eris. I'll believe in handsets becoming obsolete when I see Android fail without any other explanation. (and I thought I heard somewhere that Android is doing very well for itself (http://mobile.slashdot.org/story/10/05/10/195251/Android-Sales-Surpass-iPhone-Sales?art_pos=11))
With apologies to... Henry Spencer:
"Those who fail to understand apt-get are condemned to re-invent it, poorly."
Crumb's Corollary: Never bring a knife to a bun fight.
Arguably, there are two broad classes of users/applications for Android: the ones that need a cheap phone OS that sucks less than your average "dumbphone" or "featurephone" OS(both in terms of general usability, and in terms of the dev team's ease of getting things going) and the ones who want an "Android smartphone", and wish to run "Android applications" on it, and so forth.
You would expect the former group to be heavily fragmented; but for that fragmentation not to matter very much. For any device where Android is simply being used as a cheaper or easier alternative to a dumbphone/featurephone OS, or even to some other embedded operating system(as with a cheap digital photoframe or GPS or something), the version, and most likely the applications, the device ships with will be the ones it dies with. Fragmentation will be inevitable; but also won't matter much(upgrades will generally not be expected, outside of a few tinkering geek who can roll their own, device developers will use the Android version of their choice when developing. No big deal.)
The trickier case is the part of the market that directly competes with iPhones. Here, updates are generally expected, adding applications and having things work is a prerequisite for success, and fragmentation is a bad thing. Google's own blessed handsets seem to be avoiding this reasonably well(within the limits of hardware advance. The G1 is starting to show its age; but so is the gen-1 iPhone); but some of the tier-2 carrier stuff is looking a little more doubtful.
Personally, I suspect that the critical thing will be whether or not expectations are correctly matched to devices. Having more or less fixed-spec "featurephones" being based on Android isn't bad for Android unless those phones are then sold to unwitting buyers as being equivalent to the high-end, frequently updated, fully app-compatible "Android Phones". If they are just sold as featurephones with decent browsers and mail clients, no harm, no foul. If they are (essentially dishonestly) sold as cheaper-but-equivalent alternatives to the properly updated Android devices, there will be a lot of unhappy customers stuck with outdated firmware.
My Droid Eris was on Android 1.5 for the last several months and I noticed very few differences between it and my father's Droid with 2.0. Yea he had voice nav, and he got live wallpapers when the 2.1 rolled out, but the core features that made me love the OS were largely identical (push gmail, widgets, great web browsing experience, etc.).
The only people to be hurt by the 'fragmentation/obsolescence' issue is developers. I don't want to downplay the developer issue, but as far as consumers are concerned , most of the big-time apps have no trouble supporting multiple iterations of the platform.
...But is phone manufacturer. If you make the phone and it just runs a vanilla Android OS, then you can theoretically push the update out without too much pain. The problem comes from the phone manufacturers who are trying to "improve" the OS by adding things like Sense UI and Motoblur. Yeah, some of these improvements are better, but others aren't any better than what comes in vanilla, and even more are worse. The fact that the modding community can turn on OS around in a few weeks and push it back out to the device is testament to how easy it is to put these newer versions of software on the phone, and it just the manufacturers trying to add their own crap back on that is the issue.
By this summer you'll have to support the 1G, 2G and 3G versions of the iPod touch, the 1G, 2G and 3G iPhones, the 3G iPhone with more RAM and a faster processor, and the 4G iPhone with both more RAM and a higher resolution. Oh, and the iPad of course.
The biggest new challenge with "iphone 4g" is the higher resolution - some say this will be 960x640 (i.e 2x the current resolution hor/ver), which is imho unlikely as this would be the first use of such a LCD resolution ever.
To me this doesn't sound simpler than the Android fragmentation, at least with Android the market lets you know which apps you can install, and the vast majority actually works with 1.5. With the Appstore you might only get "oh, don't install this on an iPod touch, it won't work".
Android is also more developer friendly, e.g. the new feature introduced just before the 2.2 release - at least my N1 got a "report this crash button" before I upgraded to 2.2. (I don't want to speculate on the developer friendlyness of Apple, but recent news haven't been very good.
"Andy's point was simple. Older Android devices that can't be upgraded to newer versions of the OS or run newer apps are no different than an iPhone from 2007 not being updated to OS 4."
Rubin obfuscates the problem by trying to simplify things, which is working. The issues:
* my android device can't be upgraded
* my android app don't work on x version of android
* my android app doesn't work on y version of hardware
iPhone 4.0 is irrelevant, since it doesn't exist yet. And it is not like iPhone 3Gs not moving to iPhone 4. It's more like an app on an iPhone 3G with iPhone OS 2.0 can't run iPhone OS 3.0 because (a) the device itself can't be upgraded to iPhone OS 3.0, and/or (2) because iPhone OS 3.0 isn't backwards-compatible with iPhone OS 2.0.
I have plenty of iPhone apps that were first-generation that still work. That sounds like an unlikely situation in the android world. I also have apps that work on all versions of OS and hardware. I have a few that require specific features (GPS) that don't exist on 1.0 hardware...so obviously don't work on newer devices. I had a few apps (WiFi scanners) that died under OS 3.0 that used to work.
It sounds, however, that compatibility across android and handset versions is not only not guaranteed with android, but that the incompatibility is to be expected...according to their chief architect.
Nice.
iPhone apps sell to a combined market of iPhones, iPod touch, and iPad.
There is little fragmentation on the iPhone market. 90% plus are running version 3.0 or higher.
RIM sales are larger than iphone but our iphone app outsells the RIM version by about 5 to 1. RIM users are just not as likely to buy apps. Android US sales are substantial but not yet clear of the trend going forward. It will be interesting to see how things shake out in one year or so.
I agree to some extent. Though I think it is a fools who runs in the sight of adversity. This doesn't mean that the environment is adverse, on the contrary, it is far from adverse. Engadget has no clue, they don't know what they are talking about. The Andriod is no more fragmented than Windows, the Mac OS, the iPhone, or any other. They are making much ado about nothing. Fire the editor for ruining the careers of the journalists by publishing this crap!
One has to expect fragmentation and that the fragmentation will decline as models age out. Those consumers that don't have a phone with touch will just give up the ghost and get a better more modern phone over time. Apples OS4 for the iPhone won't run on the first two generations of the hardware. The coming updates beyond OS4 will fragment the iPhone more, and that's coming from "one company".
Let's be real. The talk about fragmentation is a marketing ploy by the competition to keep developers and consumers from making the leap. An intelligent mind sees that fragmentation is everywhere from the desktop to the phone--in every device and in every OS.
You can lead a man with reason but you can't make him think.
The fascinating thing about "fragmentation" is that it's a problem we just made up. Apple's Mac line, let alone the Windows world, have more hardware and software diversity in one minute than Android has all year. Yet no one goes around suggesting that "fragmentation will hurt the PC market's long term chances of success."
This feels like a FUD bullet point created by an Apple astroturfing firm, whether it actually is or not. The whole "fragmentation" line of thinking presumes a world we have never had, and which I doubt anyone would willingly choose: one where a single manufacturer rules, producing a few nearly perfect products in a graceful, gradual schedule.
The funniest part is that this meme is useful for identifying people with no Android developer experience. After having used both the Apple SDK and the Android SDK pretty extensively, you can see why Android will win in the marketplace, and win so quickly. Never has there been such a beautifully organized, transparent, open, easy zero-to-development experience. In a world where most platforms don't even think about API versioning until it's too late, Android builds in an elegant management system from the beginning. "All 5" API revisions are accessible via a pullout menu. You default to the lowest, so that your app is compatible with all devices. Easy done.
And if you need something that a newer OS revision offers, everything about it makes it easy to target the minimum revision required.
The documentation is organized and straightforward. Running and debugging your app is a keystroke away, with a hardware-level emulator that's trivially configured to match whichever devices you prefer to test on - or all of them.
It's ironic, really. Hardly anyone has ever done such a good job of managing fragmentation, yet all this refinement for a platform that has less diversity (especially at this early point in its life) than almost any open platform I've seen that's this widely used.
In short, LOL.
Tired of Political Trolls? Opt Out!
fragmentation spells out one thing for Android: FUD.
it's called: we don't have anything else to complain about, so lets imply the shit is weak (when it's running quite strong and becoming way more polished than iphone).
But yeah, linux is uh, dying too! I mean, fragmentation!
Give me a break.
Dude, we code in Java targeting a virtual machine (it's called Dalvic). You don't worry about the hardware underneath - Android's APIs and virtual machine takes care of all of that stuff for you. You don't even have to have an Android device to do development. The SDK comes with an emulator that lets you build and test your apps on Windows, Linux or MacOS.
Now that we've cleared that up, head over to the Android site and download the SDK and learn to write an app instead of worrying about phone hardware. There's nothing stopping you. The SDK is free.
-- $G
Most of the features that you indicate as being variable on the Android platform are also variable on PCs. Yet, somehow, application development on the PC has not died and software developers have coped despite Apple having full hardware and software control on the competing Mac platform. Is the CPU on the original iPhone still the same as that on the iPhone 3Gs? Is the display resolution the same on the iPhone as on the iPad?
The Android market is certainly different from that of the iPhone, and will require additional skills and practices. However if the response of established iPhone developers is to shun those added challenges, then all it does is open the door to those who are willing to tackle them.
Laissez lire, et laissez danser; ces deux amusements ne feront jamais de mal au monde. - Voltaire