RunKeeper‘s (@runkeeper) recently announced integration with MyFitnessPal enables users to connect their accounts on the two systems to automatically sync MyFitnessPal tracked calories consumed (i.e. calories added) into RunKeeper while also syncing RunKeeper tracked fitness activities (calories subtracted) into MyFitnessPal. Weight measurements are also synchronized bidirectionally between the two systems so that your latest weight is consistent between the two.
But there’s an added bonus for other RunKeeper partners and members of the Health Graph community. Both calories consumed and weight measurements synchronized from MyFitnessPal to RunKeeper are available to all Health Graph API developers. Calories appear as
Nutrition sets with values in the
calories field and weight measurements appear in
Weight sets. Both of these nutrition and weight sets will have a
source value of ‘
MyFitnessPal‘ to indicate their origin.
We hope that access to the additional MyFitnessPal-originated data will help you build even more amazing things for our collective user community!
One question we receive fairly often from Health Graph (@healthgraphapi) partners is how to validate that fitness activities (runs, walks, bike rides, etc.) read out of the Health Graph platform were GPS-tracked versus manually entered by the user. Rewards partners a la Earndit and GymPact, corporate wellness providers like Virgin HealthMiles, and forward-thinking brands are often keen to differentiate between tracked versus manually entered activities as part of their programs’ anti-fraud efforts.
So how do you tell the difference between GPS and manual activities?
Each item in the Fitness Activity feed has ‘
entry_mode‘, and ‘
has_path‘ fields. These let you determine whether the activity was originally submitted as a GPS-tracked activity. For example, a RunKeeper (@runkeeper) mobile app GPS-tracked run should have values of “
API“, and “
true” for the aforementioned fields, respectively.
If you are interested in including GPS-tracked sources from other Health Graph partners’ activity trackers, you can include them in your ‘
source‘ filtering. In addition, if you need to differentiate by type of activity (i.e. running, walking, cycling, etc.) you can use the ‘
Using these fields should let you skip any activities for which the user simply entered statistics, or originally entered the route map (path) via the Web. For more details on these fields and their usage, please refer to the Health Graph fitness activities documentation, especially the array structures section.
Caveat: The only reliable way to verify whether a user has subsequently edited the map associated with a saved GPS-tracked activity is to manually check each point’s ‘
type‘ (a value of “
manual” means it has been edited). For efficiency’s sake, we don’t save that information anywhere else in the Health Graph platform and we retrieve points only when full data for the activity is requested. That said, we have found that most users do not edit maps after the fact.
What happens when you give the RunKeeper crew two days to let imaginations run wild? A whole lot of awesome, I tell ya!
Our product team is always five steps ahead in terms of planning awesome updates to the app, but in the process, it seems each developer has some sort of other dream RunKeeper project they’d love work on if given the time. We decided to set two work days aside for engineers (and others throughout the company) to try to bring those to reality.
The community had lots of interesting ideas on what would make it into our first-ever hackathon, and many of the resulting hacks lined up with your hopes! There was a simple start widget for the home and lock screens on Android, much-improved data visualizations for your fitness reports, refreshed technology for GPS tracking, in-app strength training tracking, a pretty new website, and some ridiculously fun and motivating audio cues. And a few other things that are internal and top secret—for now :).
We’re cranking hard to turn some of these hacks into actual RunKeeper updates and features, so stay tuned! And in the meantime, the pictures and videos below are definitely worth (more than a) thousand words.
Kicking off some collaboration
Jacked Jim gears up for his commercial debut in the RoidKeeper strength training promotional video
This team gave a whole new meaning to the term long hours. (And garnished some awesome prizes in the process)
Makers of the aforementioned awesome audio cues hack demo their goods
A little hack to get some more real-time insights into our community
Working to build the perfect GPS algorithm
And this video really speaks to the need for that widget hack
One of our many rocking trophies
Cross-posted from the RunKeeper blog.
Watch for posts to our @HealthGraphAPI Twitter account throughout the hackathon and for a wrap-up of all the goings-on here after we see what amazing things our teams build. And as always, please remember to:
The latest slides are available on Slideshare:
Changes to the slide deck include:
- Updated Health Graph platform stats for growth in users, partners, and data
- Added links to set-based APIs (after removing links to now-deprecated corresponding discrete measurements)
- Asked all developers to please read through and follow the Health Graph Best Practices as they develop and prepare to deploy their integrated apps, services, and devices
Please take a few minutes to review the slides and let us know if you have any questions. Thanks and happy hacking!
While this post is targeted at attendees of the September 2012 Quantified Self conference in Palo Alto, even if you’re not attending you still might find some useful Health Graph information and development tips.
Welcome Quantified Self attendees and hackers! You’re in for a great weekend of learning and networking. And hopefully plenty of fun!
Here are the sessions where I’ll be representing RunKeeper:
- “Hacking APIs” breakout session, Saturday 10:30AM – Beau Gunderson (@beaugunderson) of Singly and I will be discussing APIs for self quantification and hackery. We hope to have a lively discussion with you and each other, examining APIs for QS from every angle.
- RunKeeper & Health Graph office hour, Saturday 1:30PM – I’ll be available to discuss Health Graph development and answer any questions you may have.
I will also be attending as many of our partners’ sessions as I can, while hopefully having lots of time to share ideas and make new connections. Please contact me (@billday) if you’d like to get together at the conference.
To prepare for the conference, or begin using the Health Graph directly on your own, you should start by watching this high level overview of the Health Graph platform:
For a quick primer on developing with the Health Graph API, click through the more technical presentation below:
All Health Graph partners are required to follow the Health Graph API Policies.
You can access more technical details on the RESTful Health Graph API by clicking here. Experiment and prototype with the API using the Health Graph Developer’s Console (click here to load the console).
When you’re ready to start your app in earnest, visit the RunKeeper Partner page and click “Connect To Our API“. From there you can fill out the form to register your new Health Graph integrated app, service, or device.
Click here to learn about authorization removal callbacks before providing your callback URL on the form. If you will be reading data out of the Health Graph for accounts other than your own app registering account, you should also request Read permission on the form, being sure you give a detailed explanation of what you will do with that data once you’ve accessed it. Likewise, if you would like to ask users for permission to retain their Health Graph data across deauthorizations and/or edit health information for authorizing users, please request permission(s) on the form.
Need some inspiration to get your developer juices flowing? Check out some of the applications built and deployed using the Health Graph API, available from the RunKeeper Apps page (click here). You can also access an archive of third party libraries, wrappers, and bindings which might make your Health Graph API-based development easier by clicking here. And there’s more information on how app and library partners are taking advantage of the Health Graph via our Health Graph partner profiles series on the blog.
One more tip: Click here to learn how to export your own user data from the Health Graph; useful for programmable self hacks as well as backups and parsing your data to re-upload into a test account via the Health Graph API.
Now that you know how to use the Health Graph, go build something great!
InsideTracker (@Inside_Tracker) is a blood marker based service that provides a Health Graph (@healthgraphapi) integrated dashboard for your body. Read on to learn how you can use the Inside Tracker service (click here to buy at a special discount) to better understand how to optimize your own health and wellness.
Bill Day: Please tell us about yourself and your work.
Gil Blander: I am the founder of Segterra, the company that created InsideTracker, the most advanced blood analysis program.
InsideTracker is an innovative, web-based platform that combines blood analysis with your demographic information and unique goals to create a roadmap to optimal wellness and performance. The program recommends simple and tangible interventions, such as changes in food, supplements, lifestyle, and exercise, to help our users achieve their goals.
BD: What is the “elevator pitch” for why someone should use InsideTracker?
GB: Our bodies are our most valued possessions. InsideTracker gives you information and tools to help you perform at your most efficient and optimal level every day.
A good analogy is taking your car in for service every 5000 miles. The technician runs the computer diagnostic and then tells you what you should do to keep your car running in the best condition possible.
Every 3-6 months, getting your blood drawn and analyzed by InsideTracker tells you the current state of your body. It’s like having a window inside yourself to see exactly how you are doing. That knowledge combined with InsideTracker’s recommendations for simple lifestyle and nutrition changes empowers you to keep your body in the best possible condition.
BD: How did you get started using the Health Graph API?
GB: Our team was looking for partners who shared our goal of giving customers control of their wellness and performance. We were really excited to have the opportunity to integrate with RunKeeper. We think that there can be important synergies between InsideTracker and other companies using the Health Graph platform.
BD: How is using the Health Graph platform benefiting your business?
GB: The Health Graph platform has an extensive community of users who want to track their fitness and performance. It’s a perfect fit for InsideTracker and for our customers.
BD: Which portions of the Health Graph API do you use, and why?
GB: Initially, we are using the Health Graph API to acquire up-to-date information from InsideTracker users via mobile apps. These apps are convenient for our customers, and the data we receive from them makes our analysis more timely.
BD: What do you like about the Health Graph? What would you like to see changed?
GB: The Health Graph platform is excellent because it integrates so many different products and applications. Our customers benefit from being able to share and track many aspects of their fitness and wellness data through Health Graph.
BD: If you could request any new feature from the Health Graph, what would it be? How would you use it?
GB: In fact, the Health Graph team has already responded to our request to extend the Health Graph API to represent measurements of the biomarkers analyzed by InsideTracker! We plan to explore future extensions to InsideTracker in which users will be able to share their analysis data using the Health Graph API.
BD: Can you share any future plans for InsideTracker? What’s coming next that your customers will be excited about? Does the Health Graph play a role in that, and if so, how?
GB: InsideTracker is planning to integrate data from wireless scales so that we can update our recommendations for nutrition and exercise daily based on a customer’s weight. The Health Graph API is essential for us to integrate these data.
BD: Is there anything else we should know about you or InsideTracker?
GB: If you are looking for a roadmap to wellness and performance, get InsideTracker. You will find out where you are, where you should be, and how to get there by making changes in lifestyle, exercise, and nutrition. We turn measurements into meaningful advice.