Creating the SilverlightShow Windows Phone App: part 2 New certification requirement: Application Testability

A plea for slow

Published on Tuesday, April 10, 2012 5:50:00 AM UTC in Philosophical

On the weekend various news sites reported that Windows Phone 8 is now starting to show up in the browser statistics of analytics services (e.g. here on WMPowerUser). To my surprise, this produced some negative reactions and comments. In the above linked article the first response, from a user named Julien, was:

1 year with no update when you play catch up is a joke anyway

And the first reply to that by someone named Arvydas GruĊĦeckas reinforced:

Agreed. Microsoft is super slow. [...]

Let's ignore the fact that "one year without an update" of course is far from the truth, and ask: is Microsoft really too slow with updates for the phone? I beg to differ.

To give a more detailed answer to that question, let's take a look at the situation with today's leader in the smartphone market: Android. At the moment, the usage share of different Android version looks something like this, depending on the source you're quoting:


The interesting conclusions from this can be drawn when we take a look at the release dates of these versions:

Android Version Release Date
2.2 May 5th, 2010
2.3 Dec 6th, 2010
3.0 Feb 22nd, 2011
4.0 Oct 19th, 2011

One thing to note here is that we should somewhat ignore version 3.x completely, as it is targeted at tablets and does not play a role in the smartphone market at all. Still, these are some interesting facts:

  • Although it has been released six months ago (and received four updates since then), Android 4.x has only gained a market share of 2.9%
  • Version 2.3 has been around for 16 months (and received 5 minor updates), yet still 30% of all Android phones still use an older version, in particular 2.2 is still on 23% of the Android phones out there today.

This becomes even more interesting when you analyze the big players and their particular models. German IT magazine "c't" recently has done such an analysis and came to the conclusion that out of the 29 smartphones released by the big five manufacturers between 2009 and 2010 (pre-2.2) for the German market 7 models never received any updates. 17 models were updated once, and only 5 models received two updates. Again: we have seen at least four major updates to Android since then.

Let's face it: this situation is dramatic and extremely frustrating for customers, but also developers. The ongoing fragmentation of the Android market is one of the hottest topics discussed at the moment in the developer community. The big question is, who is responsible for this? End users tend to blame the obvious: the manufacturers of their phones. But is this the whole truth? Of course not.

To understand what it undertakes to update a particular model to a new version of an operating system, one has to understand who and what is involved in this update process:

  1. First of all we of course have the one who releases the new version of the OS (Google, or in the case of Windows Phone it's Microsoft). At this point, everybody wants to have the new version on their phone. RIGHT NOW!
  2. Then there's the manufacturer of the particular phone model. They have to make sure the new version plays well with their hardware. Manufacturers are responsible for providing drivers to particular components that are not part of the core operating system, too. In addition, manufacturers usually also are software vendors and have special apps or other integrated software that is delivered with their phones. The important thing to note hence is that the manufacturer's role is not only testing a new version, but they actually have to produce a whole bunch of software to make the new version work well, too.
  3. We also have the carriers, who are interested in doing sophisticated tests before a new version of any mobile operating system is rolled out; after all, a small overlooked glitch in such a new version can turn into a disaster when it's exponentiated by millions of phones on the same network.
  4. Let's not forget authorities and organizations that are responsible to verify a device is compatible with national regulations and standards like Bluetooth etc. Even if the manufacturer of the OS has done the majority of work for the core system, each device manufacturer may have to go through these validation processes once again if they change parts of the system or add new features - on a global scale.
  5. And finally we have the roll-out process itself. It's simply not possible to deploy an update to millions of phones at the same time, so it has to happen in a manageable phase that - in the worst case - adds another few weeks of waiting for the end user.

All in all, these details sum up to months until a particular update reaches the customer. For Android, the above mentioned IT magazine c't found out that the average time required by a manufacturer to provide an Android update for a particular model is nine months. This is heavily contrary to the fact that Google pushes out a new major version of Android roughly every six months. Naturally one could argue that manufacturers could shave some time off of this by providing more resources e.g. for developing and updating their software, and Google as the OS manufacturer also could help by providing earlier access to updates. The truth however is:

  • The majority of delay is caused by testing and validation by authorities, carriers and other involved parties, which is mostly out of the hands of device manufacturers.
  • The smartphone market is a war - manufacturers are forced to come up with new and even cooler models every few months to not sink into obscurity quickly. Naturally they focus more resources on creating and pushing these new devices to gain attention than to update old models (I'm not excusing that).
  • Developing software, even if it's just updates, is a complex process and cannot be pushed and accelerated indefinitely by throwing more resources at it.

My personal opinion about this is that the only possible solution to the problem is that Google slows down their release cycle tremendously. I'd go even further and say that if Google continues to push out new major versions of Android every six months, the steadily increasing frustration levels of their user and developer base will quickly result in people starting to turn away from the platform altogether.

In the same sense, I think that Microsoft is doing an exceptionally well job with Windows Phone, and I hope that they will withstand the pressure to provide updates faster. My deep conviction is that "playing catch up" requires a slow yet steady process, and not rushing into the same dilemma Android currently has reached. Everything quicker than one major update a year would probably kill off Windows Phone before it has even gained full throttle.

I also think that Microsoft is a lot more clever in their update philosophy. Unlike Google, who apparently only grants other manufacturers access to an update once it has been released for their reference devices, Microsoft has listened to the complaints from their customers and works closely with those manufacturers (and also carriers) to achieve a concerted update schedule so the vast majority of users get their updates more or less simultaneously. This has worked really well with Mango, and I hope it will continue that way in the future.

Thoughts and comments? I'd love to hear your opinion on the topic.

Tags: Windows Phone 7