That's true, but we have drivers with phones without google play services. Strange thing, but it's true :) Also sometimes we need to use phone without internet access .
Yes, accelerometer's "drift" became a world of pain for me, but android developers did great work for that and all we need to do is to add calibration step to application and use their "linear acceleration" sensor.
We use geohash because it's really fast and we can control precision. We don't need to store any information about grid and we don't need to convert coordinates to spherical view.
1. It won't be working on stock devices, unfortenately. It's library to integrate to your android application
2. Extra calculations don't consume as much battery as GPS and with this technique we use GPS less often. In other hand we use accelerometer and magnetometer. I tested this by eye :) and didn't find big difference between GPS only solution and presented solution. But as written in article - it doesn't accumulate coordinates.
I need to solve a few problems for my city:
1. Search crossroads
2. Search pair of lat/lon from non structured text
3. Possibility to add a custom data
And it was my inspiration to create yet another geocoder.
Love the itch scratching motive! Crossroads and intersections is a nice idea - they are used quite a lot in American cities, from casual observation "at the corner of Pine and Union".
I imagine in some countries with different addressing systems, road intersections may be a primary means of locating things.