Off road mapping via OS RouteMapper and the Health Graph

Mark Kelsey (@freddy4th) is a doctor and a programmer with some great ideas for using the Health Graph (@healthgraphapi). This week we feature him and his first published Health Graph app, OS RouteMapper (@osroutemapper), in our ongoing series on Health Graph partners.

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

Mark Kelsey: I am a doctor by profession and an amateur self taught programmer. I have developed a number of web applications and software packages which we use within my medical practice and I now also work for a software company which develops clinical decision support software. Work on my Health Graph app OS RouteMapper is therefore a bit of a sideline at the moment, though with my medical background I have lots of ideas for how the Health Graph API could be used to help people manage their medical conditions.

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

MK: OS RouteMapper allows people to view their Runkeeper activities on Ordnance Survey maps within the UK. These maps are world renowned for being very detailed and in particular provide excellent detail off road. They are therefore particularly useful for walkers, cyclists or runners who don’t stick to roads! Outside the UK, the app uses OpenStreetMaps Cycle Maps which in many areas are much more detailed than Google maps, again particularly useful off road.

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

MK: After using Runkeeper to track my cycling activities, I wanted to view my activities on more detailed maps so I could see where I’d been (I’m often cycling at night along dark tracks!) and plan where else to ride.

Before the Health Graph API was released, I developed a web site that would allow me to upload GPX files to show on an OS Map. When the Health Graph API was released it was a natural development to automatically get the activities off Runkeeper. I was surprised by how many people started using the app when I published it and when I saw that people from other countries were using it I added the support for OpenStreetMaps Cycle Maps. After seeing how easy it was to integrate with the Health Graph API, I have thought of lots of other ideas about how the data could be used in different ways.

BD: How has using the Health Graph benefited you?

MK: At the moment this is just a sideline for me but I think some of the ideas I have may have even greater appeal to lots of people and may become a commercial opportunity.

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

MK: I mainly use the activities feed and in particular the path of each activity is used to plot the route on the map. The street team feed is also used to enable users to view street team members’ activities on the maps.

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

MK: It is very easy to integrate with the Health Graph and the documentation is very clear, even for an amateur programmer like me! One addition I would appreciate is the ability to view the user’s saved routes as this is currently not available. I would also like to develop the ability for users to plan routes using my maps and save them back to the Runkeeper / HealthGraph site as a route.

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

MK: With my background as a doctor, I would really love to see some integration with clinical systems and devices so that users can see data (e.g. blood glucose measurements, BP readings, Weight readings etc.) that their doctor has on the clinical system, and they can see the effect of their exercise on their medical conditions. This could extend to things like blood glucose monitors so patients can automatically upload data. I think this kind of thing could really help telemedicine develop in the future.

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?

MK: In the immediate future, I am developing a way for users to compare their performance over parts of their routes i.e. split times, so that even if they don’t follow exactly the same route twice, they can compare their performance over the parts of the route that are the same. As stated above I have a number of other ideas that I think would work well with the Health Graph and build on it. I am hoping to develop these.

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

MK: You can follow future developments on Twitter at @osroutemapper!

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

Advertisements

Social workouts with Fitness Tracker 90 CE and the Health Graph

Are you a developer with an idea for using the Health Graph (@healthgraphapi) but no company (yet) to help you build it? Take inspiration from this week’s featured partner, Steve Chen of SJC Global, Inc., who built Fitness Tracker 90 CE (@iFitnessTracker) himself while holding down a separate full-time job. You can do it too!

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

Steve Chen: My company, SJC Global, is self owned and I am the sole employee. I do occasionally contract with other individuals as necessary, but the core of the product is all developed by myself. The company started in August 2010, and the company’s mission is to create great apps that enhance users lives. I hope to expand and grow the company’s products in the next year. My company is currently one of my many “hobbies”, as I am only able to work on it during my free time, since I also have a regular full-time job.

I have a Computer Science degree as well as an MBA and a great deal of experience working in the technology industry. I’ve worked at numerous companies throughout my career including small start-ups as well as large multi-billion dollar companies.

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

SC: Fitness Tracker 90 CE is an app for your mobile device that allows you to record and monitor your workout progress. You no longer need to try and remember your workout schedule, since the app allows you to customize any routine to fit your needs. Use the app to track any 60 or 90 day workout or anything in between. Entering data is simple with the sleek user interface that is designed with speed of entry in mind. With Fitness Tracker 90 CE you know exactly how your workout is progressing given the detailed logs and elegant graphs that let you visualize your achievements. Get social with your workout by sharing your results on the RunKeeper service, or sharing your workouts on the user forums.

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

SC: I felt that integrating with RunKeeper would benefit both my existing users as well as RunKeeper users not yet using Fitness Tracker 90 CE.

I started development using the Health Graph API by going through the documentation on the developer site. I also worked closely with the RunKeeper team initially on validating some of the API requirements to ensure that they would map to my needs as well as others.

BD: How has using the Health Graph benefited your business?

SC: Having the ability for users to post their results to the RunKeeper service has helped expand the reasons why someone would purchase my app. Users tend to see the integration with the RunKeeper service as a great benefit and I am thrilled that I am now able to offer that service to them in Fitness Tracker 90 CE. Traffic to my site has started to increase with little promotion thus far, and I hope to see the traffic continue to rise as more and more announcements are made.

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

SC: Fitness Tracker 90 CE currently utilizes the strength tracking and weight measurement features of the Health Graph API. The decision to use these Health Graph features was based on what Fitness Tracker 90 CE is designed to do, and that is to allow users to track and maintain their fitness.

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

SC: The Health Graph makes it easy for any app to integrate with it through the use of the APIs. The one difficulty I found frustrating at times was that errors on the server often resulted in HTML pages coming back instead of a simple response with an error code and description. I could see the need for an HTML page result when the API is called from a web page itself, but when calling the APIs through a mobile app the result needs to be parsed out of all the HTML and it is unclear in the documentation what types of error conditions may arise.

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

SC: My first request would be a simple change to how fitness activities are recorded. Currently, there is a type “other” that may be used when defining a new fitness activity. I would like to see an optional field that would allow you to also specify the fitness activity name, as this option would allow my users to track activities such as cardio kickboxing or other workouts that don’t necessarily have individual exercises.

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?

SC: I can’t give away all my secrets, but I can say that I do plan on expanding my app to other devices in the future. The mobile industry is growing at an extraordinary rate and getting Fitness Tracker 90 CE on all mobile devices is one of my goals for 2012.

I am planning on integrating more workouts with the RunKeeper service as soon as the APIs are available that would allow me to do so. My goal is that every exercise, whether strength training related or not, that can be tracked in Fitness Tracker 90 CE should be integrated into RunKeeper.

There are also plans to add a stopwatch feature that will allow users to better monitor the time spent on fitness activities. This feature is already available through the RunKeeper API and would be something that users could look forward to seeing.

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

SC: If you are serious about working out and keeping track of your routine then definitely give Fitness Tracker 90 CE a try!

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


IronApp: Connecting triathletes via the Health Graph and Facebook

This week we turn our Health Graph partner profile gaze upon IronApp (@ironapp), the “Home for Triathletes on Facebook”. Learn how founder Tyson Miller (@tysonmiller) enriches IronApp’s community of triathletes using the Health Graph (@healthgraphapi).

Bill Day: Please tell us about yourself and IronApp.

Tyson Miller: Being an Ironman triathlete and a web entrepreneur for many years, I always wondered why there weren’t any real social networks for triathletes, particularly focusing on the half and iron distances. It’s because of this that we built IronApp over the past year. We launched in December 2010 with a pretty simple app and have grown to around 50,000 athletes over the past year.

BD: Why would someone use IronApp?

TM: IronApp enables triathletes to keep a race portfolio and see which people on Facebook are doing these races. This hasn’t been done on Facebook before. In addition to this, athletes can also train with their Facebook friends and see which friend is training the most. Lastly, we have groups for each race on our app and athletes doing the same races can easily share information within these groups.

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

TM: I have been using RunKeeper for quite a while and I think it’s a great product. I always knew that within RunKeeper’s large user-base there were probably a lot of triathletes that would love to interact with other triathletes registered for the same races. Our users were also looking for the perfect tool to track their training while still using our app. When the Health Graph API was launched we knew that it would be great for us.

BD: How has using the Health Graph benefited your business?

TM: In addition to increasing the value of our offering, the Health Graph has gotten our app a large amount of exposure. This exposure has been invaluable to us.

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

TM: Currently we are pulling training data from the API and tying it to our athletes’ upcoming triathlons. This enables users signed up for the same races to see each other’s training and how it’s progressing. This is very helpful for our athletes, particularly when training for long Ironman races.

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

TM: So far everything has been great…off the top of my head there is nothing else that we would need!

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

TM: We are really interested in getting real-time location data and seeing what can be done with done with that. I think it would be great if some of our triathletes could be notified if another IronApp-using triathlete that was participating in the same race was nearby.

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?

TM: We are currently coming up with a game plan for the future and we definitely see the Health Graph as a part of that. Training sessions and training data will be further integrated into IronApp and for that we will continue to utilize the Health Graph API. Spatial data might also have a place in our app in the future!

BD: Is there anything else we should know about you or your application?
TM: Our mission is to provide the best app for triathletes online and we are going to continue to work very hard to fulfill that mission. We look forward to continuing to work alongside RunKeeper with the Health Graph API.

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


Health Graph tip: Authorization removal callbacks

This deauthorization callback how-to is the first of an intermittent series of tips-and-tricks posts. Note that this post was updated to reflect more liberal API Policies in May 2012.

The Health Graph now supports callback URLs for removal of user authorizations. You should specify your callback URL when you register your application in the Partner portal.

Here’s how it works: Whenever a user permanently disconnects your application from their RunKeeper account and they have not authorized you to retain their Health Graph data after that disconnection, the system will send an HTTP POST to the callback URL (in application/json format) with a single parameter, “access_token“, that contains the now-invalid token. The request from the Health Graph system will look like this:


POST callback_url HTTP/1.1
Host: callback_host
Content-Type: application/json
Content-Length: nnn

{"access_token":"some_token"}

where callback_url is the URL supplied during registration, callback_host is the host portion of callback_url, nnn is the length of the request body, and some_token is the revoked token.

Please refer to the Health Graph Registration and Authorization documentation for more.

Additional notes: If you request data retention capabilities, you are required to honor the user’s decision as to whether to authorize your retention or not at disconnection time. In that case, you must implement this callback such that if the Health Graph system calls you using it, you delete the given user’s Health Graph originated data. Note that this callback is patterned after a similar callback in Facebook’s OAuth deauthorization implementation.

Questions? Please post them to the callback discussion on the Health Graph group.

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


Health Graph on Google+ and new partner logos

I’m excited to announce our new Health Graph Google+ page!

We always welcome your comments on our blog and via our Health Graph discussion group, Twitter @healthgraphapi, and Health Graph Facebook page. But if you spend time in G+, we’d love to share and talk with you there, too!

Please circle our page to join in the conversation about all things health and fitness for developers.

Another change: We’re rolling out a new Health Graph icon and logo across all of our sites and accounts (see the banner at the top of this page and the G+ screenshot above for examples). We’d love to hear your feedback on them. And if you’re a developer who has built (or is building) an app on the Health Graph API, we’d like to provide you with updated logos for use on your landing page.

Please contact us and we’ll get a suitable copy of the logo to you asap.

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


Corporate wellness, meet Limeade and the Health Graph

I’m very pleased to continue our series of Health Graph partner profiles with a discussion with Erick Rivas (@erickrivas) of Limeade (@limeade). Limeade is a leading corporate wellness provider that recently announced support for RunKeeper and other Health Graph API (@healthgraphapi) partner devices and apps in their Limeade Open App & Device Platform. Read on to learn more about how Limeade is using the Health Graph to make the workplace healthier and more fun too!

Bill Day: What do you do for Limeade?

Erick Rivas: I’m CTO and VP of Product Development at Limeade.

BD: How does your work at Limeade help corporations and their people?

ER: People spend a lot of time at work. And, habits at work — what you eat, how active you are, how you manage stress, etc. — have a huge effect on health and happiness. We help reinforce and change company culture in ways that promote health, happiness and productivity.

BD: That is a fantastic mission! How do you take advantage of the Health Graph API in your work?

ER: There is a lot of innovation going on in the area of fitness devices and apps. Users want to leverage best-in-class fitness devices and apps they already use and have that activity automatically count towards the rewards and incentives that are part of their company’s worksite wellness program.

For example, I took my daughter for a trick-or-treating “walk” of 3 miles around our neighborhood last night using RunKeeper and this morning, via our Health Graph integration, I automatically got 1 point for that as part of the walking challenge that I am participating in at Limeade. Employees can receive health insurance premium deductions, Amazon.com Gift Cards, be entered into a raffle for an iPad, and so on when certain points thresholds are met.

BD: How do you see this partnership with RunKeeper benefiting individual employees at the companies you’re working with?

ER: Our integration via the Health Graph API gives RunKeeper users a way to connect with others at their company in a social context. It gives Limeade users a fun way to track their physical activity using the fitness app or device of their choice.

BD: When a user starts using RunKeeper capabilities via the Health Graph integration in Limeade, what specifically happens behind the scenes?

ER: Upon authorization by the user (using OAuth), we are downloading/syncing with all Fitness Activity types and associated units (miles, calories, minutes) that are supported by the Health Graph API.

BD: Any thoughts on the overall strategy we’re taking with the Health Graph and the developer community?

ER: I really like the vision and direction of the Health Graph in providing an open way for users to store, manage and share historical health data from multiple providers.

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

ER: I’d like to be able to distinguish between activities that were recorded by a device versus self-reported activities in the activity feed that is returned from the Health Graph API without having to parse through the GPS data.

Also, I’d like to be able know what the source of the device data is in cases where the user is not using the RunKeeper app (say they were using a partner device from Fitbit, Polar or Garmin). That way, we could not only show that you had (say) burned 10,000 calories in the last two weeks as part of your company’s Biggest Loser weight maintenance challenge, but also break that down by type of device.

BD: Thanks for the suggestions and requests, we appreciate them very much. What’s next for Limeade and your use of the Health Graph?

ER: We follow an Agile Development approach at Limeade and as a result we are deploying product improvements once a month.

In the near term, we will be improving the visualization of self-improvement information (activity, biometrics) and social features on the site.

Pulling additional data types that are stored in the Health Graph outside of physical/fitness activities (nutrition, weight, blood glucose levels, etc.) is something we will be supporting as well.

BD: Is there anything else we should know about you and your customers’ use of Limeade?

ER: I trust that a lot of Limeade users will be excited about the integration with RunKeeper and the Health Graph API. And I look forward to feedback on ways that we can make it even better!

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


Fleetly delights users via Health Graph integration

I recently had the pleasure of speaking with Geoff Pitfield (@gpitfield) of Fleetly (@fleetly) about his company and their new Fleetly app release which now includes support for RunKeeper users via Health Graph (@healthgraphapi) integration. Here’s an inside look at how one developer keeps their users happy and healthy with the Health Graph.

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

Geoff Pitfield: We’re currently an angel-backed team of two. I’ve been making mobile stuff since the days when that meant doing your own hardware, and have been working on Fleetly since early 2010. I’m a Product Design grad and MBA, but I’d never really coded so I taught myself in order to build Fleetly, which has certainly been interesting. Fleetly’s the first app that lets you check in on your fitness and evaluate your overall Fitness Level, based on all the exercise that you do, from weight training to long distance running. I got started on the app when I couldn’t find anything fun to use that supported the variety of activities I was doing to train for a triathlon.

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

GP: It’s a fun, social way to stay motivated about your fitness *and* get meaningful insight into what you’re doing. When it clicks for people, they end up doing things like an extra 20 pushups or running another mile just to pass their friend on the leaderboard. That’s a great thing.

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

GP: Our users started vigorously and repeatedly demanding RunKeeper integration!

BD: How will using the Health Graph benefit your business?

GP: We think it will both increase our user base and increase retention, because Health Graph integration makes it much easier for people to use – they no longer have to enter their data into multiple applications.

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

GP: We use the Fitness Activity API, because that’s the part that fits in with what we’re doing, as well as being what our users demanded. We might add weight tracking at some point as well.

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

GP: It’s fairly easy to use and is comprehensive. It would benefit from better delete tracking, and should also support an identifier for originating source on entries. Otherwise, you run into problems if someone has cross-linked multiple services. For instance, we already integrate with Health Graph partner Withings (@withings). If someone’s linked their Withings account to the Health Graph, there really should be a way to tell that a given weight entry originated as Withings ID XYZ to avoid duplication. (Editor’s note: De-duplication today falls on the app developer.)

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

GP: Off the top of my head, I’d rather see continued focus on making the API as robust, useable, and open a platform as possible. I don’t have any blindingly great feature ideas, per se, other than what I mentioned above which I think is really important. A push update service would be nice to reduce the need for polling.

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?

GP: The really cool stuff has to remain secret. 🙂 We’ll soon be introducing some new types of challenges that we think are going to be great, and very much focused on the same Fitness Activities we’re linking via the Health Graph. Also, we’ve always had our own little API but never done much to promote it, and we’re eager to help anyone who’s interested. The second most requested thing after RunKeeper is an Android app if anyone wants to play!

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

GP: We’ve been doing a cool challenge with Lifehacker (click to access), and also have a badly under-promoted startup challenge (click here for startup challenge), both of which might be of interest. And the app’s available at www.fleetly.com/ios, so check it out!

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