Connect IQ 2.1 SDK Preview!

The Connect IQ version 2.1 preview SDK is now available on the developer site!

We're excited about this release because it adds a bunch of new features that many Connect IQ developers have been asking for, like custom FIT recording, OAuth, Widget & App support for Edge products, and more! You can find out all about it and download it here:

http://developer.garmin.com/index.php/blog/post/connect-iq-2-biker-monkey

Since this is a preview, you won't be able to export apps for submission to the app store, but you can build apps to side load to your own device for development and testing purposes. Please give it a try! If you have feedback or notice any bugs, you can post to this forum or send your comments to the Connect IQ team at [EMAIL="[email protected]"][email protected][/EMAIL].

Thanks!

- The Connect IQ Team
  • Epix?
    NO!

    Biker (2.1) only for Vivoactive HR, FR 735XT and Edge...

  • Forerunner 230/5, 630 - out 6 months ago, but the old Aikido IQ.
    Thanks Garmin!

    Don't forget about F3HR, I've just seen this device and it becomes obsolete.
    I faced with the issue in Epix in aligment texts, simple function - since the FW update. What next and lays in deep?

    Questions after a week of active development:
    - "switch" operation will be introduced? still no in 2.1
    - strings as arrays? abc[1] is much better than abc.substring(1, 2). Instead of end index symbol as second parameter it is much better to use quantity, look at another languages. Maybe good idea to have abc[1..4]
    - passed parameters in functions cannot be changed and no warning about this.
    - compiler eats abc.length and no complain about this. ( need abc.length() )
    - compiler eats non-declared variables
    - any kind of records/structures? still no in 2.1
    - correct handle not nested comments /**/ in one function. 3 blocks of this comment make compiler wild and crazy.
    - does Eclipse IDE now correctly pass app to simulator? I need to kill simulator in 1.2.9 every time and _twice_ load app, only then changes applied. It irritates.
    - debug? watch variables?
    - timers limits, let access to minimum tick, and quantity of timers available in current device
    - maybe your own IDE with blackjack and ....
    - help system and examples. Every described function must have an example. I.e. who knows about rand() return values? Why not to create overload function with input parameter rand(max_value)? KEY_ constants are far away from functions that use them, and so on.
  • Forerunner 230/5, 630 - out 6 months ago, but the old Aikido Connect IQ.
    Thanks Garmin!


    That's correct. But if you read the blog post we published yesterday, you'll see this:

    You may be looking at [the chart showing Aikido vs. Biker device support] and thinking “hey wait - does that mean my product won’t get new features?” Fear not! We are releasing an update to Aikido (1.3) that adds the best new features, including FIT recording and the new web APIs. You can use the same beta SDK to build your apps for Aikido product and Biker products.


    One of the main reasons many already-released devices are remaining on Aikido is because of hardware limitations. As we add more APIs and features, we need more resources (especially memory) available on hardware, but we've done our best to squeeze as many of the newest features from Biker in Aikido as we can.
  • Will the Epix get it? it is still on 1.2.1 ...


    Unfortunately, there are no plans to update epix to Biker.
  • Don't forget about F3HR, I've just seen this device and it becomes obsolete.
    I faced with the issue in Epix in aligment texts, simple function - since the FW update. What next and lays in deep?

    Questions after a week of active development:
    - "switch" operation will be introduced? still no in 2.1
    - strings as arrays? abc[1] is much better than abc.substring(1, 2). Instead of end index symbol as second parameter it is much better to use quantity, look at another languages. Maybe good idea to have abc[1..4]
    - passed parameters in functions cannot be changed and no warning about this.
    - compiler eats abc.length and no complain about this. ( need abc.length() )
    - compiler eats non-declared variables
    - any kind of records/structures? still no in 2.1
    - correct handle not nested comments /**/ in one function. 3 blocks of this comment make compiler wild and crazy.
    - does Eclipse IDE now correctly pass app to simulator? I need to kill simulator in 1.2.9 every time and _twice_ load app, only then changes applied. It irritates.
    - debug? watch variables?
    - timers limits, let access to minimum tick, and quantity of timers available in current device
    - maybe your own IDE with blackjack and ....
    - help system and examples. Every described function must have an example. I.e. who knows about rand() return values? Why not to create overload function with input parameter rand(max_value)? KEY_ constants are far away from functions that use them, and so on.


    The Fenix 3 HR is far from obsolete, though it has been one of the more challenging products for us because of its relatively limited resources (e.g. memory).

    You have some valid criticisms, but I think some of your frustration comes from an expectation that Monkey C is C-like. :) Monkey C, despite its name, is more comparable to languages like python, ruby, and Javascript (we mention this in the Programmer's Guide to try to set the right expectation)

    I'm not sure if I understand all of your points, but I can address some of them:

    • "switch" operation will be introduced? still no in 2.1 - No, no switch statements. It's on our list of things to do, but we decided that a handy but non-critical language improvement was lower priority than adding features like FIT recording and OAuth. We agree a switch statement is a nice thing to have, though.
    • strings as arrays? This is actually available in 2.1 with the addition of char support. I admit it probably needs better documentation.
    • passed parameters in functions cannot be changed - Everything in Monkey C is passed by reference
    • compiler eats abc.length - I'll look at this and get it reported if necessary
    • compiler eats non-declared variables - Agree that this needs improvement. We have some plans to improve the compiler in the future to address this and other similar situations.
    • any kind of records/structures? - No, and I don't know that we have plans to add this. I can submit a request to see whether it's something we'd like to do in the future.
    • correct handle not nested comments /**/ in one function - This should be fixed, but I'll check it. The 2.1 preview is a beta, so it's possible (better said probable) that we'll have things to fix before the final release.
    • I need to kill simulator in 1.2.9 every time and _twice_ load app - This is not something I've experienced--is this on Mac or PC? I believe there have been similar reports occurring on Mac.
    • debug? watch variables? - We don't have a debugger available (yet), but we do have a test framework that provides asserts and unit test functions. See the How to Test section in the Programmer's Guide.


    We are trying to avoid locking everyone into a single development environment. With one exception (the app settings editor), it is possible to develop Connect IQ apps without Eclipse, and I'm aware of several developers that do this. It's unlikely that we'll try to roll our own IDE.

    The sample apps are a good reference if you need examples. I agree that we could flesh out our documentation a little more and improve the API documentation. The API docs are laid out according to the structure of the API, so the KEY_ constants you mention are listed where they are because they are members of the WatchUi class. I get frustrated myself trying to locate constants in the API docs, though. Maybe we can find a better way to cross-link methods and their related constants.

    I appreciate the feedback!
  • Former Member
    Former Member over 9 years ago
    We are trying to avoid locking everyone into a single development environment. With one exception (the app settings editor), it is possible to develop Connect IQ apps without Eclipse, and I'm aware of several developers that do this. It's unlikely that we'll try to roll our own IDE.


    Just adding that there's IntelliJ IDEA plugin in progress by me. Supports app settings as well, but not developer key yet.
  • Former Member
    Former Member over 9 years ago
    The 735xt isn't mentioned in the User Experience Guide. How many colors will it display? Resolution?
  • The 735xt isn't mentioned in the User Experience Guide. How many colors will it display? Resolution?



    You can find information about devices in the SDK bin folder in the Devices.xml file.
  • The 735xt isn't mentioned in the User Experience Guide. How many colors will it display? Resolution?


    We'll be sure to get this added before the end of the 2.1.0 SDK beta period. Thanks!
  • Former Member
    Former Member over 9 years ago
    Garmin .. please fix the issue where it will not allow spaces in the file path when going to the new beta version.

    EDIT .. I have sent in an email with the details.