On Tue, 2016-02-02 at 10:55 +0100, Christian Dywan wrote:
I'd be very happy to see this work being picked up if there's enough
interest, especially with concrete use cases to solve, as looking
back the original API was not written in the best possible way,
especially the Synchronizer.
It sounds like a good idea for synchronising/backing up small bits of
app data. As mentioned, syncing ebooks or locations in ebooks for an
ebook reader. Other ideas: syncing a list of RSS feeds for the Shorts
app, locations/settings for the Weather app, tasks/notes for the notes
and tasks apps, playlists for the Music app, settings for any app, and
so on.
Ideally, I would expect the API to be simply storing data through
U1db.Database or similar. I would expect the sync to be handled through
online accounts, and can be enabled/disabled in the same way I can
give/remove permissions to apps for the microphone and camera.
This would mean that apps support syncing by default (by just storing
data in a U1db.Database), and never need to add any code to explicitly
support syncing, with all the UI work that would need to go with that.
If there are concerns of storage limits for syncing, perhaps a single
Document in the database can be the 'sync' document, and would have a
predefined size limit (e.g. 100KB or 1MB), and that Document would be
automatically synced with no extra effort from the app.