Today, at the ANT+ Symposium in Kananaskis, Canada, Garmin has announced a sweeping change to how 3rd parties can interface with Garmin wearable devices a new platform called Connect IQ. This will ultimately allow 3rd party developers to write applications that run directly on the company’s devices such as enabling companies like Strava to create apps on future Garmin watches that could in real-time pull from cloud services to create notifications, send data, or receive data.
These changes won’t be available on the devices in the market as of today, September 24th, but rather on new devices going forward that will have the hardware and codebase to support such app development. Nonetheless, starting today developers can begin downloading the software development kit (SDK) to begin coding ahead of release to supported devices in ‘Early 2015’.
An overview of Connect IQ:
The announcement today enables developers to create apps on specific Garmin devices. In the context of Connect IQ, there are four distinct ways developers can create applications on devices, they are as follows:
Apps: These are fully functional applications running on the watch that can have menus, state (saving data), and can be driven through a number of user interactions. When you think of an app similar to that of your phone, this is what you’re looking at (roughly). Below, is an example of an app (in the simulator). All of the examples here show the use of the MOXY Muscle Oxygen sensor, which is an example contained within the SDK. The part you’re looking at below is within the black simulator screen, which is showing different values displayed in real-time from Moxy during a demo.
(Sorry, getting screenshots of the small simulator is tricky)
Data Fields: This allows one to create a single data field (or multiple fields) that users can add to their existing data pages on their watch. For example, you could create a bike tire pressure data field and have it alongside more standard fields like speed, cadence, and distance. These fields can be different sizes as well, and potentially have more than one piece of information on them. In the below example you can see the data field is simply replicated three times, but it’s a single data field that can be re-used elsewhere.
Watch Faces: These are faces that are available from the default screen of the watch and can include any information you’d like. They’re updated at once per minute and run 24×7 in a low-power mode that doesn’t require shutting off (whereas most other smart watches do). Garmin would likely point out you can infer what you’d like from the color screen shown below. Alternatively, you can infer what you’d like about the choice of imagery.
And here’s a round watch face variant:
Widgets: These are glanceable pages that are mostly non-interactive (though they can do basic input such as accept/reject) that are included within the main screen loop of your watch. For example, a widget might be something that has a single page that pulls the local weather forecast from an internet service based on the device location data, or the current leader at the Kona Ironman. I do not at this time have an example screenshot of the widgets.
It should be noted that within the apps they expose a single generic ANT channel which can be used for any ANT protocol communication that isn’t standards based. Said differently, this allows Garmin devices to gather pretty much any data on this planet from any ANT capable device. That’s huge for 3rd parties.
As you can see there’s a lot of app types. While some devices may support all four app types, it’s possible that some devices might only support a single type. For example, something that’s more like a wrist band (à la Vivosmart) wouldn’t be able to support a complex app menu due to the form factor, but could potentially support a data field.
So what kind of data can apps access? Well, this is where things get interesting. For starters, they can access any of the ANT+ profiles that the device natively supports, as well as things like location data. But, they can also access ANT+ profiles that the device doesn’t natively support. For example, they could access the ANT+ Muscle Oxygen Sensor data that isn’t supported today within the Garmin lineup. This would allow devices like Moxy to transmit/record on a Garmin device.
Not only that, they can access ANT data via the generic ANT channel that’s not yet a profile. So if I created a hydration sensor that transmitted how much water I drank from a water bottle, that could easily be added.
One area that’s a bit grey (with shades of black) is whether or not they’ll allow access to Bluetooth Smart sensors. While they will enable Bluetooth Smart phone access (iOS/Android), they were slightly coy on access to non-ANT+ sensors.
Speaking of the phone, Bluetooth Smart is the major conduit for apps to get installed on the device. In order to install an app on your future Garmin device, you will need the Garmin Connect Mobile App on your phone (iOS/Android). This would be sorta similar to how Pebble works in terms of getting access to their app store.
However, once an app is installed there’s no specific requirement for the Garmin Connect Mobile app to be running (or even installed) on your phone. The 3rd party app can run by itself (on the watch) as well as access 3rd party apps on your phone. For example, a Strava app running on your Garmin device could actually talk directly to the native Strava app on your phone. This is in turn similar to how some of the smart watches work like the Magellan Echo. From there the app could access 3rd party data out on the interwebs.
Looking at the storage of data, apps will be able to write any data they’d like to the .FIT file. That data could be uploaded to 3rd party services to view that additional data. For example, an app could write a new data field called ‘Tire Pressure’ and then using an ANT capable sensor stream with that data could record that data (just like outlined here a few weeks ago). That data could then be viewed on websites that support it (i.e. Sport Tracks might choose to add it). Note that at this point the Garmin Connect website won’t show these extended values (something that Suunto does with their apps).
When it comes to development, the SDK will be released on both Windows and Mac. The SDK includes the device simulator, which can also be used in conjunction with an ANT+ USB stick to access/test ANT/ANT+ sensor data. It also includes a 60+ page guide. They noted that: “We want to be pushing to the limits because we want people to do everything they want to do”.
In other words, if the SDK doesn’t do something a developer wants today, they’re looking to try and bridge that gap if they can in the next update. They are calling today’s release ‘Preview 1’, and expect to have at least one more preview before final release early next year.
To that end, there’s no cost for the SDK (nor for publishing), and you don’t even need an account at all to start development. To publish an app you will need a Garmin Connect account.
Now this is where things get a bit…complicated. And when I say ‘complicated’, I mean it more in the old school Facebook relationship status of: ‘It’s complicated’, rather than the technical ‘complicated’ sense. This is because there aren’t yet any Garmin devices that have this functionality in them, again, as of September 24th, 2014.
The immediate plan for supported devices is for ‘wearable’ focused units (said in plain English: watches). Note despite the wearable focus, the team responsible elaborated that they are eager to hear feedback and see if there’s demand on other platforms (read: Edge bike computers). Personally, I think there’s actually far more potential for cool stuff on the Edge platform than there is on the fitness lineup. You’ve got more screen real estate, more storage, and better connectivity (such as on the Edge 1000 with a full Bluetooth 4.0 stack and WiFi). For example, Alphamantis and their aerodynamic capabilities could potentially create an app directly on a Garmin Edge to show current aerodynamic metrics.
Ultimately, I’m optimistic that between now and ‘Early 2015’ we’ll have a bit more clarity on what and which devices will be supporting apps. Note that in the presentation made in Canada this morning, they did highlight the ‘Early 2015’ timeframe in more depth and noted that they want developers to submit apps by the end of December for inclusion in January launch events. Given that CES is also in early January, this would be a logical timeframe for a launch of the platform and associated components.
How it compares with Suunto Apps:
Some are no doubt pointing out that Suunto had apps first on their watches, and that’s absolutely true. Within the dedicated sport watch realm they were the first major company to do so almost two years ago.
Suunto increased the capabilities of their apps about a year ago with the release of the Ambit2, adding the ability to store data that is shown on Suunto Movescount (their platform) as well as adding the ability to run more apps. Since then we haven’t seen significant advancement forward however.
The Garmin apps differ in some substantial ways. First, they do everything Suunto does except show the data on their own website at this time. Second, and most importantly, they allow multi-level/page apps (with interactions). Third, they allow access to the phone/internet and 3rd party apps on the phone itself. Fourth, the Garmin apps allow undefined ANT data stream access, whereas Suunto apps don’t.
As you can see, the differences are quite significant. Which isn’t to take away from Suunto, but rather, simply to illustrate that development platform supporting is taking another step forward.
My thinking here is rather simplistic: About time (and hallelujah!).
The potential of this platform is huge, especially with the ability for 3rd parties to create their own sensors and easily connect them directly to Garmin devices to display and gather data. Adding in the connected internet aspects via phone, and it’s rather impressive.
Of course, I recognize that shifting platforms and policies is not easy, nor something that can be done quickly for a company the size of Garmin. Ultimately the question here will be whether Garmin can move fast enough in creating enough hooks and interest for developers to outpace what will be a (fast or slow) movement of customers to other watches like the Apple Watch.
Garmin has stated in meetings to me that they’re “absolutely” looking to take and integrate feedback from the preview SDK. Knowing the specific players and leads involved in this effort, I’m actually fairly optimistic there. They’ve assembled a sharp team that has a very clear record of taking feedback from customers and iterating quickly with software releases.
I’m eager to watch as developers do cool things on the platform, and eager to see how the next generation of devices can surface this information to users.
As always, thanks for reading!