Showing more information in data fields

I have been developing ~10 data fields that I want to be able to use during a race, I heard that you can't have more than 2 CIQ data fields installed at a time so I was wondering what the best way to show more information is. Is it to just have each of the 2 fields display 5 number, or just switch to an app or widget, or is there another way

  • Is it to just have each of the 2 fields display 5 number

    Yeah, for this kind of use case, devs typically design "fullscreen" data fields, where the data field app only works properly in a 1-field layout (which takes up the whole screen), and it draws its own data layout, consisting of multiple fields (some of these apps support up to a dozen fields.)

    Some examples:
    - Dozen Run

    - GRun (source code available)

    The big downside is the user doesn't get the same UX as the native watch, and the dev has to reinvent the wheel to render the data. For older watches (and 1 or 2 new-ish watches) with limited memory, it can be pretty challenging to fit the rendering/layout code in the available memory. I personally found that the straightforward solutions of using a standard Monkey C layout (in resources) or drawing fields dynamically at runtime both consumed too much memory, and I built my own layout system from scratch, so I could bring some of my data fields to older devices.

    For example, GRun uses too much memory to run on a very old device like FR235, iirc.

  • I'll add to FlowState's advice that if you want big fonts, then you can split it to 2 CIQ DF-s, and add both f them to the activity, then you'll be able to switch between the 2 pages with the up/down buttons.

    I wasted lot of time on trying to mimmic the label font size and position of the built-in fields, without much success. I don't have any full-screen DF-s of mine, but I use GRun and Race Screen, both are cool, so when you have "enough" stuff to display then full-screen is the best option IMHO.

    I'll also add (because it wasn't 100% clear) that the 2 CIQ fields per activity is only for watches, on Edge devices you can have 10.

  • Yeah, for this kind of use case, devs typically design "fullscreen" data fields

    I'd say that's a direct consequence of Garmin only allowing 2 data fields, it's not the developer's choice.

    It most definitely isn't my choice, but I ended up creating a whole bunch of them. 

  • I'd say that's a direct consequence of Garmin only allowing 2 data fields, it's not the developer's choice.

    It most definitely isn't my choice, but I ended up creating a whole bunch of them. 

    I agree that’s one of the reasons (and obviously this whole discussion is triggered by the 2 data field limit mentioned in the OP), but there are a couple of cases where a full screen CIQ field adds utility to a watch imo, regardless of the limit:

    - The user wants to see more fields on the same screen than is normally possible for their watch.

    e.g. 6, 8 or 12 fields. (Dozen Run is literally named so bc it offers 12 fields.) This is becoming less relevant as watches added the ability to display 6 fields at once, and in some cases, 8 fields. I’ll admit I don’t use Dozen Run anymore (partly bc there’s 2 other CIQ fields which provide functionality I want/need better, and also bc 6-8 native fields on one page is enough for me.)

    - The user wants a custom layout that’s different from any native layout. e.g. there could be a narrow graphic or horizontal bar graph that could fit in a very narrow or short part of screen, so it wastes less space than it would if it were placed in a native layout

    This is really a variant of the previous point. For example, a battery gauge or clock can be added to a very small part of the screen in a custom layout, leaving a lot more room for additional fields. Again this is less useful on watches that can natively display 8 fields

    - The user wants to see more fields for a single activity than is normally possible for their watch.

    This really only applies to very old watches which had a 2 *page* limit (for example), meaning the user could only see 8 fields in a single activity. In this case, having Dozen Run on one page and 4 native fields on another would mean the user would have doubled the total number of fields available for the entire activity just by installing one app

    - The user wants to see some sort of data that takes up the whole screen and normally isn’t available in the native activity

    e.g. I have a data field app that displays a table with a history of laps for the current activity, with configurable data columns and the ability to scroll using a lame hack (user has to press UP, DOWN or DOWN, UP quickly when they’re looking at app). Yes, some watches provide lap history natively, but only for track mode, without data configuration and without the ability to scroll. When I created this app, I owned a watch that had a 4-field per page limit. Because of that, and because the number of CIQ apps is limited, I ended adding another “scrollable page” to the app which consisted of a 6-field layout (with a feature that was unavailable natively at the time - color-coded cadence/HR, and the ability to select metrics that were unavailable natively, such as Last Lap Max HR.) If it wasn’t for the 2 CIQ field limit, this definitely would’ve made more sense as 2 separate apps, but it wouldn’t have taken away from the fact that each of them only made sense as full screen apps.

    Ofc all of the benefits from this stuff are counterbalanced by the fact that these apps can never provide *all* of the native fields offered by newer watches (since some of the data simply isn’t available to CIQ.)

  • Something else to consider is the total number of data screens available on a device.  For example, on vivoactive 5 devices, it's 3 at most for data fields, and with full screen data fields, you limit the total number of data fields a user can see, both CIQ and native.  On some devices you can add more data screens, so not much of an issue there

  • Yes, but a device having a limited number of data pages is actually another argument for a CIQ data field to be full screen and display many fields of its own: it allows the user to see more fields in total than they would normally be able to. For me this is a huge win for old devices like FR230/FR630 which only support 2/4 pages, and as you pointed out, a new device like VA5 which only support 3 pages. (All of those devices only support up to 4 fields per page)

    Given that most fullscreen fields seem to display at least 6 fields (and some display up to 12 fields), the user usually wins with a fullscreen field on devices with low page counts (and up to 4 fields per page). Even if a fullscreen field displays 4 fields, the user breaks even.

    e.g.

    FR230: 2 pages means the user gets up to 8 native fields. If one page is a CIQ app that displays 12 fields, they now get up 16 fields of data (thus doubling the number of available fields, or a 100% increase)

    FR630: 4 pages, 16 native fields. One full-screen CIQ app with 12 fields => 24 available fields (50% increase)

    VA5: 3 pages, 12 native fields. One full-screen CIQ app with 12 fields => 20 available fields (66% increase)

    Sure, on devices which support 6-8 fields, the user may technically lose out with certain fullscreen CIQ fields, but it doesn't matter (as you said) bc those devices usually support a ton of pages (so many that DC Rainmaker doesn't even bother to count them, although he usually mentions when a device only supports 2-4 custom data pages.)

    It's actually mind-boggling to me that in 2024, Garmin sells a watch that can only have 3 data pages of up to 4 fields each, but Garmin loves market segmentation and arbitrary limits.