Taskwarrior, where have you been all my life?
blog.djy.io
blog.djy.io
Hey Google, thanks for making Inbox!
The knowledge that it will not be forgotten is very cathartic and my inbox doesn't fill with emails I intend to deal with but haven't yet.
I think what people forget is that time is often a better folder system than folders, as it doesn't place the responsibility to check again on the user.
I've tried to evangelize and I can't understand why it hasn't resonated as much with others.
Perhaps it's a trust thing? It only works if you're 100% sure that a snoozed email will come back every time and no later than you told it to. Is it reasonable to trust Inbox to do that? Probably, but people have to be convinced of that. And note that for some of us, trusting the magical AI-enhanced black box that Google tends to build is a little on the hard side.
For me it's all about reducing noise level and cognitive load. It's made me a lot more organised, although occasionally I keep pushing things back and won't admit that I'm not going to do them because I feel like I should do it today but I probably ultimately won't. Curse my fallible humanity!
Oh, brain :-(
If many tasks/mails are coming everyday and you are snoozing them to the future, you are adding more tasks/mails to your future inbox, which in turn will motivate you to snooze them again, feeding the task monster. Until one day there are so many snoozed tasks that it is overwhelming.
The important stuff floats to the top and gets done. The rest doesn't.
For me I don't actually need the complexity. A simple text based todo list would basically do the same job. The main issue is actually maintaining it.
This is why I like habitica more: https://habitica.com/
It's basically a gamified todo list which is perfect for me.
It's also awesome with helping establish new habits. The incentive of not wanting to break a streak is surprisingly strong. Nothing else has been remotely as successful.
There's also something really gratifying about physically checking stuff off of a list.
Semi-conscious avoidance is a terrifying thing.
1. Pocket notebook (physical) for this week’s todos and random ideas
2. sticky notes for chores and mindless lists
3 whiteboard for half baked ideas
4. google keep for digital content like images, bookmarks, phone numbers, shared lists
5. Notational velocity with notes organized in Noguchi’s chronological order.
I have a minor tweak in this where i paste sticky notes within the physical notebook so i can move them around.
- 1. Checklist on paper
- 2. Take a photo of it
Sometimes:
- 3. Rewrite at destination
Always:
- 4. Rewrite every few days
I think the reason is that the phone sends many notifications, and at least on iphone it's hard to make the todo list reminder that much more prominent. Also mentally it feels like just another phone task.
Also putting stuff on paper forces sorting. I keep larger lists on digital, but I find for daily paper has a bigger impact.
I really only needed that for work, as my personal life is much easier managed with pencil and paper.
Unfortunately I think the key is to find a good active party to keep you busy. So far I haven't really found one unfortunately.
I've had good luck with "todo list" and the "X effect" thing (basically just streaks - X out a calendar day for each time you do a daily task". Everything else, without exception, has been enough work to feel like a secondary task which I then quit doing. This might be a tool light enough to digitize those benefits without being a burden.
Scheduling and maintaining is a discipline that doesnt always come naturally. And is largely redundant.
Yes, I know it's open source. I still dislike these aforementioned aspects of it, though.
Two things I wish I could configure it to do (stating here in case someone already knows how):
1) A view that surfaces only the next task for each project, with a little annotation like:
Write chapter 1 (First Novel)
Make grocery list (Juliet's Party)
Collate transactions (Month-end reconciliation)
Without that culled list, a comprehensive task-list is overwhelming.2) Integration with a calendar (Google Calendar, etc.), where adding events to the calendar automatically adds them to Taskwarrior.
Thank you, Taskwarrior team! ( I was about to ask for a donate link, but I finally found one. Thanks :)! )
My daily flow is to try and clear my plate, i.e. reach "Inbox Zero" with my `task ready` view. Every task in that view needs to either be completed or rescheduled for a time that I think I have a chance at completing it.
As for projects with tasks that block other tasks (e.g. write chapter 1 is "next," and it is the blocker for anything else, like writing chapter 2), you can tell Taskwarrior to hide them from your `task ready` view by using the `depends` property. For example, if "write chapter 1" is task 42, then I might add a task like `task add 'write chapter 2' depends:42`. Until I mark task 42 (writing chapter 1) as done, "write chapter 2" won't show up in my `task ready` view and I'm free not to think about it.
For example, when I pick up a case to work on, I'll immediately add it:
task add project:team.kanban case-1234 Add the frob
Then as I inspect and think about the parts that need to be done, I'll add a bunch more pieces as sub-projects: task add project:team.kanban.case-1234 Query backend for the data
task add project:team.kanban.case-1234 Send ajax call/store in redux
task add project:team.kanban.case-1234 Add to UI
task add project:team.kanban.case-1234 Use the new widget for filters
task add project:team.kanban.case-1234 Make filters work
Then I go back and decide which pieces here I want to do before the others. If, in order, the above tasks were IDs 1-6, then: task 3 modify depends:2
task 4 modify depends:3
task 6 modify depends:5
task 1 modify depends:2,3,4,5,6
So at this point, only tasks 2 and 5 are unblocked and can be started on. It externalizes the state of the case, so I don't really even have to think about what to do next (hence the name of the default report, "next") or how far done I am. A good way of thinking about how I choose this breakout is, what could I commit without breaking the build?If you also use vimwiki, there's another plugin that works on top of it called taskwiki [0] that lets you use use a taskwarrior filter to show a set of tasks in the wiki, that auto-update. It even shows dependencies as indented todolist items (though the above example wouldn't work because tasks 2, 3, and 5 each have two tasks that depend on it; this and a few other things has me writing my own vim plugin for vimwiki that'll handle handle the above, plus a few other differences).
https://zwischenzugs.com/2017/12/03/how-i-manage-my-time/
if there's one takeaway, it's that you have to find your own way of getting what's in your head into a place you can trust, and there's no objectively right place for that. Just keep looking until you're comfortable with one and stick to it.
That's definitely #1. I'm surprised I had to scroll so far down to find it. :)
For a long time I was looking for a system that would auto-prioritize tasks for me. I'd dump things in, and it would tell me what I had to do today, this week and this month. Long story short, it turned out to be a silly expectation.
So #2 rule should be, review your tasks periodically.
Basically, an 80/20 productivity system should be:
#1 write everything down #2 review and cull your list every day #3 do things off your list
That's pretty much the 'Getting Things Done' book in a sentence! Though the advice is every week, not day in the book, and latterly changed to 'whenever works' with the advent of web systems to track tasks.
With WebDAV on MobileOrg, I never really had these problems.
It used to have issues, but after couple iterations it seems to be working quite well now. Some time ago scheduled tasks even started to generate notifications on the phone, so now I find myself syncing more often just so that I can get those reminders when I expect to spend a lot of time away from my computer.
The only thing problem I had with it is that if I delete a file locally, and then sync Orgzly, it'll restore the file on Dropbox instead of picking up the delete. After having to re-delete some files couple of times I now remember to watch out for it, so it's not really a problem anymore.
To be honest I only really use org-mode and similar organisers in order to dump something out of my head ('close the loop' as I believe it's called in GTD parlance). Do you find it easy to update progress etc as you go?
In hindsight I should have never left it.
IMO Dropbox needs to purchase them to integrate with their growing offering.
But then I stopped being a lone wolf dev and it simply doesn’t work for teams. Yet.
Taskwarrior is probably a fine piece of software though.
Taskwarrior looks like it can work better "out of the box" and definitely more useful for someone who isn't Emacs-proficient.
Org-mode, for better or worse, is flexible enough to support lots of different kinds of workflow. It's cool if you know what you want to do, and the defaults will be enough for simple GTD workflow, but if you aren't sure how to properly organize yourself, you'll find yourself searching a lot for ideas from other people.
My current org-mode config looks like this: https://github.com/TeMPOraL/conffiles/blob/master/emacs26/.e....
You can think there's lots of stuff in it, but frankly, this is mostly on the lower end :). Most of the code is for tweaking tasks, clocking and agenda views to better fit my workflow. It's by no means finished - living in org-mode is very much about slowly discovering your ideal workflow and molding Emacs around it :).
Well, I use Orgzly on my phone, but I use emacs on my desktop & laptops. Orgzly is okay, but not great — and it has some weird bugs. It's definitely not a complete port of Org mode, or even a port of most of Org mode. For what it is, though, it's better than nothing — and better than the current alternatives.
I really wish that there were a good touch-aware port of emacs on Android.
The switch between the two happened because my job responsibilities changed, and Org-mode is better at supporting my current role as a team lead and developer. Taskwarrior was better when I was only developing software. Personally, I feel this says something about what usage patterns the two are best for.
As a developer, I spent almost all my time in a terminal. Taskwarrior (plus a few shell aliases) allowed me to create tasks the moment I thought of them. I could then get back to work and see the task list later. Switching to Emacs every time I needed to create a task would have been unproductive and I probably would not have done that.
As a team lead, I spend most of my day researching, helping out team mates, building product road maps, etc. I spend time in the terminal, but not as frequently as before. And I'm not developing as much either, which means I can now take the time to switch to Emacs, capture a task or thought in Org-mode along with any details, and then get back to it later.
My perspective on the two: - Taskwarrior never gets in your way. It takes a few seconds to record a task and then get back to what you were doing. But you end up not recording many details about the task, mostly it's just the title. Great for small bugs fixes or development tasks that come up while your developing. - Org-mode is great when you want to record details for the tasks you are recording, take notes, and just generally write anything with details.
Hope this helps.
Eg: Mow my lawn on Sunday? Ok, I'll create an all-day event on Sunday to mow-my-lawn. And once I'm done, all I have to do is delete it. I can then periodically check my calendar from my phone/laptop/tablet, and see everything I have to do that day/week. If I want to get a head-start on anything that's coming up next week, it's all there on my calendar too. If I need a reminder, I can just have it send me a push-notification at a specific time. Best of all, I never have to be at my computer to get all these info/alerts. As long as I have my phone nearby, I can check my tasks, and get reminders for anything I've forgotten about.
For me, this has been a solved problem for many years.
It's one of those things where everybody's different, I get that.
But using an email system to manage your tasks seems only one step less goofy than calling yourself and leaving yourself voice mails. You can make that work, I guess, but that's not what the tool is for.
I think modern calendars are one of the great software success stories, actually. They are rock solid reliable, based mainly on hackable open standards, and work everywhere. I don't delete things from my calendar, I just leave them in there as a fossil record of my life.
(What was I doing ten years ago on this day? I just checked; apparently I helped my girlfriend sell her car, bought my sister a plane ticket, and worked on software for most of the day.)
This data has moved with me from platform to platform and will be accessible my whole life. This is how computers are supposed to work! (But seldom do...)
- Here in Italy I can donate blood every 3 months. So I want to set a task "Now you can donate blood" on say June 1st and set it to repeat itself 3 months after the day I actually donate blood and in the meantime being shown on top of calendar in a special "to-do" section. And if I donate blood on June 5th, the next donation should be automatically set on September 5th. I achieve this with an external app that syncs to tasks, but being it integrated in calender would be wonderful.
- A task can have more dates to be set. An example is taxes: from April 1st I can review the documentation the governament send me, from May 1st I can submit the correct documents and at May 31st I must have submited the documents. Of course during this period the task should always be visibile on my calendar.
Thing is I have the feeling that todo lists, calendars, tasks and time-tracking should ALL be integrated in the same software. And as far as I know this software is emacs' org-mode... one day I will learn it.
Don’t override scroll behavior.
The irony of a paean to command line tools being housed in unnecessarily compromised UX is a bit much.
Hell, there isn't any javascript at all for Safari.
Checked on a computer and confirmed that yes, there is more content past where the phone version became unscrollable. Hands down the worst scrolling override I've ever encountered.
EDIT: You can grab it on the edges if you get stuck here (or you can go read some other website where scrolling works properly)
How on earth does this happen on what should be a straight forward site?
It happened because the site developer didn't work around all the bugs in safari mobile.
i don't know which todo.txt commandline clients, if any, can do this but i bet some can (topydo maybe?). Simpletask supports Lua scripting, i dunno if this is sufficent to allow dynamic prioritization of tasks, but it might be. I don't think Simpletask supports dependencies but topydo does.
todo.txt is a file format. The nice thing about todo.txt-based tools is that the todo list is stored in a plaintext file in a relatively readable and editable format, with one line per task. This allows you to edit it using ordinary text editors, grep it, and sync it using utilities (resolving conflicts on a line-by-line basis).
If I modify times then the calendar events get killed and reinserted. (Diff checks for changed todos for me)
Finally, the feedback loop gets closed by email. I can send an email with a task, and it gets pulled down to insert or modify todos.
I am slowly trying to add task identities to Simpletask to get closer to this ideal (at the cost of 'ugly' meta data in the Todo file)
Otherwise it's great but the fact that it loses data means I've shelved it for now.
Anyone have any experience with this?
- Add a time to reminders, as they're currently only due date reminders. (Nearly useless, really, other than appearing on your calendar.)
- Merge Tasks remidners with the Google Assistant reminders, and the Google Keep reminders. Three different places to have Googley reminders, all separate.
- Re-arranging the task lists. (You can only re-arrange tasks on a list, but not the lists themselves. This is a basic feature that is surprisingly missing.)
- Add a widget for the Android home screen so you can keep a specific list in full view all the time. (This is kinda' a personal wishlist item.)
- Add Google Assistant voice command support to create tasks, review tasks, etc. (Super useful while driving and remembering something.)
- Add tagging to list items, and a search function so you can have "meta-lists" like "All Items Due Today" without having to maintain items across lists. (This would allow you implement the GTD methodology.)
- Add minimal per-list collaboration of some sort, similar to Keep. (I guess it's already available for Keep, so maybe not super relevant.)
It is a pleasant working experience.
Obviously, orgzly gives you only a small fraction of org-mode features, but you're still able to edit org files, view & search through tasks, display somewhat customized agendas and get reminders on tasks with scheduled dates and deadlines. That's enough to get me through the times when I don't have access to a computer with Emacs (or terminal & SSH, which I can use to connect to Emacs instance running on my home desktop).
Worked well when I wasn’t just using vimwiki.
I really like Notion (https://www.notion.so/), and I am sure I could do a great GTD system in it! However, I don't feel comfortable with subscriptions on apps where I keep MY data. Maybe because I grew up relatively poor, I always have the fear at the back of my mind, that maybe in the future I won't be able to afford it and what a big hassle that would be.
Example:
task add project: support_customer_migration priority: H -- support#XYZ - analyze dependencies for customer X - github.com/repo/issue/number
I'm yearning for a tool that lets me drag & drop an email, and it automatically creates a task based on the content. I can obviously go and edit it after setting deadline or assign to project etc.
I was hoping to create this workflow with MS Outlook(on Mac) and its inbuilt Tasks, but apparently they don't support it :-(
I would pay for such a feature.
In general, I highlight recommend Things. It does all the typical GTD stuff, in a mostly Maclike way, and has a great iOS client.
[Edit: In fact, you can actually drag a mail right into a Things window as well, just as you propose. I never knew that!]
The iPad version allows you to create tasks truly linked to emails but the iPhone version doesnt let you create them you can only open them (from what I can find, hopefully I’m wrong as I’ve been looking for this feature for YEARS and would love to make this app home)
[Edit to add] almost forgot the key piece, which is that I think it’s possible to retain that context but I haven’t quite been able to justify the time to actually complete the round tripping code.
I use mu4e for email and have configured it so that pressing the "t" key when viewing an email creates a Taskwarrior task.
I find it's got the right out of GTD without being too bloated and/or cumbersome to use.
Are Projects/Subtasks implemented well?
https://taskwarrior.org/docs/udas.html
Really powerful software.
It's extremely versatile, and can be customized to suit your usage. I love it.
I'm not sure how well it works with a lot of tasks. You might need to use filters a lot. tasksh review[1] might be useful too.
Manage all your tasks with TaskWarrior
You can also do it in Google's Inbox app, but you have to swipe left instead. The Inbox website lets you schedule emails by hovering over an email and clicking the clock icon.
HiFutureSelf is a super fast way to send messages to the future as reminders. You can set a time or location to trigger the message. It's completely free and maintained for fun :)
Maybe it's just me.. but somethings just don't fit into the calendar.
Like when I pull up to the gym I get a message to do my 100 squats for the day (AND NOT ACCEPT LESS). Or when I arrive to the grocery store to pickup shampoo. Or when I leave the office today to go by the pharmacy to pick up a prescription...
Has anyone tried both taskwarrior and asana? Any obvious pros/cons?
taskwarrior seems much simpler and can live locally if you dont want locked in asana/whatever?
I tried taskwarrior as well, thinking that being in the command line would reduce the friction for entering tasks as I spend so much time there already. However, the friction is higher for viewing and reorganizing tasks so I would fill up a todo list and then not use it.
The author now offers something called TaskwarriorC2 that may have similar functionality, with a different UI spirit.
Edit: I just installed TaskwarriorC2 and got it working (by hand-copying my hard-won profile configuration from original taskwarrior (pem files, taskrc, etc., the whole profile directory)) from kjv.task/files/ over to the com.taskwc2/files/ directory on the phone. Editing the taskrc file is currently broken for me, so if I hadn't already had one, configuration would have been daunting.
Now that TaskwarriorC2 is working: If you're a taskwarrior poweruser, the interface is awesome. If you'd never used taskwarrior before, it would seem inscrutable.
Now I just use todo.txt and that seems to cover everything I need.
Then one day the company decided they would completely change direction, dropped all future development on current products and moved everyone to their next gen product line. Turns out my two major projects wouldn't have next gen work for 3 to 5 years so I was "demoted" to a "gun for hire". I went from doing way too much work, to filling in the gaps when a team needed to complete a sprint on time. None of my work more than a few days, had no blocking dependencies and had no correlation to what I was going to do next week.
No more burn down, no more charting, no more task management. That is when I decided to change jobs. Now I' have some complexity, but its all easily managed in todo.txt.
I was really hoping that was going to be the conclusion, for your sake :). That sounds like an incredibly demoralizing experience.
Mostly I left because the pay was lousy and I had been doing it for almost a decade and a half. That was the final straw when I realized I couldn't ask for a raise because they weren't giving me enough work.
I've used the todo.txt CLI on and off, sometimes in collaboration with my (shameless plug) "friends" CLI (https://github.com/JacobEvelyn/friends) for "tasks" that are social in nature. But I always seem to come back to paper todo lists.
Edit:
I should also add that with my daily life (outside of work) I'm strictly a pencil and paper kinda guy. I hate when my phone dies and I have no idea what I'm supposed to do today.
Might as well return the shameless plug with my own (https://github.com/jecxjo/todo.hs)
Myself, I suck at budgeting. So naturally I'm building a Rails app to do it for me ...
That was me for a long time. When you have a job that is constantly filled with fires you can survive for a long time doing this. The problem is that sometimes a non-fire tasj can start out as low priority but eventually become the most important thing you have to do today all based on a due date. Unless you are good at managing your future tasks, you'll often miss them.
I never had anxieties about getting things out the door, mostly because my bosses were constantly chopping down one or two of the legs of my stool (money, time, resources). But it was easy for me to keep pushing a low priority task to the bottom of the list because its not due yet, totally forgetting about the fact that eventually it will be due.
Added bonus: I can take it out to write a to-do and not accidently spend 20 minutes on Twitter or HN. Beats any other productivity app I ever tried in that regard.
Doing things and doing the right things are two different things.
Dumping it all into org-mode GTD style helped made me feel noticeably lighter. All of this stuff that's been bouncing around in my brain is now stored in a place that I trust to keep it. It's all organized in a relatively hierarchical fashion (projects & sub-projects), with next actions identified for most projects.
Every week (usually Sunday morning), I spent a 0.5-1 hr looking at the week that has passed and looking at the week ahead. Specifically looking at "doing the right things" is the point of this. I look at my overall goals and try to figure out whether or not the tasks (and the containing projects) are what I should actually be working on. If there's tasks that I think should be done in the following week, I schedule those tasks for a particular day so that each morning when I wake up I've got a manageable list of things to accomplish that I've already decided help move the needle in some way.
During that review I also give a look through the list of projects that don't currently have scheduled tasks and figure out if there's one there that should get included in the following week's schedule.
I keep everything driven in there. Some of them are recurring tasks/chores (walk the dogs, clean furnace filter, call Grandma), while some are more tactical (get feature X specced out, touch base with old client X), and some are more strategic (review financial plan).
The beauty of all of this is that the "doing the right things" evaluation and the "what should I be doing today" evaluations are separated but still pretty close in time. This, for me, helps me from getting too caught up in the moment and spending a lot of time doing the wrong things.
Tasks are a function of:
- priority - completion time - complexity
For example, if I'm fresh I should choose something that's complex and I have the time for. A higher priority (depending on deadline) might take less brain CPUs so maybe it waits.
Thinking of things simply in terms of priority ignores the most important component: your brain.
If you just have a todo list, though, you run the risk of stressing yourself out about the items on the list. And that's kinda defeating the point.
Seriously though, I'm just annoyed by some aspects of them:
1. I feel spread too thin: item 1 doesn't get the attention it deserves because I was thinking of doing item 2. The GTD book itself seems to say, "I'm a victim of this problem."
2. The longer an item stays on a list the less likely I am to do it.
3. I'm annoyed by having a long list of things to do.
4. I was optimistic when I made the list, but later when I'm doing things I become more pessimistic.
5. I like the days when I lose track of time and suddenly it's 17:00 when I thought it was 11:00. I don't usually have that kind of day when I operate from a list.
Re 3: This motivates me to reduce and focus. I stopped agreeing to obligations from other people if I didn't actually want to do it, need to do it, or if other things had higher priority. I started setting aside daily time for a specific task (before I socialize with friends during the week, I usually show up early with a book I want to read).
Re 5: I still get these, even working from a list. In fact, thanks to 2 and 3 I feel like it happens more often. Because when I sit down to do something, I can be confident I'm not forgetting something else that needs to be done first.
What I'm unsure about is whether the actual tech behind the TODO list matters. It seems we love to discuss this (or reimplement it!) because we're programmers and/or tech people, and tech naturally appeals to us. But I'm unsure Taskwarrior or any particular tool actually matters. I think what matters is that you keep a TODO list in whatever format is useful to you. To me, the discipline matters; the actual tech/UI behind it is pretty much irrelevant.
It's just that. That's why programmers keep making todo lists. Because some people want more flexibility, some want less. Some need some specific feature set, and some think other features are stupid. They're simple enough systems that people can build whatever flavor they want -- and it'll work for them -- rather than be constrained to whatever is available.
I started using Things (https://culturedcode.com/things/) because it's so flighty on what it offers in terms of scheduling. You can set tasks to be done today, and deadlines separately. You can't set certain due times or hours -- and you can basically turn off all nagging. It's become projects and tasks that I both need and want to do, but it frees me from dealing with them in my head.
So, it's liberating when done right. It can be done wrong, though. Tasks that aren't actionable make these systems rough, because they set deadlines on immeasurable amounts of work, which creates stress. The trick is to make sure tasks are actionable, and that you aren't remembering them yourself.
1: The only JS on the page is an IE conditional comment adding an HTML5 shim script, and the Disqus comment embedding script. Then there's the Google analytics that gets pulled in from font references and I guess Facebook JS via the Disqus embed.
https://css-tricks.com/snippets/css/momentum-scrolling-on-io...
Inbox Zero is a gross waste of time and essentially OCD masturbation. Using tools (like filters, or a better email client with smart prioritization such as https://sparkmailapp.com/) to prioritize important emails is far superior and has zero ongoing maintenance cost in time:
https://www.inc.com/geoffrey-james/worlds-dumbest-time-manag...
If you want to actually get productive, get RescueTime: https://www.rescuetime.com/
There is a very good reason why the Spark iOS app doesn't even bother showing your unread count.
It's not in opposition to using filters and such though afaik; all of my build/jira/notifications/updates/forum posts/etc email goes to various buckets and is immediately forgotten.
Actually, that's false. Use https://www.rescuetime.com/ and compare with people who don't use this system, divide by the number of incoming emails per person, and you'll know in short order.
Empirical data is a wonderful tool to find truth.
I used it for a while, until I realized that there is tremendous value in being as responsive to emails as possible. Most people don't expect replies to emails, so they tend to be delighted when you respond immediately. It's a great way to set yourself apart from your coworkers or competitors.
So now I have my email inbox open in its own monitor, and I glance at it when a new email arrives. If it requires a response, I respond right away, even if it is something like "OK, let me look into this and get back to you." People really, really like knowing that you are 100% attentive.
I can explain this. As your reliability to someone else dips below 100%, your effective utility to them drops far more drastically. (Imagine Google was up only 95% of the time.) I only realized this rather late in life for some reason (although I was already doing it intuitively). It seems to apply to friendships, personal relationships, and work relationships... as well as services. Basically any interaction.
Instant response = reliability. That makes you more valuable to other people.