Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Operating Systems Cellphones Google Handhelds Linux

Fragmentation vs. Obsolescence In the Android Ecosphere 315

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."
This discussion has been archived. No new comments can be posted.

Fragmentation vs. Obsolescence In the Android Ecosphere

Comments Filter:
  • by EmperorOfCanada ( 1332175 ) on Sunday May 23, 2010 @07:43PM (#32318174)
    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.
  • by WrongSizeGlass ( 838941 ) on Sunday May 23, 2010 @07:45PM (#32318200)
    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.

    Apple took care very well from the start, but they've had lots of consumer software experience. Goole & Android will get their act together ... it will just take a little time.
  • by SavedLinuXgeeK ( 769306 ) on Sunday May 23, 2010 @07:46PM (#32318204) Homepage
    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.
  • by Anonymous Coward on Sunday May 23, 2010 @07:51PM (#32318242)

    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))

  • Words of Wisdom (Score:4, Insightful)

    by grcumb ( 781340 ) on Sunday May 23, 2010 @07:51PM (#32318244) Homepage Journal

    With apologies to... Henry Spencer [wikipedia.org]:

    "Those who fail to understand apt-get are condemned to re-invent it, poorly."

  • by fuzzyfuzzyfungus ( 1223518 ) on Sunday May 23, 2010 @07:52PM (#32318250) Journal
    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.
  • by eparker05 ( 1738842 ) on Sunday May 23, 2010 @07:53PM (#32318262)

    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.

  • by kidgenius ( 704962 ) on Sunday May 23, 2010 @07:55PM (#32318282)
    ...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 kroyd ( 29866 ) on Sunday May 23, 2010 @07:57PM (#32318300)
    I've got an 2G iPod touch, with iPhone OS 2.x. This means there is software that simply won't run because it is not an iPhone (such as Sleep Cycle), and software which won't run because it is not the 3.x version of the OS (games - at least the Street fighter demo and some others). With an iPod Touch you have to buy the OS upgrades, which I haven't bothered to do.

    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.

  • by mveloso ( 325617 ) on Sunday May 23, 2010 @08:02PM (#32318328)

    "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.

  • by Anonymous Coward on Sunday May 23, 2010 @08:25PM (#32318490)

    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.

  • by Anonymous Coward on Sunday May 23, 2010 @08:26PM (#32318498)

    As an iPhone developer, I think what I'd like most is for one or two models of phones to individually have huge sales so that I can focus only on them. One concern is that I haven't ever dealt with cell phone companies like Motorola and, from my experience as a customer, I have very little faith in them to keep the hardware updated or to release consistent lines of products over the years. What that leaves me with is either finding out my skepticism is wrong, or for Google's own phone(s) to become very successful. Either option seems unlikely, though I certainly hope Google has success; I can see the writing on the wall -- that Apple will soon make iPhone development so bad (along with the capricious App Store approval process are their questionable API changes that also rather conveniently impede cross-platform development) that I'll want out -- but the ease of a unified hardware+software platform will keep me sticking around.

  • by HermMunster ( 972336 ) on Sunday May 23, 2010 @08:29PM (#32318520)

    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.

  • by Concern ( 819622 ) on Sunday May 23, 2010 @08:31PM (#32318538) Journal

    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.

  • by sortius_nod ( 1080919 ) on Sunday May 23, 2010 @08:46PM (#32318652) Homepage

    The simpler your application the fewer issues you will have with it, the so called "issue" of fragmentation is only true for the most complex of applications, if you are writing a simple XML parser then you wont have a problem.

    I think this is the whole point of the fear. When you invest in creating a complex app you want to know it's going to work for everyone. There's an inherently higher risk involved with developing for a platform with such varied hardware & software.

    Saying that the fragmentation isn't an issue is glossing over the problem. Kind of like saying there's not fragmentation in desktop computers because you can run flash apps the same across different operating systems. Not every app developed is a fart soundboard.

  • Whether your hardware is supported by software or not has nothing to do with fragmentation of Linux. In fact, there is only one display / window system in serious use on desktop Linux (X.org). The display manager handles your monitor. Nothing else in the stack really matters.

  • by Anonymous Coward on Sunday May 23, 2010 @10:38PM (#32319332)

    The fascinating thing about "fragmentation" is that it's a problem we just made up.

    Exactly. Too much dumbing down is also to blame here. Any competent developer should be able to easily structure his/her application so that it detects at runtime what feature set is available and then adjusts itself accordingly. The APIs are all there and they are very well done. It's not like it's even a problem.

    And finally how is this different from Apple devices - some have cameras and some don't, some have bigger displays than the others, some will have front facing cameras and other won't etc. They deal with it via APIs and libraries - no big deal (With the iPad they failed - the iPhone Apps just look horrible on the iPad.). But for Android it becomes "FRAGMENTATION".

    You know what lots of people wrote software for lots of Windows PCs - not every PC has a camera or not every PC has the same processor instruction set (SSE/3DNow etc.) - Devs just dealt with it via APIs - old craft. Now you could argue that leads to "poor user experience" but that doesn't mean everyone should sell their PCs with same configuration and branding. If anything the impact of diverse configurations has been minimal on the software adoption given PCs have the most software written for them.

  • by poetmatt ( 793785 ) on Sunday May 23, 2010 @11:05PM (#32319480) Journal

    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.

  • by salesgeek ( 263995 ) on Sunday May 23, 2010 @11:50PM (#32319762) Homepage

    Fragmentation is a non issue. Don't target the latest version, and life is good. Target the latest version and your market shrinks. It's not that hard. Oh, and anyone who says you have to buy a bunch of phones doesn't know how Java works.

  • by Anonymous Coward on Sunday May 23, 2010 @11:54PM (#32319788)

    That's great until you realize some things can't be lowest common denominator.

    And Desktops are a bad analogy, let me give you an example:

    To make desktops analogous to the mobile phone market - you can run multiple apps (multitasking) but can only have ONE on screen at any given time. That means the app take up the whole screen, and do so gracefully. This is great for web browsers, but how many apps do you know that scale well when they're stretched to random dimensions they weren't designed for? Oh, I'm sure they're usable, but do they look good or professional? Probably not.

    Now take it to mobile phones.

    Now take things like input paradigms. Is the user going to expect a multitouch system to interact, maybe not? Well if every app assumes not, then why the hell sell multitouch to begin with! Oh, so we should support multitouch but degrade to single touch, well, okay, that requires different UI input systems different UI design quite possibly, etc. Do you start to see the confusion here?

    For devices like phones, monoculture within an environment can be -VERY GOOD- for developers, because it reduces the specs you have to target, and because the device and apps have to be integrated in a very deep way. On operating systems, monoculture tends to do bad things though, because you end up with no options or creativity present.

    I'm not saying that the monoculture should be Apple, I'm just saying if all the android phones had to meet X requires and all had X resolution screens, and all of them has X input systems, and the extras were in size, and things that don't effect applications, you'd have a much more workable development environment.

    Just my $0.02, as a mobile application developer...

  • by salesgeek ( 263995 ) on Monday May 24, 2010 @12:00AM (#32319818) Homepage

    You really like to repeat this story - this is at least the fifth time I've read it. You also illustrate zero knowledge of the platform, which makes me believe you are just here to lay down some astroturf.

  • by salesgeek ( 263995 ) on Monday May 24, 2010 @12:07AM (#32319850) Homepage

    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.

  • by Random5 ( 826815 ) on Monday May 24, 2010 @12:30AM (#32319944)
    I don't know how you've spent that much on android phones. You need
    - A G1 (your basic android device)
    - A Nexus One (high res screen and latest firmware)
    - A Droid/Milestone (to cover the Ti processor)
    - A Samsung Galaxy Should come to less than 2500 easily.
  • by ducomputergeek ( 595742 ) on Monday May 24, 2010 @12:36AM (#32319974)

    I do the final QA and Management sign off before a product is delivered to a customer. I keep an eye on the number of support tickets filed for various platforms & products so I know roughly what to budget. I can tell you the number of ticket reports filed for interpretability problems on Android is over 8 to 1 compared to the iPhone. To be fair the Blackberry has similar QA costs to Android.

  • Fragmentation is mainly FUD. Android applications operate via the Dalvik virtual machine meaning the vast majority of applications will happily run on almost all hardware. Only when you start writing applications that require access to a version specific API does this become a problem, most of Android's API's are version agnostic.

    "Mostly FUD", "the vast majority", "most API's"... In other words, there is truth to the claims of problems caused by fragmentation.
     

    The simpler your application the fewer issues you will have with it, the so called "issue" of fragmentation is only true for the most complex of applications, if you are writing a simple XML parser then you wont have a problem.

    Which, like your statements quoted above, neatly dodges the issue - there are problems caused by fragmentation, and you are trying to double speak them away.

  • by stephanruby ( 542433 ) on Monday May 24, 2010 @01:03AM (#32320116)

    He has an HTC, his wife a motorola with the keyboard so she can send 500 texts a day. They've come across several apps that will work on his phone, but she can't even find it in the market place.

    She should try again. From the sound of your post, it sounds like you're located in the US, and she has the Motorola Droid. That means her phone was upgraded to 2.1 a couple of weeks ago, and will probably get the 2.2 very soon.

    And anyway, there isn't really a big difference between 1.6 and 2.2. 1.5, yes. And anything below 1.5, no one is using anyway. And unlike the iPhone, which is changing its complete underlying architecture as we speak, the Android SDKs on the other hand are stabilizing, for instance Froyo is even being delivered six months ahead of schedule, and there are less and less changes that developers are clamoring for.

    And when I can't find an app that someone recommended to me, that's usually because many apps that were free a few weeks/months ago have transitioned to fully paid apps (and the developer has removed the free/lite version off the market as a way to get more sales, since he already has the word of mouth going for him, and the people that miss the free app can't leave new comments anymore -- unless they pay for the app at least once).

    As a developer, we're charging 4 - 5x's the price for an android app vs. an iPhone App.

    Hey, charge whatever the market can bear, that's what I say. Currently, there seems to be a big shortage of Android Developers on most job sites. So please, charge away. It's a good way to weed out the overflow of clients. And right now at least, taking on clients that want to commission an Android App is much more lucrative than making your own app (later on, that will probably be the reverse situation, but I'm only speaking of right now).

    Since august of last year, we've spent over $6k now on Android and sets. To give you an idea, we spent $2500 from 2008 - present for iPhones and iPod touches.

    This misses the point that you can only develop for the iPhone/iPad only if you're on a Mac (for the most part). And that's fine if you already have all the Mac equipment you need, but for many of us still, we still have Windows machines or Linux machines, so the barrier to entry is much lower on Android (not to mention the registration fee to be able to develop on the Market as opposed to the App Store).

    Also your entire testing strategy should be based on the type of Mobile Application you're making. For some applications, testing for every variation makes complete sense, for instance, if your application depends on the camera, it makes sense, for others, it simply doesn't. Besides, developers are organizing to share testing devices among themselves. Some companies are crowdsourcing testing and QA. And if you're near a Google office, and go to some of their events, you can usually check out devices from them free of charge. So if I were you, I'd hold off on buying the 39+ Android phones or the 50+ different Android devices that will be available this summer, and depending on the type of Application I was making, I'd give my client an itemized list of prices for the different SDKs that are out there, and let the client decide on the cut off point, on the type of support he wants to have, or not have.

  • by Anonymous Coward on Monday May 24, 2010 @02:21AM (#32320452)

    FUD. Dalvik != Sun's JVM. The reason why Google went with Java is because it allows for the underlying platform to be swapped out. Say Apple buys ARM and stops sales of all ARM CPUs to all handset makers. A switch could be done to a completely different architecture without forcing every single app out there to be recompiled/redesigned.

    Yes, there is performance overhead, but a specialized subset of a JVM built from the ground up for embedded devices is not going to suck 50% of a phone's CPU.

  • by mjwx ( 966435 ) on Monday May 24, 2010 @03:46AM (#32320766)

    But again, we see the handwaving and smokescreens in place of addressing the questions.

    Amazingly you seem to be the only one who sees this.

    You are spreading Fear, Uncertainty and Doubt over the issue which is quite clear cut. I refuse to speak in absolutes because there is no such thing. Further more you fail to disprove my point and you are only spreading FUD, this is obvious for one simple reason

    You have not attacked my point, you have only attacked me.

  • by batkiwi ( 137781 ) on Monday May 24, 2010 @03:48AM (#32320776)

    Anyone who says you DON'T have to buy a bunch of phones doesn't know how development works.

    Yes we know it will technically run. But considering screen size/resolution/layout/keyboard (or not)/etc differences you really need to test your app on each representative phone. While not EVERY phone is necessary, you'd need at least 4-5 to cover the combinations.

  • by Simon Brooke ( 45012 ) <stillyet@googlemail.com> on Monday May 24, 2010 @03:57AM (#32320834) Homepage Journal

    No cross environment or VM can replace actual testing on actual target hardware. No matter how closely manufacturers claim to follow the specs, quirks always manage to work their way in, and sometimes these quirks cause things to run differently. A serious development house will want to validate their code on all major versions of the hardware, esp if those versions come from different manufacturers.

    That's why everyone who programs for Microsoft Windows has to have a test example of every single make and model of PC that's ever been manufactured to test their programs on.

    Oh, wait...

  • by ppanon ( 16583 ) on Monday May 24, 2010 @04:13AM (#32320926) Homepage Journal

    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.

  • by ppanon ( 16583 ) on Monday May 24, 2010 @04:26AM (#32320988) Homepage Journal
    Do you seriously think all PC developers buy 15", 17", 19", 21" and 24" monitors just to test their apps at different resolutions? Or every single graphics card made in the last 10 years by nVidia, ATI, and Intel? Maybe a few specialty app developers like Adobe and AutoCAD buy a representative set, but for most apps it just doesn't make enough difference to matter. If a device is sufficiently different from the norm in the market that a whole bunch of apps break on it, that device will be the one with the bad reputation, not all the apps that fail to run on it. Yes, it may be a bit of a support headache until that device's flaws become apparent to everyone, so take account of that in your cost model and charge accordingly. At least that's within your control, as opposed to iPhone App Market approval.
  • Re:Words of Wisdom (Score:4, Insightful)

    by IamTheRealMike ( 537420 ) on Monday May 24, 2010 @04:46AM (#32321060)

    It's not likely to happen because apt-get is a pretty terrible model for end-user facing software.

    The Android software distribution and versioning model is pretty much exactly what I spent a couple of years campaigning for in the desktop Linux world about 5-6 years ago. Some of the core ideas of apt are there - a central repository of software that vends package files which can be obtained via other means if you want.

    But Android nails so many things the desktop Linux guys just never understood. For one, apps depend on the platform and nothing else. Some apps can gain additional functionality when other apps are present and the OS makes that easy to code up, but those dependencies are always optional. The market doesn't have any concept of "dependency resolution" because otherwise you'd rapidly end up with what you get in the Linux world - uninstallable applications with no good way to explain why to the end user.

    The Android model allows software dependencies on a strongly versioned platform, and also allows hardware dependencies because they do vary by device (I'll note that apt has no concept of a hardware dependency). The versioning of the Android platform is "correct" in that it's what I always wanted Linux to move to - a single number that identifies a large range of APIs that are revved together every so often. GNOME follows this model most closely in the Linux world. But GNOME misses some key pieces. Firstly the Android dev tools make it easy to target old versions, so easy it's actually the default. Now try compiling an app on your up to date developer workstation that targets GNOME 2.0 - you'll find it's not possible. The development tools will conspire to stop you (typically header files). I complained about this several times and was told, basically, that there was no interest in fixing this.

    It's unsurprising then that the Linux model has collapsed into chaos so quickly, a chaos so profound that the only way to tackle it is to try and "stop the world" every 6 months. People might bitch about Android fragmentation today, but they'd bitch a lot more if only one version of their app was offered to each user, tied to OS upgrades!

  • by dzfoo ( 772245 ) on Monday May 24, 2010 @06:15AM (#32321342)

    So, my application cannot depend on a feature from 2.1 if I target 1.5; if I want to make use of such feature, my application still must work without it. Is this correct?

    Correspondingly, then, if I target 2.1 because my application requires a specific feature, then I cannot expect customers with 1.5 to use it, right? How is this not fragmentation?

    Are you implying that every single feature, on every single version, on every single device is optional, so that I can just make my application use it if it's there, but not if it isn't?

    Then how do applications differentiate? How do they actually do anything right or better? How do they take advantage of new technology or paradigms? And, more importantly, how is this not a problem or flaw in the ecosystem?

    For better or worse, this is precisely the situation that Steve Jobs is forcibly attempting to avoid.

          -dZ.

  • by Anonymous Coward on Monday May 24, 2010 @07:01AM (#32321542)

    The GP said ALL MAJOR VERSIONS, not every single version.

    As an iPhone developer I have to agree with the GP. Android is not an environment with a standard windowing system, or with standard inputs. On Android you have lots of different resolutions, different input methods, and several major versions of the OS in the wild.

    If you are committed to creating a good app that is well designed and has a good user experience, you are going to need to buy several handsets.

    And as a hobbyist programmer this actually makes developing on Android prohibitive. Even if I have to buy a Mac for iPhone dev. I can get the lowest end Mini. Still far cheaper in the long run than trying to keep up with the handset makers.

  • by terjeber ( 856226 ) on Monday May 24, 2010 @07:21AM (#32321616)

    Had I quoted you out of context, you'd have a point - but I quoted you exactly.

    Interesting comment. You don't even know what it means to quote someone out of context, do you? The fact that you quoted him exactly doesn't mean you didn't quote him out of context. You need to get some more facts straight than what is obviously a lack in knowledge about Android development. Basic language skills would be a good place to start.

  • by salesgeek ( 263995 ) on Monday May 24, 2010 @08:31AM (#32321930) Homepage

    LOL. You use a Windows Mobile [htc.com] phone to make your point about Android? Please. ROMS? What is this, 1988 and we need to cook up a bios upgrade?

    There are about 50,000 apps in the Market. It ain't that difficult.

    Yes, it is up to manufacturers to release updates. That's why you don't target the latest versions, just like EVERYONE in the Android developer community recommends. And yes, sometimes a manufacturer will have a flaky phone. It doesn't happen that often. If you don't like getting cut, don't sit on the bleeding edge.

Software production is assumed to be a line function, but it is run like a staff function. -- Paul Licker

Working...