Slashdot Mirror


Fragmentation Comes To iOS

dell623 writes "While the fragmentation issues in iOS are nowhere near as bad as Android, it can no longer be considered non existent. I have prepared a chart showing which features will be available on which device. While some restrictions are the result of hardware limitations, it is clear that Apple has deliberately chosen to limit some previous generation devices, and figuring this out isn't always straightforward if you're not buying the latest iPad or iPhone."

21 of 244 comments (clear)

  1. It's pretty clear.... by Anonymous Coward · · Score: 5, Insightful

    ... that the submitter doesn't really understand what the word "fragmentation" means in this context.

    1. Re:It's pretty clear.... by mrxak · · Score: 5, Insightful

      Is slashdot just linking to people's random ass blogs now? This has got to be the most pointless and uninformed article I've ever seen here. Or it's a troll.

    2. Re:It's pretty clear.... by Mike+Buddha · · Score: 4, Interesting

      iOS fragmentation is far worse than Android fragmentation, because the Apple App Store has no problem selling you software that you can't use on your devices. Google Play won't let you buy an app that won't work on your device, which mitigates a lot of the problems that exist because of fragmentation.

      It's annoying because decent software will get rated down on the App Store because it doesn't work on the iPad 1 and angry suckers leave low ratings to show their anger at Apple's incompetence.

      --
      by Mike Buddha -- Someday the mountain might get him, but the law never will.
    3. Re:It's pretty clear.... by mrxak · · Score: 5, Informative

      I have an ad-blocker, but I assume the page has ads on it and the submitter is just looking for some hits. Nobody should RTFA, just read this post.

      He has four products on there that are not currently being sold. One is entirely made up, with made up specs, in a product category that doesn't exist.

      Of the remaining six, there's not much fragmentation at all. There are four screen resolutions, which is the only thing developers (for which the term fragmentation typically applies) need to worry about. This includes the 3.5" iPhone/iPod retina display resolution, the new 4" iPhone/iPod retina display resolution, the iPad retina display resolution, and the older non-retina iPad display resolution, which is automatically converted. The submitter made several factual errors with the resolutions, but that's the gist of it. Clearly going forward, there will be just two resolutions that developers need to worry about. One for the iPhone/iPod, and one for the iPad, as the older resolutions are being phased out and don't exist in any new products. This means the platform is no more fragmented than it was when the iPad was first introduced.

      There are no dramatic API differences between the various iOS platforms, just the usual and obvious differences in available hardware. iPods and iPads don't have cell network assisted GPS if they don't have chips in them to access cell networks. iPods and iPads don't have Facetime over cell networks when they don't have chips in them to access cell networks. Advanced features of the camera system or microphones are not possible on devices lacking the necessary computing power to handle them.

      All in all, nothing in this random submitter's blog post addresses true fragmentation, the sort you see in the Android platform due to API differences and hundreds of different screen resolutions.

    4. Re:It's pretty clear.... by BasilBrush · · Score: 4, Insightful

      The bigger point he's missing is that he doesn't even understand what fragmentation means. Fragmentation is multiple parallel products that have incompatibilities. It's NOT current devices currently being on sale being different from older models in the same series let along devices that are no longer on sale. You can argue that there's iOS device fragmentation as far as iPhone vs iPod Touch vs iPad. But the iPhone 3GS and the iPad 1 aren't even on sale any more.

      Android is horribly fragmented because there is a huge number of current products with many hardware incompatibilities AND many don't even ship with a recent version of the OS. However much Android fanboys wish iOS devices had the same problem, they just don't.

  2. It's not the same issue. by Anonymous Coward · · Score: 5, Informative

    Fragmentation is a developer problem that affects how easy it is to roll out software for the platform.

    Apple keeps the core APIs consistent across devices. Everything you have listed is unrelated to the developer's ability to build their own apps.

    Those are end-user features.

    1. Re:It's not the same issue. by fuzzyfuzzyfungus · · Score: 4, Insightful

      The chart in TFA is entirely useless, since it focuses on end user features that apple has or hasn't included on various models; but there is the not-so-minor matter of spec changes(TFA's chart doesn't even touch them; but 'keeping the core APIs consistent' also doesn't address them). There are some pretty significant differences in CPU and GPU power, and how quickly the OS will run out of RAM and quietly start memory-managing you, between those models.

      If your 'app' is just some lousy re-implementation of a website that you really wanted to flog through the app store for some reason, it probably isn't a big deal; but anybody who really needs the punch provided by running native can't necessarily ignore that.

  3. Erroneous Info by MoronGames · · Score: 3, Informative

    iPhone 4S does not have a resolution of 960x940. iPhone 4 does not have a 940x640 resolution. They are both 960x640.

    --
    hey!
  4. You insensitive clod! by PPH · · Score: 3, Informative

    What about my Model 5150 IBM PC?

    Seriously, fragmentation is an issue with current platforms. No one expects an API or UI to stand still across all but a small range of minor system releases.

    --
    Have gnu, will travel.
  5. Re:Not to Developers (and your chart is flawed) by steelfood · · Score: 4, Insightful

    Uh, what? The iPod Touch definitely uses iOS.

    Admittedly, I was expecting a rundown of what device supports what version of iOS as well as the particular features of that version, but that was just me.

    --
    "If a nation expects to be ignorant and free in a state of civilization, it expects what never was and never will be."
  6. Not great by Bogtha · · Score: 5, Informative

    Most of these are things that iOS developers don't care about. For instance, Facetime over cellular: developers don't care about that, it's an Apple app, not an API, and evenif it was an API, you'd have to code for when it's unavailable anyway.

    There are variations between the different models that developers have to be aware of, but they aren't covered in this chart. For instance, background modes are only available for ARMv7 devices. By and large, Apple have done a good job of shielding developers from these differences. I'm an iOS developer, and I very rarely have to even think about different device support. The two main ones are display size and display density - and Apple have only just announced the third display size ever, and they've only used two display densities ever. I can't really think of any platform outside of games consoles that are so homogenous.

    --
    Bogtha Bogtha Bogtha
  7. I don't get it... by mark-t · · Score: 4, Interesting

    Starting with the retina display, the programming API's for the iPhone took a one-way trip away from utilizing absolute pixel measurements, and referring to screen positions by resolution-independant "points", instead. In this way, coupled with the usage of floating point values for screen positions instead of integers, code would be made entirely resolution independent, without having to inquire about the phone's physical pixel resolution. All of the iPhone screens up until that time, whether retina display or not, were considered to be the same dimensions in these "point" sizes, so the same code could look and work exactly the same both on pre-retina and post-retina displays (perhaps only being of higher fidelity on the latter).

    Now Apple decides it's time to make a phone with an entirely different aspect ratio. Really, what was the point of bothering with the resolution-independent screen positioning in their API's in the first place if they were just going to go and produce a completely different screen size that the programmer is going to have to write extra code to account for anyways?

  8. PCs are fragmented by DragonWriter · · Score: 3, Informative

    My old 286 can't run 64-bit apps, or even 32-bit apps. I guess that means PCs are fragmented.

    Uh, yeah. PCs are pretty much the poster boy for a fragmented platform, even within the scope of hardware that could run the most recent major operating system version (e.g., not just "286 vs. modern x86-64 system".) Wintel PC fragmentation is certainly far worse than even Android fragmentation.

    That's always been one of the selling points for more tightly controlled, homogenous platforms.

    1. Re:PCs are fragmented by sunderland56 · · Score: 5, Funny

      Uh, yeah. PCs are pretty much the poster boy for a fragmented platform,

      Yeah, but every PC comes with a defragment utility.

  9. A feature comparison != fragmentation by Anubis+IV · · Score: 3, Interesting

    Apparently the author of the "article" doesn't understand the distinction. I'm disappointed the editors let this one in.

  10. Re:totally incoherent! by Dog-Cow · · Score: 4, Informative

    No, you idiot. A network connection being unavailable is NOT fragmentation.

  11. Fragmentation = Consumer Choice by rcs1000 · · Score: 4, Insightful

    For the average user, fragmentation does not exist as a problem. It's like asking a Dell user; tell me, do you think the PC ecosystem is weakened by the system where you can buy an HP with a 17" screen or an Acer with a 21" one? Aren't you worried about fragmentation of the PC ecosystem?

    Said user would look at you as if you were completely mad.

    For the average, user the word fragmentation means nothing. Really, absolutely nothing.

    There is an issue for developers, but even there the problems is relatively modest. Everyone writes to the Android specs of 2-3 years ago (mostly Gingerbread), and the world continues as normal.

    And, the crazy bit is, of the top 100 apps, 98 are cross-platform anyway. Dropbox? Check. Angry Birds? Check. Evernote? Check. Every serious developer is already designing for both Android and iOS anyway (would anyone seriously consider building a mobile app designed to only ever being on one platform?), which means that any developer is already thinking about multiple form factors and resolution.

    So: to finish, fragmentation is a wonderful phrase dreamt up by the depatment of FUD, but it bears about as much relevance to the real world as Elmer Fudd.

    --
    --- My dad's political betting
  12. Apps have to scale down. by SuperKendall · · Score: 3, Insightful

    So, when the iphone apps that are pushed for the larger screen first are unable to scale down to the smaller screen iphone, how is that not a problem?

    Here you are hypothesizing some apps might exist only for the larger sized iPhone.

    But remember, Apple has this walled garden - why would they accept an app that did not work on both sizes of iPhone?

    Furthermore, apps HAVE to be able to resize down. When a call indicator is active the space for the app contracts.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  13. There are five screens ... same layout for some by perpenso · · Score: 3, Insightful
    I agree that what "fragmentation" exists is certainly far different than the fragmentation that exists under Android.

    There are four screen resolutions, which is the only thing developers (for which the term fragmentation typically applies) need to worry about. This includes the 3.5" iPhone/iPod retina display resolution, the new 4" iPhone/iPod retina display resolution, the iPad retina display resolution, and the older non-retina iPad display resolution, which is automatically converted.

    There are five screens. There are the non-retina 3.5" iPhone/iPod touch devices. The 3GS was only obsoleted yesterday, developers are still going to support such devices. They are fully supported by Apple given that they will run iOS 6.

    Also saying there are X screens that need to be supported is a little misleading. There are two parts to supporting a particular screen. One is the layout of user interface elements, the other is possibly skinning those elements (applying some sort of bitmap). When going between a non-retina and retina display the layout is the same. Layout is defined in terms of points not pixels, and since points = 1.0 pixels on non-retina and 2.0 pixels on retina there are no scaling artifacts to worry about.

    So there are at most 3 layouts to worry about. 3.5", 4" and 9.7" (iPad).

    For 3.5" and 9.7" non-retina and retina may be an issue for skinning those user interface elements. Given 1:2 scaling iOS can scale non-retina art quite effectively. Some apps might not need to supply retina versions of art. For those that do, or prefer to, iOS handles it automatically. The developer needs to make **no code changes**. Merely add a retina version of a given art file to the project. For example if my code/resources refer to image.png I add image@2x.png to the project. When the time comes to load image.png iOS automatically checks to see if it is running on a retina device, if so it checks to see if an @2x version of the file in question exists and makes the substitution if it does.

    So there are at most four sets of artwork, iPhone/iPad and non-retina/retina, and the non-retina/retina case is handled by iOS not by an app's code or resources. Assuming of course that the app uses artwork in its user interface.

    Note my use of "at most". If a developer targets only the 3.5" iPhone screen the app still works very well on an iPad or a 4" iPhone display. Both center the 3.5" layout, there is no stretching, everything looks exactly like the developer intended. On the iPad there is a 2x zoom button if the user wishes, again since it is an exact 2.0 scaling artifacts are minimal if any.

    So while it is possible to only target one display, it is more plausible to only target two displays. Non-retina iPhone and non-retina iPad. If a developer is not doing any skinning and the user interface consists of entirely built-in UI widgets then we go from plausible to very practical since iOS handles the scaling for you. All one would miss out on are the extra pixels (in only one dimension) of the 4" display, the app would look exactly the same with absolutely no artifacts.

    1. Re:There are five screens ... same layout for some by perpenso · · Score: 3, Informative

      This isn't technically correct:

      Layout is defined in terms of points not pixels, and since points = 1.0 pixels on non-retina and 2.0 pixels on retina there are no scaling artifacts to worry about.

      Yes, the defined measurement system is points (1/72 inch) and yes, the retina displays are exactly 2.0x the width and height, but when displaying legacy apps on a retina device iOS will place black bars along the edges of the screen to make room for the "1x"/"2x" buttons. So it's closer to 1.8x scaling.

      No. The 1x/2x buttons are for running an iPhone app on an iPad, not running a non-retina app on a retina. At 2x a non-retina iPhone app takes 960x640 of the iPad's 1024x768 pixels. There is room for a 1x/2x in the blank regions outside the centered 960x640 app.

  14. Re:Apple cuts off older devices and technology by kqs · · Score: 3, Insightful

    Indeed. And Apple does it less than almost anyone else. Before the iPhone, phone firmware updates were as rare as hen's teeth. I had a Treo 700p for many years and only got one OS update; none of my other cell phones ever had an update. On desktops, Apple supported the power PC chip for many years after they stopped selling it.

    How often does an Android device (other than a Nexus) get an update? Hell, ignore updates, how many brand new Android devices come with an OS less than a year old?

    There are many reasons to diss Apple. Not supporting older devices is not one if them.