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?
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?