It appears that in iOS 11, the App Store won't [even] allow apps to be downloaded to an iDevice that does not have the requisite iOS version and hardware to run the app.
Hasn't that been the case forever? I know that–for a while, at least–when iOS added automatic downloads that my first-gen iPad would automatically download apps that I installed to my iPhone 6. When I tried to open them, they'd just immediately crash back to the Springboard. But I thought they fixed that a while ago… If I had tried to download the app onto the iPad directly, of course, it would pop up "This app is not compatible with this hardware" or some such.
Here's what I suspect will be a surprising list of the Android enhancements that have been made available in just the past four months, totally independent of any OS update and available to almost any Google Android user regardless of OS version.
So… even more massive fragmentation than anyone could have ever otherwise imagined. Because not only can’t you guarantee they have the newest #.0 release of Android, you can’t guarantee they have any of these supplemental updates, either. How long before Android starts needing installs of the 400 versions of DirectX to get things done?
Good point, TS!
IDK how Android/Google handles matching their app store app installs to the Android version on the devise...
It appears that in iOS 11, the App Store won't [even] allow apps to be downloaded to an iDevice that does not have the requisite iOS version and hardware to run the app.
Do you want to know? The same way Apple does it. If an app isn't compatible with your phone you won't even see it listed. If you look for an app outside of your phone itself, say from your computer, Google Play will tell you what devices if any you have that it is compatible with. You can even remotely install from your computer. Is that very different from the way the App Store handles it?
The only thing that matters to anyone is how Android is crushing Apple's iOS in market share. That's all Wall Street, tech critics and the mobile industry will ever be concerned about. Android fragmentation means nothing and market share percentage means everything. All we'll ever hear about is iOS losing market share percentage to Android.
I disagree. Market share does not fund research into facial recognition or AR hardware and software. Profit does. Apple gets 90+ % of the profit in the phone industry. Investors have rewarded Apple by increasing its stock price and market valuation.
Here's what I suspect will be a surprising list of the Android enhancements that have been made available in just the past four months, totally independent of any OS update and available to almost any Google Android user regardless of OS version.
So… even more massive fragmentation than anyone could have ever otherwise imagined. Because not only can’t you guarantee they have the newest #.0 release of Android, you can’t guarantee they have any of these supplemental updates, either. How long before Android starts needing installs of the 400 versions of DirectX to get things done?
Good point, TS!
IDK how Android/Google handles matching their app store app installs to the Android version on the devise...
It appears that in iOS 11, the App Store won't [even] allow apps to be downloaded to an iDevice that does not have the requisite iOS version and hardware to run the app.
When Apple releases a new major iOS version, it is giving the developer an added set of tools, a spruced up workbench to use them on, a roadmap of deprecated devices and the rules by which supported devices will be able to use the new tools. Apple also updates old apps and provides some new ones that may or may not be dependent on the new toolset. Apple provides this yearly, for the most part, and also provides updates and enhancements in-between major releases as appropriate. It is relatively straightforward for both user and developer to differentiate support by app and by OS version.
Whatever benefits updating apps incrementally in old and deprecated OS versions is for Google and the user, it is, for the most part, a fragmented mess for developers, and likely the reason that develop first on iOS is a thing
Here's what I suspect will be a surprising list of the Android enhancements t gethat have been made available in just the past four months, totally independent of any OS update and available to almost any Google Android user regardless of OS version.
So… even more massive fragmentation than anyone could have ever otherwise imagined. Because not only can’t you guarantee they have the newest #.0 release of Android, you can’t guarantee they have any of these supplemental updates, either. How long before Android starts needing installs of the 400 versions of DirectX to get things done?
Good point, TS!
IDK how Android/Google handles matching their app store app installs to the Android version on the devise...
It appears that in iOS 11, the App Store won't [even] allow apps to be downloaded to an iDevice that does not have the requisite iOS version and hardware to run the app.
When Apple releases a new major iOS version, it is giving the developer an added set of tools, a spruced up workbench to use them on, a roadmap of deprecated devices and the rules by which supported devices will be able to use the new tools. Apple also updates old apps and provides some new ones that may or may not be dependent on the new toolset. Apple provides this yearly, for the most part, and also provides updates and enhancements in-between major releases as appropriate. It is relatively straightforward for both user and developer to differentiate support by app and by OS version.
Whatever benefits updating apps incrementally in old and deprecated OS versions is for Google and the user, it is, for the most part, a fragmented mess for developers, and likely the reason that develop first on iOS is a thing
I don't recall you mentioning that you are a developer. I think I do remember an actual developer saying that what you supposed is a big issue really isn't. But I could be wrong. If I am I'm sure a developer will chime in here pretty soon and say so.
Here's what I suspect will be a surprising list of the Android enhancements t gethat have been made available in just the past four months, totally independent of any OS update and available to almost any Google Android user regardless of OS version.
So… even more massive fragmentation than anyone could have ever otherwise imagined. Because not only can’t you guarantee they have the newest #.0 release of Android, you can’t guarantee they have any of these supplemental updates, either. How long before Android starts needing installs of the 400 versions of DirectX to get things done?
Good point, TS!
IDK how Android/Google handles matching their app store app installs to the Android version on the devise...
It appears that in iOS 11, the App Store won't [even] allow apps to be downloaded to an iDevice that does not have the requisite iOS version and hardware to run the app.
When Apple releases a new major iOS version, it is giving the developer an added set of tools, a spruced up workbench to use them on, a roadmap of deprecated devices and the rules by which supported devices will be able to use the new tools. Apple also updates old apps and provides some new ones that may or may not be dependent on the new toolset. Apple provides this yearly, for the most part, and also provides updates and enhancements in-between major releases as appropriate. It is relatively straightforward for both user and developer to differentiate support by app and by OS version.
Whatever benefits updating apps incrementally in old and deprecated OS versions is for Google and the user, it is, for the most part, a fragmented mess for developers, and likely the reason that develop first on iOS is a thing
I don't recall you mentioning that you are a developer. I think I do remember an actual developer saying that what you supposed is a big issue really isn't. But I could be wrong. If I am I'm sure a developer will chime in here pretty soon and say so.
I welcome any comments, from any of the millions of developers out there, your anecdote being a single data point.
Here's what I suspect will be a surprising list of the Android enhancements t gethat have been made available in just the past four months, totally independent of any OS update and available to almost any Google Android user regardless of OS version.
So… even more massive fragmentation than anyone could have ever otherwise imagined. Because not only can’t you guarantee they have the newest #.0 release of Android, you can’t guarantee they have any of these supplemental updates, either. How long before Android starts needing installs of the 400 versions of DirectX to get things done?
Good point, TS!
IDK how Android/Google handles matching their app store app installs to the Android version on the devise...
It appears that in iOS 11, the App Store won't [even] allow apps to be downloaded to an iDevice that does not have the requisite iOS version and hardware to run the app.
When Apple releases a new major iOS version, it is giving the developer an added set of tools, a spruced up workbench to use them on, a roadmap of deprecated devices and the rules by which supported devices will be able to use the new tools. Apple also updates old apps and provides some new ones that may or may not be dependent on the new toolset. Apple provides this yearly, for the most part, and also provides updates and enhancements in-between major releases as appropriate. It is relatively straightforward for both user and developer to differentiate support by app and by OS version.
Whatever benefits updating apps incrementally in old and deprecated OS versions is for Google and the user, it is, for the most part, a fragmented mess for developers, and likely the reason that develop first on iOS is a thing
I don't recall you mentioning that you are a developer. I think I do remember an actual developer saying that what you supposed is a big issue really isn't. But I could be wrong. If I am I'm sure a developer will chime in here pretty soon and say so.
I welcome any comments, from any of the millions of developers out there, your anecdote being a single data point.
Oh I agree with you. I just can't remember which one of our members has posted a few times that he develops for both IOS and Android. In the meantime here's another "Data point" that says it's not all that difficult to develop for Android in addition to iOS. https://thenewstack.io/scoring-comparison-android-ios-development/
Sure it probably is easier for iOS, but I still stand by my comment that it's not too much more effort to do Android (too) according to what I've read both here and on other sites. But like you I don't speak from personal knowledge.
Here's what I suspect will be a surprising list of the Android enhancements that have been made available in just the past four months, totally independent of any OS update and available to almost any Google Android user regardless of OS version.
So… even more massive fragmentation than anyone could have ever otherwise imagined. Because not only can’t you guarantee they have the newest #.0 release of Android, you can’t guarantee they have any of these supplemental updates, either. How long before Android starts needing installs of the 400 versions of DirectX to get things done?
Good point, TS!
IDK how Android/Google handles matching their app store app installs to the Android version on the devise...
It appears that in iOS 11, the App Store won't [even] allow apps to be downloaded to an iDevice that does not have the requisite iOS version and hardware to run the app.
Apple is just now doing that? Kinda surprising since it should have been easier for Apple to incorporate in the App Store than in Google Play which has done that for some time. Had no idea. Thanks.
As for ARKit that should be killer for Apple. Great work by them.
Here's what I suspect will be a surprising list of the Android enhancements t gethat have been made available in just the past four months, totally independent of any OS update and available to almost any Google Android user regardless of OS version.
So… even more massive fragmentation than anyone could have ever otherwise imagined. Because not only can’t you guarantee they have the newest #.0 release of Android, you can’t guarantee they have any of these supplemental updates, either. How long before Android starts needing installs of the 400 versions of DirectX to get things done?
Good point, TS!
IDK how Android/Google handles matching their app store app installs to the Android version on the devise...
It appears that in iOS 11, the App Store won't [even] allow apps to be downloaded to an iDevice that does not have the requisite iOS version and hardware to run the app.
When Apple releases a new major iOS version, it is giving the developer an added set of tools, a spruced up workbench to use them on, a roadmap of deprecated devices and the rules by which supported devices will be able to use the new tools. Apple also updates old apps and provides some new ones that may or may not be dependent on the new toolset. Apple provides this yearly, for the most part, and also provides updates and enhancements in-between major releases as appropriate. It is relatively straightforward for both user and developer to differentiate support by app and by OS version.
Whatever benefits updating apps incrementally in old and deprecated OS versions is for Google and the user, it is, for the most part, a fragmented mess for developers, and likely the reason that develop first on iOS is a thing
I don't recall you mentioning that you are a developer. I think I do remember an actual developer saying that what you supposed is a big issue really isn't. But I could be wrong. If I am I'm sure a developer will chime in here pretty soon and say so.
I welcome any comments, from any of the millions of developers out there, your anecdote being a single data point.
Oh I agree with you. I just can't remember which one of our members has posted a few times that he develops for both IOS and Android. In the meantime here's another "Data point" that says it's not all that difficult to develop for Android in addition to iOS. https://thenewstack.io/scoring-comparison-android-ios-development/
Sure it probably is easier for iOS, but I still stand by my comment that it's not too much more effort to do Android (too) according to what I've read both here and on other sites. But like you I don't speak from personal knowledge.
From the perspective of a developer, there's no fragmentation on Android at all.
I recommend some of the folks on this thread familiarize themselves with this thing called the Google Play Services and Android Support Libraries. Between those two frameworks, an Android developer can write an app targeting the latest version of Android while being seamlessly backward compatible all the way back to Android Gingerbread (Android 2.0). In other words, Android developers that plug their apps into those frameworks, with virtually zero effort, automagically support 90% of Android devices out there.
The folks that crow about Android's fragmentation are not only clueless, they are drunk on Apple's marketing Koolaid. Google over the years sneakily and systematically decoupled core Android and Google frameworks, interfaces, and services from the OS. The result is that today these parts of the OS are regularly updated independently of the OS.
From day one, Google was smart enough to ensure that on Android developers wrote strictly to an interface and not hard-coded assumptions about screen size, processor architecture, form factor and so on. The benefit of this architecture decision is that a well-designed Android app, sourced from a single source code, can run flawlessly on a multitude of devices regardless of screen size, SoC architecture, form-factor, or hardware configuration.
The caveat, of course, is that the developer must make no assumptions about the environment or device the app is going to run on. This is very important because it leads to my next point. (Exception: Android APIs that are not properly abstracted from low-level hardware specific stuff will give inexperienced developers headaches. The Camera API comes to mind.)
For an iOS developer delving into Android development, this is a massive cultural shock. On iOS, hard-coded assumptions about everything has been the norm until very recently. Therefore, it's no surprise the many iOS developers find Android development overwhelming. I've read too many ill-informed rants on blogs entertaining the misguided notion that Android developers have to tune to their code for every type of Android device. This forms the foundation of the Android fragmentation theory. The theory gains legs when you add the reality that for numerous unfortunate reasons Android updates on none-Google Android devices are unreliable. Connect the dots sloppily, and you can make a convincing argument that it's a waste of time to support new OS features because FRAGMENTATION.
Apple, through ingenious marketing, has perpetuated this baseless argument. The tech media, practically Apple's echo chamber, hardly needed any incentives to help birth and nurture the myth of Android fragmentation. The comments in this thread alone bear witness to this fallacy. It's the same regurgitated PR nonsense that has no bearing on reality.
If you pick up a phone running Android 4.0 and another one running Android 8.0, you'd hardly notice any difference worth talking about. There might be minor tweaks and superficial enhancements here and there. But for the most part, the experience using either device is largely the same. The compatibility shim in Google Play Services and Android Support Libraries ensure that apps don't behave any differently on Android 4.0 versus 8.0.
This is the miracle of Android. It's a feat of engineering that any this even works.
With Android O, Google takes Android another giant leap towards world domination. Not surprisingly, the tech media is too preoccupied debating dessert names, as opposed to, I don't know, documenting a well-research exposition about the fact that Android O is the most significant update to the platform since its birth. With Project Treble, Google rearchitected Android's gut to make its core components independently deployable. The goal is to push OS updates to any Android user, regardless of device, carrier, OEM, skin, or silicon. It's the last piece of the puzzle in making Android completely modular. This new-found flexibility will allow Google to develop Android independent of OEMs, Vendors, and Carriers. It won't surprise me if Android P or Q doesn't even run on Linux, but instead Fuschia, Google experimental OS.
gatorguy is right. Android and iOS are fundamentally different OSes. One OS has to cater to every conceivable use case while remaining open, flexible and customizable, the other has to cater to Apple. Anybody claiming Google and Apple face the same challenges in how they manage, design, and deploy their respective OSes, is simply entertaining a false equivalence.
The engineering challenge for Google is monumental given the inconceivable amount of variables they have to deal with, as well as the ubiquity and heterogeneity of devices that Android has to run on. The debates about update percentages are pointless in light of the fact that each OS is layered, designed, and deployed differently. Wake me up when Apple can push iOS updates to 24,000 unique devices with disparate SoCs, form factors, and hardware architectures. Then we can have a serious talk about iOS vs Android updates. Until then, enjoy your penis wagging contest.
2) I think the only completely honest sentence fragment in that entire post was "Google over the years sneakily," which can be the start of pretty much anything the company has done.
Here's what I suspect will be a surprising list of the Android enhancements t gethat have been made available in just the past four months, totally independent of any OS update and available to almost any Google Android user regardless of OS version.
So… even more massive fragmentation than anyone could have ever otherwise imagined. Because not only can’t you guarantee they have the newest #.0 release of Android, you can’t guarantee they have any of these supplemental updates, either. How long before Android starts needing installs of the 400 versions of DirectX to get things done?
Good point, TS!
IDK how Android/Google handles matching their app store app installs to the Android version on the devise...
It appears that in iOS 11, the App Store won't [even] allow apps to be downloaded to an iDevice that does not have the requisite iOS version and hardware to run the app.
When Apple releases a new major iOS version, it is giving the developer an added set of tools, a spruced up workbench to use them on, a roadmap of deprecated devices and the rules by which supported devices will be able to use the new tools. Apple also updates old apps and provides some new ones that may or may not be dependent on the new toolset. Apple provides this yearly, for the most part, and also provides updates and enhancements in-between major releases as appropriate. It is relatively straightforward for both user and developer to differentiate support by app and by OS version.
Whatever benefits updating apps incrementally in old and deprecated OS versions is for Google and the user, it is, for the most part, a fragmented mess for developers, and likely the reason that develop first on iOS is a thing
I don't recall you mentioning that you are a developer. I think I do remember an actual developer saying that what you supposed is a big issue really isn't. But I could be wrong. If I am I'm sure a developer will chime in here pretty soon and say so.
I welcome any comments, from any of the millions of developers out there, your anecdote being a single data point.
Oh I agree with you. I just can't remember which one of our members has posted a few times that he develops for both IOS and Android. In the meantime here's another "Data point" that says it's not all that difficult to develop for Android in addition to iOS. https://thenewstack.io/scoring-comparison-android-ios-development/
Sure it probably is easier for iOS, but I still stand by my comment that it's not too much more effort to do Android (too) according to what I've read both here and on other sites. But like you I don't speak from personal knowledge.
From the perspective of a developer, there's no fragmentation on Android at all.
I recommend some of the folks on this thread familiarize themselves with this thing called the Google Play Services and Android Support Libraries. Between those two frameworks, an Android developer can write an app targeting the latest version of Android while being seamlessly backward compatible all the way back to Android Gingerbread (Android 2.0). In other words, Android developers that plug their apps into those frameworks, with virtually zero effort, automagically support 90% of Android devices out there.
The folks that crow about Android's fragmentation are not only clueless, they are drunk on Apple's marketing Koolaid. Google over the years sneakily and systematically decoupled core Android and Google frameworks, interfaces, and services from the OS. The result is that today these parts of the OS are regularly updated independently of the OS.
From day one, Google was smart enough to ensure that on Android developers wrote strictly to an interface and not hard-coded assumptions about screen size, processor architecture, form factor and so on. The benefit of this architecture decision is that a well-designed Android app, sourced from a single source code, can run flawlessly on a multitude of devices regardless of screen size, SoC architecture, form-factor, or hardware configuration.
The caveat, of course, is that the developer must make no assumptions about the environment or device the app is going to run on. This is very important because it leads to my next point. (Exception: Android APIs that are not properly abstracted from low-level hardware specific stuff will give inexperienced developers headaches. The Camera API comes to mind.)
For an iOS developer delving into Android development, this is a massive cultural shock. On iOS, hard-coded assumptions about everything has been the norm until very recently. Therefore, it's no surprise the many iOS developers find Android development overwhelming. I've read too many ill-informed rants on blogs entertaining the misguided notion that Android developers have to tune to their code for every type of Android device. This forms the foundation of the Android fragmentation theory. The theory gains legs when you add the reality that for numerous unfortunate reasons Android updates on none-Google Android devices are unreliable. Connect the dots sloppily, and you can make a convincing argument that it's a waste of time to support new OS features because FRAGMENTATION.
Apple, through ingenious marketing, has perpetuated this baseless argument. The tech media, practically Apple's echo chamber, hardly needed any incentives to help birth and nurture the myth of Android fragmentation. The comments in this thread alone bear witness to this fallacy. It's the same regurgitated PR nonsense that has no bearing on reality.
If you pick up a phone running Android 4.0 and another one running Android 8.0, you'd hardly notice any difference worth talking about. There might be minor tweaks and superficial enhancements here and there. But for the most part, the experience using either device is largely the same. The compatibility shim in Google Play Services and Android Support Libraries ensure that apps don't behave any differently on Android 4.0 versus 8.0.
This is the miracle of Android. It's a feat of engineering that any this even works.
With Android O, Google takes Android another giant leap towards world domination. Not surprisingly, the tech media is too preoccupied debating dessert names, as opposed to, I don't know, documenting a well-research exposition about the fact that Android O is the most significant update to the platform since its birth. With Project Treble, Google rearchitected Android's gut to make its core components independently deployable. The goal is to push OS updates to any Android user, regardless of device, carrier, OEM, skin, or silicon. It's the last piece of the puzzle in making Android completely modular. This new-found flexibility will allow Google to develop Android independent of OEMs, Vendors, and Carriers. It won't surprise me if Android P or Q doesn't even run on Linux, but instead Fuschia, Google experimental OS.
gatorguy is right. Android and iOS are fundamentally different OSes. One OS has to cater to every conceivable use case while remaining open, flexible and customizable, the other has to cater to Apple. Anybody claiming Google and Apple face the same challenges in how they manage, design, and deploy their respective OSes, is simply entertaining a false equivalence.
The engineering challenge for Google is monumental given the inconceivable amount of variables they have to deal with, as well as the ubiquity and heterogeneity of devices that Android has to run on. The debates about update percentages are pointless in light of the fact that each OS is layered, designed, and deployed differently. Wake me up when Apple can push iOS updates to 24,000 unique devices with disparate SoCs, form factors, and hardware architectures. Then we can have a serious talk about iOS vs Android updates. Until then, enjoy your penis wagging contest.
Funny how actual, devs, on line, the ones making money usually code on both platforms yet you just build a big ass strawman befuddled IOS dev.
They absolutely say its fragmented, yet your ass pull.. says the opposite with "facts" that don't match reality on the ground.
Who the frack is confused by Android development except complete neophytes.
Devs don't put as much effort into Android because they have better return on investment elsewhere. That's the reason.
If no one is developing to the higher specs features, because most users are in hell compatibility mode (as stats show), well it is considered fragmented.
The possibility may exist but no one's going to put their apps using the latest tech on the lowest device cause that makes no god damn sense for those user's perspective and the bad performance will lead to bad word of mouth and bad sales.
Despite having much less devices out there, IOS devs still making just about the same money.
Money is a great motivator to do things and if the ROI matched your mouthing off, that wouldn't be the case.
Compatibility shims are a recipe for shit performance and millions of bugs, but hey its a miracle all right, praise the lord and light up the candles, it actually sorta works.
Here's what I suspect will be a surprising list of the Android enhancements t gethat have been made available in just the past four months, totally independent of any OS update and available to almost any Google Android user regardless of OS version.
So… even more massive fragmentation than anyone could have ever otherwise imagined. Because not only can’t you guarantee they have the newest #.0 release of Android, you can’t guarantee they have any of these supplemental updates, either. How long before Android starts needing installs of the 400 versions of DirectX to get things done?
Good point, TS!
IDK how Android/Google handles matching their app store app installs to the Android version on the devise...
It appears that in iOS 11, the App Store won't [even] allow apps to be downloaded to an iDevice that does not have the requisite iOS version and hardware to run the app.
When Apple releases a new major iOS version, it is giving the developer an added set of tools, a spruced up workbench to use them on, a roadmap of deprecated devices and the rules by which supported devices will be able to use the new tools. Apple also updates old apps and provides some new ones that may or may not be dependent on the new toolset. Apple provides this yearly, for the most part, and also provides updates and enhancements in-between major releases as appropriate. It is relatively straightforward for both user and developer to differentiate support by app and by OS version.
Whatever benefits updating apps incrementally in old and deprecated OS versions is for Google and the user, it is, for the most part, a fragmented mess for developers, and likely the reason that develop first on iOS is a thing
I don't recall you mentioning that you are a developer. I think I do remember an actual developer saying that what you supposed is a big issue really isn't. But I could be wrong. If I am I'm sure a developer will chime in here pretty soon and say so.
I welcome any comments, from any of the millions of developers out there, your anecdote being a single data point.
Oh I agree with you. I just can't remember which one of our members has posted a few times that he develops for both IOS and Android. In the meantime here's another "Data point" that says it's not all that difficult to develop for Android in addition to iOS. https://thenewstack.io/scoring-comparison-android-ios-development/
Sure it probably is easier for iOS, but I still stand by my comment that it's not too much more effort to do Android (too) according to what I've read both here and on other sites. But like you I don't speak from personal knowledge.
From the perspective of a developer, there's no fragmentation on Android at all.
I recommend some of the folks on this thread familiarize themselves with this thing called the Google Play Services and Android Support Libraries. Between those two frameworks, an Android developer can write an app targeting the latest version of Android while being seamlessly backward compatible all the way back to Android Gingerbread (Android 2.0). In other words, Android developers that plug their apps into those frameworks, with virtually zero effort, automagically support 90% of Android devices out there.
The folks that crow about Android's fragmentation are not only clueless, they are drunk on Apple's marketing Koolaid. Google over the years sneakily and systematically decoupled core Android and Google frameworks, interfaces, and services from the OS. The result is that today these parts of the OS are regularly updated independently of the OS.
From day one, Google was smart enough to ensure that on Android developers wrote strictly to an interface and not hard-coded assumptions about screen size, processor architecture, form factor and so on. The benefit of this architecture decision is that a well-designed Android app, sourced from a single source code, can run flawlessly on a multitude of devices regardless of screen size, SoC architecture, form-factor, or hardware configuration.
The caveat, of course, is that the developer must make no assumptions about the environment or device the app is going to run on. This is very important because it leads to my next point. (Exception: Android APIs that are not properly abstracted from low-level hardware specific stuff will give inexperienced developers headaches. The Camera API comes to mind.)
For an iOS developer delving into Android development, this is a massive cultural shock. On iOS, hard-coded assumptions about everything has been the norm until very recently. Therefore, it's no surprise the many iOS developers find Android development overwhelming. I've read too many ill-informed rants on blogs entertaining the misguided notion that Android developers have to tune to their code for every type of Android device. This forms the foundation of the Android fragmentation theory. The theory gains legs when you add the reality that for numerous unfortunate reasons Android updates on none-Google Android devices are unreliable. Connect the dots sloppily, and you can make a convincing argument that it's a waste of time to support new OS features because FRAGMENTATION.
Apple, through ingenious marketing, has perpetuated this baseless argument. The tech media, practically Apple's echo chamber, hardly needed any incentives to help birth and nurture the myth of Android fragmentation. The comments in this thread alone bear witness to this fallacy. It's the same regurgitated PR nonsense that has no bearing on reality.
If you pick up a phone running Android 4.0 and another one running Android 8.0, you'd hardly notice any difference worth talking about. There might be minor tweaks and superficial enhancements here and there. But for the most part, the experience using either device is largely the same. The compatibility shim in Google Play Services and Android Support Libraries ensure that apps don't behave any differently on Android 4.0 versus 8.0.
This is the miracle of Android. It's a feat of engineering that any this even works.
With Android O, Google takes Android another giant leap towards world domination. Not surprisingly, the tech media is too preoccupied debating dessert names, as opposed to, I don't know, documenting a well-research exposition about the fact that Android O is the most significant update to the platform since its birth. With Project Treble, Google rearchitected Android's gut to make its core components independently deployable. The goal is to push OS updates to any Android user, regardless of device, carrier, OEM, skin, or silicon. It's the last piece of the puzzle in making Android completely modular. This new-found flexibility will allow Google to develop Android independent of OEMs, Vendors, and Carriers. It won't surprise me if Android P or Q doesn't even run on Linux, but instead Fuschia, Google experimental OS.
gatorguy is right. Android and iOS are fundamentally different OSes. One OS has to cater to every conceivable use case while remaining open, flexible and customizable, the other has to cater to Apple. Anybody claiming Google and Apple face the same challenges in how they manage, design, and deploy their respective OSes, is simply entertaining a false equivalence.
The engineering challenge for Google is monumental given the inconceivable amount of variables they have to deal with, as well as the ubiquity and heterogeneity of devices that Android has to run on. The debates about update percentages are pointless in light of the fact that each OS is layered, designed, and deployed differently. Wake me up when Apple can push iOS updates to 24,000 unique devices with disparate SoCs, form factors, and hardware architectures. Then we can have a serious talk about iOS vs Android updates. Until then, enjoy your penis wagging contest.
The caveat, of course, is that the developer must make no assumptions about the environment or device the app is going to run on.
No shit Sherlock! I'm guessing that means the least common denominator, so throw out all of those so called "brilliant and innovative" features from each OEM, or, provide all that additional development and support to make that happen.
Apple and it's developer's, on the other hand, have to make no assumptions about any device. This is the miracle of Android. It's a feat of engineering that any this even works. "With Android O, Google takes Android another giant leap towards world domination"
Oh FFS.
This is what world domination looks like:
Apple will deliver AR apps to an existing user base of some 500 million compatible iPhones beginning in September.
That goes back three years, four generations of iPhones as of this September. So, of course, the AR experience will differ between generations, but I'm guessing that it will at least be an acceptable experience on an iPhone 6 or SE.
Google wishes that it could do the same with Tango, but, no, not even close, because, caveat.
Here's what I suspect will be a surprising list of the Android enhancements t gethat have been made available in just the past four months, totally independent of any OS update and available to almost any Google Android user regardless of OS version.
So… even more massive fragmentation than anyone could have ever otherwise imagined. Because not only can’t you guarantee they have the newest #.0 release of Android, you can’t guarantee they have any of these supplemental updates, either. How long before Android starts needing installs of the 400 versions of DirectX to get things done?
Good point, TS!
IDK how Android/Google handles matching their app store app installs to the Android version on the devise...
It appears that in iOS 11, the App Store won't [even] allow apps to be downloaded to an iDevice that does not have the requisite iOS version and hardware to run the app.
When Apple releases a new major iOS version, it is giving the developer an added set of tools, a spruced up workbench to use them on, a roadmap of deprecated devices and the rules by which supported devices will be able to use the new tools. Apple also updates old apps and provides some new ones that may or may not be dependent on the new toolset. Apple provides this yearly, for the most part, and also provides updates and enhancements in-between major releases as appropriate. It is relatively straightforward for both user and developer to differentiate support by app and by OS version.
Whatever benefits updating apps incrementally in old and deprecated OS versions is for Google and the user, it is, for the most part, a fragmented mess for developers, and likely the reason that develop first on iOS is a thing
I don't recall you mentioning that you are a developer. I think I do remember an actual developer saying that what you supposed is a big issue really isn't. But I could be wrong. If I am I'm sure a developer will chime in here pretty soon and say so.
I welcome any comments, from any of the millions of developers out there, your anecdote being a single data point.
Oh I agree with you. I just can't remember which one of our members has posted a few times that he develops for both IOS and Android. In the meantime here's another "Data point" that says it's not all that difficult to develop for Android in addition to iOS. https://thenewstack.io/scoring-comparison-android-ios-development/
Sure it probably is easier for iOS, but I still stand by my comment that it's not too much more effort to do Android (too) according to what I've read both here and on other sites. But like you I don't speak from personal knowledge.
From the perspective of a developer, there's no fragmentation on Android at all.
I recommend some of the folks on this thread familiarize themselves with this thing called the Google Play Services and Android Support Libraries. Between those two frameworks, an Android developer can write an app targeting the latest version of Android while being seamlessly backward compatible all the way back to Android Gingerbread (Android 2.0). In other words, Android developers that plug their apps into those frameworks, with virtually zero effort, automagically support 90% of Android devices out there.
The folks that crow about Android's fragmentation are not only clueless, they are drunk on Apple's marketing Koolaid. Google over the years sneakily and systematically decoupled core Android and Google frameworks, interfaces, and services from the OS. The result is that today these parts of the OS are regularly updated independently of the OS.
From day one, Google was smart enough to ensure that on Android developers wrote strictly to an interface and not hard-coded assumptions about screen size, processor architecture, form factor and so on. The benefit of this architecture decision is that a well-designed Android app, sourced from a single source code, can run flawlessly on a multitude of devices regardless of screen size, SoC architecture, form-factor, or hardware configuration.
The caveat, of course, is that the developer must make no assumptions about the environment or device the app is going to run on. This is very important because it leads to my next point. (Exception: Android APIs that are not properly abstracted from low-level hardware specific stuff will give inexperienced developers headaches. The Camera API comes to mind.)
For an iOS developer delving into Android development, this is a massive cultural shock. On iOS, hard-coded assumptions about everything has been the norm until very recently. Therefore, it's no surprise the many iOS developers find Android development overwhelming. I've read too many ill-informed rants on blogs entertaining the misguided notion that Android developers have to tune to their code for every type of Android device. This forms the foundation of the Android fragmentation theory. The theory gains legs when you add the reality that for numerous unfortunate reasons Android updates on none-Google Android devices are unreliable. Connect the dots sloppily, and you can make a convincing argument that it's a waste of time to support new OS features because FRAGMENTATION.
Apple, through ingenious marketing, has perpetuated this baseless argument. The tech media, practically Apple's echo chamber, hardly needed any incentives to help birth and nurture the myth of Android fragmentation. The comments in this thread alone bear witness to this fallacy. It's the same regurgitated PR nonsense that has no bearing on reality.
If you pick up a phone running Android 4.0 and another one running Android 8.0, you'd hardly notice any difference worth talking about. There might be minor tweaks and superficial enhancements here and there. But for the most part, the experience using either device is largely the same. The compatibility shim in Google Play Services and Android Support Libraries ensure that apps don't behave any differently on Android 4.0 versus 8.0.
This is the miracle of Android. It's a feat of engineering that any this even works.
With Android O, Google takes Android another giant leap towards world domination. Not surprisingly, the tech media is too preoccupied debating dessert names, as opposed to, I don't know, documenting a well-research exposition about the fact that Android O is the most significant update to the platform since its birth. With Project Treble, Google rearchitected Android's gut to make its core components independently deployable. The goal is to push OS updates to any Android user, regardless of device, carrier, OEM, skin, or silicon. It's the last piece of the puzzle in making Android completely modular. This new-found flexibility will allow Google to develop Android independent of OEMs, Vendors, and Carriers. It won't surprise me if Android P or Q doesn't even run on Linux, but instead Fuschia, Google experimental OS.
gatorguy is right. Android and iOS are fundamentally different OSes. One OS has to cater to every conceivable use case while remaining open, flexible and customizable, the other has to cater to Apple. Anybody claiming Google and Apple face the same challenges in how they manage, design, and deploy their respective OSes, is simply entertaining a false equivalence.
The engineering challenge for Google is monumental given the inconceivable amount of variables they have to deal with, as well as the ubiquity and heterogeneity of devices that Android has to run on. The debates about update percentages are pointless in light of the fact that each OS is layered, designed, and deployed differently. Wake me up when Apple can push iOS updates to 24,000 unique devices with disparate SoCs, form factors, and hardware architectures. Then we can have a serious talk about iOS vs Android updates. Until then, enjoy your penis wagging contest.
Devs don't put as much effort into Android because they have better return on investment elsewhere. That's the reason.
And there ya' go. You and I actually agree. It's not so much the far overplayed "fragmentation" but money. Depending on the type of app they may see far faster monetization via the App Store, tho I'm certain the opposite is also true in some cases.
EDIT: Begin related rant: Of course it's not a news-flash that people who have more disposable income tend to spend more money, and think less about the opportunity costs of doing so. Buying a $10 app that you might use once and never again is no big deal if you have plenty of food for the kids and a good roof. Even spending a Grand on a phone is a pittance for many so they don't necessarily consider needs, just wants. Heck I've personally spent 10's of thousands on things that in hindsight I didn't put to much use. In my younger days I thought it was a reflection of my success and proof of my stature. Flashy car. The latest cool electronics. Big vacations and big tips. In truth I was supercilious (haughty for those who are unfamiliar with the word). I thought my possessions were proof of my human value. I've got more and it's shinier so you're I'm a better man than you and should be treated as such. How wrong I was but not smart enough at the time to see it.
It very often creates a disconnect from society as a whole when you don't have money concerns other than wanting more for the sake of it. You tend to forget, or maybe never knew, what it's like having to make important choices because of real-life financial constraints. Most people would not choose to be poor (but I've personally known two exceptions), nor are the wealthy because of their stash any more intelligent or even talented than some of the less-fortunate IMHO. "Right place at the right time" (which includes which family you are born into and where) can trump talent and intelligence. You can't choose your mother and father.
IMO a knee-jerk reaction of ridiculing others for their choice of electronic device is an incredible show of arrogance and pompousness when you have no idea of the rationale behind it. Is it smart for a young father of two earning $35K to spend $700 on an iPhone? I would suggest in most cases it is not. But buying a lower-priced device like a $300 Android (or nothing at all!) because of more important goals and needs in his life shows he's not as stupid as some would automatically say he is. And yes there's far more working-class people than well-to-do where making smarter choices when it comes to spending is a need not a want. /Rant over
Here's what I suspect will be a surprising list of the Android enhancements t gethat have been made available in just the past four months, totally independent of any OS update and available to almost any Google Android user regardless of OS version.
So… even more massive fragmentation than anyone could have ever otherwise imagined. Because not only can’t you guarantee they have the newest #.0 release of Android, you can’t guarantee they have any of these supplemental updates, either. How long before Android starts needing installs of the 400 versions of DirectX to get things done?
Good point, TS!
IDK how Android/Google handles matching their app store app installs to the Android version on the devise...
It appears that in iOS 11, the App Store won't [even] allow apps to be downloaded to an iDevice that does not have the requisite iOS version and hardware to run the app.
When Apple releases a new major iOS version, it is giving the developer an added set of tools, a spruced up workbench to use them on, a roadmap of deprecated devices and the rules by which supported devices will be able to use the new tools. Apple also updates old apps and provides some new ones that may or may not be dependent on the new toolset. Apple provides this yearly, for the most part, and also provides updates and enhancements in-between major releases as appropriate. It is relatively straightforward for both user and developer to differentiate support by app and by OS version.
Whatever benefits updating apps incrementally in old and deprecated OS versions is for Google and the user, it is, for the most part, a fragmented mess for developers, and likely the reason that develop first on iOS is a thing
I don't recall you mentioning that you are a developer. I think I do remember an actual developer saying that what you supposed is a big issue really isn't. But I could be wrong. If I am I'm sure a developer will chime in here pretty soon and say so.
I welcome any comments, from any of the millions of developers out there, your anecdote being a single data point.
Oh I agree with you. I just can't remember which one of our members has posted a few times that he develops for both IOS and Android. In the meantime here's another "Data point" that says it's not all that difficult to develop for Android in addition to iOS. https://thenewstack.io/scoring-comparison-android-ios-development/
Sure it probably is easier for iOS, but I still stand by my comment that it's not too much more effort to do Android (too) according to what I've read both here and on other sites. But like you I don't speak from personal knowledge.
From the perspective of a developer, there's no fragmentation on Android at all.
I recommend some of the folks on this thread familiarize themselves with this thing called the Google Play Services and Android Support Libraries. Between those two frameworks, an Android developer can write an app targeting the latest version of Android while being seamlessly backward compatible all the way back to Android Gingerbread (Android 2.0). In other words, Android developers that plug their apps into those frameworks, with virtually zero effort, automagically support 90% of Android devices out there.
The folks that crow about Android's fragmentation are not only clueless, they are drunk on Apple's marketing Koolaid. Google over the years sneakily and systematically decoupled core Android and Google frameworks, interfaces, and services from the OS. The result is that today these parts of the OS are regularly updated independently of the OS.
From day one, Google was smart enough to ensure that on Android developers wrote strictly to an interface and not hard-coded assumptions about screen size, processor architecture, form factor and so on. The benefit of this architecture decision is that a well-designed Android app, sourced from a single source code, can run flawlessly on a multitude of devices regardless of screen size, SoC architecture, form-factor, or hardware configuration.
The caveat, of course, is that the developer must make no assumptions about the environment or device the app is going to run on. This is very important because it leads to my next point. (Exception: Android APIs that are not properly abstracted from low-level hardware specific stuff will give inexperienced developers headaches. The Camera API comes to mind.)
For an iOS developer delving into Android development, this is a massive cultural shock. On iOS, hard-coded assumptions about everything has been the norm until very recently. Therefore, it's no surprise the many iOS developers find Android development overwhelming. I've read too many ill-informed rants on blogs entertaining the misguided notion that Android developers have to tune to their code for every type of Android device. This forms the foundation of the Android fragmentation theory. The theory gains legs when you add the reality that for numerous unfortunate reasons Android updates on none-Google Android devices are unreliable. Connect the dots sloppily, and you can make a convincing argument that it's a waste of time to support new OS features because FRAGMENTATION.
Apple, through ingenious marketing, has perpetuated this baseless argument. The tech media, practically Apple's echo chamber, hardly needed any incentives to help birth and nurture the myth of Android fragmentation. The comments in this thread alone bear witness to this fallacy. It's the same regurgitated PR nonsense that has no bearing on reality.
If you pick up a phone running Android 4.0 and another one running Android 8.0, you'd hardly notice any difference worth talking about. There might be minor tweaks and superficial enhancements here and there. But for the most part, the experience using either device is largely the same. The compatibility shim in Google Play Services and Android Support Libraries ensure that apps don't behave any differently on Android 4.0 versus 8.0.
This is the miracle of Android. It's a feat of engineering that any this even works.
With Android O, Google takes Android another giant leap towards world domination. Not surprisingly, the tech media is too preoccupied debating dessert names, as opposed to, I don't know, documenting a well-research exposition about the fact that Android O is the most significant update to the platform since its birth. With Project Treble, Google rearchitected Android's gut to make its core components independently deployable. The goal is to push OS updates to any Android user, regardless of device, carrier, OEM, skin, or silicon. It's the last piece of the puzzle in making Android completely modular. This new-found flexibility will allow Google to develop Android independent of OEMs, Vendors, and Carriers. It won't surprise me if Android P or Q doesn't even run on Linux, but instead Fuschia, Google experimental OS.
gatorguy is right. Android and iOS are fundamentally different OSes. One OS has to cater to every conceivable use case while remaining open, flexible and customizable, the other has to cater to Apple. Anybody claiming Google and Apple face the same challenges in how they manage, design, and deploy their respective OSes, is simply entertaining a false equivalence.
The engineering challenge for Google is monumental given the inconceivable amount of variables they have to deal with, as well as the ubiquity and heterogeneity of devices that Android has to run on. The debates about update percentages are pointless in light of the fact that each OS is layered, designed, and deployed differently. Wake me up when Apple can push iOS updates to 24,000 unique devices with disparate SoCs, form factors, and hardware architectures. Then we can have a serious talk about iOS vs Android updates. Until then, enjoy your penis wagging contest.
Devs don't put as much effort into Android because they have better return on investment elsewhere. That's the reason.
And there ya' go. You and I actually agree. It's not so much the far overplayed "fragmentation" but money. Depending on the type of app they may see far faster monetization via the App Store, tho I'm certain the opposite is also true in some cases.
EDIT: Begin related rant: Of course it's not a news-flash that people who have more disposable income tend to spend more money, and think less about the opportunity costs of doing so. Buying a $10 app that you might use once and never again is no big deal if you have plenty of food for the kids and a good roof. Even spending a Grand on a phone is a pittance for many so they don't necessarily consider needs, just wants. Heck I've personally spent 10's of thousands on things that in hindsight I didn't put to much use. In my younger days I thought it was a reflection of my success and proof of my stature. Flashy car. The latest cool electronics. Big vacations and big tips. In truth I was supercilious (haughty for those who are unfamiliar with the word). I thought my possessions were proof of my human value. I've got more and it's shinier so you're I'm a better man than you and should be treated as such. How wrong I was but not smart enough at the time to see it.
It very often creates a disconnect from society as a whole when you don't have money concerns other than wanting more for the sake of it. You tend to forget, or maybe never knew, what it's like having to make important choices because of real-life financial constraints. Most people would not choose to be poor (but I've personally known two exceptions), nor are the wealthy because of their stash any more intelligent or even talented than some of the less-fortunate IMHO. "Right place at the right time" (which includes which family you are born into and where) can trump talent and intelligence. You can't choose your mother and father.
IMO a knee-jerk reaction of ridiculing others for their choice of electronic device is an incredible show of arrogance and pompousness when you have no idea of the rationale behind it. Is it smart for a young father of two earning $35K to spend $700 on an iPhone? I would suggest in most cases it is not. But buying a lower-priced device like a $300 Android (or nothing at all!) because of more important goals and needs in his life shows he's not as stupid as some would automatically say he is. And yes there's far more working-class people than well-to-do where making smarter choices when it comes to spending is a need not a want. /Rant over
Even that is a myth.
The last 4 projects I worked on saw more engagement, downloads and revenue on Android than on iOS.
If your sales campaign targets the top 15% of the most engaged Android users, you'll EASILY make more money on Android than iOS.
If you approach monetization on Android the same way you do on iOS, well that's your bad. If you invest 95% of your development and marketing budget on iOS, don't be befuddled when your Android campaign isn't doing so hot.
The tools, ecosystem, and user base to make money of Android are there. However, it's not enough to dump a half-baked port of your iOS app on the Google Play Store and expect any success.
The people that are willing to pay for your app on Android can see through lackluster effort and will not reward it.
I tell my clients with an iOS bias, if you target the top 5% of the most engaged Android users, it's the equivalent of targeting 90% of the iOS market share. That often helps put things in vivid perspective for most of them.
Finally, the tools for targeting, analytics, and Telemetrics from Google are an order of magnitude more sophisticated than anything Apple has to offer. The result is that I've seen too many iOS-biased dev shops making assumptions based on hunches, or App Annie, instead of real data from their services.
You should take everything you read on blogs about monetization on either platform with a huge grain of salt. Most of what I've read just doesn't reflect my experience. The fragmentation theory is a myth. But so is the monetization theory.
Here's what I suspect will be a surprising list of the Android enhancements t gethat have been made available in just the past four months, totally independent of any OS update and available to almost any Google Android user regardless of OS version.
So… even more massive fragmentation than anyone could have ever otherwise imagined. Because not only can’t you guarantee they have the newest #.0 release of Android, you can’t guarantee they have any of these supplemental updates, either. How long before Android starts needing installs of the 400 versions of DirectX to get things done?
Good point, TS!
IDK how Android/Google handles matching their app store app installs to the Android version on the devise...
It appears that in iOS 11, the App Store won't [even] allow apps to be downloaded to an iDevice that does not have the requisite iOS version and hardware to run the app.
When Apple releases a new major iOS version, it is giving the developer an added set of tools, a spruced up workbench to use them on, a roadmap of deprecated devices and the rules by which supported devices will be able to use the new tools. Apple also updates old apps and provides some new ones that may or may not be dependent on the new toolset. Apple provides this yearly, for the most part, and also provides updates and enhancements in-between major releases as appropriate. It is relatively straightforward for both user and developer to differentiate support by app and by OS version.
Whatever benefits updating apps incrementally in old and deprecated OS versions is for Google and the user, it is, for the most part, a fragmented mess for developers, and likely the reason that develop first on iOS is a thing
I don't recall you mentioning that you are a developer. I think I do remember an actual developer saying that what you supposed is a big issue really isn't. But I could be wrong. If I am I'm sure a developer will chime in here pretty soon and say so.
I am the owner of an app development company that makes apps both for iOS and for Android, and in terms of supporting multiple devices and multiple OS versions, there is not a lot of difference between iOS and Android. Up to an iPhone 4 there was a 1 iPad and 1 iPhone format, which could be targeted, while we had to support a big number of Android screen resolutions. But times have changed; now you have to take a multi resolution developement approach on iOS as well. (and the development support for multi resolution is better on Android) Because our customers are asking apps on both platforms, we typically have to stick the least common denominator wrt to features: our apps will not make use of the APIs that are only available on one of the two platforms, if there is no work around on the other platfrom. The only notable exception we have developed is on Android for a NFC based payment that was embedded in a loyalty points app of a supermarket. We don't do anything special for older versions of Android (<5.0) . If it works, fine. If it doesn't it is time for the user to buy a new device (they are less expensive)
Here's what I suspect will be a surprising list of the Android enhancements t gethat have been made available in just the past four months, totally independent of any OS update and available to almost any Google Android user regardless of OS version.
So… even more massive fragmentation than anyone could have ever otherwise imagined. Because not only can’t you guarantee they have the newest #.0 release of Android, you can’t guarantee they have any of these supplemental updates, either. How long before Android starts needing installs of the 400 versions of DirectX to get things done?
Good point, TS!
IDK how Android/Google handles matching their app store app installs to the Android version on the devise...
It appears that in iOS 11, the App Store won't [even] allow apps to be downloaded to an iDevice that does not have the requisite iOS version and hardware to run the app.
When Apple releases a new major iOS version, it is giving the developer an added set of tools, a spruced up workbench to use them on, a roadmap of deprecated devices and the rules by which supported devices will be able to use the new tools. Apple also updates old apps and provides some new ones that may or may not be dependent on the new toolset. Apple provides this yearly, for the most part, and also provides updates and enhancements in-between major releases as appropriate. It is relatively straightforward for both user and developer to differentiate support by app and by OS version.
Whatever benefits updating apps incrementally in old and deprecated OS versions is for Google and the user, it is, for the most part, a fragmented mess for developers, and likely the reason that develop first on iOS is a thing
I don't recall you mentioning that you are a developer. I think I do remember an actual developer saying that what you supposed is a big issue really isn't. But I could be wrong. If I am I'm sure a developer will chime in here pretty soon and say so.
I welcome any comments, from any of the millions of developers out there, your anecdote being a single data point.
Oh I agree with you. I just can't remember which one of our members has posted a few times that he develops for both IOS and Android. In the meantime here's another "Data point" that says it's not all that difficult to develop for Android in addition to iOS. https://thenewstack.io/scoring-comparison-android-ios-development/
Sure it probably is easier for iOS, but I still stand by my comment that it's not too much more effort to do Android (too) according to what I've read both here and on other sites. But like you I don't speak from personal knowledge.
From the perspective of a developer, there's no fragmentation on Android at all.
I recommend some of the folks on this thread familiarize themselves with this thing called the Google Play Services and Android Support Libraries. Between those two frameworks, an Android developer can write an app targeting the latest version of Android while being seamlessly backward compatible all the way back to Android Gingerbread (Android 2.0). In other words, Android developers that plug their apps into those frameworks, with virtually zero effort, automagically support 90% of Android devices out there.
The folks that crow about Android's fragmentation are not only clueless, they are drunk on Apple's marketing Koolaid. Google over the years sneakily and systematically decoupled core Android and Google frameworks, interfaces, and services from the OS. The result is that today these parts of the OS are regularly updated independently of the OS.
From day one, Google was smart enough to ensure that on Android developers wrote strictly to an interface and not hard-coded assumptions about screen size, processor architecture, form factor and so on. The benefit of this architecture decision is that a well-designed Android app, sourced from a single source code, can run flawlessly on a multitude of devices regardless of screen size, SoC architecture, form-factor, or hardware configuration.
The caveat, of course, is that the developer must make no assumptions about the environment or device the app is going to run on. This is very important because it leads to my next point. (Exception: Android APIs that are not properly abstracted from low-level hardware specific stuff will give inexperienced developers headaches. The Camera API comes to mind.)
For an iOS developer delving into Android development, this is a massive cultural shock. On iOS, hard-coded assumptions about everything has been the norm until very recently. Therefore, it's no surprise the many iOS developers find Android development overwhelming. I've read too many ill-informed rants on blogs entertaining the misguided notion that Android developers have to tune to their code for every type of Android device. This forms the foundation of the Android fragmentation theory. The theory gains legs when you add the reality that for numerous unfortunate reasons Android updates on none-Google Android devices are unreliable. Connect the dots sloppily, and you can make a convincing argument that it's a waste of time to support new OS features because FRAGMENTATION.
Apple, through ingenious marketing, has perpetuated this baseless argument. The tech media, practically Apple's echo chamber, hardly needed any incentives to help birth and nurture the myth of Android fragmentation. The comments in this thread alone bear witness to this fallacy. It's the same regurgitated PR nonsense that has no bearing on reality.
If you pick up a phone running Android 4.0 and another one running Android 8.0, you'd hardly notice any difference worth talking about. There might be minor tweaks and superficial enhancements here and there. But for the most part, the experience using either device is largely the same. The compatibility shim in Google Play Services and Android Support Libraries ensure that apps don't behave any differently on Android 4.0 versus 8.0.
This is the miracle of Android. It's a feat of engineering that any this even works.
With Android O, Google takes Android another giant leap towards world domination. Not surprisingly, the tech media is too preoccupied debating dessert names, as opposed to, I don't know, documenting a well-research exposition about the fact that Android O is the most significant update to the platform since its birth. With Project Treble, Google rearchitected Android's gut to make its core components independently deployable. The goal is to push OS updates to any Android user, regardless of device, carrier, OEM, skin, or silicon. It's the last piece of the puzzle in making Android completely modular. This new-found flexibility will allow Google to develop Android independent of OEMs, Vendors, and Carriers. It won't surprise me if Android P or Q doesn't even run on Linux, but instead Fuschia, Google experimental OS.
gatorguy is right. Android and iOS are fundamentally different OSes. One OS has to cater to every conceivable use case while remaining open, flexible and customizable, the other has to cater to Apple. Anybody claiming Google and Apple face the same challenges in how they manage, design, and deploy their respective OSes, is simply entertaining a false equivalence.
The engineering challenge for Google is monumental given the inconceivable amount of variables they have to deal with, as well as the ubiquity and heterogeneity of devices that Android has to run on. The debates about update percentages are pointless in light of the fact that each OS is layered, designed, and deployed differently. Wake me up when Apple can push iOS updates to 24,000 unique devices with disparate SoCs, form factors, and hardware architectures. Then we can have a serious talk about iOS vs Android updates. Until then, enjoy your penis wagging contest.
Funny how actual, devs, on line, the ones making money usually code on both platforms yet you just build a big ass strawman befuddled IOS dev.
They absolutely say its fragmented, yet your ass pull.. says the opposite with "facts" that don't match reality on the ground.
Who the frack is confused by Android development except complete neophytes.
Devs don't put as much effort into Android because they have better return on investment elsewhere. That's the reason.
If no one is developing to the higher specs features, because most users are in hell compatibility mode (as stats show), well it is considered fragmented.
The possibility may exist but no one's going to put their apps using the latest tech on the lowest device cause that makes no god damn sense for those user's perspective and the bad performance will lead to bad word of mouth and bad sales.
Despite having much less devices out there, IOS devs still making just about the same money.
Money is a great motivator to do things and if the ROI matched your mouthing off, that wouldn't be the case.
Compatibility shims are a recipe for shit performance and millions of bugs, but hey its a miracle all right, praise the lord and light up the candles, it actually sorta works.
You are intermingling two things.
a) The user distribution on iOS is different than Android because iOS came first and locked up many of the most valuable customers in terms of spend. This is well known and has been persistent. Whether Google can undo that is an open question.
b) There is obviously device and OS fragmentation due to the fact that devices are produced by independent OEMs. However, as the previous poster explained, there has been a lot of work by Google to de-couple the OS from the Play services and API frameworks that can be updated separately and continuously.
So it's completely consistent that developers make less money on Android and fragmentation is not a big issue.
Most developers make enough money to justify development of both and the quality of apps is very similar these days. I mean, it's not the case that all Mac software is shitty even though Adobe etc. make more money from their Windows userbase, is it?
Here's what I suspect will be a surprising list of the Android enhancements t gethat have been made available in just the past four months, totally independent of any OS update and available to almost any Google Android user regardless of OS version.
So… even more massive fragmentation than anyone could have ever otherwise imagined. Because not only can’t you guarantee they have the newest #.0 release of Android, you can’t guarantee they have any of these supplemental updates, either. How long before Android starts needing installs of the 400 versions of DirectX to get things done?
Good point, TS!
IDK how Android/Google handles matching their app store app installs to the Android version on the devise...
It appears that in iOS 11, the App Store won't [even] allow apps to be downloaded to an iDevice that does not have the requisite iOS version and hardware to run the app.
When Apple releases a new major iOS version, it is giving the developer an added set of tools, a spruced up workbench to use them on, a roadmap of deprecated devices and the rules by which supported devices will be able to use the new tools. Apple also updates old apps and provides some new ones that may or may not be dependent on the new toolset. Apple provides this yearly, for the most part, and also provides updates and enhancements in-between major releases as appropriate. It is relatively straightforward for both user and developer to differentiate support by app and by OS version.
Whatever benefits updating apps incrementally in old and deprecated OS versions is for Google and the user, it is, for the most part, a fragmented mess for developers, and likely the reason that develop first on iOS is a thing
I don't recall you mentioning that you are a developer. I think I do remember an actual developer saying that what you supposed is a big issue really isn't. But I could be wrong. If I am I'm sure a developer will chime in here pretty soon and say so.
I welcome any comments, from any of the millions of developers out there, your anecdote being a single data point.
Oh I agree with you. I just can't remember which one of our members has posted a few times that he develops for both IOS and Android. In the meantime here's another "Data point" that says it's not all that difficult to develop for Android in addition to iOS. https://thenewstack.io/scoring-comparison-android-ios-development/
Sure it probably is easier for iOS, but I still stand by my comment that it's not too much more effort to do Android (too) according to what I've read both here and on other sites. But like you I don't speak from personal knowledge.
From the perspective of a developer, there's no fragmentation on Android at all.
I recommend some of the folks on this thread familiarize themselves with this thing called the Google Play Services and Android Support Libraries. Between those two frameworks, an Android developer can write an app targeting the latest version of Android while being seamlessly backward compatible all the way back to Android Gingerbread (Android 2.0). In other words, Android developers that plug their apps into those frameworks, with virtually zero effort, automagically support 90% of Android devices out there.
The folks that crow about Android's fragmentation are not only clueless, they are drunk on Apple's marketing Koolaid. Google over the years sneakily and systematically decoupled core Android and Google frameworks, interfaces, and services from the OS. The result is that today these parts of the OS are regularly updated independently of the OS.
From day one, Google was smart enough to ensure that on Android developers wrote strictly to an interface and not hard-coded assumptions about screen size, processor architecture, form factor and so on. The benefit of this architecture decision is that a well-designed Android app, sourced from a single source code, can run flawlessly on a multitude of devices regardless of screen size, SoC architecture, form-factor, or hardware configuration.
The caveat, of course, is that the developer must make no assumptions about the environment or device the app is going to run on. This is very important because it leads to my next point. (Exception: Android APIs that are not properly abstracted from low-level hardware specific stuff will give inexperienced developers headaches. The Camera API comes to mind.)
For an iOS developer delving into Android development, this is a massive cultural shock. On iOS, hard-coded assumptions about everything has been the norm until very recently. Therefore, it's no surprise the many iOS developers find Android development overwhelming. I've read too many ill-informed rants on blogs entertaining the misguided notion that Android developers have to tune to their code for every type of Android device. This forms the foundation of the Android fragmentation theory. The theory gains legs when you add the reality that for numerous unfortunate reasons Android updates on none-Google Android devices are unreliable. Connect the dots sloppily, and you can make a convincing argument that it's a waste of time to support new OS features because FRAGMENTATION.
Apple, through ingenious marketing, has perpetuated this baseless argument. The tech media, practically Apple's echo chamber, hardly needed any incentives to help birth and nurture the myth of Android fragmentation. The comments in this thread alone bear witness to this fallacy. It's the same regurgitated PR nonsense that has no bearing on reality.
If you pick up a phone running Android 4.0 and another one running Android 8.0, you'd hardly notice any difference worth talking about. There might be minor tweaks and superficial enhancements here and there. But for the most part, the experience using either device is largely the same. The compatibility shim in Google Play Services and Android Support Libraries ensure that apps don't behave any differently on Android 4.0 versus 8.0.
This is the miracle of Android. It's a feat of engineering that any this even works.
With Android O, Google takes Android another giant leap towards world domination. Not surprisingly, the tech media is too preoccupied debating dessert names, as opposed to, I don't know, documenting a well-research exposition about the fact that Android O is the most significant update to the platform since its birth. With Project Treble, Google rearchitected Android's gut to make its core components independently deployable. The goal is to push OS updates to any Android user, regardless of device, carrier, OEM, skin, or silicon. It's the last piece of the puzzle in making Android completely modular. This new-found flexibility will allow Google to develop Android independent of OEMs, Vendors, and Carriers. It won't surprise me if Android P or Q doesn't even run on Linux, but instead Fuschia, Google experimental OS.
gatorguy is right. Android and iOS are fundamentally different OSes. One OS has to cater to every conceivable use case while remaining open, flexible and customizable, the other has to cater to Apple. Anybody claiming Google and Apple face the same challenges in how they manage, design, and deploy their respective OSes, is simply entertaining a false equivalence.
The engineering challenge for Google is monumental given the inconceivable amount of variables they have to deal with, as well as the ubiquity and heterogeneity of devices that Android has to run on. The debates about update percentages are pointless in light of the fact that each OS is layered, designed, and deployed differently. Wake me up when Apple can push iOS updates to 24,000 unique devices with disparate SoCs, form factors, and hardware architectures. Then we can have a serious talk about iOS vs Android updates. Until then, enjoy your penis wagging contest.
Devs don't put as much effort into Android because they have better return on investment elsewhere. That's the reason.
And there ya' go. You and I actually agree. It's not so much the far overplayed "fragmentation" but money. Depending on the type of app they may see far faster monetization via the App Store, tho I'm certain the opposite is also true in some cases.
EDIT: Begin related rant: Of course it's not a news-flash that people who have more disposable income tend to spend more money, and think less about the opportunity costs of doing so. Buying a $10 app that you might use once and never again is no big deal if you have plenty of food for the kids and a good roof. Even spending a Grand on a phone is a pittance for many so they don't necessarily consider needs, just wants. Heck I've personally spent 10's of thousands on things that in hindsight I didn't put to much use. In my younger days I thought it was a reflection of my success and proof of my stature. Flashy car. The latest cool electronics. Big vacations and big tips. In truth I was supercilious (haughty for those who are unfamiliar with the word). I thought my possessions were proof of my human value. I've got more and it's shinier so you're I'm a better man than you and should be treated as such. How wrong I was but not smart enough at the time to see it.
It very often creates a disconnect from society as a whole when you don't have money concerns other than wanting more for the sake of it. You tend to forget, or maybe never knew, what it's like having to make important choices because of real-life financial constraints. Most people would not choose to be poor (but I've personally known two exceptions), nor are the wealthy because of their stash any more intelligent or even talented than some of the less-fortunate IMHO. "Right place at the right time" (which includes which family you are born into and where) can trump talent and intelligence. You can't choose your mother and father.
IMO a knee-jerk reaction of ridiculing others for their choice of electronic device is an incredible show of arrogance and pompousness when you have no idea of the rationale behind it. Is it smart for a young father of two earning $35K to spend $700 on an iPhone? I would suggest in most cases it is not. But buying a lower-priced device like a $300 Android (or nothing at all!) because of more important goals and needs in his life shows he's not as stupid as some would automatically say he is. And yes there's far more working-class people than well-to-do where making smarter choices when it comes to spending is a need not a want. /Rant over
Even that is a myth.
The last 4 projects I worked on saw more engagement, downloads and revenue on Android than on iOS.
If your sales campaign targets the top 15% of the most engaged Android users, you'll EASILY make more money on Android than iOS.
If you approach monetization on Android the same way you do on iOS, well that's your bad. If you invest 95% of your development and marketing budget on iOS, don't be befuddled when your Android campaign isn't doing so hot.
The tools, ecosystem, and user base to make money of Android are there. However, it's not enough to dump a half-baked port of your iOS app on the Google Play Store and expect any success.
The people that are willing to pay for your app on Android can see through lackluster effort and will not reward it.
I tell my clients with an iOS bias, if you target the top 5% of the most engaged Android users, it's the equivalent of targeting 90% of the iOS market share. That often helps put things in vivid perspective for most of them.
Finally, the tools for targeting, analytics, and Telemetrics from Google are an order of magnitude more sophisticated than anything Apple has to offer. The result is that I've seen too many iOS-biased dev shops making assumptions based on hunches, or App Annie, instead of real data from their services.
You should take everything you read on blogs about monetization on either platform with a huge grain of salt. Most of what I've read just doesn't reflect my experience. The fragmentation theory is a myth. But so is the monetization theory.
Well then perhaps I'm wrong about the income too and for many of the better developers there's not all that much difference between offering iOS and Android apps. The comments here from actual developers who better know how it is in the real-world is appreciated.
When will Android get its own ARKit, to use that as an example, and how will a person whose phone currently runs Android 4, 5 or 6 get apps that require it?
Google actually have something in AR field https://get.google.com/tango/ , as I understand, you need special phone/hardware to use it.
Here's what I suspect will be a surprising list of the Android enhancements t gethat have been made available in just the past four months, totally independent of any OS update and available to almost any Google Android user regardless of OS version.
So… even more massive fragmentation than anyone could have ever otherwise imagined. Because not only can’t you guarantee they have the newest #.0 release of Android, you can’t guarantee they have any of these supplemental updates, either. How long before Android starts needing installs of the 400 versions of DirectX to get things done?
Good point, TS!
IDK how Android/Google handles matching their app store app installs to the Android version on the devise...
It appears that in iOS 11, the App Store won't [even] allow apps to be downloaded to an iDevice that does not have the requisite iOS version and hardware to run the app.
When Apple releases a new major iOS version, it is giving the developer an added set of tools, a spruced up workbench to use them on, a roadmap of deprecated devices and the rules by which supported devices will be able to use the new tools. Apple also updates old apps and provides some new ones that may or may not be dependent on the new toolset. Apple provides this yearly, for the most part, and also provides updates and enhancements in-between major releases as appropriate. It is relatively straightforward for both user and developer to differentiate support by app and by OS version.
Whatever benefits updating apps incrementally in old and deprecated OS versions is for Google and the user, it is, for the most part, a fragmented mess for developers, and likely the reason that develop first on iOS is a thing
I don't recall you mentioning that you are a developer. I think I do remember an actual developer saying that what you supposed is a big issue really isn't. But I could be wrong. If I am I'm sure a developer will chime in here pretty soon and say so.
I welcome any comments, from any of the millions of developers out there, your anecdote being a single data point.
Oh I agree with you. I just can't remember which one of our members has posted a few times that he develops for both IOS and Android. In the meantime here's another "Data point" that says it's not all that difficult to develop for Android in addition to iOS. https://thenewstack.io/scoring-comparison-android-ios-development/
Sure it probably is easier for iOS, but I still stand by my comment that it's not too much more effort to do Android (too) according to what I've read both here and on other sites. But like you I don't speak from personal knowledge.
From the perspective of a developer, there's no fragmentation on Android at all.
I recommend some of the folks on this thread familiarize themselves with this thing called the Google Play Services and Android Support Libraries. Between those two frameworks, an Android developer can write an app targeting the latest version of Android while being seamlessly backward compatible all the way back to Android Gingerbread (Android 2.0). In other words, Android developers that plug their apps into those frameworks, with virtually zero effort, automagically support 90% of Android devices out there.
The folks that crow about Android's fragmentation are not only clueless, they are drunk on Apple's marketing Koolaid. Google over the years sneakily and systematically decoupled core Android and Google frameworks, interfaces, and services from the OS. The result is that today these parts of the OS are regularly updated independently of the OS.
From day one, Google was smart enough to ensure that on Android developers wrote strictly to an interface and not hard-coded assumptions about screen size, processor architecture, form factor and so on. The benefit of this architecture decision is that a well-designed Android app, sourced from a single source code, can run flawlessly on a multitude of devices regardless of screen size, SoC architecture, form-factor, or hardware configuration.
The caveat, of course, is that the developer must make no assumptions about the environment or device the app is going to run on. This is very important because it leads to my next point. (Exception: Android APIs that are not properly abstracted from low-level hardware specific stuff will give inexperienced developers headaches. The Camera API comes to mind.)
For an iOS developer delving into Android development, this is a massive cultural shock. On iOS, hard-coded assumptions about everything has been the norm until very recently. Therefore, it's no surprise the many iOS developers find Android development overwhelming. I've read too many ill-informed rants on blogs entertaining the misguided notion that Android developers have to tune to their code for every type of Android device. This forms the foundation of the Android fragmentation theory. The theory gains legs when you add the reality that for numerous unfortunate reasons Android updates on none-Google Android devices are unreliable. Connect the dots sloppily, and you can make a convincing argument that it's a waste of time to support new OS features because FRAGMENTATION.
Apple, through ingenious marketing, has perpetuated this baseless argument. The tech media, practically Apple's echo chamber, hardly needed any incentives to help birth and nurture the myth of Android fragmentation. The comments in this thread alone bear witness to this fallacy. It's the same regurgitated PR nonsense that has no bearing on reality.
If you pick up a phone running Android 4.0 and another one running Android 8.0, you'd hardly notice any difference worth talking about. There might be minor tweaks and superficial enhancements here and there. But for the most part, the experience using either device is largely the same. The compatibility shim in Google Play Services and Android Support Libraries ensure that apps don't behave any differently on Android 4.0 versus 8.0.
This is the miracle of Android. It's a feat of engineering that any this even works.
With Android O, Google takes Android another giant leap towards world domination. Not surprisingly, the tech media is too preoccupied debating dessert names, as opposed to, I don't know, documenting a well-research exposition about the fact that Android O is the most significant update to the platform since its birth. With Project Treble, Google rearchitected Android's gut to make its core components independently deployable. The goal is to push OS updates to any Android user, regardless of device, carrier, OEM, skin, or silicon. It's the last piece of the puzzle in making Android completely modular. This new-found flexibility will allow Google to develop Android independent of OEMs, Vendors, and Carriers. It won't surprise me if Android P or Q doesn't even run on Linux, but instead Fuschia, Google experimental OS.
gatorguy is right. Android and iOS are fundamentally different OSes. One OS has to cater to every conceivable use case while remaining open, flexible and customizable, the other has to cater to Apple. Anybody claiming Google and Apple face the same challenges in how they manage, design, and deploy their respective OSes, is simply entertaining a false equivalence.
The engineering challenge for Google is monumental given the inconceivable amount of variables they have to deal with, as well as the ubiquity and heterogeneity of devices that Android has to run on. The debates about update percentages are pointless in light of the fact that each OS is layered, designed, and deployed differently. Wake me up when Apple can push iOS updates to 24,000 unique devices with disparate SoCs, form factors, and hardware architectures. Then we can have a serious talk about iOS vs Android updates. Until then, enjoy your penis wagging contest.
Devs don't put as much effort into Android because they have better return on investment elsewhere. That's the reason.
And there ya' go. You and I actually agree. It's not so much the far overplayed "fragmentation" but money. Depending on the type of app they may see far faster monetization via the App Store, tho I'm certain the opposite is also true in some cases.
EDIT: Begin related rant: Of course it's not a news-flash that people who have more disposable income tend to spend more money, and think less about the opportunity costs of doing so. Buying a $10 app that you might use once and never again is no big deal if you have plenty of food for the kids and a good roof. Even spending a Grand on a phone is a pittance for many so they don't necessarily consider needs, just wants. Heck I've personally spent 10's of thousands on things that in hindsight I didn't put to much use. In my younger days I thought it was a reflection of my success and proof of my stature. Flashy car. The latest cool electronics. Big vacations and big tips. In truth I was supercilious (haughty for those who are unfamiliar with the word). I thought my possessions were proof of my human value. I've got more and it's shinier so you're I'm a better man than you and should be treated as such. How wrong I was but not smart enough at the time to see it.
It very often creates a disconnect from society as a whole when you don't have money concerns other than wanting more for the sake of it. You tend to forget, or maybe never knew, what it's like having to make important choices because of real-life financial constraints. Most people would not choose to be poor (but I've personally known two exceptions), nor are the wealthy because of their stash any more intelligent or even talented than some of the less-fortunate IMHO. "Right place at the right time" (which includes which family you are born into and where) can trump talent and intelligence. You can't choose your mother and father.
IMO a knee-jerk reaction of ridiculing others for their choice of electronic device is an incredible show of arrogance and pompousness when you have no idea of the rationale behind it. Is it smart for a young father of two earning $35K to spend $700 on an iPhone? I would suggest in most cases it is not. But buying a lower-priced device like a $300 Android (or nothing at all!) because of more important goals and needs in his life shows he's not as stupid as some would automatically say he is. And yes there's far more working-class people than well-to-do where making smarter choices when it comes to spending is a need not a want. /Rant over
Even that is a myth.
The last 4 projects I worked on saw more engagement, downloads and revenue on Android than on iOS.
If your sales campaign targets the top 15% of the most engaged Android users, you'll EASILY make more money on Android than iOS.
If you approach monetization on Android the same way you do on iOS, well that's your bad. If you invest 95% of your development and marketing budget on iOS, don't be befuddled when your Android campaign isn't doing so hot.
The tools, ecosystem, and user base to make money of Android are there. However, it's not enough to dump a half-baked port of your iOS app on the Google Play Store and expect any success.
The people that are willing to pay for your app on Android can see through lackluster effort and will not reward it.
I tell my clients with an iOS bias, if you target the top 5% of the most engaged Android users, it's the equivalent of targeting 90% of the iOS market share. That often helps put things in vivid perspective for most of them.
Finally, the tools for targeting, analytics, and Telemetrics from Google are an order of magnitude more sophisticated than anything Apple has to offer. The result is that I've seen too many iOS-biased dev shops making assumptions based on hunches, or App Annie, instead of real data from their services.
You should take everything you read on blogs about monetization on either platform with a huge grain of salt. Most of what I've read just doesn't reflect my experience. The fragmentation theory is a myth. But so is the monetization theory.
Well then perhaps I'm wrong about the income too and for many of the better developers there's not all that much difference between offering iOS and Android apps. The comments here from actual developers who better know how it is in the real-world is appreciated.
I don't think his experience is the SAME as with every iOS/Android developer out there. Probably, he belongs to the minority of Devs who make more money from Android than iOS. From a bigger picture, developers do make more money from iOS than Android overall. I do remember reading stats for it in AI and other websites (too lazy to look up and post links). While Android is catching up, it has not caught up yet!!! So your earlier point is still valid.
Yes, it is good to hear from actual developers about "fragmentation" instead of posting based on our own "assumptions" as many in this thread have done.
Here's what I suspect will be a surprising list of the Android enhancements t gethat have been made available in just the past four months, totally independent of any OS update and available to almost any Google Android user regardless of OS version.
So… even more massive fragmentation than anyone could have ever otherwise imagined. Because not only can’t you guarantee they have the newest #.0 release of Android, you can’t guarantee they have any of these supplemental updates, either. How long before Android starts needing installs of the 400 versions of DirectX to get things done?
Good point, TS!
IDK how Android/Google handles matching their app store app installs to the Android version on the devise...
It appears that in iOS 11, the App Store won't [even] allow apps to be downloaded to an iDevice that does not have the requisite iOS version and hardware to run the app.
When Apple releases a new major iOS version, it is giving the developer an added set of tools, a spruced up workbench to use them on, a roadmap of deprecated devices and the rules by which supported devices will be able to use the new tools. Apple also updates old apps and provides some new ones that may or may not be dependent on the new toolset. Apple provides this yearly, for the most part, and also provides updates and enhancements in-between major releases as appropriate. It is relatively straightforward for both user and developer to differentiate support by app and by OS version.
Whatever benefits updating apps incrementally in old and deprecated OS versions is for Google and the user, it is, for the most part, a fragmented mess for developers, and likely the reason that develop first on iOS is a thing
I don't recall you mentioning that you are a developer. I think I do remember an actual developer saying that what you supposed is a big issue really isn't. But I could be wrong. If I am I'm sure a developer will chime in here pretty soon and say so.
I welcome any comments, from any of the millions of developers out there, your anecdote being a single data point.
Oh I agree with you. I just can't remember which one of our members has posted a few times that he develops for both IOS and Android. In the meantime here's another "Data point" that says it's not all that difficult to develop for Android in addition to iOS. https://thenewstack.io/scoring-comparison-android-ios-development/
Sure it probably is easier for iOS, but I still stand by my comment that it's not too much more effort to do Android (too) according to what I've read both here and on other sites. But like you I don't speak from personal knowledge.
From the perspective of a developer, there's no fragmentation on Android at all.
I recommend some of the folks on this thread familiarize themselves with this thing called the Google Play Services and Android Support Libraries. Between those two frameworks, an Android developer can write an app targeting the latest version of Android while being seamlessly backward compatible all the way back to Android Gingerbread (Android 2.0). In other words, Android developers that plug their apps into those frameworks, with virtually zero effort, automagically support 90% of Android devices out there.
The folks that crow about Android's fragmentation are not only clueless, they are drunk on Apple's marketing Koolaid. Google over the years sneakily and systematically decoupled core Android and Google frameworks, interfaces, and services from the OS. The result is that today these parts of the OS are regularly updated independently of the OS.
From day one, Google was smart enough to ensure that on Android developers wrote strictly to an interface and not hard-coded assumptions about screen size, processor architecture, form factor and so on. The benefit of this architecture decision is that a well-designed Android app, sourced from a single source code, can run flawlessly on a multitude of devices regardless of screen size, SoC architecture, form-factor, or hardware configuration.
The caveat, of course, is that the developer must make no assumptions about the environment or device the app is going to run on. This is very important because it leads to my next point. (Exception: Android APIs that are not properly abstracted from low-level hardware specific stuff will give inexperienced developers headaches. The Camera API comes to mind.)
For an iOS developer delving into Android development, this is a massive cultural shock. On iOS, hard-coded assumptions about everything has been the norm until very recently. Therefore, it's no surprise the many iOS developers find Android development overwhelming. I've read too many ill-informed rants on blogs entertaining the misguided notion that Android developers have to tune to their code for every type of Android device. This forms the foundation of the Android fragmentation theory. The theory gains legs when you add the reality that for numerous unfortunate reasons Android updates on none-Google Android devices are unreliable. Connect the dots sloppily, and you can make a convincing argument that it's a waste of time to support new OS features because FRAGMENTATION.
Apple, through ingenious marketing, has perpetuated this baseless argument. The tech media, practically Apple's echo chamber, hardly needed any incentives to help birth and nurture the myth of Android fragmentation. The comments in this thread alone bear witness to this fallacy. It's the same regurgitated PR nonsense that has no bearing on reality.
If you pick up a phone running Android 4.0 and another one running Android 8.0, you'd hardly notice any difference worth talking about. There might be minor tweaks and superficial enhancements here and there. But for the most part, the experience using either device is largely the same. The compatibility shim in Google Play Services and Android Support Libraries ensure that apps don't behave any differently on Android 4.0 versus 8.0.
This is the miracle of Android. It's a feat of engineering that any this even works.
With Android O, Google takes Android another giant leap towards world domination. Not surprisingly, the tech media is too preoccupied debating dessert names, as opposed to, I don't know, documenting a well-research exposition about the fact that Android O is the most significant update to the platform since its birth. With Project Treble, Google rearchitected Android's gut to make its core components independently deployable. The goal is to push OS updates to any Android user, regardless of device, carrier, OEM, skin, or silicon. It's the last piece of the puzzle in making Android completely modular. This new-found flexibility will allow Google to develop Android independent of OEMs, Vendors, and Carriers. It won't surprise me if Android P or Q doesn't even run on Linux, but instead Fuschia, Google experimental OS.
gatorguy is right. Android and iOS are fundamentally different OSes. One OS has to cater to every conceivable use case while remaining open, flexible and customizable, the other has to cater to Apple. Anybody claiming Google and Apple face the same challenges in how they manage, design, and deploy their respective OSes, is simply entertaining a false equivalence.
The engineering challenge for Google is monumental given the inconceivable amount of variables they have to deal with, as well as the ubiquity and heterogeneity of devices that Android has to run on. The debates about update percentages are pointless in light of the fact that each OS is layered, designed, and deployed differently. Wake me up when Apple can push iOS updates to 24,000 unique devices with disparate SoCs, form factors, and hardware architectures. Then we can have a serious talk about iOS vs Android updates. Until then, enjoy your penis wagging contest.
"Wake me up when Apple can push iOS updates to 24,000 unique devices..."
Comments
Whatever benefits updating apps incrementally in old and deprecated OS versions is for Google and the user, it is, for the most part, a fragmented mess for developers, and likely the reason that develop first on iOS is a thing
Here's a link; there are plenty of others.
https://theappsolutions.com/blog/development/ios-vs-android/
https://thenewstack.io/scoring-comparison-android-ios-development/
Sure it probably is easier for iOS, but I still stand by my comment that it's not too much more effort to do Android (too) according to what I've read both here and on other sites. But like you I don't speak from personal knowledge.
As for ARKit that should be killer for Apple. Great work by them.
I recommend some of the folks on this thread familiarize themselves with this thing called the Google Play Services and Android Support Libraries. Between those two frameworks, an Android developer can write an app targeting the latest version of Android while being seamlessly backward compatible all the way back to Android Gingerbread (Android 2.0). In other words, Android developers that plug their apps into those frameworks, with virtually zero effort, automagically support 90% of Android devices out there.
The folks that crow about Android's fragmentation are not only clueless, they are drunk on Apple's marketing Koolaid. Google over the years sneakily and systematically decoupled core Android and Google frameworks, interfaces, and services from the OS. The result is that today these parts of the OS are regularly updated independently of the OS.
From day one, Google was smart enough to ensure that on Android developers wrote strictly to an interface and not hard-coded assumptions about screen size, processor architecture, form factor and so on. The benefit of this architecture decision is that a well-designed Android app, sourced from a single source code, can run flawlessly on a multitude of devices regardless of screen size, SoC architecture, form-factor, or hardware configuration.
The caveat, of course, is that the developer must make no assumptions about the environment or device the app is going to run on. This is very important because it leads to my next point. (Exception: Android APIs that are not properly abstracted from low-level hardware specific stuff will give inexperienced developers headaches. The Camera API comes to mind.)
For an iOS developer delving into Android development, this is a massive cultural shock. On iOS, hard-coded assumptions about everything has been the norm until very recently. Therefore, it's no surprise the many iOS developers find Android development overwhelming. I've read too many ill-informed rants on blogs entertaining the misguided notion that Android developers have to tune to their code for every type of Android device. This forms the foundation of the Android fragmentation theory. The theory gains legs when you add the reality that for numerous unfortunate reasons Android updates on none-Google Android devices are unreliable. Connect the dots sloppily, and you can make a convincing argument that it's a waste of time to support new OS features because FRAGMENTATION.
Apple, through ingenious marketing, has perpetuated this baseless argument. The tech media, practically Apple's echo chamber, hardly needed any incentives to help birth and nurture the myth of Android fragmentation. The comments in this thread alone bear witness to this fallacy. It's the same regurgitated PR nonsense that has no bearing on reality.
If you pick up a phone running Android 4.0 and another one running Android 8.0, you'd hardly notice any difference worth talking about. There might be minor tweaks and superficial enhancements here and there. But for the most part, the experience using either device is largely the same. The compatibility shim in Google Play Services and Android Support Libraries ensure that apps don't behave any differently on Android 4.0 versus 8.0.
This is the miracle of Android. It's a feat of engineering that any this even works.
With Android O, Google takes Android another giant leap towards world domination. Not surprisingly, the tech media is too preoccupied debating dessert names, as opposed to, I don't know, documenting a well-research exposition about the fact that Android O is the most significant update to the platform since its birth. With Project Treble, Google rearchitected Android's gut to make its core components independently deployable. The goal is to push OS updates to any Android user, regardless of device, carrier, OEM, skin, or silicon. It's the last piece of the puzzle in making Android completely modular. This new-found flexibility will allow Google to develop Android independent of OEMs, Vendors, and Carriers. It won't surprise me if Android P or Q doesn't even run on Linux, but instead Fuschia, Google experimental OS.
gatorguy is right. Android and iOS are fundamentally different OSes. One OS has to cater to every conceivable use case while remaining open, flexible and customizable, the other has to cater to Apple. Anybody claiming Google and Apple face the same challenges in how they manage, design, and deploy their respective OSes, is simply entertaining a false equivalence.
The engineering challenge for Google is monumental given the inconceivable amount of variables they have to deal with, as well as the ubiquity and heterogeneity of devices that Android has to run on. The debates about update percentages are pointless in light of the fact that each OS is layered, designed, and deployed differently. Wake me up when Apple can push iOS updates to 24,000 unique devices with disparate SoCs, form factors, and hardware architectures. Then we can have a serious talk about iOS vs Android updates. Until then, enjoy your penis wagging contest.
- http://www.androidguys.com/2015/10/08/is-android-fragmentation-really-a-problem/
- http://www.androidauthority.com/android-fragmentation-google-fix-it-713210/
(The first two in a Google search)2) I think the only completely honest sentence fragment in that entire post was "Google over the years sneakily," which can be the start of pretty much anything the company has done.
The caveat, of course, is that the developer must make no assumptions about the environment or device the app is going to run on.
No shit Sherlock!
I'm guessing that means the least common denominator, so throw out all of those so called "brilliant and innovative" features from each OEM, or, provide all that additional development and support to make that happen.
Apple and it's developer's, on the other hand, have to make no assumptions about any device.
This is the miracle of Android. It's a feat of engineering that any this even works.
"With Android O, Google takes Android another giant leap towards world domination"
Oh FFS.
This is what world domination looks like:
Apple will deliver AR apps to an existing user base of some 500 million compatible iPhones beginning in September.
https://www.lifewire.com/how-many-iphones-have-been-sold-1999500
http://www.iphonehacks.com/2017/06/list-iphone-ipad-compatible-arkit-ios-11.html
That goes back three years, four generations of iPhones as of this September. So, of course, the AR experience will differ between generations, but I'm guessing that it will at least be an acceptable experience on an iPhone 6 or SE.
Google wishes that it could do the same with Tango, but, no, not even close, because, caveat.
EDIT: Begin related rant:
Of course it's not a news-flash that people who have more disposable income tend to spend more money, and think less about the opportunity costs of doing so. Buying a $10 app that you might use once and never again is no big deal if you have plenty of food for the kids and a good roof. Even spending a Grand on a phone is a pittance for many so they don't necessarily consider needs, just wants. Heck I've personally spent 10's of thousands on things that in hindsight I didn't put to much use. In my younger days I thought it was a reflection of my success and proof of my stature. Flashy car. The latest cool electronics. Big vacations and big tips. In truth I was supercilious (haughty for those who are unfamiliar with the word). I thought my possessions were proof of my human value. I've got more and it's shinier so you're I'm a better man than you and should be treated as such. How wrong I was but not smart enough at the time to see it.
It very often creates a disconnect from society as a whole when you don't have money concerns other than wanting more for the sake of it. You tend to forget, or maybe never knew, what it's like having to make important choices because of real-life financial constraints. Most people would not choose to be poor (but I've personally known two exceptions), nor are the wealthy because of their stash any more intelligent or even talented than some of the less-fortunate IMHO. "Right place at the right time" (which includes which family you are born into and where) can trump talent and intelligence. You can't choose your mother and father.
IMO a knee-jerk reaction of ridiculing others for their choice of electronic device is an incredible show of arrogance and pompousness when you have no idea of the rationale behind it. Is it smart for a young father of two earning $35K to spend $700 on an iPhone? I would suggest in most cases it is not. But buying a lower-priced device like a $300 Android (or nothing at all!) because of more important goals and needs in his life shows he's not as stupid as some would automatically say he is. And yes there's far more working-class people than well-to-do where making smarter choices when it comes to spending is a need not a want.
/Rant over
Even that is a myth.
The last 4 projects I worked on saw more engagement, downloads and revenue on Android than on iOS.
If your sales campaign targets the top 15% of the most engaged Android users, you'll EASILY make more money on Android than iOS.
If you approach monetization on Android the same way you do on iOS, well that's your bad. If you invest 95% of your development and marketing budget on iOS, don't be befuddled when your Android campaign isn't doing so hot.
The tools, ecosystem, and user base to make money of Android are there. However, it's not enough to dump a half-baked port of your iOS app on the Google Play Store and expect any success.
The people that are willing to pay for your app on Android can see through lackluster effort and will not reward it.
I tell my clients with an iOS bias, if you target the top 5% of the most engaged Android users, it's the equivalent of targeting 90% of the iOS market share. That often helps put things in vivid perspective for most of them.
Finally, the tools for targeting, analytics, and Telemetrics from Google are an order of magnitude more sophisticated than anything Apple has to offer. The result is that I've seen too many iOS-biased dev shops making assumptions based on hunches, or App Annie, instead of real data from their services.
You should take everything you read on blogs about monetization on either platform with a huge grain of salt. Most of what I've read just doesn't reflect my experience. The fragmentation theory is a myth. But so is the monetization theory.
Up to an iPhone 4 there was a 1 iPad and 1 iPhone format, which could be targeted, while we had to support a big number of Android screen resolutions. But times have changed; now you have to take a multi resolution developement approach on iOS as well. (and the development support for multi resolution is better on Android)
Because our customers are asking apps on both platforms, we typically have to stick the least common denominator wrt to features: our apps will not make use of the APIs that are only available on one of the two platforms, if there is no work around on the other platfrom. The only notable exception we have developed is on Android for a NFC based payment that was embedded in a loyalty points app of a supermarket.
We don't do anything special for older versions of Android (<5.0) . If it works, fine. If it doesn't it is time for the user to buy a new device (they are less expensive)
a) The user distribution on iOS is different than Android because iOS came first and locked up many of the most valuable customers in terms of spend. This is well known and has been persistent. Whether Google can undo that is an open question.
b) There is obviously device and OS fragmentation due to the fact that devices are produced by independent OEMs. However, as the previous poster explained, there has been a lot of work by Google to de-couple the OS from the Play services and API frameworks that can be updated separately and continuously.
So it's completely consistent that developers make less money on Android and fragmentation is not a big issue.
Most developers make enough money to justify development of both and the quality of apps is very similar these days. I mean, it's not the case that all Mac software is shitty even though Adobe etc. make more money from their Windows userbase, is it?
I don't think his experience is the SAME as with every iOS/Android developer out there. Probably, he belongs to the minority of Devs who make more money from Android than iOS. From a bigger picture, developers do make more money from iOS than Android overall. I do remember reading stats for it in AI and other websites (too lazy to look up and post links). While Android is catching up, it has not caught up yet!!! So your earlier point is still valid.
Yes, it is good to hear from actual developers about "fragmentation" instead of posting based on our own "assumptions" as many in this thread have done.
And therein lies Android's biggest failing...