Adam Siemaszko

Withdrawing the feature to find the one line

The five-minute fix was obvious. It was also the wrong one.

Google's Android Auto review kept flagging my music player as broken: "can't play music." The first time, I read it as a crash and shipped a fix for a crash. Wrong. It came back.

On the second rejection I finally understood. The in-car browse tree only ever shows your library, and that library is built from folders you pick by hand on your device. Google's review phone has no music on it. So the reviewer opened the app, saw a few folders, tapped in, and found nothing to play — because there was genuinely nothing there. The app was working exactly as designed. The design just had no answer for an empty device.

The five-minute fix is obvious: bundle a throwaway demo track so the review device always has something. I started writing it, then stopped. That track would sit in everyone's car forever, just to get past a reviewer.

So I pulled Android Auto out of the shipping build and wrote the actual reason into the changelog. The browse-tree code stayed in the repo; re-enabling it is about three lines in the manifest.

The version I'm finishing now does it differently. A short sample clip appears only while your library is empty. The moment you add a single folder, the browse tree returns your real albums and the sample is gone. The reviewer on an empty phone gets something to play. You never see it.

If the local library is empty, show the sample.

That's the whole fix. It took withdrawing the entire feature to get to one line.

Meringo is a bit-perfect music player for Android DAPs and audiophile phones — and it hands you a SHA-256 receipt proving the claim. Get it on Google Play →