I felt pretty good after cataloging what I want from a mobile phone, so I think it'll be a good idea to do the same thing for productivity/todo software.
The Features I Want
only one required field
If I have to write more than a phrase indicating what to do, you lose. Seriously, that's it, game over. The best kind of quick data entry is a sequence of lines. Speaking of which...
good quick entry
For example, OmniFocus has a hotkey to a window that lets you enter just the fields you want, then hit Cmd-S, and all the tasks go into your inbox. My quick entry is just description and due date. When I'm in the middle of something else, I can hit the hotkey, type in some thoughts, hit Cmd-S and be back to what I was doing before.
I want to be able to say, easily, "don't do X until Y is done." Then, I don't want to have to see X until Y is done. This is pretty basic GTD stuff: don't worry about stuff you can't do. Of course now and then I'll want to review things, but... well, if you can't see something at all just because it's blocked, you lose.
a good printed version
Well, really this is something like "offline operation with a cheap and rugged handheld electronic device." Until Hell freezes over, though, paper will do. I'd love a good index card system, even if I only used it sometimes for doing spatial organization or for sneaking into my pocket when going to a boring event. OmniFocus prints checklists, which are just barely tolerable. I saw a tip on printing index cards from it, but it turned out to be printing checklists onto index cards. WTF? I can just fold a normal letter-sized page!
I waffled on whether or not to call this need "tagging." OmniFocus has context, which mostly fills this need. Each task is part of zero or one parent task (and the topmost tasks are projects) and has zero or one context. You can view your tasks as a tree based on hierarchy or as a flat list of tasks in contexts. (I'm simplifying, but not all that much for the point I'm trying to make.) The point is this: because you only get one context, you have to pick your contexts very carefully. If I make a "offline" context for things I can do when I have no IP connection, now I have to decide whether "write letter to Aunt Jo" goes into "offline" or "writing" or "communicate." If it could go in all three, then I could see not only things to do offline or things to write, but the intersection: things I can write while I'm offline.
Maybe one-context-per-task makes the UI simpler, but given the amount of explanation that OmniFocus requires from the start, I think the power that real tagging gives would be worth it.
a good review feature
Sometimes, when I felt like I was getting into a rut, I'd flip through my index cards, put them in a new order, toss some out, realize that some were done, and so on. I don't quite know what a good review feature would look like in software, but here's a guess: it show me all my tasks not reviewed since some date. I'd click a big "mark reviewed" button next to each task to update the date and hide the task. I'd update other tasks as needed. Eventually, the list would be empty and I'd go eat a taco.
OmniFocus has a task review system, but so far I have found it nearly impenetrable. I finally (I think) understand it, but it just isn't simple enough. I think it's a failing of OmniFocus's "you only get two views" system. Sure, you can save modifications on those two views (those saved variants are called perspectives) but they're still just those two views. I want a reviewing view. I bet I'd like a tag cloud, too. Gosh, a drag-and-drop spatial view would be sublime! Especially if I could have more than one spatial view... ooh!
Well, I'm digressing.
a good todo view
In other words, "show me what I should do right now." Sure, one option is just "show everything not blocked in the tags I selected," and that's fine. I want it to make it really easy to select or deselect tags, to sort by priority (maybe) or by due date or by "blocking the most other stuff." OmniFocus's perspectives can make it easy to save some of these views, but making them really easy to generate on the fly would be even better.
I know I already said I wanted paper, but sometimes I have my computer and plenty of power, but no network. With OmniFocus, this is pretty simple: it just works. It's a datafile on my computer. With something mostly web-based like Hiveminder, it's a much bigger problem. Access via my phone is only a really mediocre form of offline access.
Fortunately, this is much less of a concern for me these days, because I have an EVDO modem that works well along my entire commute route.
access to my list from elsewhere
Yes, this is yet another entry that's kind of like "work offline." What if I'm online, but not at my computer? With OmniFocus, I'm hosed. Maybe I could use VNC to get back to my desktop, but that's unlikely and stupid. With Hiveminder, I can just log into the web service.
I want to get email or Growl notices when a task it getting close to due. Like, I really want to be reminded to "file your taxes" by around April 1. I'd want to be able to say when I get reminders per-task, including both the lead time and frequency or aggressiveness of each task's reminders. Of course, I only want to see those fields on a task when I ask for them. Remember: easy entry is a must.
When I close a task, I would love to see something like:
You entered this task on January 1 with a due date of February 1. You pushed back the deadline six times, finally leaving it at November 1. You marked this task complete today, December 14.
Then, obviously, being able to view a timeline of aggregated task slippage based on tags would be fantastic. Am I waxing pipedreamy here? Maybe, but this is something I've always wanted. It was pretty easy to tell from my index cards: the most worn cards were the ones I put off the longest.
In OmniFocus, I can see how many tasks are overdue in the dock. That's nice. I'd like it even better if I could tweak just what I saw there -- like, exclude tasks tagged -- I mean in the context -- "goofing off." I don't know what would be better, but I'm sure something would. I bet a really good Dashboard widget could be done, although I really hate that Dashboard widgets are mostly stuck, well, on the dashboard.
The Features I Don't Care About
Maybe this could be a great bonus, but getting my own ducks in a row is hard enough. Sharing ducks terrifies me and makes me think that either I'd obsess over someone else's problems or look like a disorganized jerk to someone important.
Again, maybe someday I'll have use for this, but for now most things would be noise.
Another bonus feature: since my current piece of crap phone has no useful calendar sync, I barely use iCal anymore. I really want to, but until I have a new phone, this is back burnered. Anyway, if I get what I really want (a real offline mode) then this is more about getting a good integrated view than about just having any view at all.
OmniFocus is great, but it turns out that there's a lot of stuff that I think I want that it doesn't do. Maybe that means that I don't really want those things, but I doubt it. I think I'll give Hiveminder another try, after all.
I just hope I'm not wasting my time! I have sixteen overdue tasks.