Some Thoughts on Android

The world is excited about the new release of Android 4.1 nicknamed as Jelly Bean. The new set of features are nice and any improvement around performance is most appreciated. I won’t repeat the new features in 4.1 release since these are already beaten to death by a lot of people. What I am going to talk about here is the feeling that I get every single time Google announces a new Android release with some great features. This time has been no different.

First, let us look at the most important statistic as far as I am concerned. Google officially states now that more than 1 million Android devices are getting activated per day. That is a serious number. I am both happy and sad about it. I am happy because for the past year, I have been focusing a significant time to teaching Android to programmers here in Mumbai. The course has been successful beyond what I expected. More than 130+ students have been trained on Android 101 and since September of last year I have held 13 training workshops with 2 corporate clients and 2 overseas training trips. So whenever I see new published data on the number of daily device activation, I feel happy that probably I have bet on the right horse and that there will always remain a demand for quality and focused Android training. I have no doubt on that front.

However, these numbers bother me. They really bother me. And to explain to you why, let me show you another piece of official information that Google publishes every month. This information is published at the Android Developer page under the title Android Device Dashboard. As of June 1, 2012 – the device dashboard shows the following in terms of percentage share of the Android OS.

Few things that you should note from the above graph:

1) Android 2.x still covers nearly 90% of the Android Devices out there.
2) Android 4.x after a year lies at about 7%

What is the point that I am trying to make? The point is that one way to get all excited is to look at 1 million device activations per day and be all gung ho about it. The other way to look at it is that as of now and even in the immediate future, nearly 80% of these devices will be Android 2.x (most likely Android 2.3 – Gingerbread version). And that is not exactly a good thing from any point of sense, unless of course your intent is to claim that Android has an upper hand in Marketshare (which it has anyways and which is good) or it is to make money selling devices (forget what is best for the consumer).

People argue against this by saying that their phone manufacturer has promised that they will release an upgrade soon. If you believe that, you are living in a fools paradise. Put yourself into the shoes of the manufacturer and then ask yourself a simple questions where you are going to invest $$$ in ensuring that your older devices will run the new software, updating your firmware, putting resources into QA or should you invest all that $$$ in making newer devices that probably will run the new OS version. It is not an easy decision and I suspect that if I were the manufacturer, I would probably be going with the latter choice. And why ? Because no one is mandating what I am supposed to do as part of the OEM agreement? Does Google enforce any such clause on the part of the OEMs ? I am not an expert but even if they did, we do not see that happening.

As a result, we have millions of devices still running Android OS 2.2 and lower, with absolutely no chance to get upgraded. The same applies to Android 2.3, probably the most stable of the phone OS out there. It is a great OS and we will continue to see millions of these phones getting sold at various price points and the consumers are going to lap it up. What that leaves us is the fact that millions of users will never see the new features on their phone, thereby robbing them of the great possibilities that the new OS and apps bring with them.

Let us spare a though for the programmers also, both inside Google and the application developers who are developing on top of it. From first hand experience of developing applications and teaching others how to write Android applications, I can only say that we have a set of top notch tools. Hats off to the hard work put in by the Tools team. Developing on Android is fun, at times challenging but it is quite an exciting experience overall. With every new release, programmers look at the new features and just wish that they can immediately put those features to use, only to find that they will have to pay enough attention to the fact that a majority of the consumers will be running older phones. Sometimes there is a hard choice to make. Should we just drop the old users and go with the new features only ? Any bit of common sense says that if I want my application to be successful, I need to reach out to a widest possible audience as possible. And if that is the case, you have to ensure that the app runs fine on older OS versions too. There are enough tools in the form of support libraries that the Android team provides for backward compatibility. Independent developers are also building some great libraries that do the back port for you behind the scenes. So the scenario is not bleak … just that you need to be aware of these things.

So where does that leave us ? I feel we are looking at a critical time in Android’s future. The hard work around garnering Market share, building OEM support, etc is all in place now. The consumers have accepted it too because of multiple price points. Things couldn’t be better from that perspective. The challenge lies in now orchestrating with OEMs, Manufacturers to see how to bring maximum people to have devices that use these features. Who knows that there might even be some drastic steps to take – like not releasing any more devices that support 2.3 and so on. Is that likely ? I am not too sure. We seriously cannot keep happening API Levels that are going to go soon into the late teens or even more than that in the next 2-3 years and still see Android 2.x marketshare at like 50%.

That would not make a pretty scenario. However, I remain bullish on Android.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s