• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

"Dear Android Vendors...."

The biggest gap in compatibility was 1.5 to 1.6. Heck, 1.6, 2.0, and 2.1 all use the same kernel. Aside from OS specific features, if you make an app compatible with 1.6, it should work fine on any newer version.

I mostly agree with what you're saying here but this is incorrect, or rather, misleading.

The amount the kernel has changed isn't the only factor at work. Since most apps run in Dalvik and only interact with the kernel via the Android API.

From an API perspective the biggest change was 1.6-> 2.0

Certain APIs have changed so considerably that you cant target 1.6 and just call it a day. The contacts API and Bluetooth just to name two. In order to properly code for both post eclair and pre eclair you would have to write two of everything related to those sections and use reflection to launch the correct code. This isnt an issue so much for a team of devs working on bigger apps but it's a real pain for independent devs trying to push features as fast as they can so they can get noticed. I know this because I used to do it too. I wrote a separate contact parser for pre and post eclair and kept trying hard to support 1.5 and 1.6 but finally gave up and just set my minSdk=5 (post eclair).

Also, from a performance perspective the biggest change was 2.1->2.2.

This is where I think the big (f-word) fragmentation speed bump is. Since high performance apps benefit significantly from 2.2 because of the JIT, we're going to see a lot less practical fragmentation in the next year or two.

So, while there certainly are some fragmentation issues, I think we're going to see the practical differences disappear shortly, now that we have the JIT.
 
Upvote 0
So, while there certainly are some fragmentation issues, I think we're going to see the practical differences disappear shortly, now that we have the JIT.

I disagree.

What happens when NVIDIA pushes CUDA extensions for Tegra SoCs on Android? Tegra 3 is rumored to have full on CUDA. Will certain manufactures integrate it? CEO Jen-Hsun Huang is all on rallying for it.

Will Google bundle the hooks? NVIDIA are already demoing 3D games that take advantage of CUDA parallelism.

This will be big deal when CPU manufactures offer new hooks to offer a competitive advantage. E.G. Dual cores running faster, cooler, with exponentially battery life.

Then, we can see where have video games, video apps that specifically require Tegra processors. I can see this coming down the pipe-line. There will be games target with certain handsets with certain GPU capabilities.
 
Upvote 0
I disagree.

What happens when NVIDIA pushes CUDA extensions for Tegra SoCs on Android? Tegra 3 is rumored to have full on CUDA. Will certain manufactures integrate it? CEO Jen-Hsun Huang is all on rallying for it.

Will Google bundle the hooks? NVIDIA are already demoing 3D games that take advantage of CUDA parallelism.

This will be big deal when CPU manufactures offer new hooks to offer a competitive advantage. E.G. Dual cores running faster, cooler, with exponentially battery life.

Then, we can see where have video games, video apps that specifically require Tegra processors. I can see this coming down the pipe-line. There will be games target with certain handsets with certain GPU capabilities.

I think you misunderstood me. You're talking about a specific set of 3D games, I was talking about the platform in general. Not everyone uses their phones for the latest Nvidia rendering technology.

I agree with your prediction though. Cutting edge games will always have issues with regards to what level of tech to support, that's a given.

But that kinda thing spurs competition, not fragmentation. The PC gaming market was thriving (and still is) expecially in the late 90s and early '00s because of this kind of competition. Sure, consoles fare very well but they never caused the death of PC gaming.

Besides, you dont offer a dev a competiative advantage by limiting their audience to a specific processor. Rather, the processor makers will do well to implement common APIs like OpenGL/DirectX were to PC gaming. Showing off that kind of tech though is just showboating by the processor manufacturers.

Sure you'll have people like Jon Carrmack lamenting the woes of not having his favorite pixel shader, but at the same time you have the Valves and Biowares of the mobile world emerge and eat the Jon Carmmacks for lunch by implmenting games that can run on more phones.

So 3D games might have a bit of a bumpy road but they always had a bumpy road, and there were (and are) still great sucesses stories.
 
Upvote 0
Such a tweak would still require that Android must have dynamic device independent native scaling. Which it does.

Here is a sample.

Device independent display scaling | Android Academy

With all due respect, did you even read that link? He coded his game to use display scaling because the OS itself doesn't manage it. That's the achievement he's bragging about. As a programmer, you have to tell the OS, "Hey, scale it like this!" Android doesn't do it automatically like iOS and desktop operating systems do.

Samsung made a tweak in Android for the Tab that tells the OS to scale anything that wasn't designed to be scaled natively. This is what enhances its app compatibility.

mrspeedmaster said:
What happens when NVIDIA pushes CUDA extensions for Tegra SoCs on Android? Tegra 3 is rumored to have full on CUDA. Will certain manufactures integrate it? CEO Jen-Hsun Huang is all on rallying for it.

Google is all about open standards. The minute Nvidia pushes Cuda on mobile, we'll finally see Google adopt OpenCL. I've been waiting for this. Having OpenCL on a mobile platform would be a huge performance boost for these devices. ImgTec and Qualcomm would be beyond foolish to let Nvidia be the exclusive supporter of it.
 
  • Like
Reactions: EarlyMon
Upvote 0
Is the problem looking too much of the same (people hark about the need for standardization) or the problem looking because they all look too different (interface fragmentation).

People, make up your minds.

It's easy to satisfy both groups (Standards and customized): If you (A manufacturer) re-skins the Android interface, keep it OUTSIDE of the OS. Make it as easy to remove as any other new home screen replacement.

This makes Android both standardized AND customized. Updates come faster (Less re-coding required of Android from the vendors), fewer break-fixes, and the end users can either keep all the eye candy the vendor made or get rid of it. Their choice.
 
Upvote 0
With all due respect, did you even read that link? He coded his game to use display scaling because the OS itself doesn't manage it. That's the achievement he's bragging about. As a programmer, you have to tell the OS, "Hey, scale it like this!" Android doesn't do it automatically like iOS and desktop operating systems do.

Samsung made a tweak in Android for the Tab that tells the OS to scale anything that wasn't designed to be scaled natively. This is what enhances its app compatibility.

Easy there tiger... ;)

Samsung may have made a tweak to handle scaling better on it's Tab, but Android does support scaling. I think maybe you should ease up on giving the guy the "with all due respect" treatment. I think Samsung's tweak related to aspect ratio.

Supporting Multiple Screens | Android Developers

Density-independent pixel (dp)A virtual pixel unit that applications can use in defining their UI, to express layout dimensions or position in a density-independent way. The density-independent pixel is equivalent to one physical pixel on a 160 dpi screen, the baseline density assumed by the platform (as described later in this document). At run time, the platform transparently handles any scaling of the dp units needed, based on the actual density of the screen in use.
 
Upvote 0
I apologize if I displayed any apparent frustration. The poster in question is someone who likes to disagree for the sake of disagreeing. Lately, I've generally just ignored him.

I'll clarify my point. If you write a game for a 240x480 resolution, and it's run on a 480x800 display, this scales easily, and Android does it. If you, however, try to run the same app on a Droid X, which is 480x854 (a different aspect ratio), the game will have issues due to Android's poor and incomplete built-in scaling. The developer has to either tell the game specifically how to scale, or (as in the case of most games), alter the game's user interface to fit that resolution.

iOS deals with 1 aspect ratio and two resolutions. You can either code for low-res and let the OS scale it, or code for both. Alternatively, you can code for high-res and just ignore legacy devices.

Android currently deals with 3 aspect ratios and 6 resolutions (soon to be a few more, not counting tablets). It's not an "either/or" choice for the developer. It's a lot of extra work, which is why this is the hardest part of fragmentation.
 
Upvote 0
At my age, I'm happy to remember my pants.

And how is a selection of higher and lower priced phones with varying capabilities qualifying as fragmented, as has been already asked?

Only the people that pick up the budget phone thinking/wanting it to do everything that the $200+ phone on contract can do are the ones that are going to argue that it is fragmented in that case.

The biggest argument for OS fragmentation IMO is the rate at which we are given official OS release. New versions of Android come out and people need to PRAY their device gets it in some cases (with some companies). In many cases, the device doesn't even have to be old tech (I am looking at you AGAIN, Epic). There is still the choice aspect, I will give you that. What we have to account for is the potentially uninformed customer. Beleive it or not (and this part isn't directed at you, Early), there are more people out there than not that DON'T know Samsung and Moto have a bad rap for their update rates. At the end of the day, when people feel screwed, they point their fingers at Google/Android. Is this fair? No, but who really cares. It's what happens, and that is what matters. We can all talk about this until we are blue in the face, but if it seems fragmented to the general public, and that is what the general public believes, it definitely isn't a good thing.
 
Upvote 0
With all due respect, did you even read that link? He coded his game to use display scaling because the OS itself doesn't manage it. That's the achievement he's bragging about. As a programmer, you have to tell the OS, "Hey, scale it like this!" Android doesn't do it automatically like iOS and desktop operating systems do.

Samsung made a tweak in Android for the Tab that tells the OS to scale anything that wasn't designed to be scaled natively. This is what enhances its app compatibility.

.

Did you read the article that carefully?

The point is, there is no hard coded display coordinates based on pixel resolution. No OS can magically transform hard coded pixel based coordinates and scale them; the apps have to meet the OS half way by using device and resolution independent values.

As for iOS scaling, take a look at iPhone apps on the iPad and they simply don't scale unless they are specifically written for the iPad. Device independent scaling only appears to be in iOS 4 where you got some real scaling essential for dealing with the Retina display.

http://atastypixel.com/blog/uiimage-resolution-independence-and-the-iphone-4s-retina-display/

Again, note the migration from hard coded pixel resolution values to more abstract "points" or values that is resolution independent.

Scaling in Android was introduced in v1.6.

Android 1.6 Platform | Android Developers

DisplayMetrics | Android Developers

Support for extra high density screens introduced in v2.2. Also note support for extra large screens in 2.3.

Supporting Multiple Screens | Android Developers

The so called "tweak" isn't Samsung's. Its XDA's "Spare Parts". That's only for a few apps that couldn't for any reason scale on the Tab's display. I never used this, but all the apps I've installed on the Tab did scale.

http://www.addictivetips.com/hardware/how-to-scale-apps-to-fit-screen-in-samsung-galaxy-tab/

The scaling on the Tab is done through the public APIs. I don't see any tweaks Samsung added to the Android APIs. Rather, its all just recommendations and guidelines.

http://innovator.samsungmobile.com/galaxyTab.do
 
Upvote 0
Hope Android vendors hear this so we have a "different" cell phones in future.

I think they're getting it. Motorola didn't put Motoblur on the original Droid, but they did on some lower end handsets. It was poorly received and negatively affected their update schedule, so the Droid X and Droid 2 got less of it. SE realized their screw-up with TimeScape/MediaScape and decided not to do it with their new Xperia line. Still, the damage was done with the Xperia X10 and X8 line. I don't see a lot of repeat buyers from that camp.

HTC seems to be one of the few not only sticking with their software layer, but actually expanding it. To their credit though, they rarely leave a handset on the released OS.
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones