UPDATE July 11th, 2017
Nike seems to have made further changes, and as a result their API now returns an error rather than the GPS details for many (but not all) Nike users. We’re going to keep investigating, but since Nike is officially a closed platform, we have limited options at this point. I know how painful it is to have a great run, but the data is all locked up and inaccessible, so we’ll keep trying and keep you posted. If anyone has any info that might help please email firstname.lastname@example.org
There’s been some changes behind the scenes with Nike’s platform this month, changes that unfortunately severely compromised the accuracy of the analysis we’re able to provide. But before I get into the specifics, I’m going to take a somewhat long and meandering digression.
Nike Running has always been a closed platform. You go out and buy a Nike Sportwatch, or an Apple Watch with Nike software, or you just download their app. You record your data on a relatively simple to use, relatively slick interface and the data is synchronized to Nike’s servers. Once your data gets there, it proceeds to live out its life quietly waiting to die in obscurity. There’s a rich ecosystem of powerful (and sometimes even fun) websites that you can use to track your running data provided, of course, that you didn’t record it with a Nike device.
It’s important to understand that when we talk about closed and open, it’s not really black and white. It’s really a spectrum of shades of grey. If, for example, “closed” indicates the blackest black, the kind of black you might find in the threads of a tie worn by Richard Roundtree at a funeral, held at the bottom of Krubera Cavern, at midnight, then, well, the Nike ecosystem is perhaps a shade of slate. Because, in truth, there is no such thing as a completely open platform or closed platform. There’s always some inertia to the free, unrestricted movement of your data. Since no company wants to be called out for locking up your data like some snarky dragon hoarding gold under a mountain, the techniques to restrict the movement of your data are often subtle rather than overt.
Here’s a few common ones:
- Provide an API, but restrict access to just a few “strategic partners” (Suunto)
- Craft a terms of service where the company is the owner of the data, rather than the user, and strictly limit what can be done with it. For example, prohibit holding it on a server for longer than 24 hours, or exported in any form to a company with a commercial product. (Strava, Runkeeper)
- Charge thousands of dollars to access the data in bulk (Garmin)
- Allow users to export the data, but only if they pay a subscription fee.
- Allow users to export data, but resample that data first, removing most of the recording so that only the rough shape of the route can be discerned (Runtastic)
- Export the data via an open API, allow users to download it one by one, or in bulk, but don’t seamlessly push it to other companies (Smashrun)
- Don’t have an open API, but also, don’t work to prevent sites (like Tapiriik) that benefit your users from helping users to get access to their own data (Garmin)
- Allow the export of data, but don’t invest any time into fixing the bugs in that export
In Nike’s case, they have an API, but they haven’t granted anyone access to use it in years. In fact they used to has have a function where any user could use the API to export a copy of their own data, but they deactivated it around the time the Nike Apple Watch launched.
So, there’s a kind of range from actively working against the export of your data, to failing to invest a ton of resources to facilitate it. Since the beginning, we’ve helped users to get access to their own data on Nike’s site. It hasn’t been easy, but they also haven’t made it impossible for us either. The Nike Sportwatch is an easy to use device. It’s a good entry level watch that was built for Nike by TomTom. The GPS is quite good, and it records 1 GPS point per second which is great, because it allows nice accurate analysis of structured training. You don’t need to read a manual to use it. You can start, stop, and pause and that’s pretty much it, but it’s also all that most people need.
From Nike we can get the GPS coordinates, but there are no timestamps. So we can tell where you ran, but not when you were there, which makes calculating splits a challenge. Luckily, if you record 1 GPS point per second you can figure out the timestamps just by counting the points. Pauses throw a wrench in that, but it turns out there’s a certain signature typical of pauses that can be used to identify them, and up until recently we used that to good effect.
This month, all of that changed. Nike went from providing 1 second recordings to 10 second recordings. Ten seconds is a long time. Try counting to ten now and imagine how far you could run. Ten seconds is a lifetime. It also makes it impossible to identify pauses, and it means that if you run for 59 seconds, for example, there will only be 5 points returned. The splits become a kind of wild guess. We released a patch yesterday, to try and improve the results, but it’s like trying to squeeze water from a stone, a particularly dense and dry stone, that makes your run look kind of squarish, think granite.
So a few ideas…
The Tom Tom Spark 3 is a great watch for the price. The Garmin 230 is an even better watch for a bit more money. If you have an iPhone, iSmoothRun seamlessly exports your data to nearly every running site on the planet and it’s a solid app for a one time $5 cost. If you have an Android phone, then Sportractive, Ghostracer, Caledos(beta) are all free and worth trying.