Standards For Interconnecting Virtual Worlds
Tao Takashi writes "Linden Lab, developers of the popular 3D platform "Second Life" started to think about an open standard for interconnecting virtual worlds. The motivation behind this is to make Second Life more scalable but also to allow connection of other grids not hosted by Linden Lab. The process of defining components and protocols is supposed to be handled completely in the open with community participation. When finished the protocol documentation is supposed to be submitted to standard committees such as IETC, W3C etc.
The discussion has already started on the Second Life wiki and you can also find a first architecture proposal by Linden Lab."
Cool, I'm glad there are some smart people there at Linden Labs. I've been thinking about this for a while now, that there needs to be some group for developing such a protocol. Basically, this standard would encourage people to run their own servers and that's where it would really take off. Give people ownership, and they will run with it. Now all we need are 80 core processors and gigabit wan connections to the house.
I only hope that if they are altruistic enough to see the value in doing this, that they are good enough to make it as open as it should be.
Or else it could end up like this
That would be something to see.
The simple truth is that interstellar distances will not fit into the human imagination
- Douglas Adams
Aye Matey - soon we'll be a sailin our pirate ships o'er the internet! Me crew shall pillage vast new oceans and search for precious booty!
I said no... but I missed and it came out yes.
Here's what I want to see:
I want to be able to rent property in Second Life (or some other virtual world) and have it "link" to my own server, so that when your avatar enters my house, you (transparently) continue playing on my server, using my bandwidth, CPU and my rules.
That way, the main Second Life grid can handle much more people, while I can decide how much I want to handle. If I'm IBM, I will put up a server farm to handle my advertisement/community events. If I'm a private person, I'll plan for 10 concurrent visitors with enough spare capacity to handle spikes of 20-30.
One way or the other, my virtual home is no longer dependent on Linden Lab's server farm. If Second Life gets overloaded, the visitors in my virtual corner of the virtual world won't suffer. They might even come to me because my place always runs smoothly. Suddenly, there is an interest in upgrading the infrastructure beyond "it must work, mostly".
My place can be small (one house) or large (an entire island). Just like property in SL is already. Sure, the transition will be a bit tricky (at what point exactly are people transfered to a different server, and how do they "see" the content inside/outside?), but that's a technical challenge that is, in principle, not that hard.
In fact, I'd be perfectly happy to have it work the Oblivion way (e.g. you click on the door, you are teleported inside. Windows both ways are faked with textures if at all.)
What is cool about this is that it removes the scarcity of land. I can rent a small house in SL and have an entire world inside. Hey, why not? It's not as if physical laws matter. Sure, Linden will have to adapt their business model, but since the server load isn't theirs anymore, they should not have to worry too much.
Assorted stuff I do sometimes: Lemuria.org
replacing the ubiquous web browser with an SL client
I still don't understand why people think this is going to happen, or even why you'd want it to happen. Which is easier and more efficient, to read from a web page, or to read from a web page rendered as some kind of sign in a 3D virtual world?
I'm certainly not claiming that there's no room for improvement or innovation in the web browser, but there are reasons why that model won out and continues to be used today. Reading and writing is often more effective and efficient than speaking and listening, and the document model is efficient for reading and writing. Rendering the document into a 3D world is a waste of time and resources.
It was a cat herding party of monumental proportions. The first year was the design phase - it was amazing. We found out a need to fix Java so it had distributed garbage collection, closures, and the like. We made our own VM with these add-ons, and invented a world specification language called Pluribus for knitting together object aspects which represented the multi-party nature of distributed awareness.
Like many first attempts at "ontological revolution", the performance was less than spectacular. It didn't take long to build stuff that was beyond our understanding, either. Later, when aspect-oriented programming was invented, and the rest of the world starting thinking about distributed cyberspace, it has become possible to do what we were trying to do then. Even Java has caught up, co-opting most of the add-on features we had to come up with.
My advice to those approaching the problem today:
- Don't reach too far beyond what the average C++/Java programmer can understand.
- Don't invent anything that you can't make-do with that is already out there.
- Plan on getting stuff wrong at the beginning. (E/C released their first product without a version number in the protocol!).
- The start of the art of standards specification is not good enough to deal with this problem. Your only hope lies in producing a "Literate Reference Implementation". Doing that probably requires doing a rough-pass first, then recoding it.
- If you attempt to assemble a "dream team" to put something like this together - be careful about the human-relations stuff. (In our first year, one of our engineers found out he was getting less money then two others and went out on a "passive-aggressive vendetta". This dampened morale during a critical time.)
There is a lot more to say about E/C and its fate. Lets hope it isn't repeated...