3 ms·
We've been working on sync for a number of years, and have created an open-source lightweight iOS library and backend server. It's still alpha, but it's already
by jchrisa 13y ago
We've been working on sync for a number of years, and have created an open-source lightweight iOS library and backend server. It's still alpha, but it's already in use by a handful of apps in the App Store.
Here's an overview: https://github.com/couchbase/mobile https://github.com/couchbase/mobile
The iOS embedded sync database: https://github.com/couchbase/couchbase-lite-ios https://github.com/couchbase/couchbase-lite-ios
Embedded sync database for Android: https://github.com/couchbase/couchbase-lite-android https://github.com/couchbase/couchbase-lite-android
It is designed to sync JSON documents either to the cloud, or from device to device. Everything is open source, so you can run it wherever you want.
Our conflict detection and management works by detecting when two users modify the same document, and keeping both versions around. It's up to the application to merge them (or discard one). More about the protocol here: https://github.com/couchbase/couchbase-lite-ios/wiki/Replication-Algorithm https://github.com/couchbase/couchbase-lite-ios/wiki/Replica...
- josephlord 13y agoStuff like this helps. I have looked at this for my lists app (http://itunes.com/apps/fastlists http://itunes.com/apps/fastlists - mostly for checklists and repeated use lists rather than todo lists) and may look again but there are still scenarios where you have to do one of the following: 1) throw user data away. 2) ask the user a question about how to resolve the conflict 3) save both copies and leave the user to figure out which one they actually want. As a developer I'm not yet comfortable with any of these approaches for casual user scenarios although option 2 or 3 is probably right in many more serious/professional set ups. I've gone with email as my transfer mechanism which also allows sending to other users and to be used as a backup although I do keep looking at sync systems and solutions. I found this a good write up of the potential complications even for a simple list app like mine. http://blog.helftone.com/clear-in-the-icloud/ http://blog.helftone.com/clear-in-the-icloud/
- josephlord 13y agoJust realised the link is broken and too late to edit: http://blog.helftone.com/clear-in-the-icloud http://blog.helftone.com/clear-in-the-icloud It seems HN doesn't like a comment ending with a "/" in a link.