Shared backup between several devices / users

Registered by Pionir on 2011-04-27

I would like to be able to run several devices off the same DB e.g. myself and my partner (shared via Google Docs backups?).

I think this could only work after automatic google docs backups have been implemented.

New transactions/schedules etc could be pushed into a change file (on google docs & encrypted with the program pin) as they are entered on the first device. The second device would periodically check for new files, download, decrypt and play them into its Financisto DB.

A simple warning for collisions could be implemented by storing a unique "device ID" in each change (to avoid false warnings on the same device) and show a popup for transactions with the same value and different device IDs within a set time period (previous day or week?). This should alert to the possibility the same transaction was entered on two devices. A manual choice of it's ok or delete one of the blotter entries should sort it.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Sprints

Whiteboard

You have got this feature running ok with http://www.flowzr.com

---
I have the exact use-case as you described, as was looking into how I can hack the DB portion to synchronize the databases between different devices. And seeing that Google does not offer online database support, I'm not sure how this can be done with Google.

Local transactions stored on a Google account would have to be accessed by another. The technique seems viable but I'm not sure how the user interface of merging accounts can be incorporated.

----

David:
How about storing each transaction as a new file with the app on the phone handling the merging to a central DB.

-----

Kay:
I suppose the app makes use of a local database to store its data. We could use a vector clock to timestamp the entries and then merge/sync with a central DB, ala CVS. This way we do not need a transaction file since we can just compare between databases.

The techniques of doing this is not new, but we'll have to modify the database and its handling. Unfortunately I'm not sure how this will impact compatibility with future updates or make the app bloated. I've been wanting to study the design of the app on how to best implement this, but hasn't the time yet to do so.

-----

makeijan:
What about using dropbox as sync third-party service instead of gdocs?

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.