I personally see multitasking as a tradeoff between "CPU performance" and ability to manage concurrent asynchronous streams of information. It is a decision to throw away throughput for latency, which can have more value.
For example, if you are mostly providing informative responses to things in chat, it makes sense to talk to lots of people at once. Replies come in at a certain rate, and your ability to write messages can serve the demand even if degraded by half.
If you are using the chats to put out orders or requests, you may find that the asynchronicity of communication allows you to receive the results of those requests (e.g. items shipped out) before a cut off time.
Pretty much anything that can be queued, and that "blocks" a lot, imo, is a good candidate for multitasking.
Anecdotally, it does not cost me a particularly large amount of mental overhead to switch between tasks. This is further reduced if I keep a "container" for a small task like an idle conversation, so that it doesn't litter the memory space of my primary task. The performance impact, minus time spent on the other task, is probably <20%, and I'm happy to throw that out if it either makes the task more fun, or decreases latency on something else.
When programming, I will often have four or five general steps ahead jotted down.
If a sub-problem comes up, I might literally push the first sheet down on the stack, "open up" a new sheet, and then pop that off the stack when done, returning me to the previous sheet.
This tends to merge smoothly with what the article describes as the Ivy-Lee method, so far as having a context to refer to capturing larger tasks for a [next] day.
This (un-productivity due to compulsive multitasking) is a huge problem for me, and the article provided some succinct, actionable mitigation strategies, namely:
1. Time-blocking
2. Ready-to-resume plan
3. The Ivy-Lee method
I was familiar with time blocking, and in general familiar with ideas behind "ready-to-resume", but not Ivy-Lee, which looks attractive. In particular, I liked this because it also has a decision-fatigue reduction component.
In my experience, what you need is to have a system to keep track of multiple things and be able not to multitask, but to be able to do things in a serial way. It's just much more productive and enjoyable.
From experience, what’s key is the system you have to keep track and restore things so you’re not consciously filling your brain while working on tasks.
For example, if you are mostly providing informative responses to things in chat, it makes sense to talk to lots of people at once. Replies come in at a certain rate, and your ability to write messages can serve the demand even if degraded by half.
If you are using the chats to put out orders or requests, you may find that the asynchronicity of communication allows you to receive the results of those requests (e.g. items shipped out) before a cut off time.
Pretty much anything that can be queued, and that "blocks" a lot, imo, is a good candidate for multitasking.
Anecdotally, it does not cost me a particularly large amount of mental overhead to switch between tasks. This is further reduced if I keep a "container" for a small task like an idle conversation, so that it doesn't litter the memory space of my primary task. The performance impact, minus time spent on the other task, is probably <20%, and I'm happy to throw that out if it either makes the task more fun, or decreases latency on something else.