PSA: 10.xx Beta firmware CIQ Position bug

Hey all,

I'd like to bring your attention to a CIQ GPS/Positioning bug in the 10.xx Alpha/Beta releases (10.42 right now). While it is under investigation by Garmin (I reported from the 10.33 alpha but was overlooked until 10.39 Beta report by user), I don't know whether it will be fixed by final release: forums.garmin.com/.../bug-apps-with-gps-crashes-at-start-10-39-epix2

Basically if you're trying to set any GPS :constellations or :configuration the app will crash when you invoke Position.enableLocationEvents. Garmin's own code snippet also crashes. This means that only "GPS Only" works (no Galileo, etc.)

So if you have any app that tries to set :constellations or :configuration you may want to have a version ready that doesn't do that and be ready to push it, should Garmin decide to release the firmware without fixing the bug.

  • I think the part that adds to the confusion is some of the configurations settings like all systems and multiband do make the statement that it is only supported by System 6 devices like Fenix 7 and Edge 1040.  While that may be a true statement that only those devices will support the option, I don't interpret the statement to mean we have to wait till system 6 is released to use the feature, just to mean the device has to be on VM 3.3.6 and only certain devices may support the setting. 

    As I mentioned above, as a matter of fact I believe that the fact all configurations settings are "since 3.3.6" but only some mention "System 6" supports my case that:

    System 6 includes 3.3.6, but 3.3.6 is not (necessarily) System 6.

    For all the reasons I said above, I believe I can strengthen that statement by saying "3.3.6 is *not* System 6" (in all likelihood, unless I hear otherwise.)

    BTW, thank you for chiming in, I truly appreciate it.

  • Actually, it really seems you are just here to whine..... 

    Yep, and to answer questions, and file countless bug reports in both CIQ and the non-CIQ parts of devices (which I spent good money on.)

    I also spent valuable time developing apps (for $0) and I still have users who ask me for updates (I don't have a problem with that, just stating the fact that at least 1 or 2 people find my apps useful - not as many users as your apps, for sure.) I'm not retired btw, I have a day job and other stuff going on.

    It only makes the experience so much better when I ask any question that can't be answered with rote knowledge, and I get either get crickets or a condescending proclamation from the mountaintop (without much supporting evidence). Same as when bugs go unfixed for years.

    Recent example of both is when I asked for the 2nd time in two years about why the misconfigured glance liveUpdates flag for Enduro wasn't fixed (even though Garmin responded two years ago and mentioned they'd fix it.) Guess who gave the standard condescending, dismissive response (which ultimately turned out to be wrong, just like the first response to the same question.)

    EDIT:

    Not to mention that whenever people ask for quality of life improvements to CIQ like docker support, automating the simulator UI and/or facilitating support for continuous integration/deployment (CI/CD), the standard answer I hear from guess who is always:

    - I don't know what that is (therefore it's not important)

    - That isn't important (because it isn't important to me)

    - That sounds like something from the 1980s (makefile support, command line tooling) (because I don't see the value in it)

    - nobody has ever asked for that (I wonder why - couldn't be because they're always told to not bother asking for something that nobody has asked for before)

    Like IMO it's fine if Garmin ignores feature requests, but kinda sad to see them shot down in the forums for no reason. I know I've been guilty of doing that too, like when people originally asked for VS Code support.

    EDIT2:

    Same as you always shoot down anyone who tries to write an app or tool to improve or supplement CIQ in any non-standard way, like the prettier/optimization plugin.

  • Speaking of whining and complaining, you should see what the average Garmin user says about the CIQ store:

    - a wasteland

    - full of amateurish junk (paraphrasing here)

    etc.

    A lot of that reflects how Garmin has approached and supported CIQ IMO.

  • In the case of what's seen in the API doc for position, there is also a HW dependency.  Not all devices and Multi GNSS.Multi Band GNSS HW.  New ones do, including the new Instinct Crossover, which per the sim has 3.3.6.

  • Speaking of whining and complaining, you should see what the average Garmin user says about the CIQ store:

    - a wasteland

    - full of amateurish junk (paraphrasing here)

    To be honest, so what?   Why do you say they are a "average Garmin User". People post when they don't like something, and for each of their posts, there could be 100 that have no issue. 

  • I just want to be clear I tested with my Fenix 7X:

    1- setting :constellations only (no crash in current stable, crash in 10.xx alpha/beta)

    2- setting :configuration only (crash in 10.xx alpha/beta, haven't tested on stable firmware)

    Of course all behind a heathy if Position has :whatever condition as per code snippet. Also tried without the healthy wall just in case but no change.

    I think pretty much nobody used 2 at this stage so I really don't care and impact should be minimum, but 1 has been in for a long time (3.2.0, which is minimum API version for my app) and quite a few apps relying on positioning use it from what I can tell. So I'm really worrying about scenario 1. At least I have a workaround (just use GPS), ready to go in case the stable release retains the issue. Just wanted to share (didn't mean to start a war on the definition of System X or whatever!)

  • So my statement about the Positioning features and the supported hardware was before I downloaded an looked at the Instinct Crossover.  It is indeed a CIQ 3.3.x device with the same GPS as the F7.  So it does support the all constellations but is still on 3.3.6, I now understand why the 4.1.6 SDK docs are listed as they are. 

    I still think that Garmin should have left out the System 6 wording and just called out specific devices at least for the 4.1.6 SDK release.  3.3.6 is definitely not a System 6 feature set, but it will be supported by all future System 6 devices.

    Looking at the 4.2.0 beta docs, the specific features called out for System 6 such as Action Menu clearly show 3.4.0/4.2.0 is the start of the System 6 features.

  • As far as I understood from DCRainmaker https://www.youtube.com/watch?v=o_g0rJ51i7A&ab_channel=DCRainmaker Instinct Crossover doesn't have multi-band. It has "all systems" but not multi-band. (look at 11:20)

  • Speaking of whining and complaining, you should see what the average Garmin user says about the CIQ store:

    - a wasteland

    - full of amateurish junk (paraphrasing here)

    To be honest, so what?   Why do you say they are a "average Garmin User". People post when they don't like something, and for each of their posts, there could be 100 that have no issue. 

    Because as you correctly pointed out, I am a whiner when it comes to Connect IQ and Garmin in general.

    I kinda explained my reasoning already:

    "A lot of that reflects how Garmin has approached and supported CIQ IMO."

    My point is that:

    - I'm not alone

    - Garmin has issues with UI/UX (although they are improving). It's very common to see people talking about this. The forums (which they chose but didn't develop) have lots of UI/UX issues too. Almost like it's systemic

    - Garmin has had issues with CIQ (although they are improving). People who mention CIQ outside of these forums don't seem to have a lot of positive things to say. At most, maybe people like certain watchfaces. (Not taking anything away from any of us developers. People prefer slick apps from corporations with boatloads of cash, and it's hard for indie devs to live up to that. I wish my own apps had better graphic design, for example.)

    - Garmin has historically had lots of problems with bugs. Otherwise why would DC Rainmaker say that they've improved a lot over the years? Nothing to improve if there's no problems. Unfortunately there's still a lot of problems.

    - I actually like Garmin products for a variety of reasons, so I wish they were better. I spend good money on them and I'm "invested" in the ecosystem so to speak. If I were starting out as a new runner today, it might be tough to convince me not to get an Apple Watch, if not for the fact that a lot of runners still swear by Garmin. I say this all the time, but the average person who uses an AW for running can't understand why others use Garmin. To them it almost seems like a cult. That's why WSJ posted an article with the following title:

    The Cult of Garmin: Why Athletes Stick With These Smartwatches Over Apple or Samsung

    (Yeah I'm aware Apple is very cultish too.)

    Others believe that the only reason anyone uses a Garmin is because Garmin came out before Apple Watch.

    One example of both poor (perceived) UI/UX and CIQ support is with the Stryd app. Stryd's own support article for setting up the app pretty much says "the UX for our Garmin app is bad because of Garmin constraints sorry about that!" and "the Apple Watch experience is much better!"

    I can say the same about the AW Spotify experience vs. the Garmin Spotify experience. Maybe that has a lot to do with Spotify, but I wish Garmin would care more about UX one way or another.

    I say they're the "average Garmin user" because they post in places that are far more populous and mainstream than here (like the Garmin subreddit.) A lot of people are already on reddit before they buy a Garmin watch. Using the garmin forums is an extra step that not every Garmin user will take.

    I'll also say that the average Garmin user I know in real life (runners only) knows nothing about Connect IQ and cares even less.

    That's just my individual experience though.

  • All of this circular debating could be resolved if Garmin would:

    - clearly document what "System X" means for any given X

    - Instead of saying something like "Since API Level 3.4.0", they should say "Since API Level 3.4.0 for CIQ 3 devices, and since API level 4.2.0 for CIQ 4 devices". They should explicitly say what they mean, not make an ambiguous statement with implications that require special knowledge to decipher.

    This would avoid questions from devs who don't understand why a 4.0 device doesn't have a 3.3.6 feature.