The past six months have also shown that, without proper developer tools and a clear explanation of how things work in backend, things don't "just work" — in fact, quite the opposite: some developers have given up entirely on building iCloud apps for now, others are wishing for new APIs that would make the platform suitable to their needs, while the ones who did implement iCloud in their apps are torn better the positive feedback of "it just works" users, and the frustration of those struggling to keep their data in sync on a daily basis.
I played a little bit with iCloud on a iOS personal project. Unsurprisingly, it is hard to get syncing right.
It was obvious from the start that supporting iCloud would not been easy. There are many fallacies to avoid once an application depends on the network (especially when it is as unreliable and spotty as a cellular network) and version conflict resolution works best with a deep knowledge of your domain.
Apple documentation for iCloud is too high-level to be helpful. The best resources I found about iCloud development are lectures 17 & 18 of Stanford's iPad and iPhone Application Development by Paul Hegarty. These lectures give the correct mindset to comprehend and work with iCloud.
Supporting iCloud is not an easy task and it requires to really think about it. It is not just about dropping files in a directory. However when it works seamlessly, it improves and simplifies the user experience. The user benefit is worth the developer pain. With the release of Mountain Lion I expect Apple to continue to improve iCloud API and features and make more developer resources available as they learn from adding iCloud to their own apps.
(via The Loop)