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
- Screen sharing
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.