• App Store Maintenance

    The app store will be in maintenance mode for a few hours today. During this time various functionality including app loading will be disabled. We will let you know when the work is complete.

    • Nov 8, 2022
  • Welcome to Connect IQ System 6

    Welcome to Connect IQ System 6! Over the last year the Connect IQ team worked to improve every phase of the software development cycle.  

    Let's go through the new features.

    Complications

    Garmin devices collect numerous data points as users wear them. Many of these data points can be summarized and displayed on the watch face as a complication. The Connect IQ SDK offers multiple APIs to access user metrics, and has expanded the offerings with every release.

    The Toybox.Complications module consolidates the specific metrics typically displayed by Garmin devices into a unified interface. This unified interface gives the developer access to the information typically shown on the watch face for the developer. The complications are exposed using a publish/subscribe model. In addition, device app and audio content provider developers can now publish up to four complications using this new framework. Complications have public, protected, and private visibility levels with the system. Finally, Face It will also be a consumer of Connect IQ complications in a upcoming release. This allows developers to create information that can be published on Face It watch faces.

    Publishers and Subscribers

    At the heart of the complications system is a publisher/subscriber system. The system publishes complication data for subscribers to consume. Connect IQ device apps and audio content providers can publish complication data, but only watch faces can subscribe to complication information. If you are developing a device or audio content provider apps, you can publish up to four complications to the framework.

    New Compiler

    Back in June we released a beta of our new compiler toolchain that features a multi-pass optimizing compiler. This compiler will be the production compiler in next month's SDK release.

    Personality UI

    Garmin products each have a device personality. This personality can be a combination of the industrial design, the screen technology, the inputs available and the graphics styling of the system software. While there are often common components and patterns across Garmin products, this personality can alter how the user interfaces with those components. This makes it difficult for developers trying to make apps that feel native on the device.

    The goal of Personality UI is to help you navigate these design variations. It does so by providing a style system to adapt your design language to our devices, as well as a set of reusable components for your apps.

    Using Personality UI, you can have the following layout:

        <!-- The Main View for our app -->
        <layout id="MainLayout">
    
            <!-- ActionMenu hint -->
            <bitmap id="actionMenu" personality="
                icon_system__hint_action_menu
                loc_system__hint_action_menu" />
    
            <!-- Prompt Title -->
            <text-area text="@Strings.mainTitle" personality="
                light_prompt__title
                size_prompt__title
                loc_prompt__title
                font_prompt__title
            "/>
    
            <!-- Prompt Body -->
            <text-area text="@Strings.mainPrompt" personality="
                light_system__text
                size_prompt__body_with_title
                loc_prompt__body_with_title
                font_prompt__body_with_title
            " />
    
        </layout>

    With this code, the app will style itself based on the device you're building for:

    fenix7system6preview venu2system6preview

    Personality UI provides multiple new tools to help you make apps that feel native on the device.

    Monkey Style

    Monkey style is a domain-specific property language for managing style elements. It borrows heavily from CSS but has been tailored for Monkey C. Monkey style allows developers to create style property constants that can adapt among different Garmin products.

    Personality Components

    The personality components are a library of assets and monkey style definitions that you can build upon when creating your apps. See the Personality Library documentation in the new SDK for more information.

    New APIs

    System 6 has new APIs for action menus, toasts, native page loop indicators, multi-GNSS, Instinct® 2 menu icons, and even fēnix® 7X flashlight support.

    Connect IQ On-Device Store

    In an upcoming release, the on-device store will allow users to browse all store content on their device. Users will have access to all categories for their device.

    Users will also be able to browse data fields that work with their current activity. Before the end of the year, you will be able to associate your data fields with activities; watch the forums for updates.

    In-App Reviews

    App reviews are an important component of the Connect IQ store experience. If users are having positive experiences, you want to have them review the app with the least amount of friction.

    The System 6 app review system allows you to request app reviews directly from the Connect IQ app on the device. This reduces the friction involved in getting positive reviews.

    Try it Today

    You can get the Connect IQ System 6 beta from the SDK Manager. You can use the fenix7system6preview and venu2system6preview devices from the SDK manager to test the new features. We will be making beta firmware available in December via the public beta program.

    • Oct 12, 2022
  • Join us at the Garmin Developer Virtual Conference

    It’s almost that time of year again — the Garmin Developer Virtual Conference is back on October 12. The event kicks off with our State of the Union keynote session, where you can learn all about the latest updates and features for Connect IQTm, the Garmin ConnectTm Developer Program and ANT wireless. Register now to sign up.

    After the State of the Union, we’ll be hosting breakout sessions with live Q&As for a deeper dive into your favorite topics, and offer you an opportunity to speak directly to the people behind the Garmin developer programs. 

    We are offering three sets of breakouts and a workshop.:

    The Intro Track breakouts are intended for people who are new to the developer programs offered by Garmin:

    Breakout Description
    ANT Technology: Connecting Your Wireless Sensors Into the Garmin Ecosystem Explore the basics about ANT while discovering how ANT+ works. Find out how ANT and Connect IQ can help connect your wireless sensors into the Garmin ecosystem.
    Connect IQ: Introduction to Creating On-Device Experiences Learn about Garmin's Connect IQ app system and how to create apps and watch faces for Garmin devices.
    Garmin Connect Developer Program: Introduction to API integration Developers will be introduced to the Garmin Connect Developer Program and learn how to get started with the different API Integrations that this developer program offers.

    The Connect IQ track is a technical track intended for Connect IQ developers:

    Breakout Description
    Connect IQ: Optimum Monkey C Take a deep dive into the new multi-pass optimizing compiler and explore the ease of use and flexibility that this language can offer. Developers will want to have a basic understanding of Monkey C prior to attending. 
    Connect IQ: Complications That Aren't Complicated Users love having their information integrated into watch faces as complications. Discover best practices for integrating information into complications on Connect IQ watch faces.

    Connect IQ: Adding A Touch of Personality to User Experience

    Garmin products each have a distinct product personality that manifests in the typography and graphic elements. Supporting a product's personality in your app can make it feel more natural for the customer. Uncover the benefits of customizing your Connect IQ apps and watch faces to individual Garmin products while learning how to take advantage of the unique personalities of Garmin devices.

    The Business Track offers sessions to learn more about partnering with Garmin:

    Breakout Description

    Garmin Developer Programs for Business: Tools and Resources for Attribution and Branding

    Learn how to utilize our developer programs by using the tools and resources available to support attribution branding on-device. Discover out how your organization can create purposeful builds using the Garmin Connect Developer Program and Connect IQ to place your brand in-front of Garmin users.  Look at the framework, review tips and tricks and explore how your brand can go the distance using our developer platforms. 

    Garmin Ready: Promote ANT+ LEV Ebike Communication with Us

    Venture into a world of new possibilities. Our breakouts allow developers to take an in-depth look at the latest updates and features announced earlier while offering developers a chance to engage in Q&A.

    Finally, this year we are partnering with Nordic Semiconductor to offer ANT workshop: ANT Technology: Nordic Semiconductor Workshop on the nRF Connect SDK and nRF53. Get started with the nRF Connect SDK and ANT! Learn about the products Nordic Semiconductor offers and get an inside look at how to migrate from the nRF5 SDK to nRF Connect SDK. Session is two 1-hour sessions hosted by Nordic Semiconductor followed by live Q&A with the Nordic Semiconductor and ANT Wireless teams at the end of each hour.  

    You can see we have an exciting set of sessions to participate in. Register today for the breakouts you are interested in, and we will see you on October 12th!

    • Sep 15, 2022
  • GDVC Registration is Open!

    Garmin Developer Virtual Conference - Oct. 12, 2022
    Register Now!

    Are you ready to explore?
    GDVC is here to support your passion, ideas and innovations. Discover the opportunities that Connect IQTm, ANT® technology and the Garmin ConnectTm Developer Program have for you. You’ll find it all at this year’s Garmin Developer Virtual Conference.

    Keynote Session: The State of the Union
    The event kicks off with a State of the Union keynote session. See a live-streamed presentation of the latest updates and features for our programs, products and users. Be among the first to hear it.

    Breakouts: Choose Your Track
    Following the keynote are breakout sessions. In the breakouts, developers take an in-depth look at everything announced in the keynote. Engage with our Garmin team and get your questions answered in Q&A.


    Break out into a world of new possibilities.
    Track 1: Intro Created for the people new to the Garmin developer ecosystem
    Track 2: Connect IQ Created for those who are focused on Connect IQ app design and/or development.
    Track 3: Business Created for individuals and organizations interested in business partnerships with Garmin.
    Track 4: Workshop Created for those looking to use ANT with the Nordic Semiconductor nRF Connect SDK and nRF 53.

    Register Now for the State of the Union and Breakout Sessions

    For more information on the Garmin Developer Virtual Conference visit developer.garmin.com/GDVC

    • Sep 9, 2022
  • Optimal Monkey C

    Over the past two years, the Connect IQ team has been rewriting the Monkey C build tools from scratch to create a more modern, advanced toolchain. The first preview of the tools came in 2020 when we announced Monkey Types. Today, we are providing our first look at the new and improved Monkey C toolchain.

    Here are some of the improvements:

    Optimizing Code Generator

    The compiler now has a new optimization pass. This optimization pass will perform constant folding, constant substitution, branch elimination and a few other optimizations before generating your executable. These optimizations will make your code smaller and more performant without any code changes.

    You can use the -O command line option to set the optimization level. You can set the command line option in the Visual Studio Code plug in from the Workspace settings:

    Currently, level range from 0 (no optimizations) to 2 (release). Level 2 should bring the most code space reduction. 

    Typing by Default

    We want to build the tools your need to enable you to create the best apps for your customers. One of those tools is the Monkey Types, the gradual type system for Monkey C, that we announced at GDVC 2020. Since that first version, it's ability to detect errors at compile time has only grown. We believe the system is ready for prime time.

    We are enabling Monkey Types to type check code at the gradual level by default. This level operates between dynamic and static typing, checking the API but not requiring you to type your application. You can learn more about the Monkey Types system and how to configure it for your project here.

    Typing is not required for optimizations, and can be disabled within the Visual Studio Code project settings or with -l 0 from the command line.

    Improved Code Analysis

    The old compiler leaned heavily on the device virtual machine, transforming your code to bytecode with limited analysis in between. The new compiler features now transform your source into an intermediate representation (IR) that is used through the rest of the compilation phases. While still operating as a dynamic language, the IR has enough information to perform the complex analysis necessary for type checking and code generation. The compiler will be able to find many more errors up front, so you don't have to find them at runtime.

    Import and Object Instantiation

    With the old compiler, import behaved differently between type syntax and functional syntax. With the type syntax, the module name of referenced classes could be inferred by the list of imports; but in function code, it had to be explicitly stated:

    import B;
    
    // Type syntax - no module
    function usageExample() as ClassInB {
        // Functional syntax - required module
        return B.ClassInB();
    }

    With the new compiler, import works the same with types and functional syntax:

    import B;
    
    // Type syntax - no module
    function usageExample() as ClassInB {
        // Functional syntax - no more module
        return ClassInB();
    }

    Note that using statements retain the module requirement for backwards compatibility.

    Improved Logging

    If you encounter a bug with the monkeyc compiler you will need to generate logs to provide with your report. Here are the options to create debug logs:

    Long Option Argument Description
    --debug-log-level 0 = Errors, 1 = Basic Debug, 2 = Intermediate Debug, 3 = Verbose Debug Specifies the verbosity level for the output.
    --debug-log-output Path to log file to generate Specifies the path to the log file to create
    --debug-log-device Device identifier Allows limiting logs to a specific device when building a Monkey Barrel.

    Be aware that the log levels include increasingly more information about your source project. If you want to keep your project information private, limit the logging level to 1 or less. More verbosity will make it easier for Garmin to debug reported issues.

    Try it Today

    We have several improvements planned but wanted to let you try it for yourselves. You can find the beta in the SDK manager under "Connect IQ 4.1.4.Compiler 2 Beta":

    Please provide feedback on the forums. We look forward to your feedback.

    • Jun 16, 2022
  • Garmin Introduces the Edge 1040 and 1040 Solar

    Today, Garmin announced the new Edge® 1040 and 1040 Solar. These bike computers support Connect IQ System 5.

    Never stop cycling with Edge 1040. It’s our first GPS bike computer with multi-band GNSS technology for even better coverage in the most challenging environments. It’s also packed with performance features that help you understand your strengths and weaknesses to coach you through any challenge.

    You will need Connect IQ SDK version 4.1.4 or higher to develop for the Edge 1040. Get the latest SDK and device configurations with the SDK Manager. Learn more about the Edge 2022 personality in the User Experience Guidelines.

    • Jun 7, 2022
  • Garmin Developer Virtual Conference is Back!

    Date: October 12, 2022

    Cost: Free

    Join us virtually on October 12th to learn about all things Garmin developer programs, including Garmin developer announcements and information for the year ahead.

    You’ll have the chance to engage with:

    • Presentations
    • Breakouts
    • Q&A

    Registration opens early September on the GDVC site. Join our developer event mailing list to be notified when registration is open or check back regularly for updates on the Connect IQ Developer ForumAnd remember to mark October 12, 2022 in your calendar.

    If you missed last year’s event, click here to view our breakout videos. 

      

    Learn about the Garmin developer programs featured at GDVC:

    Connect IQTm

    Garmin Connect Developer Program

    ANT® Wireless

    • Jun 3, 2022
  • Garmin Introduces Forerunner 955 and Forerunner 255 Series

    Today, Garmin announced the new Forerunner 955 and Forerunner 255 Series. These running smartwatches will support Connect IQ System 5 in an upcoming release.

    Lead the pack with Forerunner® 955, the premium GPS running and triathlon smartwatch. The training readiness feature tells you when you’re primed for a productive session — while daily suggested workouts adapt to your performance and recovery alongside the race widget, which provides training tips, course details and completion time predictions. While you’re en route or out in the world, you can navigate confidently, thanks to multi-band GPS and full-color, built-in maps. And with traditional buttons and a touch display, you can tap into a full picture of your health — from sleep to training — with up to 15 days of battery life in smartwatch mode.

    Run at a higher level with the Forerunner® 255 smartwatch series. These GPS running smartwatches help you train and recover smarter with features such as race widget, which helps you plan your race-day strategy with daily suggested workouts. Morning report with HRV status reveals your overall health along with the day ahead. Plus, get up to 14 days of battery life in smartwatch mode for a full picture of your health — from sleep to training.

    Get the latest SDK and device configurations with the SDK Manager. Learn more about the fēnix 2022 personality in the User Experience Guidelines.

    • Jun 1, 2022
  • Garmin Introduces the D2 Mach 1

    Today, Garmin announced the new D2TM Mach 1 Series. This aviation smartwatch, based on the fēnix® 7 series, will support Connect IQ System 5 in an upcoming release.

    Accelerate the adventure with the D2 Mach 1 GPS aviator smartwatch. With classic style and a modern AMOLED touchscreen display, this premium timepiece offers the most advanced tools for flying — plus health and fitness features that enhance your pilot life.

    Get the latest SDK and the D2 Mach 1 device configurations with the SDK Manager. Learn more about the fēnix 2022 personality in the User Experience Guidelines.

    • Mar 28, 2022
  • Connect IQ System 5 SDK Now Available

    Connect IQ System 5 is here! The Connect IQ 4.1.1 SDK is now available from the SDK manager. System 5 better, faster and stronger than before with several key enhancements and updates.

    New Metrics

    System 5 has all new access to device metrics including:

    API

    Description

    ActivityMonitor.Info.respirationRate

    Get the current respiration value

    ActivityMonitor.Info.timeToRecovery

    Get the current time to recovery

    SensorHistory.getBodyBatteryHistory()

    Get device Body Battery history

    SensorHistory.getStressHistory()

    Get device stress history

    System.Stats.batteryInDays

    Get the amount of battery remaining in days

    UserProfile.Profile.vo2MaxRunning

    Get the user’s running VO2 Max

    UserProfile.Profile.vo2MaxCycling

    Get the user’s cycling VO2 Max

    UserProfile.getUserActivityHistory()

    Get an iterator of the user’s past activities

    Weather.getSunrise()

     Get the sunrise time for a location

    Weather.getSunset()

     Get the sunset time for a location

     

    Updated App Settings

    The new app settings system is now deployed in Connect, Connect IQ and Garmin Express.

    With the new <group> tag, you can tie related settings together. These will appear as a single entry in mobile that is editable within its own page. With the enableIfTrue attribute, you can disable a group based on if the user has selected a Boolean within the settings. The new array setting allows for growable lists of sub-objects within your settings. Best of all, these settings can work with any Connect IQ device.

    You can learn more in the Properties and Settings chapter of the Core Topics section.

    New Profiler

    The new Connect IQ profiler will help you improve your on-device app performance by giving you visibility to which calls are taking time in your app.

    In a future device update, you will be able to profile your app on device by compiling the app with the -k option. After you run, a file named <appname>.PRF will be generated in the LOGS folder. You will be able load the PRF file into the simulator profile tool for analysis.

    New! New Authentication Module

    System 5 introduces a new Toybox module Authentication. The Authentication module provides a new function that is similar to Communications.makeOAuthRequest(). The main differences are that the request will open in the Connect IQ Store mobile app, and that the Authentication module is available to all app types in the foreground. Now your data fields and watch faces can initiate authentication without using a background service.

    Supported Devices

    Connect IQ System 5 has rolled out on a number of devices with more coming:

    Now Available

    Public Beta Available

    Coming Soon

    Forerunner® 245 Series
    Forerunner® 745
    Forerunner® 945
    Forerunner® 945 LTE
    Venu® Series
    Venu® 2 Series
    Venu® 2 Plus Series
    Vivoactive 4 Series

    Edge® 530
    Edge® 830
    Edge® 1030
    Edge® 1030 Plus

    epixTM (gen 2)
    fēnix® 5 Plus Series
    fēnix® 6 Series
    fēnix® 7 Series
    Instinct® 2 Series
    MARQ® Series
    quatix® 6
    tactix® 6
    Venu® Sq Series

    Get the SDK

    System 5 is ready to make your apps better, faster, and stronger. You can download the SDK from the SDK manager to begin updating your apps.

    • Mar 22, 2022