No distance measured for racket sports - Updating native datafield?

Hello,

I published bunch of apps tracing racket sports like Tennis, Padel, Squash etc.

1. The problem is that when GPS is OFF and  activvity is supposed to calculate the distance based on steps the distance is extremally low eg. after 1hr activity the distance is 50-200meters. At the same time it can be checked that 2k steps were made during activity. Was this issue ever addressed by garmin? This issue is being reported to me by a lot of users unfortunately.

2. I'm going to implement distance measurement on my side based on avg step length * step count. Is there a way to store it in fit file in such a way that it will replace the native/default distance of activity?

  • It might be possible. Look at jump rope or HIIT activities. You could also try how tennis looks when you don't enable GPS

    That's just Connect deciding to display different stats (in the summary) based on the activity type and/or whether or not GPS is enabled.

    It's not really giving the dev direct control over what stats are displayed in the summary.

    I imagine that a user of a tennis app might not be too pleased if the app recorded a jump rope or HIIT activity in order to get Connect to display "better stats" in the summary.

  • I didn't say to use the jump rope for tennis as an end user. I said for the developer to try that out, because if that looks better in GC that is possibble to achieve with CIQ

  • I didn't say to use the jump rope for tennis as an end user. I said for the developer to try that out, because if that looks better in GC that is possibble to achieve with CIQ

    I understood what you meant but I think my point flew over your head.

    The end user will be using one of several apps from the dev that are supposed to record tennis, padel, squash, and other racket sports. If the racket sports app they use suddenly starts recording their racket sports activities as jump rope or HIIT, then I think they won't like it.

    Have you ever seen the endless posts from regular users asking for their favorite sport to be supported on their device, simply so that the sport type shows up correctly in Connect, and not necessarily bc they expect there to be any special sport-specific features on the watch itself? Similarly, Garmin has in recent years added to newer devices a ton of additional activity types which don't really have any sport-specific features, probably to satisfy exactly that kind of user. This is kind of a departure from their previous practice of seeming to only implement activities which actually had some unique sport-specific features on the device.

    In short, I think users care about having the correct sport type in Connect. Even if you tell them that it's easy to change the sport type after the fact, I think most people would prefer not to.

    To be clear, I don't think it's useful solution for a CIQ app to "customize" the Connect summary by choosing a different (incorrect) sport than was intended. You're just trading one problem for another.

    Users: "why does your tennis app record wildly incorrect distance and display it in the Connect activity summary???"

    Dev: "ok the distance isn't displayed in the Connect activity summary anymore"

    Users: "why does your tennis app record my tennis activities as jump rope activities???"

  • No, you misunderstood. I would do this as a developer:

    Try all kinds of built in sports, then maybe some CIQ apps of different sports. Just record 10 seconds and a few meters of run/walk with each.

    Then look at how they look in GC. Especially the activities recorded by CIQ apps. If there's something that's close enough to what I want, then I'd try to reproduce it in my app.

    I'm not 100% sure what determines what GC displays in the 1st tab, so I guess it's maybe dependant on the sport type and what native fields are in the fit file.

    BUT MAYBE there's some way to influence it from the fit contributions.xml as well?

  • I guess I did misunderstand but in my defense, all you previously said was:

    "It might be possible. Look at jump rope or HIIT activities. You could also try how tennis looks when you don't enable GPS"

    and

    "I didn't say to use the jump rope for tennis as an end user. I said for the developer to try that out, because if that looks better in GC that is possibble to achieve with CIQ"

    The first comment implies or outright states two approaches:

    - changing the activity type of the recording to the other activities in question (such as jump rope or HIIT). (Pop quiz: if a CIQ developer asked you how to record an activity that "looks like" jump rope or HIIT, outside of the context of this thread, how would you respond?)

    (IOW, if you mention looking at other activity types and "somehow" reproducing their behavior wrt Connect in your CIQ app without elaborating how one would do so, I think the natural assumption is that you are implying that the activity type for the recording should changed in the CIQ app.)

    - disabling GPS (or disabling / enabling sensors in general). Note that OP's problem occurs when the user disables GPS, implying that it's an option in their app (or the user has a different way to do so), and that the user *wants* GPS to be disabled. So disabling GPS is not a helpful approach

    The second comment makes a vague allusion to somehow achieving the same results as a different activity with CIQ, again without elaborating on how that would be done.

    Finally - in explaining that I misunderstood you - you mentioned an alternate approach which doesn't involve changing the activity or enabling/disabling sensors:

    "BUT MAYBE there's some way to influence it from the fit contributions.xml as well?"

    Then look at how they look in GC. Especially the activities recorded by CIQ apps. If there's something that's close enough to what I want, then I'd try to reproduce it in my app.

    Yeah except I think it's pretty well established that the data displayed by Connect, including the summary data, is primarily based on the activity type. How else would you "reproduce" the behavior of a native activity in your app except by changing the activity type of the recording?

    Anecdotal evidence:

    - if you try to change the activity type in Connect, the app warns you that some data fields may be removed

    - we've all seen how the summary screen (and other data) changes in a predictable manner when you change the activity type in Connect

    The only plausible other influence on the summary screen would be the presence or absence of certain native data. (e.g. if there's no HR data, then maybe HR won't be displayed at all on the summary page?)

    Two problems with that:

    - Maybe a CIQ app can enable or disable certain sensors (like HR / GPS) to influence the summary, but what if it's a user option in the app (as OP implied with GPS) or what if it's not an option, but what the user wants is the opposite of the change the dev wants to make?

    - OP specifically said their problem is that very low distance is measured when GPS is off. What's the solution here? There doesn't seem to be anything OP can do to make distance go away, except by changing the activity type (which we already ruled out.) Force GPS to be on so distance is more accurate? That won't work for indoor racket sports. Write something to the FIT file to convince Connect to *not* display distance? Like what?

    BUT MAYBE there's some way to influence it from the fit contributions.xml as well?

    That seems rather unlikely, given that Connect completely ignores nativeNum FIT contributions for the purpose of displaying native data. And even if it didn't, I don't think it would be possible to *remove* native distance via nativeNum, only *replace* it (but it's a moot point anyway.)

    But maybe there's something that can be done with fit contributions to influence the activity summary, even though nobody has ever mentioned that in 10 years of CIQ.

    So your entire approach rests on a wild guess about behavior nobody has ever observed, since we established that:

    - it's not desirable to change the activity type

    - in this case, there's seemingly no sensor the app can enable or disable to solve the problem

  • I think the simplest solution is to base the distance for indoor tennis on an extrapolation of average distance for the same time period for outdoor tennis. For instance, I just played 2 hours and 10 minutes of outdoor tennis and ran a total of 3.4 miles based on GPS. That's an avg speed of 1.6 mph, which is comparable to what I would get using my Fitbit, seems accurate to me. Why not give an estimate for indoor tennis based on the user's avg speed for outdoor tennis, or even an average of all users? 

    Or, as an alternative, the watch collects data on how many steps the user is getting, that could be another way of estimating (2000 steps = 1 mile or whatever).I'm not sure why the data for tennis (indoor & outdoor) does not include a step count. 

    Garmin makes such great watches with so much data available, these metrics seem like no-brainers to be included for racquet sports.

  • Except that if you would sit 10 minutes in the side of the same tennis field with activity recording (with gps) then it'll probably draw you some zig-zag blob and record a few tens or even hundreds of meters because of the gps inaccuracy. (One reason why in other forums people usually recommend pausing an activity when stopping for a sandwich break or coffee) Do the data you record during the 10 minutes of tennis play might also have that amount of random noise.

  • Perhaps it could be a calculation that takes both average speed and # of steps into account. Seems if you based that on an average of all users, it would get pretty close to accurate. Honestly any attempt at that would be far better than what is there now for indoor tennis. Looking at my indoor tennis events for the past week, it showed me averaging about 0.1 mph. Huge difference from 1.6 mph for outdoor play.

  • Yes, you might have a good result, but it won't be displayed as the distance of the activity in GC, only in the stats under the IQ section

  • I hesitate to comment about accuracy of distance measurement based on steps/gps for tennis activity but would add the following comments:
    1. Activity type is a different issue for racket sports (old watches do not support some of them). There is another reason that peple prefere to keep correct activity type - a lot of users sync activity with Strava and from what I  understood it they are not able to change activity type after sending it to Strava. 

    2. First user who reported me issue with distance measurement in tennis activity based on steps told me  that it behaved totally different on his Forerunner 645M:

    After he bought Fenix 7: