GPX and TCX files are meant to be cornerstones in data analysis but, because the reporting convention of mobile apps are lax, it's not uncommon to find GPX/TCX files that have been resampled or that do not encode pauses. This makes it more difficult for a third-party to recreate your original run, much less analyze it.
Every running site that imports GPX and TCX files are often left to guess where your pauses took place, if you paused at all. And, every running site cares about this because pauses affect your time and total distance, which determines your pace and speed.
Currently, Smashrun can import GPX, TCX, and FIT files.
Depending on the number of files, it could take a few minutes to import everything. We usually suggest doing a month of runs at a time if you run frequently.
FIT is the best file type you can import. It's got everything.
The next best file type is TCX. TCX files are designed to transfer both GPS and fitness data, whereas GPX files are only designed to transfer GPS data.
If you run with a Garmin watch, it's always better to import a TCX file that came from Garmin Training Center instead of Garmin Connect. The latter does not encode pauses, which makes it a little harder for Smashrun to recreate your original run.
If you run with a mobile app and have the option to export both GPX and TCX files, opt for the TCX file.
For more information on Garmin's different file formats, which is generally followed by most apps, you can view the various schemas on the Garmin Developer site.
Cadence, for runners, is the number of times that both feet hits the ground in a minute, whereas cadence for cyclists is the number of revolutions per minute. We think Garmin displays cadence in half to keep it consistent between runners and cyclists, but it's not uncommon for runners to refer to their turnover rate as a single foot strike number. That said, we display the "true value" of your cadence on Smashrun. Runners are on both feet all the time anyway, so we display your steps per minute counting both feet!
The best way to think about pauses is to understand how GPX and TCX files are structured.
A GPX file has a series of trackpoints within track segments. Sometimes, a GPX file closes a track segment to signify a pause. Other times, it only closes track segments at the end of a lap. There is no easy way to differentiate between a closed track segment that is a pause from one that is the end of a lap. Every app and GPS watch handles it differently.
A TCX file has a series of trackpoints within tracks (not track segments!) A closed track signifies a pause unless it shows up at the end of a lap and, luckily, TCX files do indicate lap changes. Of course, apps and devices don't necessarily follow this convention all the time either.
Many apps completely disregard these reporting standards and only close a track or a track segment at the end of a run, regardless of whether or not you paused. What Smashrun does, under these circumstances, is guess where the pause took place based on a combination of metrics such as changes in your speed, heart rate, cadence, pace variability, and long gaps between trackpoints, where applicable.
This is a pretty tough task, so we're constantly working hard to fine-tune our pause algorithm and will look at any GPX/TCX file where Smashrun incorrectly detects a pause. If you encounter a pause related problem with a file you imported, please email email@example.com and include the file so we can take a look at it!
Resampling is a process that removes trackpoints in order to reduce file size and/or simplify the process of creating a map for a given run.
It's important to note that resampling is inherently destructive if applied simply to reduce file size. When data is resampled, certain trackpoints are removed for good, which makes it impossible to perform detailed analysis on your run. If enough trackpoints are missing, it would be very easy to miscalculate your splits and your summary details could be wrong.
One of the most common and well-document algorithms that can be applied to resample data is the Douglas-Peucker algorithm.
There are two factors beyond our control when it comes to figuring out total distance and, essentially, why we can’t ever guarantee that we can match another app or device’s distance: (1) which representation of the globe they’re using to calculate distance between two points and (2) the formula that's being used to calculate that distance.
Smashrun uses a WGS 84 reference ellipsoid in conjunction with Vincenty’s Formula to calculate the distance between two GPS points. However, there are various permutations of ellipsoids and formulas that can be used in geodetic calculations - which ones in particular are being used by an app or device is rarely, if ever, disclosed. Hence, why an exact match is difficult unless we rely on copying the summary details from the app, device, or as sometimes provided at the top of a GPX/TCX file.
Matching your app/device’s distance might also be challenging if they round out the units of precision on the file export. Some files export GPS points that have been rounded (e.g. the difference between 51.9928587341309020 and 51.0000000000009020). With several thousands of trackpoints in most runs, the difference in distance calculations can add up.
All Nike devices return only one stream of data, a simple list of GPS points. We also have the total duration and split times, but there are no time stamps associated with each GPS point. Nike's mobile app records one GPS point approximately every 3 - 15 seconds and this changes depending on the latest update. Since we only know the overall time and the split times, we find the number of seconds between each split and average it out over the number of points. It's an imperfect solution to creating your change in speed over route, but it's the only thing that can be done.
In addition, Nike's mobile app doesn't return pauses. It just doesn't have it. It will record it on their site, but it's not returned in their API. So we have to detect it.
Because the mobile app returns GPS points at irregular intervals, it's hard to know sometimes if you paused somewhere or if you just lost GPS for 15 seconds. As a result, the distance on Smashrun will sometimes be less than the distance tracked by Nike's mobile app, assuming that you paused while using the app or if you lost GPS for long periods of time.
The Nike+ Sports Kit is a system to record time and distance and transmits that data to Nike's servers. It consists of a small sensor which fits into the base of Nike shoes, and a receiver which can be an iPod, iPhone, or Nike+ sportsband.
Once you calibrate it, it's really pretty good! On our tests on a flat running track, a calibrated device is about 97% accurate. On streets, hills, and trails, the accuracy goes down hill quite a bit to about 93-97%.
It's important to remember that your reference data has an error margin as well. If you're using a Google maps run mapping tool or a GPS device as your reference, remember that almost none of these calculate distance on 3 axes. Think about the Pythagorean theorem: the true distance is the square root of the change in elevation squared plus the change in position squared.
If you map out a route on Google maps, and then run it with a GPS device, they'll return very similar results. However, they'll both be wrong because neither takes change in elevation into account. (Some GPS devices can do this pretty well, but only if they can lock onto 3 satellites, which is rare). To get a true reference, a bike fitted with a wheel sensor or a car’s odometer are your best bet. Using these as a reference, Nike's results are usually at least as good or better than the GPS alternatives on hilly routes.
Not anymore. As of June 6th 2012, Nike's website no longer provides this information.
If you're using the iPhone and you're having trouble syncing with your sensor, rebooting the iPhone will often fix the problem. You can do this by holding down the top and home buttons for about 5 seconds, and then dragging the slider.
And just as an aside: you do not need to wear Nike shoes to run with a Nike+ sensor. You can use any pair of running shoes so long as you have a sensor pouch.