Android fragmentation predicted to squeeze out independent developers

124»

Comments

  • Reply 61 of 74
    cyniccynic Posts: 124member


    Alright guys, I have just signed up for the sake of replying to this hot topic.


     


    First off, let me start by saying that both sides have valid points. However, essentially Android guys do not seem to consider the whole picture. I do say this from a biased perspective as I personally favour iOS devices both for use, as well as for development by far.


     


    So here we go:


     


    Most commenters above are right in saying that resolution in itself does not matter as much. This one is true both for apps, as well as for games.


    Game engines, especially 3D ones are extraordinarily good in scaling independently of resolution. This does not cause any major headaches during development. It gets a bit more important for app development but even there resolutions don't vary as much due to increased pixel density on higher resolution screens. Essentially the resolution might be higher but the pixel density makes up for it. Hence, in both worlds it is extremely convenient to work with density independent pixels. Essentially positioning something at position let's say 30x, 30y will look the same on a Retina and non-Retina device. The same goes for Android.


    Optimising for various pixel densities might be annoying but at the end of the day mostly comes down to exporting graphics in different resolutions and that's about it.


    This is essentially different from resolutions as we saw them evolve in the PC market over the past, where most displays had 72 dots per inch and difference in resolution equaled the amount of space you'd have on the screen.


     


    The real problem with Android when it comes to game development comes down to various different chips being on the market, some supporting all OpenGL ES features, some only a subset, some older versions, etc and you end up tweaking shaders for ages. This is especially a problem with budget phones.


     


    It is also correct that Android / Google's APIs and UI components scale very well and technically can support any resolution without causing headaches. And yes, there are nice things such as fragments, which make it easier to show content on varying screen sizes.


     


    However, there is something intrinsically important and that is consistency and aspect ratio. You know exactly where you stand with iOS. Retina or non-Retina doesn't matter. You have essentially two screen sizes with two aspect ratios on phones and you got exactly one on tablets. That's the huge deal, I'll get to exactly why a bit below. This is a huge convenience when creating really detailed user experiences and shouldn't be underestimated. Especially consider, that the iPhone 5 is essentially only different in height while maintaining width. You don't get that on Android. Not at all. You got a crapload of various screen sizes and "slightly" varying pixel densities also affect the amount of content rendered on the screen.


     


    Thus, while creating apps using only standard components provided by Google or making a huge effort writing your own, extremely scalable ones, makes the app adapt without headaches, it also makes it look up to extremely different over various devices. Nowadays there are also many folks out there that expect an app to be creative and to look different than all others, which requires developers to come up with different UI ideas than tinting the action bar or putting some gradient in it.


     


    Also consider that many of the really great apps are designed extremely carefully. Every button, every icon, every element you see on the screen is carefully positioned. There are sometimes hour long debates on moving an element even just a single pixel (or density independent pixel). The same goes for content that is not scrollable and therefore of foreseeable size, carefully designed. So what happens on iOS? Absolutely nothing, you have one factor to consider if you develop for phones and that's the extended height of the iPhone 5. Nothing more. You would either work on the spacing, on background elements or you'd display some additional information on only this one device. That's it.


     


    Android on the other hand is a bigger problem. You just can't foresee what kind of device your customers are going to use. There are three inch devices and there are Galaxy notes and everything possible and impossible in between. This causes the app to get stretched, both vertically as well as horizontally. Technically this is not a problem, since the app simply stretches and that's it. However it might look funny, it might look ugly, it might look somewhere in between or it might in extreme cases make your user interface seem sluggish and not well thought through since you didn't optimise the UX for every possible case. This is a huge and major pain in the ass, don't be mistaken. We're not talking about developers being unable to work without hard coded pixel values. We're simply talking about an initially beautifully designed product looking weird on certain devices.


     


    Then obviously there is the choice on language and its VM, which in my opinion was a stupid decision, which is also why I believe not even another 10 projects butter will get rid of all UI lag, especially as resolutions increase. You gotta fight with limited heap sizes, gotta write a lot of lines for certain essential things, which makes you feel as if you're reading bytes off a raw socket rather than using an API and you gotta fight with exceptions, even though all you intended to do is test something which either works or crashes, which you expected.


     


    The developer tools in itself are a major headache. They're by far not as polished as Apple's. They're not comfortable and they're ugly. Additionally you are being forced to swap devices through multiple cables because testing something on the simulator which takes roughly two minutes to boot up and then offers horrid 0.3 FPS is just a huge pain in the ass. And don't even try telling me about enabling host GPU support, which is experimental and doesn't work with all features. Oh, and especially not with remembering emulator state. Fantastic.


    In general there are just a lot of ifs and buts and this and thats. This becomes apparent just reading the documentation, where you'll always find attention this, attention that, warning this doesn't work with xyz, attention in cases such and such, support library here, but then again not fully and so on.


     


    The bottom line is: Developing for Android and supporting Android from a customer support perspective takes longer, more effort and is more expensive than it is for iOS. It is also (subjectively) less fun and less rewarding. The whole experience down to developer tools is just not as good and not as polished. You gotta fight with old OS and API versions, certain incompatibilities due to support libraries, you gotta fight or compromise in how interactive your app can be due to old phones without notable hardware, which again makes for a sluggish experience and so on.


     


    Will this stop developers from making Android apps? Not if it is worth it for them. Reality is, in many cases it is not and in other cases it is just not worth the effort over just developing the next thing for iOS. Still, there are great apps coming to Android, often however later than their iOS counterpart, except for idealist developers who develop for Android first or only.


     


    The thing is, seeing the differences in market share, I am asking myself whether this will ever change and whether the broader development community would make more off Android if it had 100% market share, considering most make significantly less there despite >80% worldwide market share. Another factor to consider naturally is the general experience and smoothness of development for iOS, which makes it the prime platform for your flagship product. You got exclusively capable devices, you got a predictable target platform and you can count on the fact that almost everyone is on the latest OS and has a credit card with one click purchasing registered.


     


    So much for my take on the topic. However, please stop this discussion about junior developers not knowing how to code resolution independently. That's not the issue. ;-)

  • Reply 62 of 74
    tallest skiltallest skil Posts: 43,388member


    Originally Posted by stike vomit View Post

    Do it. I double-dare you.


     


    Eh, I'm no fan of vomiting voluntarily. I'll take you up on the offer if I ever get poisoned.

  • Reply 63 of 74


    my ipod touch 1st gen works great still but damn if i can't get anything beyond ios 3.


     


    this means that I can no longer run the majority of new apps.


     


    fragmentation?

  • Reply 64 of 74
    solipsismxsolipsismx Posts: 19,566member
    my ipod touch 1st gen works great still but damn if i can't get anything beyond ios 3.

    this means that I can no longer run the majority of new apps.

    fragmentation?

    What is it about fragmentation that is so hard to confuse with obsolescing? The iPod Touch came out in 2007. The original iPhone isn't supported either. Now if they came out with a device today that only ran iOS 2.x that would be fragmentation and be inline with the Android market.
  • Reply 65 of 74
    Fragmentation is obvious when you're looking at video playback or streaming applications. These have to address issues of screen resolution, bit depth, decoding, and for some, DRM. If I judge by my experiences with Vulkano, MX Player and a few others, on a Galaxy SII, Nexus 7 and Note II, using stock firmware and Cyanogenmod 10, the problem is actually huge and bound to discourage anyone who is not a serious tinkerer. I'm also suspecting that fragmentation and the impossibility to implement secure DRM is what behind TiVo's delay for its Android support of the Stream.
    What's more surprising is that you encounter these issues on more pedestrian apps; for instance Belkin is releasing a beta of its Wemo app for Galaxy SIII only -- and this is an app that does not do anything fancy.
    Also, I have seen very few games work consistently across all three Android devices I own. Most of them have some display issue ranging from mild to catastrophic.
    Bottom line, I find it very unimpressive. Then again, so was DOS vs. the Macintosh, and we all know what happened.
  • Reply 66 of 74
    hftshfts Posts: 386member
    There are more permutations in a game of chess than there are atoms in the universe.
    Breaking news! The latest version of android means that it overtakes all possible chess moves.
  • Reply 67 of 74


    iPhone 4 is still sold on Apple.com yet it doesn't support Siri or the new 3d flyover feature for maps.


     


    fragmentation?

  • Reply 68 of 74
    cyniccynic Posts: 124member

    Quote:

    Originally Posted by CrustyMcLovin View Post


    iPhone 4 is still sold on Apple.com yet it doesn't support Siri or the new 3d flyover feature for maps.


     


    fragmentation?



    Has absolutely nothing to do with fragmentation but with the simple fact that the phone is not powerful enough (single core chip) for certain features.


     


    Also note, that while certain features such as Siri or Maps flyovers are missing, the device runs on the latest system with the latest APIs. Compare this to Android fragmentation again and rethink your argument please. The impact on third party developers of Siri missing or Flyovers missing is zero.


     


    Seriously, I'm sure you know what we're all talking about here, don't play stupid. ;-)

  • Reply 69 of 74

    Quote:

    Originally Posted by cynic View Post


    Has absolutely nothing to do with fragmentation but with the simple fact that the phone is not powerful enough (single core chip) for certain features.


     


    Also note, that while certain features such as Siri or Maps flyovers are missing, the device runs on the latest system with the latest APIs. Compare this to Android fragmentation again and rethink your argument please. The impact on third party developers of Siri missing or Flyovers missing is zero.


     


    Seriously, I'm sure you know what we're all talking about here, don't play stupid. ;-)



     


    So an Apple product can have multiple hardware revisions over time, some supported on latest OS while others not, can have multiple chip sets, multiple screen sizes, multiple configurations of the dock connector, different cameras, some with external volume controls and some without..


     


    And yet there is NO fragmentation issue whatsoever?

  • Reply 70 of 74
    tallest skiltallest skil Posts: 43,388member


    Originally Posted by CrustyMcLovin View Post

    So an Apple product can have multiple hardware revisions over time, some supported on latest OS while others not, can have multiple chip sets, multiple screen sizes, multiple configurations of the dock connector, different cameras, some with external volume controls and some without..


     


    And yet there is NO fragmentation issue whatsoever?



     


    You're claiming there's fragmentation in the MacBook Pro line because some of them were made in 2006 while others were made in 2013?

  • Reply 71 of 74

    Quote:

    Originally Posted by CrustyMcLovin View Post


     


    So an Apple product can have multiple hardware revisions over time, some supported on latest OS while others not, can have multiple chip sets, multiple screen sizes, multiple configurations of the dock connector, different cameras, some with external volume controls and some without..


     


    And yet there is NO fragmentation issue whatsoever?



     


    The RDFs here are all turned up to 11...

  • Reply 72 of 74
    tallest skiltallest skil Posts: 43,388member


    Originally Posted by stike vomit View Post

    The RDFs here are all turned up to 11...


     


    No, really, explain how anything he's saying is 'fragmentation'.

  • Reply 73 of 74
    cyniccynic Posts: 124member

    Quote:

    Originally Posted by CrustyMcLovin View Post


     


    So an Apple product can have multiple hardware revisions over time, some supported on latest OS while others not, can have multiple chip sets, multiple screen sizes, multiple configurations of the dock connector, different cameras, some with external volume controls and some without..


     


    And yet there is NO fragmentation issue whatsoever?



     


     


    Crusty, no that's not what I am saying. Obviously you will have old devices, such as currently iPhone 1st and 2nd generation, as well as iPad first generation which do not support the latest iOS. However, that's something unavoidable and happens over time in any market. No one complains about this regarding Android either. People are just trying to twist the argument into this direction in order to supposedly find some fragmentation in the iOS market where there is really not. Also consider that Apple actually tries everything in its power not to produce fragmentation. Chipsets and screen sizes do not matter, because Apple ensured that their chipsets are compatible. And features, such as black bars (letterbox) mode for unadjusted apps, which was often laughed at by Android users is there to ensure that apps designed for certain screen sizes do not get distorted. You might find this stupid, devs appreciate it.


     


    I also recommend my long post above, where I explain some of the frustrations with Android from a development perspective. You will realise that in the iOS world it simply doesn't matter what camera the phone has, what chipset it has or what screen density it has. There is no such case as there is with Android where different chipsets lead to rendering problems because of partial OpenGL ES support, despite stating full support and so on. That's the real headache.


     


    Despite, you argue about fragmentation because of five years of incremental updates and evolution to one device series (with very little to no compatibility impact) and completely ignore how this is different from current generation devices, released today shipping in hundreds of different models, myriads of shapes and forms and with OS versions older than three years.


     


    Sorry, but the latter is clearly different from the iPhone 5 camera having a higher resolution than the iPhone 4 camera or a different SoC, which both have no impact on development.

  • Reply 74 of 74
    mikeb85mikeb85 Posts: 506member


    Just curious who here has actually tried developing an Android app?  Because if you're just making a strait Java app, it's pretty damn easy to accommodate different resolutions and such...  

Sign In or Register to comment.