[Note: these ideas are not very well thought through. Nevertheless I'd like to get them out.]
I'd like to replicate my Buckybase documents on a central server, my laptop, my phone, and probably on some other machines, too. Per the Buckybase design, my documents are only ever edited by me, so there are no shared state issues between multiple users to think about.
The server will have a Buckybase installed, whereas the laptop and cellphone may have only a browser with client-side persistent storage (and possibly not even that), which cannot be accessed from the network (yet).
I'd like to be able to decide which feeds are replicated on which devices. For example, a public weblog or wiki could be replicated on all devices, whereas a private database could reside on the laptop only.
From my (the user's) perspective a document exists in multiple variants, one for each device. On each device, I would like to see the other devices' variants. The guarantee that each variant arrives at all other devices eventually seems sufficient.
When a document's variants differ, I'd like some smart GUI to show me the conflicts (for example, if a document's title was different on the laptop and cellphone, I'd like to see both titles. Heh, a document with two different titles, that should make some people I know nervous!)
Basically, this seems like ultra-weak consistency: because all variants are maintained at all endpoints, smart conflict detection (e.g. via Simple Sharing Extensions) and merging seem to become policy choices, higher up the stack.
Comments