A.M. Today I tested my Android project. I have been working on a running tool. The goal is to have a 100% replacement for Garmin + more. Android phones have a GPS, an accelerometer, a magnetic field sensor, and Bluetooth capability. So you can read HRM data from a Bluetooth-capable strap, and the with the combination of GPS and accelerometer get a better estimate of the distance than just the GPS. Additionally, accelerometer allows you to detect form abnormalities.
I started with what was the easiest, but at the same time a stepping stone to more complex operations. Detect a simple form abnormality - excessive lateral swing. So you hold the phone in your hand and try to keep it in the plane that is perpendicular to the ground and parallel to the direction of running. If the angle of the phone's acceleration relative to that plane exceeds the chosen lateral swing tolerance level, the phone vibrates. The goal is to be able to run without making it vibrate.
So I learned my Android basics, and after some trial and a good amount of error came up with something that I could test on my run. I did 6x600 spread throughout 12.2 mile run. The times were 1:49.1 (rolling) - 1:48.7 (down) - 1:47.8 (rolling) - 1:48.1 (down) - 1:49.1 (rolling) - 1:49.8 (down). The "down" is really not that much down - only a second per quarter faster.
I was happy with the performance of my tool for the most part. The core part worked OK - it vibrated like it was supposed to. What I missed is being able to time the splits with the phone as well, which is the next feature. And I need to fix it so it will not let the phone power off half way through the run.
Benjamin ran 3 miles, Jenny and Julia 2, Joseph 1, and Jacob 0.5.