Calendar:Device Sync: Difference between revisions
m (→Sync with PalmOS: reply to question) |
SebboKleine (talk | contribs) |
||
Line 53: | Line 53: | ||
- I put a rough outline on your User Talk page [[User:Jminta|Jminta]] | - I put a rough outline on your User Talk page [[User:Jminta|Jminta]] | ||
- Created a sourceforge project for developing a conduit to sync Palm Todo-list and tasks with Sunbird: [http://sourceforge.net/projects/palmsunbirdsync/ PalmSunbirdSync]. | |||
There is still some planning to make, before programming can begin. If anybody want's to join this project, feel free to do so. | |||
[[User:SebboKleine|SebastianKleine]] 14:46, 17 Jan 2006 (PST) | |||
=== Possible Windows/PocketPC workaround ==== | === Possible Windows/PocketPC workaround ==== |
Revision as of 22:46, 17 January 2006
Device Sync
We are working on the ability to synchronize calendar with handhelds (pda's). This should with a wide range of devices, and on the main platforms (windows, linux, mac). It should work with all types of calendars that we offer (ics, caldav, sqlite)
- On linux, communicating with the handheld can either be done directly (libvisor) or by third party software, such as multisync or opensync. OpenSync is a general synchronization framework that currently runs on linux and mac. A windows port is also planned. The plugins are ported from the multisync project, so everything available there, will also be available in opensync (palm support, irmc, syncml, gpe, opie, wince devices). You can also have a look at the short whitepaper describing opensync. Since opensync is just a library it would be possible to embed it directly in the application.
- On windows, there is activesync and hotsync (iirc). But I don't know enough of them to decide what to use. What are its capabilities? Does it have sync logic build in?
- AIUI, HotSync is a Palm-specific (closed) sync client, while ActiveSync is (closed) WinCE-specific. You can write conduits for HotSync; I think there are dev kits available for this. I don't know about ActiveSync. Syncing to mobile devices also includes mobiles IMHO, which will probably use a mix of sync clients (e.g. Siemens S55 uses XTNDConnectPC, Motorola use StarFish's TrueSync) which could all probably have "conduit" equivalents written for them. I don't know if this is the approach you want - it's potentially a lot of different interfaces. -- BenS
- Concerning ActiveSync, there is a possibility to write conduits. This however involves serious headaches, as IIRC the API is a true Microsoft spec, if you know what I mean. Therefore many 3rd party sync utilities rely on some sort of client-pull mechanism on the PocketPC side. (see sync4j)
- An addition to BenS comment above: Late-model Sony Ericsson phones also use XTNDConnectPC to sync with Windows and also directly with Microsoft Outlook.
- On mac, i don't know the situation at all.
- There's something called ".Mac" sync on OS X. To integrate with this, you can use the DotMac SDK [[1]] -- BenS
- While iSync from Mac OS 10.3 is not syncML compatible, .Mac sync (included with Mac OS 10.4) is.
Calendar already needs to have support for syncing two calICalendars (see Calendar:Networking Sharing Syncing). The logic to sync two calendars could be reused, either by implementing a calICalendar for the handheld, or by making the logic a little bit more general.
Another approach is to make the third party app export the handheld data into a file calendar can read. This calendar can then be synced, and after that the third party app can send the data back to the handheld.
The third way is to create some ipc between calendar and the thirdparty app, and let that app do the logic. multisync has the logic build in, but what about windows and mac? And do we want to depend on multisync?
The downside with those approaches is that calendar needs to run while syncing. This is mainly because we also want syncing to work with non-ics calendars, like caldav.
SyncML
SyncML is a standard, but can we use it safely without any worries?
- AIUI (from reading other projects' mailing lists and web pages), it is implemented slightly differently across different clients. There is certification for interoperability of SyncML products; the list is long and at [[2]]. NB it can use HTTP as a transport, and a fair few of the clients on that list seem to support HTTP rather than OBEX; this should be relatively easy to integrate into Mozilla :-) - BenS
- All of the IPR patents for SyncML are presently only at application stage according to the Open Mobile Alliance's IPR Declaration page [[3]]. If they make it through, I'm guessing either the Moz Foundation or users would have to pay licensing on it. What's the policy on this kind of thing? - BenS
- Most Symbian OS Series 60 and above, late-model Sony Ericsson, and (AFIACT) all >=2004 Motorola phones have SyncML support in one form or another. Some only via OTA (Over The Air, ie: HTTP), and some like the new Motorola Linux-based phones (a768i, a780) support it via OTA, USB and infrared. One benefit of SyncML support, as BenS noted, would be a large base of device support.
- The current version of Apples iSync (2.1 (shipped with Tiger)) is NOT syncML compatible.
- SyncML seems a good idea to me in general. Perhaps a generic SyncML support would be great, so conduit sync could be left to the end user. (Using, for example, the sync4j project mentioned above.
- We (the people from the opensync project) are currently implementing a new syncml plugin. Since we didnt find a usable syncml library we started to write our own with support for general syncml, DS, Devinfo and later maybe DM. The supported transport mechanisms are http client, http server and obex client. It will be ready for testing at around middle of june. The license will be GPL.
- Looking at your (opensync) web-page, it seems that a possible approach would be to use opensync as the sync engine, taking it as a whole library - forget just SyncML, it would make more sense to simply use opensync as a whole. Are there any major obstacles to that?
Help Wanted
To make a plan that will work, we need to know what the situation is on Windows and on MacOSX. What apis are available to talk to handhelds? What logic is available?
If you know more about those platforms from a developers perspective, please note it.
Sync with PalmOS
I don't know anything about MacOS and PocketPCs, but I can tell a bit about Windows and Palm-pda's. There is a sync-software called HotSync (as written above). You can write conduits for this software. Don't know why they are called conduits, they are basically plugins. They are loaded and run when you 'hotsync' a pda with your pc. This is done by pressing the hotsync-button on the pda's base-station. These conduits can be used to syncronize information between the pda and software on a pc. The sync-process is not startet by pc-software (i.e. Sunbird), but instead by the pda's owner pressing a button. I guess it shouldn't be a problem to write a conduit that syncronizes events and tasks between a pda and Sunbird, if there is an api to the calendar-database. So that you can access events and tasks without actually starting Sunbird.
Update I managed to access the Palm Todo database during a hotsync-operation using VisualBasic 6 (thats the only language I have). I will now try to figure out, how to access Sunbirds tasks. It would be great, if someone can give me some hints here.
SebastianKleine 01:24, 13 Jan 2006 (PST)
- I put a rough outline on your User Talk page Jminta
- Created a sourceforge project for developing a conduit to sync Palm Todo-list and tasks with Sunbird: PalmSunbirdSync. There is still some planning to make, before programming can begin. If anybody want's to join this project, feel free to do so. SebastianKleine 14:46, 17 Jan 2006 (PST)
Possible Windows/PocketPC workaround =
OK, it isn't pretty, but as a temporary fix until a proper sync solution can be developed would it be possible to write something to sync between thunderbird/sunbird and [the desktop version of] Outlook (which is supplied with every PocketPC to my knowledge) - then ActiveSync will work normally in syncing between Outlook and PocketPC
Sync4j Mozilla Synchronizer
I am particularly glad to announce that we had a contribution for a first release of the Sync4j Mozilla Synchronizer, a Mozilla plug-in that allows you to sychronize the Mozilla calendar with a Sync4j SyncML server. Check out more information here: Sync4j Add-on.
Stefano