Hello everyone, I realized that Ryan Kelly suggested me to send an email to talk about that a while ago just after the Orlando All Hands but with the focus change on the Firefox OS project to Connected Devices, the deployment were delayed and the future of this project was quite uncertain.
I wanted to tell you about Syncto, which is a little project [0] [1] we have been working on for the Firefox OS Sync client, which is now deployed in production [2] and used by the Panasonic CX700 Firefox OS 4K TV. As you know Firefox Sync have been built with the idea of synchronization between multiple instances of Firefox so that at least one of your Firefox have got the data at any time. For the mobile, the problem was that users needed to backup some data (contacts, images) and it was unlikely that they would have another phone to sync them with. We wanted to make sure that if one lose their phone, their data were still backup-ed somewhere. There were also the idea of sharing some of one's data with one's family/friends or having web apps that would share part of the app data to part of the app users. That's why we started working on Kinto [3] to propose something quite similar to Sync but with storage, sharing and fined-grained permissions with the Readinglist as our first usecase. As you have probably noticed the Kinto protocol is quite similar to the Sync protocol and we used what Mozilla learned while building Sync to build Kinto. With that in mind, the first synchronization use case for Firefox OS was Sync so we wanted to build a sync client for Firefox OS knowing that we would have to also build a Kinto client for other apps. We decided to build an experiment to see if it was possible to have the same Firefox OS client to sync data with Firefox Sync as well as with Kinto using the Kinto.js client that had landed in Gecko all of that encrypted using Firefox Account wrap-kB. Because the Sync protocol and the Kinto protocol are quite similar it was possible and the Firefox OS team ended up using Syncto and Kinto.js to sync encrypted user history and passwords between Firefox and Firefox OS. The benefit of this is that Kinto.js is now able to encrypt user data as it was the case for Sync. Today Syncto is using a BrowserID assertion toward the token server and will cache the hawk credentials as well as sync endpoint for a given user for the life of the assertion. The client only talk to Syncto which act as a proxy between the Firefox Sync and the Kinto protocol. It is easy to scale because Sync already does scale and Syncto being stateless it is easy to deploy as many nodes as needed. As soon as Firefox Sync will support FxA Bearer tokens it could be interesting to add this feature in Syncto. If you want to play a bit with Syncto, you can use HTTPie with PyFxA to build the assertion and call the Syncto API. [4] Today our biggest plan for Kinto are to add the storage.sync [5] feature for Web Extension add-ons that would use the Firefox Account and kB to store and sync user add-ons preferences. If you have any questions do not hesitate to send us an email at [email protected] Best regards, Rémy [0] https://wiki.mozilla.org/Firefox_OS/Syncto [1] https://github.com/mozilla-services/syncto [2] https://syncto.services.mozilla.com/v1/ [3] http://kinto.readthedocs.io/en/stable/ [4] http://syncto.readthedocs.io/en/latest/api/resource.html#get--buckets-syncto-collections-(collection_id)-records [5] https://wiki.mozilla.org/WebExtensions/chrome.storage.sync *Demos* If you want to see nice demos of web apps that are using Kinto, you can have a look at: https://github.com/Kinto/kinto/wiki/App-examples My favorite ones are probably: * http://almet.github.io/kinto-geophotos/ and http://almet.github.io/kinto-geophotos/admin * https://www.fourmilieres.net/ You may also want to start playing around with the Kinto Admin: http://kinto.github.io/kinto-admin/ The community around Kinto is starting off and more than one Android Game developers are slowly moving from Parse to Kinto.
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Sync-dev mailing list [email protected] https://mail.mozilla.org/listinfo/sync-dev

