Validating tracked versus manual fitness activities using the Health Graph API

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.

Health Graph fitness activity documentation

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.


Improve your health with GEAR4 Renew SleepClock

The GEAR4 Renew SleepClock is a non-contact (no headbands or wristbands) sleep monitor for RunKeeper (@runkeeper) users. Read on to learn how GEAR4 uses the Health Graph API & platform (@healthgraphapi) to add sleep into your health and wellness profile.

Bill Day: Please tell us about yourself and your work.

Shane Dodson: I joined GEAR4 five years ago and have been developing consumer electronics accessories during my time here, mostly docking stations and Bluetooth products. We started to make our products app-enabled around 3 years ago. This also meant we could look beyond the audio products which made up our core range.

I enjoy long distance running and so getting the chance to work with products that measure my health and fitness has been really exciting. I am currently training for my first ultra marathon. Looking at my sleep and running stats helps me to analyse the progress of my training program and also keeps me motivated by sharing the data with some of my training partners. I am trying to observe patterns – for example when I have had periods of very heavy training, do I sleep longer or deeper?

BD: What is the “elevator pitch” for why someone should use Renew SleepClock?

SD: The Renew SleepClock is a wireless sleep monitor that allows you to track, learn, and improve a third of your life you know little about!

Renew uses a sophisticated bio-sensor to wirelessly monitor your sleep. It knows when you’re awake and it knows when you’re asleep. It even knows whether you’re in light or deep sleep. It senses your breathing and movement and wakes you up at the best moment in your sleep cycle so you start the day feeling refreshed and energized. The Renew App lets you track your sleeping patterns from graphs and charts and gives you analysis and recommendations based on your data to help you get the most out of your sleeping life.

Gear4 Renew sleep data in the SleepClock iOS app

BD: How did you get started using the Health Graph API?

SD: When we launched the Renew SleepClock we knew that we had to engage the user, not just to measure their sleep, but to improve their habits so that they could sleep better leading to a healthier life. We knew that we had to look beyond sleep itself and started to look at potential key partnerships. RunKeeper was the obvious choice and that led us to Health Graph platform.

BD: How is using the Health Graph platform benefiting your business?

SD: SleepClock Renew can measure all sorts of details about sleep patterns, influencing factors, and suggestions on how to improve sleep. However we realised that sleep is only one of three important parts of a healthy lifestyle; sleep, diet and exercise. Health Graph platform allows the user to have this more holistic view of their wellness which is essential.

BD: Which portions of the Health Graph API do you use, and why?

SD: We push Sleep Sets to the Health Graph giving you a more complete health picture. The Renew SleepClock measures these details.

BD: What do you like about the Health Graph? What would you like to see changed?

SD: It has very good documentation. We had a request to allow group uploads of sleep data (previously it was only possible to upload a single night’s date). The API has now been changed to enable this.

We post summary statistics. It would be useful to push the underlying raw data. This would allow more interesting graphs about sleep within RunKeeper.

BD: If you could request any new feature from the Health Graph, what would it be? How would you use it?

SD: We sync sleep data with our own cloud-based storage. It would be interesting to look at ways that our cloud could sync directly through the Health Graph platform. This would enable our users and RunKeeper users to have a seamless experience and have even more insight into their sleep patterns.

BD: Can you share any future plans for Renew and Gear4? What’s coming next that customers will be excited about?

SD: We are looking at a second version of the Renew SleepClock which would make this more accessible to a wider user base. We would definitely intend to continue using Health Graph platform for that.

We are also looking at other related products – more on that later this year.

BD: Is there anything else we should know about you, Renew, or Gear4?

SD: At GEAR4, we believe that personal wellness should be accessible to everyone. To that end we created the Renew brand. Leveraging our experience in smartphone accessories we are creating a line of products that help people track, learn and improve their personal well being. The Renew SleepClock is just the beginning. In the coming months and years we are looking to stand out with products that incorporate the latest technology while being affordable and simple.

Bill Day (@billday) is Platform Evangelist & PM for RunKeeper where he helps developers learn about and use the Health Graph.


RunKeeper hackathon recap

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

image

Jacked Jim gears up for his commercial debut in the RoidKeeper strength training promotional video

image

This team gave a whole new meaning to the term long hours. (And garnished some awesome prizes in the process)

image

Makers of the aforementioned awesome audio cues hack demo their goods

image

A little hack to get some more real-time insights into our community

image

Working to build the perfect GPS algorithm

image

And this video really speaks to the need for that widget hack

One of our many rocking trophies

image

Cross-posted from the RunKeeper blog.


Launch RunKeeper from your own iOS app

Are you a Health Graph (@healthgraphapi) partner with an iOS app of your own? And do you encourage your users to track their fitness activities using the RunKeeper (@runkeeper) app?

If you do and you want a way to ease their transition from your experience into RunKeeper tracking, we’ve got just the ticket!

We’ve added support for launching RunKeeper on-device from your app. To launch the RunKeeper app on iPhone (or iPad, if a user rolls that way):

  1. Present the user with a button in your app that they can click to launch RunKeeper.
  2. When the user clicks that RunKeeper button, attempt to open RunKeeper using the following Objective-C code:
                [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"RunKeeperPro://"]];
              
  3. If the user has an up to date RunKeeper release installed, the RunKeeper app should launch and they can begin tracking immediately.
  4. If the user has an older copy of RunKeeper, or hasn’t installed the RunKeeper app yet, prompt them to install the latest RunKeeper release from iTunes and then they can begin tracking after installation.

Here’s an example of how you might implement this, taken from our partner GymPact (@gympact; learn more about GymPact from this previous partner profile).

First up, notice how GymPact places a prominent RunKeeper button on their app launch screen once a user connects their GymPact account to a RunKeeper account (connection is a one time only operation per user).

Once the user clicks that button, GymPact loads this RunKeeper screen to provide additional context before starting the RunKeeper app.

Clicking on the “Connected – Get Running!” button on the screen above tells the user they’re about to open the RunKeeper app if they have it, or that they need to install the RunKeeper app if they don’t already have it installed.

From here they can grab RunKeeper from the App Store if need be and then away they go!

We hope this will be useful for many of our iOS app partners. Please give it a try and let us know what feedback and requests you have.

And Android partners, fear not, we have you covered too: Similar support is coming in our next Android app release. This will be supported via Android Intents. More details once that release is available in the Google Play store.

Bill Day (@billday) is Platform Evangelist for RunKeeper where he helps developers learn about and use the Health Graph.


Earn discounts with your favorite retailers from Bank of Fitness

Bank of Fitness (@bankoffitness) turns your workouts into discounts from your favorite retailers. Learn how and why Bank of Fitness chose to use the Health Graph (@healthgraphapi) to access out-of-gym workout data from RunKeeper (@runkeeper), opening up a new world of potential savings for exercising consumers.

Bill Day: Please tell us about yourself and Bank of Fitness.

Corey Draffen: I created Bank of Fitness (BoF) because of the severe lack of motivation there is for the average person to exercise and lead a healthier life.

Bank of Fitness is motivating the world to be healthier. We plan to keep people exercising by providing motivation through real-life rewards. Exercise at a gym or using a mobile fitness app and Bank of Fitness will automatically award you points redeemable for free items and valuable discounts at great retailers. The more you exercise, the more points you earn. The more points you earn, the more you save!

BD: What is the “elevator pitch” for why someone should use your app?

CD: Workout. Get Rewarded! It’s that simple.

BD: Can you tell us a bit about your users? What kinds of things do they do with Bank of Fitness?

CD: Our beta users have tracked more than 1500 workouts and redeemed rewards for Target gift cards, Visa gift cards, and some special discounts with retailers. We are in the process of partnering with gym management software companies to reward millions of users for going to the gym every day.

BD: How did you get started using the Health Graph API?

CD: We reviewed the Health Graph API documentation, then did a proof of concept to explore how an integration would work. We are excited to see it moving forward! BankOfFitness.com is now ready with end-to-end integration with RunKeeper.

BD: How is using the Health Graph benefiting your business?

CD: RunKeeper’s Health Graph keeps track of fitness activities for users. Fitness activity feeds enable us to reward RunKeeper users every time they workout.

BD: What do you like about the Health Graph platform? What would you like to see changed?

CD: We like how the platform keeps track of different type of activities; it’s not just limited to cardio exercise.

Having access to comprehensive API documentation that’s simple to understand has been really helpful, too. And when our QA team identified issues while integrating with the user registration process, the RunKeeper team was very responsive. We appreciate the quick turnaround.

BD: If you could request any new feature from the Health Graph, what would it be? How would you use it?

CD: Currently we have to ask users to register with BoF after RunKeeper Registration/Sign In. This is because the Health Graph API does not return user email addresses. This two-step registration process will likely increase the drop-out of first time users. If there were a way to get the email address of users who authorized RunKeeper access to BoF, it would be a very helpful feature.

BD: Can you share any future plans for Bank of Fitness? What’s coming next that your users will be excited about? Does the Health Graph play a role in that, and if so, how?

CD: Our near term plan is to integrate with fitness club management software companies so we can reward people working out at gyms. The Health Graph will play an important role, since we want those millions of gym members to also track their workout activities outside of the gym.

We have some exclusive discounts from retailers and are in-process on building new relationships that will result in even more exciting gifts and discounts for our users.

We have also created BoF APIs for use by fitness club management software companies. We are in partnership conversations with club management software companies to use our APIs.

Bill Day (@billday) is Platform Evangelist for RunKeeper where he helps developers learn about and use the Health Graph.


Gym Hero makes tracking workouts easy with the Health Graph

In honor of our participation in Health Hack Day (@healthhackday) in Stockholm later this week (watch this space for slides and more details), I’d like to feature some European Health Graph (@healthgraphapi) partners over the next couple of weeks. This time, let’s look at how one of our newest strength training partners, Berlin-based Gym Hero (@gymheroapp), is using a streamlined approach to workout tracking coupled with the Health Graph to help people improve their fitness.

Bill Day: Please tell us about yourself and your work.

Gym Hero: We are Jannik and Jannis, the founders of Big Mike Alright, the small but nice company behind Gym Hero. Gym Hero is currently a side project we are working on in addition to our day jobs and college. We both love sports but are especially addicted to kitesurfing!

BD: What is the “elevator pitch” for why someone should use your app?

Gym Hero is a gym workout tracking app that learns from you while staying out of your way as much as possible. The user interface is streamlined and optimized to be used while you work out, even with shaky hands. Workout routines are automatically learned as you go, so you never have to enter a weight or name twice. You are free to name your workouts and exercises however you like – full flexibility instead of endless searching and browsing in predefined, fixed lists. Each of your workouts gets its own webpage (if you want) with all the details, so you can share, compare and discuss with friends.

BD: How did you get started using the Health Graph API?

We both have been using Runkeeper tracking for our cardio activities for quite some time now. Being data and statistics junkies, our weight goes into the Health Graph via a Withings scale, and our blood pressure is monitored and sent to the Health Graph via a Withings blood pressure monitor. We track our runs and the bicycle commute to work with RunKeeper.

Because we also love to work out we wanted to add our gym workouts to our Runkeeper profile as well. When we heard about the Health Graph API we wanted to join. Quantify yourself!

BD: How is using the Health Graph benefiting Gym Hero and your users?

The Health Graph community is a place where sports enthusiasts of all types meet to motivate each other, exchange, discuss and most of all track and measure their performance. It’s a great place to collect all your sports and health related data. So obviously, we wanted to allow our community to join the Health Graph family and vice versa.

And for the programmers reading this: The Health Graph really is easy to use and embed into your applications. Go try it out!

BD: Which portions of the Health Graph API do you use, and why?

Since Gym Hero focuses on doing one thing only, but doing it really well, we use the strength training portion of the Health Graph API. We feed full workouts including workout notes and exercise names into the Health Graph. We don’t track cardio or time based training (yet).

BD: What do you like about the Health Graph? What would you like to see changed?

We love the idea behind the Health Graph. Bringing together such a great variety of health data is simply awesome. On top of that it’s a breeze to integrate into other applications. Just keep up the great work!

BD: If you could request any new feature from the Health Graph, what would it be? How would you use it?

We would like to see a little more flexibility when it comes to defining muscle groups for each exercise. Our basic idea for Gym Hero is to give our users full freedom in naming their exercises/workouts. We would love for this to also be possible for muscle grouping.

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?

We’ve been updating every five to six weeks with new features and improvements, but there are a lot of updates still to come. We will extend the workout summary view for a better performance check, add data sync with iCloud and a workout timer to name only a few upcoming features.

Our users can also request and vote for new features. They can do this by clicking on the speech bubble in the app or by going here. Please help us build the finest workout app ever by making your requests. We love to hear from our users!

BD: Is there anything else we should know about you or your application?

If you want to track your gym activities and are looking for a slick app which is not blown up with useless stuff check out Gym Hero. Never leave without flexing!

Bill Day (@billday) is Platform Evangelist for RunKeeper where he helps developers learn about and use the Health Graph.


Vitogo: A personal trainer in your pocket

We recently spoke with Arel English (@arelenglish), CEO and co-founder of Vitogo (@myvitogo), about their integration with the Health Graph (@healthgraphapi) and how being a Health Graph partner is benefiting their business. Read on to learn about how Vitogo recreates what a personal trainer does for you using your iOS device and the web.

Bill Day: Please tell us about yourself and your company.

Arel English: Fitness has always been a really important part of my life and is something I struggled with as a kid. In college, first as an athlete and later as a coach, I learned the importance of strength training for health and fitness and achieving meaningful results. The problem is that strength training is really complicated and intimidating, so we created Vitogo to make strength training easy and fun.

BD: What is the “elevator pitch” for why someone should use your app?

AE: Strength training is a really important part of a healthy lifestyle. Not only does it help you look better, it’s also an important part of weight loss, reducing your risk of injury, and increasing bone density. The problem is knowing how to strength train effectively. Vitogo makes it simple. Just like a personal trainer, Vitogo assesses your fitness level and goals to give you a tailored workout program that evolves with you. It coaches you through every step of your workout, tracks your progress, and keeps you motivated with the support of your friends, other users, and rewards.

BD: How did you get started using the Health Graph API?

AE: As an avid RunKeeper user before the idea for Vitogo even existed, I used to complain that my strength training workouts didn’t count toward anything on my RunKeeper account, so when we decided to build Vitogo, the first thing we wanted to do was look into how we could have our workouts post to RunKeeper so we could get credit for all our hard work. At the time, the Health Graph API hadn’t been announced, so we were pretty excited to learn about it when we first reached out to RunKeeper about the possibility of integrating Vitogo.

BD: How is using the Health Graph benefiting your business?

AE: The Health Graph is a great way to aggregate everything active we’re doing online. Just like how Facebook made it easy for new services to seamlessly share information socially across the web, the Health Graph has made it really easy to seamlessly share healthy activity. Sharing healthy activity and being able to aggregate it and see the big picture makes Vitogo that much better a product, and is something we are really excited about!

BD: Which portions of the Health Graph API do you use, and why?

AE: Right now we’re just publishing to the Fitness Feed and pulling Vitogo users’ RunKeeper activities. We want to quickly expand to sending calories burned and strength training statistics to the Health Graph so our users can get a more integrated experience.

BD: What do you like about the Health Graph? What would you like to see changed?

AE: Being able to fully integrate Vitogo, a heart rate monitor, a swimming tracker, and tons of other stuff that I use to track my activities is hugely powerful, that’s what I love about the Health Graph. I’m looking forward to being able to see exactly what each service is going to publish to RunKeeper, and pull from RunKeeper, so I know for example if Vitogo is going to update my total number of calories burned, and number of activities done that month.

BD: If you could request any new feature from the Health Graph, what would it be? How would you use it?

AE: Having the ability to control how individual apps post to the fitness feed would be an awesome extension of the Health Graph. We would like Vitogo to be able to post simple stories about a user’s strength training workout with the same type of control you have when deciding how your app posts to Facebook or Twitter.

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?

AE: We are really excited about getting users using Vitogo and giving us feedback on what they love, and what we can do better. We want to make sure that everyone using Vitogo feels confident and in control at the gym. We’re also going to continue to improve our Health Graph integration so our users get the best total picture of their fitness.

BD: Is there anything else we should know about you or your application?

AE: Vitogo is an iPhone/ iPod Touch app and a website! Using Vitogo.com is as much a part of the experience as using the app!

Bill Day (@billday) is Platform Evangelist for RunKeeper where he helps developers learn about and use the Health Graph.