Flyover maps in ConnectStats 2.5

Screen Shot 2015-10-31 at 09.36.24I recently saw an article on iOS development, explaining the maps features available to developers. I had never realised it was possible to enable in an app the 3d views you see in the apple Map app. A little bit of fiddling later and you can now see your course in gorgeous 3d views if you have an iPhone that supports it and your city is covered by the feature.

I haven’t really yet figured out how it can help you with training or analysing your data better, but it looks great and is a pretty neat way to relive some of your runs or rides, so here it is available in connectstats 2.5 (under review by apple at the time of this writing)

How to

Screen Shot 2015-10-31 at 09.43.15To enable it, simply go to the detail page, switch to the satellite view and tap anywhere on the map, it will then show you the closest point on your course in 3d. You can then use the normal controls of the map to zoom or move around.

Small Gallery

You can see here a few samples from recent runs. Enjoy!

 

Screen Shot 2015-10-31 at 09.39.02Screen Shot 2015-10-31 at 09.45.29Screen Shot 2015-10-31 at 09.44.27

Year to date or Month to date statistics

Version 2.1 of ConnectStats introduces the ability to see year to date or month to date statistics. The yearly cumulative graph was already giving a good idea of how well you were doing this year versus the last, but now you can see the full stats you reached at the same point of last year.

Below for example you can see that in 2015, so far I ran 758km, while on the full year of 2014 I ran 1356km. If you press on the button All, you get to the YTD screen, that shows that in 2014 at the same point in the year as today (August), I had run 913km.

IMG_1664 IMG_1665

In the monthly view, the graph is slightly different, the full month bar is shown, but the blue shows how much for each month was reached at the same point in the month, here around august 15, or about half way through the month.

 

IMG_1666 IMG_1667

Best Rolling Graphs over Time

ConnectStats can now maintain best rolling graph over time. I find it quite interesting to see how one month compare to the other. You access the feature by going to the statistics screen and it’s the graph at the bottom of the summary page.

You can also find information about best rolling plots for an activity here and how to interpret them here

Initial Computation

Computing these graphs can be quite expensive. Every time you do a download, ConnectStats will process a few activities. It requires the full activity details, so only the activities for which you will have looked at the detail screen will be used.

You can force to recalculate older activities by going to the settings, profiles, and select Compute Best for more old Activities. This processes quite a few existing activities. Each time to press it, it will look for activities not already processed.

Interpreting the graphs

Heart Rate

This is the graph showing the best Heart Rate I achieved for any given period of time.
iOS_Simulator_Screen_Shot_8_Aug_2015_09_34_03The arrow 1 below shows the graph for July. You can see here that it was a month for which the best of the year was achieved except for the area pointed out by the arrow 2. The arrow 3 potints to the yellow graph showing that the last year (2014) was not as good as this year, I definitely pushed myself more this year, especially in july, when I completed a half marathon…

If you tap once on the graph it will rotate through the last few months, to show you how you performed then.

 

 

Pace or speed

This is the graph with the best speed or pace I achieve for a given distance. Not the heart rate is for time, not distance as I think it makes more sense.

iOS_Simulator_Screen_Shot_8_Aug_2015_09_34_15
If you pan to the left on the graph it will switch to the best pace or speed. Arrow 1 here shows you that the best speed for the year on most distances was achieved in july. Note that for pace a graph lower is better, but for speed higher is better. Again, if you tap on the graph, it will rotate through the last few months.

 

 

 

ConnectStats version 2.0

ConnectStats 2.0 brings quite a few exciting new features. The major change is that now ConnectStats will start maintaining some measures over time, while until now it really only acted as a cache for the data collected on either Strava or Garmin.

This opens the door to a lot of new features. So I upgraded the version and I celebrated by redesigning the icon…

BestHRThe first data I was really interested in looking at over time, was how the best rolling heart rate graph compared from month to month and year to year. Similar to the best pace. These graphs are not necessarily very common to see,  but I find they are a fascinating way to see how I am performing on a run or over the month. I will dedicate a post soon to these. Some snapshots here

BestPace

CalendarAllThe other feature is an improved calendar view. It now has more control to only show some activities, and a new visual circle to indicate how much each day fared compared to the maximum for the month. The best day is highlighted with by a darker color in the circle.

 

CalendarRun

Next version of ConnectStats

I have pushed ConnectStats 1.23 to the App Store.

Connectivity upgrades

ConnectStats 1.23 uses withings latest authorisation service. Hopefully it will be more robust going forward. The login relies on a webpage login and a page where you need to explicitly grant access to ConnectStats.

The workflow around Strava log in has also been improved. There is now a button in the Services page to force and test a login to Strava. Also a silly bug that was sometimes complaining about Garmin when trying to access Strava has been fixed.

ConnectStats 1.23 also fixes an issue with connectivity to SportStracks that had stopped working in the previous versions.

Multi-Sport Activities

Garmin introduced multi-sport activities in the FR920 and Fenix 3 at least. Starting from version 1.23, ConnectStats will detect these activities and download the individual sub-activities. It will display as a stub the main multi-sport activity, but note that only the sub activities will be included in the statistics.

Better weather information

ConnectStats 1.23 has an upgraded weather information displayed. It displays the location where the weather was observed and the distance from the location of the run. On the map it also displays a little wind compass indicated the direction the wind was blowing and the rough strength. The length of the arrow is proportional to the wind strength.

Note that the weather information is only available when using Garmin as a service source.

Upcoming Features for connectstats

Development on ConnectStats has been very slow recently. Mostly because I have started a new app related to Tennis Stats, which I’ll likely release soon. I have a few upcoming features for ConnectStats I still need to wrap up and a few bugs reports to investigate but didn’t get much time to focus unfortunately.

The main feature I have in the back burner for a while is the ability to compute best rolling heart rate or speed profile for current month or year and show that in a summary page. It isn’t working well at the moment, but the summary page is quite useful, so I may just release that alone. The stats tab now by default shows a summary page with key graphs, and of course the old pages can still be accessed.

The other small feature is I finally figured out how to optimise the screen for iPhone 6 and iPhone 6+, so that will be included too. Meanwhile, here is a preview of what the summary page looks like on an iPhone 6 resolution:

SummaryPage

Performance Analysis

In the version 1.20, ConnectStats supports a first version of long term (fitness) versus short term (fatigue) performance analysis. This is a bit rudimentary for now, and hopefully will improve over time.

The performance Index

The analysis is based on two fields, a summable field like distance, time or elevation gain and a second field to rescale it like heart rate, power, etc.

The analysis is based on an index built using this scalable field and summable field.

To access the analysis you need to select from the statistics field view, a field. If the field you select is summable (Distance, Time, Elevation Gain) it will use it as the summable field and choose Heart Rate as the scalable field. If you select a non summable field, it will use that as the scalable field and distance to sum.

Once the two fields are selected it will then apply a formula to get a performance index. The formula in this first version is simply to multiply the two fields, similar to a very simple TRIMP index, but in the future we could change that, for example along the line of normalised power and apply a function scaling more realistically to how the scalable field impact the distance field. This page gives some interesting comparison of the different way to do that.

Fitness (Long Term) versus fatigue (Short Term)

Given the two fields above and the performance index, then we will try to compare the long term accumulated fitness versus the short term training. We pick two periods, the short term period and the long term period, and plot the average performance index of the long term period versus the short term period.

Currently the short term period is the last seven days and the long term period is the month prior to that.

So the idea is to show how much training accumulated over a month (long term fitness) versus how much you are currently training. If your short term training is significantly above the long term fitness, you maybe over doing it. And you maybe taking it too easy or resting if the short term fitness is quite below the long term fitness.

In a future version I could parametrise both the performance index function and the periods used, depending how much people feel the idea is useful or not. So don’t hesitate to give feedback either with a review, tweet, comment or bug report.

Example

Once you selected a field in the statistics view, tap the bottom plot to iterate between the different choices: Monthly value, performance index graph and histogram/distribution of values.

Here is my current running performance. You can see in this graph that recently I have been training a bit more which raised my long term fitness, while the toward the end november I did less running which lowered the long term fitness .

Screen Shot 2016-02-24 at 05.20.48

New Statistics Plots

In the version 1.20, I added to the main statistics page small preview graphs embedded in the table. I also rationalised somewhat the plots shown on individual fields.

Main Statistics Table

The statistics page start looking like this

EmbeddedPlots

For selected fields, you now see a small preview of a relevant graphs.

Here in distance it shows you the cumulative distance of the previous years, one of my favorite graph to track how you are doing on a given year compare to the previous ones.

Note that you can disable the embedded graphs with an option in settings in case you don’t like it.

For the Average Heart Rate and other non summable fields, it will show you the monthly average over the last 6 months.

Pressing the All button on the right will continue to rotate between the weekly, monthly and annual summary. The Sigma icon means it displays the total or average across all activity. If you press it, it will display the stats restricted to either the last week or last month. This enables you to see all details of the last month or week.

WeeklyStats

Here you can see that the Max Heart Rate over last week was 194, average moving pace 5:21 min/km. This enables you to see any statistics over that period easily. The weekly summary of the previous versions was limited to only a few key measures. Note that in this view the embedded plot becomes a weekly plot to compare this week’s statistics to the previous.

Field Statistics Details

If you press any field of the main statistics table, it will take you a more detail information on that fields, as for example here

StatsMonthly

This shows you two graphs and some basics stats. The first graph is a scatter plot against another variable. If you tap on that plot it will let you configure it and choose the second variable.

The bottom plot will rotate when you tap on it between a monthly summary, the performance analysis graph and an histogram of the different values as here. This post describes the performance analysis in more details.

StatsHistogram

Pressing the all button on the top right as before shows you weekly or monthly statistics.

MonthlyStatsDetails

Improved Statistics Page

Version 1.19 includes an improved and better organised statistics page.

The statistics page is quite simple to find on the iPhone. A few users on iPad sometimes miss it as it’s a bit less obvious, you need to press the stats icon pointed by the blue arrow below.

IpadStatsIcon

The New Fields Stats Page

The new stats page now have the fields pre-organised rather than trying to dynamically work out the ordering based on all the fields found on garmin connect data. This is both so that it works better with other services than garmin and due to the fact that the data include now a lot of new fields that confuses the old logic resulting in quite a messy page. Note that any fields not known by the app will still appear systematically at the very end of the list under the category Other.

NewStatsPage

One new feature is that you can now have a quick filter to see the summary stats for either the week or the month of the most recent activity. For that press the Sum Icon, which will then turn into a week or month icon as pointed by the arrow below.

Screen Shot 2014 04 12 at 11 38 58

Weekly or Monthly Summary

As before if you press the All button on the right it rotates through weekly, monthly or yearly summary. There is now also a quick filter for these pages. If you press the All button pointed by the arrow below you’ll enter to filtered page for the last 3m, 6m or year.

WeeklySummaryAll2TimeFilter

Note that if you want to get more detail on an activity you can now tap on the line for the period you are interested in and it will bring up the page with that full stats on the activities. Below you will see all the statistics for the week starting on the 23rd of march.

WeeklySummaryFor3m

It achieves that with the search feature, the activity list will also contains only the relevant activities. You can from the activity clear the search to see the full list of activities again. When the stats are about the current search it then replace the activity type icon. Note that you can this way get stats on any subset of activity you can define with a search in the activity list screen.

WeeklySummaryTapToDetail

ConnectStats setup for multiple services

From version 1.8, ConnectStats can source its activities data from different services. This was mainly done such that there is a future for the app, even if Garmin decide to close its data to 3rd parties.

In the first release, ConnectStats will support extracting data from Strava. At this point, getting the data from Garmin is still the only way to get running dynamics data for the new garmin devices (Forerunner 620), or some advance statistics like Normalized Power, etc. But Strava provide a good alternative for everything else.

We will go over in this post how to set up services. Please note it can be quite useful to maintain different profiles when using multiple services. You can also have several services enabled for one profile and it will combine the activities.

You access the setup from the settings page as below. The green arrow 1 points to the services setup, and 2 to the profiles setup.
To enable a service for activities download, turn on the Download Activities toggle.

ServiceAndProfiles

Services Setup

The service setup screen will initial shows the list of service with the setup for Garmin expanded. After all, at this point this app is still focused on the Garmin service… Simply tap on the service name, pointed with the blue arrow, to expand or collapse the setup information for a given service.

ServiceDefault

Garmin Setup

For garmin, once you enable the service, your main choice is the log in method.

  • With the direct method you enter your name and password, and ConnectStats will handle the login directly.
  • With the Web method you need to enter your name and password manually when required in the Garmin login screen. The direct method is much better, but unfortunately the Garmin service seems a bit capricious and sometimes returns an Access Denied, in which car using the web method can usually help.

Note that from the experience of users so far the Access Denied error usually is transient and after a day or so the connection may work again. Needless to say that Garmin has so far not helped providing any info how to avoid the problem. If they charge the fee they mentioned, one can only hope they will provide better support and a more reliable 3rd party access process.

There is also a Manual Login option. This is a last resort tool if all fails to see via a browser what happens during the login process. Try to login and once the Garmin Connect Dashboard appear, you can press either the List button or One to manually query some of the API the app is using.

Strava Setup

You can use Strava service in two ways:

  • As the source for your activities, when the Download Activities toggle is on.
  • To upload the activities you look at, when the Auto Sync on Download toggle is on.

There is no entry for the username and password in Strava, as the service rely on authentication via Strava website directly. What that mean is that, when you will try to use the service, the Strava website login will pop up. You will then need to enter your credential and the first time, authorise ConnectStats to access your data. Once you have connected once, usually the login won’t be presented again, unless you change profile.

Withings Setup

You can use Withings data to enrich your analysis with history of your weight or other measurement from a Withings scale.
To Enable, you need to enter your name and password in the setup, and Tap the Press to login line.

If your credentials were entered correctly, the screen should show the following

WithingsOk

If you have several user in your Withings accounts, you can select the correct one to use.

If you select the Auto Refresh option, every time you update your activities, ConnectStats will query the Withings service for new measures.

When the service is enabled, you will see in each activity details the latest weight corresponding to a given activity and in the Stats section you’ll be able to use the weight series.