Mozilla2:Device Sync:Overview

From MozillaWiki
Jump to: navigation, search

Author

Dan Mosedale <dmose@mozilla.org>

Goal

Have a device (eg PDA, cell-phone) syncing story for the Mozilla-based applications on the big three platforms. In practice, the most critical data sources for syncing will be related to Calendar:Device_Sync (events, todos) and mail (addressbook, emails), though other things such as bookmarks may also turn out to be interesting.

Requirements

  • tie in to the host platform's native syncing architecture, where applicable
  • be usable with all major groups of devices (Palm, Windows Mobile, various phones)
  • should function whether or not the primary Mozilla UI Apps in question (e.g. Sunbird, Thunderbird) are executing
  • provide a basic API to allow developers to easily write conduits for their preferred synchronization architecture

Existing work

  • Addressbook synchronization for the Palm on Windows is already implemented. At first glance, the code appears to be highly specific to both the Palm and Windows. The architecture document is worthwhile reading.

Strategy

As far as I can see, there is no magic sync panacea. SyncML is good step in the standards direction, but just implementing that won't help with the zillions of existing PDAs and phones that don't support it.

So we need to come up with a list of sync platforms/conduits that would be desirable to support, and list information about each one and the APIs that are relevant there. I think our best bet is to come up with a page of Mozilla2:Device_Sync:Platforms and fill in as much information as we can about each.

Once this is done, we will be in a better position to begin fleshing out Mozilla's sync API such that (if we do our job right and are suitably lucky) writing any given conduit will consist of writing relatively simple adapter code to the conduit or SyncML API.

Issues

Known issues that need to be dealt with/thought about:

  • intellectual property rights & licensing
  • IPC for conduits

I'll add more about the above stuff soon.