otter-browser
otter-browser copied to clipboard
Allow to sync resources using existing services
I put these links here just for future references when the synchronization feature will be developed... I don't know if they can be really useful but who knows ? :p
http://remotestorage.io/ http://blog.ziade.org/2014/05/23/data-decentralization-amp-mozilla/ https://blog.mozilla.org/warner/2014/05/23/the-new-sync-protocol/
bye :)
I'll had http://syncthing.net/
Syncthing is a Dropbox alternative. There's nothing wrong with that, of course, but there are two distinctly different scenarios at play.
- Dedicated browser-related sync, such as Firefox Sync and similar. Firefox Sync is an obvious choice over proprietary alternatives because you can run your own server. A list of other self-hosted implementations of possible interest can be found here, but I think only Firefox Sync implements one of Opera/Otter's greatest somewhat hidden features, keywords.[1]
- File synchronization services like Syncthing and Owncloud.[2] In this case Otter would be taking care of the sync logic independently. The aforementioned remoteStorage sounds quite interesting in this regard, especially because it has the potential to be more generic akin to Firefox Sync, but there are other potential sources of inspiration like certain Tomboy-related implementations.
In spite of its limitations, I'm more in favor of the first approach for its practicality, even if it has a few downsides like potentially not supporting Otter-specific niceties. An Otter-specific approach is presumably not only significantly harder to implement, but it also wouldn't enable happy cooperation with other browsers on other systems, most notably on mobile devices.
[1] Not just in the addressbar, but perhaps even more so the actions exposed by default under F2 and Shift+F2. [2] Although Owncloud includes bookmarks, for the most part they don't sync with browsers (except with Firefox). Also see OwnCloud issue #14.
Lately, I have been thinking of the ideal synchronisation system for Otter Browser. Since we aim to let the users have as much control as possible on what they do, we need two separate systems:
- Something big for multiple users. Would be a complete server application with complete authentication. There would be one installation available at sync.otter-browser.org for users to easily have access to the feature. It should be possible to self-host it somewhere.
- Something super light for single users like a single PHP file in a directory. It does the same thing but it is really easy to self-host it even on free limited services. It is for a single user but it could be possible to have multiple directories in parallel. I believe it is essential to provide such a solution so that it is easy to have full control of your data. For upload, simple POST requests should do the job.
In both cases, Otter will upload or download local configuration files (~/.config/otter under linux) depending on the timestamps. Additional checks could be made (browser version, extensions, etc.).
This is a mockup of the synchronisation dialog:
When the free service we provide is selected, there are 3 cases:
- The form is empty. When OK is clicked, a wizzard appears to create an account.
- An existing username is entered but the password is wrong. The user is asked to try again.
- The given username doesn’t exist. The user is prompted that he or she could have made a mistake, but if there isn’t any, we propose to create a new account.
For custom multi-user services, it could be an option to activate to allow user to create accounts directly with the browser or not.
@pierreporte How did you create your mockup?
@Frenzie I use Moqups. You don’t need to have an account to use a not so limited version of the full product (just click on the “try it now for free” button). There are a lot of alternatives, but you generally have to create an account or to pay on top of that. It does the job for posting here.
I'd use a sync service ONLY if it provided local encryption and no private keys on the server like SpiderOak. Unfortunately I can't recommend the SpiderOak Sync as it's been working rather erratically for me over the years...
@landroni, yeah, we could use generic FTP with (optionally) encrypted files as basic backend, since it should cover most use cases anyway. Once that one would be ready we could think about other, specialized backends.
There is also FSyncMS which is a lightweight Firefox Sync 1.1 (Weave) compatible sync server for bookmarks, tabs, password, history and preferences (currently only used by Pale Moon):
https://github.com/MoonchildProductions/FSyncMS
There is also a Nextcloud/Owncloud app that still works with the latest releases:
https://github.com/owncloudarchive/mozilla_sync
The APIs are described here:
https://mozilla-services.readthedocs.io/en/latest/reg/apis.html https://mozilla-services.readthedocs.io/en/latest/storage/apis-1.1.html
Passwords could be synced with bitwarden. For generally syncing data, maybe something like cozy cloud could be interesting? https://cozy.io/en/ They also have a bitwarden compatible password manager, and seem to generally be aimed towards putting basically everything you can think of into one cloud.