To add to what others have posted... Activity (i.e. running, walking, cycling, etc.) FIT files are found in the GARMIN/Activity directory on the watch after connecting it to a computer over USB. File names are date time stamps.
Sure. It's a binary file and there is a spec for it on the garmin website. There's lots of libraries available for most popular languages for decoding and encoding. You can download an app for your computer. I believe it's called Garmin Express, which allows you to sync fit files to your machine.
I'm building a running analytics app, which is really just for myself but if it turns out to be any good then I'll might turn it into a SaaS. Target market would be for fairly decent amateur runners (e.g. 2:20-2:30 marathon) but not good enough to be pro. The pros have awesome tools but sadly most are not available for us mere mortals but I can build some of them! Example features:
1. The strava GAP model doesn't fit very well for me. So I've made my own. I update the model each month too.
2. I've also built a wind resistance model which works quite well. I'm trying to do the same for surface types, heat and humidity as well.
3.Using adjused pace data I built a pace/duration model to estimate critical speed and this model forms the basis of tracking progress over time. Clearly most training wont be all out efforts, so I also estimate race performances based upon current fitness as well. E.g. if you ran X speed for Y time at a sub maximal effort then you can estimate what a maximal effort would be based upon the remaining aerobic and anaerobic power. From reading sports science literure, this is the most advanced way to track performance at the moment. The actual model I use is called an omniduration model [1].
4. I also have build some other models, e.g. Daniels running formula, which can be used but I don't find them to be as useful as the omniduration model.
5. I'm also trying to model how a workout will effect your fitness. Where it's base/aerobic, threshold, VO2max or an anaerobic effect. Then, the idea would be to look at future training performance to assess whether the model was correct. This was you might be able to determine which types of sessions result in the best outcomes for you.
... Sorry, what type of file is it? Just a CSV?