There was an interesting session at OOPSLA yesterday called "Second Life: The World's Biggest Programming Environment" by Jim Purbrick and Mark Lentczner, that covered two main topics.

The first part of the talk was mainly about the popularity of LSL (15% of Second Life users write scripts!), and the effort to move LSL to .NET and Mono, and also to enable other .NET languages like C# to be used to build Second Life scripts.  This is very cool!

The second part covered how the LSL team uses Second Life as a communication and collaboration tool for their own software development.  Since I had just blogged a few days earlier musing about unified communication for developers, this definitely caught my interest.  Linden Lab folks have made what we at MS would call a dogfooding commitment -- all meetings are done in Second Life.  The LSL folks use an interesting combination of tools for their collaborative development work, including Second Life features:

  • a meeting place
  • presence -- you can and hear see what your co-workers are doing
  • white board for shared task list
  • 3D audio so you can hear what your co-workers are doing, both in meeting settings and less formal collaboration.  E.g., you might overhear two teammates doing a code review on an are of code you know a lot about and decide to join them

and others:

  • Screen sharing
  • Twitter
  • Etc.

As an example, code reviews are done using a combination of Second Life (e.g., audio) and non-SL tools (e.g., screen sharing).

Software development is a social endeavor, and I expect more and more experimentation with social tools and environments like Second Life as part of developers' toolkits.