One of the most requested features I have for Elements, my writing and notes app for iOS, is support for iCloud instead of Dropbox.
Usually the person requesting iCloud is different from the person who loves using Elements with Dropbox. In most cases, they don’t have a Dropbox account or don’t want to manage the external dependency on a third-party service. Others are the types that just want everything managed by Apple’s services.
Apple has been getting flack for Core Data’s iCloud support lately with both The Verge and Ars Technica writing about the frustrations developers face trying to implement the technology properly. On the more technical side, Bare Bones’s Rich Siegel went so far as to explain in detail the issues they have seen trying to add iCloud support to Yojimbo.
Core Data’s iCloud gets most of the grief when it comes to the public perception of the troubles, but document sync isn’t all oats and honey. I have had a nearly complete version of Elements ready to ship with iCloud support for several months. Why do I say nearly complete? There are bugs related to iCloud’s document syncing architecture that make me extremely uncomfortable shipping the software.
The goal of any software developer is to release products that are as bug-free as possible. During the beta cycle of the Elements for iCloud product, we ran into many strange issues with documents resurrecting themselves from the dead, delays in renaming and updating documents and situations where the document sandbox would just completely become busted to the point where a reset was the only way to resolve the issues.
My competitors such as iA Writer and Byword both ship iCloud support. They also have long support documents detailing the troubleshooting steps to resolve iCloud syncing issues. Everything listed is stuff I have seen on my end as well.
Ultimately, I decided the support overhead and headache wasn’t worth it at this time. Dropbox isn’t perfect by any means, but at least when it screws up I have a pretty good idea what went wrong and, most importantly, a way to help users get their data back.
iCloud is at the core of Apple’s future, but from a third-party developer’s perspective, that core is pretty rotten.