Profile cover photo
Profile photo
Simple PHP class that makes it easy to grab your Nike+ data
Simple PHP class that makes it easy to grab your Nike+ data


Thanks to +Cédric Delpoux for pointing out an issue. Version 4.4.1 is now available with a bug fix and I've also updated the documentation on the website to contain known issues. This section specifically addresses an issue with usernames. Nike seem to have remedied the situation but I am not 100% sure just yet. Download the latest version and as ever, feature requests/reporting problems are encouraged!

Post has attachment
v4.4 is out, mainly refactoring and consistency, more details on

v4.5 isn't far off in it's current state, introducing one new feature for sure.

Using a cookie to log in, rather than a username or password has been discussed before and would be a great feature. It's actually something I got working today but if a user creates another session, it will break other instances. Not a problem for most as I can then force a new connection, but if the user is using the Nike+ website when this happens, then they'll be logged out. Even syncing a new run will probably cause this to happen! So that's that idea out of the window, for now anyway.

Another feature is caching. Your thoughts on this would be greatly appreciated. I've been thinking about doing file based caching, but if this doesn't sit well with users, then it's not worth doing. Any comments/suggestions are welcome.

Looking for a show of hands (or +1's) - would anyone back a Kickstarter project that raised funs to collect all of Nike's products in an effort to make Nike+PHP as comprehensive as possible? At the very least I'd want to cover the devices I've mentioned previously:

*iPod connection
*iPhone app
*GPS app
*GPS watch
*Kinect game
*Nike+ Training shoes
*Nike+ Basketball shoes

Any feedback is appreciated, even if you think this is a bad idea!

Post has attachment
Over the past two days I released versions 4.2, 4.2.1 and 4.2.2.

4.2 introduced 9 new methods, one of which extracted allTime() out from activities() and the other 8 were all friendly methods that help you format data or get your first/latest run.

As always, feature requests are welcome and I will do my best to include as much as I can.

GPS data and Fuelband integration has been mentioned many times but until I have the devices to do either, I can't really make much progress on those just yet.

With Nike's impressive expansion of Nike+ it is going to be very hard to keep up with all of the devices. So far, there will soon be the iPod connection, iPhone app, GPS app, Fuelband, Sportband, GPS watch, Kinect game AND both Nike+ Training and Nike+ Basketball shoes.

I hope to rectify the GPS situation in the next few months with the purchase of an iPhone but the rest are a little out of reach right now.

Post has attachment
Over the past month or so, I've been adding examples of where/how Nike+PHP has been used to the website and it's a great way to give back to the developers that actually use the code. I would love to showcase more of how it's being used so if you are a user of the code with a publicly available app/website/code example, please let me know and I'll add as many as I can to the website.

Post has attachment
After more feedback and a great suggestion from @thisisgordon on twitter to decode_utf8 before decoding to JSON, there should be a more consistent experience for everyone with v4.1.2 of Nike+PHP.

Post has attachment
Feedback from users is always great, especially for tackling issues. Released v4.1.1 yesterday after a user couldn't retrieve their data. Turns out Nike allow you to have a username with spaces and to retrieve the data, the username must be encoded using rawurlencode(). Updated the code and pushed a release soon after.

This morning, I also noticed that I had yet to update the logo on the Google Code project page. Fixed that too this morning! :)

Post has attachment

Post has attachment
Just released the new website with new logo for the Nike+PHP project, as published on Behance: when I thought I couldn't take the project any further!

Post has attachment
Now that Nike+PHP is back in a usable state, and now that I've removed silly mistakes I made in v4.0, a new website is in development. The website will be much cleaner, have both documentation and examples from the start AND may be a bit faster.

For a few reasons, the new site will also feature a responsive design meaning it will work well on all screen sizes, from mobiles to desktops and everything in between. I will also be taking it as an opportunity to re-brand the project with a new logo/identity. Something I'm very excited about because just over a week ago, I didn't think it would ever get used on the Nike+PHP website. You can get a sneak preview of the logo on Behance.
Wait while more posts are being loaded