The free OmniSync Server makes life a lot easier and keeps your OmniFocus world, well, in sync. If you use your own WebDAV server you have the same capabilities but without the awesome "Mail Drop" feature which allows you to email in your actions.

While the OmniSync Server is fairly reliable, it is not necessarily the fastest syncing solution on the planet. In particular when your database gets larger and more convoluted.

I spent another week travelling last week which required me to sync OmniFocus over 3G and the experience was far from ideal. Generally waiting is something I do not mind, but after 5 minutes even I get impatient. You can throw your toys out and go all mad about the sync service and change your todo app because of it. That is what I generally call "over reacting".

Instead I suggest to go through the following steps to trim your OmniFocus database for significantly improved sync speeds via the OmniSync server or your on WebDAV.

Archive Your Data Regularly

Without a doubt you have completed 616 tasks and 93 projects in the last 6 months, but you have not moved that legacy from your main OmniFocus database to the archive. Do it now by selecting 'File > Move Old Data to Archive…' and select an appropriate date. Usually I keep the last month of completed items in my main database.

While you are at it also create a monthly recurring actions to archive OmniFocus as it does not happen automatically and causes all your old, completed or dropped items to by synchronised back and forth to your iOS devices.

Disable Sync

OF-iPhone-DB-ResetBefore you proceed please make sure you have a backup of your OmniFocus database in case something goes South. Assuming you have just archived your old items away from your main OmniFocus database, it is now time to compact your database.

This functionality is only accessible in OmniFocus for Mac if sync is disabled. But before we disable it we should also disconnect any iOS versions of OmniFocus to avoid any unintended consequences. Whether in OmniFocus iPhone or iPad (or both) got to the 'Settings' screen and press the big red 'Database Reset' button. This will wipe out all data from your OmniFocus iOS instance and cut the cords to the Sync Server. Hence make sure you synced before and made a backup of your data.

Compact Your Database

OF-Mac-Sync-PrefsIn OmniFocus for Mac first make sure you have synced with the server (^⌘S) open the Preferences and set 'Sync with' in the 'Sync' tab to 'Nothing'. When closing the Preferences window and going back to the File menu of OmniFocus, you will find that 'Compact Database' is no longer greyed out. Press it and have your database turned into a slimmer version of itself.

Turn It Back On

OF-Mac-Share-Sync-SettingsNow that the database is trimmed we are ready to turn sync back on and enjoy unprecedented speeds:

  1. Change your Sync settings in OmniFocus for Mac back to 'Omni Sync' or 'Advanced' (if you use your own server) and select 'Replace Server Database…' from the 'File' menu to ensure the Cloud has your new, lightweight OmniFocus database.
  2. Use the options in OmniFocus for Mac Sync preferences to either share your sync setting temporarily over your Wifi network with your iOS devices or simply share the settings via email.
  3. Either select the 'Setup Sync' option in OmniFocus for iOS or press the link in the sync settings email to reconnect your iPhone/iPad back with the sync server. You will need to have your OmniSync Server or personal WebDAV access credentials at hand.
  4. If asked, accept that the device database is replaced by the server one.

Bang! Unseen speeds for OmniFocus Sync, even over 3G. No wonder as my database is now more than 50% smaller than before. Only remaining activity is to set a reminder every 6 or 12 months to go through this 5-10 minutes process.

Update: Simplified Sync Reset & Compact

OF-Mac-Sync-Clients

OmniGroup's Ken Case highlighted to me on Twitter that unregistering the different iOS devices from within the OmniFocus for Mac Sync preferences ('Show Clients') is a more efficient way than disconnecting them individually. You do not even need to disable sync and compact the database manually afterwards in OmniFocus for Mac. Just sync with the server and OmniFocus will automatically compact the database.