View Single Post
A word of caution: In the most recent builds, Omni seems to have completely removed the web app from OmniFocus, including the hidden preference pane they said they were going to leave in.

As such, step four--killing the "ruby" process in the activity monitor--no longer works. In fact, it really messes things up.

As I said repeatedly, I am not a Ruby developer. I'm sure there's a really easy shell command that will restart mongrel, or webrick, or whatever server Omni is (was) using to serve up the web app. If anyone knows how to do this, please let me know. Otherwise, the safest way to register the changes is just to reboot.

At some point, I'm going to pick up a Rails book and get my bearings. Omni has been quiet thus far regarding speculation on a native iPhone OmniFocus companion app, and if they do go down that road, we're likely looking at mid-2008 before we have a beta. Syncing is hard. I can't live that long without reliable mobile access to my system.

Thankfully, I'm having lots of fun tinkering with this, and I have a roadmap in my head for a hybrid web app that I'm dying to explore. It involves a background process that periodically syncs a read-only iUI-based interface to Safari bookmarks as a Data URL. This will both make the interface really fast, and accessible when connectivity is not available.

When the interface is loaded on the iPhone, an ajax call is attempted back to OmniFocus on the desktop. If it can establish a connection, it pulls down any changes since the last sync, updates tasks, and exposes additional functionality (adding tasks, marking tasks as complete, etc). If it can't, it times out, and the user can just use the read-only interface.

This approach solves a number of problems: speed, offline access and the need to have an always-on desktop connection, and most interestingly, it eliminates the need to configure dyndns, since every time the data url is synced, the current IP address can be updated.