Data Sync for Web
Overview
The goal of data sync is to store the browser data in a remote service so that different instances of Epiphany in different machines can all share that data an appear to be in synchrony.
We will sync:
- History
- Bookmarks
Other potential data to sync:
- Session state
- Cookies
The Epiphany bug to track this feature is here.
Implementation
Nothing is implemented so far, so for now this is just brainstorming/potential ideas, subject to change.
The feature should be implemented in the core browser, not as an extension. But:
It "could" be implemented internally as an extension, if that makes sense (like EphySession).
The data storage selection could be make pluggable to allow for other options (for instance, Ubuntu could use UbuntuOne, which we very likely won't use as default).
A reasonable option for the default backend would be FirefoxSync:
- The design of its APIs and data storage is public and open source.
- The design and implementation of the server part is also open source.
- Their instance of the sync server is publicly available and can be used by anyone.
- This would allow syncing between Epiphany and Firefox, and also allow cross-platform syncing (eg, to Firefox on Windows or OS X, or to mobile browsers that support Firefox Sync)
Things to double check:
- What do we need to do with our data to be able to use their service.
- Can be run indefinitely on their server or would it make sense to have sync.gnome.org at some point.
Summer of Code
There's a proposal to do this feature as a GSoC item, see here.