Indie

View Original

Tempo v2.7.0

October was a busy month with Chicago marathon for me, so this release is a double — 2 releases rolled into 1. It includes a good mix of new features as well as some nice enhancements to existing functionality. Here's a quick list,

  • Splits for Segments

  • Elevation Graph

  • Map with Splits Info

  • Details Graphs improvements (to put mildly)

  • Cumulative Graph updates

Splits for Segments

One of the great features of the Workout app on Apple Watch is the ability to mark different sections of a run as segments. Segments can be created by double-tapping on the watch display, during a run, with an active Workout app on the screen. Tempo can now detect these segments to display them as separate set of splits (in addition to full mile or km splits). So if you have been recording segments to track intervals, hills, and other varying type of runs, you will see them as separate set of splits in Tempo. Splits for segments have same details as regular splits: distance, pace, heart rate, and cadence.

Segments with Split level details.

Elevation Graph

Finally! Tempo now has elevation graph. Hills can be fun and great type of workout to improve running. They can also be tricky to conquer, and affect our performance in all sorts of ways. So elevation data can be very insightful.

Tempo supports viewing elevation data alongside pace, heart rate, and cadence graphs on the Graphs screen, as well as with the running route on the Map screen.

Elevation graph is available on Graphs and Map screens.

While implementing this I was sorely reminded of the complexity with the elevation data that workout tracking devices (and apps) have had to deal with ever since we have had GPS trackers. If I recall correctly, I think I first learned about it back in ~2003 as a runner, when I was surprised to find out that I had climbed a mountain's worth of hills while running in Chicago. At least the data said that, but Chicago is one of the best cities for runners to enjoy flat routes. The data was glitchy and inaccurate.

As you will notice, Details screen still does not show total elevation loss, or elevation gain and loss at the split level. This is because individual elevation data points can be glitchy, and the math of simply adding altitude changes along all the individual latitude, longitude pairs does not produce accurate results. This also affects elevation graph — for now it is a chart of data points and missing the line plot of averages across individual splits that we have for pace, heart rate, and cadence graphs. But this limitation led to a new enhancements for graphs — you can now tap anywhere on a graph to view the recorded data point at that specific moment during the run. We will come back to that under Graphs improvements below.

The ability to tap anywhere on the elevation graph on a map seemed lacking without highlighting that point along the mapped running route as well. So Map screen has been updated to display a callout along the route at the point that was tapped on the elevation graph. This callout display also shows pace, heart rate, and cadence along with the elevation at the selected point during a run. This is a really fun and useful feature to navigate and identify interesting parts of a run, and it has been equally fun to build!

Tappable elevation graph with a mapped route for more details.

Map with Splits Info

In addition to tapping elevation data line on a map to show callout along the route, we can now also tap on the distance markers along the route to view pace, heart rate, and cadence of a split.

Split details can also be viewed on the map

Graphs Screen Improvements

As described above, graphs are even more powerful now. Just like elevation, we can tap anywhere on pace, heart rate, and cadence graphs to view their respective values recorded at that time during a run. And since we are displaying 4 graphs on the same screen, when you tap on one graph, the other 3 are also switched to show corresponding data points at that time. This is a really great way to compare all 4 data points at any time during a run.

Updated graphs can be tapped to view individual values for comparison.

Until this version, Tempo rendered graphs as linear plots, approximated into a smooth curve. With tappable granular interaction now, you will notice each data line switching to stepped format, representing the actual recorded data (each data point is sampled over a time interval with start and end time). When you clear selected point(s), the graphs will switch back to the linear plot. Please keep in mind that since individual data points for distance (used to derive pace), heart rate, cadence, and location (for elevation) are sampled (recorded) at different times during a run, selecting one metric might not always be aligned (vertically) along the timeline. Tempo is doing the closest approximation here, and it was a tricky thing to build (might need more tuning over time). This is usually not too bad with latest models of Apple Watch, but I noticed some runs — older ones (from 2015) or ones with incomplete data set — can look really out of sync.

Also, to enable better clarity, as you select/deselect, you will notice the data plot representing average values per split also hides/unhides. Speaking of clarity, average values line plot, and header layout of the individual sections on the Graphs screen have been restyled. A minor UI addition, that will eventually be available for all graphs, is the expand/collapse control for the elevation graph to allow for more vertical space on the Graphs screen.

Another small, but really nice improvement to graphs is the ability to zoom-out and fit an entire run's worth of dataset on the screen. Previous versions of Tempo only supported up to 8 splits (km or mile) to fit on the screen. This is super useful for longer runs, as well as when we want share Graphs or Map with elevation graph open. And yes, we can share a map with elevation graph now!

Cumulative Graph Updates

Cumulative graph can now display yearly training trend.

Cumulative graph to view our training progression in one picture has been one of the favorite screens for many of us. This feature was built with Tempo 2.0, launched in 2017. It's been 2 years, and some of us have been tracking our runs with Apple Watch since 2015. As our training log grows with years and runs, it's natural to not only compare training by weeks or months, but also by years, and now we can do that in Tempo. 🙌

Also, each distance bar now shows (along the top edge) percentage change in distance volume from previous year (or month or year). One of the runners recently requested this improvement, and I was intrigued by it. For runners, change in distance volume is a good way to monitor training load (or overload) to avoid injuries. It was an easy update and an important insight, so I included it for this release. Please note that it is still experimental, and will be revisited based on your feedback and more thoughts. While the info is useful, there are days, when we might not be as interested in it, and we also have the instances of spikes, when, say, we had a down week for some reason, and the following week shows a 200% spike. Maybe add some kind of settings to hide/show it, or we all might get used to it being always visible, and it’s totally fine the way it is.

That's Tempo v2.7.0. As always please reach out with feedback, or say hi.

Enjoy & keep running!