This term I am teaching a graduate seminar on wireless sensor networks. Actually, "teaching" is not quite the right word, as I see my role as mainly that of moderating a discussion between the students in the course, and raising the occasional controversial point as grist for the mill. Normally, in these kinds of courses, the content of the discussion is lost to the ether, so this term I decided to run a blog where the students post a summary of our conversation about the assigned papers. Students are encouraged to put their own editorial slant on the content of the blog posting, and the blogger for each class is responsible for leading the discussion.
So far it's been a lot of fun and provides some permanence to those revelations and insights that, otherwise, would be terribly ephemeral. It also gives the students a chance to write up their ideas a bit more formally, with a broader audience than, say, simply emailing them to me.
This has got me thinking about the potential role of blogging in a research project. Timothy Gowers has started a very interesting blog-based mathematics project in which the blog itself serves as the medium for collaborative discovery. I started wondering whether this model might translate into, say, a computer systems research project. Sometimes this happens through email lists and impromtu collaborations between people who already know each other, but opening up the project on a blog seems to offer orders of magnitude more opportunity for networking and learning from one another in rapid and informal ways.
As an intermediate step in this direction, I am currently writing an NSF proposal for the Cyber-Physical Systems program (as is everyone else I know), and as part of the "broader impact" statement I've decided we're going to blog the research project, if it is funded of course. The idea is simple: Every week or so, one of the students or PIs will post a short article on the progress on the project to date, and invite comments. It's possible this has been done before, but I haven't seen any major systems projects adopt such a model.
I think this could yield a number of interesting results. The only way most systems research projects are presented to the world is through a small number of published papers. Necessarily, those papers capture the "successes" of the project and generally do not dwell upon the many blind alleys and outright failures that led up to the big result. By blogging the process of the project as it unfolds, other researchers, especially students, could learn from the mistakes of our work and also learn something about the trials and tribulations of a typical project. I'd love to tell one of my future grad students to simply read, say, a years' worth of a project blog to understand how what turned out to be a beautiful paper took so much hard work and hacking.
Also, blogging the effort could get potential collaborators and even the public a lot more interested in what we're doing. I love hearing about early prototypes and "conceptual designs" when they leak to blogs like Engadget; though most of these things never see the light of day, they can be pretty inspiring. Of course, there's always that fear that you'll get scooped if you tell the world about your great ideas before they are published in a conventional scientific venue, or that you'll look like an idiot when you blog about how you spent three weeks tracking down a missing minus sign in your code. (I have done this.) On the other hand, opening up the process of doing research seems to me to be the ultimate form of outreach and could offer the next generation of students a much better picture of what really happens in grad school.
Finally, this could potentially lead to a lot of unexpected collaborations getting started. Some of my best collaborations have started through random encounters: a former grad student of Margo Seltzer's introduced me to a geophysicist (Jonathan Lees at UNC) whom I have worked with on sensor networks for volcano monitoring, and someone attending one of my talks turned out to be looking for a wireless sensor solution for clinical assessment of neuromotor diseases (Paolo Bonato at the Spaulding Rehabilitation Hospital). My theory is the greater the surface area you expose, the more connections you're going to make.
The biggest risk, I think, is that of your ideas being stolen. However, I've always felt that the whole point of doing research is for others to take your ideas and run with them. For this reason I've always released the code my group develops under an open source license and simply not worried about who picks it up for what purpose. (But that's a topic for another post!) Realistically, we are always sharing our ideas, when giving talks, writing papers, or bumping into someone at a conference. Could blogging increase the bisection bandwidth?
Update (22 Feb 09) - Speaking of blogging research, here's the blog for the Berkeley Cloud Computing project.
I've posted a story to Medium on what it's been like to work at a startup, after years at Google. Check it out here.
The word is out that I have decided to resign my tenured faculty job at Harvard to remain at Google. Obviously this will be a big change in ...
My team at Google is wrapping up an effort to rewrite a large production system (almost) entirely in Go . I say "almost" because ...
I'm often asked what my job is like at Google since I left academia. I guess going from tenured professor to software engineer sounds l...