Discuss all things Remember The Milk.

Task dep using smartlists?

pgogineni says:
Asked this in the help section, but maybe in this section its more approp since people are playing around with the searches more:
I am wondering if it would it be possible to have smartlists automatically show the first unchecked item in a list.

If this were possible then we could combine smartlists so that the smartlists only show the next item to be done from each of the child smartlists. Would make my workflow so much better.

If this is not possible then could the RTM add one more search criteria to show next/first undone item in a list.
I know that previously Task dep. have been turned down because they would make RTM too complicated. I think this might be a good halfway point.
Posted at 12:19pm on April 14, 2008
aaronhh says:
What do you mean by showing an unchecked item? Whether an item is checked or not is not an attribute of an item, but rather a method of selecting a task that you are going to make some sort of a change to. It is part of the user interface, not an attribute of the task. At least, that is the way that I understand it.

Furthermore, there are 3 different ways to sort a list, and I think this is also a function of the user interface instead of a stored attribute of the list. But I am less sure about this one.

Also, What do you mean by showing the next item to be done from each of the child smartlists? The next item to be done? I think I understand what you are trying to do. But I don't understand why the remaining tasks need to be invisible. You do realize that you can mark a task as complete, which makes it dissapear from your normal list. doing this would make the next item to be done appear at the top of the list. You can set due times in addition to due dates, so if you sort your list by due date, then . . . . . nevermind, I just remembered that sorting by due date places the tasks with a time at the bottom of the list, which makes no sense to me, but I'm sure there is some sort of a logical reason for that. So, at any rate, you can certainly number your tasks by putting a number at the beginning of the task name, and then sort your list by task name, which would put the tasks in the order you want, and then if you mark tasks as complete then the next task would always be at the top of the list. I'm sure there is an easier way to do this, but I can't think of it at the moment.
Posted 12 years ago
aaronhh says:
What does "dep" stand for? Task dep? Depreciation? Depressing? Depends? Department?

I'm sure it is something obvious, but I can't think of anything that makes sense. :-D :wicked:
Posted 12 years ago
pgogineni says:
Sorry if I wasn't clear earlier. You Are right items that are complete are removed from the list so I guess what I was looking for was a search criteria to show the first item in a list. or better yet the highest priority items within a list.

What I am trying to accomplish is for example
-Get Milk
--get in car
--drive to store
--pick up milk
--pay at register
--drive home

now it wouldn't make sense to drive home before getting in car. Ordering the list ourselves is fine in this example since it is a straight order list.

If you make it more complicated then thats when task dep(endencies) become more useful. so now before I get in car i have to get wallet and keys, but not necessarily in any particular order. If I am upstairs and my wallet is there I should know to pick it up. If I just have a numerical/date or time based list and pick up keys is the first item on the list...well when i go down to get the keys..then complete the item the next item that shows up is get wallet..ooops its upstairs(again a very simple example) a dependent list would be something like this

-Get Milk
---drive home
------pay at register
-----------pick up milk
-------------drive to store
------------------get in car
---------------------get keys
---------------------get wallet

notice both get keys and get wallet both need to be accomplished before getting in both items would show up in my next action smartlist...once those two are complete then get in car shows up etc etc...

showing only the first item in a list won't completely accomplish what i want above... the other option is to have rtm search for highest priority items in a once priority 1 items are done then priority 2 items would be shown.

this is all so that i can nest all my smartlists inside of a master next action smartlist that shows only the tasks I have to get done in order to move forward in my projects...
once i complete my task RTM should be able to show me what i have to do next automatically.
Posted 12 years ago
wallace.sheehan says:
I think the big issue is how do you define the first item in a list because lists can be sorted by due date, priority, or task name. None of those sort options are really great for defining dependencies between tasks which is really what you're driving at.

Instead what I do is I've created a tag that indicates when something is a "next action" (like in GTD) meaning that I can do it now because it doesn't depend on any other tasks in my list. I use "+next" for this purpose, the '+' is a symbol I decided on to indicate that a tag was a status. Using prefixes in my tags helps me to distinguish visually on a task which tags indicate its status vs. which project it belongs to, etc. It also serves to group the tags in my tag cloud, but I digress. (Lots of great information on this kind of trick is already available in the forums.)

So all of my tasks that do not depend on me completing another task get tagged with "+next". Then I created smart lists that pull these tasks out into one place (along with some other criteria). So now I have a list of all the things that are not waiting on another task, and it gets updated with new next actions simply by adding a "+next" tag to a task. It's not quite the same as being able to define dependencies between tasks so that you can search for all tasks with no incomplete dependencies, but it works much better than I expected. Going through my project lists to identify all my next actions is not a serious undertaking at all.
Posted 12 years ago
pgogineni says:
I do the same thing currently with tags Wallace.

Of course my aim is to automate so that as soon as I complete one task the next one is there ready for me to complete next.

For now I just have to go through my projects and add the appropriate tag once I've completed something. Not Ideal but works.

Just need the RTM folks to allow some way of choosing a first item in the list...probably choosing the highest priority item in a list would work. Sorting by due date and task name are useful for seeing a whole list of tasks, but not useful when trying to filter for a next action list.
Posted 12 years ago
wallace.sheehan says:
Again, I think this goes beyond just determining the next task in a list, it's about defining dependencies between tasks. Priorities could be used that way, but I don't think it would work well. First of all you'd be limited to chains of four tasks or less since there are currently only four priority levels.

Second, Suppose you have task B that depends on task A, and task D that depends on task C. Tasks A & C get priority 1 and tasks B & D get priority 2. Now let's say you complete task A. How does the system know which priority 2 task--B or D--to set as the next action?

I think being able to create chains of tasks would be useful, but I don't think it's a feature that can be implemented with the current feature set. Task dependencies is really an entirely new feature. I'm curious if the developers feel that this feature is out of scope for remember the milk.
Posted 12 years ago
pgogineni says:
I didn't realize priorities were limited to just 4 levels...maybe this could be expanded to something like 10? Another option is to use a predetermined tag ie chain0,chain1, chain2 etc for each of the levels. Actually all I really need from the RTM team is an if then else option in the search.
If tag:chain0 exists in a list display it else if tag:chain1 exists then display else..etc...

In terms of your second point...
You gave this example:
Task B priority 2
--Task A priority 1
Task D priority 2
--Task C priority 1

Now I am assuming these are under the same list.
The way you have priorities set it would mean I need to do Task A and Task C first to move the project ahead. The search would automatically list both tasks in my Next Action smartlist. When I complete Task A, the only thing the smartlist will show me is Task C. Once I complete task C then the smartlist will show Tasks B & D.

If you want Task B to be done right after Task A then you need to setup your outline as such

Task D
--Task C
----Task B
------Task A

This will ensure everything is done in order..A..B...C..D

Task D
Task C
---Task B
------Task A

This will give us A...B...(C or D)

Like you said though..if we are limited to 4 priorities it can really limit how much we can do with dependencies..but I don't think changing that number around would be too hard.
Posted 12 years ago
wallace.sheehan says:
First, creating 10 priority levels still has the problem of "what if I have a project with a chain of tasks longer than 10 tasks?" This is not an unlikely situation for me at work. If you have the ability to simply say that one task depends on another rather than faking that relationship with priorities, then you can have an infinitely long chain of tasks.

Second, I think you have misunderstood my example. I'm talking about two distinct task chains that are in no way related to each other. In your discussion what you are in effect implying is that task B depends on tasks A *and* C, and task B depends on tasks A *and* C. I am saying that task B depends *only* on task A, and as soon as task A is completed task B should be considered the next action in that chain. The same goes for tasks C and D. The model you propose assumes that *any* priority 2 task cannot be performed until *all* priority 1 tasks are complete.

In the other model you propose you have task C depending on task B, which is also not what I was talking about. I am saying that I can do either task A or task C right now--they are not waiting for me to accomplish anything. Let's talk about it in more concrete--if somewhat trite--terms.

Say one chain is for doing my grocery shopping and one is for cleaning the house. The grocery shopping tasks might look like 1) Make a grocery list, 2) go to the grocery store. I can't (or at least shouldn't) go to the grocery store before I make the list of things I need to get at the store. The house cleaning tasks might look like 1) Pick all the crap up off the floor, 2) Vacuum the floor. Again, I could vacuum first, but I probably shouldn't.

Now, if I model these dependencies with priorities we have "Make a grocery list" and "Pick all the crap up off the floor" as priority 1 tasks, and "Go to the grocery store" and "Vacuum the floor" as priority 2 tasks. What should happen is that I complete my grocery shopping list and "Go to the grocery store" should show up in my task list because now I can do it. In your example "Go to the grocery store" wouldn't show up until after I made my shopping list *and* picked up the floor. But why should my ability to do my grocery shopping depend on whether or not I have picked up the floor? But there is no way for the system to tell that the priority 2 task "Go to the grocery store" has any relation to the "Make a grocery list" task.

You could, as you suggest, use tags to indicate that a series of tasks belongs to the same chain of events. I would suggest that using priority levels to enforce the order in which they occur would be more efficient than using numbered tags, however. Long chains of events each with a manually incremented tag to indicate order would be a pain to manage, and using if-else blocks in searches to find the next task could quickly become unwieldy.

I think that rather than using if-else blocks in your searches, however, it would be more efficient to have a search term like "priority:highest" to find the next task--assuming order was modeled by priority. But this still suffers from the limitation of only having a limited number of priority levels.

I think task dependencies would be a great feature to have, but I really believe it is a new feature and not something that can be correctly implemented using the existing metadata available to tasks. I don't know if any of the RTM devs follow the Tips & Tricks forum regularly, but it would be nice to know what their feeling on the matter is.
Posted 12 years ago
aaronhh says:
there is a really slick way to solve this problem. You can set due dates that are separated by minutes. I doubt you will ever have more tasks then there are minutes in a day. When you set a due date you can type things like:
"in 3 min"
"in 2 hours"
Using this strategy, you can order your tasks with each task getting its very own minute designation of the day, and if you order by date, then they will all be in the order you specified.

Does this not solve the problem being discussed here? :-D
Posted 12 years ago
aaronhh says:
However, I would like to point out that if you are really worried this much about getting tasks in order, then you probably have the same obsessive compulsive personality problem I have which has been described to me by counselors as "meta-planning" which basically means that you are spending more time planning than actually doing the tasks. I guess there is nothing wrong with that, if you really like spending 90 percent of your time getting your list perfectly ordered and then spend the other 10 percent of your time wishing you had alloted more time to actually get your work done, and then you realize that you forgot to allot that specific time in the right order on your list, and then your head explodes. LOL hehe, I know this issue well, because I have been a meta planner my entire life. I wonder if most RTM users are meta planners?
Posted 12 years ago
pgogineni says:
You are right that I am trying to fake task dependencies and its because I have seen emily comment in another post that they will not be implementing it anytime soon. I see what you are saying about trying to do different types of activities. In that case I guess I would treat them as different projects and make a new list for them. It's not ideal but i don't think there is another way. I keep a list for each of the tasks that require mult-steps and then a single list for "one-off" tasks.

In terms of the tags idea, I was not trying to relate different items to the same project, but instead replacing the priority list with tags. Basically, you would do the same thing you do for priorities. You label a task as NA1, NA2 etc and then leave it alone. once the NA1 task is complete then the smartlist search would do the work of finding the next NA#. So no manual rearranging of the tags.

If you want to try to link items of the same series using tags I think the problem you would run into is what happens when an Items has two different tags. Which takes precedence? This might make a really smart Next action lists though if the search could be refined.(someone far smarter than me could probably come up with something like this)

One other proposal I have seen is using the notes section. When you know a project requires multiple steps you put the first step you need to do as the task name and then each of the additional steps into the notes section. As soon as you complete the task you replace the task name with the next line from the notes section. Again more manual moving things around which I am trying to avoid. yeah too much wishing for more features instead of just using what is available.

In terms of using minutes for tagging next actions...what if the item didn't have a date associated with it? Would you still be able to mark minutes when something is due. I am not sure how you could implement this so that a smartlist would search a child list for the next action.

I have seen a large number of requests for task dependencies and would really would love the moderators to give us some kind of outlook on what is on their list of things to advance the site's capabilities. I mean honestly I think task dependencies can be much more useful than locations. Interesting discussion about implementation though...
Posted 12 years ago
wallace.sheehan says:
@aaronhh: I actually don't spend any time trying to order my tasks. I'm more interested in the ramifications of implementing real task dependencies vs faking it with other features. I know that task deps is something other task managers support (like OmniFocus), and it's something I've often seen requested here. Neither of which, in my opinion, reflects badly on RTM whatsoever.

It is my understanding that the RTM devs are most concerned about keeping RTM simple and easy to use--for which I applaud them. So pursuing the question of whether it's better to implement task deps, fake them by adding some new search operators, or just learn to use RTM without them is something I find interesting. Personally, I chose the third option and am happy with it.

@pgogineni: My concern here is that adding search features for the purpose of allowing some users (I say 'some' because the solutions mentioned above would not be applicable to how I've organized my RTM lists) to fake task deps would lead to feature bloat. I'm only playing devil's advocate here to try and explore the limitations of the features to see whether they only apply to a small subset of users or are more generically useful, because I find the beauty of RTM to be how easily it can be molded into different scenarios and how easy it is to learn to do so. I fear that if too many features are added to accommodate each user's specific needs the help pages would become overwhelming.

And--to take a step back briefly--this is just a good hypothetical exercise for me as a software developer to think critically about feature requests. It's obvious that none of us here have any tangible influence over the project's direction. =)
Posted 12 years ago
pgogineni says:
I can understand feature bloat in terms of more onscreen options cause confusion, but I think when you add an option to organize a list by tags or priority and the ability to search for the first item in a list, it shouldn't be too much extra in features. Like I said before there are features that I personally think could be considered bloat like locations, but some people find it useful which is great. Like you said at the end there this is all hypothetical. By having the discussion now I hope that the RTM team will implement task dependencies in some way. I am sure there are many more ways of doing this that we haven't discussed, but I still feel it a useful feature.
Posted 12 years ago
flyingsaucrdude says:
I would also like to request that task dependencies be added. I would be willing to upgrade to Pro for this feature.
Posted 10 years ago
savaged says:
Yup, dependent tasks. I believe there are 100 votes for that feature...
Posted 10 years ago
Log in to post a reply.