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
  • And not to be captain obvious, but why do we download apps in the first place? Or as a friend asked when I explained AppBuilder to him: "Does it help you run faster?" And I have to admit it doesn't.

    I recently made another app which is a combo "single run field" and "lap viewer", which I would rather use than AppBuilder. It still doesn't help me run faster, but it lets me review my laps during a run (without wasting a whole page/app slot), which is something I always wanted. I think it's still complicated tho, because it has too many options. (I tried to mash up a bunch feature requests I saw, plus things that I personally wanted.)

    The next app after that will have practically zero configuration.
  • Former Member
    Former Member over 6 years ago
    I tend to think Appbuilder as a band aid fix. One is good to quickly fix things and may even hold out for a long time but try to build something complex with it and your problems will quickly add up ;)

    Not sure if I would upgrade my watch for just one app either, and not for a full list price anyway. The + versions are still simply too expensive.

    As long as DIY keeps working I think I can manage with my current watch (Basic F5 which I also got on discount), it's just that there aren't many apps that even let you show Normalized Power. Yet Training Peaks is basically build around it. Even for running workouts as Normalized Graded Pace is basically same as Normalized Power. It seems Garmin performance condition also usually goes pretty much hand in hand with NP/HR.
  • AppBuilder 5+ is available at the store now, for cutting-edge watches and Edge:
    https://apps.garmin.com/en-US/apps/3...b-fdcfbc877f3a

  • Wow! This is great! Is it possible to have other 3 clones like appbuilder and appbuilder5? It could be great to set one for each activity! Thank you very mutch!
  • albertopirro there's already one extra clone in the store. Not sure if I want to spam the store with even more AppBuilder clones.
  • So many things to try out so little space. I do wish Garmin would increase the number of CIQ slots on the Edge 1030 from a measly 16. I'm already maxed out and there's bug in GCM that prevents apps being updated if all the slots are used. You have to delete an app to update another

    I was wondering if you could help diagnose a wee problem I'm having with my formula. I have 2 versions of AppBuilder; 1 calculates a rolling [Current] Average 20 Min Power recording to the FIT graph the other MAX Average 20 Min Power recording to the FIT summary. These work fine on their individual AppBuilder apps.
    I'm combining the two values so they use the same 20 min calculation, displaying both values in the same field. They work fine on the Edge, displaying the expected values as XXXw / YYYw for the Current / MAX power values. The problem lay with the FIT file recording. As in connect both the summary & graph are both blank despite using the same syntax as the separate formulas.

    Here's my formula if you get chance to have a look. Cheers

    SETV[1, TIMEAVG[Power,1200,1,1]]; SETV[4, ALT[Timer,0] - ALT[START[Timer],0]]; SETV[IF[GETV[4] GTE 1200 AND NOT[GETV[1]] AND ALT[GETV[2],0] + 1200 - GETV[4] LTE 0, 2, null], GETV[4]]; IF[GETV[4], IF[AVG[NONZERO[Power]], IF[GETV[1], RECORD[FORMATNUMBER[GETV[1]]] + 'w / ' + RECORDSUMMARY[FORMATNUMBER[MAX[GETV[1]]]] + 'w', FORMATTIME[ALT[GETV[2],0] + 1200 - GETV[4]]], 'No Power Data'], 'Start Timer']
  • hotdogpartysausage I know this isn't obvious or intuitive, but once you explicitly format a number using the format...() functions, it becomes text and you can't use it in further calculations or recording. (It is mentioned in the docs in a couple of places.)

    Anywhere you have record(formatnumber(X)), replace it with formatnumber(record(x))

    In general, formatnumber() is the last thing you want to do before joining your data with other text.

    I know the syntax with all these nested functions is really hard to read/think about. There are better ways to do it, but nothing that the watch could realistically process with its limited space for code.

    Also, you will get much larger numbers if you omit the "w" suffix. Unlike Appbuilder 5, AppBuilder 5+ will display symbols such as "/" in the larger numerical fonts. To be clear, currently the entire value of the field will be displayed in the same font, so if you have even one "non-numerical character", the whole thing will be smaller.
  • Here's the "numerical characters" to use if you want big fonts:

    AppBuilder 5 [this is a CIQ limitation for "simple data fields"]:
    (no spaces allowed)
    0123456789:.


    AppBuilder 5+ [this is a font limitation]
    (spaces allowed)
    #%+-./0123456789:°

    That's why when you look at some of the power data fields in the store which display a "w" or "W" suffix, the text is so small. Because they use non-numerical characters which aren't supported by the big fonts.

    Sorry for the multiple posts, forum won't let me put all of this information in one post, due to the usual issues....
  • Thanks for correcting the syntax that has solved it. After seeing your post I remembered you'd posted about that very subject in a previous post

    I'll also have a play with the available numeric characters to display the values in the largest possible way. Cheers for the heads-up
  • Hi! The 5+ versione sounds amazing, will be compatible with 935 or will be something similar? I would like to use at least 3 or 4 IQ data fields.
    Thank you