My current stack
This is an experiment. Instead of a TODO list, it's a DOING list. It's "push/pop" style. Meaning, when I switch to a new task I "push" it onto the top of the list. When it's done, I "pop" it off to remove it. The thing I'd been working on before the jump moves back to the top.
The experiment: see if keeping track of what I _have__ been doing make it easier to get back to the start of a yak shave.
You'll notice writing this post isn't on the list. It was at the top while I was working on it. I found a bug on the site while I was drafting. I pushed that to the top of the list and started working on it. When I fixed it, I popped it off and got back to writing.
The switch to fixing the site was a big context jump. There's a good chance that if I hadn't looked back at the list I would have rolled off to doing something else and left this post half finished and abandoned.
I still have TODO lists. Sometimes written down. Sometimes in my head. Regardless, thinking about a full list has a weight to it. This DOING approach pulls a single string out into isolation. It's lighter. I'm finding that a welcome relief.
This isn't like Getting Things Done where you plan out all the "next physical actions" for everything on your TODO list. I've only got one DOING list. Everything on it is in service of whatever the one thing at the bottom of the stack is. The fact that those things may wonder pretty far is fine. The goal is to have the path back.
There's also nothing to say that everything has to be done when I'm moving back down the list. Sometimes I like completing tangents. Other times, I'm fine with letting them go. The key is that the list keeps track of them all and let's me make explicit decisions about them. I feel way less like I'm forgetting things.
There's no chance I'm the first person to think of this. I'll play with it for a bit then search around to find versions from other folks
My version of this list isn't complicated. It's a simple text file. (In fact, it's the source file for the page your reading)
When I'm going back down the list, if I hit something I no longer want to mess with I just throw it to an actual todo list so I can keep track of it there. That closes the loop in my head because I've put it somewhere I know I'll see again
The same thing can show up on the list multiple times. For example, if I'm working on a post, then move off to fix something on the site, but move back to writing before fully fixing the thing, then a second entry for writing goes on the list. That keeps things from branching off and having to remember where I am in the list. The item at the to is always what's active
The items are not a TODO. For a simplified example, while I'm writing a post, the list entry is for writing the post. I don't put something on the list that says publish the post. That's a different thing but it doesn't go on the list at that point because it's in the future
A way to get an item onto the list in TODO style would be to add it, but then add the same thing you're already working on at the top again. Something like a shift over to the second thing with an immediate shift back to the first
I don't put everything on the list. Using the writing example again, I don't actually put "publish post" on it after I'm finished writing a post. It's quick to do and isn't something I generally get distracted from. However, if I finished writing, but found something that needs to be fixed on the site before I can publish I'd add it to the list at that point before jumping to the fix
I fully expect I'll cherry pick things as the list grows. This isn't about a strict methodology. It's more about not forgetting what I originally set out to do and not leaving things half done with explicitly making that decision
The Stem Player is a prototype project I'm working on based off splitter.fm which lets you select which individual parts of a song you want to play in a track. For example: Lawrence - Don't Lose Sight. I haven't pushed my version live yet.