Moon-Jumper Pitch: Difference between revisions

From Adam Colton
Jump to navigation Jump to search
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 12: Line 12:


Something like "Empty Dishwasher" is a good task, it's specific. But "Setup Party" is not, better would be a small task for each step in setting up a party. We'll discuss that more when we get to groups. "Clean Garage" may or may not be ok. If your garage is pretty clean and you just need to put a few things away and maybe sweep, that's fine, but if cleaning the garage is going to take a few hours, it might be better to break it down into a few steps. We'll touch on this idea throughout, but it's one of the key techniques.
Something like "Empty Dishwasher" is a good task, it's specific. But "Setup Party" is not, better would be a small task for each step in setting up a party. We'll discuss that more when we get to groups. "Clean Garage" may or may not be ok. If your garage is pretty clean and you just need to put a few things away and maybe sweep, that's fine, but if cleaning the garage is going to take a few hours, it might be better to break it down into a few steps. We'll touch on this idea throughout, but it's one of the key techniques.
Something a task isn't is an appointment. Something that needs to happen at a specific time isn't a task. It belongs in a calendar, not a To-Do list. It is ok to repeat an appointment in the Task manager to block off the points, but since it can't be moved, it won't really help with the planning.


Beyond the definition of what a task is, a task will always have a title, and it can have notes. If you put a link in your notes, that link will open in a new tab. If you use hashtags, they will be available to help find tasks.
Beyond the definition of what a task is, a task will always have a title, and it can have notes. If you put a link in your notes, that link will open in a new tab. If you use hashtags, they will be available to help find tasks.
=== Dates ===
Each task has a date. This isn't the "due date" it's more of a "target date". It's almost the opposite of a "due date" because it's the earliest you'll start working on it. If a task is complete, the date is when it was completed, though you can edit that if you mark a task as complete on the wrong day. When entering a date you can use values like "+3 days" or "+2 months".
There is also a special value, "Backlog". This is a way of putting a task on hold. It will never show up in any list, except the backlog list.
In the terminal view, today's tasks appear on the right side of the screen. Along the bottom is the "forecast", the next 4 days. In my experience, anything more that 4 days out is too unpredictable.


=== Points ===
=== Points ===
Line 19: Line 28:


This gives us a meter of how much effort we can expect to put in each day.
This gives us a meter of how much effort we can expect to put in each day.
=== Labels ===
The first step in dividing your tasks down to manageable groups is Labels. A Label should reflect some context in your life, something where you want to put in some amount of effort each week. Everyone will probably want a "Personal" or "Home" for all the stuff that just needs to get done. Most people will probably also have a label for "Work". If you're a student, you'll probably have one for "School". I also have one for "Projects" because it's important to me that I carve out some time each week to work on things that interest me.
An example of something that's tempting to make a Label, but probably isn't a good idea is "Out" or "Errands". Unless you're scheduling a maximum amount of time on a specific day, it will be better to put these in their respective labels and use hashtags to mark them as "#Out".
=== Priority ===
There are 4 priority levels. Low, Medium, High and Now. Low, Medium and High should be fairly obvious. Now is a special designation. It means that the task is anchored to a day and should not be moved. This is good for things that are either critically important or for appointments that are being mirrored in the task manager.
When Moon-Jumper shows a list of tasks, it will be sorted by priority.
=== Rebalancing ===
Together, points and labels give us a way to balance our week. This lets Moon-Jumper take a first pass at organizing todays tasks. For each label, you define a max number of point for each day of the week. Leaving a value blank means that there is no max, where putting a 0 means no tasks of that label should be assigned to this day.
For instance, at work, you'll probably want to put the same number of points on each weekday and 0 on the weekends. One caveat to that; if you have weekly meetings that repeat, rather than having them on the calendar and in the task manager, just reduce the number of points assigned to the day. If you have no meetings on Monday, so you give it 30 points, but Tuesday you have 2 hours of meetings each week, you may want to mark Tuesday down to 22 points.
At the start of your day, hitting "Rebalance" will take all the tasks that are past due and all the tasks that are due today, and based on points, labels and priority, figure out a list of things to work on today. Everything else will get bumped to tomorrow. Inevitably, Moon-Jumper will not do a perfect job. So it's a good idea to hit rebalance, then look at the list for today and the list for tomorrow and move some tasks around. And if tomorrow is already looking crowded, maybe bump some tasks to further in the week.
=== Repeat ===
Tasks can be set to repeat. I should manage expectation; repetition is much easier for events in a calendar than tasks. Task repetition can get complicated.
Tasks can be set to repeat based on number of days "Repeat after 3 days", day of the week "Repeat on Monday and Friday" or day of the month, either from start or end "Repeat on the 15th and last day of the month".
But keep in mind that repetition is based on when the task was completed. A task set to repeat every 3 days will repeat 3 days after it is marked complete. That means that if it was bumped 2 days, there will be a 5 day gap. Also, when a task is repeated, it makes a copy of itself. So if you create a task and set the repeat, then add a note on the 3rd repetition, that note will show up in the 4th repetition as well and every future repetition until it's changed. And if you delete an incomplete repeating task, it will not repeat again.
This may sound a little confusing, but it works quite well in practise.
A great example of the use of repetition is "Do Laundry" and have it repeat every 5 days (at least that's how often I need to do laundry). If I go an extra day or two, it's no problem, and I'll still need to do laundry again 5 days later.
=== Groups ===
The real strength of Moon-Jumper is in Task Groups. A task group is a way to group tasks in layers to manage either dependencies or limit the number of active tasks. A group consists of a set of stages. Each stage has it's own task list. When all the tasks in one stage are complete, the next stage becomes active. Tasks from a group will only show up in the task list for a day if their group stage is active.
That's complicated, let's work through an example. Say we're planning a party. We need to order food, invite guests, book a venue, hire a band, order a cake. But we can't do any of that until we have a guest list. So the only task in the first stage is to come up with a guest list. Almost everything else will depend on the venue, so that's stage 2. If the venue doesn't serve food, we'll need to order that and a cake. And since we have the date and venue, we can invite guests so that all goes in stage 3. Then there will be something that aren't as time sensitive, buying decorations, planning party games, we'll put all of those in stage 4. Even though we have at least 7 tasks in the group, we can't work on 6 of them until we have a guest list, so those tasks will remain hidden until we can get to them.
That may seem counter productive; some may argue that we want to see all of our tasks laid out over the next few weeks. But in my experience, this is misleading. Things change too quickly. It's more valuable to have tool that presents you with a short list of things you can do now.
Tasks in a group can have a "Delay" where they would normally have a "Repeat". This is used to set the task date when it's stage becomes active. In our party example, maybe we can only order food on a weekday, so we set MTWTF as the delay. Now if that task becomes active on a Saturday, it will automatically get bumped to Monday. Another common use is when things have built in delays. If you're doing home renovations and you've painted a room, you need to give it at least a day to dry, so set the delay to "1 day".
Finally, groups have to be activated. The first stage doesn't show up until you hit Start. This lets you plan out something that needs to happen, but hold off to start it until you're ready.
=== Strategies ===
==== Plan to Plan ====
A really useful technique is to put in task to plan something. Going back to the party example, we could create a group and only add a single layer with one task, "Plan Party". When we get to this task, we'll figure out all the tasks that need to get done and add them to the group. This technique is also really helpful with procrastination. Often when we don't know what we need to do to accomplish something, we'll find ourselves procrastinating. Adding a task to figure out what can be done is a really good way to get started.
==== Program yourself ====
There's lots of features I could add that would help with one situation or another. But for simplicity, I've tried to only add tools that significantly reduce the cognitive resistance to working on tasks. It's useful to program yourself. Adding instructions in the notes to create tasks, particularly conditionally.
Say we have a big project that we want to work on outside, but we have to wait until it's warm enough. Plan out the project in a group, but don't hit Start. Then create a repeating task to check the weather forecast once a week. Add instruction that when the forecast is clear, delete the repeating task and start the group. You've now programmed yourself.
==== Time Boxing ====
Sometimes tasks are just big and there's no good way to break them down. Or we just can't estimate how long they'll take. Timeboxing the technique of setting a maximum time to work on something. This also helps with procrastination. Knowing that you will work on something for fixed time changes the goal from finishing, to best using that time.
For instance, right now, I have a big pile of firewood in the driveway that needs to get stacked. I don't know how long it will take, and I don't plan on doing it all at once. So I have task "Stack Firewood" set to repeat every 0 days (there's another trick) and I've given it 3 points. So I'll go out and work for 30 minutes, then stop and mark the task complete. When all the wood is stacked, I'll mark it complete and delete the extra instance it creates.
There's even a tool built in for this, you can start a timer right from a task.
==== Scratch Boxing ====
At the other end of the spectrum, we often end up with a few very small tasks we want to remember. Sometimes I'll create a 1-point task with 3-5 quick things.
On the other hand, there's kind of a nice feeling in have a 1 point task that only takes a minute or two.
=== Tracking ===
I've repeatedly made the argument that you can't look at your tasks more than a few days ahead. But can track the history of your tasks to gather information.
The first thing you'll want to figure out is how many points you're completing and what that pattern looks like. If you're only getting 15 points complete at work on Monday, that may be ok, but you'll want to plan for it. If it's not ok and you want to be more productive, you'll know that a good immediate goal is 20 points, not 50 points.
Another piece of information that's available is "Task Generation Rate". This shows you how many tasks are created or activated in a week. This number can be critically important. If you are generating more tasks per week than you're completing, your task list is going to grow bigger and bigger. If the numbers are about the same, you will always be as busy as you currently are. If you're trying to get your tasks under control, the entirety of the battle is getting your generation rate below your completion rate. You can do this either by doing more or taking on less.
Finally, tracking is useful because it shows where the time went. This can be helpful to review, at work it can be used in discussions about responsibility and compensation. And it's just nice to be able to say, "when did I fix that" and be able to look it up.
But none of this works if you don't track your information. Try to capture everything. Even you decide or are instructed to do something and you do it right away, put in the system. It will help with your planning.

Latest revision as of 18:43, 7 October 2016

This is the pitch video for Moon-Jumper Tasks.

Pitch

Moon-Jumper tasks is not a To-Do list. Moon-Jumper tasks is way to manage your tasks so that they remain organized and at any point it can present you with a short list of things that you could work on now.

Let's start by looking at why to-do lists work and why they fail. To-do lists are fantastic when they are started, but their effectiveness tends to drop off over time. That's because we tend to start a task list when we have a few crucial things that we need to remember and figure out the right order. A simple to-do list is great for this. But when that succeeds, we start piling things on. Instead of a few well defined tasks that need to get done, we start adding bigger more nebulous tasks. And things that we might not be able to work on right away. Eventually the list grows so long that it's cumbersome to pick something off it. Then we start skipping it for simple tasks, it's easier to just do them then add them to the list.

Moon-Jumper provides a collection of tools to help avoid these pitfalls, as well as some tools to help with general productivity (and avoiding procrastination). This is both a system (a way of thinking and working) and a tool.

Tasks

Let's start with "What is a task?". A task should be something that you can do. It should be small (preferably Atomic) and specific.

Something like "Empty Dishwasher" is a good task, it's specific. But "Setup Party" is not, better would be a small task for each step in setting up a party. We'll discuss that more when we get to groups. "Clean Garage" may or may not be ok. If your garage is pretty clean and you just need to put a few things away and maybe sweep, that's fine, but if cleaning the garage is going to take a few hours, it might be better to break it down into a few steps. We'll touch on this idea throughout, but it's one of the key techniques.

Something a task isn't is an appointment. Something that needs to happen at a specific time isn't a task. It belongs in a calendar, not a To-Do list. It is ok to repeat an appointment in the Task manager to block off the points, but since it can't be moved, it won't really help with the planning.

Beyond the definition of what a task is, a task will always have a title, and it can have notes. If you put a link in your notes, that link will open in a new tab. If you use hashtags, they will be available to help find tasks.

Dates

Each task has a date. This isn't the "due date" it's more of a "target date". It's almost the opposite of a "due date" because it's the earliest you'll start working on it. If a task is complete, the date is when it was completed, though you can edit that if you mark a task as complete on the wrong day. When entering a date you can use values like "+3 days" or "+2 months".

There is also a special value, "Backlog". This is a way of putting a task on hold. It will never show up in any list, except the backlog list.

In the terminal view, today's tasks appear on the right side of the screen. Along the bottom is the "forecast", the next 4 days. In my experience, anything more that 4 days out is too unpredictable.

Points

The next important idea is points. The biggest limits in figuring out what can get done, and in particular, what can get done today, is the limits on time and energy. Points is a fuzzy combination of the two. For most tasks, it's just time. A task that takes 5-15 minutes is a 1 point task, 15-25 is 2 points and so on up to a 1 hour task is a 6 point task. But something that will take 10 minutes but is either physically or mentally strenuous or just something you really dislike can be bumped up to a 2 or even a 3 point task.

This gives us a meter of how much effort we can expect to put in each day.

Labels

The first step in dividing your tasks down to manageable groups is Labels. A Label should reflect some context in your life, something where you want to put in some amount of effort each week. Everyone will probably want a "Personal" or "Home" for all the stuff that just needs to get done. Most people will probably also have a label for "Work". If you're a student, you'll probably have one for "School". I also have one for "Projects" because it's important to me that I carve out some time each week to work on things that interest me.

An example of something that's tempting to make a Label, but probably isn't a good idea is "Out" or "Errands". Unless you're scheduling a maximum amount of time on a specific day, it will be better to put these in their respective labels and use hashtags to mark them as "#Out".

Priority

There are 4 priority levels. Low, Medium, High and Now. Low, Medium and High should be fairly obvious. Now is a special designation. It means that the task is anchored to a day and should not be moved. This is good for things that are either critically important or for appointments that are being mirrored in the task manager.

When Moon-Jumper shows a list of tasks, it will be sorted by priority.

Rebalancing

Together, points and labels give us a way to balance our week. This lets Moon-Jumper take a first pass at organizing todays tasks. For each label, you define a max number of point for each day of the week. Leaving a value blank means that there is no max, where putting a 0 means no tasks of that label should be assigned to this day.

For instance, at work, you'll probably want to put the same number of points on each weekday and 0 on the weekends. One caveat to that; if you have weekly meetings that repeat, rather than having them on the calendar and in the task manager, just reduce the number of points assigned to the day. If you have no meetings on Monday, so you give it 30 points, but Tuesday you have 2 hours of meetings each week, you may want to mark Tuesday down to 22 points.

At the start of your day, hitting "Rebalance" will take all the tasks that are past due and all the tasks that are due today, and based on points, labels and priority, figure out a list of things to work on today. Everything else will get bumped to tomorrow. Inevitably, Moon-Jumper will not do a perfect job. So it's a good idea to hit rebalance, then look at the list for today and the list for tomorrow and move some tasks around. And if tomorrow is already looking crowded, maybe bump some tasks to further in the week.

Repeat

Tasks can be set to repeat. I should manage expectation; repetition is much easier for events in a calendar than tasks. Task repetition can get complicated.

Tasks can be set to repeat based on number of days "Repeat after 3 days", day of the week "Repeat on Monday and Friday" or day of the month, either from start or end "Repeat on the 15th and last day of the month".

But keep in mind that repetition is based on when the task was completed. A task set to repeat every 3 days will repeat 3 days after it is marked complete. That means that if it was bumped 2 days, there will be a 5 day gap. Also, when a task is repeated, it makes a copy of itself. So if you create a task and set the repeat, then add a note on the 3rd repetition, that note will show up in the 4th repetition as well and every future repetition until it's changed. And if you delete an incomplete repeating task, it will not repeat again.

This may sound a little confusing, but it works quite well in practise.

A great example of the use of repetition is "Do Laundry" and have it repeat every 5 days (at least that's how often I need to do laundry). If I go an extra day or two, it's no problem, and I'll still need to do laundry again 5 days later.

Groups

The real strength of Moon-Jumper is in Task Groups. A task group is a way to group tasks in layers to manage either dependencies or limit the number of active tasks. A group consists of a set of stages. Each stage has it's own task list. When all the tasks in one stage are complete, the next stage becomes active. Tasks from a group will only show up in the task list for a day if their group stage is active.

That's complicated, let's work through an example. Say we're planning a party. We need to order food, invite guests, book a venue, hire a band, order a cake. But we can't do any of that until we have a guest list. So the only task in the first stage is to come up with a guest list. Almost everything else will depend on the venue, so that's stage 2. If the venue doesn't serve food, we'll need to order that and a cake. And since we have the date and venue, we can invite guests so that all goes in stage 3. Then there will be something that aren't as time sensitive, buying decorations, planning party games, we'll put all of those in stage 4. Even though we have at least 7 tasks in the group, we can't work on 6 of them until we have a guest list, so those tasks will remain hidden until we can get to them.

That may seem counter productive; some may argue that we want to see all of our tasks laid out over the next few weeks. But in my experience, this is misleading. Things change too quickly. It's more valuable to have tool that presents you with a short list of things you can do now.

Tasks in a group can have a "Delay" where they would normally have a "Repeat". This is used to set the task date when it's stage becomes active. In our party example, maybe we can only order food on a weekday, so we set MTWTF as the delay. Now if that task becomes active on a Saturday, it will automatically get bumped to Monday. Another common use is when things have built in delays. If you're doing home renovations and you've painted a room, you need to give it at least a day to dry, so set the delay to "1 day".

Finally, groups have to be activated. The first stage doesn't show up until you hit Start. This lets you plan out something that needs to happen, but hold off to start it until you're ready.

Strategies

Plan to Plan

A really useful technique is to put in task to plan something. Going back to the party example, we could create a group and only add a single layer with one task, "Plan Party". When we get to this task, we'll figure out all the tasks that need to get done and add them to the group. This technique is also really helpful with procrastination. Often when we don't know what we need to do to accomplish something, we'll find ourselves procrastinating. Adding a task to figure out what can be done is a really good way to get started.

Program yourself

There's lots of features I could add that would help with one situation or another. But for simplicity, I've tried to only add tools that significantly reduce the cognitive resistance to working on tasks. It's useful to program yourself. Adding instructions in the notes to create tasks, particularly conditionally.

Say we have a big project that we want to work on outside, but we have to wait until it's warm enough. Plan out the project in a group, but don't hit Start. Then create a repeating task to check the weather forecast once a week. Add instruction that when the forecast is clear, delete the repeating task and start the group. You've now programmed yourself.

Time Boxing

Sometimes tasks are just big and there's no good way to break them down. Or we just can't estimate how long they'll take. Timeboxing the technique of setting a maximum time to work on something. This also helps with procrastination. Knowing that you will work on something for fixed time changes the goal from finishing, to best using that time.

For instance, right now, I have a big pile of firewood in the driveway that needs to get stacked. I don't know how long it will take, and I don't plan on doing it all at once. So I have task "Stack Firewood" set to repeat every 0 days (there's another trick) and I've given it 3 points. So I'll go out and work for 30 minutes, then stop and mark the task complete. When all the wood is stacked, I'll mark it complete and delete the extra instance it creates.

There's even a tool built in for this, you can start a timer right from a task.

Scratch Boxing

At the other end of the spectrum, we often end up with a few very small tasks we want to remember. Sometimes I'll create a 1-point task with 3-5 quick things.

On the other hand, there's kind of a nice feeling in have a 1 point task that only takes a minute or two.

Tracking

I've repeatedly made the argument that you can't look at your tasks more than a few days ahead. But can track the history of your tasks to gather information.

The first thing you'll want to figure out is how many points you're completing and what that pattern looks like. If you're only getting 15 points complete at work on Monday, that may be ok, but you'll want to plan for it. If it's not ok and you want to be more productive, you'll know that a good immediate goal is 20 points, not 50 points.

Another piece of information that's available is "Task Generation Rate". This shows you how many tasks are created or activated in a week. This number can be critically important. If you are generating more tasks per week than you're completing, your task list is going to grow bigger and bigger. If the numbers are about the same, you will always be as busy as you currently are. If you're trying to get your tasks under control, the entirety of the battle is getting your generation rate below your completion rate. You can do this either by doing more or taking on less.

Finally, tracking is useful because it shows where the time went. This can be helpful to review, at work it can be used in discussions about responsibility and compensation. And it's just nice to be able to say, "when did I fix that" and be able to look it up.

But none of this works if you don't track your information. Try to capture everything. Even you decide or are instructed to do something and you do it right away, put in the system. It will help with your planning.