Android Co-Founder: Fragmentation "an Overblown Issue"
curtwoodward writes "Sure, developers might pull their hair out trying to keep track of all the versions of the Android operating system scattered across hundreds of millions of mobile devices worldwide. But a co-founder of Android says the OS's fragmentation problem is being blown out of proportion. At an event this week in Boston, Rich Miner — now a partner at Google Ventures — said some level of fragmentation is inevitable with Android's reach and the number of partners in the ecosystem. But things are getting better, he said, and in any case most consumers don't notice the difference: `This is a bit of an overblown issue, frankly.'"
This just in: Guy with stake in product says nothing is wrong with product. Film at 11.
The problem is NOT overblown at all. There is a serious problem when there are apps that require a specific android version or device and the numbers are increasing.
Because they have no clue what they are buying. They just wanted a cheap phone than runs apps.
And I'm just an end user who owns both Android and iOS devices. When I see the disparity in app quality on both platforms, especially in games, and hear developers explain why Android is so much more difficult to work with I'm going to take it at face value.
but I as a developer sure do notice. The biggest issue I keep running into (developing backend software for my companies frontend software) is that testing on a mix of devices means learning the quirks for every single manufacturers user interface that they have bolted on top of Android. We've also had some weird issues based upon the Android version installed, across two devices with the same Android version number (4.0 for example) with the carrier/device manufacturers changes we have a bug on one but not the other.
This is highly annoying.
One issue that Android users hail as the greatest thing since sliced bread (alternate keyboards) actually meant having to write work-arounds because some keyboard implementations were simply broken, or actually caused issues with entering text in certain situations. An alternate keyboard shouldn't be able to have that sort of an effect!
Fragmentation is real, and it is an issue. Consumers don't notice because they only use a single device, developers and power users that may switch more often than the average user will notice and it is an issue.
cat
Fragmentation also makes it more difficult, my guess is, for Google developers to upgrade core vanilla "Nexus" Android. They would have fewer options to change things as more and more phone vendor variants depend on particular feature sets in the core. Or conversely, variants will be inherently fragile and break / need re-engineering everytime Google ignores them and freely upgrades the core.
Where are we going and why are we in a handbasket?
Google marketing: you botched this one. First you claim the improvements are amazing, then you claim most users don't even notice? Either the amazing features arn't getting used, or they are not better. Either way, I don't see how thats a good thing.
Google isn't responsible for the security of android OS phones. This results in many companies sacrificing the security of their users by not investing in real security maintenance for the devices. Hell, the NSA may even subsidize them financially for the 'work' of *not* fixing security issues.
How does Apple have forced obsolecense? They actually release upgrades for their phones. Even the 3GS can run IOS 6. For the new IOS 7 they're dropping support for the iphone 3GS, but that phone's getting pretty old now. Sure there will be problems with running programs that require faster processors on the old phones, but Android has the same problem. Android has the additional problem of developers having to support 3 or 4 different OS versions in order to support all the devices. Also, with Android, there's the problem that if your phone wasn't one of the popular ones, there's a lot of stuff that doesn't work with it, and finding accessories for them can be almost impossible. Even getting unofficial upgrades for unpopular phones using things like Cyanogenmod is impossible since they only support popular phones models.
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
How exactly did Apple choose the latter? The four-year-old iPhone 3GS has gotten all updates from iOS 3 up through iOS 6.1.3. It is only until 7 that it will no longer receive them. Many Android phones haven't seen updates beyond what shipped with the device.
Yeah, Apple continued to give it OS updates even after it was discontinued. That's pretty much the opposite of "forced obsolecense". I had the T-Mobile Galaxy S that shipped with 2.1 that was supposedly going to get the Android 2.2 update from Samsung "just around the corner" and yet that didn't materialize for over a year after I bought it. And then it never officially got Android 2.3 since Samsung had long since moved on to the SII.
Since this is to do with source signature verification which only the Google App store uses (other stores use alternative signature mechanisms) and from the article you linked:
I have to concede, I agree, it is quite overblown.
Change is certain; progress is not obligatory.
I was happy with Android, I was even happier with the custom ROMs which got rid of the annoying quirks... then I found I was banned from downloading any adblock software from the Play store. I will shift myself and anybody I know off the Play store to an Android store that is not fatally crippled. Suggestions anybody? Amazon and the Samsung app store have nothing. I am really hoping this fragmentation with lead to some uncensored store that allows me to run software I choose to run.
Phillip.
Property for sale in Nice, France
Since this is to do with source signature verification which only the Google App store uses
Of which is the default store on the vast majority of Android devices and for most users is the only place they get their apps from.
More accurate version: "Android co-founder says that users don't notice fragmentation, because OEM customizations make the phones shitty no matter what version they are."
Since this is to do with source signature verification which only the Google App store uses
Of which is the default store on the vast majority of Android devices and for most users is the only place they get their apps from.
You forgot this bit:
Update: According to a report in CIO, Google has already modified its Play Store’s app entry process so that apps that have been modified using this exploit are blocked and can no longer be distributed via Play.
So it appears its a problem that effects the Play store, that has already been mitigated.
The problem is that most phone vendors (basically all except Google) never update the Android system after the phone is released. This means that there are millions of phones stuck on some ancient versions of Android but many apps for Android are targeted at specific version which are constantly getting higher and higher because Google keeps pumping out new versions of Android.
But your phone doesn't get slower and slower and the OS gets upgraded.
No, I didn't forget it.
http://www.gamasutra.com/view/news/195310/Video_iOS_Android_myths_dispelled.php Here is a post mortem from a game developer who released two mobile games on iOS and Android. He briefly explains that both of the games ran perfectly fine on all but 3 devices. They weren't targeting a specific version of Android. They're supported devices were over 1900 devices for each game. So the fragmentation isn't as big of an issue as Apple likes to talk it up to being. And after the T-Mobile announcement today the fragmentation should only get better from here.
As the owner of a non-upgradeable Android 2.3 phone (Motorola Defy XT) I find that most apps I care about work fine on the phone... with the exception of all the new Google apps and updates to said apps.
Google Maps
GMail
Google Now
Chrome
all of these apps are either not available, or are only provided in downlevel versions. You have to be running 4.x to get the latest and greatest apps.
Meanwhile, Google produces versions of their apps to run on iOS 6, which is available on every iPhone back to the 3GS from 2009.
From the start Android was designed to support a variety of hardware, including screen resolution, screen aspect ratio, keyboards etc. On the other hand every time a new iDevice came out, Apple just made hacks to get them to work (eg. image for retina screen loaded by hard coded @2x at the end of the file name). There are 5 screens to support for iDevices, and it's a major pain in the arse. On android, hundreds of different screen configurations done very easily.
I have a still perfectly functioning ipod touch first gen where I can't basically reinstall any of the apps I own because the current versions of them in the app store are not compatible with my IOS version. If I decided to wipe it and resell it it would basically be a paperweight for anybody who purchased it as they would not be able to install anything on it.
In the end companies should be free to EOL old versions of their OS, obviously, but there should be an official way to get versions of apps compatible with your old OS if the app existed already in the first place. If I have app foowiz 1.3 that runs just fine on OS 1.0 and recompile it to have a minor enhancement and the toolkit now makes it mandatory that I can support only OS 2.0 and up, there should be a way for OS 1.0 users to keep downloading 1.3 while everybody else moves to 1.4 and above.
It would definitely be a lot more environmental to allow customers to keep using their old devices, or sell them (rather than tossing them) not to mention that it would make them more likely to buy more of your devices since they would trust that said devices would remain supported in the future.
-- the cake is a lie
from what you are saying it seems android is more lenient about allowing you to target old devices.
They are, which is why software quality on Android lags iOS.
Apple at the moment does not let you submit to the app store anything targeting anything under iOS5 (a somewhat recent change after 6.0 had been out for a while).
This may mean some older devices drop out - but at this point the only devices out are some 1st gen iPod touches and the very first iPhone (not even the iPhone 3G which can run iOS5). That is not unreasonable and means that applications generally make use of new and advanced system features sooner rather than never.
In a world where Android developers pretty much have to target 2.0 devices as a base, you lose some ability to use advanced features to make a better app. That is dragging down quality all over and is only going to become more of an issue as iOS framework features advance...
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Hurr hurr. Do you have an actual argument to dispute my statement? Can you name an Android phone that has had 4 years of updates, including updates even after it was discontinued, from it's manufacturer to match what the 3GS has gotten? Just so you know that would mean it's gotten updates from Android 1.6 (released 3 months after the 3GS) all the way 4.2.2 (released 1 month prior to the 6.1.3). I won't hold my breath, though.
*Its* manufacturer, obviously.
He's right. I've got five different Android devices, no two of which run the same version of the OS. But it doesn't matter to me for two reasons:
When I browse the Play Store on each device, it filters the list for me and only shows me the apps I can run on that device. Problem Solved.
Alternately, when using the Play Store web interface, it will tell me which of my devices can run a given app and let me fling the app to the device. Problem Solved.
Maybe this is an issue for developers or people who are anal and like having only one way to do something. Never understood the appeal of that thinking.
Sig for hire.
> The problem is that most phone vendors (basically all except Google) never update the Android system after the phone is released.
Even Google doesn't keep Android up to date on older devices. The once-flagship Nexus One, introduced in 2010, only got official updates for about a year, taking it from version 2.1 to 2.3.6.
That is a strange way of measuring time. It was launched January 10 and only had its operating system replaced 13th Novemer 2012...so Almost 3 Years, more than say an iPad.
And resolved for 100% of them.
Change is certain; progress is not obligatory.
...crashes, reboots, horrible bugs that render your device unusable.
So, yeah, he's right, that one problem is not significant when compared to these.
He is disconnected from the real world as most rich people are. They dont experience the world as people who make say under 50,000.00 bucks a year. Something doesn't work get a new on done deal.
Jack of all trades,master of none
in any case most consumers don't notice the difference
That is bull, they do notice.
When it comes to "why can't I load this application" we notice.
We notice when a phone can't be upgraded.
Sure, Android fragmentation is a real issue. However, before Android, just about every phone manufacturer had its own operating system, and it was difficult to do development for.
It isn't like if Android didn't exist, everything would just run iOS. If Android didn't exist, we'd likely have a situation where every vendor has their own entirely different platform. That'd be real fragmentation in the phone industry.
Right now, Android is much like Windows. You don't know exactly what version a user will have, and what hardware and configuration they'll have, but at least there is a set of common APIs you can rely on. Thanks to majority market share, you can develop an Android app and get a massive chunk of the market, even if that app needs some code to deal with specific versions of Android.
So what should one target when Android 2.x completely lacks an API that does close to what is needed?
AMERICA is the home country of both Google and Dice Holdings. And the big three carriers IN AMERICA refuse to give a discount on service for not taking a subsidized phone.
And there's a developer problem when the upgrade from Android 4.1 to Android 4.2 broke every game that can use the Wii Remote as a controller through Bluetooth. It's just one that's impossible to work around from user space.
You should be able to at least upgrade the O.S. on your given device. To me this is a very big deal.
The problem with games is that they're more difficult to develop on a (DFSG) free software model than applications that are not games. Creating assets other than code costs money, and you have to recoup expenses somehow. The problem with paid apps on Android is that Android got launched in a lot of countries that didn't have Google Checkout yet, meaning the only way to get an app in front of users in those countries was to offer it without charge. This set an expectation among users even in other countries that apps would be $0.00.
It would have made more sense to say "dearth of devices available to in-house testers compared to those in the field".
Apple is also dropping support for the fourth-generation iPod touch, which was the current model nine months ago. Because gamepad support is new in iOS 7, and game developers who haven't been able to get into Nintendo's far more selective developer program will be itching to finally have access to physical controls, watch games get quickly updated to be incompatible with the iPT4.
...then express the problems with it. True Anti-Android people show more apathy than anything. I love iOS, THEREFORE I complain about resolution fragmentation (and the lack of 16:9!) I love Google, THEREFORE I complain that they robbed me of Reader, Talk, and Latitude. I love Android, THEREFORE I hate love-child, impure devices that aren't pure.
This just in: Guy with stake in product says nothing is wrong with product. Film at 11.
Thing is, he's not wrong. Most consumers won't notice.
Its more of a developer issue. The effect on consumers is secondary, ie an app they might want is not ported to Android or it is not available for the Android version they have.
You buy hardware and are supposed, often even enforced, to use the software (operating system) the vendor chooses for you. The PC, for example, was made to run different operating systems. All you had stored inside of it was the BIOS which loaded the bootloader from disk, and executed it. You could just pop in another diskette and run a different operating system. This still is the case and the reason why you can still run the latest and greatest operating system on a 5 year old PC, while a 5 year old smartphone is heavily outdated.
A remote root exploit is discovered in in Gingerbread and Sprint refuses to fix the issue because they don't have the resources to address the issue and then every smartphone on Sprint running that version turns into a spambot with a dead battery. ... Not that that would ever happen...
Select from tblFriends where interesting >= 4;
Fragmentation on Android is a huge problem. Each device manufacturer has their own slightly different version of the OS, each with its own set of issues and incompatibilities. Sure, they only crop up when you try to do specific things... like, say, open a Bluetooth socket.
(I am an Android developer responsible for testing my company's product on dozens of different tablets.)
What about XCode? It rocks. Its code analysis rocks. Fuck Java.
Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
I've got an HTC Aria. Haven't been able to get HTC Sync to work on Win7. Can't upgrade the phone OS without HTC Sync, and it's a custom HTC version of Android instead of vanilla Google. And as far as I can tell, I need to update Android to get it to talk to the newer HTC Sync?
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Most RAZR users in 2005 were perfectly content with their phones and didn't notice the difference between what they had in their hands and what was possible when Apple was hatching the iPhone.
Users should not be expected to "know the difference" as that is not their job. It's your job, as the technologist, to know the difference and improve the user's experience. The user's sole task is to reap the benefits and reward those who provide the most benefits.
Simply not true. Compatibility issues are almost always down to differing hardware/drivers. That's the same on any OS except for iOS where Apple tightly controls the hardware too.
I've done Android development for an industrial product using Bluetooth. Didn't see any issues, the API is stable and just works. If I ever do discover a device that has issues I'd first assume it was down to crap hardware, not the OS.
const int one = 65536; (Silvermoon, Texture.cs)
SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
That's a T-Mobile problem. The Galaxy S did have an official Gingerbread release and it wasn't more than a few months late (good for Samsung at the time).
" but that happens A YEAR AFTER you buy an Android phone."
WRONG!
That's not true.
Now, yes, SOME carriers ***IN THE USA*** have managed to get the power to lock you out of your phone so that you cannot update it. Google can't stop them. You can, however, NOY BUY THEIR SHIT, ***and you can STILL buy yourself an Android phone***.
If you want to buy an iOS phone, however, and crApple don't want to let you own the device you want, then you're SOL. Nobody else is allowed to do it.
Good thing some of us kept the count then. The grand total: 0 times. You however...
Things Google have done recently to combat fragmentation:
.. and certainly much more. I'm thinking the #1 point on the PDK will be significant as we have yet to see the real effect of this. Previously the source code for new Android versions would be released to both the public and manufacturers at the same time, so you'd have teams like Cyanogenmod quickly port and do their own QA on releases using stock Android, while manufacturers had to update their custom UI's against the new version, go through their own rigorous QA processes, go through telco QA processes and timeframes, etc. The end result was updates being released by community teams (excluding Nexus devices) long before manufacturers did, leading to much discontent.
- Announced the release of the Android PDK, a preview-esque version of the new OS available to manufacturers before the official release hits source
- Begun de-coupling official Google apps from the OS and therefore from the update cycle (e.g. Google keyboard, IIRC Gmail and Maps, etc)
- From a 'smoke and mirror' perspective, kept the Android codenames the same across Jellybean (4.1 and 4.2)
- Most recently, "updated" Android completely without actually updating it via pushing updates to core apps and services like Play Store, Music player, sync APIs, etc.
- Adding to above: Held off on releasing a numbered Android update to let the natural cycle for replacing handsets to continue (so people with Android 2.1 phones hit the end of their contracts and buy 4.2 phones)
Sounds like an HTC problem, not a 'fragmentation' problem.
The Galaxy S most definitely got 2.3, mine does. But even then you should try out a modded rom like Cyanogen, thanks to that I run 4.2 on my Galaxy S without any issues.
I dare say you're a bit overconfident in this regard. If it were so easy to convince people to only get things from trusted sources and not sketchy links, Windows security would be rock solid.
If there's anything that I've learned over the years, it's that people will go to extraordinary measures to unwittingly sabotage themselves. They'll disable protections and allow anything to be installed. You think that you can't trick an Android user on an unpatched system? I've got a bridge to sell you.
Maybe this particular exploit won't ever be a big issue, but what we're looking at is hundreds of millions of people buying into a system that is remarkably hard to patch properly because it relies on organisations with a vested interest in either selling you a new phone or keeping costs low by not updating old systems. It's no big surprise to me that Samsung is the only manufacturer so far to patch its phones (though as far as I know, they only patched the latest OS anyway).
If it's not this one, it's the next one. That's the true issue with fragmentation. You can't really EOL these products because the source is out there and easy to fork, and so as long as you allow new apps to run on old phones, you'll have this.
That was your carrier. I had the Galaxy S and it was upgraded twice and was running 2.3.
Well, let's see. It only effects packages that can be downloaded from the Google Play store, a fix was placed in the Google Play store, to block 'malicious packages'. Killing the ability to use the vulnerability.
Which wouldn't be anything to do with this exploit then.
The fix was done by fixing Google Play to block it, not through a software update to the handset. I don't see an issue, since this exploit is only for packages distributed through the Google Play store.
Indeed.
Didn't stop rooted versions of iOS from existing that are unpatched and not updated. Nor did Apple bother to update their older generation of iPhone hardware. Then when they presented their statistic of fragmentation, they decided to not to show the statistics of older iPhone hardware they didn't wish to support in that but completely forgot to do the same for the other mobile phone manufacturers representing Android. Now, regarding forking, the mobile phone producers aren't using "Android Open Source Project", they are using a commercially licensed version of Android from Google that has very specific terms and conditions attached to it as well.
I'm not really seeing this being a unique issue. Companies are going to stop supporting handsets when they want and unless the platform is open (which a lot of Android handsets are not, they are locked down), there is little the end users can do about it other than spending their money else where.
Change is certain; progress is not obligatory.
And if you where targeting Microsoft or Apple then stuff like this would be solved by magic?
Here's a thought - Apple and Microsoft ship devices with OS updates that support the hardware in question.
On any Apple hardware that includes BTLE I can use the system frameworks to make use of BTLE.
You can consider that "magic" all you like, but frankly to me it's just common sense.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Actually, no. It affects any signed package that would normally be found on the play store. If it weren't a more general problem, then Google wouldn't have released any patch at all, and Samsung wouldn't have applied the OS patch and distributed it. It makes applications look like they're signed by Google, and normally those come through the play store.
All you'd need to do is trick someone into downloading the app from some source other than the play store, perhaps claiming that it's an upgrade to an app that they already have. Or by releasing a paid app for free.
iOS doesn't really have the same issues, though whether that's good or bad is a matter of some debate. To wit, if you have an old device that isn't supported anymore, and you wipe it or are forced to restore from backup, you can't download old applications any more because they aren't available on the AppStore. You're left with a device that's not really terribly useful. Apple's got a much harder line on how it EOLs devices.
More to the point, though, Apple doesn't sell devices that aren't up to date. You can't buy a phone running iOS 5. In a few months, you won't be able to buy a phone running iOS 6. You certainly can't buy anything with an OS that's 2 or 3 or 4 years old. New phones don't come encumbered with the problems of old phones. That's a big step up. Android's current fragmentation woes come from a lot of new phones as well as old ones.
I don't see why they wouldn't. They stopped the exploit from working on the play store, but the exploit is 'technically' still there, just not usable.
It wouldn't because signature checking is only used with the play store.
Which wouldn't work if "install from unknown sources" is enabled and if it is, you could install software regardless. The unknown sources option checks which application is launching the installer too (in other words: only the play store can launch the installers in this mode).
You could do that regardless, just ask the person to enable "install from unknown sources". Android won't let you install packages downloaded through other methods otherwise.
I don't know many people who buy things directly from Apple, Sony, Samsung. They usually buy stuff from places like mobile network stores like 'carphone warehouse' (which sell second hand, first gen iPhones still).
Because I'm having a problem right now with my Xperia Z, right?
As an Android user and iOS user. I can tell you that I don't have 'problems' on Android.
Change is certain; progress is not obligatory.
That doesn't change the practical realities of developing a non-trivial app that runs on more than one device. And I'm not even sure it's true. Dozens of companies have sunk billions of dollars into Android, and Google still doesn't seem to take it seriously. Case in point: the official API docs contain crap like, "upon completing the dispatch, the object must make a cup of tea, return it to the caller, and exclaim 'jolly good message old boy!" And their official developer support policy is "go ask Stack Overflow."