The power of collaborative answering
Posted by David Zaslavsky on — CommentsStackOverflow, and more generally the idea of a collaborative, community-moderated Q&A site, is a great invention, although I don’t quite share Jeff Atwood’s level of enthusiasm for it (or at least not his maniacal obsession with overthrowing the phpBB empire and conquering the universe of online information exchange). I mean, I don’t think it has that much of an advantage over the traditional web forum, especially given that since answers are editable and ordered by vote count (which changes frequently), it’s hard to hold and follow a discussion when just a simple “this is the answer” post doesn’t suffice.
But every once in a while, the StackOverflow model really gets a chance to shine. Take a look at this question about improving a Python function’s coding style. The top answer is a model of beautiful Python coding with iterators (well, in that peculiar sense of “beautiful” that only an experienced Python programmer can appreciate), but it didn’t start out that way. There were three of us who answered almost immediately, each making one or two little improvements to the code posted by the original questioner, and then over the next 15 minutes the various tweaks we made got shared and combined, and we came up with more and more new ways to condense and improve the code. In the end, the final answer emerged only as a synthesis of the best features each person brought to the discussion.
The reason this is so remarkable is that it would never happen on a standard forum. Well, it would, but it’d be a lot less efficient. This has nothing to do with technical limitations of the software and everything to do with the collaborative and dynamic nature of StackOverflow. In other words, it’s precisely the fact that SO sucks as a discussion forum that makes this sort of thing possible. When the order of answers is subject to change as people upvote and downvote them, you stop thinking of them as sequential, the way you would in a forum. So as people make revisions to their answers, rather than each new revision being a modification of the last one posted (forum-style), it’s a modification of the best one. And if there are several proposals up that each have some good features, as in this case, it’s easy to grab the bits you want from several and combine them, because you don’t have that forum-zombie instinct to only look at the couple of posts that directly precede yours.
I’ll stop short of saying that the StackOverflow model has changed the way we answer questions (in this respect, anyway), but it does at least seem to enable a new way of thinking about the process. Unfortunately, this sort of collaborative answering is the exception right now; most answers still do nothing more than directly address the question, which is no better than, or even a step backwards from, the forum way — on forums you’re kind of forced to take new replies into account. Don’t get me wrong, SO is innovative and all that, but I don’t see myself enlisting to battle the phpBB drones any time soon.