Documentation
SyncEvolution synchronizes personal information management (PIM) data like contacts, calenders, tasks, and memos using the SyncML information synchronization standard. For more information about what it does and does not, see the about page. As mentioned there, SyncEvolution is available for different platforms and with different frontends.
The documentation available here gives an overview of some frontends, then focuses on the core SyncEvolution and how to get started with it. That part uses the command line tool because it is the one which typically works on all platforms the same way. The GUIs are meant to be self-explanatory, so just fire them up and give them a try.
Genesis is a graphical frontend for SyncEvolution written in PyGTK. It makes SyncEvolution accessible without having to use a command line and provides graphical feedback of transaction results. It has to be installed separately in addition to the SyncEvolution core.
Genesis GUI

Choosing a SyncML server
SyncEvolution can synchronize with SyncML-capable devices directly since version 1.0. In that case no additional server is needed.
But a server can be useful when the goal is to have the data available via some web interface or to synchronize while traveling. There several different options:
- Using a web service like ScheduleWorld or myFUNAMBOL, which store the data to be synchronized on a server and provide access to it through SyncML.
- Installing a SyncML server, like the free one from Funambol, on one's own server.
- Running SyncEvolution as HTTP SyncML server: for advanced users and thus currently documented in the "developer" section. This is the only known server which fully passes all stress tests, including advanced features like session suspend&resume and message resending.
The recommended solution is ScheduleWorld because it is easier than setting up a server and provides better support for vCard and iCalendar data than the stock Funambol server installation.
The following actions will work, with a server that fully supports SyncML and vCard/iCalender:
- Copy a complete database to the server and restore it from the server later.
- Delete or modify an item locally, then make the same change on the server.
- Delete, modify, or add items on the server (by synchronizing with another client), then make the same change locally.
- Conflict resolution (where two clients modify the same item, then sync with the server) is handled by the server, but SyncEvolution has support which ensures that no data is lost by creating duplicates.
For conflict resolution and synchronization between clients which support different attributes of items, the server needs an understanding of the format of items.
