Dear b2g friends,
As you may know, one of the core pieces for the NGA Toolkit work is Data Sync. We did more discussion/research/analysis for these first two quarters and have some decisions, plans and WIP works which would like to share with you. As mentioned in previous threads, we are focusing our work based on three major concepts taken from the core of Mozilla's mission: - User choice We believe that users shouldn't be tied to a specific storage provider like in other platforms (iCloud on iOS, Drive on Android...), so we'd like to provide a solution where users can choose their preferred storage provider(s). - User privacy User privacy is key for us. Whatever we implement here should allow users to opt-in to encrypt the data on the client side and store it encrypted on the selected cloud storage provider. - User identity We want to use Firefox Accounts as the authentication mechanism for this service and link this account to the user selected cloud storage provider accounts. With these concepts in mind, we have split the work in two major parts: 1. Synchronization of Browser/System data This includes all the data that belongs to the OS (browser) itself. Things like the list of installed apps, bookmarks, browsing history, passwords, form data, addons, prefs, etc. We chose to use the existing Firefox Sync platform for synchronizing this kind of data. This is a long time requested feature and we are already (and slowly) working on adding this support for FxOS. If you want to dig a bit more about the technical aspects of this implementation you can check the slides at [1]. They might not say much by themselves, but they will be properly introduced at Whistler. Also, if you want to follow the progress of this implementation, you can take a look at this meta bug [2] 2. Synchronization of InApp data. This includes all the data that doesn't belong to the OS but to the web apps themselves. Things like contacts data, sms/mms, call log, alarms, in-app specific settings (i.e. email or calendar accounts configuration), music, photos and a big etc. Because this includes a big set of information to be synchronized we also split this in different parts: 2.1 File synchronization It is not the same to synchronize plain JSON documents than big media files. We need a solution to remotely store and synchronize media files. Among others, there's an interesting proposal to provide an Universal Storage API and a Virtual Storage Interface. We will present this at Whistler, but you can have a first taste of it at [3] 2.2 Document synchronization We'd like to provide a cross browser solution for web apps to synchronize their local databases in a way that fulfills the three major requirements that we presented above. For this part there are several existing tools that we can use to build such a solution like kinto [4], pouchDB [5], remotestorage.js [6], or cloud storage[7]. We are still working on figuring out what the best tool(s) is for this part. You can read a bit more about data synchronization on FxOS on the projects wiki [8] that we try to keep up to date. And last but not least, we will be having a two hours session to present what we've done so far at Whistler. We are looking for participation and feedback so if you have the chance, please come by and share your thoughts with us. Date/Time: 6/23 Wed. 1-3pm Venue: Westin - Alpine B [1] http://ferjm.github.io/fxos-sync-architecture/1-fxos-sync.html#/ [2] https://bugzilla.mozilla.org/show_bug.cgi?id=824026 [3] https://wiki.mozilla.org/Firefox_OS/Cloud_Storage [4] https://github.com/mozilla-services/kinto [5] http://pouchdb.com/ [6] https://github.com/remotestorage/remotestorage.js [7] https://wiki.mozilla.org/Firefox_OS/Cloud_Storage [8] https://wiki.mozilla.org/Firefox_OS_Data_Sync Thank you so much! / The Data Sync Toolkit team Aaron Wu Engineering Project Manager, Mobile Device Mozilla Corporation cell: +886-955-361-456 email: [email protected] skype: waaron2000 On Tue, Jun 16, 2015 at 6:35 PM, Aaron Wu <[email protected]> wrote: > Dear All, > > Here I would like to share what we are doing on data sync and cloud > storage project, there are two topics covered. > > 1. Browser/System Data Sync > > For Browser/System specific data we chose to use the existing FirefoxSync > platform. > That will give users a way to backup Firefox OS systemdata like the list > of installed apps, the browser history, their bookmarks, etc. and to access > this data from any Firefox product (Desktop, Android, iOS, OS). > > > - Offline support: Application can be executed offline and syncthe data > automatically > while it gets into the network environment. > - Cross browser support: The web app data should be syncedeven among > the different browser environments. > > 2. In-app Data Sync > > We can be grouped in below > > > - Documents, including in-app specific settings or things like SMS, > call history, alarms, etc. > - Files, such as photos, music and other media. > > Two proposals for in-app data sync, not finalized yet. > > > - Generic storage and storage provider proxy > > The Cloud Services team has been working on a generic storage service to > allow 3rd party apps to store andsynchronize arbitrary data, attached to > a Firefox account. They've also supported the idea of having an > intermediate service that would act as a proxy for different storage > providers. > > > - Universal Storage API and Virtual Storage Interface (Cloud Storage) > > It is a mechanism to support resource accessing on user’s cloud storage > for web apps > > A. General interface for cloud storage: We want to provide a general > interface for web app developer to access different cloud storage. It means > developer no need to maintain different cloud storage support in their apps > anymore. > > B. Cache mechanism: We also provide the cache mechanism to speed up the > file accessing. > > C. Cloud storage plugin system: This is a system to support storage > providers who can apply their storage service on FirefoxOS. > > In Whistler, we will have a session for Data Sync and Cloud Storage. feel > free to walk-in and contribute your thought :D > > Date/Time: 6/23 Wed. 1-3pm > Venue: Westin - Alpine B > > > Thank you so much! > > Aaron Wu > Engineering Project Manager, Mobile Device > Mozilla Corporation > cell: +886-955-361-456 > email: [email protected] > skype: waaron2000 > >
_______________________________________________ dev-b2g mailing list [email protected] https://lists.mozilla.org/listinfo/dev-b2g
