first of all, thanks for the site. I have been playing with intervals.icu for a few days now, looks really cool! One thing I noticed though related to skiing activity types. Let me try to open up the topic a bit in here…
My Nordic Ski activities from Garmin Connect import as Backcountry Ski to intervals.icu. I believe there’s some finetuning in the activity type mappings that should take place.
GC activity types for Nordic Ski are either “Cross Country Classic Skiing” or “Cross Country Skate Skiing”. I have understood that this is also the categorisation in some of the new Garmin watches. I have Fenix 5X and there’s only “XC Ski”, which in GC is “Cross Country Classic Skiing”. Towards Strava from GC these both map to “Nordic skiing”.
I have understood that intervals.icu aims to follow same activity type classification as Strava does. Based on this I believe intervals.icu should map GC activities as type Nordic Ski when the GC FIT file has sport type value of 12 (CROSS_COUNTRY_SKIING). Few FIT files I have been examining from my Garmin account (recorded with Fenix 5X) seem to have the value 12 as sport type.
The differentiation between classic and skate in GC is afaik done with sub_sport type. Skate having it as 42 (SKATE_SKIING) and classic as 0 (GENERIC). But as the Strava classification is followed, this is unnecessary for intervals.icu.
//public enum Sport {
const CROSS_COUNTRY_SKIING = 12;
Hmm. This came up before. I need to be very careful with changing activity type mappings to avoid upsetting the existing applecart … So if I make cross country skiing with sub-sport skate skiing into “Nordic Skiing” it should be ok?
I believe the sub sport definition for intervals.icu is irrelevant. Nordic Skiing as an activity type should contain both Skate and Classic, so the mapping should not consider sub-sport at all. When ever sport=12 (CROSS_COUNTRY_SKIING) it should be mapped to Nordic Ski. Or alternatively map both of these to Nordic Ski:
Just want to re-up this (since I went on another two skis already this wee). If there isn’t already a plan to upset this apple cart, could I suggest instead adding an orange cart and a watermelon cart?
Backcountry, Classic, and Skate ski are all different. While I would be happy for Classic and Skate to be categorized as Nordic in intervals (actually… what is categorized as nordic right now? I have done both a classic and skate this week and both imported as backcountry). It would be best if they all had their own. I use different skis for all three, and having it all automated with the equipment system would be fantastic.
My guess is: that logic comes from Strava (hello legacy hell)
[slight sarcasm]
and as we all know, if it is not cycling, Strava probably does not care a lot.
[/slight sarcasm]
I haven’t looked at the Sports Classifications from Polar. They seem to support virtually anything as well. But having Garmin Devices, and Garmin kinda being Ant/Fit my guess is the “nicest” way would be to stick roughly to the classifications Garmin uses in Fit files, with their categories and sub categories. This way Nordic and Backcountry are different Categories, both split further to specific equipment (Classic/Skate and Ski/Snowboard respectively)
That makes sense that the classification comes from Strava. They are all marked as nordic skiing there.
I really like the idea of being able to separate by sub category. This would handle my classic and skate skis. And also handle my standard and trail/winter running shoes.
Being able to use that sub category data elsewhere (filtering on the activities and /power screens) would be neat as well.
Sport cross_country_skiing in fit files now maps to Nordic Ski in Intervals.icu. Hope that works out for everyone. I will deploy this change in approx 8h.