New Connect IQ For You in System 6.2

In the second quarterly maintenance release of 2023, System 6 is getting some exciting new features that you can take advantage of in your Connect IQ apps.

Wait, 6.2.0?

You might be wondering about the new system number. After years of matching the SDK version with the Connect IQ API version, the SDK is getting a new versioning scheme:

Version Digit

Meaning

Value

Major

The current system level of the Connect IQ platform

6 (For System 6)

Minor

The current annual quarterly maintenance release

2 (For quarter two)

Micro

SDK release within a quarter

0 (First release in quarter two)

 Make sense? Good. Now here is what's new.

Scalable Fonts

Font support for Garmin devices can vary from device to device. All devices support Unicode bitmap fonts, but some devices support scalable fonts. If a device supports scalable fonts, the supported fonts are published in the Reference Guide as Scalable Font entries in the font list.

To access a scalable font, you can call Graphics.getVectorFont() using the name from the device reference as the :face argument. The :face argument also will take an array of face names. This allows you to specify backup font faces that are acceptable for your needs in case the device doesn’t support your preferred choice. You can also specify the font size in pixels.

Scalable fonts work with Dc.drawText() but can also be used with the Dc.drawAngledText() and Dc.drawRadialText(). These APIs only support scalable fonts and do not support custom fonts loaded as resources.

We have new syntax for layouts. In layout definitions, there are three ways to refer to fonts:

Reference

Description

Example

System font reference

Reference the standard FONT enumeration in the Graphics module.

Graphics.FONT_SMALL

Custom font reference

Reference a font in application resources.

@Rez.Fonts.MySmallFont

Scalable font reference

Reference a system scalable font. This is the font name and the pixel size separated by a colon. Additional font names can optionally be added separated by a comma.

"#BionicBold:12,Roboto"

Bitmap Transformation

API level 4.2.2 introduces Dc.drawBitmap2() with some powerful new features.

Connect IQ allows you to create two-dimensional affine transforms using the Graphics.AffineTransform class. AffineTransform provides access to the underlying transformation matrix and common operations like rotationscaling and shearing.

To apply the transform, pass the AffineTransform into Dc.drawBitmap2() as the :transform argument in the options dictionary.

Sometimes you want the color of an asset, like an icon, to be user-definable. For example, you may want the complication icons on a watch face to match a user-defined theme color. One of the features of Dc.drawBitmap2() is the ability to apply a tint color to an asset. The :tintColor option can be used to specify a color to apply to a white asset.

Requesting Reviews

As a developer, you want your users to review your apps after they’ve had positive experiences. Ideally, this would be a low-friction experience to maximize the number of users who leave positive reviews.

For compatible devices, the steps to leave a review are as follows:

  • Request a review token
  • Receive a token from the store
  • Initiate the review process

To prevent user harassment, apps must request permission from the app store to perform a review request. The app store validates a number of factors, including if you have recently requested a review from a user and if the user is using the most recent version of the app. The token request can be made with the WatchUi.makeReviewTokenRequest() call. This call is asynchronous, and you must provide this call with a Lang.Method callback.

When the server responds to your review request, your callback will be invoked with the server response code and optionally the review tokens. The response codes are as follows:

Response Description API Level
REVIEW_REQUEST_STATUS_GRANTED Request is granted, and token has been provided 4.2.0
REVIEW_REQUEST_STATUS_DENIED User does not meet review requirements 4.2.0
REVIEW_REQUEST_STATUS_FAILED Cannot make review request at this time 4.2.0

If you receive a token it should be valid for the current day. When you are ready for the user to review the app, you can use WatchUi.startUserReview() with the valid token from a token response.

Red Shift

The epixTm (gen 2) Pro series introduced a new feature called Red Shift that makes the watch easier to read in low light conditions. The Connect IQ simulator will now let you simulate red shift for testing purposes.

Try It Today

These System 6 features are now available for the following devices:

Scalable Fonts

Bitmap Transformation

On-Device Reviews

epix(gen 2)
fēnix® 7 Series
Forerunner® 265 Series
Forerunner 955
Forerunner 965
MARQ® (Gen 2) Series

Epix (gen 2)
fēnix 7 Series
Forerunner 255 Series
Forerunner 265 Series
Forerunner 955
Forerunner 965
MARQ (Gen 2) Series
Venu® 2 Series
Venu 2 Plus
Venu Sq 2 Series

Edge® 540
Edge 840
Edge 1040
fēnix 6 Series
fēnix6 Pro Series
fēnix7 Series
Forerunner 255 Series
Forerunner 265 Series
Forerunner 955
Forerunner 965
MARQ Series
MARQ 2 Series
Venu 2 Series
Venu 2 Plus
Venu Sq 2 Series

Get the Connect IQ 6.2.0 SDK with the SDK manager today to update your apps with these exciting features.