My 1st watchface: MoveToBeActive

Hi all!

First I wanted to say that I'm not a Java/C developer at all and my last brief contact with those languages was 13 years ago. The closest that I could get to that is a broad experience with SQL, but not real app development.

The idea behind the watch face is that I have been using my current Garmin watch (Vivomove HR) for a few years now and plan to replace it sometime in the future. So I started researching how the new watches work and decided that I wanted to learn how to create my own watch face, as I thought that it would be fun.

So this post is seeking to share you with the link to my published watch face page and ask for your help/suggestions on:

  • Since I don't yet have a real watch to test custom watch faces, any feedback on how it is working on yours would be very much appreciated. I can see it's working on the simulator, but not sure how comparable that is to the real watch. The main focus here would be the existence of error messages, sensor figures accuracy and update frequency, etc.;
  • I do care about battery life, so that's why I decided to leave out the seconds hand and I'm ok with the heart rate and other figures being updated every minute or so. That's how I'm expecting it to work, but not sure if that's what's really happening or not;
  • I have published the open-source code on github, so in case you have some free time, please have a look at it and give me some feedback on how the code can be improved. I got to the max of my very limited knowledge on garmin watch faces, so not sure if everything is as optimized as it could be.

The link to my watch face is:

https://apps.garmin.com/en-US/apps/736a2d5a-3b08-4cb1-8358-461f7374b0c8

Thanks!

  • Ok, I think I've solved it, kind of surprised it worked! I added a second pop into the onBack() function so

    function onBack() {
         WatchUi.popView(WatchUi.SLIDE_DOWN);
         WatchUi.popView(WatchUi.SLIDE_DOWN);
    }

    This then returns the user to the general watch face settings menu with the pencil icon and miniture watch face. With accent color duly changed.

  • Thanks a lot for helping me! Weird that it only worked for you with 2 back steps, but I've been investigating it for a while now and the only real way I could get it to work (I believe) is bringing back the "press menu" screen, then it forces the user to press the back button twice. I think it's safer to leave it like that, as from what I could see in the samples it seems like the behaviour that Garmin is suggesting us to use.

    There's no rush, but whenever you have some time, could you please check the new version on GitHub? I'm also playing along with the minute and hour hands and I also finally figured out how to properly anti-alias them, so they should look a lot better now Smiley

  • No problem  Slight smile .  Ah ok, that seems to work as well. I like the addition of the "long press the menu button to start" prompt. It makes that screen a lot more intiuitive. Seems like a safe bet to make use of that screen. Settings work fine, works in exactly the same manner as in the sim, though I notice when the "back" button is pressed from the  "long press the menu button to start" screen it terminates the app on the simulator rather than re-showing the watch face. Weird...  No such problem on the actual watch, works fine!Thumbsup

    Nice work on the anti-aliasing,  I found it quite a subtle but nice improvement

  • Yeah, it took me a while to figure out that the long press was needed on the simulator, that's the whole reason why I was having issues with it in the first place Sweat smile, so why I decided to change the message to help people figure that out easily. Even though I know it is working on your watch with 2 back animations, but since I can't test it in other watch types (like with no touch), then I'm opting to stick with the way Garmin samples were designed (for now). It didn't work for me on the simulator, that's why I'm afraid of using that workaround.

    So now when you press back on the "long press" screen, it goes back to the watch face selection screen, right? I noticed that on the simulator it terminates (as you said), so I was not sure if that was the expected behaviour. But if in the real watch it actually goes back, then all is good.

    Can't thank you enough for being available (and sooo quick! Smile) to test that out for me. Please feel free to take any part of my code that you might want or reach out if you have any doubts or need help Thumbsup. I love the idea behind your data field as well, too bad I can't test it yet Sweat smile, but I absolutely will as soon as I can find the vivoactive 4 falling within my budget.

  • I can understand why it would be a bit confusing, it was even a bit confusing on the watch without the prompt. I still forget on this watch that the long press fulfills a different functionality. I agree, it seems like a safer option to do use the default set-up from Garmin. I didnt actually try the double pop on the simulator, sorryFace palm.

     Yes, correct, pressing back from the "long press" screen takes you back to the watch face selection screen and then another press of the back button takes you to the watch face. Is a bit weird that it terminates at that point in the simulator...I can understand that being slightly worrying! I can't promise that it'll work for all wearables but it seems to work reliably on my Vivoactive 4.

    No problem at all, its been a fun experience, and its an awesome watch face that I really enjoy using so I'm glad I can help. Thanks for the offer, I'll be sure to reach out if I need any help or advice, I haven't really experimented with watch faces so I may ask for your help if I start!

    Thanks, I've found it useful for my purposes and thought others may also enjoy it. I found the lack of any sort of inbuilt mapping on the Vivoactive 4 its biggest drawback. Hope it works out for you soon to get hold of one! They have some fairly regular sales on it with quite a considerable price drop so hopefully that helps.