Same planet, different world.

Thanks Samsung</sarc>

So, I debugged something this weekend.

I use the WLSoft Chirp app on my Android phone to program and read Garmin Chirp wireless beacons for geocaching. They’re getting to be a bit passé but I still like to find them and I have owned a Chirp cache for a few years now.

And yes, I know, most cachers use an ANT+ enabled GPSr to do this. 2000ish finds and I still don’t own a purpose built GPS receiver at all, let alone one with ANT+ capability. Bummer yes, but phone caching honestly is what keeps new cachers coming into the sport so don’t knock it! Even I might have found the need for a distinct GPSr too much of a hurdle to entry back when I started all those years ago.

Anyway, on to the topic at hand. So some time ago, after an Android system update, I found that the Chirp app would just crash as soon as it detected a Chirp beacon. No error message, no shutdown sequence, the app would just be gone. Start it up, wait for the Chirp to, well, chirp again, and boom, app crashes again.

Out in the field, I don’t have a lot of debugging options and the beacon I was maintaining was in a somewhat public location I didn’t want to draw attention to, so I came back later with my old, deactivated Android phone which had not been updated and had success. It was able to confirm that the Chirp was still spitting out final coordinates up to 10 metres away as per spec.

I made this my maintenance methodology for about a year – using an obsolete, off network beater phone – having chalked the issue up to an introduced system incompatibility in my daily driver phone. But last week, I needed to bring the beacon home for cleanup and maintenance, and from there I could look over the situation a lot more thoroughly.

After I got the beacon cleaned up and put in a fresh battery, I tried again with my current Android phone and once again it crashed. But this time, I received a “The Chirp App keeps shutting down” message and was prompted to check the app’s properties. Those properties included permissions. Were we now getting somewhere?

As it tuned out, there were NO permissions granted to the app. ALL were explicitly denied. Funny, I vaguely remembered being prompted about those permissions years ago when I first installed the app. So I thought, THAT must be what the system update did.

Adding Location and Media permissions back to the app, I ran it again, and this time it worked! Sing hallelujah, at last I’m finding Chirps on a phone from this decade again! At last I can retire my vintage Galaxy S2X!

The moral of the story is this. If your device gets a system update and stuff stops working, check the permissions for said stuff, for it may have been dabbled with without your informed consent. Surely this happened with someone’s informed consent, but not that of the most important stakeholder in the consent equation: the device owner, i.e. you!