{"id":151,"date":"2014-09-26T11:28:41","date_gmt":"2014-09-26T16:28:41","guid":{"rendered":"http:\/\/thenerdis.me\/blog\/?p=151"},"modified":"2014-09-26T11:28:41","modified_gmt":"2014-09-26T16:28:41","slug":"garmin-announces-ability-to-develop-apps-on-wearables-with-connect-iq","status":"publish","type":"post","link":"http:\/\/thenerdis.me\/blog\/?p=151","title":{"rendered":"Garmin announces ability to develop apps on wearables, with Connect IQ"},"content":{"rendered":"<p>Garmin is finally starting to open up its software platform? It may be too late! <\/p>\n<hr>\n<p><b>Garmin announces ability to develop apps on wearables, with Connect IQ<\/b><br \/>\nBy DC Rainmaker<\/p>\n<p><a class=\"thickbox no_icon\" href=\"http:\/\/ift.tt\/1ra25cm\" rel=\"gallery-37192\" title=\"IMG_8011\"><img decoding=\"async\" loading=\"lazy\" alt=\"IMG_8011\" border=\"0\" height=\"480\" src=\"http:\/\/ift.tt\/1ra27Ba\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"IMG_8011\" width=\"720\"><\/a><\/p>\n<p>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 <a href=\"http:\/\/ift.tt\/Y7FSir\">Connect IQ<\/a>.\u00a0 This will ultimately allow 3rd party developers to write applications that run directly on the company\u2019s 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.<\/p>\n<p>These changes won\u2019t 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.\u00a0 Nonetheless, starting today developers can begin downloading the software development kit (SDK) to begin coding ahead of release to supported devices in \u2018Early 2015\u2019.<\/p>\n<h3><span style=\"font-weight: bold;\">An overview of Connect IQ:<\/span><\/h3>\n<p>The announcement today enables developers to create apps on specific Garmin devices.\u00a0 In the context of Connect IQ, there are four distinct ways developers can create applications on devices, they are as follows:<\/p>\n<p><strong>Apps:<\/strong> 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.\u00a0 When you think of an app similar to that of your phone, this is what you\u2019re looking at (roughly).\u00a0 Below, is an example of an app (in the simulator).\u00a0 All of the examples here show the use of the MOXY Muscle Oxygen sensor, which is an example contained within the SDK.\u00a0 The part you\u2019re looking at below is within the black simulator screen, which is showing different values displayed in real-time from Moxy during a demo.<\/p>\n<p><a class=\"thickbox no_icon\" href=\"http:\/\/ift.tt\/1ra25cu\" rel=\"gallery-37192\" title=\"MoxyDataDisplayApp\"><img decoding=\"async\" loading=\"lazy\" alt=\"MoxyDataDisplayApp\" border=\"0\" height=\"397\" src=\"http:\/\/ift.tt\/Y7FSiy\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"MoxyDataDisplayApp\" width=\"722\"><\/a><\/p>\n<p><em>(Sorry, getting screenshots of the small simulator is tricky)<\/em><\/p>\n<p><strong>Data Fields:<\/strong> This allows one to create a single data field (or multiple <ins>fields) that<\/ins> <del>fields)that<\/del> users can add to their existing data pages on their watch.\u00a0 For example, you could create a bike tire pressure data field and have it alongside more standard fields like speed, cadence, and distance.\u00a0 These fields can be different sizes as well, and potentially have more than one piece of information on them.\u00a0 In the below example you can see the data field is simply replicated three times, but it\u2019s a single data field that can be re-used elsewhere.<\/p>\n<p><a class=\"thickbox no_icon\" href=\"http:\/\/ift.tt\/1ra25cy\" rel=\"gallery-37192\" title=\"ComplexDataField\"><img decoding=\"async\" loading=\"lazy\" alt=\"ComplexDataField\" border=\"0\" height=\"381\" src=\"http:\/\/ift.tt\/1ra25sO\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"ComplexDataField\" width=\"722\"><\/a><\/p>\n<p><strong>Watch Faces:<\/strong> These are faces that are available from the default screen of the watch and can include any information you\u2019d like.\u00a0 They\u2019re updated at once per minute and run 24\u00d77 in a low-power mode that doesn\u2019t require shutting off (whereas most other smart watches do).\u00a0 Garmin would likely point out you can infer what you\u2019d like from the color screen shown below. Alternatively, you can infer what you\u2019d like about the choice of imagery.<\/p>\n<p><a class=\"thickbox no_icon\" href=\"http:\/\/ift.tt\/1ra27Ry\" rel=\"gallery-37192\" title=\"WatchFaces\"><img decoding=\"async\" loading=\"lazy\" alt=\"WatchFaces\" border=\"0\" height=\"376\" src=\"http:\/\/ift.tt\/Y7FSyU\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"WatchFaces\" width=\"722\"><\/a><\/p>\n<p>And here\u2019s a round watch face variant:<\/p>\n<p><a class=\"thickbox no_icon\" href=\"http:\/\/ift.tt\/1ra25sU\" rel=\"gallery-37192\" title=\"RoundWatchFace\"><img decoding=\"async\" loading=\"lazy\" alt=\"RoundWatchFace\" border=\"0\" height=\"389\" src=\"http:\/\/ift.tt\/Y7FUH6\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"RoundWatchFace\" width=\"722\"><\/a><\/p>\n<p><strong>Widgets:<\/strong> 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.\u00a0 For example, a widget might be something that has a single page that pulls the local weather forecast from <ins>an\u00a0<\/ins> <del>a<\/del> internet service based on the device location data, or the current leader at the Kona Ironman.\u00a0 I do not at this time have an example screenshot of the widgets.<\/p>\n<p><a class=\"thickbox no_icon\" href=\"http:\/\/ift.tt\/Y7FUH9\" rel=\"gallery-37192\" title=\"Quadrant\"><img decoding=\"async\" loading=\"lazy\" alt=\"Quadrant\" class=\"alignleft size-large wp-image-37196\" height=\"431\" src=\"http:\/\/ift.tt\/1ra287W\" width=\"720\"><\/a><\/p>\n<p>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\u2019t standards based.\u00a0 Said differently, this allows Garmin devices to gather pretty much any data on this planet from any ANT capable device.\u00a0 That\u2019s huge for 3rd parties.<\/p>\n<p>As you can see there\u2019s a lot of app types.\u00a0 While some devices may support all four app types, it\u2019s possible that some devices might only support a single type.\u00a0 For example, something that\u2019s more like a wrist band <ins>(\u00e0 la\u00a0<\/ins> <del>(ala<\/del> <a href=\"http:\/\/ift.tt\/WgcntU\">Vivosmart<\/a>) wouldn\u2019t be able to support a complex app menu due to the form factor, but could potentially support a data field.<\/p>\n<h3><span style=\"font-weight: bold;\">Technical Details:<\/span><\/h3>\n<p><a class=\"thickbox no_icon\" href=\"http:\/\/ift.tt\/1ra25t5\" rel=\"gallery-37192\" title=\"Eclipse\"><img decoding=\"async\" loading=\"lazy\" alt=\"Eclipse\" border=\"0\" height=\"389\" src=\"http:\/\/ift.tt\/1ra2880\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Eclipse\" width=\"722\"><\/a><\/p>\n<p>So what kind of data can apps access?\u00a0 Well, this is where things get interesting.\u00a0 For starters, they can access any of the ANT+ profiles that the device natively supports, as well as things like location data.\u00a0 But, they can also access ANT+ profiles that the device doesn\u2019t natively support.\u00a0 For example, they could access the ANT+ Muscle Oxygen Sensor data that isn\u2019t supported today within the Garmin lineup.\u00a0 This would allow devices like Moxy to transmit\/record on a Garmin device.<\/p>\n<p>Not only <ins>that,<\/ins> <del>that<\/del> they can access ANT data via the generic ANT channel that\u2019s not yet a profile.\u00a0 So if I created a hydration sensor that transmitted how much water I drank from a water bottle, that could easily be added.<\/p>\n<p>One area that\u2019s a bit grey (with shades of black) is whether or not they\u2019ll allow access to Bluetooth Smart sensors.\u00a0 While they will enable Bluetooth Smart phone access (iOS\/Android), they were slightly coy on access to non-ANT+ sensors.<\/p>\n<p>Speaking of the phone, Bluetooth Smart is the major conduit for apps to get installed on the device.\u00a0 In order to install an app on your future Garmin device, you will need the Garmin Connect Mobile App on your phone (iOS\/Android).\u00a0 This would be sorta similar to how Pebble works in terms of getting access to their app store.<\/p>\n<p>However, once an app is installed there\u2019s no specific requirement for the Garmin Connect Mobile app to be running (or even installed) on your phone.\u00a0 The 3rd party app can run by itself (on the watch) as well as access 3rd party apps on your phone.\u00a0 For example, a Strava app running on your Garmin device could actually talk directly to the native Strava app on your phone.\u00a0 This is in turn similar to how some of the smart watches work like <a href=\"http:\/\/ift.tt\/1b5UAXD\">the Magellan Echo<\/a>.\u00a0 From there the app could access 3rd party data out on the interwebs.<\/p>\n<p>Looking at the storage of data, apps will be able to write any data they\u2019d like to the .FIT file.\u00a0 That data could be uploaded to 3rd party services to view that additional data.\u00a0 For example, an app could write a new data field called \u2018Tire Pressure\u2019 and then using an ANT capable sensor stream with that data could record that data (<a href=\"http:\/\/ift.tt\/1ra2884\">just like outlined here a few weeks ago<\/a>).\u00a0 That data could then be viewed on websites that support it (i.e. Sport Tracks might choose to add it).\u00a0 Note that at this point the Garmin Connect website won\u2019t show these extended values (something that Suunto does with their apps).<\/p>\n<p><a class=\"thickbox no_icon\" href=\"http:\/\/ift.tt\/Y7FUXF\" rel=\"gallery-37192\" title=\"image\"><img decoding=\"async\" loading=\"lazy\" alt=\"image\" border=\"0\" height=\"339\" src=\"http:\/\/ift.tt\/1ra25Js\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;\" title=\"image\" width=\"722\"><\/a><\/p>\n<p>When it comes to development, the SDK will be released on both Windows and Mac.\u00a0 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.\u00a0 It also includes a 60+ page guide.\u00a0 They noted that: \u201cWe want to be pushing to the limits because we want people to do everything they want to do\u201d.<\/p>\n<p>In other words, if the SDK doesn\u2019t do something a developer wants today, they\u2019re looking to try and bridge that gap if they can in the next update.\u00a0 They are calling today\u2019s release \u2018Preview 1\u2019, and expect to have at least one more preview before final release early next year.<\/p>\n<p>To that end, there\u2019s no cost for the SDK (nor for publishing), and you don\u2019t even need an account at all to start development.\u00a0 To publish an app you will need a Garmin Connect account.<\/p>\n<h3><span style=\"font-weight: bold;\">Devices Supported:<\/span><\/h3>\n<p><a class=\"thickbox no_icon\" href=\"http:\/\/ift.tt\/Y7FSPx\" rel=\"gallery-37192\" title=\"IMG_8013\"><img decoding=\"async\" loading=\"lazy\" alt=\"IMG_8013\" border=\"0\" height=\"480\" src=\"http:\/\/ift.tt\/Y7FSPB\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"IMG_8013\" width=\"720\"><\/a><\/p>\n<p>Now this is where things get a bit\u2026complicated.\u00a0 And when I say \u2018complicated\u2019, I mean it more in the old school <a href=\"http:\/\/ift.tt\/Y7FSPE\">Facebook relationship status<\/a> of: \u2018It\u2019s complicated\u2019, rather than the technical \u2018complicated\u2019 sense.\u00a0 This is because there aren\u2019t yet any Garmin devices that have this functionality in them, again, as of September <ins>24th,<\/ins> <del>24rd,<\/del> 2014.<\/p>\n<p>The immediate plan for supported devices is for \u2018wearable\u2019 focused units (said in plain English: watches).\u00a0 Note despite the wearable focus, the team responsible elaborated that they are eager to hear feedback and see if there\u2019s demand on other platforms (read: Edge bike computers).\u00a0 Personally, I think there\u2019s actually far more potential for cool stuff on the Edge platform than there is on the fitness lineup.\u00a0 You\u2019ve 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).\u00a0 For example, <a href=\"http:\/\/alphamantis.com\/\">Alphamantis<\/a> and their aerodynamic capabilities could potentially create an app directly on a Garmin Edge to show current aerodynamic metrics.<\/p>\n<p><ins><a class=\"thickbox no_icon\" href=\"http:\/\/ift.tt\/Yk5EQH\" rel=\"gallery-37192\" title=\"ConnectIQTimeline\"><img decoding=\"async\" loading=\"lazy\" alt=\"ConnectIQTimeline\" class=\"alignleft size-full wp-image-37201\" height=\"405\" src=\"http:\/\/ift.tt\/Yk5EQH\" width=\"720\"><\/a><\/ins><\/p>\n<p>Ultimately, I\u2019m optimistic that between now and <ins>\u2018Early 2015\u2032<\/ins> <del>\u201cEarly 2015\u201d<\/del> we\u2019ll have a bit more clarity on what and which devices will be supporting apps. \u00a0 <ins>Note that in the presentation made in Canada this morning, they did highlight the \u2018Early 2015\u2032 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.<\/ins> <\/p>\n<h3><span style=\"font-weight: bold;\">How it compares with Suunto Apps:<\/span><\/h3>\n<p>Some are no doubt pointing out that Suunto had apps first on their watches, and that\u2019s absolutely true.\u00a0 Within the dedicated sport watch realm they were the first major company to do so <a href=\"http:\/\/ift.tt\/1ra28os\">almost two years ago<\/a>.<\/p>\n<p>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.\u00a0 Since then we haven\u2019t seen significant advancement forward however.<\/p>\n<p>The Garmin apps differ in some substantial ways.\u00a0 First, they do everything Suunto does except show the data on their own website at this time.\u00a0 Second, and most importantly, they allow multi-level\/page apps (with interactions).\u00a0 Third, they allow access to the phone\/internet and 3rd party apps on the phone itself.\u00a0 Fourth, <ins>the\u00a0<\/ins> <del>they<\/del> Garmin apps allow undefined ANT data stream access, whereas Suunto apps don\u2019t.<\/p>\n<p>As you can see, the differences are quite significant.\u00a0 Which isn\u2019t to take away from Suunto, but rather, simply to illustrate that development platform supporting is taking another step forward.<\/p>\n<h3><span style=\"font-weight: bold;\">My Thoughts:<\/span><\/h3>\n<p><a class=\"thickbox no_icon\" href=\"http:\/\/ift.tt\/1ra25ZQ\" rel=\"gallery-37192\" title=\"IMG_8002\"><img decoding=\"async\" loading=\"lazy\" alt=\"IMG_8002\" border=\"0\" height=\"480\" src=\"http:\/\/ift.tt\/Y7FSPH\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"IMG_8002\" width=\"720\"><\/a><\/p>\n<p>My thinking here is rather simplistic: About time (and hallelujah!).<\/p>\n<p>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. \u00a0Adding in the connected internet aspects via <ins>phone,<\/ins> <del>phone<\/del> and it\u2019s rather impressive.<\/p>\n<p>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.<\/p>\n<p>Garmin has stated in meetings to me that they\u2019re \u201cabsolutely\u201d looking to take and integrate feedback from the preview SDK.\u00a0 Knowing the specific players and leads involved in this effort, I\u2019m actually fairly optimistic there.\u00a0 They\u2019ve assembled a sharp team that has a very clear record of taking feedback from customers and iterating quickly with software releases.<\/p>\n<p>I\u2019m 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.<\/p>\n<p>As always, thanks for reading!<\/p>\n<div class=\"fv_sharing_classic fv-sharing-bottom\"><span class=\"fvretweet\"><a class=\"image\" href=\"http:\/\/ift.tt\/1ra28oA\" target=\"_blank\" title=\"Retweet 'Garmin announces ability to develop apps on wearables, with Connect IQ' on Twitter\"><span>Retweet<\/span><\/a> <ins><span class=\"twnumber\">69<\/span><\/ins><ins><span class=\"fvfacebook_add\"><a class=\"fvfacebookwindow\" href=\"http:\/\/ift.tt\/Y7FT62\" title=\"Like 'http:\/\/ift.tt\/1ra28oG' on Facebook\"><span>Like<\/span><\/a> <span class=\"fblikenm\">145<\/span><\/span> <\/ins><ins><span class=\"fvgoogleplusone\"><a class=\"image\" href=\"http:\/\/ift.tt\/1ra28oG\" title=\"Click here to publicly +1 'Garmin announces ability to develop apps on wearables, with Connect IQ'\"><span>Google +1<\/span><\/a> <span class=\"fvgoogleplusone-number\">54<\/span><\/span><\/ins><\/p>\n<div class=\"fv_sharing_clear\"><ins><\/ins><\/div>\n<p> <del><span class=\"twnumber\">0<\/span><\/del><del><span class=\"fvfacebook_add\"><a class=\"fvfacebookwindow\" href=\"http:\/\/ift.tt\/Y7FT62\" title=\"Like 'http:\/\/ift.tt\/1ra28oG' on Facebook\"><span>Like<\/span><\/a> <span class=\"fblikenm\">0<\/span><\/span> <\/del><del><span class=\"fvgoogleplusone\"><a class=\"image\" href=\"http:\/\/ift.tt\/1ra28oG\" title=\"Click here to publicly +1 'Garmin announces ability to develop apps on wearables, with Connect IQ'\"><span>Google +1<\/span><\/a> <span class=\"fvgoogleplusone-number\">0<\/span><\/span><\/del><\/p>\n<div class=\"fv_sharing_clear\"><del><\/del><\/div>\n<p> <\/span> <\/div>\n<p>September 24, 2014 at 12:30PM<br \/>\nvia DC Rainmaker http:\/\/ift.tt\/1ra28oG<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Garmin is finally starting to open up its software platform? It may be too late! Garmin announces ability to develop apps on wearables, with Connect IQ By DC Rainmaker Today, at the ANT+ Symposium in Kananaskis, Canada, Garmin has announced &hellip; <a href=\"http:\/\/thenerdis.me\/blog\/?p=151\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[14,15],"_links":{"self":[{"href":"http:\/\/thenerdis.me\/blog\/index.php?rest_route=\/wp\/v2\/posts\/151"}],"collection":[{"href":"http:\/\/thenerdis.me\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/thenerdis.me\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/thenerdis.me\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/thenerdis.me\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=151"}],"version-history":[{"count":1,"href":"http:\/\/thenerdis.me\/blog\/index.php?rest_route=\/wp\/v2\/posts\/151\/revisions"}],"predecessor-version":[{"id":152,"href":"http:\/\/thenerdis.me\/blog\/index.php?rest_route=\/wp\/v2\/posts\/151\/revisions\/152"}],"wp:attachment":[{"href":"http:\/\/thenerdis.me\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/thenerdis.me\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=151"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/thenerdis.me\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}