# SyncML

SyncML, or Synchronization Markup Language, was originally developed as a platform-independent standard for information synchronization. Established by the SyncML Initiative, this project has evolved to become a key component in data synchronization and device management. The project is currently referred to as Open Mobile Alliance Data Synchronization and Device Management. The purpose of SyncML is to offer an open standard as a replacement for existing data synchronization solutions; which have mostly been somewhat vendor, application, or operating system specific. SyncML 1.0 specification was released on December 17, 2000, and 1.1 on February 26, 2002.
A SyncML message is a well-formed XML document that adheres to the document type definition (DTD), but which does not require validation.

## Internals

SyncML works by exchanging commands, which can be requests and responses. As an example:
* the mobile phone sends an Alert command for signaling the wish to begin a refresh-only synchronization
* the computer responds with a Status command for accepting the request
* the phone sends one or more Sync command containing an Add sub-command for each item (e.g., phonebook entry); if the number of entries is large, it does not include the <Final/> tag;
* in the latter case, the computer requests to continue with an appropriate Alert message, and the mobile sends another chunk of items; otherwise, the computer confirms it received all data with a Status command
Commands (Alert, Sync, Status, etc.) are grouped into messages. Each message and each of its commands has an identifier, so that the pair (MsgID, CmdID) uniquely determines a command. Responses like Status commands include the pair identifying the command they are responding to.
Before commands, messages contain a header specifying various data regarding the transaction. An example message containing the Alert command for begin a refresh synchronization, like in the previous example, is:
The response from the computer could be an XML document like (comments added for the sake of explanation):
The transaction then proceeds with a message from the mobile containing the Sync command, and so on.
This example is a refresh where the mobile sends all its data to the computer and nothing in the other way around. Different codes in the initial Alert command can be used to initiate other kinds of synchronizations. For example, in a "two-way sync", only the changes from the last synchronization are sent to the computer, which does the same.
The Last and Next tags are used to keep track of a possible loss of sync. Last represents the time of the last operation of synchronization, as measured by each device. For example, a mobile may use progressive numbers (1, 2, 3, ...) to represent time, while the computer uses strings like "20140112T213401Z". Next is the current time in the same representation. This latter data is stored and then compared with Last in the next synchronization. Any difference indicates a loss of sync. Appropriate actions involving sending all data can be then taken to put the devices back in sync.
Anchors are only used to detect a loss of sync; they do not indicate which data is to be sent. Apart from the loss-of-synchronization situation, in a normal (non-refresh) synchronization, each device sends a log of changes since the last synchronization.

## SyncML client connectors and plugins

| Name | Platform | Application | Contacts | Calendar | Memos | Tasks | Book-marks | E-mail | SMS | Photo | Video | Music | Files | Notes |
| Syncfriend for MS Outlook | Windows XP/Vista/7 | SyncML and ActiveSync client for Outlook 2007/10 | Yes | Yes | | | | | | | | | | Also supports Google sync including feeds from Facebook, Twitter and LinkedIn. Free version synchronizes 200 contacts in any custom folder |
| Gemalto / O3SIS AG | Windows Mobile | SyncML Client, Personal Life Mobilizer | Yes | Yes | No | Yes | No | Yes | Yes | Yes | Yes | Yes | | commercial, over-the-air installable client, Videos, Photo, Ringtones, SMS, MMS, as well |
| Gemalto / O3SIS AG | Android | SyncML Client, Personal Life Mobilizer | Yes | Yes | No | No | No | No | No | Yes | Yes | Yes | | commercial, over-the-air installable client |
| Gemalto / O3SIS AG | iOS | SyncML Client, Personal Life Mobilizer | Yes | Yes | No | No | No | No | No | Yes | No | No | | commercial, over-the-air installable client |
| Gemalto / O3SIS AG | Symbian, Series 60 | SyncML Client, Life Mobilizer Push Mail Edition | Yes | Yes | No | Yes | No | Yes | Yes | Yes | Yes | Yes | | commercial, over-the-air installable client |
| Gemalto / O3SIS AG | BlackBerry J2ME from OS 4.5, Nokia S40, Sony Ericsson J2ME | SyncML Client, | Yes | Yes | No | Yes | No | No | No | Yes | | | | commercial, over-the-air installable client |
| SyncEvolution | Unix/Linux | Evolution, KDE/Akonadi, plain files, ... | Yes | Yes | Yes | Yes | No | No | No | | | | | free, command line, Genesis GUI frontend |
| libsynthesis | Linux, iOS | SyncML client+server engine library | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | | | | Open-source, LGPL+EPL, DB backend via plugins or SQL, custom content formats possible |
| SyncEvolution | Maemo 5 | system address book/Contacts, Dates | Yes | Yes | Yes | Yes | No | No | No | | | | | free, command line |
| SyncEvolution | OS X, iPhone | system address book | Yes | No | No | No | No | No | No | | | | | free, command line |
| Funambol | WINNER | Pocket PC, Smartphone | Yes | Yes | Yes | Yes | No | Yes | No | Yes | | | | plus files in 'briefcase', AGPL v3 |
| Funambol | Symbian | Symbian S60 3rd/5th Edition | Yes | Yes | Yes | Yes | | | | Yes | | | | AGPL v3, adds push and picture sync capabilities to native client |
| Funambol | Android | Android Sync Client | Yes | Yes | Yes | No | No | No | No | Yes | | | | Open Source, AGPL v3; very specific to onemedia.com, attempts to use it with other SyncML servers have failed |
| Funambol | BlackBerry | BB Databases | Yes | Yes | Yes | Yes | | | | Yes | | | | Open Source, AGPL v3 |
| Funambol | iOS | AddressBook | Yes | | | | | | | | | | | Open Source, AGPL v3 |
| Funambol | Java Email Client | Java ME, J2SE | Yes | | | | | Yes | | | | | | Open Source, AGPL v3 |
| Funambol | Windows | Outlook | Yes | Yes | Yes | Yes | No | No | No | Yes | | | | Open Source, AGPL v3 |
| Funambol | OS X | Desktop | Yes | No | No | No | No | No | No | No | | | | Open Source, AGPL v3 |
| Funambol | Multi-platform | Java ME, J2SE, C++ | Yes | Yes | Yes | Yes | * | * | * | | | | | Open Source SDK, AGPL v3 |
| Funambol | Palm OS | Palm Databases | Yes | No | No | No | | No | No | | | | | Open Source, AGPL v3, Community Project |
| Funambol Community Project | Windows, Linux | iPod | Yes | Yes | No | No | No | No | No | | | | | sync via cable, Open Source, AGPL v3 |
| Funambol Community Project | Windows, Linux, Mac | Thunderbird, Sunbird | Yes | Yes | | Yes | No | | No | | | | | Open Source, AGPL v3 |
| Funambol | Yahoo!, Google | Contacts, Calendar | Yes | Yes | No | No | No | Yes | No | | | | | Open Source, AGPL v3 |
| Nokia | Symbian 9.x | Nokia S60 3rd/5th Edition native | Yes | Yes | Yes | Yes | Yes | No | Yes | | | | | MMS, too! |
| Synchronica | Windows Mobile | Pocket PC, Smartphone | Yes | Yes | No | Yes | | Yes | | | | | | emails, attachments and folders |
| Synchronica | Sun Java Systems Communication Suite | Sun Comms 4, 5 and 6 | Yes | Yes | No | Yes | | Yes | | | | | | |
| Synchronica | Microsoft Exchange | 2003 and 2007 | Yes | Yes | No | Yes | | Yes | | | | | | Using OWA (WebDAV) |
| Synchronica | Lotus Domino | 6 | Yes | Yes | No | Yes | | Yes | | | | | | Using IMAP and CORBA |
| Synchronica | Google | Calendar, Contacts | Yes | Yes | No | No | | Yes | | | | | | |
| Synchronica | MSN/Hotmail/WindowsLive | Contacts | Yes | No | No | No | | No | | | | | | |
| Synchronica | Java Content Repository | Any JCR compatible server | Yes | Yes | Yes | Yes | | Yes | | | | | | JCR (JSR-170) back-end API |
| Synchronica | Palm OS | mobile devices | Yes | Yes | No | Yes | | Yes | | | | | | |
| Synchronica | OS X | iPhone | No | No | No | No | | Yes | | | | | | over the air (OTA) using IMAP/SMTP |
| TSync | Windows, Linux, OS X, * | Thunderbird | Yes | No | No | No | No | No | No | | | | | free, GPL |
| SyncML2iPhone | iPhone | iCal | No | Yes | No | No | | | | | | | | free |
| MyTT | Symbian | S60 all version | Yes | Yes | Yes | Yes | | | Yes | | | | | free, support file upload/download, only Chinese version |
| MyTT | Windows Mobile | Pocket PC, Smartphone | Yes | Yes | Yes | Yes | | | Yes | | | | | free, support file upload/download, only Chinese version |
| MyTT | Windows | Outlook | Yes | Yes | | Yes | | | | | | | | free, only Chinese version |
| MyTT | MTK | 25,26,28 | Yes | Yes | | Yes | | | Yes | | | | | |
| MyTT | Brew | | Yes | Yes | | | | | | | | | | |
| plan44.ch | iOS | iOS contacts and calendar, separate tasks and calendar | Yes | Yes | No | Yes | | | | | | | | commercial, free contacts-only version |
| Synthesis | Android | Android databases, internal tasks and notes, Astrid Tasks, Alex Baker's Tasks, OI notes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | commercial, multiple sync profiles, scheduling |
| Synthesis | Windows Phone 8 | Windows Phone 8 contacts, calendar | Yes | Yes | No | No | | | | | | | | commercial |
| Synthesis | Palm OS | Palm Databases | Yes | Yes | Yes | Yes | No | Yes | No | | | | | commercial, multiple sync profiles, scheduling |
| Synthesis | Windows Mobile | Pocket PC, Smartphone | Yes | Yes | Yes | Yes | | | | | | | | commercial |
| Synthesis | Windows | Outlook, Outlook Express | Yes | No | No | No | | | | | | | | commercial |
| Synthesis | Windows, Linux, OS X | SQL, ODBC, SQLite3, PlainText | Yes | Yes | Yes | Yes | * | * | * | | | | | Programming SDK w/API's in C, C++, Delphi, Java, & .Net |
| Synthesis | Windows, OS X | Sunbird/Lightning | Yes | Yes | No | No | | | | | | | | DEMO application included with SDK |
| Synthesis | Windows, Linux, OS X | Client Desktop DEMO/ODBC/Plugin | Yes | Yes | Yes | Yes | * | * | * | | | | | Scriptable utility to connect with any other client side application or database. |
| TTSync | Windows Mobile | Pocket PC, Smartphone | Yes | Yes | Yes | Yes | * | * | * | | | | | commercial |
| TTSync | Symbian | S60, 1,2,3 version | Yes | Yes | Yes | Yes | * | * | * | | | | | commercial |
| CompanionLink | Windows | Various | | | | | | | | | | | | commercial |
| SyncJE by Nexthaus | Windows Mobile | Windows Mobile | Yes | Yes | No | Yes | | | | | | | | commercial |
| SyncJE by Nexthaus | OS X | OS X | Yes | Yes | No | Yes | | | | | | | | commercial |
| SyncJE by Nexthaus | Windows | Outlook | Yes | Yes | Yes | Yes | | | | | | | | commercial |
| SyncJE by Nexthaus | Windows | Outlook Express | Yes | No | No | No | | | | | | | | commercial |
| SyncJE by Nexthaus | Windows | Lotus Notes | Yes | Yes | Yes | Yes | | | | | | | | commercial |
| SyncJE by Nexthaus | Windows | ACT | Yes | Yes | No | Yes | | | | | | | | commercial |
| SyncJE by Nexthaus | Palm OS | Palm Databases | Yes | Yes | Yes | Yes | | | | | | | | commercial |
| SyncJE by Nexthaus | BlackBerry | | Yes | Yes | No | Yes | | | | | | | | commercial |
| SyncJE by Nexthaus | iOS | iPhone | Yes | No | No | No | | | | | | | | commercial |
| Critical Path (Memova) | J2ME | Phone Backup Client | Yes | | | | | | | Yes | Yes | Yes | Yes | commercial |
| Voxmobili (An OnMobile Company) | Windows Mobile, Android, OS X, Symbian, J2ME... | SyncML Client, VoxMobili Client | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | commercial |
| Yota Contacts | Windows Mobile | SyncML Client, Address book | Yes | | | | | | | | | | | free, shipped with Yota HTC MAX 4G |
| Synchronoss | Blackberry, Symbian, Palm OS, Windows Mobile, Android | SyncML Client, MightyBackup, Network Address Book | Yes | | | | | | Yes | Yes | Yes | Yes | Yes | commercial, with over 10 Million clients deployed |
| Synchronoss | Windows | Outlook Connector | Yes | Yes | Yes | Yes | | | | | | | | |
| Synchronoss | Exchange | Microsoft Exchange Connector | Yes | Yes | Yes | Yes | | | | | | | |
| Pleex | Android, Bada, Blackberry OS, iOS, J2ME, Symbian (S60/S40/UIQ), Windows Mobile | Various | Yes | | | | | | Yes | Yes | Yes | Yes | Yes | Media sharing and community networks too |

## SyncML servers

| Name | Platform | Application | Free? | Contacts | Calendar | Memos | Tasks | Book- marks | E-mail | Photo | MMS | Files | SAN$^1$ | Notes |
| Alt-N Technologies' MDaemon Email Server | Windows | SyncML Server | No | Yes | Yes | Yes | Yes | | | | | | | SMB email OTA mobile device sync |
| Group-Office | PHP | Data Synchronization but not Device Management | No | Yes | Yes | Yes | Yes | | Yes | | | | | E-mail is synced with IMAP |
| Funambol | Java (Linux, Windows, OS X) | Data Synchronization and Device Management | Yes | Yes | Yes | Yes | Yes | | Yes | Yes | | Yes | | Open Source, Java and C++ SDK, OEM & ISV Partners, AGPL v3 |
| mySync DM | Java (Linux) | Data Synchronization and Device Management | No | Yes | Yes | Yes | Yes | Yes | Yes | | | | | Includes SMS backup on Android and Symbian platforms. Carrier-grade. |
| Synthesis | Windows, OS X, Linux x86 | SyncML Server | No | Yes | Yes | Yes | Yes | | Yes | | | | | SDK - (Java, C/C++, .Net API's), OEM & ISV Partners |
| syncgw | PHP | SyncML, CalDAV, CardDAV, ActiveSync Server | No | Yes | Yes | Yes | Yes | Yes | | | Yes | | Yes | platform independent PHP SyncML server, OMA push service; Support for WebDAV (CardDav/CalDAV) and Exchange ActiveSync (EAS) |
| libsynthesis | Linux, iOS | SyncML client+server engine library | Yes | Yes | Yes | Yes | Yes | | Yes | | | | | Open Source, LGPL+EPL, DB backend via plugins or SQL, custom content formats possible |
| Compelson | ASP .Net, IIS, SQL Server | SyncML Server | No | Yes | Yes | Yes | Yes | | | | | | | |
| IceWarp Messaging Server | Windows, Linux | SyncML Server | No | Yes | Yes | Yes | Yes | | Yes | | | | | Enterprise Groupware |
| Winfonie mobile 2 | Windows | Desktop SyncML Server (discontinued, no longer available) | No | Yes | Yes | | Yes | | | | | | | Desktop SyncML server, connects with Microsoft Outlook, Lotus Notes, Lotus Organizer, Mozilla Thunderbird, Lightning, Tobit David, Palm Desktop, combit etc. |
| Synchronica | Java (Solaris, Linux, Windows, OS X) | Mobile Gateway | No | Yes | Yes | Yes | Yes | | Yes | | | | | Service Providers, OEMS, Enterprise, supports OMA CP, OMA DS Push, OMA EMN and IMAP IDLE |
| Horde | Linux | Horde | Yes | Yes | Yes | Yes | Yes | | No | | | | | Web Groupware, open source |
| Access NetFront Sync | Linux, Solaris | SyncML Server | No | Yes | Yes | Yes | Yes | | Yes | | | Yes | | Enterprise sync solution |
| eGroupWare | PHP | SyncML Server | Yes | Yes | Yes | Yes | Yes | | | | | | | Email uses IMAP, Open Source groupware |
| TimeMaker Server | Linux | SyncML Server | No | Yes | Yes | | Yes | | Yes | | | | | Leadership software. E-mail is synced by using integrated POP3/SMTP. |
$^1$SAN = Server Alert Notification. This SyncML Push technology is based on definitions by the Open Mobile Alliance and extends the existing SyncML protocol specification by offering a method of server initiated synchronization.

## SyncML hosted services

| Provider Name | Target Market | Price | Contacts | Calendar | Memos | Tasks | Bookmarks | E-mail | E-mail to SMS | SMS | MMS | WebDAV | CalDAV | Notes |
| Access NetFront Sync | Enterprise sync solution | commercial | Yes | Yes | Yes | Yes | Yes | Yes | | Yes | Yes | | | SyncML standard sync server, has been deployed for Japan KDDI, China Telecom |
| AOL Sync Service (discontinued) | Consumer | free | yes | yes | No | No | | yes | | | | | | SyncML standard sync server |
| basota.com | Consumers | €10/year | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | |
| ComEase | cell phone backup | | | | | | | | | | | | | |
| CompanionLink | data synching of disconnected applications | commercial | Yes | Yes | Yes | Yes | | | | | | | | |
| Compelson | demo | free | Yes | Yes | Yes | Yes | | | | | | | | |
| Contails | Provides a one address book solution to contact management. Supports sync via mobile phones and several other services like mail and Instant Messengers. | Free | Yes | | | | | | | | | | | SyncMl based synchronization, webmail synchronization |
| GooSync | Beta | paid | Yes | Yes | | Yes | | | | | | | | Google Calendar Synchronisation |
| GSMSync | | free / paid | Yes | Yes | Yes | Yes | Yes | | | Yes | | | | |
| hotpim | Service Providers, Device Manufacturers, Enterprises | free | Yes | Yes | Yes | Yes | | | | Yes | | | | Support media file with self client,full-text search engine，only Chinese version |
| MemoToo | Consumer and business | free / paid | Yes | Yes | Yes | Yes | Yes* | No | | Yes | | Yes | Yes | Free services limited to 100 items stored for any category - OTA configuration, Photo for contact, Category support, Sortable tasks |
| MightyPhone | Brew Cell Phone Owners | | Yes | Yes | No | No | | | | | | | | limited client support |
| Keep | | free | Yes | No | No | No | No | No | No | No | No | No | No | formerly: Everdroid |
| Mobilesynchro | cell phone backup | free / paid | Yes | Yes | Yes | Yes | | | | Yes | | | | SyncML based SMS synchronization, OMA/OTA configuration |
| myFunambol | consumer | demo | Yes | Yes | Yes | Yes | No | Yes | | No | No | No | No | Tasks and notes can not be viewed or edited online |
| MyTT | Beta | free | Yes | Yes | Yes | Yes | | | | Yes | Yes | | | Support media file with self client,full-text search engine，only Chinese version |
| O3SIS.com | Carriers and Service Providers, Enterprises, Retail, Device Manufacturers, Partners | commercial | Yes | Yes | Yes | Yes | | Yes | Yes | Yes | No | No | No | Showcase available with OTA configurator, downloadable clients |
| O-Sync | Consumer | free | Yes | Yes | Yes | Yes | | | | Yes | | | | contact self-update feature |
| PhoneCopy | consumers, community | free/paid | Yes | Yes | Yes | Yes | Yes | No | | Yes | Yes | No | No | All data can be viewed, edited or deleted online. Supports all platforms (Android, BlackBerry, Apple, Windows Phone, ActiveSync, Symbian, SyncML, ...). |
| picoBeat | consumer and SoHo | Development has halted and new users are not being accepted. Existing users can still use their account. | Yes | Yes | Yes | Yes | | | | | | | | Elements can be edited online |
| PhoneBackup | Consumer | paid | Yes | Yes | | | No | | | No | No | | | OTA configuration |
| ScheduleWorld | consumer | paid (service shut down on November 30, 2010) | Yes | Yes | Yes | Yes | No | Yes | No | No | No | Yes | No | calendar sharing, multiple calendars, Google calendars, Email via Over The Air (OTA) provided by IMAP/SMTP |
| Soocial | Provides a one address book solution to contact management. Supports sync via mobile phones and several other services like GMail. | SERVICE CLOSED | Yes | No | No | No | No | No | No | No | No | No | No | SyncML based Contact synchronization. Outlook client, OTA configuration & downloadable clients. |
| Synchronica | Service Providers, Device Manufacturers, Enterprises | | Yes | Yes | Yes | Yes | No | Yes | Yes | No | No | Yes | Yes | Live demo available with OTA configuration |
| Synkia | cell phone backup | paid | Yes | Yes | Yes | Yes | | | | Yes | | | | SyncML based SMS synchronization, OMA/OTA configuration, server alerted sync. |
| syncgcal.com | Google Calendar sync service | free / paid | | Yes | | | | | | | | | | Google Calendar Synchronisation (including shared calendars) |
| Syncfriend | A self updated phonebook. Supports multiple phones per each account. Automatic duplicate elimination. | Free | Yes | Yes | | | | | | | | | | User friendly web interface. Not working. |
| Voxmobili(An OnMobile Company) | Provides a complete synchronization solution. Supports sync via mobile phones and PC clients. | commercial | Yes | Yes | Yes | Yes | | Yes | | Yes | Yes | | | SyncML based Personal Data synchronisation |
| Yota users, online community | | free | Yes | | | | | | | | | | | Contacts management as a part of social network |
| MightyBackup | | paid | Yes | | | | | | | | | | | commercial, with over 10 Million mobile clients deployed |
| Network Address Book | Service Providers, Enterprise | commercial | Yes | | | | | | | | | | | |
| MightyPhone | Brew Cell Phone Owners | paid | Yes | Yes | Yes | Yes | | | | | | | | |