cyclestreets/android — pull request #83 by cjwatson (2013-09-29 16:36:15+00:00)
Title: Add preferences for previously-hardcoded distances

By default, the app tells you about upcoming turns 15 metres in advance. I find this far too short. I don't know how much of this is GPS inaccuracy (I don't have a bike mount for my phone, so I keep it in a jacket pocket close enough that I can hear voice instructions), but the instructions are rarely in time for me to indicate safely, and at some junctions I even find that I hear "Get ready", stop for lights, and then I'm told which direction to go after I've already entered the junction. This obviously isn't good enough for practical voice-only use.

I added preferences for the three hardcoded distances (turn warnings, going off course, and replanning the route). For me, I find that 100 metres is much more comfortable; I've done a couple of rides with this and it works reasonably well even if GPS drops out briefly and even if the turn description is long enough that it takes a while to read. I suspect that this will differ somewhat with different hardware, and no doubt if you can see the map/directions then a shorter turn warning distance might be reasonable.

I left the defaults at their previous values, although I think it would promote safer riding if you increased the default turn warning distance to at least 50 metres. 15 metres is not likely to be enough time to indicate safely at many speeds, especially given that it has to read "Get ready" in that time before it actually tells you where to go.

Selecting distances in five-metre increments by way of a list preference is not exactly elegant. However, there's no number picker preference in Android by default; I spent some time trying to hook one up and decided it wasn't worth the effort.