I have a lot of software written, basically just for me but with a bit of work it could be a thing. The core feature is burning through digital lists one item at a time but with as little interaction with a computer as possible.
Data only push notification -> text to speech to bone conduction headphones (or really any headphones). Tells me the current task. Two buttons on my wrist. One is next task, one is "toggle repeat mode". I have voice actions that load specific lists or any of the other things I want it to do. Basically all manner of software exists in varying forms for working on basically every native user interface I interact with. Global hotkeys, system tray icons, background services, etc etc.
The cli, custom launcher, watch software, and the chrome / firefox new tab extension get the most use. Small feature set makes "software for everything" realistic. "See/hear current list item", "Next task", "toggle repeat" -- I treat it as a way to learn things, but I also use it absolutely every day. I like to act like when I inevitably develop cognitive issues in my old age that this will be a useful utility to have.
When I make a very detailed list for the day and burn it all down by just listening to what I'm supposed to do and tapping a button on my wrist for the next thing, I feel far far more productive than my baseline just due to not context switching. Put up the blinders, get in the zone, stay in the zone. :)
Thanks! Most of the "how" is shared in another reply. Really it's just an array of strings that keeps a cursor (and technically a stack for interruptions that pop off before returning to the cursor in the list). So posting a fresh list to the service that runs it is a common use case. Loading saved lists, routines, some things have state machines that inform task creation but that complexity I wax and wane finding all that useful.
The book "the checklist manifesto" informed some of this philosophy behind the tool(s). To learn new things specifically is spaced repetition and keeping a backlog of things to dig into. One practice that has stuck is a list of reminders / active ongoing things that I burn through when making a hotlist. If I'm good I'll actually do what I load, if I'm not I'll load it with good intentions and skip things or take it out as the day gets hectic. Nothing really more than you'd do without the one item at a time system.
It's all a work in progress and malleable since it's exclusively mine. If I come up with a better way then maybe that's what it will morph into.
Actually, there's the other aspect of "learning things" which is if I want software to do something I just build it and usually I've never done it before. The elisp emacs functions, the Android launcher, the swift taskbar menu thing, global hotkeys on windows in c++, data only push notifications, background services on all the things. Just a good excuse to roll up my sleeves and get some code written for something I otherwise have no business digging into. It's fun and keeps me well rounded.
Well sure there is, alter the original list and load it again. Since I have exactly one customer, me, I've just dogfooded this. Written lists or something in an app or an editor are far more natural than anything I'd cook up / reinventing that wheel.
Most commonly I just get to inbox zero, stack rank what needs to occur in what order, then make a precise step by step list. The process of making a punch list of actions in order I find useful for thinking things through. Then it's just load and execute it based on what's described above. Pull the next task one at a time like a short order cook.
Loading the punch list is usually just some editor plugin or something native that catches shared text / intent recievers. In emacs, vscode, google keep, obsidian I just highlight text and hit a hotkey to load it. Or skip the highlight and just share / load the whole buffer. Rinse, repeat.
Data only push notification -> text to speech to bone conduction headphones (or really any headphones). Tells me the current task. Two buttons on my wrist. One is next task, one is "toggle repeat mode". I have voice actions that load specific lists or any of the other things I want it to do. Basically all manner of software exists in varying forms for working on basically every native user interface I interact with. Global hotkeys, system tray icons, background services, etc etc.
The cli, custom launcher, watch software, and the chrome / firefox new tab extension get the most use. Small feature set makes "software for everything" realistic. "See/hear current list item", "Next task", "toggle repeat" -- I treat it as a way to learn things, but I also use it absolutely every day. I like to act like when I inevitably develop cognitive issues in my old age that this will be a useful utility to have.
When I make a very detailed list for the day and burn it all down by just listening to what I'm supposed to do and tapping a button on my wrist for the next thing, I feel far far more productive than my baseline just due to not context switching. Put up the blinders, get in the zone, stay in the zone. :)