I think there's an intimidating middle ground, though, between a truly general purpose application like Keynote or Excel and a purely specific purpose app like Photobooth, Google Earth or Skype. These applications today look a lot like structured databases. There are many exmaples - iTunes, iPhoto, Aperture, Lightroom, Delicious Library, Evernote, Mail - and I think there is a lot of anxiety amongst users about how to approach these applications.
Some of the applications I mentioned are easier to approach than others, due to the greater amount of direction (or reduced flexibility) they give to the user's actions. I suggest to you that iPhoto provides more direction to the user than Aperture and is therefore easier for most people to approach.
These structured-database applications also come with a relatively high cost if you get your approach wrong early on. If you've been shooting heavily for two years in Aperture and then realise that it would have been much better to use time-based organisation, rather than project based, the cost to change is almost too high to contemplate. I still get grateful emails about my article from January "Organising Projects and Folders in Aperture".
People need real-world walkthroughs of these applications to provide them some assurance that they're not (a) crazy, (b) going in totally the wrong direction or (c) missing some game-changing insight into the way the app works.
And so to OmniFocus. I've always felt slightly proprietorial towards OmniFocus, with only the very slightest fragment of justification. Many moons ago, I wrote some AppleScripts to mess OmniOutliner around with GTD-like structures. This partly inspired Ethan Schoonover to create the legendary Kinkless GTD system of scripts, and Kinkless GTD led directly to OmniFocus.
I've been using OmniFocus on and off since it first came out as an alpha-test version some time last year but, in the past few months, I've really come to depend on it.
I've always appreciated the clean design of the application, but I do think that it's necessary to understand some of the GTD methodology in order to appreciate why OmniFocus is so designed. Andy Ihnatko, in particular, has made some strong criticisms of the application over time and I think he generally makes a fair point. I would link, but Andy's in the midst of server transition right now. Google it up, or read his review of OmniFocus/iPhone in the App Store (why can't you select and copy the text of App Store reviews?).
That said, I look at OmniFocus not as a "to-do application" but as a "GTD application". If you don't have any grounding in GTD, I agree that OmniFocus will appear complex and somewhat strange. If you do know GTD, however, and you want to apply it in an orthodox fashion, I don't see many applications that match OmniFocus for quality and polish.
I emphasise that this is just one of many possible ways to use OmniFocus and I wouldn't suggest that those who use it differently are in any way wrong. It's what works for you.
Beyond the standard GTD structures of Projects, Actions and Contexts, there are two features in OmniFocus that are critical to the way I use it: Perspectives and Start Dates.
I use five perspectives: Review, Strategic, Tactical, Urgent and Flagged. I'll just list their exact settings and then explain them:
|Name||View Mode||Filter||Grouping||Sorting||Action Filter||Flag Filter|
|Review||Planning||Remaining||Next Review||Name||Remaining||Any Flag State|
|Strategic||Planning||Active||Next Review||Next Review||Remaining||Any Flag State|
|Tactical||Context||Remaining||Ungrouped||Due||Next Action||Any Flag State|
|Urgent||Context||Remaining||Context||Project||Due Soon||Any Flag State|
Review: I use this for weekly review. It shows everything except completed and dropped projects, grouped by their next review date. More on this later, but it's important to note that this is where the not-yet-due projects will appear.
Strategic: I find this useful in mini-reviews that I might do every day or so. It's like Review, except that the main filter is "Active" instead of "Remaining" so it only shows things that are current.
Tactical: This is the workday perspective: showing actions in contexts, sorted by due date. I don't use due dates for everything, but I find it helpful in crunch times.
Urgent: This filters everything out except those actions which have due dates and are due soon. Useful near the end of the week, to make sure I've nailed everything that needs to be nailed before I head out the door.
Flagged: I use flags as an ad-hoc project or context, and this perspective pulls those out to the front and centre.
Timing Is Everything
The other feature in OmniFocus that I totally depend on is the Start Date field. I set it on projects that I don't want to deal with immediately and, when the time is just right, those projects will become active and I'll see them.
Here's an example: I'm leaving tomorrow for C4. After I booked the hotel and flight back in July, I added some more items to the C4 project: "change currency", "pack bags", "check in online" and so on. Next, I set the project to have a Start Date of 9am, September 1st, since I knew I didn't need to pack my bag until a day or two ahead. For the whole of August, I didn't need to see any C4 actions at all.
You could achieve the same thing by putting the project on hold, but that has the disadvantage that you have to remember to un-pause the project again when the time is right. With Start Dates, it's done for you. More than once, I've put a project on hold, forgotten it was even in OmniFocus (since it was usually hidden by my perspectives) and created a duplicate.
Take It With You
The killer feature of OmniFocus is OmniFocus for iPhone. I've found the syncing to be robust, if a little slower than I would like (although this script has helped a lot). OmniFocus for iPhone doesn't support custom Perspectives, and I miss that. It does have a couple of built-in views for "Due Soon" and "Flagged", which are a decent replacement for my "Urgent" and "Flagged" perspectives.
What I love about OmniFocus syncing, and one of the reasons I prefer it over Things, is that you can sync many clients to one database. With Things on the desktop and phone, it's more of a pairing arrangement where you have the master database on your Mac and sync to your phone. I have a laptop, a desktop (with two boot partitions) and an iPhone. OmniFocus keeps all four in sync perfectly and I'm willing to wait a few more seconds for that.