It’s been just shy of a decade from when Suunto announced their first app platform, called the Suunto AppZone. At the time, it was the very first open to any developer watch-based app platform. Sure, Pebble had announced theirs slightly earlier, but Suunto actually delivered it months before Pebble shipped their first watch. And this was all years before Apple, Garmin, or Google would make their wearable app platforms. Unfortunately, while Suunto got off to a strong initial start, they eventually killed off the platform with the switch from the Ambit series to the Spartan series.
However, today they’re bringing the band back together again, with the new SuuntoPlus Guides app functionality. This new platform enables 3rd party developers to create slimmed down apps that can be used for workout-specific tasks, such as a structured workout app (like the TrainingPeaks one I wrote about), or one that shows you upcoming climbs (like a mini-ClimbPro), or even strength training – as Suunto themselves just enabled.
These new mini-apps are called “SuuntoPlus Guides”, and basically use a configuration file sent to the watch from a 3rd party partner to have the watch perform a slew of “if-then” type instructions. For example, “if at kilometer 5 in the workout, then show a new interval step”. Except, the “if” options are quite deep, allowing triggers on everything from distance or time, to metrics like heart rate, temperature, pace, altitude, or power. After which, the app can endlessly iterate on what to prompt the user with.
This foundational layer is already allowing more than a dozen partners to create these simplified apps that deliver real-world app experiences without the complexity or development time of compiled code.
For this post, I’m going to briefly dive into more of the geeky side. But if you want to see the practical side, check out the full post on the TrainingPeaks integration example I published here. It’s noteworthy though that Suunto is already rolling out their own structured workouts too, including swimming drills, strength training, and more. These are available for the Suunto 5 and Suunto 9 series watches.
And ultimately, Suunto says this is really just the tip of the iceberg for where they want to take this. Future updates will be partially accomplished by software updates, but as you’ll see, there’s also areas Suunto says will realistically only come with more powerful hardware down the road.
How it works:
Now I’m going to walk through the basics of this all, but not dive into every little nuance. Namely because I know most developers will skip over to the developer documentation and start sifting through it all. So my goal here is covering the bits for people curious about how it works, and then those that want to get into the nitty-gritty, can do so with the actual developer documentation.
The first thing to know is that SuuntoPlus Guides are basically a secondary type of SuuntoPlus app. You’ll have remembered SuuntoPlus apps from the past few years, as a way Suunto can deliver one-off app integrations with various companies. Things like TrainingPeaks metrics, or GhostRunner, or others. However, while you could load multiple of these on your watch at once, you could only add one per workout. So one TrainingPeaks Normalized Power data page…but no more. In this case, SuuntoPlus Guides operate in much the same way. You can only choose one per workout, and these are workout-only things. There aren’t guides/apps for non-workout widgets for example.
But back to the app details. SuuntoPlus Guides are essentially a configuration file that’s sent from a partner website/platform, to Suunto’s servers, and then down to an authenticated user’s Suunto smartphone app, which in turn pushes it to the watch.
The first step, for an app developer, is getting access to the API via the SuuntoPlus Guide Cloud, which is what you’ll use to push your configuration files to the user’s watch. That allows users to authenticate to your service (e.g. TrainingPeaks), which in turn authorizes the user to receive updates from said platform. Users can browse the SuuntoPlus Guides app store, to find available guides. Here’s the app store as it looks upon launch, however, I expect this to grow rather quickly, since Suunto says a number of companies are already working on apps not yet finalized:
Further, given the complexity level is low here, the lower barrier to entry means more companies might give it a whirl to see how it catches on.
Once a user selects a given app guide, it brings the user to the authentication/authorization page for that app platform. That’s where they’d sign-in to link their account to the Suunto platform (and thus in turn, their watch):
And this is where it turns to the developer side. The developer is essentially shooting three files over to Suunto via that Cloud API:
A) A Guide JSON File: This lists what’s in the guide
B) A Manifest JSON File: This is the actual guide itself (for example, the exact structured workout)
C) A PNG icon file: This is to make it all pretty, showing the apps icon/details
Developers will notice there’s no compiled code there. This isn’t like other app stores, these are relatively simple configuration files, enabling developers to quickly spin this up. That of course has pros and cons.
For example, there’s no live access to the phone’s Bluetooth connection for getting extra data like on other wearable app platforms. In effect, Suunto is the FedEx delivery guy/gal here, and they just send that package of three files from the 3rd party platform (e.g. TrainingPeaks), to your watch. Once that package is taped up and shipped, you can’t add anything to it. A new package has to be sent.
Again, this is a relatively limited platform in terms of the grand scheme of app platforms, but it also hits the core/most critical needs fairly well.
So, the next bit is what data you can display to a user. There are numerous different data fields you can use, which basically mirror the Suunto stock fields. Here’s a *snippet* from the developer guide. All of these next screenshots are just snippets of the larger guide, there are many more pages of things than the screenshots I’m showing:
These pages can then be triggered by various events. These events can be distance, or time, or a manual lap trigger – among others.
For example, at 0m into a workout, a structured workout app might show the first step, and then if it was a distance-based workout, it’d show the next step at 1,600m into a workout (if that was the next step trigger point). There are some gaps here. For example, you can’t create a trigger around a given GPS coordinate. Thus, apps that depend on a location (such as a listing of climbs), assume that your total route distance exactly matches the planned distance. In real-life (especially in trails), that’s unlikely to happen. Suunto says these are all things they’ve got top-of-mind for future updates, and GPS position functions are coming down the road (both literally and figuratively).
Next, there’s data types supported. This covers pretty much all the data types you can gather from a Suunto watch, from temperature to altitude to distance, and more. Again, here’s a snippet from the larger list.
And then there’s zones. This allows usage of the zones gauges as well as data that simply targets a user staying in a given zone.
All of this allows developers to create relatively simplistic, but very functional, mini-apps. Here’s a snippet of an example JSON file for an interval workout app:
Once the file is created, it’s pushed via the Suunto Cloud, to the user’s smartphone Suunto App, and then onwards upon next sync to the user’s watch. From there it can be enabled for the applied workout types:
And then after the workout is complete, the 3rd party platform receives the completed workout .FIT file, which would probably be used for analytics or other data processing, depending on the use-case of the specific app.
Note that neither the Suunto watch nor Suunto smartphone app displays any SuuntoPlus Guide-specific details in the workout summary screens. Hopefully down the road we’ll see that, but today nothing shows in either of those areas.
Overall, this is a pretty cool first step for Suunto to get back into the app game. The key thing here is they aren’t trying to boil the ocean. By going with a configuration-file app guide approach, Suunto is able to convince developers more easily to develop for it. With basic SuuntoPlus Guide apps taking almost trivial levels of time to write, companies are willing to take a flyer on it. Whereas developing for a more complex app platform with substantially higher development times, would have likely limited the willingness to spend time on it.
Of course, there are limitations here beyond the simplicity of the platform. The first is just the hardware itself. A user can only have a single SuuntoPlus Guide loaded at one time during a workout, and these can’t comingle with regular SuuntoPlus Apps during the same workout either. So for some SuuntoPlus Apps that should really just be built-in data fields (like the TrainingPeaks NP/etc metrics), you’re forced to choose one.
There’s some parallels to limitations in Garmin’s Connect IQ app platform, which 8 years and umpteen hardware revisions later still somehow doesn’t allow more than two CIQ data fields loaded at once in a workout. The difference there is that many of the features Suunto is rolling out via SuuntoPlus Guides/SuuntoPlus Apps are built-in on the Garmin side and don’t require extra apps. In Suunto’s case, they say the 1-maximum per workout limitation is driven by hardware memory, but that in future hardware models, that’ll likely go away. The other difference between Garmin and Suunto is that the SuuntoPlus Guides are simpler to develop, even if they have fewer features – allowing developers to test the waters more quickly.
Still, despite the limitations, I’m excited to see where this goes, especially if we fast-forward six or so months down the road, to see which companies have given it a shot, and how users receive it. Further, to see how Suunto has expanded the platform’s capabilities, and perhaps laid out a bit of a roadmap for the future.
With that – thanks for reading!