Clay Shirky's recent essays "Napster, Udacity, and the Academy" has attracted a fair bit of attention. I've written about some of the things it doesn't discuss on my personal blog, but here, I'd like to use it as a jumping off point for a description of a tool I'd like someone to write for us. Given that my last request produced working code in just a few hours, I'm hoping one of you will wow me again :-)

Our starting point is peer instruction, a scalable, evidence-based teaching model that replaces "sage on the stage" with the following interactive cycle:

  1. Instructor poses multiple-choice question.
  2. Learners commit to an individual answer (typically by voting with a clicker).
  3. Learners discuss their answers in small peer groups (typically 3-4 people) and re-vote.
  4. Instructor presents correct answer.
  5. Learners discuss again (so that those who understood can clear up the misconceptions of those who didn't).

Chris Lee, at UCLA, has built a tool called Socraticqs to implement this model using a little web app running on the instructor's laptop (which they connect to over WiFi). I'd like to go one step further and try to do this over the web—after all, it is supposed to be a medium for collaboration. Here's what I'm imagining:

  1. Instructor broadcasts to learners via screen sharing, synchronized slides, or some kind of in-browser co-piloting like Towtruck.
  2. Learners vote on multiple-choice question over the web.
  3. Learners put into small groups, possibly based on their answers, for discussion. When this happens, the system automatically switches from 1-to-N broadcast to k-way all-see-all sharing. The instructor can drop into any of these discussions at any point.
  4. After several minutes, the system pulls everyone back into whole-class mode so that learners can re-vote and the instructor can present the correct solution.
  5. The system them switches people back to the same groups for wrap-up discussion.

The pieces of this all exist, more or less: we can do one-to-many broadcast and four-way split-panel talking-heads chats. What's lacking is the integration: in particular, leaving one Skype call or Google Hangout and joining another several times an hour will introduce a lot of friction and frustration.

Based on our experiments earlier this year with online tutorials, I think this would be a much better online learning experience for most people. Does it already exist? If so, where? And if not, how hard would it be to build?

This post originally appeared in the Software Carpentry blog.