Unlimited Backup

Posts tagged with "omnifocus"

Integrating OmniFocus and Reminders On OS X

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

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 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

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 /task/.

Follow my tutorial, and add the -a switch as an additional filter:

python $HOME/ --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.


Send Selected OmniFocus Task to Plain Text File

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

Change Default Sync Times of OmniFocus For Mac and iOS

Change Default Sync Times of OmniFocus For Mac and iOS

In my post about OmniFocus and flagged messages, I wrote that there’s no way to tell the app to sync every few minutes. I was wrong. As reader Bill Pallmer told me, there are two settings to change the default sync behavior of OmniFocus for Mac. In Terminal, you can use these commands to change how often OmniFocus will start a new sync and sync after an edit, respectively:

defaults write com.omnigroup.OmniFocus MaximumTimeBetweenSync -float 30
defaults write com.omnigroup.OmniFocus TimeFromFirstEditToSync -float 2

The numeric value after the -float flag indicates time in seconds. As explained by Ken Case on The Omni Group forums, you’ll have to quit and restart the app after using these in Terminal; you also can’t go lower than 2 seconds for TimeFromFirstEditToSync and 15 seconds for MaximumTimeBetweenSync.

There are two hidden preferences which control the timing of automatic synchronization, MaximumTimeBetweenSync and TimeFromFirstEditToSync. Both are specified in seconds. MaximumTimeBetweenSync is how often OmniFocus looks for changes on the server when no changes have been made locally; it defaults to 3600 seconds (one hour). TimeFromFirstEditToSync is how soon OmniFocus will sync after you’ve made an edit, and it defaults to 60 seconds (one minute).

If you have the Mac App Store version of OmniFocus, change the first part of the command to com.omnigroup.OmniFocus.MacAppStore.

The great thing about these commands is that they also work on iOS in debug mode. They share the same name and settings, but a different URL:



To activate the iOS settings, choose the value you want, and paste the URL into Safari: OmniFocus will open and tell you that you’re enabling a debug option, as pictured above. The app will quit; restart, and it’ll now sync more often according to how you changed the default setting. Obviously, remember that you’ll be consuming 3G data for sync, so don’t set it to refresh too often, unless you don’t have a problem with that.

To revert to factory settings on iOS, use:


This is a great tweak, because I run my own OmniFocus sync server for a variety of reasons, and I always want to make sure I have the latest version of my database. Thanks Bill.


Send Flagged Mail Messages To OmniFocus Automatically

Send Flagged Mail Messages To OmniFocus Automatically

Sven Fechner pointed today to an AppleScript published in late 2011 by Hunter Hillegas to send flagged messages to OmniFocus’ inbox on the Mac.

In iOS 5, Apple added the ability to flag a message, just as you’ve been able to do on the desktop forever. I created an AppleScript that looks for flagged messages. When it finds them, it adds them to OmniFocus and links them back to, just like the Services action does. It then also unflags the message, resetting the state back to normal. This script runs every five minutes.

In iOS 6’s, it’s now even easier to mark a message as flagged. I have tried the script, and it works as advertised. I would modify it to include only the latest message of a thread in the task note, but I see the appeal of having an entire conversation saved in OmniFocus for reference.

Obviously, the script is best enjoyed if executed on a Mac that’s running all the time. In this way, you can set a message as flagged on iOS, wait a few seconds, and find it in OmniFocus right away.

Personally, I run my own OmniFocus sync (every minute) so that I always have up-to-date sync that I can control. To implement this script in my workflow, I just had to create a new Keyboard Maestro macro (pictured above) that runs the AppleScript every minute if I’m logged in. In the way the script is designed, flagged messages are processed, then set back to “unflagged” so they won’t be added again in the future (unless you flag them manually).

You can find the AppleScript here.


Visualize OmniFocus As iThoughts Map, OPML, Or Plain Text

iThoughts for OmniFocus

iThoughts for OmniFocus

A few weeks ago, Michael Schechter found a way to export an OmniFocus for Mac database to OPML to visualize it in mind-mapping apps like iThoughts and MindNode. In the post, he wrote that, however, he was reaching to the Mac community to see if anyone would be able to build a more powerful and reliable solution with filters, color options, and more control on the exported data. RobTrew picked up the task and, on the OmniGroup Forums, released an initial script to export from OmniFocus to OPML.

Then, yesterday, Rob released a new version of the script which adds native iThoughts support and plain text exporting options, as well as settings for colors, templates, and filters.

I tested Rob’s script with my OmniFocus database, and after several improvements he made to the script, I feel comfortable enough with linking to it here. Unlike other solutions, Rob’s script looks directly into the SQL OmniFocus database cache to get its data – quite a feat on its own. But there’s so much more the script can do if you start customizing it. Read more

OmniFocus Browser Bookmarklet and Safari 6

OmniFocus Browser Bookmarklet and Safari 6

Ever since upgrading to Safari 6 and Mountain Lion, I’ve noticed the OmniFocus bookmarklet I had installed stopped working properly. The OmniFocus bookmarklet is a handy addition to my workflow, in that it allows me to quickly save webpages I need to act upon at a later date, while preserving their title, link, and text selection. I often do this for linked posts that end up here on MacStories, or pages that I need to check out but that I’m not ready to bookmark yet (for that, I use Pinboard).

In theory, the OmniFocus bookmarklet should be capable of grabbing a webpage’s URL and selection (if any) as a note. However, of the two bookmarklets provided by The OmniGroup, none of them manages to successfully grab text selection on my machine running Safari 6 and OS X 10.8.1. So I set out to find a better bookmarklet, and I found this version by Alex Popescu that, besides working correctly, has also some nice integration with Gmail.

For Gmail, the bookmarklet creates a new task with the email title as the task title and a note with the current selection (if any), plus a from line in the form: From: email subject:(email subject) email_thread_url. For normal web pages, the bookmarklet creates a new task with the document title as the task title and a note with the current selection (if any), plus a from line in the form: From: page_url.

I tested this on Safari 6, and it works as advertised. The bookmarklet also works on iOS devices, albeit the iPhone’s Mobile Safari can’t send the current text selection from a page to OmniFocus.

Get the bookmarklet here.


Create OmniFocus Tasks From Drafts, Scratch, Or Any Text Editor Through Dropbox

Back in October 2010, I posted a tutorial on how to add new tasks to OmniFocus or Things using Dropbox, AppleScript, and PlainText by Hog Bay Software. In June 2011, I wrote about more ways to add tasks to OmniFocus (my GTD app of choice), and noted how I had only “scratched the surface of what’s possible to do with OmniFocus and task creation”.

I decided to slightly revisit my workflow now that several “quick Dropbox note-taking apps” like Scratch and Drafts have come out. These apps are already integrated in my daily routine, but the following method works with any text editor, and, obviously, using Dropbox is recommended if you want to be able to create tasks from anywhere. Read more