#3. My virtual world requirements – World-to-world scenarios

Print Friendly

In this series of entries (#1 and #2) I’ve been discussing my requirements for what I might consider the “ideal” virtual world for business, which I’ve mostly interpreted as “making Second Life better by adding or stealing features.” The purloined features, if you will, would come from other virtual worlds such as World of Warcraft, There, and so on.

Today I want to look at this from another angle, but I’m going to start with some basic assumptions:

There will be multiple virtual worlds. Some will share a nearly common code base for the client and or the server, and some will be completely different implementations. Some will be open source while others will be completely private source, but most will be a mixture of the two. Users will care about good clients but, since we’re talking about software as a service, the mysteries of the servers will not matter to most people. Therefore we will need very good interoperability as expressed through open data formats, protocols, and application programming interfaces (APIs).

I hope the last part sounds familiar to those who have been following this blog for a while. Though I may occasionally talk about specific instances of open standards or, conversely, brazen abuses of the standards process as an advanced form of vendor lockin, this “open stuff” is pervasive in how the IT industry is evolving.

Within IBM there have been many discussions around virtual worlds at all levels of business and technical depth, as I suspect you realize. One thing that we’ve done is look at scenarios in general and at virtual world-to-virtual connections in particular. Thus the ideas that follow are not original to me but really come from discussions by our technologists (I have kibitzed a bit on them).

To set the stage, first note that many people have web “home pages.” A home page could, for example, the default Firefox page, Google Search, My Yahoo, the New York Times, Bloglines, or so forth. It’s a place where you want to start off your session and where you expect to spend a certain amount of time.

Consider the analogous notion of “home world.” This is the virtual world in which you start your day and in which you probably do most of your interactions. Just as you go to several web pages each day, you may visit several virtual worlds each day. For example, a teenager might visit both Teen Second Life and RuneScape. Both are social environments, but they are different in their intent.

There will be multiple “Second Life”-like worlds, in my opinion, and my home world might be different from yours. Also, depending on the time zones in which we both live, you might be doing work in a “business virtual world” but, since it is late at night for me, I might be in the online Star Wars Galaxies virtual world.

Consider the following scenarios

  • World-to-world communication:
    If you and I are in different worlds, how can we IM with each other? That is, how do we each use our respective worlds’ IM facilities to connect with other? I do not mean stepping out and using something like AIM. That said, the worlds could certainly both use either a common service or at least gateways between IM systems. For extra credit, do this for voice as well. We can use the various standards that are out there, but are they sufficient for everything we want to do? Given all the permutations that Linden Lab is considering for voice in SL, it will be better to get these conventions down sooner rather than later.
  • World to world teleportation
    If you are in one world and send me an IM in another world saying “Bob, this is great, come here and see it,” how do you also send me an option to teleport out of my world and over to yours? SL users are familiar with this since it is the primary way of traveling great distance, but it is the world-to-world scenario that’s important here. Some questions:

    • Do I need a membership in the other world or is there a notion of guest?
    • Assuming I have memberships in each world, how are they connected so that “Nigel Paravane” in SL becomes “Tathura” in World of Warcraft after the teleport? That is, how do I deal with cross-world identity and all the implications thereof. This includes working out all avatar-to-avatar correspondences.
    • Can I bring my money with me? Does currency move or is there a common bank?
    • Can I bring my clothes with me or do I arrive naked? Do the clothes as objects transfer over or can I specify that when I enter a particular world, I just become my normal avatar there? Sometimes I might want one options, sometimes the other.
    • Can I bring more general objects between worlds? What if the request had been “Bob, get over here now and bring those slides for the customer meeting”? There are standards for representing objects in tools, in worlds and between worlds, such as Collada and X3D. Are these enough? What else is needed?
  • Search
    I am in one world and do a general search for “virtual consumer electronics store.” Some of the results are in my world, but some of them are in other worlds. I want to be able to 1) get such cross-world results and 2) be able to teleport to the resulting locations.
  • Device and world compatible link redirection
    That’s a mouthful, but here is what I mean. Right now there is a difference in what I see if I visit Yahoo from my laptop web browser versus the browser built into my Blackberry. On the server end, I’m given a page that is appropriate for my device. This is optional, and it is up to Yahoo and others to do such things if they wish. Now consider the more general case with virtual worlds included. You send me a link. If I am in my browser, I go to the web page. If I am reading my email or IM in a virtual world, I am teleported to a redirected link destination if there is an appropriate virtual world location. For example http://www.ibm.com/soa brings you to the IBM Services Oriented Architecture web page when you are in your browser, but it might bring you to the Second Life IBM SOA location if you are already in a virtual world. Of course, you might just want the web page, so you should be given a choice.

What other scenarios for world-to-world interactions can you think about?

Previous: “#2. My virtual world requirements – Good AI”
Next: “#4. My virtual world requirements – Multiple platforms for clients”


  1. Interesting set of posts. You’re not alone — I think you are matching pretty well to others’ wish lists are, too. Two specific comments:

    1) Take a look at ActiveWorld; a tourist account is free (and gives you an avatar looking like a tourist, which I could do without). It has a notion of multiple separate worlds, with teleportation between them and automatic changing of avatars when you cross boundaries (is that good or bad?). It has user-created content, too. Open Croquet is also multiworld, but I’ve not used it; it’s more a toolkit than “a” world.

    2) To make this really work, a lot of standardization is needed, and that doesn’t match the business models of the current big players; they’re more like BBSs and the original AOL. There are groups working on this , but so far progress is slow.

  2. Hi Bob,

    I’ve responded to your 3 posts so far about your perfect virtual world, implemented as an extension to the World Wide Web as I’ve mentioned before.


  3. Ben, thanks, great discussion. Any others want to join in?

  4. I have to respond to requirements such as these in terms of the technology I know. Here is my challenge to the X3D/VRML community given the requirements you mention (note from X3D/VRML list, so open commentary):

    We have the basic work done. We have a common object model that anyone is free to implement and profile signified by a common format that can be exchanged to the companion set of conformance specifications. The client works. The SAI works. Hook-up to the web and proceed.

    We have that.

    The IBM literature asks about collaboration in virtual worlds. So the big questions are, I suppose:

    What do virtual worlds require that our current standards don’t specify that should be specified?

    How do we adapt to other standards (we have a good xmlhttp/SAI story so we can frame adaptation in terms of web services supported?) In effect, in an XML ecosystem, the number one way to define adaptability is by the number of strong or weak relationships with other XML languages. X3D’s support for other XML formats by namespace is weak but the SAI can be extended.

    What role does authentication/authorization play in the capabilities of avatars or other objects transiting worlds or shared by them?

    Do we really have an OMG problem here or are we only looking for the bits that ANY virtual world client has to support in terms of object types and object services? For X3D clients, this is not a problem by virtue of the common object model.

    I speculate most of what is on the plate is the server design that can multiSpeak to different object models (clients) yes? Agreement on color models, yes. The basics. Then what else?

    How hard can we negotiate for H-anim? Where are it’s technical weaknesses relative to other humanoid designs? What about other articulated models? It doesn’t cover those. Are shared drones a good idea going forward?

    Some questions this list should answer:

    Are Immersive and Virtual World synonymous?
    put your favorite question here regards standards and the role of the X3D standard going forward.

    A sea change is upon us. Now is the time for innovative curiosity. What the X3D/VRML design world has to demonstrate now is the versatility and adaptability of it’s open and royalty free real-time object model with respect to new requirements.

Comments are closed