"A Note to Developers" and the va6

Ok, I started to add the va6 to my apps, and here's a bit of what I found.  Not a bug, just a bit more detail.....

I'm using the 8.1.1 SDK.

With the va6, unlike the va5 and other devices, a long press of the lower button does not trigger onMenu.

So I added the code mentioned in the va6 announcement for setActionMenuIndicator() to initialize in the main view in my app.  Here's what that indicator looks like.  The line on the right side of the screen in the middle.

I use a BehaviorDelegate in the app, and all I added there was this:


	function onActionMenu() {
		return onMenu();
	}

In the app, onMenu is used directly on other devices and builds and pushes a Menu2

Then in the sim, starting at the indicator on the right, I drag to the left to trigger this.  The sim does seem to be kind of touchy as far as speed and angle, so it might take a couple tries to get it right the first time.

  • And what you called "not touchy" to me it looks like some of the areas are not well defined in the simulator.json. Opened bug for the buttons: https://forums.garmin.com/developer/connect-iq/i/bug-reports/bug-vivoactive6-button-area-inconsistent-with-visual-in-simulator 

  • With the va6, unlike the va5 and other devices, a long press of the lower button does not trigger onMenu.

    Yes, it seems like Garmin is trying to go for something more intuitive (at least on "touch-first" devices like VA, as opposed to 5-button watches that can be used without touch). I know more than one runner who has no idea that holding UP on their Forerunner is supposed to open a menu. (They never change their settings on the watch.) Over the past few years, I noticed Garmin has done a ton of little things to let users open a context-sensitive menu or settings menu without long-pressing UP. The logical conclusion (for touch-first devices) is to remove the dedicated menu button gesture altogether.

        function onActionMenu() {
            return onMenu();
        }

    Not to state the obvious, but I think Garmin wants you to open an action menu here, not a full-screen menu. I think that in the case where an app wants to display a full-screen menu, Garmin's intention is probably that it should display an action menu where one of the items would open the full-screen menu.

    Anecdotal evidence:

    - calling showActionMenu() is literally suggested in the onActionMenu docs

    - the action menu indicator is on the right side, a left swipe triggers it, and the action menu literally slides in from the right (and occupies the right side of the screen). Meaning that a left swipe of the action menu indicator is naturally associated with opening an action menu (although that's also obvious by the name)

    - even on FR955 (and related 5-button touchscreen devices), when an action menu is available, you can left-swipe to open it

    - even on FR955, when you pause the strength activity, an action menu is displayed that includes a Settings item (which opens a full-screen menu). In hindsight, this is kind of a hint of how similar functionality would work on a future device without a menu button/gesture

    To be clear, nothing prevents you from doing whatever you want in onActionMenu, but anything other than opening an action menu will probably not match native behaviour.

    Also, for anyone who's interested, DCR describes the new way to open the device settings menu (they have to open the app/activities list, scroll down to the settings item, and select it.)

    www.dcrainmaker.com/.../garmin-vivoactive-6-details-hands-everything.html

  • The sim does seem to be kind of touchy
    And what you called "not touchy"

    Nbd but he meant "touchy" as in "finicky" or "hard to please". It's a figure of speech, not a reference to a literal "touch" gesture.

  • With the va6, unlike the va5 and other devices, a long press of the lower button does not trigger onMenu.

    To clarify this, there's literally no way to trigger onMenu at all in VA6, and this is a first.

    Every other Garmin CIQ device has some sort of universal (or near-universal) menu button or touch "gesture", such as:

    - dedicated menu button (e.g. super old watches)

    - button where long press usually opens a menu (settings menu or context-sensitive menu). e.g. long press of UP on 5-button watches

    - long press screen on Vivoactive 3

    Seems like a new direction for Garmin to me. (And I get it - like I said, long-pressing a button to open a menu is not intuitive for users)

  • I noticed that setActionMenuIndicator's documentation doesn't list devices, just that it's from 5.1.1. Not sure if this means that soon lot of existing devices will be upgraded and also work like that, or if later they'll add a devices section to the docs...

  • But it does list devices, which is why I argued in the other bug report thread that setActionMenuIndicator was added out of necessity, not convenience. (CIQ apps for va6 need a way to provide context-sensitive menus, since onMenu is gone)

  • Not sure if this means that soon lot of existing devices will be upgraded and also work like that

    Speaking of "touch-optional" devices only (modern 5-button devices with touchscreens - e.g. fr955, fr965)

    - if you mean that onMenu will be removed (ofc you don't) then obviously that will never happen. The vast majority of functionality (including essential functionality) has to be accessible via buttons

    - if you mean that 5-button devices will gain an "action menu indicator", they kind of already have one. When an action menu is available in the native UI, the standard START button hint is displayed. If you tap the hint, press START or left swipe, the action menu is displayed

    The big difference with va6 is:

    - swiping left on the action menu indicator is the *only* way to open the action menu (afaik)

    - the action menu indicator ui element is unique (obviously it has to be in this case)

    - there's no longer a universal/generic button "gesture" to open a menu, which means that action menus are the *only* way to implement a context-sensitive menu

    My guess is that future touch-first devices (vivoactive and venu) will work like va6 tho.

    Honestly, the way menus are currently handled in fr955 (and related devices) is kind of a mess, so I get it. (e.g. short press of UP and long press of UP open different menus in the same context)

  • necessity

    That would also explain what might have happened: they almost released it without that and they realized it last minute, that's why it was added almost like the group settings 3 years ago (was never implemented, just announced...) and that's probably why it doesn't work (at least in the sim). Though that doesn't explain all the other bugs around va6 (like GPS, Position stuff not working)

  • It does seem kind of rushed, given the generic va6 image in the sim. It looks like a placeholder image from a preview device

    Though that doesn't explain all the other bugs around va6 (like GPS, Position stuff not working)

    Rushing va6 out the door (and general de-prioritization of ciq by garmin) absolutely would explain that stuff imo.

    Or maybe va6 wasn't rushed at all but ciq was massively de-prioritized idk. Or maybe the ciq team is busy working on something else.