View Single Post
Quote:
Originally Posted by dennismccarthy View Post
Then I added an item to the phone, hit sync... wasn't there on the mac. However when I went to the mac OF pref panel and clicked sync, Victory! ( I think there is some sort of natural lag before it lands in OF - not sure how this works or why I had to initiate a sync from the mac - maybe the OF folks can shed some light on this)
OmniFocus (on the desktop and on the phone) has no way of being notified that data has changed on another Mac or device, so it polls periodically to check for changes. Currently, at least, it will check once an hour for new data - if you want it to check more often, you can manually initiate a sync. I think this is the situation you are hitting.

Now, when you make a change on one device, OmniFocus on that device knows that it has local changes, so it will try to sync those changes to the server pretty quickly (currently within 2 minutes, because maybe the Mac or phone/iPod will get put to sleep soon, or a second device will be looking soon to see if there are changes, etc.). When it does that, it will get any changes on the server that it didn't see previously. Note that if you make changes in OmniFocus on the phone and then exit it (hit the Home button, follow a web link, etc) before it has a chance to sync, it won't be able to push its changes to the server until you launch it again. (Same goes for the Mac, but you're generally less likely to quit OmniFocus on the desktop before it has had a chance to push its changes to the server.)

(During a sync, if the same item - action, context, etc. - has been changed on multiple devices/Macs, OmniFocus assumes that you want the most recent change so it will keep that one. If a sync is interrupted, whatever portion of the data got synced will be available for other devices to pick up when they sync - the remainder of the changed date will have to wait until the originating device gets another chance to sync.)


The takeaway here is that syncing from one device does not immediately update any other devices - they won't see the change until they sync as well, which can be done manually, or will be done automatically once an hour (that period is subject to change). On the phone, since apps tend to be quit frequently, it will sync on launch if it has been an hour since it last synced. I don't believe that we do that on the desktop, at least not yet.

Also, syncing is more efficient if you only make changes on one device at a time - this typically allows the changes to be incorporated very quickly, whereas if a sync has to resolve both local and remote changes, it has to do a lot more work in order to ensure data integrity. So my advice would be that if you are quickly changing between devices (your phone and your Mac, for instance), sync both devices as you switch between them. Also, if you make changes, make sure you manually perform a sync or give OmniFocus enough time to sync on its own before you exit OmniFocus. (Or realize that those changes will not get propagated until later.)

-andrew