More Mobile Software

ScubaPro Bluetooth Downloads

Dive Log 2.5 and DiveLogDT 4.4.36 were both recently released, with each one adding support for downloading the ScubaPro Galileo 2 (G2) and the ScubaPro Aladin Sport Matrix.
ScubaPro G2
Dive Log supports downloading via Bluetooth Low Energy (BLE), also known as "Smart Bluetooth" and requires an In-App Purchase to add this functionality. User's report that it's great to be able to download their dives while still on the boat.

DiveLogDT can support downloading both models either via the USB cable, or using BLE. Simply select your desired method using the drop down menu. You will find that downloading via the USB connection is much faster. But you might find downloading via BLE a little more convenient.

As part of developing this functionality, we noticed some "idiosyncrasies" with the Bluetooth functionality. As a user, knowing about them in advance may save you some time. There are 3 distinct phases when using BLE - Scanning, Connecting, and then Connected.

Scanning for the device in iOS is very quick. You'll see the information about the device show up on the Download page right away. Scanning in macOS is very slow. It can take up to 30 seconds for the device to show up so you'll need to be more patient.

The first time you connect your iOS or macOS device to the dive computer, you will need to "pair" with it. Both iOS and macOS have this functionality built in so that the first time you try it, you'll get a popup from the OS to enter the PIN number shown on the dive computer. Now the 2 devices are "paired", ie: they know about each other. This step, technically, only needs to be done once, the very first time you try to connect.

Now your iOS or macOS device is finally connecting to the dive computer. If all goes according to plan, it get's connected and then starts downloading the dive data.

If you have previously been connected to the dive computer and successfully downloaded dive data in the past, but now find that you can't go from "Connecting" to "Connected", it's likely that one or the other side of the devices has gotten confused, and no further connectivity will be possible until old connection parameters are "cleared out". This means that you need to "re-pair". Open the Bluetooth Preferences (under Settings -> Bluetooth in iOS and under System Preferences -> Bluetooth in macOS), and REMOVE the infomation about your dive computer. In iOS, touch the small 'i' next to the name (eg: G2) and then touch "Forget This Device". In macOS, click the small 'x' next to the name in the list of known Bluetooth devices.

Now, then next time you try to connect to your dive computer you will receive another popup to enter the pairing code, but it should complete without issue as the "out-of-date" information is now gone.

As always, contact us if you have any issues or questions. Happy Diving!

Import, Export and Synchronization via Cloud Services

Import, Export and Synchronization via Cloud Services (including iCloud Drive) in Dive Log on iOS.
(Some detailed background and analysis)


The most resent version of Dive Log for iOS (2.3, release July 2017) adds support for Importing, Exporting and Synchronizing logbook data via Cloud services such as iCloud Drive, Dropbox, GoogleDrive, OneDrive and Box. This new support depends on an iOS feature called “File Provider Extensions” and may require a bit more explanation to fully take advantage of the capabilities. It is also important to understand that this support is different from the “iCloud Synchronization” that has been available in Dive Log on iOS for a number of years.

The existing “iCloud Synchronization” has been relabeled “iOS iCloud Synchronization”. This is exactly the same as what you may have been using for some time now and has no other changes. This feature can use iCloud Drive OR the older iCloud Documents & Data service depending on how your Apple ID is configured. However, when iCloud Drive is used as the underlying file mechanism you will not be able to see these files except from within Dive Log on iOS devices signed in with your Apple ID. These files are stored in a private area of iCloud Drive (or Documents & Data if you are still using that service) and due to Apple’s security mechanisms can not be exposed in any other way.

The new features added in the 2.3 release of Dive Log allows you to expose your logbook data via iCloud Drive (or other File Provider Extensions installed on your device) so that you can exchange those files with other devices and potentially other users.

By default, most iOS devices are configured to support iCloud Drive (it is possible to turn this off so if you do not have iCloud Drive available you should look in your device’s settings under iCloud to enable it). If you want to use any of the other Cloud services that have File Provider Extension support, all you need to do is install the app from that service (Dropbox, GoogleDrive, Box, OneDrive, etc.) on your device. If the service implements the File Provider Extension, then it will (or should be) available from within Dive Log. Note that all File Provider Extension implementations are not created equally and do not necessarily support all the possible modes that Dive Log can take advantage of. Further, some of the implementations have significant bugs that can cause them to not work properly. However, the advantage to using the File Provider Extension support from within Dive Log is that as these 3rd party implementations increase and improve, Dive Log will automatically be able to take advantage of the improvements without us issuing a new version of Dive Log.

Not surprisingly, the best implementation of the File Provider Extension is iCloud Drive itself. So for the best experience, it is suggested that you use iCloud Drive to store and interact with your logbook files. That said, the other services do work as well and I’ll detail the limitations later in this post.

In general, this new support includes the ability to:

  • Export complete Dive Log format logbooks and DAN DL7 format files,
  • Import a Dive Log formatted logbook (either replacing the active logbook or possibly merging chnages into the active logbook if the remote Dive Log formatted logbook shares an ancestry with the active logbook) and Import dives from a DAN DL7 formatted file into the active logbook,
  • Synchronize the active logbook with the selected remote Dive Log formatted logbook file (provided that it shares a common ancestry)

via installed “File Provider Extensions”. This will enable you to interact with the Cloud Synchronization features in DiveLogDT or Dive Log Manager on the Mac as well as with Diving Log 6.0 on a Windows PC via the supported Cloud services as well as exchange files between iOS devices. One thing to keep in mind though is that synchronizing data via this mechanism (vs using the WiFi Synchronization support) does require internet access and will not work until both devices can interact with the internet.

In order to synchronize between Dive Log on iOS and Dive Log on other iOS devices or applications on Macs or PCs you generally need to follow these steps:

  1. Upload an initial copy of the logbook to the Cloud service (in Dive Log this is accomplished via the new “Export” feature. You would typically start with the device that has your most complete logbook as you will be using this as the basis for all future logbooks.
  2. Load that initial logbook from the Cloud service onto the other devices that want to participate in Synchronization (in Dive Log this would be accomplished via the new “Import” feature.
  3. As you make changes on any device, Synchronize those changes with the copy of the logbook in the Cloud service, and then synchronize each device in turn with that logbook in the Cloud service (in Dive Log this is accomplished using the “Synchronize Dive Log Logbook” feature).

When you Synchronize logbooks via this mechanism, Dive Log will work with the File Provider Extension to resolve any conflicts *IF* the File Provider Extension supports conflict resolution (as of right now, iCloud Drive is the only service that exposes conflict files to Dive Log to be resolved). Conflicts can arise when data is sent to the server from multiple devices or if the internet was not available at the time a file was submitted. Other services use other mechanisms local to their servers to resolve conflict … this usually means that they “pick the winner” based on some timestamp mechanism and Dive Log only ever sees this “winner” so no record by record conflict resolution is possible). Also, not all services implement the features required to support this bi-directional synchronization.

The File Provider Extension provides for two types of services: “Copy” and “Open”. In the case of “Copy”, the requesting app (Dive Log in this case) is provided a “Copy” of the Cloud file to work with but can not write the remote version of the file. Dropbox, for example, only supports the “Copy” service so it is not possible to do the bi-directional synchronization with Dropbox using a single file (note you can “Import with Sync” and then “Export” the resulting logbook file back to Dropbox to get a similar effect but it will not be able to replace the existing file in Dropbox unless you delete it first). In the case of “Open”, Dive Log is given access to a writable copy of the remote file so that it can upload any changes that it makes via the Synchronization process. This service is supported by iCloud Drive, Box, OneDrive and GoogleDrive *BUT*, as things currently stand, only iCloud Drive and Box implement this service without bugs (this can change with each update to the File Provider Extension apps so you may find that other services start working properly in the future).

In summary, as things stand as of this writing:

  • iCloud Drive supports “Copy” and “Open” semantics. Conflict resolution is supported.
  • Box supports “Copy” and “Open” semantics. Conflict resolution is done before Dive Log gets access to the file so no conflict resolution is done by Dive Log.
  • OneDrive supports “Copy” and “Open” semantics. No conflict resolution is available to Dive Log and bugs may prevent the remote file from being updated.
  • Google Drive supports “Copy” semantics and reports that it supports “Open” semantics, but bugs in their implementation prevent synchronization from working properly (Import works with some limitations and Export seems to work).
  • Dropbox only support “Copy” semantics so Import and Export both are available but not Synchronization.

Hopefully this provides some background to help you take advantage of the new facilities. You can (and should) make backups of your logbooks before doing any synchronization operations. Dive Log will maintain the most recent logbook that was in place before an operation locally so that you can revert to it if needed. You can also use the “Export” feature to make a backup of any Dive Log logbook and you can use the Cloud service provider (i.e. File Provider Extension) apps to make backups of your files in their respective services.

Your SAC Rate and Average Depth - in part and in total

Sometimes we have a dive where we get obsessed with analyzing it afterwards. Or maybe you're like that all the time! Either way, wouldn't it be nice to look at a "piece" of the dive?

SAC-Calc-DiveEnvironment

On the Environment tab, if all of the required information about your tank is filled in, you can get a SAC Rate (RMV) over the length of the dive as shown in the photo above. If you only used one tank over the course of your dive, then the SAC rate for this tank will also be for the whole dive. Unless you're doing some technical multi tank diving, this is the case for most people.

Dive Log, Dive Log Manager, and DiveLogDT all use the Respiratory Minute Volume (RMV) method of calculating your SAC rate so that you can compare your rate over *all* your dives, regardless of which tank (size) you used. This is the volume of gas you breathed in 1 minute at the surface. If you use Imperial units, it will be "cubic feet per minute", and if you use metric units, it will be in "liters per minute". You can use this number to plan a future dive, regardless of what kind or size of tank you will use.

If you want to take a "deep dive" into analyzing your SAC rate for a particular dive, you can do this on the profile tab. (This assumes you have a dive computer that logs your tank pressure over the course of your dive).

PartialSAC-Calc-DiveProfile

In the image above, we're looking at the same dive as the first image, however we're looking at just a portion of it. By "clicking (and holding) and dragging" over the time axis of the graph, you can select a *portion* of time and find out what your average depth was for that portion, and what your average RMV rate was for just that portion.

From the images, we can see that Jane Diver had an average RMV rate over the course of the whole dive of 0.34 ft3/min and an Average Depth of 47 ft. But in the second image, while starting her ascent at the end of the dive, she had an average RMV rate of 0.26 ft3/min while still maintaining the same Average Depth. Apparently she was much more mellow on her way back!

When clicking and dragging, you can look at the "Time" value at the top of the profile to determine exactly what portion you are looking at. It will change when you click, and update when you drag, so that if you want to know exactly the period of time you're analyzing, you can.

We have had some requests from customers to show a different kind of SAC rate calculation, sometimes called "Surface Gas Consumption". This is an absolute measure of gas over time, and is only useful when using the same kind and size of cylinder over subsequent dives. It is simply the amount of gas you have used in a period of time, adjusted to the surface pressure. Again, if you're using Imperial measurements, this number will be in "psi per minute", and if you're using Metric units, it will be in "bar per minute". We have added an Application Preference to toggle between the two kinds of SAC measurements. If you open the Preferences Window, navigate to the Profile tab, you will see a checkbox at the bottom "Calculate SAC (not RMV)". If this is checked, you will instead see a "SAC" rate when selecting a portion of the dive as above. The image below will show SAC rate using Metric units.


PartialSAC-Calc-DiveProfile-Metric

Happy Analyzing! Happy Diving!

Quick Add - Logging in a hurry

If you have used our software, you know that it logs individual Dives, and that a Dive can have many other items associated with it, such as a Dive Site or Equipment or a "tag" called a Dive Type. When logging a dive, sometimes you have lot's of time afterwards to sit and record everything in great detail and luxuriate over the details while you remember what a great time you had. But let's face it, sometimes you need to just quickly "get it done" so you can do something else. That's when you may want to do a "Quick Add" of an item while you're logging your dive.

You can "Quick Add" any of the dropdowns on the Detail tab of a dive. Just type in the name and tab to the next thing. If that name doesn't already exist in the list of those items, you'll get a small bubble window telling you that the new item has just been added. This works for Site, City, Country, Shop, and Trip.

QuickAdd-DiveDetails

When there is a list of items that can be added, you can also add a new one by clicking on the "plus" sign in the upper corner. Once clicked, you'll get a popup window you can just start typing in. Hit return and the new list item has been added and you can continue logging. This works for Buddies, Dive Types, and Equipment.

QuickAdd-DiveDescription

Happy Diving! (and Dive Logging!)

Dive Log, DCbuddy and the Suunto Vyper Novo and Zoop Novo

The current shipping version of Dive Log for iOS contains support for downloading Suunto’s latest dive computers using DCbuddy. You can download the Vyper Novo and the Zoop Novo by choosing the Manufacturer “Suunto” and the Model “DX” on the DCbuddy download screen. Dive Log will automatically detect that you are talking to a Vyper Novo or Zoop Novo and will parse the downloaded data appropriately. The next update to Dive Log will add the Vyper Novo and the Zoop Novo to the list of Models on the DCbuddy downloads page.

The Vyper Novo and the Zoop Novo use the “DCbuddy - Suunto D” connectors rather than the “DCbuddy - Suunto Z” connectors used by previous Vyper and Zoop models. If you already have a DCbuddy and just require just the pigtail connector those are available from the DiveNav Inc. website (https://www.divenavstore.com/interfaces).

Dive Log also recently added support for the Oceanic DataMask and the Aeris CompuMask. These computers use the "DCbuddy - Pelagic V” connectors.