I’ve read here that you are trying to make Tracks as flexible as possible… Some people, myself included, would like to be able to enter multiple todo items for a project, yet have only the top item show up. The response I’ve seen to this is that there might be multiple next actions that could be taken on a project, and that is a valid reply…
Let me next say that I’m not a big fan of tags, as I’ve seen them implemented on many popular websites… From reading posts on the forum here, it sounds like you are planning to add tags to Tracks todo items. While tags are certainly hot a “Web 2.0” thing, I think they will only serve to add more overhead to Tracks, making it more complicated. I’m striving for an automated approach to things, letting Tracks do the work of deciding what I should do next (assuming I’ve fed it that already).
Instead of tags (or perhaps, in addition to), if todo items could be treated more like lists, with the drag icon, allowing them to be sorted (only on the project page). This would let you add multiple items to the list, then sort them by order that they should be done. A new preference item could be added - something like “max incomplete todos shown on home page from same project”, (ok - so that’s probably not a good name for it, but you get the idea)... This could default to 0 (unlimited), but the user could set it to 1 or 2, etc.
So, lets say that you’ve added a project, three todo items, and have the new max preference set to 1. The home page would show only the top item from that project, no matter what context it is in. When that item was checked (completed), it moves to the complete area at the bottom of the home page, and the next todo from that project populates the appropriate context.
In this way, someone could fill out 5 steps or more in, say, 5 projects, yet if their max preference was set to 1, for example, the home page would have a much more manageable list of 5 items to accomplish. Alternatively, if this setting is 0, it would operate just as it does today.
I’ve started looking at the source code (to the latest stable release) to see how feasible this is. I’m fairly new to rails, having only written two applications in it for my day job, so I’m still not used to the “Ruby way” of doing things… It makes reading Ruby code that I didn’t write a bit difficult…
Anyhow, does this sound like something that anyone else is interested in?