OmniFocus for iPhone was updated today to include a background location sync feature previously seen in apps like Downcast, Instapaper, and CameraSync.
Users can now leverage iOS' geofencing to tell OmniFocus to sync its online database in the background and automatically whenever they enter or leave a specific location. There's a new Background Sync screen in the settings where locations can be configured, which works similarly to Instapaper's one. Unlike CameraSync, I wasn't able to receive a local notification when I left or arrived at a location that triggered background sync.
The Omni Group is undoubtedly looking at iOS 7's new background app refresh options, but, until then, this is a nice (and common) workaround.
An interesting project by Paul Sidnell:
ofexport is a command line utility that reads and exports the task database from the OmniFocus application.
While similar to Robin Trew's export utility, ofexport has a series of extra options worth trying out. I'm particularly intrigued by the control you can have on date and calendar filters, as well as regular expressions. I constantly check on my OmniFocus todos through the calendar, so I'll make sure to test ofexport. [via Sven Fechner]
When editing my Drafts 3.0 review last night, I removed this sentence from the Reminders section:
"Again, I don’t use this functionality, but it’ll be interesting to see something like this being tweaked to work with Drafts and Reminders"
Sid O'Neill figured it out right away:
Drafts just updated today to version 3.0. There are a whack of new features but one that I'm most interested in is the new "list in Reminders" action. It makes it easy to add multiple actions to Omnifocus without requiring Pythonista.
I forgot Daniel Jalkut had a script to monitor Reminders and add todos to OmniFocus for Mac. If you're like me, you know you'll try to make this work with a Mac server and modified default sync times.
Send Multiple Tasks To OmniFocus Mail Drop At Once With Drafts and Pythonista
Nice workflow by Nathan Henrie to send multiple tasks to OmniFocus at once using Mail Drop, Drafts, and Pythonista:
I’ve also recently started playing with Pythonista, and I came across a Python script written by the dev himself that creates a little SMTP server and sends email directly from Pythonista. Between the two, I found it pretty easy — even for a beginner like me — to put together a combined Drafts / Pythonista workflow that makes for a superior way to import a bunch of tasks to OmniFocus at once (aka “brain dump”).
The Python part is based on the same script I covered in November to send emails through Pythonista; Nathan added a clever Drafts integration by splitting multiple lines (from the draft) into separate email messages sent to your Mail Drop address. Make sure to check out his video to see the workflow in action; I have started using it myself and I like how fast tasks go from Drafts onto OmniFocus via email (I have configured the script with my Gmail address using 2-step verification).
I have become a big fan of OmniFocus Mail Drop. It's been extremely fast and reliable in my experience, and it works well with Drafts' email actions.
Speeding Up OmniFocus Sync
Some great tips by Sven Fechner on how you can speed OmniFocus sync. It involves archiving data on the Mac and resetting sync databases on your iOS devices:
The free OmniSync Server makes life a lot easier and keeps your OmniFocus world, well, in sync. If you use your own WebDAV server you have the same capabilities but without the awesome “Mail Drop” feature which allows you to email in your actions.
While the OmniSync Server is fairly reliable, it is not necessarily the fastest syncing solution on the planet. In particular when your database gets larger and more convoluted.
It's the first time I've followed this procedure, and, indeed, my OmniFocus database has been slimmed down and it now takes 5-8 seconds less to sync on WiFi; the improvement is even more considerable on 3G.
I've used my own WebDAV server with OmniFocus for months, but the convenience (and simplicity) of the Mail Drop feature lured me back to Omni Sync Server. Mail Drop works amazingly well in conjunction with Drafts, allowing me to quickly send off a task to my OmniFocus inbox in the cloud. In moving to Omni Sync Server, I didn't lose the ability to have the latest version of my OmniFocus database mirrored to a calendar: OmniFocus does, in fact, come with some great debug commands to change its default sync times.
As an aside, while looking forward to OmniFocus 2, The Omni Group has posted the first batch of videos from The Setup event in San Francisco a few weeks ago. You can watch them here.
Integrating OmniFocus and Reminders On OS X
Daniel Jalkut and Sean Korzdorfer have been working on two aspects of the same problem: bridging the gap between OmniFocus and Reminders on OS X.
Sean put together a series of AppleScripts to send tasks from OmniFocus to Apple's Reminders app for Mac. Daniel created (and open-sourced) an app to check Reminders for newly added items, transfer them to OmniFocus while keeping due dates, and deleting them from their original location in Reminders.
I love OmniFocus for both Mac and iOS, but it turns out that because I lean so heavily on using Siri to add items, I tend not to open OmniFocus while I’m on the go. When I come home and get to work on my Mac, I notice that OmniFocus doesn’t contain any of my recently added items, so I have to go through the cumbersome steps of opening my iPhone and launching OmniFocus just to get this theoretically time-saving trick to work right.
I have tried to get into using OmniFocus' iCloud capture feature on iOS, but because I don't use Siri on a daily basis, that didn't turn into a habit. I know many rely on OmniFocus-Reminders integration, and I think these are nice solutions for the desktop.
I, however, have become a big fan of The Omni Group's Mail Drop service. Using Drafts, I can write down a task, send it to Mail Drop, and have it in my OmniFocus inbox after a few minutes; if I want to save a link to a webpage, I can use a bookmarklet that sends a website to Drafts and then to Mail Drop. Rather than further integrating OmniFocus and Reminders, I'd like to open OmniFocus on iOS and find it already synced with all other copies of the app and Mail Drop. Right now developers have to resort to location-tricks to update information in the background, and I wish Apple will allow more background options in the future.
OmniFocus Mail Drop Beta
As noted by Sven Fechner, a post by The Omni Group on the company's forums publicly describes a new feature of Omni Sync Server: Mail Drop. An enhancement to OmniFocus' existing support for Mail.app, Mail Drop is a proper way to email tasks directly to your OmniFocus inbox.
We call this new feature the "OmniFocus Mail Drop". Unlike previous mail-processing features, we wanted a method that wouldn't require any of your devices to be present in order to add items to OmniFocus, we wanted to add the much-requested better attachment support, and we wanted to reduce the amount of extra work you had to do in order to get your items into OmniFocus as much as possible.
To this end, we implemented the feature as part of the Omni Sync Server. Accounts on the server can now have a special email address generated. Any message forwarded or sent to that address will be processed (including attachments) and added to your OmniFocus database right there on the server. (If a spammer gets ahold of your Mail Drop address, we give you a way to generate a new one.)
I have been testing Mail Drop for the past few days, and, indeed, it works as advertised. Once generated in your Omni Sync Server's account page, you'll get a unique email address you can send tasks to. Unlike previous solutions, this is a real "cloud capture" tool: you don't need a Mac to be always running to turn emails into tasks, as everything will be processed server-side by Omni Sync Server.
Right now, Mail Drop doesn't seem to support OmniFocus' email syntax for adding tasks, but it's really fast. In my tests, tasks sent via email using Mail Drop were added in seconds to my Omni Sync Server account.
Personally, I think this is the right path to follow. As our devices become increasingly interconnected and "always-on", it doesn't make sense anymore to make task management -- arguably a fundamental part of many's workflows -- simply "local". People have been asking for a real web-based OmniFocus for years, and Mail Drop is a good start. I have been running my own OmniFocus server using Drafts' email actions to quickly add tasks, but I welcome the user-friendliness of Mail Drop as a promising indication of OmniFocus' cloud future.
Automatically Save An OmniFocus Project As iThoughts Mind Map
After I posted about my OmniFocus > iThoughts mind-mapping workflow, several readers asked whether it'd be possible to only convert a specific section of OmniFocus to iThoughts format (as well as plain text and OPML). As Robin Trew, creator of the script, explains in the Help section:
Specify a sub-tree by the OmniFocus id of its root node. Defaults to None.
You can, in fact, slightly modify the script by adding an
-a switch and the ID of a particular project to restrict the query to that project and its subtree. This will work if you only want to export a specific Project to mind-map; Contexts have a different subtree structure in OmniFocus' database.
For instance, I only wanted to create a mind map for my MacStories project. To do so, I control-clicked on the project in the app's sidebar, and selected "Copy As Link"; this will give you an OmniFocus URL like
omnifocus:///task/oREye1BBxdg. The ID is the alphanumeric string after
Follow my tutorial, and add the -a switch as an additional filter:
python $HOME/ofoc_to_mindmap_018.py --output=$HOME/Dropbox/Maps/MacStories -m map.itm -c '0' --format=itmz -a oREye1BBxdg
Make sure to check out Robin's script, as it's much improved since the original release. You can also visit Robin's website (and follow him on Twitter) for several AppleScript-related custom scripts and resources.
I save a lot of stuff into OmniFocus: bits of text, URLs, emails. I used to save favorite tweets into it, too. The app's Quick Entry panel is so easy to invoke and so well-integrated with core parts of OS X that, most of the time, I find myself clipping information that shouldn't be into OmniFocus at all. However, I also find the process of manually going through that information beneficial to my workflow: it allows me to mentally and practically separate actionable items (tasks) from things to read and things to write (Instapaper material and my future articles, essentially).
I have created a simple AppleScript to send the selected OmniFocus task to a text file. The script is meant for how I use OmniFocus; hopefully you'll find it useful as well. Feel free to modify it.
Typically, when I decide to go through my OmniFocus inbox, I find a lot of tasks that are actually ideas of things I want to do or write. Ideas don't go into OmniFocus. Until those ideas become actionable items, I send them to a text file so I can elaborate on them and see if they can evolve. Like I said, most of the time those ideas are for new articles.
I store all my notes in a single
Apps/ directory on my Dropbox. Based off the same AppleScript, I have created a Keyboard Maestro macro to create a new text file for each processed task; this is for ideas I know will turn out to be single, standalone articles. For ideas I'm not so sure about, I prefer to append them as text to an
Ideas.txt file I keep in Dropbox as an "everything bucket" for inspiration. Read more