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
  • Update: AppBuilder 5 and 5+

    JTH9 this might interest you:

    - 5.13: CIQ2 record(), recordlap(), recordsummary(): add ability to set internal FIT field label.
    e.g. Record power so Stryd and Smashrun recognize it:
    record(power, 7, "Power")

    - Bring 5+ version in line with 5

    NOTE: the web app has been updated with a new code format to support this feature. You have to get the latest version of AppBuilder to use the new code format.

    In general, old working code from any iteration of the web app will work on the latest AppBuilder, but older AppBuilders will not work with the latest code.

    You can identify the code version by looking at the first two characters:
    !1 was the original
    !2 was the previous version
    !3 is the current version

    If and when it changes to !4 (god I hope not), you'll have to update AppBuilder again.

    TL;DR Your old code from the web app is fine. Your old AppBuilder is not, once the code version changes. Old AppBuilders won't crash or anything with new code (not like that's ever happened), but they will display a "!Code" error message.
  • Hi everyone! any news for appbuilder 5+ for the 935? I'm using the 5 version and i simple love it while show me my LAP IF.
    Still dream to have some other datas using 5+, am i the only 935 owner to need this?? Please Flow make this for me ahhaha
  • Michele17 haha sorry, wish I could bring AppBuilder 5+ to all platforms, but there just isn't room on anything less advanced than a 645 Music.
  • Former Member
    Former Member over 6 years ago
    FlowState thanks, was going to ask about it, but you beat me to it. :)
  • Former Member
    Former Member over 6 years ago
    Btw, regarding LAP IF, perhaps it could be added to Run Power data field? It would require user to enter FTP in settings though.

    Or is the memory already too tight to implement this for FR935 in Run Power too? It seems to at least support NP for *** tier watches.

    Usually I just memorize my power zone edge values and determine my IF simply looking at NP. But admit sometimes in the middle of workout you might not want any extra mental calculations.
  • JTH9 no worries.

    I added IF to the wishlist.
    https://forums.garmin.com/forum/deve...92#post1435192

    Notes:
    - %FTP is already supported. (Power / FTP, expressed as a percentage)
    (You enter your FTP in the settings, as you suggested)
    - You can get something sorta close by selecting "Lap %FTP", "Average %FTP" or "30 second average %FTP"
  • Former Member
    Former Member over 6 years ago
    FlowState , as everybody else has said before, thank you for your work.
    I have an edge 1030 so most of what I need I have as standard fields.

    The 2 fields I have used are firstly stopped time, which you can't have on the 1030 if you disable auto pause. This is a problem if you have a powermeter as it corrupts normalised power and all the calculations that go with that (as an aside thank you Dr Andrew Coggan for all the work that went into Intensity factor and Normalised power)

    Secondly, because you can't calculate stopped time this also means you can't have a moving average speed, which is the 2nd field your app gives me.

    I have played around with the Fit SDK a bit and it appears temperature is available in the SDK. Is it also available in AppBuilder? The reason i ask is many 1030 owners complain about temperature offset errors but when I tried to display it in AppBuilder it created a name error.
    thanks again
  • Former Member
    Former Member over 6 years ago
    Btw, could it be possible to get similar layout as in Run Power, where the metrics are centered rather than glued to inner edges. I usually also like to have time on top of the main workout screen. So if it doesn't impair other functionality too much, would be nice to have in AppBuilder too. :)
  • peteonbike thanks!

    I could be wrong, but I'm pretty sure temperature is not accessible from data fields. There are also complications re: internal vs Tempe sensor.
    https://forums.garmin.com/forum/developers/connect-iq/1307710-accessing-temperature-from-data-field
  • JTH9, hmm I saw that one coming....

    I'll put it on the wishlist, but I'm not gonna lie, the userbase for AppBuilder 5+ is like 1/25th of Run Power, judging from downloads alone, so it's hard to say when I'll get this done. You could chalk that up to requiring a cutting-edge device, but even AppBuilder 5 has 1/10th the daily downloads as Run Power.

    Plus, you have to remember that every time I update AppBuilder 5+, I have to upload 4 clones and solve 4 CAPTCHAs.... It's twice as bad when 5 and 5+ are both updated. But at least one day we'll have legit driverless cars, thanks to all those CAPTCHAs! (This goes back to the theme of companies demanding free labour from us.)

    There's also intermittent store issues to wrestle with, etc., etc.

    I know the current layout is not ideal, but I optimized it for longer labels. I'm starting to realize that nobody really cares about the labels.... (Which is also something I guessed before.) OTOH, the labels for the "nice" 6 field layout in Run Power start to look bad if they're anything over 3-4 letters....

    Everything in app development is a compromise. As users, we always wish that every app had every feature and cosmetic improvement we want, but there's often reasons behind the scenes that make it tough.

    For now, the 4 or 2 field layouts might suit your needs better.

    EDIT: As I mentioned in the Run Power forum, if you'd like to help motivate further development of this app, you *can* help by promoting it in any way you can. If a certain influential endurance sports blogger were to review one or two of my apps....

    I don't want to self-promote, because I don't think that's authentic. (Yeah, I know how hopelessly idealistic that sounds.) A more practical way of looking it would be that I've already promoted it through this forum, got a fair amount of views, but it's not translating into real interest. Which is understandable for a complex app with a learning curve and too much configuration. I did mention that I actually got an angry email about AppBuilder, as if I had pulled a bait-and-switch or something....

    EDIT2: TL;DR a few people have told me that Run Power / AppBuilder are the best apps in the store. I certainly think they're unique, but again that has not translated into real interest (like say, dwMap, Dozen Run or some random beer counter app).

    So either nobody needs these apps or nobody knows about them.

    So if you really think AppBuilder is the best app in the store and you want to motivate its development, please get the word out.