A sociologist I once did some work for once told me that all human activities could be classified as belonging to one of a small number of natural timescales, which he described as:
- sip of coffee;
- fresh pot;
- tomorrow; and
A continuous activity is one that you're completely absorbed in, like typing a blog posting. The "sip of coffee" category includes things like quick compiles, launching OpenOffice, and other activities that give you enough time to check on a background task ("I wonder if I have mail?"), but not enough for you to go and do something else. "Fresh pot" is rebuilding PostgreSQL from source---you park the task, go and think about something else for a while (possibly forgetting details of what you were doing), and come back some time later. "Tomorrow" and "sometime" are timescales that involve planning; the difference between them is that "sometime" requires you to put time into planning (i.e., the main task generates meta-tasks).
The sociologist's argument was that revolutionary technologies (or programs) are ones that move an activity from one category to another. Take desktop publishing, for example---what had been a "sometime" became a "fresh pot" (early systems would sit there and think a while to format a page), then "continuous" (WYSIWYG on first-generation Macs). Email did something similar to communication, and so on.
I was reminded of all this yet again when I read Mike Clark's recent post on how Google Maps is changing the way he works
. By pulling several things together, it moves a bunch of objective-oriented tasks (how do I print the handouts for my course? where will I stay while I'm in Indianapolis?) down a category, as a group.
I think (well, I hope) that Trac
will do the same thing for undergraduate team programming. From what I've see in the last few years, ignorance isn't the only reason that students don't work like professionals; the other is that when you're juggling four or five courses, you simply can't afford tasks that are in high-cost categories. It remains to be seen whether we can push 'em down the stack, but I'm hopeful...