Page 1 of 1

UDDF or XML export

Posted: Wed Nov 25, 2020 2:55 pm
by ghostbuster
I'm wondering if there is a way to export UDDF format, XML, or any of the other open formats.

Right now I don't have access to a Mac computer, so I am using the free Subsurface tool on Linux to pull dives from my Suunto computer (USB only, no bluetooth), but I can't figure out a way to get them onto my iPhone.

If it was possible to export UDDF from Dive Log, then I could import that UDDF into subsurface, import dives from my computer, then export from subsurface and re-import the combined UDDF into Dive Log (already supported).

When I can't export my data from an app, it makes me hesitant to enter data on it because the data will be "trapped" in essence.

Is there any plan to support export to an open format?

Re: UDDF or XML export

Posted: Thu Nov 26, 2020 12:39 pm
by support

Dive Log currently exports to the DAN DL7 format as well as exporting our own Sqlite based logbook format (which is supported by various applications on Windows and Mac). Note that our logbook format is "open" and we make it available to anyone interested in implementing it. Subsurface can import DAN DL7 data, but I suspect that you'd be better off importing your dive computer into Subsurface and then exporting the imported dives to either UDDF or DAN DL7 and then importing that data into Dive Log. The reason that I suggest this approach is that DL7 in particular and UDDF to a lesser extent are really good at supporting profile data as you would get it from a dive computer but provided significantly lower data fidelity for other elements of your logbook data.

To export DAN DL7 in Dive Log open the Synchronization tab (the sync button in the sidebar on iPad) and then tap "Export" and "Export DAN DL7 format". You can export export our native Sqlite format by tapping "Export active logbook" (which will work with, for example, Diving Log 6.0 on Windows). To Import a DAN DL7 or UDDF file you would use the "Import" item on the Synchronization screen and then "Import DAN DL7 format" or "Import UDDF format" (note that you can also import Garmin FIT files and Dive Soft DLF files in this same section).

Your point is well taken about locking your data into any logbook application. That is the reason that we work with various app developers to ensure that your data can be used with their applications. Depending on the final destination for your logbook there are various different strategies to employ to get the best result.

UDDF is an open format as you mention. Unfortunately, its specification is not as precise as it could be and leaves a fair amount of room for interpretation. This means that UDDF files exported from any two applications might or might not work when being imported by a 3rd application. Our UDDF importer has a number of specializations to work with different UDDF export files from different applications but we do still encounter files that do not work for one reason or another. If you find a difficulty importing a specific UDDF file, please feel free to send us that file (and which application generated it) so that we can make additional adjustments.

At the risk of being pedantic, I'd like to point out that XML represents a file type that has data structured in a particular way. It is not in and of itself an "open logbook" format. In much the same way that an CSV file and a Sqlite file are ways to structure data in a file they do not define the meaning of that data. In fact, UDDF is a XML structured file format and defines XML tags in a way that is different from, for example, the native Subsurface XML file format. Just as an example, if you saw the following data in an XML file:


you could reasonable infer that the "depth" tag is giving you the depth the diver was at but you have no way of knowing if that was in meters or feet. Further, the tag could just have easily been "d" and then you would have trouble even knowing that the contained value represented depth and not some other value. In the same way, our logbook data is stored in a Sqlite database file format, but without knowing how the values stored in the different tables, rows and columns of the database should be interpreted you would not be able to use the information (the documentation for our database format not only includes the schema but also explain how to interpret the values and the UDDF documentation explains how to interpret the XML tags in a UDDF file).

Unfortunately, there are not that many widely adopted open standards for logbook data (UDDF, UDCF and DAN DL7 are pretty much the only ones) and most logbook applications end up learning how to directly read other application's file formats (be they proprietary or openly published). This typically allows for greater data fidelity than using one of the "open" formats. I mention all this only to help folks understand that just because a given application might state that they can export XML or CSV format data that does not mean that it can successfully read and interpreted by another application.

Please don't hesitate to reach out of you have any detailed questions about working with the Import and Export features in Dive Log. You can also contact us directly at our email address (support 'at' moremobilesoftware 'dot' com).



Re: UDDF or XML export

Posted: Thu Nov 26, 2020 9:01 pm
by ghostbuster
Wow thanks for the detailed post. I was not aware of the internals of these formats but I am familiar with the pitfalls of poorly-specified data. I'll try the path you suggested.