7 ms·
Not trying to troll here, but can someone explain this "fragmentation" issue please? There's a single API for Android; there are also different versions of the
by yuriyg 14y ago
Not trying to troll here, but can someone explain this "fragmentation" issue please? There's a single API for Android; there are also different versions of the API, but there's a same issue in iOS. Is the issue the different screen resolutions? Does all the Android developement require low-level access to hardware?
- option_greek 14y agoIt refers to different Android versions on phones which results in developers being forced to test their applications against a lot of versions. Usually like in the case of iOS this would not have been a problem but Android updates are notoriously slow due to various reasons which means that most of the Android users are still stuck on gingerbread while jelly bean is already out. This means developers can't reliably take advantage of features added in newer versions of OS. Of course all this even before we consider the screen sizes.
- yuriyg 14y agoIsn't this a classic issue in software developement, where you have to require or assume some minimum OS version? Remember all those labels: "Windows 95 or higher required." And especially with web developement, where you'd have to test your site on a various number of combinations of OS, browser, and resolution.
- cageface 14y agoThe way Android layouts work and the backporting Google has done relieves a lot of this pain and you can now support only 2.3 and up and still get the majority of users. If you want to get the kind of pixel-perfect layouts people have come to expect on the iPhone then yes that's a hassle. But I suspect the trend is away from that kind of design towards more flexible, information-centric designs just as it's been on the web.
- ryanhuff 14y ago20% of Android devices in the field are 2.2 or earlier. Its hard to tell a company that they should cut out 20% of their Android users in order to take advantage of the latest APIs.
- ceejayoz 14y ago> There's a single API for Android; there are also different versions of the API, but there's a same issue in iOS. Not really, no. http://thenextweb.com/apple/2012/03/06/why-do-developers-prefer-ios-over-android-try-75-adoption-of-ios-5-while-ics-is-stuck-at-1/ http://thenextweb.com/apple/2012/03/06/why-do-developers-pre...
- X-Istence 14y agoThe biggest issue with fragmentation is the extra hardware and the screen size. The company I work for does Android development for the gov't, and we have had a lot of issues with difference in camera support for example. Yes, there is one API, but for each camera in a phone it behaves slightly differently. The worst still is the different screen sizes. It will look and work perfectly on one or two devices, and then you try it on a third and all of the elements are laid out differently or are rendered wrong and we have to add a work-around for that specific device. The other issue we have found is the different versions of the libraries that various different versions of Android ship with. For example BouncyCastle is extremely outdated, or sqlite versions differ enough that it works on one device but doesn't work on the other. We've also had issues with the phone switching between the cellular network and then wifi whereby sometimes our app will get sent up to 50 notifications in rapid fire saying it is switching between the two, which causes our app to tear down/restart the connection process. We ended up putting a timer in that waits a couple seconds and uses the last notification that came in ... That's not to say that iOS development also doesn't have its issues. I had one app that if you used the switch on the iPad for screen orientation lock that it wouldn't output sound due to the switch not being recognised correctly. A bug that still exists in the latest version of iOS, and still hasn't been fixed (here is hoping for iOS 6 (which I have not yet installed on this device), my radar got closed as duplicate). But iOS has less of an issue with fragmentation due to the fact that most of the hardware is the same, and people with iOS devices tend to upgrade en masse to the latest version when it is released so it becomes less of an issue to have an app require a new version of iOS and no longer function on older versions of iOS (although, I am still targeting iOS 4 for now when doing consulting/client work).
- MatthewPhillips 14y agoThanks for your comments. I was hoping you would elaborate on what makes the screen sizes so problematic? Web developers have had to deal with different screen sizes and different resolutions for a long time. Luckily we have CSS which makes it much easier (and especially now with media queries). Is it that Android layout doesn't give you enough control?
- 14y ago
- deleted 14y ago[deleted]
- kalid 14y agoTake a look at http://opensignalmaps.com/reports/fragmentation.php http://opensignalmaps.com/reports/fragmentation.php Android manufacturers & carriers have little incentive to get you to upgrade [Apple sidesteps them and delivers updates directly]. Do you want to target a several-years-old platform to guarantee the most access? Screen sizes are also a challenge. iOS (iPhone + iPad) has 4 different ones to choose from. Android has... a lot more than that. Fluid layouts usually don't work that well -- awkward spacing here, awkward wrapping there. Notice how many web frameworks use fixed-width columns (like Twitter Bootstrap).