On 19/04/11 11:27, Alexander Larsson wrote: > On Tue, 2011-04-19 at 11:43 +0200, daniel g. siegel wrote: >> another very important point is synchronisation. together with salomon >> sickert we thought about how to solve this problem. basically we came up >> with the idea of a self-replicating backend, like couchdb. if we then >> could add support to the contact apps of other computer/devices like a >> n900 or android, we would get synchronisation and conflict management >> for free. >> >> then there is also the idea of having a webservice for the gnome >> contacts app, where you can access your contacts over the internet. >> >> we are very interested in your opinions about this! > > I don't know really. Synchronization is a tricky subject, with complex > protocols and risk for merge problems. Its almost always a source of > weird problems. I don't think we want to have synchronization as some > core part of the design. > > On the other hand, its important that there is some level of support for > synchronizing contacts with e.g. phones. So, I guess we need to think > about where it fits in. >
Hmm, its really not that tricky - the eventually consistent method used by couch works well in most situations - all replicated endpoints resolve to the same state without intervention, and if you want to pick up any pieces, you can. I would be happy to help out any team forming to look at the area - at work we've had a few people building replicating (mobile/server) apps with couchdb and it's a very nice system. Also, semi-schema'd document based storage like couch works nicely for extensibility and data mashups. On supporting existing sync protocols, for 'traditional' sync, its important to have one central point of resolution, and that's ideally a server. A nice plan would be a server side component (on gnome.org of course) that has an activesync and syncml endpoint which syncs into a couchdb database for replication with the desktop. For activesync, z-push [1] works well, and can be made pretty scalable with a few changes. for SyncML, there's good open source components like funambol [2] available. I'd probably be able to swing some sponsorship for hosted servers if we can put together a team looking at this. Rob [1] http://z-push.sourceforge.net/soswp/ [2] https://www.forge.funambol.org/DomainHome.html -- Rob Taylor, CTO, Codethink Ltd. - http://codethink.co.uk Twitter: @robtaylor78 - LinkedIn: http://www.linkedin.com/in/robtaylor78 Office: +44 161 236 5575 - Cell: +44 7891 533856 _______________________________________________ desktop-devel-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/desktop-devel-list
