Sync refinements

Suggestions? Comments? Features you'd like to see?
Benthic
Posts: 41
Joined: Wed Apr 13, 2011 7:06 pm
Dive Computer: Xeo
Location: Australia

Sync refinements

Post by Benthic »

The syncing on the latest release works brilliantly, but there is a small issue...

If you
1) Enter stuff into Dive Log for the iPhone whilst away from home
2) Upload your dive computer to MacDive when you get back and
3) Sync and combine the 2 data sets

Then when reviewing changes before the sync, the great majority of the field actions default to "Keep MacDive", even though many fields have data in Dive Log and nothing yet in MacDive.

There might be many changes needed from the default "Keep MacDive" to "Keep Dive Log". Over several dives whilst away, that's a whole lotta mouse clicks before hitting the "Sync" button… and with the potential for data loss if there's a mistake.

Suggestions for the dive review screen:

-Perhaps a field with no value or with a value of "unknown" should by default be overwritten by a field containing data.
-Keep MacDive as the "master" for all fields containing dive computer measurements
-Add the ability to select multiple lines using command-click or shift-click. You could select a number of fields whose default action you want to change, then review them before making the change with a single click.
-Preserve those selections when switching between dives on the left pane. Can then apply the same presets to multiple dives easily.
-Perhaps some kind of warning or text highlighting if any action would cause data to be lost, eg. if a field has data in both MacDive and Dive Log

What do people think?

Cheers,
Benthic
User avatar
nick
Site Admin
Posts: 4360
Joined: Sat Apr 12, 2008 8:33 am
Dive Computer: Shearwater Teric
Contact:

Re: Sync refinements

Post by nick »

Benthic wrote: Then when reviewing changes before the sync, the great majority of the field actions default to "Keep MacDive", even though many fields have data in Dive Log and nothing yet in MacDive.
What should happen is that if there is an empty field in one or the other, the filled in value is prioritised. If this isn't happening, your MacDive.sqlite file and a backup of your Dive Log data (there are instructions in the help) are useful in tracking this down.

There may be some small issues with this, and the data helps refine it. Everyone has such wildly different data that it's hard to ensure every small possibility is accounted for. Over time we'll get it more and more accurate. The data is stored in very different ways, hence the less-than-perfect syncing to begin with.

Greg and I worked very closely together to improve things for this release, but of course nothing is perfect. Send me your data (before you've synced so I can reproduce the problem) and a detailed explanation of what you expect, and I'll take a look.
-Perhaps a field with no value or with a value of "unknown" should by default be overwritten by a field containing data.
As explained, this should be the case. There will be a couple of exceptions though. For example, Water Type. Dive Log stores a number representing a set value from a list of choices. MacDive allows you to type in whatever you like. If the two match, then all is good. If they don't, then this won't be automatically converted - the MacDive value will be kept and assumed to be a value that Dive Log doesn't support.

This is also covered in the help, just posting it again in case it helps explain what you are seeing. Again without data, this is incredibly hard to debug.
Benthic
Posts: 41
Joined: Wed Apr 13, 2011 7:06 pm
Dive Computer: Xeo
Location: Australia

Re: Sync refinements

Post by Benthic »

Hi Nick,

Sorry if I've grasped the wrong end of the stick...

I'll send you some sample data when I get home tonight.
User avatar
nick
Site Admin
Posts: 4360
Joined: Sat Apr 12, 2008 8:33 am
Dive Computer: Shearwater Teric
Contact:

Re: Sync refinements

Post by nick »

I didn't mean to imply you had - my apologies. Just trying to explain *why* you might be seeing this behaviour, and that the only real way for me to tell, and fix any problems, is to check out your data.
Benthic
Posts: 41
Joined: Wed Apr 13, 2011 7:06 pm
Dive Computer: Xeo
Location: Australia

Re: Sync refinements

Post by Benthic »

Data samples sent.
Keith
Posts: 8
Joined: Tue Sep 13, 2011 8:44 am
Dive Computer: Suunto Mosquito

Re: Sync refinements

Post by Keith »

I used Dive Log on my iPod to record dive information last weekend which I then merged into MacDive in the same way as Benthic. I got exactly the same issue on syncing - virtually all the fields had defaulted to "Keep MacDive".

I have MacDive backups to which I could download the new Mosquito dive computer data. I have an iPad version of the Dive Log which has not yet been synced. I could add the dive information to that in the same way I entered it onto my iPod and so create files prior to syncing the latest dives.

Let me know if those files would help.

Keith
User avatar
nick
Site Admin
Posts: 4360
Joined: Sat Apr 12, 2008 8:33 am
Dive Computer: Shearwater Teric
Contact:

Re: Sync refinements

Post by nick »

One thing to be careful of is that the Dive Log data has to have been updated *after* the MacDive data. Otherwise yes, it will primarily default to MacDive as it is the more recent data.

I have Benthic's data and I'm going to have a more detailed look through it after work today.
Keith
Posts: 8
Joined: Tue Sep 13, 2011 8:44 am
Dive Computer: Suunto Mosquito

Re: Sync refinements

Post by Keith »

Wouldn't the MacDive data always be newer in this scenario? The MacDive data will be generated when the dive computer dives are brought into MacDive which will typically be after a dive trip. The Dive Log data will be generated during the dive trip and so will be older.

Is the time of creation/modification compared on a field by field basis or could one field in the Dive Log be updated after bringing the dive computer data into MacDive but before syncing to make all the Dive Log data appear newer?
User avatar
nick
Site Admin
Posts: 4360
Joined: Sat Apr 12, 2008 8:33 am
Dive Computer: Shearwater Teric
Contact:

Re: Sync refinements

Post by nick »

If both Dive Log and MacDive have a value, then the latest one will be used. How else would you expect it to work?

The issue here for things that *don't* have a value is what I'm looking at. For example, if MacDive has a max depth and Dive Log doesn't - then of course the MacDive value should be preferred. And vice versa.

If both have a max depth, then the latest one will be used.

I have some data to look at. I'll see what I find, and go from there. If you can send me your MacDive.sqlite and a Dive Log backup, along with a screenshot of your Dives tab in the sync summary, then I can ensure whatever changes I make work with your data too.

And no, the timestamp is only for the overall record - not on a per field basis. This is the way Dive Log works and I can't change that, I can only try and work with it!
Keith
Posts: 8
Joined: Tue Sep 13, 2011 8:44 am
Dive Computer: Suunto Mosquito

Re: Sync refinements

Post by Keith »

Nick has been very responsive on this request and has made the default actions when syncing work fine now in a beta I have been testing. The changes will be in the next update.
Keith
Post Reply