A.M. Today was the record of slippage on the road. After running with the little kids (Jenny and Julia 3, Joseph 2, Jacob 1), I decided to wait to run with Benjamin and Sarah until later. Working from home permits such luxury. Even then, Benjamin and I took 1:11:06 to run 8 miles. The Fast Running Friend had its first test under cloudy skies and the naivety of its algorithm showed. Near the end of the first mile it spuriously added 0.08 to the distance while the immediate pace went crazy. Then it drifted another extra 0.04 miles over the next 3. On the way back it behaved. Bugs discovered:
- Pausing the timer should not turn off the GPS signal because it takes some time to regain it when the timer is resumed.
- When the time is paused, the back button should be disabled. Enable it only if the timer has been reset.
- 00:13:14 pm for the time of day meaning 12:13:14 pm is wrong. Surprise from Java Calendar class.
To do list on the features for this week:
- Add battery usage information. I want to have a decent idea of how much longer I have left before I run out of battery and not take it to time something critical if I do not have enough.
- Fix the GPS algorithm to reject the points that create an outlier in direction and speed at the same time. Make an exception for reasonable changes, e.g 180 turn, sudden turn on a windy road, etc. Make an exception for surges. But the idea is that it is very unlikely for a runner to change the direction and speed simultaneously which would happen if you had normal GPS data occasionally disrupted by an error.
- Deal with lost GPS signal gracefully
For next week:
- Add time of day synchronization via GPS so it would show correct time of day without the user having to set it.
- Save the GPS data capture into a file
- Fix WiFi config and allow the user to upload the courses they run directly to Fast Running Blog Course Tool.