Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7181785
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 28, 20262026-05-28T17:37:49+00:00 2026-05-28T17:37:49+00:00

I wonder what are the difference between SyncML and CalDAV in terms of features,

  • 0

I wonder what are the difference between SyncML and CalDAV in terms of features, pros, and cons.

I’m trying to determine which technology to use in order to synchronize events/calendars between a web app and mobile devices. I need to handle conflicts and bi directional synchronization.

At first glance, CalDAV seems to be the most suitable for my needs but I’m not sure to know possibility drawbacks. SyncML is a standard but I read some posts on Oracle’s blog which said CalDAV is better…

I know Google supports both but also provides ActiveSync (Exchange) which is a Microsoft technology as their main solution. I’m not interested in this way.

Cheers,
William

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-28T17:37:50+00:00Added an answer on May 28, 2026 at 5:37 pm

    Well, I can answer myself.

    CalDAV

    CalDAV is a protocol on top of WebDAV which is an extension of the HTTP protocol. CalDAV is described in RFC 4791. It uses iCalendar as data format. There are a lot of implementations.

    About conflicts CalDAV uses the 409 Conflicts status code (HTTP 1.1). The client has to deal with this error code, as far as I know, iCal (the Mac client) just reverts local changes.
    Then, it’s quite easy to define rules in the server to know what to do if there are conflicts, if you cannot solve one of them, then we just need to send a 409 status code.

    As a standard, CalDAV is dedicated to manage calendar data, and there are a lot of clients.

    Unfortunately, Android doesn’t provide any native solution to use this protocol, actually it doesn’t provide anything else than Exchange ActiveSync (used by Google). But there are tons of CalDAV clients on the Android Market.

    iOS has a native support of CalDAV.

    SyncML

    Synchronization Mrkup Language is a platform-independent synchronization language to manage data, created by major companies like Nokia, IBM, … It’s an open standard. It uses HTTP as transport and XML to describe information. There a various server implementations, Funambol is a well-know for instance.

    SyncML describes seven synchronizations:

    • Two-way Sync: both server and client shares information about changes, but the client is the first which send changes;
    • Slow sync: the client sends all its data. The server determines a delta between its data and client’s data, then the server sends this delta. It’s often used on the first synchronization;
    • One-way sync, client only: the client sends changes to the server;
    • Refresh sync from client: the client sends all its data, the server sends all its data;
    • One-way sync, server only: the server sends changes to the client;
    • Refresh sync from server: the server sends all its data, the client replaces its data by server’s data;
    • Server alerted sync: the server asks the client to start a given synchronization.

    SyncML handles conflits on the server with a set of predefined rules like Updates mades on the Client always win, Updates mades on the Client always win, …

    SyncML is dedicated to synchronize data but neither iOS nor Android support it. Nokia or Samsung smartphones seem to support this protocol, as well as Windows Phone 6.

    So?

    Microsoft Exchange ActiveSync is the best choice to support almost all smartphones, and heavy clients too. But, it’s not an open standard, and it’s commercial, and I didn’t describe it for these reasons, just remember it.

    About mobile Operating Systems:

    • Android doesn’t support anything else than ActiveSync, but some good CalDAV clients exist;
    • iOS supports CalDAV but doesn’t support SyncML, and as far as I know, there is no SyncML client for calendar data (Funambol provides a client for contacts);
    • Windows Phone 7 doesn’t support anything else than ActiveSync;
    • RIM (BlackBerry) doesn’t seem to support CalDAV but there are SyncML clients;
    • I’m not sure about other OS (like Bada, …).

    In France, iOS represents 60% of the mobile market, and Android has 30%.

    The best solution (at least for me), is to start by implementing a CalDAV server with a set of custom rules to handle conflicts, and then to implement a SyncML server to cover the rest of the market.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I wonder what the difference is between Class.getResource() and ClassLoader.getResource() ? edit: I especially
I'm quite new to Oracle's ADF and wonder what is the difference between ADF
i wonder what the difference between a library and a plugin is? if a
I wonder what is the difference between annotation() and text() functions in Matlab? In
i wonder if there is any difference between class TestClass { private $_var =
I wonder what is the difference between these two: gcc -s : Remove all
i wonder what the difference is between these two declarations: var delay = (function()
I wonder what the difference is between bzr checkout ./MyProject MyProject.dev # later followed
I wonder what the difference between echo 'hello'; ls and echo 'hello' && ls
I wonder what the difference is between Cloudant and CouchOne.

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.