One aspect that we as consumers constantly overlook is how hard the developers of our favorite applications work to keep us happy. Generally speaking, the primary reason people are drawn to Android in the first place is because of the wide selection of devices to choose from.
Unfortunately, it is this aspect that is making things difficult for indie application developers. To put things into perspective, the analytics firm Flurry states that if a developer hopes to be able to support 80 percent of all devices, then he or she would have to support 156 devices. This can be an incredibly daunting task for a small developing company or a single-person developing company.
Smartphone use has been absolutely exploding recently. It has gotten to the point where the number of different device models are vast and confusing. According to Flurry, there were 2,130 different device models active in January, while 500 of those models were sporting at least 175,000 users. Keep in mind that these numbers are for all mobile operating systems, not just Android. These numbers are a sign of just how popular this business is becoming and unfortunately, making it harder and harder for small and independent developers to get their software supported on a wide range of devices.
The problem is that as a developer, you must first choose which operating system(s) you want to code for. Unfortunately, in some cases, even choosing a specific operating system will still require you to make some tough decisions as to which specific devices to support. This is because you will have to deal with a variety of different hardware specifications, screen sizes, software versions, and even different forms of input. As a result, indie developers are sometimes forced to allow the installation of their applications on devices that could be unsupportive. This will leave them vulnerable to bad user reviews and consequently, damaged reputations.
The only way to remedy this issue is for the developer to buy expensive devices to properly test his or her applications on. This of course is very difficult if the developer isn’t linked to a corporation.
The truth is, if the developer is an average Joe working from his home to try and live on his or her developing income, then he or she will never be able to compete with the enormous spending capacity that some developing corporations have at their disposal. Android is unfortunately the biggest headache for developers.
If you are an iOS developer, you stand to make more money than Android because on average, iOS users spend more time actually using their applications than Android users do. Additionally, you only have to develop for 3 different screen sizes on iOS, with the hardware only changing about once a year. As a result, it is very easy for a single person to actively maintain a solid developing career.
However, on Android, there are literally an infinite number of possibilities that the developer will potentially have to address. So what do you guys think? Do you think that a single person developing a popular application is possible? Or will we start to see wealthy corporations overtake indie developers? Additionally, is Android to blame for this issue?
Like this post? Share it!
It’s not that different from Windows development really. There’s a range of hardware that is supported, a range that is optimal and so on. Good APIs and standards solve most of the problem.
Screen size/resolution is handled by Android now. The developer doesn’t have to worrry about that much unless he wants specific optimizations.
This is part of Android’s maturation and will be ever improving.
Users sideloading .apks and software piracy is another problem Android developers face. Then Google pollutes the “free” versions of apps with their distracting ads. It’s a no-win situation.
No-win except for Google Ads, that is…
It isn’t the developers’ prerogative to choose whether or not to include ads in the app? oO
apps that targeting NDK will have issue across device.
apps that only use Android SDK (which run on Dalvik VM) shouldn’t have any problem.
however OpenGL ES extension and texture format DO have different implementation between GPU vendor.
My app uses NDK and very low level features. It’s the only 3rd party paid real over the air FM app for Android.
It’s a niche app mostly sold to custom ROM users that I make a “reasonable” income from; about half of what I can make in private industry.
Roughly 50% of my sales are to a small handful of devices, led mostly by International variants of Galaxy S/S2/S3, Note/Note2. So I have each of these phones (except Note2, close enough to S3) and going forward I’m concentrating on support for the most popular phones.
It’s almost impossible to properly support phones I don’t have. So I’m choosing the part of the curve around the 50% mark. If 6-10 phones is sufficient to cover 50% of the target market, then I can deal with that. Android has grown enough that 50% is fine for me, even given the niche nature which might only represent a few percent of phones at most.
I have roughly 20 phones now and have officially supported about 60 phones with about 40 different “architectures”. A ratio of 2:1 that I’m reducing to a saner 1:1.
Long term I see alot of developers switching to IOS and WP for development.
Your articles it’s very useful for me a lot about the Android Applications Development, and I am completely satisfied with your Blog. All comments and articles are very useful and very good. Your blog is very attention-grabbing. This article is very informative. Thank you for sharing this article.