in the vwrap working group, we've been focusing on technical details, only occasionally surfacing for more "broad ranging" conversations. i think everyone in the working group supports the concept of an "open" virtual world, but i don't know that we've sat down to have a detailed conversation about what that means.
so this is my two cents on this topic. i would love to hear other people's ideas.
what you get with Second Life™ at the moment
Second Life™ currently allows for some flow between the virtual world and the 2d web. for instance, you can apply a web page to an object's exterior. viewer 1 limited you effectively to one URL per parcel, using the parcel media feature. viewer 2, with all it's faults, introduced the concept of putting a live web page on a prim face. cool stuff.
LSL scripters can also create objects that query data sources on the web using the LSL HTTP Client feature. More recently objects in world gained the ability to respond to HTTP requests with the LSL HTTP Server feature. these features allow in-world developers to interact with the larger 2d web; objects in world can respond to things happening in embodied reality.
LSL developers have done some great work creating in world objects that act as bridges between data and communication channels in world and out. (i'm thinking specifically of the various devices that bridge SL Group Chat with IRC and XMPP.)
why this isn't enough
but my assertion is that while these features are great, they're just not enough.
these features are relatively limited in terms of MIME types you can use and length of HTTP requests and responses in and out of the virtual world. to do any "real" development, you need to establish a web proxy outside SL.
this isn't a deal killer per se, but it does introduce some issues. in order to consume relatively complicated data (an RSS or ATOM feed, for instance) you need both LSL skills and the ability to code server-side PHP, Python, Perl, Java, Ruby or what-not. again, not a deal killer, but it limits the set of people who can develop for your virtual world.
there are also "plumbing issues" like authentication and federated identity. and getting objects in and out of the world is a minor annoyance (i'm thinking of second inventory and related functionality for OpenSim.) moving things in and out of Second Life™ is not impossible, but it's hard to automate, and requires the use of interfaces the lab may change without advance notice.
don't get me wrong here; i understand there's a rationale for why we live with these limits. i don't subscribe to the opinion that the lab (or some of it's employees) is/are evil just because the lab's business model might not be aligned with my personal opinions of how the world should work.
but i might as well talk about what i would like to see and why.
so what would an "open" virtual world look like? my take on an "open" world is one where just about any bit of data needed to participate or render the world could be hosted on an arbitrary server somewhere.
identity, groups and authentication
let's start with identity, groups and authentication. right now in SL, if you want to create an account, you go to secondlife.com, fill in some data, click a button and viola! you have an account on linden's servers. what could possibly be wrong with that?
well... a lot, that's what.
the 1 million active users metric you hear from the lab is pretty good for a small virtual world, but it's dwarfed by WoW's 11.5 million (paying) users, twitter's 75 million and facebook's 500 million. what if we opened up the virtual world to other identity providers? what if we let people automagically provision an account using other identities. they could use their profile information from facebook, gmail, linkedin, twitter and even the wikipedia. this would remove the "friction" of forcing people to create a new account in order to use the service.
so instead of forcing users to provision a new account with it's own password, we could use OAuth, SAML or something similar to carry identity and authorization information. done correctly, this would allow people to retain their "branding" from other services. it would be very nice to know, for instance, that the Meadhbh Oh you meet in-world is the same as @OhMeadhbh on twitter.
twitter, facebook and gmail all have access to the "long form" name you used when you setup your account. why not use this information to put your account name over your head instead of the "fantasy" name we currently use?
group affiliation and friends lists could also be automagically "imported." or rather than having the virtual world make a copy of your social graph, it would just use your favorite, existing social networking site directly to populate your friends list each time you log in.
in the future, i think the "open" virtual world will provide a semi-public avatar profile that uniquely identifies you to virtual world systems and users. an identity provider could either provide that profile (think of how twitter does http://twitter.com/ ) or would give you the option of putting your avatar profile URL in your social media site profile next to your email and relationship status.
the virtual world cannot depend on a single identity provider. we must make it easy for users to provision accounts and bring their personal branding and social network with them.
text and voice chat
and what about text and voice chat? right now in SL, you have one provider for text and voice group and person-to-person chat. your text chat is routed though linden's servers for text chat and through vivox for voice. it would be nice if we, the users, could pick our favorite voice and text chat provider.
why? not to put too fine a point on it, group text chat in SL sucks rocks. and people might just want to use their existing skype account for voice chat; maybe they have a skype out account and want to add a POTS user to a conference call. or maybe they want to talk about super secret things and want to use a corporate VoIP system.
or maybe they want to just use IRC or XMPP to chat so that the discussion has the option of moving out of the virtual world and into the less immersive, but more common world of "plain ol' internet chat." imagine an experience where you could be tied into your social network by way of a simple text chat client; then when things "got interesting" you could drop in world to see what people were talking about.
and if you were handy with authentication mechanisms, you could probably use the same identity on the chat channel that you did in world. in fact, i would sort of demand it.
what about assets and land?
digital assets in Second Life™ are now inexorably tied to Linden's asset servers. when their servers go down, you lose access to your goods. things are certainly more stable these days than in the old days where sim crashes and grid-wide downtime were normal occurrences. but it's still very annoying to be forced to deal with someone else's network problems.
wouldn't it be nice if you could have your own asset server on your desktop machine? maybe even running your own simulator so you would have a non-social, desktop development option.
an "open" virtual world would give you that option. your assets are stored where you want them stored. if you want to build your 3d objects with AutoCAD or 3DMax and then drag them into the virtual world browser, that should be your option.
the "open" world goes beyond where we are today. it's more than just a few HTTP messages coming in and out of the virtual world, but interoperable, open standards underpinning every aspect of the experience.
No comments:
Post a Comment