I was using AbstractSpoon's ToDoList myself for a while, however I had to switch due to two reasons:
- list synchronization between work/home/on-the-road/etc (DropBox can be used to solve this today, it didn't exist back then)
- it was just too complex and the UI had its obstacles in it
In the end I realized that I need the simplest solution possible, with just task names and tags (and optionally with dates, priorities or notes) in order for the app to not block my prioritization process.
From the few solutions that I tried, I stayed with RememberTheMilk. Albeit I use it a GTD-like fashion, the basic functionality alone provides very good features on how to manage and plan tasks.
To give an example on how you would manage a new project:
- define a new "list" for the project
- add all tasks into it
- review and prioritize tasks in the list (e.g. by setting their priority or setting a due date), but do this only for the nearest period (e.g. next 1-2 weeks)
- you can then create a new "search" for that list with tasks that have the highest importance and/or closest due date, and save that search for future use
- this "saved search" is what you'd be working from on a daily basis (your "next-actions" list), and you'd do a review of all tasks in the project on a weekly basis (for example) in order to re-prioritize remaining tasks or to add new ones
Note that one thing that RTM does not have when compared to ToDoList is task dependencies, this can however be mitigated by points #4 and #5 from above. Dependent tasks which you cannot start working on yet can be kept in the project without an assigned priority/due date - these would not show in your "saved search" (#4) and thus not clutter the list which you'll be working from on a daily basis. Once you finish all dependencies for a task, you would set a priority/due date for it during the next review (#5).