I almost never sleep in the subway because I am afraid of missing my station. I could set my alarm clock, but when sleepy I am not good at calculating how long it will take to get there.
As most of the trip is underground, GPS is not a solution. If the app can get some GPS info when not underground, and use that info to improve its accuracy then that's great, but it should not rely entirely on GPS.
The app could:
- Use Android's accelerometer to count stations and recognize curves (fortunately I don't move much when sleeping).
- Analyze wireless networks and network cells to get an idea of where it is.
- Analyze train and station announcements. On some of Tokyo's lines, each station has its own short melody.
Notes:
- A period of "training" is OK.
- Waking me up early if confidence is low is OK.
- Must be free, ideally open source.
Bonus if I don't have to specify where I am now when starting.
Unlike this question, battery life here is not a concern, as this question is mostly for urban distances (under 20 kilometers) and short times (under 30 minutes).