Validating tracked versus manual fitness activities using the Health Graph API
Posted: April 8, 2013 Filed under: API, Data, Fitness, Partners, Running | Tags: activities, api, brands, corporate_wellness, feed, fields, fitness, gps, healthgraph, manual, map, path, revisions, rewards, runkeeper, running, source, tracking, type, validation 1 Comment »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 ‘source‘, ‘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 “RunKeeper“, “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 ‘type‘ field.
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.
Bill Day (@billday) is Platform Evangelist & PM for RunKeeper where he helps developers learn about and use the Health Graph.
Bringing hackathon innovation into RunKeeper product
Posted: March 29, 2013 Filed under: Android, Apps, Hackathons, Personal, Running | Tags: activities, android, charts, distance, english, french, german, goals, hackathon, innovation, insights, ios, iphone, italian, japanese, languages, pace, personal, portuguese, product, PRs, records, runkeeper, spanish Leave a comment »We’re very excited to have our new RunKeeper (@runkeeper) release out on Android now and iPhone soon!
Not only is RunKeeper now available in seven languages (English, Spanish, French, German, Italian, Brazilian Portuguese, and Japanese), but we’re also shipping our first internal hackathon-derived feature, personal fitness Insights for Elite users.
Here are some screenshots of Insights and other parts of the app in the various languages:







Power tip: When you try out Insights, be sure and click on the different parts of the pie chart to change “focus” in the pace and distance charts. You can also change the time period and/or activity type under consideration via the settings icon at the top right.
I am particularly proud of how fast our team took Insights from hack to product-quality feature. This team never ceases to amaze me!
Enjoy and please let us know what you think!
Bill Day (@billday) is Platform Evangelist & PM for RunKeeper where he helps developers learn about and use the Health Graph.
GymPact pays you for exercising with RunKeeper
Posted: August 29, 2012 Filed under: Android, API, Apps, iOS, iPhone, Motivation, Partners, Running | Tags: activities, android, api, app, biking, cash, exercise, geoffoberhofer, gps, gym, gympact, harvard, healthgraph, integration, ios, iphone, loss, membership, motivation, pact, partners, rewards, runkeeper, running, tracked, walking, yifanzhang 3 Comments »GymPact (@gympact) from Health Graph (@healthgraphapi) partner Pact helps motivate your exercise with cold, hard cash. With GymPact‘s Health Graph integration, qualifying RunKeeper tracked running, walking, and biking activities can be turned into money in your pocket. Read on to learn how GymPact motivates healthy behavior using the Health Graph.

Bill Day: Please tell us about yourself and Pact.
Yifan Zhang: A classic dormroom to startup story, I co-founded Pact with my Harvard classmate Geoff Oberhofer. We were both fascinated by a behavioral economics principle that people are motivated much more by loss than rewards.
We decided to first tackle the specific problem of getting people to the gym more often, and launched GymPact on January 1st, 2012.
BD: What is the “elevator pitch” for why someone should use GymPact?
YZ: Do you pay for an expensive gym membership but can never find the time to use it? GymPact is an iPhone app that lets you earn cash rewards for checking in at the gym, paid for by non-exercisers!
You can make a Pact to work out, choose how much money you’ll put on the line to motivate you, and earn cash when you meet your Pact. Our over 45,000 GymPact users are 90% successful at getting to the gym on committed days.
BD: How did you get started using the Health Graph API?
YZ: Ever since we launched, our users have asked to count outdoor activities (runs, walks, bike rides) toward their Pact. The Health Graph platform has allowed us to easily partner with awesome products like RunKeeper to give our users a feature they wanted.
BD: How is using the Health Graph benefiting your business?
YZ: We announced our integration with the Health Graph a few weeks before the launch, and the response was overwhelming! We had over 1,000 people sign up for our beta list on the first day, and tons more likes/RT’s on social media.
BD: Which portions of the Health Graph API do you use, and why?
YZ: Right now, we are pulling RunKeeper GPS-tracked activities from the API so that we can automatically count them toward GymPacter’s Pacts.
BD: What do you like about the Health Graph? What would you like to see changed?
YZ: The integration was so simple! There were very few bugs, which allowed us to focus on the product and experience rather than the engineering challenges of integration. We see no changes needed for the current version of what we’re doing.
BD: If you could request any new feature from the Health Graph, what would it be? How would you use it?
YZ: We would like to have verified activities marked specifically, since we would like to pull data from other Health Graph-integrated apps as well as RunKeeper.
BD: Can you share any future plans for Pact? What’s coming next that your users will be excited about? Does the Health Graph play a role in that, and if so, how?
YZ: One big thing is that we have an Android app now in private beta! You can sign up for it on our homepage or here. Also, we’re looking to partner with other health apps to incentivize verified healthy activities. The Health Graph is huge for making those partnerships simple!
Bill Day (@billday) is Platform Evangelist for RunKeeper where he helps developers learn about and use the Health Graph.
Get smart about your running with CleverRun
Posted: August 7, 2012 Filed under: API, Apps, Fitness, Motivation, Partners, Running | Tags: activities, cleverrun, coaching, fitness, healthgraph, intervals, partners, predictions, races, richardcunningham, runkeeper, running, runs 1 Comment »CleverRun (@cleverrun) helps you understand what you’re capable of doing during running races. It uses your recent RunKeeper recorded running activities to show you information about your previous runs. More importantly, it uses those previous runs to make some smart predictions about how long it will take you to run future races of varying distances from 5k to marathon. Read this profile to learn more about how CleverRun uses the Health Graph (@healthgraphapi) to read in the data needed for its predictions and charting.
Bill Day: Please tell us about yourself and your work.
Richard Cunningham: My background is in Linux system administration and web programming. I’ve been interested in getting data from APIs for a while and I’ve created a few things using them.
Last year, I started running with the goal of running a 10K race. I wasn’t able to do a 10K race last year due to injury and kept to shorter distances as a result. I run in the Parkrun series of races, which are free 5K timed runs held every Saturday morning, mostly in the U.K. but also in a few other countries now.
BD: What is the “elevator pitch” for why someone should use CleverRun?
RC: CleverRun is a simple way to analyse your performance from recent runs.
BD: How did you get started using the Health Graph API?
RC: I was tracking my runs in RunKeeper, though I found the website wasn’t displaying my past runs in the way I found most useful. I am most interested in tracking how fast I am running. I created CleverRun as a way to explore better ways to display my runs. I showed what I had done to my brother, who is also a runner, and he liked it, so I released it for others to use.
BD: How is using the Health Graph benefiting you?
RC: The Health Graph is benefiting me by giving me an easy way get at all of my running data. Hopefully it is helping other CleverRun users too!
BD: Which portions of the Health Graph API do you use, and why?
RC: I mostly use the fitness feed at the moment, because the key information I need for CleverRun is there and I can simply fetch all of a user’s runs in one query.
BD: What do you like about the Health Graph? What would you like to see changed?
RC: The Health Graph is easy to understand and well documented so that’s what I like about it.
I would like to see some data added to it, like your friend’s latest runs and anything really that is available via the website.
BD: If you could request any new feature from the Health Graph, what would it be? How would you use it?
RC: Getting the details of runs completed using the coaching feature of the mobile apps would be useful, so I can analyse people’s interval training and display it to them.
BD: Can you share any future plans for your app? What’s coming next that your users will be excited about? Does the Health Graph play a role in that, and if so, how?
RC: I’m working on better indicating how the performance of your last run was in comparison to previous runs. Also, several users have sent me suggestions already and I am working how to best fix those issues.
BD: Is there anything else we should know about you or your application?
RC: The RunKeeper team have been very supportive. I’m interested in suggestions for further improvements from users of CleverRun and there is a link on the CleverRun page (when logged in) so users can send me suggestions or report problems.
Bill Day (@billday) is Platform Evangelist for RunKeeper where he helps developers learn about and use the Health Graph.
Health Graph API additions
Posted: June 26, 2012 Filed under: API, Fitness, Sleep, Weight | Tags: activities, api, apps, background, blood, developers, diabetes, documentation, elite, fitness, gps, healthgraph, is_live, live, markers, name, nutrition, platform, response, revisions, runkeeper, sleep, source, streetteam, summary, userID, weight 1 Comment »We’ve made several recent additions to the Health Graph API (@healthgraphapi) based upon partner feedback and requests.
Recently added fields include:
source– string added to Fitness Activities, Background Activities, Nutrition, Sleep, Diabetes Measurements, and Weight portions of the Health Graph API; this provides the name of the application that last modified the given activity or measurement; see documentation for details.is_live– boolean added to Fitness Activities to indicate whether the activity is currently being tracked via RunKeeper Live; note that this field will report ‘false‘ until at least one GPS point for the Live activity is received (this should occur immediately upon beginning the Live activity, but may be delayed up to several seconds if it takes longer than normal for GPS hardware to acquire a sufficient GPS signal).userID– integer added to each team member entry from Street TeamGET /teamresponse to allow developers to more easily access team member account details (assuming member has authorized the calling app).- past activities are now available in a summary form that is more conducive to bandwidth-constrained environments; search for ‘summary’ in the Fitness Activities docs to learn more.
- blood markers – a number of additional markers have been added to the General Measurements portion of the Health Graph API; for the complete list of what’s now available, please refer to documentation for General Measurements and Diabetes portions of the API.
Please let us know if you have any questions about these API updates by leaving a comment here or on this Health Graph discussion group thread (click here to access).
Bill Day (@billday) is Platform Evangelist for RunKeeper where he helps developers learn about and use the Health Graph.
Weighty makes weight and fat percentage entry simple
Posted: June 12, 2012 Filed under: API, Apps, Community, iOS, iPhone, Libraries, Partners, Weight | Tags: activities, api, apps, cloud, data, fat, fitness, frankvanrest, healthgraph, ios, iphone, libraries, mobile, netherlands, partners, runkeeper, scale, triathlon, weight, weighty Leave a comment »Some of the best Health Graph (@healthgraphapi) partner apps are built to solve a developer’s own health and fitness issues. Case in point: Weighty, a free mobile app for quickly and easily tracking your weight and body fat percentage using the Health Graph. Weighty creator Frank Van Rest (@frankvanrest) talks about the problem he wanted to solve with his app, and how he went about creating it, below.
Bill Day: Please tell us about yourself and your work.
Frank Van Rest: I’m a Dutch mathematician who graduated in the summer of 2011. During my studies I founded a web development company. After graduation I was in need of a new goal, and getting a regular job wasn’t a great lookout after being an entrepreneur for eight years.
While traveling I decided to target doing a full Ironman triathlon in two years. I’ve always been a basketball player and couldn’t swim, so this was a challenge. But I’ve been in training for half a year now and am getting in quite good shape!
BD: What is the “elevator pitch” for why someone should use Weighty?
FVR: Weighty is a free iPhone app that makes it super easy to submit your weight and fat percentage to the Health Graph. Tracking your weight is a key step to effectively losing (or gaining) weight. I hope Weighty makes this easy and simple for everyone.
BD: How did you get started using the Health Graph API?
FVR: As I’ve gone about my triathlon training, I wanted to add my weight and fat percentage to the same place as my activities. This was previously only possible via the RunKeeper website, which is not as easily accessible as a mobile app when I’m standing on my weight scale.
The Health Graph API made it easy for me to create such a mobile app myself! I started with the iOS library I found on github and got it (after some debugging) to working pretty quickly. (Editor’s note: A complete listing of available third-party Health Graph libraries is available by clicking here.)
BD: How is using the Health Graph benefiting you?
FVR: The Health Graph makes it easy to create apps that submit data to a central health-related data repository. This cloud-based approach is very valuable for users, since combined analyses can be done. RunKeeper provides free publicity for my app by highlighting it in the Health Graph app directory and showing it in users’ FitnessFeeds when they submit their weight or fat percentage to the Health Graph.
BD: Which portions of the Health Graph API do you use, and why?
FVR: After authentication, I only use the API calls to POST weight and fat percentage. In the future I want to add historical data to the app, at which point I’ll also use GET calls to read that data back from the Health Graph.
BD: What do you like about the Health Graph? What would you like to see changed?
FVR: I like the ease of use of the API. I got a working version up and ready to test in a few hours of work.
During testing I found some small bugs in the API, but the API team fixed it quickly after contact. I’d like additional capabilities to remove and edit data records as well.
BD: If you could request any new feature from the Health Graph, what would it be? How would you use it?
FVR: My scale also gives water percentage and muscle percentage, which I would love to keep track of as well. If that were possible with the Health Graph as well, I’d implement in Weighty!
BD: Can you share any future plans for Weighty? What’s coming next that your users will be excited about? Does the Health Graph play a role in that, and if so, how?
FVR: Removing or editing weight or fat percentage records is not possible at the moment (not on the RunKeeper website and not via the Health Graph API). If a user makes a typo and enters the wrong data, it can really mess up their graphs and weekly averages. I would love to have the ability to remove records via my app (or the website). As soon as that’s possible, I’ll add historical data to the app, with the possibility to edit and delete that data as well.
BD: Is there anything else we should know about you or your application?
FVR: It’s a free iPhone app called Weighty and it’s available via http://weighty.frisb.nl. Please share your feedback via email to weighty@frisb.nl.
Bill Day (@billday) is Platform Evangelist for RunKeeper where he helps developers learn about and use the Health Graph.

















Run with anyone, anywhere using Running Club
Posted: September 6, 2012 | Author: Bill Day | Filed under: Apps, Motivation, Partners, Running | Tags: activities, app, chat, club, comments, cycling, ericpiazza, fitness, group, healthgraph, live, local, mobile, motivation, partners, phone, remote, runkeeper, running, runningclub, virtual, voice, walking | Leave a comment »Running Club app (@runningclubapp) lets you do virtual runs (and bike rides and walks) with friends that are physically located elsewhere during the run. By integrating with the Health Graph (@healthgraphapi), Running Club has guaranteed that you can store and use your run data on your platform of choice and with other activity tracking apps such as RunKeeper’s own (@runkeeper).
Bill Day: Please tell us about yourself and your app.
Eric Piazza: I’ve been a software developer for a little over ten years.
Most people assume that I am also an avid runner, but actually the opposite is true: I have a hard time getting motivated to run. But this lack of motivation was actually the reason I got the idea for the app. I found that the only time I would get out and run consistently was when I had a “reason” to run. Joining a local running club with some friends was a great motivator, but with two young kids and work piling up, I found I was missing more and more runs. With all the technology available in mobile phones I thought “Why can’t I just run with my friends through the phone?”. I got together with some colleagues and about nine months later the “Running Club App” was born!
BD: What is the “elevator pitch” for why someone should use your Running Club app?
EP: The Running Club app can be thought of as a “virtual running club” where people can schedule live, interactive runs with friends and other runners around the country. What makes Running Club unique from other apps is this live functionality, where users can actually see their progress compared to others during a run, and have a live group chat with everyone before and afterwards. Running Club uses a “dot race” style visualization to show how far everyone in the activity has run in real-time.
Note also that the Running Club app can also be used for other activities such as Cycling or Walking.
BD: How did you get started using the Health Graph API?
EP: I am also a RunKeeper user, and during our development I saw a newsletter featuring a handful of apps from the RunKeeper app section. I knew that integrating Running Club with Health Graph would be a great way to get existing RunKeeper users to use our app, while allowing them to continue to track their data using RunKeeper.
BD: How is using the Health Graph benefiting your business?
EP: The benefits of the Health Graph are obvious.
From our perspective, we are able to better reach our target audience, both through visibility on the RunKeeper app pages, and also through the Health Graph posts themselves. When a user posts a result from our app to the Health Graph, all of their friends can see they are using the Running Club app, and hopefully they will turn around and try it themselves. RunKeeper users benefit as well since they have the ability to use Running Club, but keep their run data in their existing system.
BD: Which portions of the Health Graph API do you use?
EP: We use the feature for posting activity results.
BD: What do you like about the Health Graph? What would you like to see changed?
EP: It’s a really innovative idea that allows smaller apps like us tap into the huge RunKeeper community.
The API was easy to use and integrate. The only change I’d like to see at the moment is to allow a post without actually providing activity data (an informational post). For example, for Facebook and Twitter, when someone signs up for an activity, they can automatically post information about the upcoming activity, something like “John is running 5K at 7:00 PM tonight, join him *live* in the Running Club App”. We are not able to make a similar post to the Health Graph platform because results information is required.
BD: Can you share any future plans for Running Club? What’s coming next that your users will be excited about? Does the Health Graph play a role in that, and if so, how?
EP: We are currently working on Running Club 2.0, which will include some really neat new individual features as well as voice updates as you run.
BD: Is there anything else we should know about you or your application?
EP: You really have to try a group run to fully appreciate the Running Club app. There is nothing else like our app on the market, and the social experience you get from running “with” your friends in other parts of the country, or meeting a new running partner is extremely satisfying.
To give you an example, the other day I was in a 5K run with a friend from New York, and a friend across the world in Dubai. I knew both these guys but they didn’t know each other. We ran a 5K, and they both finished within 5 seconds of each other (they left me in the dust). They liked the motivation that they got from each other and have been scheduling runs together on a regular basis since then.
Bill Day (@billday) is Platform Evangelist for RunKeeper where he helps developers learn about and use the Health Graph.
Share this: