An extensible device synchronization architecture and user interface is
provided. A variety of device classes are supported, and support is also
provided for mass storage, WMDM, MTP, AS, etc. An extensible UI model is
provided that allows content type specific setting UI to plug-in. Support
for 2-way synchronization is also provided. The synchronization
architecture includes a content type user experience level, and a
synchronization engine layer, with handlers and a synchronization engine
API which handlers can use to manage their item level synchronization
relationships and implement the semantics of the synchronization. In
addition, the content that is being synchronized may be transformed so
that the user's experience on the destination device (e.g., mobile phone,
portable audio player, PDA, other type of personal or handheld computer,
etc.) is optimized and these transforms are also extensible.