In this post, we are going deeper into the Dynamic Data project, looking at the Runkeeper dynamic data (library available here on GitHub and at NPM). Opening the library, you’ll see there is one type of data file: CardioActivity Learn more about dynamic data generators and the benefits of artificial data in software development. About the data sourceRunkeeper is a GPS fitness-tracking application available on smart devices (iPhone, Apple Watch, Android, etc.) track the user's progress against their running and training goals. Data can also be manually input into their browser platform. Their platform provides other services: training plans, guided workouts, monthly running challenges, etc. The application allows the user to record the type of activity or equipment used, (when applicable) plot a GPS route, and other details, such as date, duration, start time, calories burned, distance (if no map), average heart rate, and a descriptive note. The user can also connect and integrate their data with several other health sources: Fitbit, Garmin, MyFitnessPal, Apple Health, etc. Approach usedRunkeeper allows for the user to export their data, which downloads a copy of their master CSV files for all activities and the individual GPX activity files associated with GPS activities. The CSV files can be converted into JSON objects to create the data mockups. A simple data model of these objects can be seen below. This mockup file makes up the runkeeper-data package. The runkeeper-mockups package imports the aforementioned file and goes through each attribute of it, generating artificial (new) data using proprietary functions, such as those found in the utils package. For example, with the CardioActivity object:
Use case ideas
Explore entirely new use cases
Ideas to combine with some other data sourcesCombing with other Health devices to provide greater context towards some activities e.g., Fitbit, Garmin, Oura, or Strava. Combine route information with destination, trivia, or weather apps to provide greater context to route taken. Open-source data libraryWe welcome contributions and forks to this data set and look forward to seeing what developers build in our Liberty. Equality. Data. Slack channel. Considerations for next version/improvementsGeneral Improvements
Join our Slack community; Liberty. Equality. Data. - to ideate and collaborate with other app developers, designers, and our team.
|