Cloud Zone is brought to you in partnership with:

Programmed Macs since Inside Mac came in 3-ring binders; programmed iPhones since the first day the SDK was downloadable. 51 apps in the App Store to date, and always looking for new and interesting contracts! Alex is a DZone MVB and is not an employee of DZone and has posted 144 posts at DZone. You can read more from them at their website. View Full User Profile

Cloud Syncing

04.24.2011
| 1763 views |
  • submit to reddit
So if you’re doing productivity applications, chances are that sooner or later you’re going to run into the question of how to sync your data files across multiple devices and/or platforms. A particularly good example of a category that finds that a compelling problem is task managers. Here’s a couple posts with worthwhile discourse on the subject:

 

To Sync or not to Sync

Discusses all the options the Today Todo people considered/observed others using:

  • Do it yourself – ie, Appigo’s Todo built on Moki Mobility.
  • MobileMe
  • Google Calendar
  • Google Docs
  • Evernote
  • File based sync – ie, Omnifocus syncs to MobileMe or a WebDAV folder
  • Dropbox


We’re inclined to think that the advantages of using Dropbox are reasonably compelling here, particularly if you’re resource constrained in your development.

Now, on the other hand, if you’re not particularly constrained by resources, take a read through Cultured Code’s (that’s the Things people) recent thoughts on the same topic:

State of Sync, Part II

… We were so intrigued that we decided to develop a sync solution based on Git’s core ideas. Since these were general ideas anyway, we decided to create a solution that isn’t tied to the specific properties or needs of Things. Instead we wanted to create a general framework that could be integrated with any application no matter what the specific data model or sync policies of this application were.

But we didn’t stop there. If you create something new, knowing that the technology will be needed on multiple platforms, it is worth thinking about a cross platform strategy. We ended up with detailed plans to create a JavaScript-based cross-platform data model framework with Git-inspired sync built in. This strategy required substantial portions of all versions of Things to be rewritten. It was clearly the most ambitious project we ever took on. Dissatisfied with our previous attempts, we didn’t want to settle with anything short of perfection…


Indeed. Well, we certainly encourage people whose tools we rely on ourselves to take that admirable approach. Around here though, “pretty darned good given the time and money constraints” is pretty much the highest possible target, and using Dropbox for sync functionality looks like a good first order approximation to that in most circumstances.

Finally, some more worthwhile comments on the first post here,

Sync with cloud – Today ToDo

First point. Resist ALL temptation to host own service. This will invariably lead to an enormous amount of dissatisfaction with the app itself as even the slightest outage will globally affect the perception of the entire application … At least if using a third party service, the blame can be transferred…


Yes. Yes, indeed.

References
Published at DZone with permission of Alex Curylo, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)