Pair programming rather than solo programming is best practice in the CS classroom. Online IDEs like Cloud9 allow both members in the pair to work in a shared environment like google docs: working with independent keyboards and mice. What are effective practices for students working side-by-side to collaborate in such an environment?
I've experimented in my classroom and have arrived at my own solution, but I think the question deserves crowd creativity and crowd evaluation.
Note: I've experimented with Cloud9 in both online and onsite instruction, with different results. This question is about students working onsite, side-by-side.
Extensive use of pair programming in the K-12 environment is best practice over solo programming. Pair programming increases persistence and engagement, and reduces frustration and boredom. See for example Hanks et al. (2011) Pair programming in education: A literature review. Computer Science Education 21:2.
Schools are increasingly using Chromebooks, which preclude a locally installed IDE. Computer science is being taught in an increasing number of sections on a school's master schedule, precluding instruction exclusively in a desktop computer lab environment. Effectively teaching programming using Chromebooks is important.