WatchApp: smartTri multisport for vivoactive (triathlon,duathlon whateverlon)

Former Member
Former Member
Hi all,
i like to introduce my multisport app "smartTri" for the garmin vivoactive watch.

You can get it in the app store here:
https://apps.garmin.com/en-US/apps/5ccb776a-1714-4459-a839-a324d974e746

If you have any issues, problems or feedback, please post it here so i can improve the app.

Description:
Welcome to smartTri - your smart multisport app for vivoactive!
If you are in Triathlon, Duathlon or any other multsport activity you may take a look at smartTri. You can easily set up your multisport activity with up to 5 different stages.
So you can setup a “normal” Triathlon with swim/bike/run or, if you want your transition times recorded too, setup an “advanced” Triathlon with swim/transition/bike/transition/run – it’s all up to you!
You want to see your current “speed” during the bike stage but your “pace” during running? No problem for smartTri!

Some main features of smarTri:
- completely free to configure your multisport setup from 2 to 5 stages
- 2 different display setups
- saves all stage data directly during the race
- speed or pace can be set separately for each stage
- km/h or mph support

Planned features:
- improve swimming activity
- add more sport types

Known issues:
- heartrate during swimming is not tested and it might be removed in future releases (because its useless)
- small display lag while switching between the stages:
if you switch stages the current session data must be saved in watch, because of the low performance of the watch, there might be a little lag on the screen and the time may not increase correct for 1-2 seconds.
Don’t worry, total time is calculated correct but display struggles a bit during save process

Version history:
0.1.0 - first release version
0.2.0 - add new language: german

Manual:
Main screen:
Exit: Exit application and return to watch menu
Config: Enter the configuration menu of the smartTri app
Enter Button (on right side) starting your multisport

Configuration menu:
Switch to next/last menu entry: swipe display left/right
Change actual menu entry: tap display

Actual Config: Shows an overview of the actual configuration

Multisport Type: You can choose between: Triathlon (Swim/Bike/Run), Duathlon (Run/Bike/Run) and 4 complete free configuration able programs from 2 to 5 sports

Multisport Setup: An overview of you current multiport setting is shown, by taping you can enter the multisport setup and edit all available stages

Swim Setup: By taping you can choose between open water swimming and 50m or 25m lanes
(swim is actually reduced only to stage time recording)

Bike Setup: Here you can configure the displayed speed unit during bike stages. You can choose
between speed in “km/h”, “mph” or pace in “min/km”, “min/mi”

Run Setup: Here you can configure the displayed speed unit during running stages. You can choose between speed in “km/h”, “mph” or pace in “min/km”, “min/mi”

View Setup: You can change the appearance of the screen during race.
View setup 1 will give you two different screens during bike and run stages with 3 values per screen. You can switch between both screens by taping. The values are shown in big letters.
View setup 2 will give you only one screen during bike/run stages with all race values on it. The values are drawn in small letters and so its a little bit harder so read.

If you hit the Enter button on the right side of the watch, you will enter the "ready" stage - here, all touch functions are disabled und you can step into water without be afrait that app is closed or something. After the next press of the enter button your multisport will start with the first stage configured.
With every additionally hit of the “enter” button the app will switch to the next stage of your multiport setting until you have reached the end.
During the stages, for the heart rate and speed/pace values there will be displayed the average values in smaller, blue numbers on the right side of the screen. The average values will be reset after every stage.
At the end of your multisport the app will show you a “finishing” page with all split times for the stages and the total time needed.
  • Former Member
    Former Member over 8 years ago
    Omfg!

    So i tested my app today in real environment and with new version.
    What sould i say, i am disapointed about my own app... the distance that is shown is 13x higher than real!! (in words: thirteen times!!!) The interesting thing is, this factor is the same over the whole distance.
    After 100m i got 1300m - after 200m i got 2600m and so on...

    After 500m i have stopped with a distance count of unbelivable 6600m (in about 10 minutes) - this is not worldrecord, this is the ultimate universe-record!!

    The next thing to come is, that if you look at the details of the swim session, the distance (and unit) is always shown in yards - i have configured my watch with metric units and there seems to be no way to change this wrong display from my app side.

    The conclusion is nearly the same as before: The vivoactive is useless in recording any swim session while using an own app (and not the implemented swim app which is working really good)

    I don't know weres the problem but all data from the api that is delivered to the app during a swim session is total garbage!
  • Former Member
    Former Member over 8 years ago
    So i tested my app today in real environment and with new version.
    What sould i say, i am disapointed about my own app... the distance that is shown is 13x higher than real!! (in words: thirteen times!!!) The interesting thing is, this factor is the same over the whole distance.
    After 100m i got 1300m - after 200m i got 2600m and so on...

    After 500m i have stopped with a distance count of unbelivable 6600m (in about 10 minutes) - this is not worldrecord, this is the ultimate universe-record!!

    The next thing to come is, that if you look at the details of the swim session, the distance (and unit) is always shown in yards - i have configured my watch with metric units and there seems to be no way to change this wrong display from my app side.

    The conclusion is nearly the same as before: The vivoactive is useless in recording any swim session while using an own app (and not the implemented swim app which is working really good)

    I don't know weres the problem but all data from the api that is delivered to the app during a swim session is total garbage!


    I have not been able to try it yet, but does it use the gps or not while swimming with your app now?
    Interesting that the factor for overestimating the distance seems pretty solid. Is it possible to apply a formula to the distance measured by the watch to correct the output before saving? In this case total distance divided by thirteen.
  • Former Member
    Former Member over 8 years ago
    Yes, now its using GPS while swimming.
    The only thing i can do is to implement such a factor for the value which is displayed inside my app. The "real" session data is managed by the watch itself and unfortunately (afaik) there is no way to edit this data before or after save.
    So i might correct the value which is displayed but the wrong value (in the background) will still be saved in protocol data.
  • Former Member
    Former Member over 8 years ago
    Yes, now its using GPS while swimming.
    The only thing i can do is to implement such a factor for the value which is displayed inside my app. The "real" session data is managed by the watch itself and unfortunately (afaik) there is no way to edit this data before or after save.
    So i might correct the value which is displayed but the wrong value (in the background) will still be saved in protocol data.

    Did you use glonass in the watch settings? (Don't know if that would produce a different factor)
    I will be able to try it on thursday and will do a few swims to see if the factor for overestimation is in the same ballpark. Thirteen times sounds like very much.

    Getting in to the fit-file and correcting the distance before saved would be useful. Why is that locked from developers? That would allow developers to make their very own algoritms. There's no way to get to this data?

    Correcting the data displayed is at least useful while looking at the clock when training or competing. The formula could be finetuned if we collect a lot of swim sessions at different distances and find the most common/average factor to throw at the result.
  • Former Member
    Former Member over 8 years ago
    No, the "GLONASS" option was disabled.
    I will enable it and try again with this next time but i cannot imagine a big difference.

    From my point of view, everytime you put your hand outside water while swimming, the watch guesses your position within 100m or something.... and thats how it "calculates" (or guessing?) swim distance with a factor 13 error on it..

    One approach of me was, to let the user setup the swim distance he may want to swim (because in triathlons for example, the distance is known before) and after the internal counter reachs this distance, simply pause the session (but manually count the timer forward) and wait until user switches to the next state. After that, a distance and a time for swim is known to calculate pace and so on...
    But there is another problem with this trashy watch.. if you pause a session, the watch continues to calculate distance.. so this approach will never work.

    As you see... because of this heavy problems i have not supported swim distance in the last release because during a triathlon you know the distance and are only interested in the time you need for the stage.
  • Former Member
    Former Member over 8 years ago
    I have updated the app with some minor improvements. (0.3.2)

    Regarding the swim distance issue:
    I have changed the session type from "lap swimming" to "open water" swimming, now the error factor is "only" 2-3, means, if you swim 500m the watch guesses a distance from about 1000m - 1300m or something...
    The interesting thing on this is, if you upload the .fit file for this activity (with open water swimming) you can see the gps trace of your swim session and it is not looking so bad. It is jumping at some points from one lane to another but overall its a miracle how the watch can calculate a total garbage distance on the one side and print a nearly useful gps trace on the other...
  • Former Member
    Former Member over 8 years ago
    I have updated the app with some minor improvements. (0.3.2)

    Regarding the swim distance issue:
    I have changed the session type from "lap swimming" to "open water" swimming, now the error factor is "only" 2-3, means, if you swim 500m the watch guesses a distance from about 1000m - 1300m or something...
    The interesting thing on this is, if you upload the .fit file for this activity (with open water swimming) you can see the gps trace of your swim session and it is not looking so bad. It is jumping at some points from one lane to another but overall its a miracle how the watch can calculate a total garbage distance on the one side and print a nearly useful gps trace on the other...


    Thanks for the update. Unfortunately, I haven't been able to be in the water for a couple of weeks due to an operation, but in the coming weeks (maybe this weekend), I'll be back :)
    I reckon you're noticing the same frustrating observation as jpschwartz did while developing jTriathlon. The gps points that vivo collects looks pretty much ok, but strange algorithms seems to do something with the data that overestimates the distance all the time.