Idea: “Flow” detector and status publisher

November 2, 2008

Idea: An activity monitor for computer programmers that detects when the user is in the zone and automatically updates a public status (e.g. IM status or Twitter) accordingly.

Detecting “in the zone” might be hard. First I would try simple monitoring of task switches plus idle time. If a user is using one window with low idle time, they’re probably in the zone. If they go idle or switch windows (e.g. checking email or the news), they’re not in the zone.

If that turns out not to work, then I would try inputting a large number of features into a machine-learning algorithm of some sort to see if a pattern can be detected. These features would include the active program (or set of active programs), idle time, keystroke and mouse activity frequency and time since last task switch.

One hopes that a colleague would be less likely to cause an interruption if an easily available tool shows that the user is in the zone.

It might make sense to publish all of the features as raw data and let colleagues make their own decisions about whether the user is in the zone.

An experiment would passively observe users of the tool compared to users without it over a few days of work. An experimenter codes “in the zone” vs. “not in the zone” time and we look for a significant difference in the number of flow interruptions.


3 Responses to “Idea: “Flow” detector and status publisher”

  1. Greg Says:

    Are these all going in the thesis hat?

  2. aran Says:

    Yes. The hat is getting rather full.

  3. Ian Says:

    Nice idea – it would be great to have my online status change from available to do-not-distrub automatically … otherwise some less-than-caring manager, desparate support person or desparate marketing person will ping when one least wants an interruption.

    The real challange is all of the different zones one can be in … the design zone, coding zone, debugging zone, analysis zone … were I define a zone as being an activity where I completely loose track of time.

    Each zone presents different challanges for detection. The coding zone is likely the easiest to detect because it is characterized by editing, compiling and maybe debugging. The design zone may not be too difficult either, if there is a specific design suite, program, or database you use … or if you are using pen-and-paper, in which case the computer may be ignored. The debugging zone is fairly easy too (although pen and paper may be engaged along with lots of file browsing to figure out what is happening and to correlate across functions). The analysis zone is maybe the hardest because, for me at least, I tend to flip between looking at source code, maybe running some tests, debugging, and writting.

    Picking up even 2 or 3 of the zones would be better then today, where everyone interrupts because they don’t realize you’re in a zone!

    Hummm … but what will “big brother” do will all this info :). Building better tools would be a nice use!

Comments are closed.

%d bloggers like this: