Monday, July 16, 2012

Android App maintenance - the future challenges and opportunities


We are, undoubtedly, in the honeymoon period of the Android revolution.  When people talk about the "honeymoon period", they are usually hinting at a post honeymoon realization that irritants in the partner that were completely ignored during the conjugal discovery period are no longer ignorable.  However, the honeymoon that I am referring to is at an altogether different level, say on the scale of the honeymoon of a thousand libidinous bonobos going at each other like there is no tomorrow!

And what I am hinting at is the post honeymoon period where we take on the huge task of raising all the baby bonobos born during the honeymoon period.  Don't get it?  I am thinking of the stupendous amount of effort we need to put in, in the near future, to maintain all the apps that are being built today.

Just consider the following few points to truly understand the magnitude of work waiting around the corner.

On the software side, there are tens of thousands of programmers around the world churning out apps to meet the needs of the new market.  While the majority of the apps currently being built are games, more and more non-game consumer apps are showing up and there are even a few enterprise mobility apps hitting the market. As in every new market, there is tremendous competition and everyone is out to get some early mover advantage.  The number of Android apps in the market today is estimated to be north of 400,000!

On the hardware side, the competition is no less severe.  There are several companies releasing new models of Android phones at a pretty impressive pace. At last count, there were over 150 Android phone models from players like Acer, HTC, LG, Motorola, Samsung, Sony Ericsson, and Dell.  This is not counting the loads of chinese companies already flooding the market with sub-$150 Android smart phones.  Apart from this other devices such as Netbooks and e-readers and tablets running on Android are also being released in quick succession.

On the third front, Android OS itself is undergoing frequent changes.  Not surprising, given that it is still a fairly young OS, with version 1.0 having come out as recently as Sep 2008.  Since then it has gone through several releases including Cupcake, Donut, Eclair, Froyo (frozen yoghurt), to its current Gingerbread with future releases honeycomb and ice cream sandwich expected before end of 2011.

With all companies going hell-for-leather, what is being overlooked, at least at this point in time, is the huge app maintenance requirements looming ahead.

Some more statistics:

If we look at the data from the traditional enterprise software world, operations and maintenance together take 67% of the total cost of the software with the development phase only accounting for about 33%.  Considering that the heterogeneity of a typical enterprise application environment is far lower than in the Android world, maintenance will probably take a much bigger chunk of the overall MDLC (Mobile software development lifecycle).

According to the Android platform agreement, a manufacturer needs to support a device only for 18 months from the time of manufacturing.

Studies show that people change phones once every six months on average.

The average life-time of a phone model is about 1 year and decreasing.

A 1000 Android apps are added each day.  This does not yet include all the enterprise apps being built.

A new phone is being launched every week.

Current android development outsourcing figures tell us that 95% of spend is on new development and only 5% is on maintenance.  This is expected to change to about 70% - 30% by the end of 2012.

Now take a deep breath and think of all the different form factors and screen sizes, different displays, cameras with different resolutions and characteristics, single and double cameras, different processors, devices with and without accelerometers, with and without proximity detectors, with and without gyroscopes, different connectivity and network support, Wi-Fi, Bluetooth, GSM/GPRS/Edge,... phew! The sheer heterogeneity of the environment is truly mind-boggling.

And I am yet to talk about support for non-android devices.

All this spells a huge opportunity for companies to provide app management and maintenance services.  If you are a software services company and working on mobile applications, how are you gearing up for this maintenance bonanza?

No comments: