>Apple is losing its advantage over Android regarding market fragmentation.
Android has 5000 devices, differing OS versions (half of the devices out there use a 2 to 3 year old OS), and differing hardware capabilities (including different qualities in stuff like sensors, some of them even being nearly useless).
And Apple is losing to that because it has "8 different" screens?
For one, you can support most of them (all iPads for example) with the exact same code plus 2 sets of bitmap assets: normal and 2x.
As for the iPhones, they transitioned without a hitch to 5 taller display, and the same will happen to 6/6+.
Actually 71/40 and "these new iPhone 6 internal aspect ratios" are just the same thing.
So, it all boils down to: 4:3 (all iPads) and 1.177 (5, 5S, 5C, 6, 6+).
3:2 is just a legacy ratio that will go away going forward as the 4S gets older. It's not a ratio they have produced iPhones with for several years now.
Testing for 5000 devices isn't much different from testing for 8 devices. At some point you stop writing and testing for every configuration separately, and start grouping them, pretty much as you describe with one code and 3-5 sets of assets (counting both bitmaps and layouts).
Not to mention Bluetooth support: 4.0 wasn't officially supported until Android 4.4 (IIRC), and you had to rely on OEM-specific libraries for Bluetooth beforehand.
Android has 5000 devices, differing OS versions (half of the devices out there use a 2 to 3 year old OS), and differing hardware capabilities (including different qualities in stuff like sensors, some of them even being nearly useless).
And Apple is losing to that because it has "8 different" screens?
For one, you can support most of them (all iPads for example) with the exact same code plus 2 sets of bitmap assets: normal and 2x.
As for the iPhones, they transitioned without a hitch to 5 taller display, and the same will happen to 6/6+.