The Omni Group
These forums are now read-only. Please visit our new forums to participate in discussion. A new account will be required to post in the new forums. For more info on the switch, see this post. Thank you!

Go Back   The Omni Group Forums > OmniFocus > OmniFocus 1 for Mac
FAQ Members List Calendar Search Today's Posts Mark Forums Read

OmniFocus Web App alive and kickin'! Thread Tools Search this Thread Display Modes

As some of you may know, Omni wrote a web front end to OmniFocus. This web application is hosted on your own Mac but can make data in your OmniFocus accessible on your iPhone. How cool is that?!

Omni has sadly, yet understandably, decided to discontinue effort on the web app. The problem is not the app itself but how to expose the app to the internet. You see, setting up a web server on your Mac at home and then exposing it to the internet is tricky business that your non-hardcore geek Mac user won't enjoy dealing with. Instead, Omni is hoping that the iPhone SDK will answer their prayers in February. I'm right their hoping with them as well.

In the meantime, Omni has graciously released the web app under the extremely permissive MIT license. This means that yours truly, and any and all of you as well, can make improvements/add-ons/bug fixes to it and release them in the wild!

The web app is written in Ruby on Rails. That was all that I had to hear. You see, I LOVE Ruby. Yes, indeed, I love Ruby with bold CAPITAL letters.

I recently set up a project on RubyForge to help me manage my changes to the application but also make it easy for others to become involved. RubyForge greatly simplifies the sharing of a codebase; it provides forums, mailing lists, version control, and other great features.

Even if you're not a code monkey, like yours truly, come on by and create an account! Or, at the very least, join the mailing list! The "tracker" there will allow you to report bugs, provide suggestions, etc.

If you've already written some code for the web app, submit it as a patch via the tracker as well. If you're code is decent, I'll be more than glad to give you commit rights on the project so that we can communally add features faster.

What I intend to do, other than write beautiful (I hope so... ;-) ) Ruby code for this project is to try to moderate the technical discussion. In particular, I'm a fan of Omni's approach to the web app -- which has been to keep it fairly focused around ACTING and less on PLANNING. That said, I realize that some users will demand more of their OmniFocus web app. This is where we can provide optional features to the web app such as a planning UI or a non-iPhone style for those who want to access the app via a web browser on another platform.

I hope that some of you out there are as excited about OmniFocus and OmniFocus' web app as I am. Omni has done a great thing for GTD'ers with OmniFocus and especially by releasing the OF web app under MIT. Now let's help each other out and make this web app all that it can be!

Project files:
README: (some instructions regarding port forwarding and Dynamic DNS for those behind routers at home -- which is almost everyone)

Update 1/10/08: v0.1.2 is available which corrects the bug folks were having when adding a new task.


Last edited by Brian; 2008-01-18 at 09:47 PM.. Reason: removed an un-closed italic tag.
I forgot to add: if you submit a patch to the web app, you will score super huge brownie points (i.e., almost certain to get instant commit rights) if you also submit unit tests for all of your code.

I'm going to be using RSpec, my favorite "testing" (really, behavior driven development...) DSL with this project. Please submit your specs using RSpec as well. Converting from Test::Unit or some other DSL to RSpec will make Evan cry...

I used the web app and enjoyed it when it first came out. Do you know if there any instructions anywhere on how to use the latest version? Thanks for taking the leadership on this. I agree that the focus should be on action.

Steve: it's near the top of my TODO list for the project.
Added to the "FAT" sticky for new users to easily see this post.

The old thread is:
Put up an initial "release" (really "re-release") of dansays work plus some minor changes to the infrastructure that, hopefully, will not effect users.

1. Added RSpec 1.1.1 to support contributing developers
2. Removed test directories
3. Added RB-AppScript v0.5.0 with native extensions built on 10.5.1

10.4.2 and below users: let me know if you run into problems. This has only been tested on 10.5.1; these changes have only been tested on Tiger and below.

The release is accessible from the RubyForge link provided in the original post.
Thanks for doing this! However I get an error when trying to add something to the inbox:

Processing InboxController#add (for at 2007-12-25 23:28:58) [POST]
Session ID: 8708ce2a1c418d119e2883c418a785aa
Parameters: {"action"=>"add", "controller"=>"inbox", "inbox_item_name"=>"listen to podcast"}

RuntimeError (Unknown property, element or command: 'start'):
.//vendor/rb-appscript-0.5.0/src/lib/appscript.rb:661:in `method_missing'
.//app/controllers/inbox_controller.rb:15:in `add'
.//vendor/rails/actionpack/lib/action_controller/base.rb:1095:in `send'
.//vendor/rails/actionpack/lib/action_controller/base.rb:1095:in `perform_action_without_filters'
.//vendor/rails/actionpack/lib/action_controller/filters.rb:632:in `call_filter'
.//vendor/rails/actionpack/lib/action_controller/filters.rb:638:in `call_filter'
.//vendor/rails/actionpack/lib/action_controller/filters.rb:600:in `call'
.//vendor/rails/actionpack/lib/action_controller/filters.rb:600:in `proxy_before_and_after_filter'
.//vendor/rails/actionpack/lib/action_controller/filters.rb:470:in `call'
.//vendor/rails/actionpack/lib/action_controller/filters.rb:470:in `call'
.//vendor/rails/actionpack/lib/action_controller/filters.rb:637:in `call_filter'
.//vendor/rails/actionpack/lib/action_controller/filters.rb:638:in `call_filter'
.//vendor/rails/actionpack/lib/action_controller/filters.rb:449:in `call'
.//vendor/rails/actionpack/lib/action_controller/filters.rb:637:in `call_filter'
.//vendor/rails/actionpack/lib/action_controller/filters.rb:619:in `perform_action_without_benchmark'
.//vendor/rails/actionpack/lib/action_controller/benchmarking.rb:66:in `perform_action_without_rescue'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/benchmark.rb:293:in `measure'
.//vendor/rails/actionpack/lib/action_controller/benchmarking.rb:66:in `perform_action_without_rescue'
.//vendor/rails/actionpack/lib/action_controller/rescue.rb:83:in `perform_action'
.//vendor/rails/actionpack/lib/action_controller/base.rb:430:in `send'
.//vendor/rails/actionpack/lib/action_controller/base.rb:430:in `process_without_filters'
.//vendor/rails/actionpack/lib/action_controller/filters.rb:624:in `process_without_session_management_support'
.//vendor/rails/actionpack/lib/action_controller/session_management.rb:114:in `process'
.//vendor/rails/actionpack/lib/action_controller/base.rb:330:in `process'
.//vendor/rails/railties/lib/dispatcher.rb:41:in `dispatch'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/rails.rb:78:in `process'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/rails.rb:76:in `synchronize'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/rails.rb:76:in `process'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:618:in `process_client'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:617:in `each'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:617:in `process_client'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:736:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:736:in `initialize'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:736:in `new'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:736:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:720:in `initialize'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:720:in `new'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:720:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/configurator.rb:271:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/configurator.rb:270:in `each'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/configurator.rb:270:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/bin/mongrel_rails:127:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/command.rb:211:in `run'
.//vendor/rails/activesupport/lib/active_support/dependencies.rb:488:in `load'
.//vendor/rails/activesupport/lib/active_support/dependencies.rb:488:in `load'
.//vendor/rails/activesupport/lib/active_support/dependencies.rb:342:in `new_constants_in'
.//vendor/rails/activesupport/lib/active_support/dependencies.rb:488:in `load'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `require'
.//vendor/rails/activesupport/lib/active_support/dependencies.rb:495:in `require'
.//vendor/rails/activesupport/lib/active_support/dependencies.rb:342:in `new_constants_in'
.//vendor/rails/activesupport/lib/active_support/dependencies.rb:495:in `require'
./script/server:3:in `require'

Rendering ./script/../config/../vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.rhtml (500 Internal Error)
Updated original post to include a link to the README and the project's "files" page.

The README has been updated to include rudimentary:
1. installation instructions (firing up the Rails web app)
2. port forwarding instructions (HEAVILY dependent upon your router's instruction manual....)
3. dynamic DNS instructions (HEAVILY dependent upon free accounts at

Feedback would be EXTREMELY useful. If I could get some dedicated testers who are willing to provide me with (a) routine feedback and (b) are responsive to e-mail, more work will get done faster. Sadly, because Herr Steve does not allow for OS X to run in a VM, I am limited to testing the web app on a Leopard installation that is HEAVILY tweaked with Ruby features (gems) that may routinely interfere with testing of the web app. In other words, something may work on my machine (IWOMM) that won't work on yours. While I can tweak my development environment to try to hide several of my built in Ruby goodies from myself, what I could really use is another user with a clean (unfettered by changes/additions to Ruby) Tiger install and another with a clean Leopard install to test. Testers would help a great deal to resolve these issues.

Originally Posted by Evan Light View Post

What version of OS X are you on?
I'm using 10.5.1 with all the latest security updates installed.

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Similar Threads
Thread Thread Starter Forum Replies Last Post
Excellent! Will now solely use Omnifocus 2 only with my IOS Omnifocus products kerryd OmniFocus 2 for Mac (Private Test) 7 2013-04-17 04:47 PM
Omni Sync Server: it's Alive! Brian Syncing via Omni Sync Server 0 2012-03-05 02:02 PM
Beginners guide - using omnifocus to find a personal strategy of how to use omnifocus wayne4 Applying OmniFocus 7 2008-11-14 07:22 AM
OmniWeb RSS - Dead or Alive? BwanaZulia OmniWeb Feature Requests 1 2007-05-24 04:34 PM

All times are GMT -8. The time now is 05:54 PM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2022, vBulletin Solutions, Inc.