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
  • The links for both 5 and 5+ at the start of this thread work for me from my phone (notes that it is not compatible with my 7). 

  • Thanks. But not compatible yet 

  • Hi Flowstate, thanks for this wonderful app.

    I am trying to make a formula for steps per second or seconds per step, I tried timeavg(steps, 1) but it didn´t work it gives you the values over the total time and I want to know the value each second, like:

    1º second: 2 steps

    2º second: 4 steps

    3º second: 2 steps

    etc....

    Could you help me for the formula?

    Thanks to you and anyone else,

    Regards

  • Good morning! Is It possible to have the update of both appbuilder5 and 5+ for forerunner 955 solar? I'd like to donate via PayPal for this...thank you very much!

  • +1 to willing to donate for an appbuilder F955 update

  • exactly, I cannot find it either.. just bought a fenix 7x.

    hopefully it will be supported soon, should be quite easy to build...

  • after some disappointments with Garmin PacePro ... I've taken it seriously :-)

    and I have made a PacePro that works, although it requires some patience... and create a couple of fields in AppBuilder 5

    the result is shown in this image:

    1. Create or upload the route to PloraRoute. Define Pace Plan. Include several waypoints strategically (refreshment stations, summits, finish line). Name the waypoints with the expected time of arrival (including stops if you prefer). Something like this: "0h50 Aid Station"

    2. Enter the distances and times of arrival at each waypoint in an Excel template and calculate the Paces between waypoints in km or miles/h, and time of arival at each waypoint in seconds.

    3. With this same Excel template, the formula for the two AppBuilder 5 fields ((a) and (b)) is easily calculated:

    PACEPRO (format PACE): setv(1.6.953);setv(2.5.489);setv(n,LAPPACE in km or mile/h);getv(LapCount+1)

    ETE AT NEXT (format TIME H:MIN):
    ((distanceToNextPoint/(lapdistance / laptime))+ElapsedTime) /60 + ' | ' + (setv(1.2280);setv(2.5100);setv(n,ARRIVALTIME in sec);ElapsedTime + (distanceToNextPoint/(lapdistance / laptime))-getv(LapCount+1))/60

    In order to work properly, AutoLap must be set to OFF Mode, and the LapKey must be pressed after each waypoint is reached.

    Here you can see a screenshot of my Excel template:

    Cheers!

  • wow, you are running app builder for fenix 7?

    unfortunately I cannot even see this tool in my garmin appSob

  • hopefully it will be supported soon, should be quite easy to build...

    It's not as simple as you think. To support new devices I have to build with the new SDK. This means two things:

    1) Memory usage will probably go up, even for old devices, so I have to run the risk that some formulas on some old devices will no longer run without causing the app to crash due to running out of memory

    2) There is actually a small change I have to make to the code to make it build on newer SDKs, although to be fair this is literally a 10-second fix.

    For AppBuilder 5+, in order to work with new devices:

    3) I have to map devices with "known" resolutions (which are already supported) to the correct hardcoded custom layouts in the code and test them. The custom layouts are all hardcoded and handcrafted in order to save on memory (I use my own code for layouts, not Garmin's extremely memory-consuming solution.) Even if I had created a tool to generate these layouts (which still takes time), I would still have to tune them by hand to account for quirks with things like device fonts which have a bunch of invisible white space at the top

    4) If I wanted to support new devices like Venu 2/2+ and Epix Gen 2 which have a resolution (416x416) which was never supported before, now I have to create new hardcoded and handcrafted layouts and test them.

    Either way I have to run the new build of AppBuilder 5/Appbuilder 5+ on every "family" of supported devices to make sure it still works. It doesn't help that Garmin doesn't have tools to facilitate automated UI testing or CI/CD.

    If it was as simple as you think it is, Garmin would've already auto-migrated AppBuilder 5 to the new Fenix 7 devices (and others), seeing as it's as "simple data field" which returns a numeric or string value (as opposed to painting the data field itself.)

    I hear and appreciate the feedback. All I can say is that support for newer devices may come at some point, but I can't say when.

    For some perspective here:

    AppBuilder 5 has 6300 downloads in almost 4 years

    AppBuilder 5+ has 1400 downloads in 3 1/2 years.

    In contrast, a data field I wrote which literally took 5 minutes has 32k downloads in 5 years. And that's still a drop in the bucket.

    In other words, the most complicated app I ever wrote for Garmin also has the least amount of downloads. Which is fine, it's a very niche app and far from user friendly.