Data Field: AppBuilder

By user request, this app lets you define your own data field, based on a simple math formula like cadence / 2.

If you want to get fancy, there's conditional expressions (like IF in Excel), functions for data analysis (like MIN and AVG), and the data field can also display the text of your choice. The resulting data can be (optionally) written to the activity FIT file.

With AppBuilder, you can implement almost any field that involves math, such as: calculating normalized power and saving the data to the FIT activity file, showing the average pace for even-numbered laps, or recording the amount of time you sprinted.

Full documentation and examples here:
http://ciq-appbuilder.blogspot.com/

AppBuilder 5:
Now with new features! AppBuilder 5 is a completely new app, so please check it out in the store if you are interested in any of the new features.
https://apps.garmin.com/en-US/apps/fd690281-9c22-4fee-a81e-3b7f39aa67c5

- Store up to four formulas per app. Switch between formulas directly on the watch, without using a phone or PC. With four clone apps, you can store up to 16 formulas total
- User variables. Allows for powerful formulas where information can be stored at one point, like the start of a lap, and used later. e.g. Lap elevation change
- Improved timeavg() options. Allows for simpler, more flexible normalized power function
- More functions and variables

4 clones of AppBuilder are available in the store, so you can have 2 formulas in the same activity
  • Miaz, steps are currently not available in AppBuilder. I will evaluate adding this in the future.

    Thanks!
  • Former Member
    Former Member over 6 years ago
    FlowState : Thank you very much in advance. That would be very helpful. :cool:
    (You understood right, that I mean steps inside of a special activity? (e.g. my modified activity "MeasuringNoGPS". I don't mean the normal 24h steps.)
    I've been searching everywhere, but didn't find anything except AppBulder. Unfortunately, I'm no programmer to do the job myself... :(
  • Miaz, really? There's a lot of CIQ data fields show steps in an activity.

    Or do you mean you can't find any data fields that can do steps in an activity plus custom distance? Yeah, I haven't seen that.

    Also, even if AppBuilder could do that, and record distance, you can't override distance in Garmin Connect, so I'm not sure how useful it would be to you.
  • Update 5.18 (AppBuilder 5+)

    Reset lap/stats when timer is reset. (May not even effect any real devices, except maybe Edge, since most new devices already reset apps when you reset the timer.)
  • Former Member
    Former Member over 6 years ago
    FlowState :

    - Yes - I have solved the problem of not showing steps in an activity. "Steps to FIT" works perfectly - and it even saves these steps into Garmin Connect FIT file.

    - Yes - I mean "steps in activity" PLUS "custom distance" - with mathematical operation [= "steps in activity" * "custom distance"] e.g.: 1000*0,75 showing "750"

    - Yes - I don`t want AppBuilder to override "standard" distance in Garmin Connect.

    It would be enough to have ANOTHER customer data field:
    - on watch as "Connect-IQ-Datafield = AppBuilder" and showing [= "ActivitySteps" * "FixedValue"] - FixedValue is an Option in AppBuilder.
    - in Garmin Connect an additionally shown Connect-IQ-Datafield = e.g. "calculated distance" or "CalDist" or something like that.

    =========================================================================================
    I'm no programmer, but I think with "Steps to FIT" it's absolutely similar - except I know, that Garmin is saving the Activity steps hidden somewhere (I don't know where - it's not visible in GC - I only see it after having imported into my YAZIO Android App)
    - on watch there is a "Connect-IQ-Datafield = Steps to FIT" that I can choose in my modified activity - showing steps in activity
    - in Garmin Connect there is an additional Connect-IQ-Datafield with data saved by "Steps to FIT". I can find it in Android inside activity on page 2 on Button: Section connectIQ, named "steps"
  • Miaz Well, I can tell you that:
    1) Yes, Garmin does save your steps to FIT and, no, GC doesn't show it (anymore)
    2) These other steps apps save your steps to FIT independently of 1)
    3) Other sites (e.g. Runalyze) calculate your steps from the data in a different way (e.g. time in minutes * cadence or whatever)

    Okay, thanks for clarifying that. If you're on Fenix 5S, then it wouldn't be a problem to add "Steps" only for large memory devices such as Fenix 5S. I'll put it on the wishlist and post when it happens.
  • Former Member
    Former Member over 6 years ago
    Thanks.
    (BTW: I have the older "fenix 5S" - NOT the new "fenix 5S Plus". I hope, this also is no problem, because the momory of "fenix 5S" is much-much-much smaller than in Plus-Version)
  • Miaz hmmm okay I’ll have to see if I can fit in 935/Fenix 5/etc without blowing things up. The problem with this app is it’s very hard for me to know how much free memory is enough, because I don’t know what formulas ppl are using.

    In the past I simply optimized the app so there was enough room to add a new feature. But I may not be able to do that anymore. Anyway, I’ll post back when I figure it out.
  • Former Member
    Former Member over 6 years ago
    Hi FlowState
    I've just tried your app - only for testing with formula: "avg(cadence)/60*timer*0.70". It works good on watch - but of cause it was only a test. "timer" inside a formula would not be good for me... Activity steps would be necessary.

    Result of the test:
    Distance is visible on watch - Very good! (but of cause, I must not stop)
    But unfortunately calculated distance (shown on watch) is not saved to FIT, though I have set the mark in settings.
    In GC Android is shown: Appuilder and Value AppBuilder.
    In GC Web is shown AppBuilder and Value 0.
    Do you know why?

    BTW - Only for information: The App "InWalk" doesn't count activity steps separately. It takes over activity steps from Garmin Firmware. So it should work without draining memory... But unfortunately this app doesn't save anything to fit, I can't add with "Steps to FIT"and it's not possible to do an mathematical operation for better distance. And the Garmin distance, however, always is much too short. :(
  • Miaz if you check the Record checkbox, by default AppBuilder only saves the result of the formula to the activity graph, not the summary. In most cases, it doesn't make sense to save the same data to both the graph and summary.

    What you're seeing in the summary is the field label, which is only stored for your information.

    In your case I assume you want the summary but not the activity graph, so you can use:

    norecord() ; recordsummary(avg(cadence)/60*timer*0.70)

    (The norecord() function disables the default behaviour of recording the formula result to the graph.)

    Also, I know how to calculate steps using the Garmin SDK, and it does take memory, because you have to write the code to do so. FYI, the Garmin SDK only gives you steps since midnight, not activity steps like you want, so calculation is necessary.

    Either way, there will be a memory hit associated with adding a new variable.

    However, I think I should be able to squeeze it in. No promises tho.