Hello!
I've been on the hunt for a good task manager. taskwarrior came close, but I want yaml tasks and git sync to be central to the solution, not an afterthought, and I am pretty good at Go but terrible at C++, so dstask is looking quite attractive.
One central theme I struggle with when it comes to task management, is different tools and contexts.
For example:
- at work, i work with various github repositories, but also projects managed by zenhub. (luckily zenhub doesn't really complicate things, if anything, it simplifies things: it is a UI on top of github, so all the stuff i should be working on are still simply GH tickets that will have a certain set of tags (e.g. the current sprint) and/or my username is assigned)
- of course I also have various other tasks that don't belong in any particular repository, and i currently keep in various todo files.
- For personal todo's, I use the todoist app. It's quite beneficial to have something on my phone that is in sync with "something" (in this case a web page) on my laptop(s).
- I like to think of emails as todo's also. emails sitting in my inbox are things i have to get through (many of them are tiny tasks though, trivial to do, usually just by deleting/archiving), and typically when i reply to an important email I treat this task as blocked as I'm waiting for a response. Whenever I get a reply back, the task represented by the email is actionable again. this is something I picked up from GTD, but in practice it's hard to do this. Whereas some emails represent tasks, many don't, and you wouldn't want to flood your task manager with menial little todo's for each email. And keeping the task and email states in sync requires either lots of manual work, or advanced sync tooling, so in practice I just treat email completely separate as my "2nd task manager"
Finally, I work from home as a business owner. I don't have clear cut "office hours" vs "personal hours". I think mixing personal and professional tasks is worthwhile (I can pick the right task based on mood, energy level, practical things going on, availability of other people, etc), as long as i make sure that the time spent on each category is balanced and I track time spent properly. From that perspective, this blogpost about taskwarrior made a lot of sense to me.
In particular:
- computing an urgency/priority based on a formula that looks at a per-project multiplier, how old a task is, time-till-due etc. this seems like a very powerful, concept. I could imagine even using a different formula based on what day it is, what my energy levels are, or how much time i have available
- ability to defer tasks so that they don't clutter what i should be seeing "right now" ("inbox zero style")
So anyway, specifically then, I wonder how dstask can be implemented "at the heart of a wider context"
In particular:
- could we pull in certain tasks from Github and mix them with other tasks? Perhaps the summary could follow a convention like
summary: GH/<org>/<repo>/number <title from GH issue here>
For proper syncing, I think a given GH repo, org and issue number should deterministically lead to a task UUID. Perhaps we could just hash it to a UUID but technically i don't think that's a valid UUIDv4 (which should be randomly generated) but i doubt it matters. Syncing the other way (from dstask to GH) would be nice, but for now this could be manual / a unidirectional sync from GH to dstask
2) as far as todoist, i have no strong feelings about it. any app on an android phone that lets me view and manage tasks that would sync bidirectionally with git/dstask would do the job. While I have little android app development, I'm not afraid to roll up my sleeves here. At least I know todoist has a bunch of golang libraries/tools, so perhaps I might pursue building a sync tool unless someone has a better idea?
3) email.. aka the last frontier. I already explained my vision, and i wonder if it resonates with others. But I personally don't have the ambition yet to go solve that (it doesn't help when you have multiple accounts, some imap, some gmail). Mostly curious for other ideas/input here.
If you made it this far, thanks for reading :)