Linden Lab has announced at the SLCC their continuing support of the open source efforts: the launch of Snowstorm, the project for a new viewer (based on the Snowglobe 2.X codebase) which will get Lindens and third-party volunteer developers working much, much closer together to develop what Philip Linden hopes to be the ultimate viewer, or, as he says these days, “to bring Linden Lab back to the lead in innovation and technology”. Tateru Nino has already commented a bit on the change of strategy; I have to humbly confess that I’m not familiar enough with the Scrum methodology to comment if it’s the best way to deal with a fast pace of development that includes a lot of external developers. Still, some things look interesting: for instance, in theory at least, the Emerald team could branch off one fork of the Snowstorm code to implement their spell-checking functions, manage it as if it were their own personal in-house project, release a build for open testing by any resident, and after a few weeks, commit it back to the main code — and this would become an “official” Snowstorm release (which will happen every other week). Sounds reasonable? Well, yes; it’s also a way to get more people to help out Linden Lab to fix bugs, now that they have fired so many developers (but they still have 175 working at LL on 15 different teams, says Philip).
On the other hand, the other major open source project at Linden Lab, intergrid connectivity, seems to have been dropped, possibly indefinitely. This is indeed bad news. Around this time, the IETF should have been able to come up with some relatively final standards for the intergrid protocol VWRAP. But if Linden Lab drops their commitment to it, the future is not very bright. On the other side of the coin, we have the OpenSimulator community with its amazing Hypergrid protocol, currently at its 1.5 incarnation, and which is simply mindboggling in the way it operates.
I had to try it out for myself 🙂
An image is better than a thousand words, a video is better than a million…
The best way, I guess, is to show a video, and this is what I’ve done. Please understand that pretty much everything you will see runs on low-to-average hardware and connectivity. After you watch it, some explanations are due…
On the above video, I mostly wanted to make three points. First, and perhaps the most important point, it works. And it works way better than I imagined. Secondly, that OpenSim, in spite of its insanely fast pace of development, is still very flaky — some might compare it to what Second Life did in 2002 or early 2003: most things work some of the time, but failure is usually catastrophical. And thirdly, we’re slowly getting all the pieces assembled together: with every new iteration of OpenSim, it comes closer to become what people have in mind when thinking of a true Metaverse — lots of virtual worlds, each running independently of each other, but all joined together in a chaotic weave of interconnections between each other. While some of the steps shown on the video might not be very impressive yet, the underlying technology is everything we have been hoping that Linden Lab developed and that we asked from them as early as 2006 or so. It’s more than merely a “proof of concept” or a “nice prototype”: now we can actually use it, even though patience is required — the technology is at the alpha stage, and will remain so for many, many years.
You’ll see that I often stop to type strange links in chat, and then click on them. This is how Hypergrid teleporting is implemented, and it’s viewer-independent; it also works on the SL viewers. For instance, while a link to a sim on LL’s SL Grid is simply
secondlife://Beta Technologies/128/128/40 (if you copy this and paste it on your viewer, you can click on the link, and teleport there), for links on OpenSim grids, you just add the grid URI: e.g.
should allow you to teleport from any OpenSim grid with Hypergrid 1.5 to my company’s sim on our own grid. The
secondlife: tag just describes the protocol, not the grid. So, yes, there are ways to distinguish grids pretty easily: the login URI is unique for every grid.