This post has been migrated from www.experimentsincode.com, we apologise if some of the images or content is missing

I held the first trial session of Online Group Programming yesterday with Dan Solovay. Dan lives in America and I live in the UK so this was a true test of global paired programming, we also hadn't meet before this session. We decided to look at trying to take the Sitecore Data project forward. This project looks at running the Sitecore CMS on a NoSQL database, either MongoDB or Raven, we were looking at getting it to work on MongoDB. The session unfortunately didn't run as smoothly as I had hoped. For the session we used the following tools: We started the session by using Skype to talk and VS Anywhere to share our Visual Studio instance. VS Anywhere gives you the ability to package a solution and share it with those you want to participate in the session, however this tool didn't work for us. We reverted to zipping the solution and sharing it via Dropbox. However once we had performed this step we had VS Anywhere up and running and could both see each others interactions. Once you have VS Anywhere up and running it is a great tool, it is very odd the first time you see someone else altering you code directly in Visual Studio. Quite often we would need to share screens and I originally thought that we could use Skype to do this, however it turned out that I could share my screen with Dan but Dan couldn't. This was odd since we were both on the free Skype version, I am not sure if this is a US/UK difference. To get around this we reverted to Google Hangout, however for some reason I could hear Dan but he could hear me. This meant we ended up using a combination of Google Hangout for screen sharing, Skype for audio and VS Anywhere to programming. We also had a problem that the audio on Skype would keep dropping out, there was no easy way around this except to hang up and redial. Despite the problems with the different communication technologies the session was very enjoyable. The key aspect to making it work was patience and the persistence that we had, it could have been easy to become annoyed with the technology and just give up. The session ran for 3 hours and afterwards we had achieved some moderate steps forward, we both had a running, testable solution, we had dived through tons of reflected code to understand how we might take the project forward. We had also agreed on the steps we would take forward and more importantly organised another meeting. The lessons for me from this first session are:
  • Use Google Hangout, it allows you to screen share to multiple users and from my experience provides better audio.
  • The host should just zip and share the solution via Dropbox so that everyone has the same solution.
  • Patience and persistence are required.
  • VS Anywhere is a great tool.
What was great was being able to directly talk to and interact with someone else who has a passion for technology but I have never met or talked to before. If you are interested in participating or running a session please contact me via Twitter and join the Online Group Programming Google Group. Find out more by reading my other blog posts on Online Group Programming.