Voice to OmniFocus, revisited
__9/2/2009 Updated to work with now longer Twitter ID numbers__
back when Jott was free I was one of several people who were using it to get quick voice notes into [OmniFocus](http://www.omnigroup.com/applications/omnifocus/) (OF). A couple of limitations of the Jott solution was that:
* It sometimes had trouble understanding the recipient of "who I wanted to Jott"
* You never got a chance to proofread or edit the transcription before it got sent
There are just times when I think of something on the go, and firing up the iPhone OF app and tapping it in won't work, so when a [friend](http://www.reolo.com) told me about [vlingo](http://www.vlingo.com) for iPhone and twitter, I thought - hmm I've been playing a bit with the twitter API and that might be a good route for me to get stuff from voice into OF.
So here are the steps (**updated with more detail**):
* Set up a new twitter account - make it "private" (assuming you don't want to world to see your tasks)
* Set up vlingo to post status updates to this twitter account (obvious caveat, you won't be able to use vlingo for your regular twitter account...)
* download the [python script](http://www.ptone.com/downloads/oftwitter.txt) (Click on the link, then do a save as, from here we will assume its on your Desktop, but it is quite likely you may want to keep it somewhere else)
* Rename it oftwitter.py (mind os x's habit of hiding extensions...)
* open the script in any text editor and set the username and password settings to those of your new account
* open terminal and type the following lines (you will need your admin password)
chmod +x ~/Desktop/oftwitter.py
sudo easy_install appscript
sudo easy_install twitter
you will get a warning about a C extension not being compiled, but you can ignore that.
* Now assuming you have already logged some tweets to the twitter account, try it out by typing the following into terminal:
You should see your tweets as items in your OmniFocus inbox
The script creates a preference file stored at ~/Library/Preferences/com.ptone.oftwitter.plist that stores the most recent tweet and uses that to query twitter more effectively.
to set up automated retrieval of new tweets install [Lingon](http://tuppis.com/lingon/) and configure a new launch agent to look something like this:
Now when you are out and about you can fire up vlingo on the iPhone and say: "twitter, order new engine for rocket ship", you get the chance to fix any quick errors, then update your status. I'm finding it even easier to just hit the "social" button in vlingo, then you don't have to say "twitter" - just your task.
When you return to your Mac - it should shortly appear in your OF inbox. This script assumes you keep OmniFocus open
A couple other goodies:
* If you say "important" or "flag", that word will be stripped, and the entry will be flagged in OF
* you can send a @reply message to the twitter account and replies are checked too (with the leading @user stripped from the start)
* This is handy if you want to give someone a way to submit tasks to your inbox, they can just send a tweet to your new account
To remove all traces:
* delete the oftwitter.py script file
* delete ~/Library/Preferences/com.ptone.oftwitter.plist
* delete /Library/Python/2.5/site-packages/appscript*
* delete /Library/Python/2.5/site-packages/simplejson
* delete /Library/Python/2.5/site-packages/twitter