The Omni Group
These forums are now read-only. Please visit our new forums to participate in discussion. A new account will be required to post in the new forums. For more info on the switch, see this post. Thank you!

Go Back   The Omni Group Forums > OmniFocus > OmniFocus Syncing
FAQ Members List Calendar Today's Posts

 
iPhone 4 and iOS4 lose auto-sync? Thread Tools Search this Thread Display Modes
*sigh*

I obviously don't understand your point... there is a problem with OF on iOS 4. It doesn't work well. Why do we keep going round and round?

Last edited by ifonline; 2010-07-02 at 06:09 AM..
 
I was trying to help you understand that your concern about the lack of database optimization appears to be unwarranted. As for the sync bug, Omni is working on it. I haven't seen anything to suggest they feel the current behavior is acceptable, have you?

"The floggings will continue until morale improves" :)
 
I'm not sure how you see my concern as unwarranted. As it stands, it appears that OF on the iPhone under iOS 4 only runs one time. From that point forward, the app moves between being in the background and being in focus. I don't consider moving into focus the same as launching (and it appears that OF doesn't either), and so I don't believe optimization ever occurs after the initial instance. If I'm right, then optimization will never happen again, unless you specifically force OF to quit (versus move into the background) and then relaunch it.

In other words, if I force the app to quit and then relaunch it, I see the message that the database is being optimized. However, if I allow OF to move into the background and then bring it into focus again, I don't see the message. It doesn't matter how many times I move the app into the background and bring it into focus again, I never see the optimization message. However, if I force it to quit, I do see the message the next time OF launches.

This is further evidenced by the fact that OF did not update the due soon/overdue status on one of my tasks this morning until after I forced it to quit. It definitely appears that OF does not handle being brought into focus in the same way that it handles being launched, and as such, several things that normally happen when the app is launched do not happen when the app is brought into focus. This is a big deal.

So, I believe that the app is misbehaving when it is brought into focus after being in the background, and as a result:

1. Sync when launching does not happen,
2. Optimization when launching does not happen, and
3. Due soon/Overdue status is not updated.

I could definitely be wrong, but I'd like to hear and opinion one way or another from OmniGroup.

Last edited by ifonline; 2010-07-02 at 06:10 AM..
 
Why is it that you think that the database optimization step needs to happen repeatedly if the application has not been terminated and its memory reclaimed? What do you think that the database optimization does?

The database optimization step does not handle updating the due soon/overdue status of tasks. This is easily demonstrated by putting your device in Airplane mode, launching OmniFocus, creating a new action with a due date a few minutes in the future, going to the Due Soon screen, and watching as the new action disappears (and appears on the Overdue screen) as the due date strikes, all without the app being relaunched or synced.
 
I think that database optimization, well... optimizes the database. What makes you think that has anything to do with memory being reclaimed? And are you actually trying to suggest that never, ever optimizing the database is okay?

And as for your test regarding Due/Overdue... that doesn't happen on mine on iOS 4. As I said earlier, the status wasn't updated until I forced OmniFocus to quit and then relaunched it. OmniFocus optimized the database (according to the message I saw) and then *poof* the status was updated.

Last edited by ifonline; 2010-07-02 at 06:10 AM..
 
I'll check in and get details from Ken, but he's triaging OmniFocus for iPad bugs at the moment. More info soon. :-)
 
Thanks. Oh, and I sent a support e-mail about this, just so you are aware.

Last edited by ifonline; 2010-07-02 at 06:10 AM..
 
I'm piecing this together from a long chat thread with Ken, so apologies in advance if I get some of this wrong and he needs to correct me subsequently. :-)

Optimization: terminology is a bit mushy here. There are actually two pieces to optimization, which I'll describe below.

The first piece occurs at launch. We load all the transactions out of storage and into a database that's kept in RAM; that's what actually makes the app fast while you're using it. You can't actually use OmniFocus without doing this, and while you're using it it's always loaded into that optimized database.

However, scanning your transactions to place them in that fast database can get slow as transactions build up. The second type of optimization deals with that; we compact the XML transactions so that we can scan them more quickly. This part happens automatically any time we sync; we just don't show a specific "optimizing database" progress bar.

Folks that aren't syncing can force this second type of optimization to occur by tapping a button. Note the emphasis there - if you're syncing, that button gives you no additional benefit, and can, in fact, interfere with syncing. That's why it's disabled. :-)

Upshot here: the optimization really only affects app launch time. If you're syncing, a lot of it is still happening on a continuous basis, and the rest will be taken care of next time the app launches. iOS 4 reduces the need to launch apps, but it doesn't eliminate it. The OS will kill apps in the background if it needs more resources, and if the phone ever reboots, all the apps start from scratch the next time they're launched.
 
Quote:
Originally Posted by ifonline View Post
It appears that because the application is in the "background" it never processes a sync during startup.
OmniFocus will automatically sync once an hour, or any time the sync button is pressed if you need more frequent updates. It doesn't sync every time it comes to the foreground because folks don't like to wait for sync to finish before they can use the app. :-)
 
Quote:
Originally Posted by ifonline View Post
So I'm clear... when I add/edit something on the iPhone, I have to specifically press the sync button or the desktop will never see the changes?
I know I'm repeating my last post, but I don't want folks to read this later and get confused. OmniFocus syncs when it's been an hour since the last sync, or when the sync button has been tapped. It's not meant to sync every time the app comes from to the front.
 
 




Similar Threads
Thread Thread Starter Forum Replies Last Post
When does the iPhone auto-sync? vocaro OmniFocus Syncing 7 2011-04-11 02:45 PM
auto-sync iPhone question jwares OmniFocus for iPhone 4 2011-03-30 06:33 AM
iOS4 and Location based background support kunicki OmniFocus for iPhone 13 2010-07-28 02:29 AM
Auto-sync only one-way? santra OmniFocus Syncing 0 2008-07-15 06:29 AM


All times are GMT -8. The time now is 07:30 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.