Suunto app Forum Suunto Community Forum
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    [Discussion] Share your projects

    Scheduled Pinned Locked Moved Suunto Plus Development
    discussionpeer-support
    22 Posts 10 Posters 1.8k Views 10 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • herlasH Offline
      herlas Silver Members @mcindr
      last edited by

      @mcindr no need for this, next update will finally addressed it the proper way šŸ˜‰

      SRS Ti
      SRun (primarily road runner so testing SRun is a must ;))
      A3P (drill mode for pool swimming 🤦🤷)
      Galaxy Z Flip 3 / Galaxy S24+

      M 1 Reply Last reply Reply Quote 0
      • M Offline
        mcindr @herlas
        last edited by

        @herlas Thanks for your answer. But this update will be sure not for my S9 šŸ˜ž

        1 Reply Last reply Reply Quote 1
        • M Offline
          Maurice B. Madoff
          last edited by

          Hi everyone,

          I’d like to share a small project I’ve been building with some friends for SuuntoPlus: SportPet.

          The idea is to turn training intensity into a simple virtual pet mechanic on the watch. During an activity, the app reads the current heart rate and HR zones, and the pet gains growth points based on the active zone. Higher intensity means a higher multiplier, so the pet evolves faster when you train harder.

          Here you can see how the pet evolves from an egg into a living thing:
          ev1.jpg
          ev2.jpg

          Right now the project has:

          • a main pet view with animation
          • an HR stats view showing current heart rate, active zone, and current multiplier
          • a stats/debug view for tracking weekly progress and evolution state

          The basic concept is already working, and we’ve been testing the logic and UI flow on the watch/editor side. The current focus is making the progression feel rewarding while still keeping the UI simple enough for quick glances during exercise.

          The fun part for us has been exploring how a SuuntoPlus app can add a bit of personality and game-like motivation to training without getting in the way of the workout itself.

          We’d be very happy to hear feedback:

          Does the ā€œtamagotchiā€ idea sound fun or useful?
          What kind of pet/progression feedback would you want to see on the watch screen?
          What kind of daily missions would you like to gain extra points? And would the target be minutes or kilometers?

          Thanks to the Suunto team for opening this up. It has been a really fun project to build.

          1 Reply Last reply Reply Quote 4
          • S Offline
            SuuntoPartnerTeam @guderaber
            last edited by

            @guderaber Great looking work by you and Claude 😮

            i spent a weekend and good amount of claude code tokens on developing this, and it start to get in shape (for now only ran it on simulation)

            It should be noted that (1) your powerful PC will happily chug along while running a demanding application which might take down multiple watches (2) Claude may be writing code which the watch doesn’t understand.

            That is to say, it is highly recommended to deploy sooner rather than later with these ambitious projects!

            1 Reply Last reply Reply Quote 0
            • U Offline
              Unpaired8373 @guderaber
              last edited by

              @guderaber I am working on something similar:screenshot.png

              The scaling and scrolling is not yet working as intended and it is missing a ā€œheight in pitchā€ display as well as highlight of the current pitch but it is getting somewhere.

              Have you figured out a way yet to copy topo data from a device to the watch without rebuilding the app?

              1 Reply Last reply Reply Quote 0
              • Nikolai SimonovN Offline
                Nikolai Simonov @guderaber
                last edited by

                @guderaber @unpaired8373

                Hey guys!

                Looking at your screenshots, Your projects looks really ambitios, I want to give you a heads-up on a few technical constraints:

                • First off, remember that you don’t have nearly as much memory here as you do in a web browser (suuntoPlus simulator).

                • For topographic maps, we usually rely on specific symbols. I highly recommend looking into the spritemap technique for this.

                • There is no any sync api. If you want to upload information (like routes), your probably go into the Settings API, which allows you to pass a string. data from suunto app settings.
                  However, the string length is limited and you probably run out of memory if you try to put whole json in the settings, so you’ll need to design an efficient encoding protocol maybe try treating the string as a binary array…

                • On Suunto watches, the Canvas API is heavily restricted.

                  • there’s about 50 draw calls.
                  • also not a full-fledged AP, e.g there is no drawImage method.

                  which means you won’t be able to render images directly onto the canvas. worries not it could be bypass by layout layering technics, probably.

                don’t want to say it’s impossible but it could be a challenging!

                Suunto Race 2 Ti
                Suunto Race
                Suunto 9 Baro

                Suunto Aqua
                Suunto Wings

                surfboomerangS U 2 Replies Last reply Reply Quote 0
                • surfboomerangS Offline
                  surfboomerang @Nikolai Simonov
                  last edited by

                  @Nikolai-Simonov said in [Discussion] Share your projects:

                  First off, remember that you don’t have nearly as much memory here as you do in a web browser (suuntoPlus simulator).

                  Check! Found that out the hard way šŸ˜„
                  Project worked fine in the simulator but totally crashed my watch upon field testing. I was surprised that it not only crashed the app, but the watch as a whole. The watch totally hang.

                  Is it known how much memory each watch type has?

                  Suunto Vertical Titanium Solar
                  OnePlus Nord 4

                  1 Reply Last reply Reply Quote 0
                  • U Offline
                    Unpaired8373 @Nikolai Simonov
                    last edited by

                    @Nikolai-Simonov Thanks for the suggestions.

                    I have a first draft of a (hopefully) efficient encoding for the route data to get it onto the watch and not consume all the memory at once. Is the settings API the only way to get data into the watch? I saw something in the BLE methods that sounded like the watch could pair to a phone acting as BLE peripheral and offering data via characteristics.

                    there’s about 50 draw calls.

                    what exactly do you mean by that? Only 50 functions or only 50 calls before everything goes sideways?

                    Nikolai SimonovN 1 Reply Last reply Reply Quote 0
                    • Nikolai SimonovN Offline
                      Nikolai Simonov @Unpaired8373
                      last edited by

                      @Unpaired8373 said in [Discussion] Share your projects:

                      I saw something in the BLE methods that sounded like the watch could pair to a phone acting as BLE peripheral and offering data via characteristics.

                      yes it as LiveTracking app exactly working, however i believe it’s much more drawbacks then wins. 1. you lost connection with the main suunto app, it’s really annoying for users. 2. the mtu so small payload ~20B to sync smth complex you need to orchestrate queue etc. and keep in mind memalloc on every step. 3. what if you lost packet int the middle?.. etc. I personally think encoding to string and copy - paste to setting is much more convenient way for this purpose.

                      @Unpaired8373 said in [Discussion] Share your projects:

                      what exactly do you mean by that? Only 50 functions or only 50 calls before everything goes sideways?

                      So, i faced up this behaviour in parkrun QR app, that canvas just became black after around 50th call on canvas it became black. to be honest it solving relativelly easy via 9patch tehnique

                      Suunto Race 2 Ti
                      Suunto Race
                      Suunto 9 Baro

                      Suunto Aqua
                      Suunto Wings

                      U 1 Reply Last reply Reply Quote 0
                      • U Offline
                        Unpaired8373 @Nikolai Simonov
                        last edited by

                        20B MTU is not much indeed.

                        @Nikolai-Simonov said in [Discussion] Share your projects:

                        So, i faced up this behaviour in parkrun QR app, that canvas just became black after around 50th call on canvas it became black. to be honest it solving relativelly easy via 9patch tehnique

                        I really have to get my 90s game dev skills up to speed šŸ˜„ I’ve been in firmware development for a good time now but never with graphics output.

                        Do you know if one can change HTML DOM from the javascript?

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Suunto Terms | Privacy Policy