MobileSheets Forums

Full Version: Synchronization Experience
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

in the last months I made some experiences with the MSP synchronization among tablets that I wanted to share my story with you. Might be it leads to some insights...

I use two tables, one more or less as master and one as (display) slave. Initially, I used bidirectional sync (sorry, forgot the name) of all information and it worked nicely and fast (more than 1000 songs in my database, chordpro and PDF mixed, some with audio attached, about 900MB). However, and that's my fault, I accidentally made annotations on the slave tablet or tried to edit song metadata here and there, in particular while the tablets were connected by bluetooth. This led to some synchronization conflicts and also to accidental overriding of information, probably as I made the wrong decisions. Confused  Mea culpa.

So I decided to switch to one way synchronization so that the master overrides the slave. Right from the beginning this appeared to be rather slow compared with the bidirectional sync, although it seemed to me that less communication should be needed. Sometimes still synchronization conflicts occurred - rather puzzling. Suddenly, after several months, the sync did not work correctly anymore and the song display on both tables got confused, i.e., unrelated pages songs were shown together in one "song".  Dodgy Huh

I decided to completely clean the slave tablet and to do the one way synchronization right from the beginning. I was surprised, although the initial sync took some time (of course) all subsequent syncs (now for a month or so) were pretty fast and without conflicts Smile 

1) Could it be the case that switching synchronziation modes can lead to strange effects and inconsistencies? If yes, I think it could be helpful to issue a warning when the user wants to switch the modes or even to recommend that in specific cases cleaning the target library should be done before.

2) Explicitly locking the slave, e.g., through a setting disabling any edit functionalty until the setting is reverted could prevent (at least me) from accidental and unintended edits on the slave. Might be this could also be helpful for others. Just a thought...

As I wrote... just a story and some experiences. Might be it helps others... I'm still very happy with MSP  Shy Cool

Please take care and stay healty...
Switching synchronization modes should not lead to strange effects or inconsistencies unless you select an unusual combination of settings. For example, if you perform a two-way sync but set the merge behavior to something like "Always use data from server"or "Only merge new songs and groups", this could result in some differences being ignored. If you then switched to a one-way sync with a different merge behavior, you could see some new conflicts that would require merging.

If it would be useful to people, I can look into adding an option to lock the editing features the app (performance mode prevents a lot of these already). A lot of information is stored in the database though, so to prevent the user from changing anything in the database, I would have to prevent access to a huge number of things in the app (which would require a significant amount of work). 

If you encounter any more synchronization issues, let me know. It's incredibly difficult for me to reproduce library sync issues though, as I rarely encounter the problems users describe when testing the library sync functionality. So tracking down problems usually requires that users share multiple library backup files with me (one from each device).

... I fully understand that tracking down such ghost problems is rather difficult without any logs or even the databases. I will observe at least the behavior in my setup and try to report if I can identify something. However, currently it is working again pretty nicely  Rolleyes I even managed to avoid editing on the second tablet... let's see, whether it could be helpful, but the presentation mode is already a good hint.