or Connect
AppleInsider › Forums › Mobile › iPod + iTunes + AppleTV › 87 percent of Android developers worried about fragmentation, survey says
New Posts  All Forums:Forum Nav:

87 percent of Android developers worried about fragmentation, survey says - Page 2

post #41 of 87
Quote:
Originally Posted by shard View Post

You listed a handful of devices from a few manufacturers. There are tons more. Also we develop for the international market and not just the US, that means the number of devices goes up again.

Edit.

In case anyone is interested, here is a list of Android devices, there are hundreds and possibly thousands if you include different Android versions and I am pretty sure the list is not complete.

http://en.wikipedia.org/wiki/Compari...ndroid_devices

and they all use ARM based CPU's with wifi or GSM for network hardware and the same few resolutions. it's not like Windows NT/2000 had separate versions for x86/MIPS/DEC Alpha and i forgot what else.

the biggest PITA seems to be the manufacturer "optimization"

and i tend to read the release notes for my app updates and i always see stuff like fixing bugs for iOS 3 devices or an app would crash on iphone 4 or 3G or 3GS
post #42 of 87
Quote:
Originally Posted by fecklesstechguy View Post

I don't understand what you mean in this case, the only difference is a slight shift in the positioning of the antenna and the use of CDMA chipset instead of GSM chipset. The rest of the hardware is the same, the OS is the same and the apps run exactly the same way as they have on the ATT iPhone 4. How is the VZN iPhone 4 "very different"?

but if this was two different HTC phones for verizon and AT&T where the only difference was the radio it would be fragmentation?
post #43 of 87
Quote:
Originally Posted by al_bundy View Post

and they all use ARM based CPU's with wifi or GSM for network hardware and the same few resolutions. it's not like Windows NT/2000 had separate versions for x86/MIPS/DEC Alpha and i forgot what else.

the biggest PITA seems to be the manufacturer "optimization"

and i tend to read the release notes for my app updates and i always see stuff like fixing bugs for iOS 3 devices or an app would crash on iphone 4 or 3G or 3GS

You are over simplifying. There are different ARM CPUs in use with different amounts of ram and different graphics capabilities.

We actually do test against everything, no shortcuts. Just because somethings share the same components does not mean they are the same, unless they have the exact same specs.

You may think it's easy but it is not. A Motorola Droid running one version of Android and another with a different version is considered 2 devices. The GSM version of the Droid (Milestone) is again a different device and needs to be tested running on all supported versions of Android. That is basically 1 device that needs to be tested 4 times. We also have different interfaces, virtual keypad, virtual keyboard, a real keyboard, a real keypad, touch interface, physical mouse or touchpad etc
post #44 of 87
"87% find it a problem" The other 13% are the Fandroids who regularly harass us here.
A.k.a. AppleHead on other forums.
Reply
A.k.a. AppleHead on other forums.
Reply
post #45 of 87
Quote:
Originally Posted by al_bundy View Post

but if this was two different HTC phones for verizon and AT&T where the only difference was the radio it would be fragmentation?

It's different because the nature of the networks is different. GSM supports concurrent data, voice and messaging and Verizon does not. The way the apps switch etc is handled differently.

Ideally it should be write once deploy to many. But when fragmentation occurs you are writing once to deploy to one.
post #46 of 87
Quote:
Originally Posted by alandail View Post

android developers need to stop looking at fake market numbers and look at the real numbers

http://gs.statcounter.com/#mobile_os...-201101-201103

exactly how do they keep claiming Android has more US market share? THe answer, they exclude almost half of iOS devices sold because they can't compete with them,

That graph is showing WEB HITS to sites using stat counter where the user got to that website by using a search engine. It does not cover native apps, history hits (typing an address in nav bar and then clicking completed address from your history), bookmarks, or news readers (RSS). Furthermore, it has NOTHING to do with the percentage of people who actually have devices, and has practically NO bearing on how the app market for either platform is doing. A few months ago, there was a report that said android users were more likely to click on web based ads than iOS users (this was before Android was larger volume wise). Did this have any bearing on app profitability? Not really.
post #47 of 87
Quote:
Originally Posted by Robin Huber View Post

"87% find it a problem" The other 13% are the Fandroids who regularly harass us here.

IF you don't want android users to post here, AI should stop posting SEO Bait anti-android posts with limited connection (at best) to "Apple news and analysis"
post #48 of 87
when the IBM PC came out, other companies tried to sell computers that also ran DOS. However, they didn't really start selling until someone managed to make one 100% IBM-PC compatible so developers (including the OS developers) could target a single reference standard.

Google apparently didn't learn anything from this. Manufactures were encouraged to customize the OS for their specific devices, which means those devices can't be upgraded unless/until they repeat that same work.

How many Android phones were released before they release a reference standard with the failed Nexus One? How many phones today are even compatible with Nexus One? I suspect few since so few Android phones are on v2.3.x.

How is Google supposed to develop an OS release for all of the phones if there is no reference standard to target? What do developers even target? Do they need to have every Android phone ever released running every version of the OS that given phone supports?
post #49 of 87
I'm not going to argue if fragmentation is an issue or not. It clearly is (at least for a nice chunk of developers) But this "Survey" is idiotic, and as presented, shouldn't be listened to.

First, where is their methodology? WHat I mean is this:
-How did they select the developers they were interviewing? Was it opt in? Random? Did they choose top developers for both platforms? What was their answer rate compared to the number of developers they invited to take this survey? NONE of this information is openly available in this article, or in the CNN article everyone is quoting.
-What did the final spread of developers look like? How many exclusively developed for Android/iOS, how many were big in both (eg, ROVIO), and how many were exclusive devs looking to branch out?
-What apps were they developing? Developers who work at creating "Native" apps (using the NDK) will have HARDWARE fragmentation issues more than software. So even if all devices were currently ON gingerbread they would still have severe Fragmentation issues. Did Baird take this into account?
-How many developers called a country currently not open to paid apps with Android home? Again, this is a wholly different version of Fragmentation from OS versions while still being software related. Since they mentioned fragmented app stores, I'm guessing this number is rather high as amazon's app store JUST launched and has next to no real presence yet.

Furthermore, where is the information about comparing this data? Are we honestly going to trump a research study that gives us a SINGLE question? Seriously? Where is the AI that dismisses any "pro android" stats because of poor methodology? You don't even KNOW the methodology here and you're treating it as gospel. Now I'm sure if you contact Baird you can get a full copy of the report (most likely for several hundred dollars) Did you? Heck, did ANYONE? The CNN piece was obviously written off of a press release.

And let's look at the question they actually gave us the breakdown for: It has 5 possible answers of which 4 are variations of "Yes, Fragmentation is a problem" Statistically, most respondents would answer in the affirmative because if fragmentation affected you AT ALL, you would answer yes. Even if the fragmentation issue had NOTHING to do with OS versions, or if you thought it was a problem, but one you were willing to code around (like lack of Multitasking/backgrounding was for iOS for the longest time)

Again, I'm not debating that Fragmentation isn't an issue, or even that most developers don't feel this way. I'm sure that they do. What I'm saying is that before sites just blindly post this kind of "research" they figure out how it was gathered and verify it. AI is quick to dismiss any research that is "anti apple" because of poor methodology, so they obviously have ways of finding this information. Why not use it ALL the time instead of republishing bad information as long as it suites you? (for the record, I think ALL sites should do this, and I've said as much on other websites)

This isn't a fan site. It's a site that tries to bill itself as a source of news and analysis. The first step to both of those things is valid information.
post #50 of 87
Quote:
Originally Posted by shard View Post

You are over simplifying. There are different ARM CPUs in use with different amounts of ram and different graphics capabilities.

We actually do test against everything, no shortcuts. Just because somethings share the same components does not mean they are the same, unless they have the exact same specs.

You may think it's easy but it is not. A Motorola Droid running one version of Android and another with a different version is considered 2 devices. The GSM version of the Droid (Milestone) is again a different device and needs to be tested running on all supported versions of Android. That is basically 1 device that needs to be tested 4 times. We also have different interfaces, virtual keypad, virtual keyboard, a real keyboard, a real keypad, touch interface, physical mouse or touchpad etc

the interface thing i kind of agree but even most keyboard phones have touch these days

for the different speeds of the CPU/GPU this has been handled by the PC game devs long ago. look at the installed base and figure out which percentage you want to support. then write your app for the slowest hardware of your percentage. for the really good devs they do optimizations to support the latest and greatest GPU's. like Epic did with the newest version of Infinity Blade

maybe apple virtualizes the hardware better in it's software but most apps i see still support the iphone 3G and that generation ipod touch. these had no GPU. so devs are writing code for really old devices and then extra code if they want to give eye candy to the 3GS and iphone 4 level phones
post #51 of 87
a couple of interesting charts



and

post #52 of 87
Quote:
Originally Posted by alandail View Post

when the IBM PC came out, other companies tried to sell computers that also ran DOS. However, they didn't really start selling until someone managed to make one 100% IBM-PC compatible so developers (including the OS developers) could target a single reference standard.

Google apparently didn't learn anything from this. Manufactures were encouraged to customize the OS for their specific devices, which means those devices can't be upgraded unless/until they repeat that same work.

How many Android phones were released before they release a reference standard with the failed Nexus One? How many phones today are even compatible with Nexus One? I suspect few since so few Android phones are on v2.3.x.

How is Google supposed to develop an OS release for all of the phones if there is no reference standard to target? What do developers even target? Do they need to have every Android phone ever released running every version of the OS that given phone supports?

moot point since there is an 18 month cycle for upgrades. my Inspire 4G cost me $20 with Froyo on it. even if i don't get android 2.3 i don't care since by the time there are apps that need it i will be eligible for an upgrade.

before i got the ipad 2 i thought about just getting the first one since it will be 2 years before apps come out for it in force

it's not like the 1990's when computers cost $3000 and you had to buy a fast machine so it would last you many years and that you could upgrade it during that time
post #53 of 87
Quote:
Originally Posted by alandail View Post

when the IBM PC came out, other companies tried to sell computers that also ran DOS. However, they didn't really start selling until someone managed to make one 100% IBM-PC compatible so developers (including the OS developers) could target a single reference standard.

Google apparently didn't learn anything from this. Manufactures were encouraged to customize the OS for their specific devices, which means those devices can't be upgraded unless/until they repeat that same work.

How many Android phones were released before they release a reference standard with the failed Nexus One? How many phones today are even compatible with Nexus One? I suspect few since so few Android phones are on v2.3.x.

How is Google supposed to develop an OS release for all of the phones if there is no reference standard to target? What do developers even target? Do they need to have every Android phone ever released running every version of the OS that given phone supports?

Actually they don't. A majority (well over 90%) of apps can be coded to run exclusively off of the Dalvik Virtual machine. This machine is consistent across devices and is NOT dependent on individual hardware configurations. IF an app is coded to work within the Dalvik framework it should work on all handsets unless it uses an API from a version of Android that device does not have. (the biggest hurdle was developing modern apps that also worked with 1.5, and now that 1.5 is practically gone it can safely be ignored). The SDK allows for an app to optimize itself based on the available hardware specs (resolution, DPI, etc) and all the developer needs to do is make sure those files are available for the app, they DON'T need to code the app specifically for every device.

This is like an Apple developer making an app that can Multitask (os4.0+) but has a version that doesn't multitask for devices that can't handle it. Such as my ipod touch. from 1.6-3.0 this can be done, and a lot of developers configure it properly. Unlike what Steve jobs might say, MOST applications work fine across multiple devices and OS levels because they were programmed using the SDK.

The problem comes when developers try making NATIVE applications (using the NDK) which means they are bypassing the Dalvik VM to access the phone's hardware directly. The primary benefit of doing this is if you want to make high end graphic games. Most games can use the SDK, but for complex rendering, the NDK provides a superior framework (at least until Honeycomb/whatever I is) The big issue is that everyone is trying to develop with the NDK, using fixed resolutions for their app, even if the app doesn't require it. (for example, a simple scroller does NOT need to use the NDK, but a lot of them try, because it's what they're used to with iOS)


As for reference devices, a majority of the phones out there right now are at least at the level of the NexusOne/S when it comes to hardware. Some of them far surpass it. The reason so few devices have 2.3 isn't because the hardware can't support it, it's for other reasons (carrier intervention, Manufacturer laziness, etc).
post #54 of 87
Quote:
Originally Posted by alandail View Post

a couple of interesting charts



and


How are these interesting? The first shows web traffic (so no OS breakdown).

And the second shows a breakdown based on large number.

By using that one, Androids breakdown is the following: (Using Market numbers)

1.x=6.2%
2.x=92.88%
3.x=.2%

EDIT: Forgot to post the source: http://developer.android.com/resourc...-versions.html
post #55 of 87
Quote:
Originally Posted by Menno View Post

How are these interesting? The first shows web traffic (so no OS breakdown).

And the second shows a breakdown based on large number.

By using that one, Androids breakdown is the following: (Using Market numbers)

1.x=6.2%
2.x=92.88%
3.x=.2%

EDIT: Forgot to post the source: http://developer.android.com/resourc...-versions.html

iOS 4 was released a month after Android 2.2 and has been adopted by a much higher percent of iOS users than Android 2.2.

Andriod 2.3 was released well before iOS 4.3, yet iOS 4.3 is used by a much higher percentage if iOS users.

And the other chart shows that iOS still dominated the mobile market when so many people want to make you believe Android dominates. Because it includes the iPod touch and breaks out the iPad.
post #56 of 87
Quote:
Originally Posted by alandail View Post

iOS 4 was released a month after Android 2.2 and has been adopted by a much higher percent of iOS users than Android 2.2.

Andriod 2.3 was released well before iOS 4.3, yet iOS 4.3 is used by a much higher percentage if iOS users.

And the other chart shows that iOS still dominated the mobile market when so many people want to make you believe Android dominates. Because it includes the iPod touch and breaks out the iPad.


You're comparing a broad OS (4.0) to a specific one (2.2). How many of those 4.x iOS devices are running the fully enabled version of iOS 4.3.1 and not an "older" version of os 4.0 that has significant pruning in API permissions to get it to run on older hardware?

My ipod touch has ios4, but it doesn't have folders, it doesn't have wallpapers, it doesn't have multitasking. So an app developer who wants to use multitasking will have to develop a SEPARATE way for my device to handle the app (different API level) this is like 2.1 to 2.3.

Apple "cheats" these numbers by calling all variations of 4.0 the same. Even though an app will require DIFFERENT programming for dealing with my ipod touch compared to the latest one (disregarding the camera and higher res screen) they're both considered 4.x devices.

A valid comparison to 4.x is 2.x as far as API levels and development go. And as you can see, the numbers are VERY comparable.

As for the other graph, that is MOBILE WEB IMPRESSIONS. And there are countless Stats that show Android ahead. It just depends which service you use. It has NOTHING to do with the number of actual devices out there.
post #57 of 87
On 26 October 2009, the 2.0 (Eclair) SDK was released.
The 2.1 SDK was released on 12 January 2010.
On 20 May 2010, the 2.2 (Froyo) SDK was released (now at version 2.2.2)
On 6 December 2010, the 2.3 (Gingerbread) SDK was released (now at version 2.3.3)

It's now April of 2011. Are you suggesting that 18 months of Android releases should be considered the same version?

And are you suggesting that Apple somehow makes it harder on developers to bring their latest OS to old devices while scaling the features to what the hardware can support? From a programmers perspective I believe the only real difference is multitasking support. All of the new frameworks are there.

And the "countless" stats that show Android aheadalways exclude both the iPod touch and the iPad. I've yet to see anything that suggests Android is ahead (or even close) when those are included.
post #58 of 87
Quote:
Originally Posted by al_bundy View Post

yet on MS Windows different resolutions have been standard for years and years and apps have magically adjusted and looked as good. except with LCD's where the monitor has one native resolution. but buying a better LCD will not make your apps look like crap

why are iOS and android having such issues with this?did MS patent it back in the day and no one can do it?

I hear this argument all the time, but it doesn't make sense:

First of all it simply isn't true: try scaling some Windows applications from 320x240 up to 2500x1600 and find out that many can't scale that far down (at least not without becoming unusable) and many others will simply look like crap when you make them very large, because they fill up huge amounts of their windows with unused spacing or hideously ugly oversized controls, have popups or tool windows that don't scale with the main window, etc. The scaling on desktop apps works reasonably well above a certain threshold resolution of about 1024x768 and upwards. Below that resolution you're going to have a really hard time using your computer comfortably, and there is no such thing as automatic scaling that magically optimizes the UI and layout across arbitrary resolutions.

Second, the UI paradigm used on the desktop is completely incomparable to a smartphone or tablet. Desktop user interfaces can use multiple windows, popups, hierarchical menu's, floating tool windows, and all kind of other tricks to cram more content and functionality in the same space. Many of these require a pixel-precise input mechanism to be usable, controlling a typical Windows application with touch input is a disaster, try tapping through a 3-level menu or a minuscule toolbar with your finger some time (e.g. using VNC or X-Windows on an ipad) and you'll find out. Add to that that smartphone/tablet applications are almost exclusively modal, ie: a single window occupies the whole screen, and there is no way to split up an application over multiple windows easily.

Last but not least there is a big difference between scaling up an application, and having it make good use of the screen. You can take MS Paint from Windows 3.11 and scale it up to fill a 2500x1600 screen, but it will not make the application better or easier to use. In fact, it will probably be almost unusable because the raster elements in the UI don't scale at all.

So referring to desktop applications to make a point about phone or tablet applications, it simply doesn't make sense.
post #59 of 87
Quote:
Originally Posted by Menno View Post

You're comparing a broad OS (4.0) to a specific one (2.2). How many of those 4.x iOS devices are running the fully enabled version of iOS 4.3.1 and not an "older" version of os 4.0 that has significant pruning in API permissions to get it to run on older hardware?

My ipod touch has ios4, but it doesn't have folders, it doesn't have wallpapers, it doesn't have multitasking. So an app developer who wants to use multitasking will have to develop a SEPARATE way for my device to handle the app (different API level) this is like 2.1 to 2.3.

Folders and wallpapers are irrelevant for development. Implementing a non-multitasking fallback for 4.x devices without multitasking support is rather trivial, as you'll need the non-multitasking parts for the multitasking version anyway (freezing state, suspend/resume). It's really a matter of hours rather than days.

Of course there are differences in what software and hardware features are supported on various devices but between 4.x releases they are very small and specific. Think gyroscope, game center, multitasking and optional retina display support.

Quote:
Originally Posted by Menno View Post

Apple "cheats" these numbers by calling all variations of 4.0 the same. Even though an app will require DIFFERENT programming for dealing with my ipod touch compared to the latest one (disregarding the camera and higher res screen) they're both considered 4.x devices.

A valid comparison to 4.x is 2.x as far as API levels and development go. And as you can see, the numbers are VERY comparable.

I disagree. There is no cheating, and the required effort to support the complete range of 4.x devices is trivial. In most cases (the ones that don't use any specific features such as the gyroscope or multitasking) the effort is zero. In all other cases we're talking about 10, maybe 20 lines of code to check and disable unsupported features. Even when you start including 3.x devices the effort is minimal. I'm currently writing a game that was developed on a 3GS running the latest 4.x version all the time, making it work on 3.x on 3G-generation devices literally took 2 extra functions, 10 lines total, and an hour of profiling to find performance bottlenecks and tuning down some aspects of the game to make it smooth enough.

All in all I think you have a wrong impression of iOS backwards and forwards compatibility. iOS versions with the same major version are extremely similar, differences are easy to work around, and you'd have to write something extremely specific to run into major compatibility or performance issues that cannot easily be tested with just 2 devices (e.g. a 3G or 1st gen iPod Touch + an iPhone 4 will currently cover about every iPod, iPhone and OS version you'll find 'in the wild')
post #60 of 87
Quote:
Originally Posted by alandail View Post

On 26 October 2009, the 2.0 (Eclair) SDK was released.
The 2.1 SDK was released on 12 January 2010.
On 20 May 2010, the 2.2 (Froyo) SDK was released (now at version 2.2.2)
On 6 December 2010, the 2.3 (Gingerbread) SDK was released (now at version 2.3.3)

It's now April of 2011. Are you suggesting that 18 months of Android releases should be considered the same version?

And are you suggesting that Apple somehow makes it harder on developers to bring their latest OS to old devices while scaling the features to what the hardware can support? From a programmers perspective I believe the only real difference is multitasking support. All of the new frameworks are there.

And the "countless" stats that show Android aheadalways exclude both the iPod touch and the iPad. I've yet to see anything that suggests Android is ahead (or even close) when those are included.

As far as functional API goes, yes, those 18 months are essentially the same version (2.0 and 2.1 are both even considered eclair)

We're talking for DEVELOPING purposes here, and in that there is very little a developer needs to do to push an app to be compatible between 2.1-2.3, or even 1.6-2.3

Again, the ONLY serious issues come when you're talking 1.5 devices OR if the developer is trying to use the NDK.
post #61 of 87
Quote:
Originally Posted by Menno View Post

As far as functional API goes, yes, those 18 months are essentially the same version (2.0 and 2.1 are both even considered eclair)

We're talking for DEVELOPING purposes here, and in that there is very little a developer needs to do to push an app to be compatible between 2.1-2.3, or even 1.6-2.3

Again, the ONLY serious issues come when you're talking 1.5 devices OR if the developer is trying to use the NDK.

if you're porting an app or reusing existing code, you either use NDK so you can use your C/C++ code or you have to rewrite all of your code in Java, right? I just ported a major C++ app that is a cross platform Mac/Windows app to the iPad (using objective-C++), it took less than 2 weeks to get all of that code up and running.
post #62 of 87
Quote:
Originally Posted by alandail View Post

if you're porting an app or reusing existing code, you either use NDK so you can use your C/C++ code or you have to rewrite all of your code in Java, right? I just ported a major C++ app that is a cross platform Mac/Windows app to the iPad (using objective-C++), it took less than 2 weeks to get all of that code up and running.

DalvikVM/SDK means Java based, yes. But what you're talking about has nothing to do with Fragmentation. Fragmentation is between different versions of Android, something that the SDK/Dalvik VM were designed to mitigate.

It might be easier to port existing code from other ecosystems into iOS compared to Android (I'll leave that up to a programmer) but if the android program is developed with the SDK, OS "Fragmentation" and things like screen resolutions/sizes are not the overwhelming issue that people claim, this is doubly true thanks to the new "Fragments" framework, that works from 1.6-3.0+
post #63 of 87
Quote:
Originally Posted by sflocal View Post

Wait... do you mean the fandroids criticizing everyone about spreading the fragmentation FUD were actually in denial??? Say it ain't so!!!

lol, the rabid fandroids will always be in denial.
post #64 of 87
deleted
post #65 of 87
Quote:
Originally Posted by Menno View Post

DalvikVM/SDK means Java based, yes. But what you're talking about has nothing to do with Fragmentation. Fragmentation is between different versions of Android, something that the SDK/Dalvik VM were designed to mitigate.

It might be easier to port existing code from other ecosystems into iOS compared to Android (I'll leave that up to a programmer) but if the android program is developed with the SDK, OS "Fragmentation" and things like screen resolutions/sizes are not the overwhelming issue that people claim, this is doubly true thanks to the new "Fragments" framework, that works from 1.6-3.0+

So fragmentation isn't an issue if you're not at all concerned with having your app run on other OSes?

I think most Android developers (87%?) care about cross platform development. People bringing iOS apps to Android, people who eventually want their successful android app to run on iOS devices, etc.
post #66 of 87
Quote:
Originally Posted by MacRulez View Post

Yep, nothing says "quality" like have 23 versions of fart apps.

Good thing Apple's VP of the App Store stepped in to protect his "quality" (he wrote one of the first fart apps) by now excluding apps where there are too many in a given category (such as his own).

282 fart apps in the android market (I guess that's one way to get your app count up)

https://market.android.com/search?q=fart&so=1&c=apps

I guess that's better than the 100 malware apps that made there way in (I guess another way to boost the app count?).
post #67 of 87
deleted
post #68 of 87
Quote:
Originally Posted by alandail View Post

So fragmentation isn't an issue if you're not at all concerned with having your app run on other OSes?

I think most Android developers (87%?) care about cross platform development. People bringing iOS apps to Android, people who eventually want their successful android app to run on iOS devices, etc.

This "Survey" such as it was is ONLY in regards to Android based development and fragmentation. The survey itself is next to pointless because we don't have the methodology, but if we take it as it is it has NOTHING to say about how developers feel about android as it comes to cross platform development.
post #69 of 87
deleted
post #70 of 87
Quote:
Originally Posted by alandail View Post

282 fart apps in the android market (I guess that's one way to get your app count up)

https://market.android.com/search?q=fart&so=1&c=apps

I guess that's better than the 100 malware apps that made there way in (I guess another way to boost the app count?).

There were 50 malware apps, all from one developer, all pulled. They effected less than 1% of total handsets.

App count is pointless. It was a race started by apple to showcase that they had more apps on their platform. And now that they're lead in numbers isn't as great they're switching to QUality not quantity.

The reality is that the average user will have WELL under 100 apps on their device, and a lot of those apps will be common across users. The number of apps available is great for those of use looking for niche products, but the reality is that numbers are numbers and you could care less if the app store only had 100 apps as long as those are the 100 apps you want. What android really lacks right now is decent discovery and filtering. Without the app store's filtering program (which is good) you'd see just how many of those "hundreds of thousands" of apps are the quality Apple is aiming for.
post #71 of 87
Quote:
Originally Posted by al_bundy View Post

the interface thing i kind of agree but even most keyboard phones have touch these days

for the different speeds of the CPU/GPU this has been handled by the PC game devs long ago. look at the installed base and figure out which percentage you want to support. then write your app for the slowest hardware of your percentage. for the really good devs they do optimizations to support the latest and greatest GPU's. like Epic did with the newest version of Infinity Blade

maybe apple virtualizes the hardware better in it's software but most apps i see still support the iphone 3G and that generation ipod touch. these had no GPU. so devs are writing code for really old devices and then extra code if they want to give eye candy to the 3GS and iphone 4 level phones

You just made my point. Ideally an app written for 1 Android should work on all other Android devices. There should not be a need to have different versions or decide to write off entire segments of the market.

The fact that developers are doing this means that there is fragmentation. Yes, even the difference in performance between an iPad and iPad 2 is considered fragmentation, right now we have apps that include high resolution graphics for the iPad 2, Infinity Blade and Dead Space comes to mind but it requires extra effort on the part of the developer. This is very minor compared to the mess that is Android.

There may come a day when there will be a new class of apps that only run on the iPad 2 and iPhone 5 because of the speed difference between the processors. Even Rovio the developers of Angry Birds has problems porting Angry Birds to Android with support for all devices.

You used games as an example, which is not mission critical. What about a messaging app? Writing off a percentage of the market means we have already failed since there will always be users who will never be able to communicate with the rest using our app.
post #72 of 87
Quote:
Originally Posted by d-range View Post

Maybe it has something to do with the fact that anyone with a computer can be an 'Android developer' and register as one, even though you have no experience or talent, and are unlikely to ever release anything meaningful? Even my little brother is probably counted as an 'Android' developer some way or another, since he registered himself and got into the Google App Inventor program at some point.

If you wan't to register as an iPhone developer you need a Mac, and to develop and release your work you'll need to fork over $99. This already weeds out all the naive 'I want to be a developer but I don't want to invest anything'-types of people, and limits the pool of 'potential developers' to the less-than-10% Mac marketshare. Plus you need to know Objective-C, which is almost exclusively used on Apple platforms these days. Android is Java, and probably about anyone with a background in computer science or programming know will at least have had to program something in Java that once or twice.

As always, numbers and statistics are deceptive. Just like this '87% of Android developers worried about fragmentation' statistic by the way. It does show that fragmentation is not imaginary on Android though.


Exactly. In a year there will be 50,000 android apps, of which 15,000 are duplicates of others, 10,000 are shilling of content, 15,000 will be games, 5,000 apps which no one can figure the usefulness of and of the remaining 5,000 the useful apps will be lost in the shuffle of whatever is left that actually runs. If someone claims to be a developer and is crying about a $99 fee, they're not a developer. If they can't borrow $99 I don't want whatever they create on my box. And as far as requiring a Mac, well again, it's great that Apple is weeding out anyone who wants to develop apps who is really a hobbyist (who doesn't like Macs) and not likely a potential developer of a worthwhile IOS app. I'm all for anything that keeps the Apple app store from looking like the messy disaster that the Android marketplace already is.

When I had my Mac + I had a friend who chided me for having a computer that had such strict programming rules while Windows was so much easier to release programs for. True, the numbers and choices were no contest, but he had hundreds of horrible Windows programs while I had a few handfuls that worked great, and it was all be design, not because it was too small a market.
post #73 of 87
Seems funny that for all the developer worry, fragmentation doesn't seem to have negatively effected the end Android user to any large scale.
post #74 of 87
Quote:
Originally Posted by shard View Post

You just made my point. Ideally an app written for 1 Android should work on all other Android devices. There should not be a need to have different versions or decide to write off entire segments of the market.

The fact that developers are doing this means that there is fragmentation. Yes, even the difference in performance between an iPad and iPad 2 is considered fragmentation, right now we have apps that include high resolution graphics for the iPad 2, Infinity Blade and Dead Space comes to mind but it requires extra effort on the part of the developer. This is very minor compared to the mess that is Android.

There may come a day when there will be a new class of apps that only run on the iPad 2 and iPhone 5 because of the speed difference between the processors. Even Rovio the developers of Angry Birds has problems porting Angry Birds to Android with support for all devices.

You used games as an example, which is not mission critical. What about a messaging app? Writing off a percentage of the market means we have already failed since there will always be users who will never be able to communicate with the rest using our app.

Messaging apps are developed using the SDK, which automatically handle different resolutions, speed and hardware configs. This is easily available knowledge.

THe ONLY fragmentation issues come up when you're working with the NDK, or your app requires an API level not available in older versions (which most don't)
post #75 of 87
Quote:
Originally Posted by Menno View Post

Messaging apps are developed using the SDK, which automatically handle different resolutions, speed and hardware configs. This is easily available knowledge.

THe ONLY fragmentation issues come up when you're working with the NDK, or your app requires an API level not available in older versions (which most don't)

which is anyone trying to write or use any cross platform code at all, because those people are using C++ and not Java.
post #76 of 87
Quote:
Originally Posted by alandail View Post

which is anyone trying to write or use any cross platform code at all, because those people are using C++ and not Java.

No, as someone pointed out earlier, if someone is writing a cross platform app they're using a cross platform compiler now that Apple has (wisely) backed off of their ban on them.

And again, Cross platform development has NOTHING to do with Android "fragmentation", specifically in reference to this sham of a survey.
post #77 of 87
Quote:
Originally Posted by Menno View Post

No, as someone pointed out earlier, if someone is writing a cross platform app they're using a cross platform compiler now that Apple has (wisely) backed off of their ban on them.

And again, Cross platform development has NOTHING to do with Android "fragmentation", specifically in reference to this sham of a survey.

how does a cross platform compiler help with using existing cross platform code or libraries. And some of us prefer to not have an artificial layer of inefficiency between our code and the OS as a cross platform compiler is not going to have the same efficiency as native code.
post #78 of 87
Quote:
Originally Posted by alandail View Post

how does a cross platform compiler help with using existing cross platform code or libraries. And some of us prefer to not have an artificial layer of inefficiency between our code and the OS as a cross platform compiler is not going to have the same efficiency as native code.

And again, what you're talking about has NOTHING to do with fragmentation. You just threw it in there when people pointed out the obvious (that the SDK handles most fragmentation issues if people aren't lazy while coding) Note: I'm not saying that using the NDK is being lazy. I'm saying that things like screen scaling, API levels, etc are all capable of being handled NATIVELY by the SDK and it's just up to the dev to put the reference files there. For high end games, you have to use the NDK (at least for the moment), but for practically every other application (and for most games) there is NO reason to use it.

And if you don't prefer to have that middle man of a cross compiler, than don't use it. But to expect EVERYONE to use the same basic code is stupid, specifically when the DALVIK VM is what Android apps were supposed to be run on in the first place. Doesn't WebOS/Windowsphone7/RIM use different frameworks as well? Even if apps were easily portable between iOS and android, in your mind there would still be an issue because they wouldn't work with these other platforms.

That's the biggest issue is that a lot of people expect EVERYONE to develop exactly the same as iOS. I'm sure that if anyone tried, Apple would sue.
post #79 of 87
it certainly does have to do with fragmentation. It's been stated that using the NDK subjects you to fragmentation and I'm giving a good reason why many people would prefer to use the NDK. You're trying to suggest there is no reason to use the NDK beyond game performance, which simply isn't true. If you are goign to write cross platform code, you aren't writing the core of your app in Java, you aren't writing the core of your app in objective-C, and you certainly aren't using a cross platform compiler that supports a limited number of platforms. You're using C++ and creating cross platform code taht works equally well under Windows, MacOS, iOS, Android, and whatever platform there is in the future.
post #80 of 87
Quote:
Originally Posted by alandail View Post

it certainly does have to do with fragmentation. It's been stated that using the NDK subjects you to fragmentation and I'm giving a good reason why many people would prefer to use the NDK. You're trying to suggest there is no reason for anyone to ever use the NDK, which simply isn't true.

No, I've said SEVERAL times, that if someone is making a high end game the NDK is still the best way to optimize the content. In fact, I've said that since the start. Nice second failed attempt at misdirection though.

But if you're porting over a RSS reader and trying to use the NDK you are DOING IT WRONG. This makes as much sense to do on Android as direct porting a flash app to iOS using a cross compiler is. It's just a sign of a lazy dev.

I said that cross platform compatibility has NOTHING to do with Fragmentation. Yes, some devs (such as yourself) may wish to make an app once and then not worry about it, just using the path of least resistance to port it. But I can promise you that doing that means your app won't be successful.

When Apple blocked cross compilers, devs and commenter's on this site (and others) made a huge deal about how only crappy devs tried doing direct ports, and that to be a quality app, the dev needed to make it the "right way" aka native iOS. Android was DESIGNED to use Dalvik as the NATIVE path. If you are using the NDK for ANYTHING but high end games, you're taking the lazy way out. You're creating an application that's not optimized for android just like someone who uses a third rate cross compiler to take their flash game to iOS.

There IS a reason to use the NDK but for a MAJORITY of developers (90%) it is NOT the way to bring their app to Android if they want it to work well, even IF you're working on bringing it to multiple platforms. Again, just because you're used to doing something one way with iOS doesn't mean that EVERYONE will operate the same way. If you can't accept that, then you don't develop for them.

EDIT: I'll add here that I'm a big supporter of Web apps for just the frustrations you're likely to list in reply below. This would allow apps to be developed "Natively" and work across platforms. The sooner we can do away with restrictive coding languages that make the final product work on only a single OS, the better.
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: iPod + iTunes + AppleTV
AppleInsider › Forums › Mobile › iPod + iTunes + AppleTV › 87 percent of Android developers worried about fragmentation, survey says