emulator doesn't have correct input behaviors for vivoactive HR

The emulator has some incorrect behavior mappings for the vivoactive HR, which makes it hard to use it to test UX.

swipe up is mapped to onPreviousPage and swipe down is mapped to onNextPage, instead of using swipe left and right for these.

The emulator seems to think that the watch can't handle swipe left and right.

It would also be helpful to have documentation that describes what key or swipe sequences map to different actions in the BehaviorDelegate. I haven't figured out how onPreviousMode and onNextMode are used, and the documentation isn't clear.

thanks,
alex
  • The emulator has some incorrect behavior mappings for the vivoactive HR, which makes it hard to use it to test UX.

    swipe up is mapped to onPreviousPage and swipe down is mapped to onNextPage, instead of using swipe left and right for these.

    It depends on how you look for them... I use onSwipe(evt) and look at the evt. The display on the va-hr is basically the same as the va, but sideways. The va is right/left, while the va-hr was at first only up/down

    The emulator seems to think that the watch can't handle swipe left and right.


    it didn't. it was only up/down, but one of the FW updates changed it. Using onSwipe(evt) check for up/down/right/left. I forget the specifics, as my code is for the va/va-hr (and others) so I've always dealt with all 4 directions.. Make up/right do the same thing, and down/left do the same thing, for example...

    It would also be helpful to have documentation that describes what key or swipe sequences map to different actions in the BehaviorDelegate.

    have you looked at the "input" sample in the SDK? You can see what happens when you run it. The sim is pretty good at all the devices when it comes to swipes/presses/etc.
    I haven't figured out how onPreviousMode and onNextMode are used, and the documentation isn't clear.
    alex


    I don't think these two are used on any watch any more...(maybe the 920 or something)

    In my delegates, here's about all I use:

    onMenu()
    onBack()
    onSwipe()
    onTap()
    onHold()
    onKey() (for KEY_UP, KEY_DOWN, KEY_ENTER,KEY_START, KEY_LAP)

    On devices I'll do the same thing (as an example) for an UP swipe, RIGHT swipe and KEY_UP. Taps and holds really only apply to touch devices, and KEY_LAP I only worry about on devices with a separate lap button, like some of the Edges
  • Thanks for the reply Jim.

    Even if you use onSwipe the emulator doesn't do all of the swipes that the watch supports, so you can't use the emulator to design the user interface. I had to make two methods (swipe plus menu) to handle switching subpages (done with vertical swipes on my app).

    I'm using the BehaviorDelegate because the documentation pushes for using this to make it easier to port apps. I don't have any other devices to test on besides the vaHR, but do plan on publishing the source on github to allow others to port the app if they desire.
  • I was following the recommendations in the documentation when using the BehaviorDelegate and onNextPage/onPreviousPage instead of interpreting swipes directly (I had my code done one way, then changed it). I don't have any other Connect IQ devices to test on, but wanted to make my code (which I'll put on github) easy for someone else to port to another device.

    The fact remains that the watch and emulator do different things with swipes, and that the emulator can't emulate all of the swipes that the watch hardware supports. I've had to add menus options to allow me to test in the emulator for the swipes that are missing.
  • Are you looking at having the 4 different directions do 4 different things? I guess I'm not really clear on the issue you're having. Something to consider if you want to port this is how that would that map on non touch devices.
  • Yes, 4 directions do different things.

    Left and right (onNextPage, onPreviousPage) cycle between the pages in my app. It is a sailing specific app, so those are currently timer, tides, wind.

    When you are in tides and wind you can cycle between different stations using up and down swipes. You can also use the menu to switch between them for other devices, but that is slower to cycle through.

    My real point is that the emulator is diverged from the watch in terms of UX right now. In a minor note menus are also very different in the emulator and on the watch.
  • In a minor note menus are also very different in the emulator and on the watch.


    That's actually well known. The menu (and things like the NumberPicker) are generic in the simulator, and differ on all the devices (they are device dependant).

    This really isn't an emulator, it's a simulator, and therefore doesn't mimic everything exactly. Garmin is trying to bring it closer (2.2.0 for example is much better at functions that may not be on all devices for things like the ohrm, and 1.3 vs 2.x functions).

    You may want to PM Coleman.ConnectIQ about the lack of right/left swipes on the va-hr in the sim.
  • Good find guys. I've reported the wrong axis swiping bug.

    -Coleman