There are a lot of technical hurdles to make first avatars, and then their inventories, move between worlds. It's certainly an appealing end goal of virtual world interoperability, but I believe there are significant gains to be had in virtual world interoperability way before those problems are solved. For an insight into where we'll be spending the next six months, take a look at the shared simulation use case.
If you want explicitly to consider moving an avatar between systems, then even there there are sevaral different levels of interoperability. The simplest case might look like this:
- I have an avatar in System A (say, an OLIVE based corporate virtual world).
- I want to use that avatar for a social gathering in System B (say, the Pimp My Ride virtual world by MTV).
- I register at the PMR site. When time comes to specify my avatar and user name, I instead tell the system to "go get my identity from over there," pointing it at my OLIVE based virtual world.
- The PMR system will fetch avatar data such as clothing, name and appearance from that other system, using an open protocol that's yet to be determined.
- When I log in to PMR, I get my regular avatar, and others see him as well.
Note: I'm not announcing any particular support for this; I just used two random virutal world names to come up with an example to illustrate how it could work in an early step.
Just to get that example to work, we need at least:
- A way to perform requests of "copying" avatar information around, with some way of handling authentication. This is a Web 2.0 style problem, and solutions might be emerging but there's no "winning" standard yet. Another way to think about it is to use an existing low-level standard (like XMLRPC or SOAP) but define a new schema on top of that.
- A way to transfer geometry and textures in a format that makes sense to the destination system. Example standards might include the COLLADA file format.
- A way to represent "remote identity" in the destination world — someone using that world should see me as "Jon Watte @ OLIVE Corporate World" because that's my "identity" in this case. An existing standard is OpenID; I'm not sure how much modification it would need to fit.
- An approach for how (and whether) to allow write-backs to the identity in the original world, if I change something of the avatar in the destination world. Again, this is a Web 2.0 style problem, and solutions emerging in that space might be re-used.
For that to happen, though, there needs to be economic incentive. People would have to want to pay for that capability, else virtual world providers won't spend time and money implementing something like that. It would be interesting to see the results of a survey trying to figure out whether, and how much, people would be interested in paying for avatar mobility.
Once this level of interoperability exists, future improvements may include:
- A way of transferring avatar behavior (procedural animation like breathing, eye contact, etc)
- A way of transferring emotes/animations.
- A way of transferring inventory; first as "dead items" that just serves as decoration; later as actual objects with physical simulation behavior (that's a very tough nut to crack).
Until that point, you would still be using client program A to access world A, and client program B to access world B. The problem being solved in this use case is basically a content translation and authentication/ownership problem.