It is no secret I'm a big fan of The Omni Group's OmniFocus for Mac and iOS, as over time it has become my "trusted system" (as people like to call great applications you can rely on nowadays) to organize actions (tasks), contexts and, in general, stuff I have to do and don't want to forget about. If you've been reading MacStories in the past few months, you know we care about the latest OmniFocus updates and new features implemented by the developers, but more importantly we, like many others, have fallen in love with the iPad version of OmniFocus, which contrary to expectations has turned out to be a great portable counterpart that retains most of the functionalities of the desktop OF without sacrificing usability -- actually adding new intuitive schemes, navigation options, and more. With an update to the iPhone app around the corner and a major 2.0 update for the Mac coming out sometime in the next months, there's plenty of features to look forward to.
Over the past weeks, however, rather than reading tutorials on how to get the most out of OmniFocus or learning about other users' setups (something that I usually love to do, by the way, as my Instapaper queue can prove), I decided to play around with tools and utilities provided by The Omni Group to customize the way you can get actions into OmniFocus without actually using OmniFocus. That's an interesting concept: as OmniFocus can be integrated with OS X, accessed to from a web browser or even linked to by other apps, there are ways to quickly get items into it without following the usual pattern of opening the app + writing down a new action, or launching the desktop Quick Entry window manually. And as much as I love the iOS versions of OmniFocus, there's always something that bothers me when I'm in a hurry but I need to get some actions saved quickly: as others have outlined before, I think I'd really enjoy a "mini OmniFocus" that's exclusively aimed at entering tasks in seconds without loading the entire database. Or, there could be a way to send an action quickly to OmniFocus' cloud server, without having to open OmniFocus at all. While this is not possible today -- but I have a pretty good feeling The Omni Group is considering it for future updates -- there are ways to quickly create tasks outside of the main OmniFocus environment and save them in seconds.
After the break, I take a look at some of the tools I've been using to add actions in my OmniFocus using an iPhone, iPad, or Mac.
The most obvious way to add actions to OmniFocus from outside the app is the bookmarklet. Provided by The Omni Group itself, the "Send to OmniFocus" browser bookmarklet offers an efficient way to save webpages with literally two clicks. With the bookmarklet, OmniFocus takes care of extracting a webpage's title and link and embed them in the action panel for you -- no need to manually pasting URLs or grabbing the page title for reference. And because the boomarklet is smart, any selection you make on a webpage will be saved as a note alongside the URL in your newly created action. But there's more: as the bookmarklet follows the "omnifocus://" URI scheme shared across OS X and iOS, the little browser button will work on your Mac, as well as the iPhone and iPad. But because iOS devices can't open a Quick Entry panel on top of Safari, you'll be brought to the app with the aforementioned fields (note, title) already filled in.
There are variations of the OmniFocus bookmarklet floating around on the Internet, but I recommend using the official one as it works everywhere, on any platform.
This aspect of OmniFocus isn't as advanced as I wish it was, but I think developers are slowly getting there. Wouldn't it be great to add tasks to OmniFocus from any application -- no matter what you're doing, just hit a button and send an item into the database? Wouldn't it be nice to have ubiquitous OmniFocus support in the apps we use on a daily basis without having to struggle with add-ons and plugins? Yes, it would be -- especially if Apple allowed developers to easily plug into others devs' applications or have a proper Services menu for iOS that took care of managing information and data across the system without launching apps. Perhaps we'll get there in the next couple of years. But right now, we're stuck with a few (great) apps supporting OmniFocus in the way you can select something, send it to OF, and watch the multitasking animation taking you from one app to another. No, you can't just send stuff in the background on iOS.
On my iPad, I have two apps sporting OmniFocus integration: Instapaper and Mr. Reader. As my daily workflow heavily relies on news consumption and discovery to find material I'd like to cover on MacStories, I find OmniFocus integration in these apps a great addition for news junkies and writers like me who often find themselves saving articles and RSS entries for later as tasks. As I mentioned above, the OmniFocus button in these apps will simply take you to OmniFocus' entry panel, with the title and note fields filled in for you basing on what you selected in Instapaper or Mr. Reader. Perhaps one day, if The Omni Group will ever decide to open up the Omni Sync Server to 3rd party developers, apps will gain the possibility of sending actions directly to the OmniFocus cloud. Or maybe in a few months iCloud will allow just that from any app -- imagine hitting a button in Instapaper and confirming "send this items to the OmniFocus app in my iCloud". That would be neat.
Bonus: Alfred for Mac
As the Mac has a different architecture than iOS, Don Southard has managed to create a script for Alfred, the popular app launcher, that writes directly into OmniFocus' database. With a natural language parser, support for contexts and Growl notifications, OmniFocusCLI will let you add new actions using Alfred with a single line of text written in plain English. Sure, the Quick Entry panel still remains the best way to collect actions from anywhere (also thanks to the powerful clippings feature), but if you're an Alfred power user and OmniFocus aficionado you might want to check this out.
I saved this one for the end of the article as it's my new preferred method to get actions into OmniFocus using my iPhone (and sometimes, the iPad as well). OmniFocus for Mac comes with very powerful Mail.app integration that, besides allowing you capture text and email links using the Clip-O-Tron 3000 plugin, lets you set up a Mail rule to automatically process messages that meet certain criteria to become actions saved in your OmniFocus database. This is not the "send to OmniFocus" email service offered by the Omni Group -- with a Mail rule running on your desktop, OmniFocus will be capable of receiving actions you sent as an email to yourself using another device, like the iPhone.
So how does it work? The implementation is very straightforward and comes with two options: you can process messages starting with a special character (by default it's --), or turn messages coming to addresses with +omnifocus before the @ sign into actions. I went for the second solution, and here's what it means: because messages with special characters in the subject line will be saved with those characters in OmniFocus (resulting in, say, "-- Test new app" or "• Buy new Magic Mouse") and I don't like that, I created a special Gmail account that I only use with OmniFocus and Mail.app. What about that +omnifocus requirement? Basically, OmniFocus is asking you that it needs to see "+omnifocus" before @gmail.com to understand that a message has to be processed. Of course, @gmail.com is what I use, so feel free to configure the system with any other email provider you like. But Gmail has some huge advantages over other solutions: first off, it's free. Second, it doesn't allow you to create addresses with the + character, but if you send a message to an address appending the +omnifocus thing, it'll still work. How's that possible? Let me give you an example:
- Let's say my "special" email address for OmniFocus-Mail magic tricks is email@example.com. I want this address to receive messages and turn them into actions.
- From an app or email client, I send a new message to firstname.lastname@example.org. But that's not my address, right?
- It doesn't matter: because Gmail is great, once configured in Mail.app email@example.com will still receive the message, and OmniFocus will "see" the +omnifocus string you originally appended.
- Basically: you don't see it, but it's there and it works.
So try this: create a new Gmail account that you're only going to use for OmniFocus, and set it up in Mail. In OmniFocus, create the Mail rule and choose where to archive messages once they're processed. Then send an email to that address appending +omnifocus before @gmail.com. It'll work.
You might argue there's still one missing piece from this email workflow. "How do I send emails to that address? Do I just use a mail client and one of my other accounts?" That's where the app section of this whole setup comes into place. There are many apps on the App Store whose only functionality is to speed up the process of sending emails to yourself. Some people really like saving notes and reminders as emails to themselves, so developers have created apps to do that with a few taps. Like Captio, the iPhone app I reviewed last year that lets you send an email to yourself with two taps. But since then, I've found another app better suited for the job: it's called Note 2 Self, and at $2.99 on the App Store it provides and easy yet powerful way to send an email to yourself in a few seconds. I like Note 2 Self because it's got a great icon, it launches fast, and more importantly it's got a shortcut to paste the content of the clipboard, as well as buttons to switch between Abc, numbers, .com and @ keyboards, or other characters. Note 2 Self makes it super-easy to send an email to one of your accounts. Sure, Captio enables you to attach photos to your emails, but as I only want to add actions (and not files) to my OmniFocus, I find that unnecessary.
If you don't want to use an app that will send emails using the developers' account and would like something that lets you set up both From: and To: accounts, try Zipnote. It doesn't look as sweet as Note 2 Self, but it runs on the iPad too and it will bring up the standard iOS mail panel to send messages.
One last thing: remember to tell OmniFocus which are the addresses allowed to send actions to your OF Gmail account. In the Preferences, you can add Note 2 Self's email address, or any other account that you're going to use to send messages to the OmniFocus-specific address described above. One downside to this email-based workflow is that Mail.app will have to be open on your Mac for actions to be added instantly, and synced back to the cloud when you're not around to trigger sync manually.
With this article, I've only scratched the surface of what's possible to do with OmniFocus and task creation. The Quick Entry panel provides a great amount of possibilities when it comes to customizing the way OmniFocus can grab content on OS X, and Mail.app support goes beyond the simple workflow I covered with support for contexts, projects and due dates. However, these are the simple methods and tools I've been using every day to send notes, webpages and articles from my iOS devices and apps to OmniFocus. If you've got more to share, meet me in the comments.