Early on this triathlon season, I bought a Suunto Ambit 2s. I loved the idea of having accurate workout data for my training, plus more accurate time/distance data for my races, and the Suunto has delivered. But it’s missing a few things: its support for interval workouts is poor, and the Movescount website is less reliable than I’d like. Luckily Suunto added export to Strava, but you still have to use their computer-based app to transfer workouts from the watch to the computer to the Movescount site, so when the site’s down you can’t see your workout data. (There are also various website bugs, including one in computing swim distance that means that the results on the website don’t match the results on the watch, but I digress). Having said all that, I was planning on sticking with the Suunto because I like the industrial design; it’s comfortable to wear, looks good, and has all the basic functionality I need.
Then I read this: Garmin announces ability to develop apps on wearables, with Connect IQ.
Coupled with my native lust for all shiny gadget things, the availability of the SDK opened a whole range of possibilities, not only for apps I could get for the watch but for apps I could write. I immediately started pondering what kinds of useful apps I could build and came up with one that I thought would be very useful: a flight timer. There are at least two different flight times that I need to log for every flight: how long the propeller was turning (because that drives how much money I put into our engine reserve fund) and how long I was actually in the air (which is what I actually log as flight time).
The GPS in 706 can automatically calculate flight time from takeoff to touchdown… provided you remember to look at it after landing and before turning off the avionics master switch. We also have a Hobbs meter that measures the time when the propeller’s actually turning. However, an app that automatically records time in flight, along with the origin and destination airports, would be useful. CloudAhoy does something similar, based on ForeFlight track data (and for all I know, ForeFlight can do this already). However, a timer that’s not tied to the aircraft would have the advantage of not losing its data when you turn off the airplane, and not being tied to a phone, external GPS, or iPad greatly reduces the risk of losing data due to battery or device failures.
So, I ordered a Garmin 920XT and downloaded the Garmin SDK. On first inspection, it looks like the SDK and development model are both pretty tractable for what I want to do. I’ll be blogging about my development efforts as they progress. For now, if I can get basic logging to work in the device simulator, I’ll be happy. There are a few features I’d like to have in the app to make it useful: it should automatically log flight time from takeoff to touchdown, geocode the origin and destination points so that the log file reflects airports and not just GPS points, and provide a timer function for things such as switching fuel tanks in flight. If I can extend that to include automatically logging flights into Safelog, that’d be even better but that might be some time away.
The 920XT itself will be a nice upgrade from the Suunto, which I am going to loan to my pal Jay for use in his training, but it won’t ship until sometime in November, so I’ll be running on the simulator for a while yet (and using the Suunto to log workouts, too!)
The SDK includes a comprehensive set of API docs, the device simulator, an Eclipse plugin that runs the command-line compiler, and assorted sample apps. I’ll have ore to say about it once I get my environment set up and running and start playing with the samples. Garmin’s clearly thinking about this the right way, though; in addition to their own developer forum, they are actively encouraging the use of StackOverflow.
Stay tuned for updates!