Suggestion for a feature that would make Codebook more robust for those users who have implemented it on multiple devices. When making a change on one device, and syncing the change to, say, Dropbox, the user must remember to syn again the next time he/she is active on another device.
It should be a simple matter to make this obvious and even semi-automatic.
-
Track the date/time of last update in the LOCAL copy of the database on each device.
-
When that LOCAL copy is synced, update the date/time entry (or just sync it along with other data) in the Dropbox copy.
-
When Dropbox synces this master copy to other devices, compare the Dropbox update date to the update date/time in that devices LOCAL copy.
Whenever they are different. notify the user that a sync is suggested. Perhaps by the color of the refresh icon, or something noticeable but not annoying interruption. Note that this will also occur when everybody is synced, and somebody makes a change to one of the local databases. That user will be notified to sync, and when sync is done, the other devices will get a notification that their local database is out of sync with the master.
I realize there is a problem with different time clock values, so in that case use a SQL Timestamp. Or query the NTP time server yourself. Or just make it a counter that is incremented in the master DB. Or implement something smarter than me.