Exploring the Future of Connect IQ Development

I want to find a discussion about the evolution of the Connect IQ development landscape for Garmin devices.
I am interested in understanding the latest trends, challenges and opportunities in the world of wearable technology and smartwatches. Share your experiences, ideas, resources, and insights into the future of development for Garmin's Connect IQ platform. Whether you're an experienced developer or just curious about the possibilities like me

  • TL;DR based on my anecdotal experience, most Garmin users (at least runners) don't care about apps, except maybe watchfaces (and Spotify, but that doesn't really count imo, same as I"m not counting any of the built-in apps.)

    I use my Garmin watch primarily for running, and I've run with a wide variety of Garmin users of varying ages and abilities (anywhere from 2:30 to 5:00 marathoners). I also released a few niche apps on the store as a hobby.

    This is purely anecdotal, but very few runners I've talked to cared about Connect IQ apps (if they were even aware of them.) Maybe a few people downloaded a nice watchface or a stopwatch app (for a long time, Forerunners didn't have a built-in stopwatch.) As Garmin adds more and more native features, there's even less need for third party apps IMO. (Nobody needs a 3rd party stopwatch if they have a current Forerunner, unless they don't like the cosmetics or they want more features.) Third-party data fields which occupied a whole data page and displayed 6-8 fields of their own used to have a niche in the store, because every watch had a limit of 4 fields per page, and some watches had a very limited number of data pages. This niche is probably smaller now that built-in 6 field support is standard for watches, and some watches also support 8 fields. Most watches also support more data pages than anyone will ever use.

    Another example is Stryd - this is already a niche 3rd-party product. How many runners will buy a separate foot pod for power now that Garmins support native power from your wrist? I got a Stryd for free because I made an app that works with it. I like it because it (supposedly) gives you better indoor pace for treadmill runs, but I don't know any other runners who have one.

    Most people don't even use a fraction of the features on their watch - I think most people are happy just to track their runs and upload them to strava.

    As another example, years ago DC Rainmaker would mention that Garmin watches lacked a feature that Polar switchers might miss: a data page that shows a list of lap stats during a workout. i.e. Instead of just showing stats for the current lap and the last lap, you could see a list of multiple laps, with stats like lap time and lap pace in each row. I thought this was a great idea so I made a customizable and scrollable "lap viewer" data field (*) that could do this (not the first one of its kind in the store.) I use it when for running workouts (either solo or as part of a group), so I can see my previous splits and HR data before the workout is over. Sometimes I'll even use it for long runs so I can see my splits for the last few kilometres. Just out of curiosity, I asked a couple of training buddies if they'd be interested in the app. Zero interest. Out of everyone I know, I'm probably the most obsessed with stats to the point that I'm comparing my splits in the middle of a workout. The funny thing is it definitely doesn't make me faster - things that Garmin can't really help me with, like group workouts, hard efforts and and smart nutrition, are what have made me faster.

    (* All these years later, Garmin sorta has this feature, but only for Track Run mode, and it's not customizable or scrollable.)

    It's also interesting that the vast majority of CIQ apps are free, yet this doesn't really seem to entice the average user to download them (again, except for watchfaces). I've seen a few complaints on the internet about how CIQ apps are mostly amateurish and unpolished, and how people wish the big players would make apps (but why would they, since there's no money in it for them?) Again, nobody I know even talks about Connect IQ.

    Anyway, that's my 2 cents. Sometimes I question how much Garmin (as an organization) cares about CIQ (take a look at bugs which stay open for years.)

  • Right now, I'm also interested in hearing thoughts about the future of CIQ.

    I'm at the point where I need to decide whether to invest my time in another app. It would be non-commercial, open source, and something I'd work on in my free time. The app would be fairly complex - probably around three months to reach a basic MVP, and closer to a year to build out the full feature set I'd like to see.

    That said, it's pretty clear that CIQ feels more like an afterthought than an integral part of Garmin's ecosystem. I think the basic concepts are well designed, but the quality isn't where it could be. Some features have been broken for a long time, and parts of the user interface haven't seen updates in quite a while.

    So I'm seriously questioning whether it's worth investing that much time into another app, especially when CIQ could easily be abandoned in some future generation of watches.

    I'd really appreciate hearing your thoughts - how do you see the future of CIQ? Do you think it's still a platform worth investing significant time and effort into?

  • Another thing that really holds me back from investing more into CIQ is the overall quality of the platform.

    Today was particularly frustrating:

    First, I wanted to evaluate a potential performance improvement in my glance, but I couldn’t - what seems to be a profiler bug got in the way (bug count: 1).

    Next, I wanted to investigate occasional compiler crashes (bug count: 2). Following some advice from the forum, I enabled debug logging for the compiler. I then worked on other tasks for about an hour.

    Later, I had to switch from SDK 8.1.1 to 7.1.1, since because of a simulator bug in 8.1.1 (bug count: 3) I often need 7.1.1 for testing. However, once I switched, the compiler in 7.1.1 started crashing consistently. At first, I assumed it was something I had changed recently, but after some digging, I realized it was the verbose debug output itself causing the crash. I even found two distinct cases in my code that trigger compiler crashes with debug logging enabled (bug counts: 4 and 5).

    Sorry for venting — it’s just really discouraging to spend so much time working around bugs, especially when you're doing this in your free time.

  • This sounds similar to my experience. Especially after major version changes in the SDK. With time most sane developers go away and only the handful insane stay and learn to live with workarounds, avoid using certain "features" that were only announced but never implemented, learn the real tricks from the forum because they're not in the documentation.

    Is it worth? Depends why you do it. I guess some make money (probably those that started more than 8 years ago and some who spam the store with automated watch faces that only differ in background image) but most probably don't make $100 a year, so even the annual fee for Garmin isn't worth it. I only do apps for myself. Even then, just releasing them (even without source code) adds a significant time penalty, and of course usually you'll start adding some features that people ask for even if you don't need them.

  • This sounds similar to my experience. Especially after major version changes in the SDK.

    What I really don't understand is the apparent lack of management. Yes, Garmin likely allocates limited resources to CIQ, but even with limited resources, there's a right way to approach it. The focus should be on the stability and quality of the existing production code. New features should only be added when there are enough resources to properly test and maintain them over the long term. Given the state of SDK, I can't see why anyone would prioritize building a flashy new extension with auto-everything instead of fixing the foundation. Learn to walk before you run.

    Is it worth? Depends why you do it. I guess some make money (probably those that started more than 8 years ago and some who spam the store with automated watch faces that only differ in background image) but most probably don't make $100 a year, so even the annual fee for Garmin isn't worth it.

    In my case, it's not even about making money - it's about the time I'm investing. My first app is a frontend for a piece of open-source software, and it's open source itself. The second app would be the same. I use a lot of open-source software and like contributing back to those projects. Working around quirks can be frustrating, but what would really be a bummer is investing significant time, only for Garmin to eventually abandon CIQ.

  • The focus should be on the stability and quality of the existing production code. New features should only be added when there are enough resources to properly test and maintain them over the long term.

    I feel like many end users say the same thing about Garmin devices themselves. The perception (right or wrong) is that Garmin cares more about adding new features than making sure the existing ones work well (without bugs and with good UX). Same goes for Connect (both the website and the mobile app).

    There's also the general perception that Garmin is bad at software ¯\_(ツ)_/¯

  • TL;DR: Users seem surprisingly little interested in 3rd party apps. Developers seem to not love the ecosystem and it's somewhat tough to onboard. Garmin seems to completely lack interest in building a community and communicating with developers. It feels like a lot of knowledge around compilers and development is tribal knowledge. No linters, no formatters, not much of style guides. Garmin gives you the SDK and some code examples but that's about it. No libraries (barrels) and no place to host or share the ones the community builds.

    Also there are so many low hanging fruits that Garmin themselves could fix but just doesn't bother to do because the interest is so low. Like adding some missing data fields, adding a platform to search and share running workouts, allowing shared calendar workouts, sharing workouts from Connect IQ, opening up bluetooth for use as camera shutter, improve the SDK http client to be more flexible etc.

    Longer answer; I can just second what's already been mentioned. It surprises me that the interest for 3rd party apps is so low, both from what I've noticed online but also talking with friends and family. Basically everyone in my running club uses Garmin watches and non of them use any form of 3rd party app or data field.  I would estimate that 90% uses the default watch face for their model.

    I've only built a few small apps and watch faces myself but curating the awesome-garmin list I've seen quite a few 3rd party apps, how they evolve and mostly how they just die. A lot of apps are built once for a single persons needs or curiosity around Garmin development.

    I don't want to sound rude but most of the apps on the app store looks and works pretty poorly too. And lately most quality apps or watch faces try to monetize, which is understandable, but I also think this makes even less people (me included) interested. I don't want to pay $10 to see if I'm happy with a watch face. On top of that, the app store itself and the Connect IQ app works pretty poorly. It's slow to navigate, hard to find, bad search, slow to sync, unclear state of installed apps etc.

    I personally don't think this is a problem about monetization. Maybe it's the accessibility and onboarding, relying on a less known language with a closed source and proprietarily compiler and SDK. Or maybe it's just that people don't do all that much on their watches? Looking at common Apple Watch users, I think a lot of people use the microphone to add reminders, set alarms, record a memo, reply to a text etc. All this relies on a microphone which only a handful of Garmin watches have. Other than that, keeping track of time and calendar events is about it, which Garmin already supports natively.

    I don't think it will ever be worth investing only in Garmin development. What I do wish and hope for is more and better integrations. Just like Spotify is mentioned, I think one of the best apps out there is UDisc. It's a companion app that integrates with their mobile app and keeps disc golf score. I hope for more similar integrations. I want to control my IKEA bulbs at home, or look at my personal stock portfolio, or see my Strava feed, or...

    Maybe not really related to 3rd party development, but if possible closer integration with phone and push notifications would open more doors. I used to wear an Apple Watch and being able to reply to text messages or accept a calendar invite are small things that increases quality of life. Or a simple thing such as using your watch as a camera shutter without having to pay for a 3rd party app and use the non native camera app on your phone.

    Further I see more and more people moving to alternatives such as Coros which completely lacks 3rd party apps and I've yet to hear anyone using that as an argument to stay with Garmin because honestly, I'm not sure if even I would miss the apps.