[GENERAL] Wishes/ideas for Connect IQ future

Hello Connect IQ team!

as I started to take Connect IQ development more seriously about year ago, spent lots of time with it and had to explore lots of dark corners of CIQ for my more complex projects, I feel to share some topics and ideas which I find quite important or limiting to take the apps on Connect IQ platform to next level. I didn’t want to create separate threads for them so there they are all together.

First of all, great job guys for creating such platform in what I assume not easy environment. You made the Garmin products A LOT smarter. There are lots of things on development on Connect IQ platform which I really like and why I decided to invest lots of my time and effort to it recently. On another hand during this immediately popped up lots of topics which in my opinion prevents developers to transform lots of ideas into real app solutions on the platform. So, I hope you will take it constructively as wider feedback from one of your CIQ developer for whom the development to CIQ is not just another hobby.

CIQ Features:

Datafields can’t share data with each other or connect to same ANT sensor. 
Newly developed ANT sensors usually don’t provide only one interesting value. I find very limiting to not be able to read data from one ANT sensor (with one ANT channel) by more CIQ datafields. So in order to show users relevant values, we have to try to squeeze more values to one datafield which have big impact on UI experience and usability.

DF communication only every 5 minutes
I fully understand requirements for sustain good battery consumption, but this limitation take away huge amount of ideas as it applies also for communication with gyro sensor. And custom DFs which gyro data processing is something which can bring lots of added value for whole Garmin ecosystem in my opinion. I know that CIQ dedicated apps do not suffer from this limitation, but they on another hand brings lots of other limitations preventing them to be widely used during sport activities, especially on recent generations of CIQ devices. One of them is..

CIQ app is unable to do Resume later
In case it records the activity. This is one of the key reasons why we can’t substitute limitation of DFs by dedicated apps. Sure, we can pause recording within the app, but that don’t allow us to use other Connect IQ widget or watchfaces during activity break.

CIQ app can be automatically started only with user input to confirm dialog
I understand the idea behind this, but this again in my opinion take away some great scenarios and do more harm in development freedom than brings benefits. If some app will abuse this feature, it will be easy to identify it by user and do uninstall if necessary. Also, app reviews in Connect IQ store would be great control mechanism for possible abuse of this feature. I find this important as for Garmin watch to be powerful smartwatch, moving task from smartphone to watch and back must be seamless as possible just like on rival platforms in this respect. I believe allowing developers to launch app without confirm dialog but with some vibration alert and timeout for user-input would be great compromise.

CIQ app ability to run native or even other CIQ datafields
This is rather wilder idea to make CIQ apps more powerful. Ability to load available datafields from within the apps can remove lots of mentioned platform limitations in my view.

CIQ apps / activities main device menu
Recent Garmin watches can be in some way capable smartwatches with many installed applications doing various jobs, including native/custom activity recording or for example managing lights in your home. For that I find that current logic of main device menu, with native activities and CIQ apps in one list, insufficient mainly in contrast with other smartwatches on market.


CIQ platform development:

Slowdown of CIQ advancement?
This might be only subjective feeling, but I see noticeable decrease in activity around whole platform which relates also to following bullets. CIQ Summit didn't really help to change this opinion. And this doesn’t show the platform in “healthy” condition, which is rather disturbing.

CIQ 3.0 status 
CIQ 3.0 was introduced year ago and in my opinion some of its key features are less polished than they already should be. For example, MapTrackView and MapView still seems like alpha version, because lots of their features are useless if you don't want to jeopardise user experience of your app. Of course, you will not find out this from documentation, so every developer have to multiply development time with those modules several time to learn their real limitations and to prepare workarounds for the rest. There are lots of posts regarding this topic on the forum.

CIQ 3 Messaging for selected developers
I miss information about who can be granted to use CIQ 3 Messaging, under what conditions and what are the actual capabilities.

Unknow future strategy
I find quite non-standard for developers on platform like this to know that little about future plan for platform development and upcoming possibilities. CIQ 3.1 is out and seems like even CIQ team don't know what should be in 3.2... 

Long-term not resolved bug tickets
On the forum there are many topics about issues for which were reportedly opened internal tickets months or even years ago, but without any further status updates or with same status again and again that team is looking at them. One example: https://forums.garmin.com/developer/connect-iq/f/legacy-bug-reports/5144/failure_during_transfer-issue-again-now-using-comm-sample 
Honestly in this environment I am not motivated to report all issues to which I step into during development. I simply don’t feel required feedback here.

Other Garmin pieces related to Connect IQ

Garmin Forum
New forum is vast improvement, but look here how messy it can still get: https://forums.garmin.com/developer/connect-iq/i/bug-reports/connect-version-4-20-broke-local-http-access
Updating thread rendering for sorting by new messages will help a lot. 


Garmin development blogs
Which Garmin blog should I follow to not miss anything important? I followed https://developer.garmin.com/blog/ to find out that I missing lots of interesting articles from here https://www.garmin.com/en-US/blog/category/developer/ . I bet I am not the only one confused there. It will be great to simplify communication to community.

Closer integration with rest of Garmin – as viewed from outside
I am aware that the teams responsible for Garmin Connect, CIQ Store etc. are different and some even located in another country, but from what I see, I believe that communication/prioritization with those teams don’t work too well. And that drags down whole CIQ potential in the eyes of somebody who is considering to invest bigger effort/money to bring something new to the platform. What else explains that nobody is still able to fix issue like (https://forums.garmin.com/developer/connect-iq/i/bug-reports/connect-version-4-20-broke-local-http-access). I whish CIQ topics have bigger priority in other Garmin teams…


I think it’s all about potential of platform for Garmin itself which can be in my opinion higher not having the issues mentioned above. But you can’t rely on gaining another level of CIQ importance with help of 3rd party developers if they can’t rely that their service will work here. Typical egg or chicken paradox.

I will love to know what others thinks about these topics, hope that my summarized experience might help at least a little for making CIQ better, wish to keep the pace on further platform development and having enough contributors to CIQ Store. I am working on another one. :)

Jan

REFRESHED ON 30.7.2019 (but not that much...)
Actual view on current ciq situation here: forums.garmin.com/.../912867

  • Hello Coleman,

    thank you for your post, I am glad to have feedback from your team on such general CIQ topics giving us better picture on the situation, outlook to the future and not just to one problem. I can understand that there are reasons to not communicate some topics with the whole community and I am aware of how complicate probably is to maintain CIQ platform on all those specific devices’ firmware’s, both current and planning. 

    However, if it was already decided to not go a way of providing some lite external ticketing system for public dev community allowing us better to track the platform issues, I still wish you will be able to improve communication of this topic not just by small increment - at least for general issues affecting all devices. By this I don’t necessary mean to be more active here on the forum, but to think in wider scope and considering documentation, forum structure or other ways how to reduce situations, when developer is running into unexpected problem in the middle of project which he wasn't able to predict based on available information. Because that might be not only extremely demotivating to continue, but for commercial projects, it can easily change status from profitable to lossy.

    So, in my opinion, without bigger changes in mindset related to this topic, the situation with smaller motivation of developers for reporting encountered issues will not change. And that keeps spinning spiral of jeopardized usability of platform even for the future.

    Just small idea there – if it is so problematic to solve problems with for example Android SDK after all those years, why not to flag it at least by some indicator of “experimental functionality” in the documentation to show developers, that they should not rely to this module that much?  

    BTW, if you already decided that you will not continue to use https://developer.garmin.com/blog/category/connect-iq-sdk/ , why there is still link on main developer portal to keep confuse developers? Just my 2 cents – if it takes months for your company to change obsolete link on main developer portal, how can developers trust to whole platform?

    I hope you will take this as constructive feedback (that was my intent). Fingers crossed for your future updates in this which make our development more straight-forward. Can’t wait for refreshed documentation and fixed debugging!

  • I'm very glad to see that it's not just me who feels Garmin are limiting their devices with anti-developer and anti-consumer software. This forum often feels like an echo chamber, with many of the regular posters being far too lax in their judgement of some of Garmin's poor design and feature choices.

    The biggest problem with the ConnectIQ platform by far is the lack of freedom. Arbitrary limits on power consumption and background processes make absolutely zero sense. Let the market decide if an application or watchface is too power hungry, instead of completely eliminating the feasibility for thousands of potential applications - it's like cutting off your arms so you won't get frostbitten fingers if you ever happen to go to the North Pole. I really wanted to invest the time to enhance the functionality of this watch, but after spending a few days reading through the documentation and playing with the SDK, my hands are tied by Garmin's choices.

    Your customers are not babies; they can decide if a feature or application is too battery hungry, not you.

  • Have you used a garmin device?  I think some things will be clearer if you understand the platform.  Maybe try some of the existing apps in the store?

  • Just want to drag out this older thread to ask fellow developers about opinion regarding current discussion of issue unexpectedly and permanently breaking several apps and overall state of the platform. Am I really such negative moron or also others thinks this platform is rotten and we should somehow try to explain that to their creators? 

    Please see: 
    forums.garmin.com/.../connect-mobile-4-40-makeimagerequest-localhost-error


    Thanks for your opinion. 

  • Hey, its been long time after I lost motivation to work on new CIQ projects due to state of the platform and its unreliability.. Now there are new CIQ major version, new interesting and more capable devices like Epix on my hand, so checking whether the platform made some move with devs mental health in mind.

    I see lots of new stuff including shift to Visual Studio. But can someone from CIQ team please share some general info for us lost souls why we should trust the platform better now? How other devs outside of my bubble see it? 

    For example:

    1. Does somebody from CIQ team finally start working on their own projects outside of basic examples included in SDK to learn more how the platform behave in real development as it was apparently unsuccessful to understand this feedback from "outside" in the past?
    2. When I now spend time with reporting new issues related to MapView on CIQ4, will somebody finally be able to replicate the problem and the topic will not be quickly "lost" with some mysterious WERETECH ID without hope to get at least some feedback?
    3. Is somebody from CIQ team finally able to speak with other Garmin departments and handle related issues on behalf of CIQ devs? Like for example with EDGE team and solve 3 years old issue, that SimpleDataField show tiny unreadable font on some layouts on whole 530/830/1030 lineup?

    Thanks 

  • That is what I thought... nobody still listen here or care. CIQ team rushing with new stuff (which are great), but are not able to look back if it is actually usable for devs in general. And even if bug reporting worked as it should, scattered devs community which in 90% just doing hundreds of copy&pased watchfaces are not strong enough to realistically cover whole platform capabilities and gives relevant feedback. Sad, so much wasted potential. Rolling eyes