Widget launcher icon, multiple resolutions

I have created a widget for 260x260 watches with a 40x40 launcher icon. 

I would like to add support for 240x240 watches which require 36x36 launcher icons. Do I need to make the launcher icon 36x36 for all watches or can I have both launcher icons and the correct one is used for the correct watch?

  • can I have both launcher icons and the correct one is used for the correct watch?

    Yes, you can have multiple launcher icons, each of which is the correct size for the watch you target. (Unfortunately there's more than just 36x36 and 40x40.)

    See here (https://developer.garmin.com/connect-iq/core-topics/build-configuration/) for information about defining different resources for different devices.

    Of course, you could have just one launcher icon which is small enough for all devices, but that would be a suboptimal user experience (especially since max sizes range from 33x33 to 40x40, IIRC).

  • Once the 4.0 SDK goes live (you can see this with a sideload today), the launcher_icon is automatically sized for the device.  That will make things easier.  What I do today is just have one - the smallest size, and while it might look a bit small on some devices, with 4,0 nothing needs to change to get the proper sizing.

    When you compile with the 4.0 preview, you'll see a message like this:

    BUILD: WARNING: The launcher icon (30x30) isn't campatible with the specified launcher icon size of the device 'fr945' (40x40). Image will be scaled to the target size.

  • A little offtopic, but it still fits in here

    I must admit, I've never seen the launcher icon anywhere (nor the project name). The only place where I see an icon and a name is the garmin iq store and this one does display icon + text from the store definitions.

    Regarding watchfaces, is the icon and text used anywhere?

  • 1) With 4.0, wouldn't you rather provide the largest possible launcher icon size (i.e. 40x40). If I had to choose between scaling a smaller image up and scaling a larger image down, I would choose the latter.

    2) I feel like I would still want to provide launcher icons at the correct size, for the best possible visuals. (Especially if the source image is a vector graphic, since it would be "perfectly" scalable to almost any resolution.)

    Having said all that, it's nice that 4.0 will scale the launcher icon automatically, for those who don't want to go through the hassle of scaling them manually.

  • By "project name", do you mean the AppName string? Or the literal project name in eclipse or vs code?

    - The AppName is displayed in the activity list (for device apps) or the Connect IQ data field list (for data fields).

    - The launcher icon is displayed to the left of the app name (for device apps)

    - For non-glance widgets, the launcher icon is displayed briefly as the widget loads (the AppName is also displayed at the same time)

    - For glance widgets, the launcher icon is displayed at the left edge of the widget entry in the glance carousel (which displays three widgets at a time)

    - For widgets, the AppName is also displayed when you re-order widgets.

    So if your AppName is different than your store name, there's def potential for confusion (if you developed a device app, datafield or widget.)

    I don't develop watchfaces, but I don't think the icon and text are used anywhere (maybe the text is used for on-device settings? My watch doesn't support on-device settings, so I have no idea.)

  • I thought so... I only published WFs so far (although I've written fitness log app for myself) and I've never seen their AppName (yes I meant this one)  nor icon anywhere yet...

  • Launcher_icon is used for watch faces on the va-hr if I recall, but that's the only device,  It's used in device apps and widgets, and is really obvious with widgets on devices that support glances.

    You also see it with device apps when you go to the list of activities, often pressing the upper right button on the device

    device apps:

     .

    widget glances:

  • With 4.0, wouldn't you rather provide the largest possible launcher icon size (i.e. 40x40)

    Yes, in general it would likely be best to scale down, but the difference between 30x30 and 40x40 is minor, and by going with 30x30 today, things will still compile with a 3.2 SDK.

    update:  Also, with 4.0, you can use svg files for things like this and bitmaps, which can scale up/down better.

  • update:  Also, with 4.0, you can use svg files for things like this and bitmaps, which can scale up/down better.

    That's awesome -- I forgot about the SVG part, thanks!

  • Thanks, I created the resource directory(tried both resources-fenix5s and resources-round-218x218) and reduced the png to 36x36 with GIMP and the simulator is still complaining that my icon is too large.

    > Executing task: C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe -Dfile.encoding=UTF-8 -Dapple.awt.UIElement=true -jar c:\Users\Timothy Zander\AppData\Roaming\Garmin\ConnectIQ\Sdks\connectiq-sdk-win-3.2.5-2021-02-12-6d31f4357\bin\monkeybrains.jar -o bin\slope-widget.prg -f c:\code\slope-widget\monkey.jungle -y c:\code\garmin\developer_key -w -d fenix5s_sim <

    ERROR: The specified icon is larger (40x40) than the allowed icon size (36x36) for fenix5s
    The terminal process "C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe '-Dfile.encoding=UTF-8', '-Dapple.awt.UIElement=true', '-jar', 'c:\Users\Timothy Zander\AppData\Roaming\Garmin\ConnectIQ\Sdks\connectiq-sdk-win-3.2.5-2021-02-12-6d31f4357\bin\monkeybrains.jar', '-o', 'bin\slope-widget.prg', '-f', 'c:\code\slope-widget\monkey.jungle', '-y', 'c:\code\garmin\developer_key', '-w', '-d', 'fenix5s_sim'" terminated with exit code: 100.

    Is there anything else I need to change?