Change Default Sync Times of OmniFocus For Mac and iOS

In my post about OmniFocus and flagged Mail.app messages, I wrote that there’s no way to tell the app to sync every few minutes. I was wrong. As reader Bill Pallmer told me, there are two settings to change the default sync behavior of OmniFocus for Mac. In Terminal, you can use these commands to change how often OmniFocus will start a new sync and sync after an edit, respectively:

defaults write com.omnigroup.OmniFocus MaximumTimeBetweenSync -float 30

defaults write com.omnigroup.OmniFocus TimeFromFirstEditToSync -float 2

The numeric value after the -float flag indicates time in seconds. As explained by Ken Case on The Omni Group forums, you’ll have to quit and restart the app after using these in Terminal; you also can’t go lower than 2 seconds for TimeFromFirstEditToSync and 15 seconds for MaximumTimeBetweenSync.

There are two hidden preferences which control the timing of automatic synchronization, MaximumTimeBetweenSync and TimeFromFirstEditToSync. Both are specified in seconds. MaximumTimeBetweenSync is how often OmniFocus looks for changes on the server when no changes have been made locally; it defaults to 3600 seconds (one hour). TimeFromFirstEditToSync is how soon OmniFocus will sync after you’ve made an edit, and it defaults to 60 seconds (one minute).

If you have the Mac App Store version of OmniFocus, change the first part of the command to com.omnigroup.OmniFocus.MacAppStore.

The great thing about these commands is that they also work on iOS in debug mode. They share the same name and settings, but a different URL:

x-omnifocus-debug:set-default:TimeFromFirstEditToSync:2

x-omnifocus-debug:set-default:MaximumTimeBetweenSync:30

To activate the iOS settings, choose the value you want, and paste the URL into Safari: OmniFocus will open and tell you that you’re enabling a debug option, as pictured above. The app will quit; restart, and it’ll now sync more often according to how you changed the default setting. Obviously, remember that you’ll be consuming 3G data for sync, so don’t set it to refresh too often, unless you don’t have a problem with that.

To revert to factory settings on iOS, use:

x-omnifocus-debug:reset-default:MaximumTimeBetweenSync

This is a great tweak, because I run my own OmniFocus sync server for a variety of reasons, and I always want to make sure I have the latest version of my database. Thanks Bill.