Tired of hearing about 'Fragmentation', but...

stormkroe

Golden Member
May 28, 2011
1,550
97
91
Someone who knows more about the functional layers of Android please explain why we can't go to a per-component driver system like windows? Nothing supports more 'fragmented' hardware than windows, and it seems like such a simple solution when generalized.
Is there a reason, other than giving the user too much system-wrecking ability, that we don't have this driver model in Android?

P.S. try to use medium to small words in your explanation.
 

Puddle Jumper

Platinum Member
Nov 4, 2009
2,835
1
0
AFAIK that's exactly how Android works. The only difference is the SoC vendors don't make their drives available like Windows component manufacturers do.
 

stormkroe

Golden Member
May 28, 2011
1,550
97
91
I'm under the impression that fragmentation is the cause of at least two large issues with android, the first being O.S. update times and the second being app development difficulties. Unless you have some proof against these issues, I'm going to continue to believe fragmentation is a problem.

I suppose that Android does function underneath like Windows, driver-wise, but what I meant was developers should make it more transparent, e.g. a 'device manager' style list with access to those individual drivers for updates, rollbacks, etc. Then we could push for driver releases from vendors.

If there were some more standards, like DirectX, then the burden would be on the driver writers to support the app, not the app developers to support the driver. Has anyone heard of anything trending this direction?
 

Howard

Lifer
Oct 14, 1999
47,989
10
81
Unless you have some proof against these issues, I'm going to continue to believe fragmentation is a problem.
Perhaps you should go ask the people who explained to you that fragmentation is a problem, then?
 

Puddle Jumper

Platinum Member
Nov 4, 2009
2,835
1
0
I'm under the impression that fragmentation is the cause of at least two large issues with android, the first being O.S. update times and the second being app development difficulties. Unless you have some proof against these issues, I'm going to continue to believe fragmentation is a problem.

I suppose that Android does function underneath like Windows, driver-wise, but what I meant was developers should make it more transparent, e.g. a 'device manager' style list with access to those individual drivers for updates, rollbacks, etc. Then we could push for driver releases from vendors.

If there were some more standards, like DirectX, then the burden would be on the driver writers to support the app, not the app developers to support the driver. Has anyone heard of anything trending this direction?

Drivers are not something the app developer should be concerned with, that is handled by the devices manufacturer.

Just like on Windows developers do have to test with multiple versions of the os and allowing user upgradable drivers would do nothing to change that.

Android does have standards like DirectX, it uses OpenGL ES for graphics for example.
 

hans007

Lifer
Feb 1, 2000
20,212
17
81
android is linux. you need your drivers compiled into the kernel for a lot of things. or you can have drivers as modules as far as i know.

i'm sure if they really wanted to they coudl do it. the "fragmentation" most people talk about is from the davlik jvm. older versions of android don't support all the latest jvm's calls (so like the jvm in android 4.0 has all the API from 4.0 and down). so the api stack has to be supported. i mean in theory you could probably port the jvm backwards too (i mean if you can run gingerbread apps on a blackberry playbook....)
 
Feb 19, 2001
20,158
20
81
Fragmentation IS an issue for Android. If you refuse to believe it, you're just digging your head in sand.

- Smugmug released a camera app for iOS, and then cited fragmentation as delays for the Android one coming out.

- Lets take CM9 for example. Most of the devices (except for the NExus S and GNex) are still focusing on porting device drivers working. Video recording on the SGS2 didn't work til last week. I'm not saying the devs are doing a bad job, but they have to reinvent the wheel for each device.

- Each time a new device comes out, we spend countless hours trying to root it. Every device is different. If all devices could be rooted the same way, how many countless hours would that save?

- The SGS1 phones were very well developed for CM7. They had practically everything working. Why? Because they shared the same hardware as the Nexus S. This worked to an advantage. Things were easily ported over from the Nexus S to all the SGS phones.

- Now take the SGS2. It's just as popular as the SGS1 phone if not more. Leading Android phone. However, what other phone uses the Exynos and Mali stuff? The Galaxy Nexus is quite different. As a result CM7 development for the SGS2 was a total mess. FM Radio doesn't work, the Market freezing issue is well known in the CM7 final. CM9 is a mess too. On the other hand you take less popular phones like the Sensation and other HTC phones, and they're a miracle to develop for.

Look, I admire hardware choice and what not, but imagine if there were only ONE phone for Android. Or let's say 5 global phones. If developers could concentrate on just 5 phones instead of 800 phones, wouldn't development get further?

Screen resolutions like qHD, wvga, Motorola's idiotic 858x480 resolution, 720p, etc make app development hard. I remember one app they developed specifically broke on my Motorola Milesstone because they didn't account for the 858x480 resolution. I worked with them on XDA to fix it. Think of it like developing webpages. Devs hated developing to be compatible for IE6 and IE in general.
 

Pia

Golden Member
Feb 28, 2008
1,563
0
0
There are two major kinds of fragmentation on Android. Both types have a direct impact on application developers, and the users trying to get and use 3rd party applications.
1) the variety of actual physical hardware
2) the variety of software (OS) versions

Google should mitigate 1) by raising the minimum standards for Android hardware. This means throwing away some of the advantage of having the widest possible HW choice, but the truth is Android experience at the low end is crap, and the adoption of bad Android devices probably drives users away in the long term. The higher the minimum standard is, the easier life is for application developers.

2) is caused by the retarded subsidized business model which causes phone manufacturers and operators to have little motivation to update existing phones' OS. It is also caused by Google's failure to exercise enough control over the OS, and Google's failure to structure the OS in a way conducive to updates. Google can and should fix a lot of this with a major restructuring of the OS. They should separate Android into two parts, one containing the radio drivers and all the stuff which is by law required to go through an arduous certification process, and another part which contains the bulk of the actual OS. Finally, Google should mandate that the device manufacturers and operators cannot block the user from swapping the main OS layer at will. This way users could immediately get e.g. the latest vanilla Android version instead of waiting/hoping for their device manufacturer's custom version or their operator's approval; this would enable (and motivate) the manufacturers to release their custom versions faster, guarantee the user isn't left hanging, and spread the latest OS versions so that developers can eventually start relying on the new features.
 
Feb 19, 2001
20,158
20
81
^

I think what oyu're saying is more standards. I think MS did a good thing by establishing hardware standards. Every phone has a dedicated camera button for example. Even some things like the 4 buttons at the bottom of the Android phone differ from phone to phone, and that is just the most retarded thing ever. Can you imagine your Windows Applications having File as the last menu sometimes or in the middle instead of being the first? It's a given standard File is first, Help is last.

Standards are good as long as Google doesn't go too far. It seems like they wouldn't be an Apple or MS in terms of locking things down, but it would be good if they implemented some basic standards so things aren't so fragmented across devices.
 

Mopetar

Diamond Member
Jan 31, 2011
7,837
5,992
136
I'm under the impression that fragmentation is the cause of at least two large issues with android, the first being O.S. update times and the second being app development difficulties. Unless you have some proof against these issues, I'm going to continue to believe fragmentation is a problem.

It's really a question of how much of a problem it really is. I'm sure most people would agree that the two issues you've listed are less than desirable, but it's also necessary to realize that it's a necessary tradeoff if you want to have a wide variety of different hardware options. The first really isn't a problem if you stick with Nexus phones, and the second only applies to developers.
 

dagamer34

Platinum Member
Aug 15, 2005
2,591
0
71
Hardware flexibility and range of choice is good until it affects the customer experience. Which brings me to an April Fools joke I found: Google will ban skins, regain control of Android, and have same day OS updates to all phones.

=/
 

Pia

Golden Member
Feb 28, 2008
1,563
0
0
I think what oyu're saying is more standards.
For the hardware, yes. There are already loose standards for what a device needs to be Android 4.0 capable, and it makes sense to tighten those standards for future releases at least at the rate at which technology improves.

If Google mandated that device manufacturers must allow the user to swap the main Android OS layer at any time, that can certainly be called a "standard" of sorts, but it would only limit how much operators and their pet manufacturers can restrict the user's actions, not close any desirable options for a user.
 

Pia

Golden Member
Feb 28, 2008
1,563
0
0
It's really a question of how much of a problem it really is. I'm sure most people would agree that the two issues you've listed are less than desirable, but it's also necessary to realize that it's a necessary tradeoff if you want to have a wide variety of different hardware options. The first really isn't a problem if you stick with Nexus phones,
Having to stick to only Nexus phones is a gigantic blow to the platform's appeal because it removes the hardware choice that is one of Android's main selling points vs iOS.
and the second only applies to developers.
Hurt developers and you hurt users. When developers are burdened with avoidable bullshit like the glacial adoption speed of new OS versions, the users get less software, and the software they do get is worse.
 

bearxor

Diamond Member
Jul 8, 2001
6,609
2
81
Too much of Android lives at the bottom to try and make minimum spec requirements, I think. I don't know anyone, personally, that has bought a high-end (150+) Android devices. They're all either freebies or < $50.

I'd really like to see numbers on that but I can't really explain to Google what I want. Anyone else seen sales data on average selling price of Android phones?
 

Howard

Lifer
Oct 14, 1999
47,989
10
81
Too much of Android lives at the bottom to try and make minimum spec requirements, I think. I don't know anyone, personally, that has bought a high-end (150+) Android devices. They're all either freebies or < $50.

I'd really like to see numbers on that but I can't really explain to Google what I want. Anyone else seen sales data on average selling price of Android phones?
I've only ever seen $300+ phones in person.
 

Dulanic

Diamond Member
Oct 27, 2000
9,949
569
136
Too much of Android lives at the bottom to try and make minimum spec requirements, I think. I don't know anyone, personally, that has bought a high-end (150+) Android devices. They're all either freebies or < $50.

I'd really like to see numbers on that but I can't really explain to Google what I want. Anyone else seen sales data on average selling price of Android phones?

The SGSII is one of the higher selling android phones... but they are all freebies?

Anyways this thread has been hashed over a dozen times, not much else to say that hasn't been said in the past and the same people are making the same arguments that were around 6 months ago.
 
Feb 19, 2001
20,158
20
81
Ok, but all of us here aren't using the budget craptastic Android phones. We're all using top notch phones, and even if our phones are outdated, they were the top phones when we bought them.

Top notch or not, fragmentation still hurts. I pointed out the SGS2 issues, and it suffers a lot from it even though its right behind the GNex.
 

Dulanic

Diamond Member
Oct 27, 2000
9,949
569
136
So CM9 support is what defines fragmentation? That means nothing to 99% of the users out there.

BTW, my SGSII runs CM9 very well and even has Wimax support.

I don't want a android world of no choices. If I wanted that, I would have bought a iPhone.
 

zerocool84

Lifer
Nov 11, 2004
36,041
472
126
Too much of Android lives at the bottom to try and make minimum spec requirements, I think. I don't know anyone, personally, that has bought a high-end (150+) Android devices. They're all either freebies or < $50.

I'd really like to see numbers on that but I can't really explain to Google what I want. Anyone else seen sales data on average selling price of Android phones?

The best selling Android phone is the Galaxy S II. Before that it was the Galaxy S and the Evo 4G. Seriously though this thread has been done to death and what you're asking has been explained to death.
 

Puddle Jumper

Platinum Member
Nov 4, 2009
2,835
1
0
Too much of Android lives at the bottom to try and make minimum spec requirements, I think. I don't know anyone, personally, that has bought a high-end (150+) Android devices. They're all either freebies or < $50.

I'd really like to see numbers on that but I can't really explain to Google what I want. Anyone else seen sales data on average selling price of Android phones?

The most common Android phone I see in public is the Galaxy S followed closely by the Evo and then the Galaxy S2 and the various Droid models. All of those phones were bleeding edge devices when they were released.

I don't think CyanogenMod support is very relevant when it comes to fragmentation since popular or not custom roms are not part of the phones intended use.
 

notposting

Diamond Member
Jul 22, 2005
3,485
28
91
As far as the driver support goes, the manufacturers don't release the information needed. I'm sort of fuzzy on the linux aspect, but they more or less just compile the binaries and they get released with the various phones. Unfortunately they don't release the source code so the same binary won't necessarily work with a newer version of Android etc. This is where you get things like the above hardware problems with custom-roms etc.

And certainly from a UX standpoint it is fragmented...now, that is part of the draw, it can be made different. So the carriers (more so in the US) have their input, and the manufacturers want to do things to lock you into their system. Maybe the problem is people thinking of their phones as running Android, instead of running Touchwiz, Sense, Moto-not-blur-but-it-is-blur, and whatever crap LG and the rest put on.
 

TerryMathews

Lifer
Oct 9, 1999
11,473
2
0
Something else to keep in mind when people talk about fragmentation... It really hasn't been all that long ago that the Android SDK only supported Java.

It seems to me that a lot of the dev talk I see about fragmentation is related to programming in the NDK and issues with hardware and/or GL libs. Which is true but at the same time a little disingenuous because Apple had some growing pains when they made available a native SDK too, and at the time they only had one or two platforms to support.

When users talk about fragmentation, I believe its usually the Android version. There are devices today being sold new with Eclair and no plans to update.

I think the solution to at least number 2, and it would help number 1, is to require manufacturers to provide more source for their devices. Once a device ships, have the manufacturers expose their whole source tree for the shipping ROM. Not just kernel, but build scripts, drivers, and first party apps. The raw kernel isn't always enough when the interface with userland apps isn't documented. This is happening with the HTC Flyer right now. Kernel source is out there, but it interfaces with some userland apps that are drivers to any sane person, and the interface is undefined.

When you have issues taking the kernel source provided, straight compiling it, and dropping it into a shipping ROM, something is not right.
 

bearxor

Diamond Member
Jul 8, 2001
6,609
2
81
The best selling Android phone is the Galaxy S II. Before that it was the Galaxy S and the Evo 4G. Seriously though this thread has been done to death and what you're asking has been explained to death.

I understand the point, but that's like saying the iPhone is the best selling smartphone so EVERYBODY must have one. As I said, I don't know anyone, personally, that has a high-end Android device when it was high end. I've seen some incredibles, some slider droids, a couple of Droid x's, but the people I know always waited until they were on special. I had a couple people I know get some GS2's last week but they were $10 on AT&T.

I'm not aware of what I'm asking a been explained to death. I was just stating my opinion based on my first hand experience. Until last week, I'd never seen a GS2 in the wild. Obviously, your experience might be different (and is, obviously) and I was simply asking a question out of curiosity. Since no one really cares about it, I'll just keep trying to find it on my own.
 

Puddle Jumper

Platinum Member
Nov 4, 2009
2,835
1
0
I'm not aware of what I'm asking a been explained to death. I was just stating my opinion based on my first hand experience. Until last week, I'd never seen a GS2 in the wild. Obviously, your experience might be different (and is, obviously) and I was simply asking a question out of curiosity. Since no one really cares about it, I'll just keep trying to find it on my own.

The Galaxy S2 is the best selling Android phone by a very substantial margin and it also happens to be the most powerful and in many ways is still the best Android phone on the market. That says that a lot of buyers do care about getting a high end product and aren't just getting Android based on the price.