Today we’ve released updates for both Mac and iOS that bring Push-Triggered Sync to every copy of OmniFocus. Due Soon also includes a new option—“Today”—which includes only items due before midnight instead of over “the next 24 hours.”
A Brief History of Sync
We added sync to our v1.5 betas in 2008. We were using Apple’s .Mac (soon-to-be MobileMe) service and were spurred on by the introduction of the App Store. Data needed to propagate!
A few years later, in 2010, we started building the Omni Sync Server. Fleets of Mac Minis were deployed, stacked beside each other in a rack. Over the years we made a lot of optimizations, and it worked very well.
Soon we started moving towards what some might call real server hardware. (We’re currently using FreeBSD and have been experimenting with SSDs.)
Then, we started looking at how sync actually worked—for OmniFocus that’s individual transactions going back and forth so that no data or edits are lost—and how we could improve server and client performance. Obvious: send them to all devices as soon as they happen.
Implementation wasn’t trivial, but that’s essentially what we did when implementing Push-Triggered Sync for iOS. Using Apple’s Push service and a backend of our own, both Omni Sync Server and custom WebDAV servers just work. Sync times improved and they happened in the background. We were initially concerned that we’d need to slow our rollout to not overwhelm our servers, but it went smoother than expected and everyone got it the first day.
Your data is there when you open the app, unlock the screen, look at your Today Extension, or glance at your Watch complication.
Adding Mac
But we can’t use Apple’s Push Notification Service to deliver sync triggers to Mac because most of our customers buy directly from us—those copies aren’t eligible to use Apple’s service.
So, over the past few months, we built our own service for Mac to match what Apple’s APN provided us on iOS. And it’s in the latest update waiting for you right now.
Omni Magic Push Service, or OMPS, is just as anonymized as the iOS counterpart we described in our Push Sync for iOS blog post, so we’ve turned it on by default for sync users. For even more details check out our support article.
OMPS is still in its youth, but with around 2,000 copies of OmniFocus for Mac using it, its held up extremely well!
Near-instant data propagation across the suite
So when you finish entering a new task on your watch with Dictation, it’ll be on your Mac and iPad Pro within a few seconds.
A lot of hard work went into this by many people at Omni! If you’re interested in learning more about the technical aspects, continue reading here. Otherwise, update and enjoy!