[Discussion] Simulator vs physical watch: key discrepancies & limitations
-
Hello.
The simulator is generally more featureful and more web-standards-compliant than any of our watches. What this means is that especially your wildest HTML+CSS concoctions may appear fine when simulated, but not when deployed on hardware. That said, at times it is the watch which breezes through something that stumps the simulator.
The main goal of the simulator is to show an approximation of the GUI and to provide quick feedback on the logical parts of your application i.e. the JavaScript (JS) code and how it interacts with the GUI. Remember to stick to to the ES5.1 version of JS and to make use of the native functions (which you can find inside the reference documentation). One example of a native function is
setText, which you can see under ‘‘discrepancies’’ further below.We hope you share all additional findings – should you encounter any – in order to be of help to your fellow devs
All of the following are true as of the time of writing:Discrepancies
- Use
setTextinstead ofoutput.textField
output.textField = "some text" // Works in the simulator, but not on a physical watch setText("#some_id", "some text") // Works both in the simulator and on a physical watch- Zooming into images with CSS works in the simulator, but not on a physical watch
- The watches understand only basic CSS properties, such as
width,height,color,background-color,opacity,borderandvisibility- Border must be solid and on all sides
- Supported units are
pxand%. Other units may pass the validator, but will be treated aspx.
- Making changes to an HTML template right after it has been loaded will work in the simulator, but the watches may require some time between
unloadandsetText/setStyle.- One way to overcome this is to have the
evaluatefunction wait a cycle or two before making text/style changes.
- One way to overcome this is to have the
Simulator limitations
- Pause and resume do not work
- FIT file coordinates are ignored
- Currently, the simulator does not read any GPS data from FIT files. To test GPS-related features, please use a physical watch.
- An application’s settings, which would appear in the Suunto mobile app on iOS/Android, cannot be adjusted
- Any sound effects from playIndication() will not play
The screenshot feature is also in a non-functional state.
Again, please share any additional findings below!

- Use
-
D Dimitrios Kanellopoulos pinned this topic
-
S SuuntoPartnerTeam referenced this topic
-
@SuuntoPartnerTeam said in [Discussion] Simulator vs physical watch: key discrepancies & limitations:
The screenshot feature is also in a non-functional state.
I got access to the partner program. Upon uploading the app, I’m requested to send watch images by using the screenshot option. Is there any information about when this feature will be available?
Is it mandatory to use this feature or is a screenshot with the right dimensions also ok?
-
@surfboomerang said in [Discussion] Simulator vs physical watch: key discrepancies & limitations:
Is it mandatory to use this feature or is a screenshot with the right dimensions also ok?
not necessary use screenshot tool from sdk
-
S SuuntoPartnerTeam referenced this topic
-
My app was working well on the Simulator.
When deploying I had to learn that I had to strip out debugging fields from my manifest cause of to many fields.
Further the app still crashes the watch when choosing it on the watch as a suunto plus app.
I tried to get infos from the logs and will now deploy minimal functional versions to the watch to get it sorted.
Is there a way to start debugging on the watch?
Would be great if there would be a pre deployment check of the code if there are hard incompatibilities. Maybe I missed something. -
@Ecki-D. there’s no debug protocol as far as I know. you could do it the oldschool way - use
systemEvent('[tag] message $someData');to populate the logs, using a ‘tag’ just makes filtering easier when you check the logs after a crash or whatever happened.