The CommonsBlog


A Proof Is Worth a Thousand Posts

Android has flaws. Heaven knows, I’ve posted my share of bug reports over the years.

However, the key to a bug report, as every developer should know, is a reproducible test case. In other words, proof of the bug. Without such proof, claims of bugs are at best unfounded and, at worst, trolling.

I mean, I can claim that I’m the real author of Shakespeare’s plays, but unless I can provide some proof of this claim (beyond sharing a hairline with the Bard), nobody is going to take me seriously.

(besides, if I either have a time machine or the key to living a few hundred years, do you honestly think I’d be writing this blog post?)

That leads us to the recent shenanigans by a certain developer on the android-developers Google Group.

In that thread, the developer in question claims that hardware acceleration is slowing down his code. This, in unto itself, is eminently possible, as Romain Guy points out in his various replies. Certain anti-patterns are going to be hard for the GPU to handle, resulting in faster performance with no GPU assistance (i.e., without hardware acceleration).

The problem is that the developer has steadfastly declined to actually provide a reproducible test case, despite requests from many group members for such evidence. The fact that Mr. Guy is taking this developer as seriously as he is stands testament to Mr. Guy’s patience. And, lacking a reproducible test case, even if there is a genuine problem here, there is nothing anyone can really do about it.

Contrast this with this thread.

Here, a developer pointed out some oddities with the behavior of many tabs in the action bar (scrollable in portrait, but converted into a drop-down in landscape). Initially, the developer provided a screenshot, but that was it. I requested, and received, a sample project demonstrating the issue. And, sure enough, the sample project does show the phenomenon. As a result, I filed an issue — while I suspect that the behavior we see “is the way it is”, perhaps we can get some better documentation so we know what to expect.

To paraphrase a certain web-slinger’s uncle, “with great claims come great responsibility for great proof”. If you are going to claim development-related bugs in Android, provide a reproducible test case.


If your training firm is in need of an expert Android trainer to handle public training classes, contact Mark Murphy, as he may be able to help!