Re: ThreePointOne: Contacts

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 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 Taylor, CTO, Codethink Ltd. -
Twitter: @robtaylor78 - LinkedIn:
Office: +44 161 236 5575 - Cell: +44 7891 533856

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]