The value returned for UserProfile.Profile.ActivityClass indicates a value between 0 and 100. It also indicates that this value is retrieved from the user's Garmin Connect profile. In a user's Connect profile, they are able to set their ActivityClass manually between 0 and 10. If I set my ActivityClass to 3 on Garmin Connect, then that value is returned as 30 when using UserProfile.Profile.ActivityClass. I don't really mind the 10x factor scaling, but it begs the question "why is it different?". Is this a minor bug with ConnectIQ, or does Garmin intend to utilize this additional granularity in some way?
Also, does Garmin have plans to allow a user's ActivityClass to be updated automatically based on a user's activities. For example, V02max is auto-calculated after 10 hours of the Run activity (and perhaps other activities). It would be nice if the ActivityClass worked the same way. I've seen a few posts on other forums about folks wondering how to properly set ActivityClass. Making it automatic could improve the customer experience around that.