SyncML is intended to be a primary mobile application enabler beyond simple Internet access from mobile devices. It is intended to enable data synchronization between a diverse set of computing devices, including mobile handheld devices, mobile phones, personal computers, and network servers. It is designed to be transport agnostic and extensible such that it can work with a variety of network transports. It is designed to accommodate emerging data standards. It is anticipated to span application domains from personal information management applications to mobile business applications.
One key element of SyncML is that it is a message-based specification. Message-based specifications have been successful in client-server and distributed systems. Standards and technologies, such as Component Object Request Broker (CORBA) [Bol01], RMI, and Distributed Component Object Model (DCOM) [Roc98], that depend on acceptance of a particular programming interface have not been widely adopted beyond limited domains. Since SyncML is message-based, it allows platforms such as mobile phones to maintain their proprietary nature and still interoperate with diverse server computers and diverse applications. Another key element of SyncML is the conscious allowance for differentiation. SyncML does not attempt to standardize the functions of synchronization engines that capture diverse application semantics, realizing that it is harmful for application growth and is ultimately not a tractable problem.
The SyncML testing and conformance programs and regular SyncFest events have also played a key role in the proliferation of SyncML. The conformance tests give application writers a basic bar to clear before they are allowed to join interoperability testing with other application vendors at a SyncFest. When an application vendor or a device manufacturer demonstrates interoperability with two or more other entities, the vendor receives the right to use the SyncML Logo. The logo program has created substantial enthusiasm around SyncML, and efforts to obtain the logo have naturally resulted in more development using SyncML. Chapter 13 elaborates on the SyncML conformance and interoperability certification process.
The price of interoperability is often performance. If SyncML manages to be the lingua franca of data synchronization, but it takes too long to synchronize using SyncML or its implementation stack cannot be accommodated in resource-constrained mobile devices, the industry will not embrace it as a de facto standard. It must be a practical specification. Chapter 4 outlines the various design tradeoffs SyncML makes to realize a practical, useful means of data synchronization.
SyncML targets multiple market segments. The next chapter illustrates representative applications in detail in the consumer and enterprise space. Currently mass market applications like contacts and calendars are primarily beginning to use SyncML. Applications in numerous vertical segments, including banking, insurance, health care, and retail can also use SyncML. Adoption of SyncML in various industry segments is a key to it becoming a universal data synchronization standard.