Friday, February 1, 2013

Epic Fail

So, at the end of the day, where are we?

Well, we're still three months down the road with a buggy Android 4.2 implementation that has impacted untold numbers of Android device users, and not just users who had the misfortune to purchase Google Nexus devices.

Why has it taken three months to even get even a grudging acknowledgement (which we finally got today in this Google code forum comment by a Google developer) that there are, in fact, wifi problems in Google's Android 4.2.1 that are affecting numerous models of Android devices.

It took three months to get Google to acknowledge what hundreds of dissatisfied customers have been telling them since November 20 about wifi bugs with the Nexus line of devices, but particularly with the Nexus 4. Still no estimate for time to a fix being available.

Why did it take three months to get just this far?  What should have been done differently? Time to get harsh: here's my assessment.

Apparently the Google devs have decided not to compare the Android code base from 4.1, where wifi and bluetooth were working, to the code base in 4.2.1 where they are only inconstantly working.

This is the approach any of my software teams would have taken.  There are numerous tools that can do diffs on code modules maintained in code repositories which can be used to identify differences between subsequent versions, and allow buggy sections to be reverted.

In a well-maintained code repository, replacing the buggy wifi and bluetooth code by reverting it to earlier working versions should have been accomplished in days, rather than the months that Google has taken so far.  Why they are trying to track down the reasons that their broken 4.2.1 code does not work with certain routers rather than simply reverting it to an earlier working version is a mystery to me.

As a poster commented in the code forum, one can easily demonstrate old 2.3 Gingerbread devices maintaining flawless wifi connections, side by side with 4.2 devices that either can't connect, or can't stay connected.

If it were me, I'd have replaced the devs working on this task with ones who could demonstrate professional software development, testing, and maintenance skills.  But then, *my* management cares about customer satisfaction.  Obviously, Google management does not.

Also, btw, I'd have fired each and every one of the Google Device Support staff who told customers calling in to complain about their Nexus 4 devices that there were no known issues with the phone.  I'd have fired their manager as well.  And maybe his/her manager too.  Then I'd have put a professional device support team in place that coordinated with the developer team to ensure that they were in possession of the facts when dealing with customer complaints.

There is lots of good information about the deficiencies of the internal workings of Google's product development and support operations that have become apparent through this Nexus/Android saga, which the competition should be taking note of.  If Google can't manage to sell and support Android phones and tablets that meet consumer demand, somebody else is going to come along and take that business away from them. 

Think about it: if tomorrow morning a new company came along and announced a new unlocked phone that matched the specs of the Nexus 4, at the same price, but which had working wifi and bluetooth, I'd buy it.



  1. There is no "code diff" that would help for the bluetooth issues because they completely replaced the stack between 4.1 and 4.2. But how they could do this on a minor "point" release, with no opportunity to decline or revert the change is completely baffling. Even more baffling to me is why they don't utilise their OTA mechanisms to push next-day fixes to some of these high impact bugs. If it was my software team, I know I would be embarrassed.

  2. Well, that may be true, 4:40, but I've worked on a number of large, multi (30+) people software teams. We would have never implemented a new version a la 4.1 --> 4.2 without maintaining a roll-back option for any major component that turned out to be problematic.

    If Google let this happen, as they obviously did, then they need to replace their Android development team with a crew that has a bit more release experience.

  3. Doug,
    You are doing an amazing job by posting the updates here. I have been following the original thread and read almost every comment that you posted. Very well said, Epic failed. Shame on Google.

  4. doug, as long as issues affect just a few people, google will get away with it. Oh and by the way you are very mistaken about how google "support" works. Their only mission is to stop people frmo complaining, nobody's going to get fired because they're doing exactly what they're paid to do. Also, I have no issues with wifi on my N4, just get another router or something...

  5. Interesting suggestion, 10:08. One question, though: how do I get all those other places I go to change their routers to one that the Nexus 4 can connect to?

    Regarding your N4's wifi working: how about if you do a test to see if that really is the case. When your phone is connected to wifi, get its IP address. Then from your computer, ping your phone's IP address. Now turn the phone's screen off. About a minute later your phone will stop answering ping. At that point, your phone has turned into a brick, and it will remain a brick until you turn the screen back on. It will not send you any notifications of new mail, GTalk requests, Facebook, g+, voip. It is a brick.

    Now if your phone does *not* act this way when connected to wifi after the screen blanks, then you have a different version of Android than 4.2.1 running on your phone.