{"id":138,"date":"2005-08-17T15:40:37","date_gmt":"2005-08-17T15:40:37","guid":{"rendered":"http:\/\/localhost:8000\/?p=138"},"modified":"2005-08-17T15:40:37","modified_gmt":"2005-08-17T15:40:37","slug":"more-human-multitasking","status":"publish","type":"post","link":"https:\/\/blog.gwadej.org\/programmer-musings\/2005\/08\/more-human-multitasking\/","title":{"rendered":"More Human Multitasking"},"content":{"rendered":"<p>Isn&#8217;t it funny how you sometimes run into the same concept everywhere at once? A couple of weeks ago, I wrote a piece (<a href=\"\/programmer_musings\/2005\/07\/another-view-of-human-multitasking\/\" target=\"_blank\" rel=\"noopener\">Another View of Human Multitasking<\/a>) refuting some of the conclusions in a Joel Spolsky article on human multitasking. This week, I stumbled across another article, <a href=\"http:\/\/headrush.typepad.com\/creating_passionate_users\/2005\/03\/your_brain_on_m.html\">Creating Passionate Users: Your brain on multitasking<\/a>, that makes pretty much the same points as Joel&#8217;s essay. Interestingly for me, this essay points to some original research backing up her claims.<\/p>\n<p>As I suspected, the research is specifically related to pre-emptive modes of multitasking. As I stated in my earlier essay, we&#8217;ve known for years that pre-emptive multitasking is not the fastest way to solve problems on a computer either. If the tasks are cpu-bound, every time-slice incurs the task switch overhead. The reasons we use pre-emptive multitasking in computers have little to do with overall processing speed.<\/p>\n<p>As I said in my previous essay, switching tasks when you are <em>blocked<\/em> is the only way to get more work done in a given amount of time with a multitasking system. Just like a computer, a human can get more done with lower priority tasks that you turn to when the main task is blocked. That way, even when you can&#8217;t progress on the main task, you can still make progress on something. This is what I have always meant when I say that I multitask well.<\/p>\n<h2 class=\"subhead\">Interrupts<\/h2>\n<p>One area I did not touch in the previous essay, was the concept of interrupts. When an interrupt comes in, there is a forced task switch just like with pre-emptive multitasking. Unlike a computer, humans cannot store their mental state on the stack and come back to it. An interrupt pretty much makes you lose all of the dynamic state you&#8217;ve built up. Anything you&#8217;ve written down or committed to more long-term storage is retained of course. But, the part that you are working on right now is lost unless you explicitly take time to save it.<\/p>\n<p>This explains why phone calls or random meetings can really ruin your flow. While in flow, it feels to me like I have more of the problem and solution space in my head at one time. It almost feels like I can see a large portion of the problem space spread out in front of me. When an interruption occurs, all of that understanding and feel for the problem space vanishes. There&#8217;s no time or place to store it. So, once the interrupt is handled, we have to start from scratch slowly building up that information all over again.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Isn&#8217;t it funny how you sometimes run into the same concept everywhere at once? A couple of weeks ago, I wrote a piece (Another View of Human Multitasking) refuting some of the conclusions in a Joel Spolsky article on human multitasking. This week, I stumbled across another article, Creating Passionate Users: Your brain on multitasking,\u2026 <span class=\"read-more\"><a href=\"https:\/\/blog.gwadej.org\/programmer-musings\/2005\/08\/more-human-multitasking\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[166,178,326],"_links":{"self":[{"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/posts\/138"}],"collection":[{"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/comments?post=138"}],"version-history":[{"count":0,"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/posts\/138\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/media?parent=138"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/categories?post=138"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/tags?post=138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}