I have been testing with Easy Sync for sometime and everything so far seems to be working great!
However I have been noticing that at times when I modify or update records on the Hosted File and then sync at the Mobile File - It does not seem to update the change at the Mobile File side.
However all changes at the mobile side do go up to the hosted file. I usually test the sync just a few seconds after updating the records at the hosted file. To test whether this was a timestamp issue I tested again after maybe 5 minutes at the mobile side doing a sync and it then it actually updated the mobile side record with the hosted record changes. But I found out that if I synced within the first 1 minute of the change at the hosted side - the updates did not happen at the mobile file and nor did the updates ever sync down to the mobile file.
I confirmed that all the settings are as per easy sync - have been testing easy sync for 2 months now - so have no doubt that the settings are as per the setup instructions. So I am wondering why updating records at the Hosted file side does not always sync down to the mobile or iPad file? Are there any extra settings that I'm missing? All my table relationships, scripts etc on both hosted and mobile are correct. And no errors at all.
Also I do have the same mobile file sometimes on more than 1 iPad - so in such a scenario would correct updates syncing be compromised?
"Tim obviously wasn't thinking that you might be modifying the hosted files directly with the same device that you are doing the sync."
Actually, I was. And while developing EasySync, that's exactly what I was doing: Using my workstation as if it were a mobile device, updating records on it, and with it to update records directly on the host.
The Device ID concept was added specifically to address the "round trip" issue. You wrote, "Because I usually push up a minor amount of data it's a minor problem that if what I push up also gets pulled back down, i.e. roundtrips." For many, it is a huge issue. Imagine that you've pushed up several photos or other binary data in container fields. "Round tripping" that data can easily become a nightmare.
"...but I'm not good enough to write that statement and maybe neither was Tim."
I'm not sure what to make of that. A lot of work went into making EasySync work as seamlessly as it does. The level of abstraction involved to pull that off was insane.
I made EasySync an open source solution for several reasons.
The primary reason was to share it with the community, and provide a sync framework that was easy to implement and extremely affordable (you can't beat "free"). Sync support is a critical feature for many mobile solutions. In fact, not having it can be a show stopper in some cases. My hope was that EasySync would help developers meet that need, sell more FileMaker Go-based solutions, and help the FileMaker platform in general.
But another reason for making it open source was to provide code that was fully unlocked and easily modifiable to meet specific needs. If you don't need the Device ID, and if round tripping isn't an issue for your solution, then disable it.