Launch RunKeeper on Android

In my last post, I showed you how to launch RunKeeper from your iOS mobile app using some Objective-C URI magic.

I also promised a similar capability when we released our next update to RunKeeper for Android. And now the time has come, RunKeeper is ready on Google Play, and away you can go a’launching it from your own Android apps!

To launch the RunKeeper app on Android:

  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, start the RunKeeper activity using the Intent com.fitnesskeeper.runkeeper.intent.action.MAIN
  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 Google Play and then they can begin tracking after installation.

We’d love to hear from you and see examples of how you will use this capability, on Android and/or iOS. Please contact us in the comments if you’re doing so.

We might even feature you in an upcoming blog post or our new Health Graph (@healthgraphapi) “Best Practices” guide. And we’d love to hear your feedback on that guide, too!

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


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.


RunKeeper at Quantified Self

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!

This post will walk you through RunKeeper and Health Graph platform related Quantified Self sessions, then provide key information and procedures you need to use the Health Graph.

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:

Health Graph Hacking 101
View more presentations from Bill Day

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.

When you encounter issues, you can ask questions and join in the developer conversation by visiting the Health Graph discussion group. You can also reach our team on Twitter, Facebook, and Google+.

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!

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.


Run with anyone, anywhere using Running Club

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.


GymPact pays you for exercising with RunKeeper

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

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.


Follow

Get every new post delivered to your Inbox.

Join 1,335 other followers