Hey folks. I've been using a custom script for a few weeks now that exports my OF tasks to a simple HTML file that's iPhone-friendly. Basically, I trigger it via a hotkey on my laptop, it exports the HTML file, and then transfers it up to my public webserver, where I can access it from anywhere via Safari on the iPhone. It's not a full interface, just a read-only view, which is totally sufficient for things like checking my errands list on my way home from work, etc.
I figured with the recent demise of the official OF iphone support, it made sense to share my early work on this. Of course, this was way more useful to me anyway, since my laptop is not an always-on webserver, nor do I want to punch holes in my home firewall.
So a skeleton of my script can be found at:
http://fountainsoft.com/mac/of_iphone_export_sample.rb
I hadn't actually looked at the OF iPhone rails app until after I wrote this, but it turns out they are using a similar technique, namely grabbing the OF data using AppleScript hooks from ruby. I then use another ruby library to help generate markup that's compatible with the IUI examples from http://www.joehewitt.com/iui/
This script is not really a production-ready package. But if you'd like to try to run it, you'll run a couple one-time setup steps:
- install rubygems. If you have something like macports, try "port install rb-rubygems" in your terminal (you should already have ruby on your mac by default)
- "sudo gem install markaby"
- "sudo gem install rb-appscript"
Then to run the script, simply save it somewhere (we'll assume Desktop for now), and type:
- "~/Desktop/of_iphone_export_sample.rb"
And it will dump an HTML file to your desktop that you can put where you please.
My actual script varies in a few ways:
- Instead of dumping the results to a file on the desktop, I create a temp file and then have some more lines of ruby that upload it using SCP and ssh-agent managed keys to my webserver automatically.
- I changed the paths for iui.js and iui.css to reference a location on my target machine, so I don't hammer Hewitt's unofficially hosted IUI files.
- I make some calls out to the shell to show Growl notifications for the start and finish of the export, so I have some visual cue that it's working.
- I use Quicksilver to trigger an applescript that calls this ruby script using a hotkey, so I get one-keystroke access to the export whenever I've been updating my GTD.
Hope this is of at least a passing interest to some iPhone users out there. If there's a lot of interest, I would consider updating it somewhat, to make it more user-friendly, create a helpful installer, something like that. Alternatively, if the OmniGroup wants to run with an idea like this instead of a dedicated server, go for it!! You guys have the resources I don't to make a solution like this work better. One obvious solution would be to publish such an export to a .Mac account for easy viewing on-the-go.
-Will
I figured with the recent demise of the official OF iphone support, it made sense to share my early work on this. Of course, this was way more useful to me anyway, since my laptop is not an always-on webserver, nor do I want to punch holes in my home firewall.
So a skeleton of my script can be found at:
http://fountainsoft.com/mac/of_iphone_export_sample.rb
I hadn't actually looked at the OF iPhone rails app until after I wrote this, but it turns out they are using a similar technique, namely grabbing the OF data using AppleScript hooks from ruby. I then use another ruby library to help generate markup that's compatible with the IUI examples from http://www.joehewitt.com/iui/
This script is not really a production-ready package. But if you'd like to try to run it, you'll run a couple one-time setup steps:
- install rubygems. If you have something like macports, try "port install rb-rubygems" in your terminal (you should already have ruby on your mac by default)
- "sudo gem install markaby"
- "sudo gem install rb-appscript"
Then to run the script, simply save it somewhere (we'll assume Desktop for now), and type:
- "~/Desktop/of_iphone_export_sample.rb"
And it will dump an HTML file to your desktop that you can put where you please.
My actual script varies in a few ways:
- Instead of dumping the results to a file on the desktop, I create a temp file and then have some more lines of ruby that upload it using SCP and ssh-agent managed keys to my webserver automatically.
- I changed the paths for iui.js and iui.css to reference a location on my target machine, so I don't hammer Hewitt's unofficially hosted IUI files.
- I make some calls out to the shell to show Growl notifications for the start and finish of the export, so I have some visual cue that it's working.
- I use Quicksilver to trigger an applescript that calls this ruby script using a hotkey, so I get one-keystroke access to the export whenever I've been updating my GTD.
Hope this is of at least a passing interest to some iPhone users out there. If there's a lot of interest, I would consider updating it somewhat, to make it more user-friendly, create a helpful installer, something like that. Alternatively, if the OmniGroup wants to run with an idea like this instead of a dedicated server, go for it!! You guys have the resources I don't to make a solution like this work better. One obvious solution would be to publish such an export to a .Mac account for easy viewing on-the-go.
-Will