Be warned anyone that uses this - it uses Garth (https://github.com/matin/garth) to authenticate. It masquerades as an Android app (a single instance of one at that) and does some hacky stuff to login via web forms.
Garmin is such a horrible company to try to integrate with. I don't know why they lock down their stuff so hard like this. And if you do manage to gain access to one of their offical APIs or SDKs, they are total dogwater.
I'm a Garmin user as I find the hardware to be very reliable but the market is in deep need of an Open Source alternative.
Let's not forget Garmin was victim of a ransomware attack in 2020 and they finally paid $10 million after days of blackout and they never really addressed the issue.
We looked at this years ago and came to the (sad) conclusion that in this space there is no money to be made in hardware, the UX, while uniformly bad, can't make you profitable, so it's down to selling the user as a product once again.
Garmin has nothing on Strava. If you integrate with Strava and the user revokes the link, you have to delete all the data that came from Strava or you risk losing access to the API.
> I don't know why they lock down their stuff so hard like this.
Same reason every other company locks down your data. You are the product and they want to keep you locked in, feeding them data.
They can't have you running off with all your data when a new device comes out from a competitor that is better; that would force them to compete more!
Garmin has a long history of being lazy as fuck unless someone's actually competing against them. The smartwatch market heated up and lo and behold features and better models coming out left and right. Their bike computers would go years between refreshes..until Wahoo, Bryton, Coros, and Hammerhead started beating on their door.
Strava is much the same way. They were pretty free with access in and out, and tightened things down making it nearly impossible to export data.
> If you integrate with Strava and the user revokes the link, you have to delete all the data that came from Strava or you risk losing access to the API.
That seems fair - the user has withdrawn their permission for processing their data or invoked "right to be forgotten", no?
Strava also imposes limits on app developers, it doesn't matter if you have 1 user or 1 million users, and it was quite hard to get the limits increased.
You'd think they would allow a popular app that their customers likes to use could have higher limits.
> Garmin is such a horrible company to try to integrate with
Is it still? A few years I built integration for creating posters from route GPS data, and it seemed pretty much the same experience as Strava and RunKeeper, but then they changed their TOC and wanted about $10K to connect.
If you want data for your own use - and to send data from one service to another - then tapiriik is great (or atleast was, I haven't used it for a few years):
I've been using InReach and the InReach APIs for a few years now.
They were both very reasonably priced (they cost nothing above my InReach subscription price), very easy to get access to (I emailed them and got access to API docs and the APIs within a day or three) and extremely well thought out and reliable (very robust callback based event/point reporting system, with retries on their side if your code breaks or is flakey, their web page has a great debug interface to see what happens if your webhook fails) and their support was top-notch (if not super fast).
I had a weird bug with their webhooks when I started implementation, where every event would come in twice, once with the timestamp of the event truncated to an integer of whole seconds. You could see from the user-agent that the one with the truncated timestamp was a few versions older of their software. Wrapped that analysis up in an email to them and about 12 hours later saw it get fixed and about 12 hours after that got an email back from AN ACTUAL ENGINEER who thanked me for the description, explained why and how it happened and explained their fix.
Granted, the InReach and definitely the InReach Professional API, are more of a professional product and less pure consumer, but, Garmin definitely knows how to do this.
I think th consumer/retail side of Garmin company is a shit show. I recently ordered a HRM on Garmin website instead of other retail site. My order just sat at "ordered" status for over a week. I ended up just cancel and use Amazon.
I've run into that with most manufacturer retail sales departments -- it's almost always a better buying experience to use Amazon or another established online merchant.
It's expensive to build out a first class order fulfillment system and it's hard to compete with Amazon's system since they have such huge economies of scale -- Amazon probably ships more product in a few hours than Garmin does all year from their retail site.
Even worse than buying products from a manufacturer is buying a spare/replacement parts, you need a $5 replacement charging cord? Well it'll cost you $15 in shipping and still take 2 weeks, and often those spares are only available from the manufacturer.
A friend recently put me on to Intervals (https://intervals.icu) for Garmin / Strava related data nerdery and I’ve enjoyed it very much. As a rower it was nice that you can construct reports that give rowing related metrics rather than just the usual cycle / run stuff.
Nice app, i didn't know that one. I think for cycling that is quite sophisticated. However i had a different problem recently wanting to track a Hyrox Workout. I have a epix gen 2 (800€) and i cannot track it nicely. I know you can define workouts but it is such a hassle and doesn't even work good.
Long Story short, i just programmed my own App now for that. Works with all garmin watches and let's use define a fixed Workout and allows to analyze your individual performances across exercises:
https://multisports.creatness.studio - i'm still waiting for Garmin to approve my App Store Submission (another long story with garmin) but it can already be downloaded and sideloaded on a garmin watch. using it for a few weeks now myself.
I built something for post-processing runs into common running workout structures (e.g. 4 x 1mi) based solely on lap data, without needing the actual programmed workout. workoutsplitz.com if you want to try it out.
> We may use your Personal Data to contact you with newsletters, marketing or promotional materials and other information that may be of interest to you.
> ... You may opt out of receiving any, or all, of these communications from us by following the unsubscribe link or the instructions provided in any email we send.
What dastardly acts do you think they’re committing here? They need your personal data (your email address) to send you emails, which presumably you can unsubscribe from
To get your _current_ data, it is possible to pull the current .FIT files from your device (watch, bike computer, ..) when it is plugged to your computer and mounted as file system.
um, have you tried to export all your raw data from garmin? i have 15 years of logged data, and that dump does not include any fit/gpx/tcx files. it was 196 json files (228mb) which are just high-level summaries. using one of the hacky third-party export libraries, i was able to get the actual fit files (5708 files, 373mb). even that has missing files, empty files, and duplicates. very frustrating.
the lesson i learned is you can't just expect these exports from any online services to be complete or what you expect. i highly recommend going through an export of anything you depend on and see if it has what you expect.
This is particularly relevant with the recent blue triangle of death episode where all their newest watches downloaded a corrupted gps ephemeris data file and entered a boot loop.
One of the recommended fixes was a factory reset of the watch, which deletes all of the stored .fit files.
Garmin should really embrace this. The alternative, relying on smartphone apps, will lock them out in the long run. The big advantage of buying dedicated hardware, like a Garmin bike computer, is having more control over your data.
I wish Garmin worked on their SDK and documentation — I wrote a quick app for personal use, and it made me appreciate folks who write Garmin watch apps much more. The documentation is incredibly bad, half the things I had to figure out using trial and error, and even then I wouldn't know how to build/test for other watches than the one I own. I'd have gladly worked on the app and put it in the store, I think it'd useful to some people, but I'd have to put far more effort than it's worth.
I have two Garmin devices: a watch and bike computer. Both are connected to the same app that collects data to a single Garmin Connect account.
I expected some synergy but I got nothing. When monitoring the same activity with the two devices you just gets dupes (for example, sum of the distances measured by the two devices). This is worse than if I had 2 devices from 2 different brands.
Right, Garmin doesn't support simultaneous recording on multiple devices. But if you've got a bike computer then there's nothing to be gained by also recording on your watch, you won't get any more data.
There's another related defect if you use one of their chest straps that records and stores heart rate data for later download (this is mainly for swimming activities where radio can't be used). If you record an activity on your watch and it syncs to Garmin Connect before downloading heart rate data, then after the watch downloads from the chest strap it will create a duplicate activity in Garmin Connect instead of updating the existing activity. Customers have been complaining about this for years but Garmin doesn't care.
If it's pushed to Strava from another device (Garmin, Wahoo, etc) then you can download the original file, which will have all the data that the original device recorded. This may have auto pausing, may not.
On e.g. files that are uploaded from my Garmin watch, Strava adds its auto pause as a filter on top of the data: iff the original data doesn't have any pauses (Garmin auto pause not enabled on my runs), then Strava will cut out periods of time when you're standing still; otherwise it'll leave the data alone.
I personally don't know anyone who creates workouts in Garmin Connect. Not saying it doesn't happen, or even that it isn't common, but everyone I know is creating their workouts in TP, Intervals.icu, Golden Cheetah (or other similar dedicated training platforms), or even in Zwift (or another virtual training platform).
I only use my Garmin for GPS+heartbeat based workouts such as hikes + my runs. I've never had any issues integrating their services into Strava or a variety of workout devices in gyms. Though, on a sidenote, it is beyond annoying when many of those devices only support Ant+ or Apple HealthKit integration; but I wouldn't really tag that a Garmin issue as much as an ecosystem one.
That all being said, I could imagine more complicated workouts that surpass simple lap/leg tracking could be problematic.
Yeah, Garmin’s own software isn’t great but it very easily syncs directly to loads of other services, and there are “interlocutor” (not sure what the right term is) apps like Rungapp on iOS that will let you sync it to even more.
It’s not only that API access is hard, it’s also they don’t listen tot the community.
Example: It’s not possible to filter for workouts without gear. Sometimes I forget to add my bike or a pair of shoes, so such a filter would be helpful.
It would be very easy for them to add add that filter to the app and / or connect website.
But without a community manager, there’s no engagement possible.
Imagine they had a public tracker where people could request features. They could review them and use that knowledge to build better stuff, making more money.
I just got a new Garmin Vivoactive5 this week, because my old one broke (also vivoactive3). For now I am quite happy with it, but I bought it knowingly, that Garmins APIs and possibilites are not _optimal_ at all.
I looked into getting a Apple Watch series 10, but ultimately decided against it (battery lasting not longer than 1.5days / no real use for messaging or smart apps a side from health / 2x price compared to the vivo).
I would love to find an _open_ watch, that allows for hacking, nice APIs, self-hosting of dashboards even, nice apps et cetera. I feel like there is market for people like me. Maybe the rebirth of the pebble will be able fill this void?
I was hoping this would be a way to import and track data directly from the device, but it appears it talks to the Connect API, so I'm still tied to the official app.
You are right, but I've worn out the USB ports on multiple Garmins from using the ports to recharge and download the files. Now I just use the app and download the files later from the Garmin website, and use a magnetic charger plug also to eliminate the wear and tear on the port. I wish I could wirelessly access the files and cut out the Garmin app/download steps.
I'm still using a Forerunner 935 from 2017 and I haven't had any problems with charging/syncing data. I use the USB charger about once a week. Once every two weeks during winter when I don't use the GPS as much.
Only thing I have updated on the watch is the free loop, which holds the watch band after you've threaded it through the buckle. I'm gonna have to replace the watch band eventually - the plastic band is starting to crack, Canadian winters aren't gentle on these things.
Garmin support sent me replacement free loops when I called in asking how I could replace them.
I use mine every day for recording year round barring a few breaks and need to charge every three days or so. I've had one long enough to have to change the battery because the life went down so much.
I've been through a lot of Garmin devices and mine always have battery degradation before the USB port is in any way non-functional. Especially with USB-C on the newest ones, that really shouldn't be happening.
You are correct, the last time I had to replace my 530, the 530 was on sale due to the 540 coming out so I bought the 530 on sale and haven't thought about it since. For some reason I thought I bought a 540 after comparing the product pages for so long.
I gamble and buy the cheapest ones on EBay in lots of three (some have adapters included plugs for USB-C/micro USB, though it seems like as time passed by, more and more are separating the plug purchase from the cable purchase). The recently announced tariffs will put a damper to this since the last few I have bought were dropshipped from China.
I just set this up a few months ago! It stores data in a local sqlite db. I have a script that pulls in new data once a day.
It takes a surprisingly long time, there must be some serious inefficiencies since the watch only takes a second or so to sync all that same data to my phone. I haven't had a chance yet to look closer at the internals.
Any fitness watch with better access to data? I'm not even talking about open source (which would be great), just interested in real-time access to health info without monthly subscription or scrapping their online portal.
I believe garmin is actually better than the others.
I've never put my watch online.
You don't have to "activate" the watch or create an account to use it. You can just strap it on your wrist and go.
You can get to your data using MTP (or the garmin protocol) by accessing the watch filesystem.
I'm not certain about updates. I haven't found a way to download and update the watch offline, but I haven't seriously tried. I did notice some beta firmware you could download and update older watches with offline.
So I think you might need garmin connect or similar to download apps or updates.
Before I recommend this to a garmin-owner who rows, does it have good models for rowing specific data like the 500m split timers and your cadence? I looked and it seems like its very bicycle/run aware, and "paddle" is not a term of art for rowers. (thats in the plugin) -If there is a data model for the Ergo, it probably would work because "its the same" (it isn't but anyway. meh)
He shared some data with me to see if I could decode/dump (2+ years ago) and I gave up. Garmin are not easy sometimes. Shame. I doubt their s/w is making them much, people buy for the hardware not the app specifically. False benefit lockin.
Garmin is such a horrible company to try to integrate with. I don't know why they lock down their stuff so hard like this. And if you do manage to gain access to one of their offical APIs or SDKs, they are total dogwater.
reply