I've probably managed to goof up somehow, but I installed Subsurface on my PC sometime last year, then the Android app and tried to set up cloud sync. Couldn't get things to sync. Besides, I'm chronically skeptical to cloud accounts I don't control myself. The files in my Dropbox account are synced to my PC, so if Dropbox goes belly up tomorrow, I still have my data. So sync via my Dropbox account (alternatively, Google Drive) is what I'd prefer.
The eternal argument... "I want to control my data"... "I don't know how to set up my own cloud server, I just use <insert random proprietary service>".
So our choices are
a) support just one proprietary service, trust that they don't invade our users privacy, and tick off everyone who doesn't like that one service and who wants a different service - and make sure we can figure out an easy way for users to configure this
b) support many / all proprietary services, with testing and UI nightmares to follow so that each combination works
c) do our own cloud service with a solid privacy policy (boils down to: it's your data, we don't look at it, we don't touch it, nor does anyone else), completely transparent configuration for the user and end to end under our control (which means no one suddenly changes terms or setup on us)
And to your question "I still have my data"... of course you have your Subsurface data. On your PC / Mac / Linux system there is a local git repository which has all your data plus every transaction in it... so if you make changes and something went wrong (deleted your first 600 dives by mistake, whatever), you can simply roll back to an earlier version... we don't talk about this much because most users really don't care, but I'll be happy to show you were all your data are on your local computer and how you can use git to do some fun things with those data... so no, even if I decided to stop paying for free storage for the users of my free software tomorrow, you'd still have all of your data.
OK, let me go into detail. I know that this is pretty specialized, so I understand if you don't put much priority on it.
When I take photos underwater, I like to geotag them with the depth they're taken at. I use my depth log for that, so I need my depth log in a universal format like TXT or CSV. Given my start time, the run time/depth data are used to transfer depth data to the picture's EXIF. The issue is that my computer's clock and my camera's clock are never properly synced even if I check that they show the same topside. So a couple of times during the dive I take a picture of the computer while setting a bookmark in the log, which gives me a reference for adjusting the time difference on the two gadgets. So the depth log in an external format, with bookmarks, is something I want. Divelog can give me the depth log as a TXT file, or just copied to my clipboard, so that's golden. It's just that it doesn't seem to download the bookmarks, so I have to tinker with DM3 to get those. I'm not capable to write scripts, so if I don't have that feature, that's a dealbreaker for me.
So that's why I'm asking for output from the program containing run time/depth/bookmark datapoints. Without having to write a script.
So just export that dive as XML in Subsurface. You get something that looks like this:
Code:
<event time='4:21 min' type='8' name='bookmark' />
<sample time='0:00 min' depth='1.28 m' temp='16.0 C' pressure='161.27 bar' />
<sample time='0:20 min' depth='3.25 m' pressure='160.37 bar' />
<sample time='0:40 min' depth='4.84 m' pressure='159.25 bar' />
<sample time='1:00 min' depth='5.71 m' pressure='158.18 bar' />
<sample time='1:20 min' depth='7.59 m' pressure='156.35 bar' />
<sample time='1:40 min' depth='7.83 m' temp='14.0 C' pressure='155.17 bar' />
<sample time='2:00 min' depth='8.97 m' pressure='154.13 bar' />
<sample time='2:20 min' depth='9.18 m' />
<sample time='2:40 min' depth='9.65 m' />
<sample time='3:00 min' depth='10.23 m' pressure='152.35 bar' />
<sample time='3:20 min' depth='10.46 m' />
<sample time='3:40 min' depth='10.65 m' />
<sample time='4:00 min' depth='10.22 m' pressure='150.14 bar' />
<sample time='4:20 min' depth='9.24 m' pressure='148.23 bar' />
<sample time='4:21 min' depth='9.27 m' />
<sample time='4:40 min' depth='9.87 m' pressure='147.82 bar' />
<sample time='5:00 min' depth='9.42 m' temp='13.0 C' pressure='146.47 bar' />
<sample time='5:20 min' depth='9.76 m' pressure='145.29 bar' />
<sample time='5:40 min' depth='9.82 m' pressure='144.54 bar' />
So this is from a random file that I grabbed, dive computer only does 20 second sample intervals, but you can see when your bookmark was (first line) and have a matching interpolated depth entry below in the samples.
This is highly structured and easy to read (which was a big goal of our XML format). It should be completely straight forward to parse this into any form you want...
Does that do what you need? If not, what's missing?