I have been using OmniFocus for a full year now. I track hundreds of items in it and use it daily (multiple times per day) to get things done. It has become an essential part of my life.
Lately I've become fed up with OmniFocus. Well, actually I've been fed up with OmniFocus for several months. But I've kept using it because the cost of switching is so high. No more. I bit the bullet and committed several hours recently to replicating all of my action items into Things.
What was so egregious about OmniFocus?
It comes down to one thing really - how long it takes to record a new 'to-do' (or task) for myself.
Consider this: From the moment you hit 'new task', it may take you 10 seconds to record a new task like 'pick up the dry cleaning'. In a lot of situations where you're in conversation or doing some other activity, taking a 10 second break is acceptable. Your spouse will wait for you. (Your boss might not, but your spouse will.)
But suppose it took a full minute to launch the application and get a usable entry screen? Now we're talking about a break long enough for the other person to engage in their own time-filling activity. It's completely disruptive.
To be fair, it doesn't take OmniFocus on the iPhone a minute to launch. Though it can take 10 or more seconds. It likes to 'optimize' the database before giving me any control. Then once I get control, I don't actually have control because it starts syncing with a remote copy of the database and the UI is unresponsive. This is where it goes way beyond the 10 seconds. Why must syncing take all available CPU so that the UI is unresponsive until it is done? And why must it 'optimize' the database before I get a usable entry screen? Regardless of why, the end result is way too many seconds until I can make a new entry.
As it turns out all of these extra seconds are not just 'less seconds' out of my day. Rather, I noticed myself actually skipping the recording of a new task thinking, "I don't have time to wait right now. I'll do it later." This of course completely defeats the purpose of the list - to get stuff out of your head!
I use OmniFocus on the Mac together with OmniFocus on the iPhone. The iPhone version is the more important user experience because that is always with me. But I use the Mac version to do more comprehensive reviews where lots of screen real estate comes in handy. So I have to sync the two.
OmniFocus syncing is severely lacking. It routinely takes a full minute or more to sync even when I've only changed a couple of action items. The algorithm appears to transfer a lot more data than necessary. And I've had more than one occasion to have OmniFocus tell me that it couldn't resolve something and that I would have to choose to start fresh from either the local database or the database on the server. (At which point I'm supposed to remember what I edited since the last sync so that I can make this choice wisely and minimize re-entry. This also kind of defeats the purpose of making a to-do list in the first place).
As a programmer I know that syncing does present interesting challenges. But this is a problem that has been solved quite well by many people. The folks over at OmniFocus need to invest in an overhaul of their sync algorithm or this is going to continue to frustrate users.
I could share many examples of great syncing experiences I have with other products that just work. But the list is pretty long, so back to OmniFocus.
I thought for a while that part of the problem might have been the fact that I was syncing OmniFocus through MobileMe. But after trying the local sync option for a while and experiencing the same problems, I can no longer blame MobileMe.
The OmniFocus sync solution may be 'good enough'. But because of the interplay with launching the app and getting a responsive interface, 'good enough' isn't.
Now that I've switched to Things, I never have to wait more than a few seconds for a sync to finish. The folks at Cultured Code got this one right.
I'll cover more differences between OmniFocus and Things in a future post - after I've had a year to live on Things. For now OmniFocus lost for failing at the most basic task - quick entry. They designed a good quick entry screen. They just didn't start measuring quickness from the moment the user taps on the application icon to launch it.