Re: [vwrap] Consensus? What exactly should be in the protocol
<kevin.tweedy@xrgrid.com> Wed, 22 September 2010 17:40 UTC
Return-Path: <kevin.tweedy@xrgrid.com>
X-Original-To: vwrap@core3.amsl.com
Delivered-To: vwrap@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix)
with ESMTP id 629BF3A6A97 for <vwrap@core3.amsl.com>;
Wed, 22 Sep 2010 10:40:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.448
X-Spam-Level:
X-Spam-Status: No, score=-2.448 tagged_above=-999 required=5 tests=[AWL=0.150,
BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com
[127.0.0.1]) (amavisd-new, port 10024) with ESMTP id j3eUjCNBinka for
<vwrap@core3.amsl.com>; Wed, 22 Sep 2010 10:39:56 -0700 (PDT)
Received: from elasmtp-galgo.atl.sa.earthlink.net
(elasmtp-galgo.atl.sa.earthlink.net [209.86.89.61]) by core3.amsl.com
(Postfix) with ESMTP id 1B6BC3A6A7E for <vwrap@ietf.org>;
Wed, 22 Sep 2010 10:39:56 -0700 (PDT)
Received: from [72.94.50.178] (helo=TWEEDY64) by
elasmtp-galgo.atl.sa.earthlink.net with esmtpa (Exim 4.67) (envelope-from
<kevin.tweedy@xrgrid.com>) id 1OyTIs-00035z-E9;
Wed, 22 Sep 2010 13:40:22 -0400
From: <kevin.tweedy@xrgrid.com>
To: <lopes@ics.uci.edu>, "'Morgaine'" <morgaine.dinova@googlemail.com>
References: <AANLkTinxpGRZ9PEWQx=KvaBNGBba4Z+P+SaP4N80VGV1@mail.gmail.com> <E2109887-F5B2-4742-B4F7-1C4655A2DD8B@ics.uci.edu> <62BFE5680C037E4DA0B0A08946C0933D012670D0C9@rrsmsx506.amr.corp.intel.com> <4C9A2081.6060401@ics.uci.edu> <AANLkTikkTw=Vf+uvWn6cvEd0FkwP8tGAf2rBtVka-1u2@mail.gmail.com> <4C9A2AF4.3060807@ics.uci.edu><AANLkTi=Ex3tjm_uO3E2CBUN0MFO23fLN7unMK=VdPGRs@mail.gmail.com>
<4C9A3B5A.9070806@ics.uci.edu>
In-Reply-To: <4C9A3B5A.9070806@ics.uci.edu>
Date: Wed, 22 Sep 2010 13:40:15 -0400
Message-ID: <96E93D10FC5C48C3BF017DEE5E8DDB14@TWEEDY64>
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----=_NextPart_000_0302_01CB5A5B.B0690EF0"
X-Mailer: Microsoft Office Outlook 11
thread-index: ActaessXBJ9Gj9h+SWGXguzg5WyMBQAASRLg
X-MimeOLE: Produced By Microsoft MimeOLE V6.1.7600.16543
X-ELNK-Trace: be22ee791caf5f441aa676d7e74259b793d4f437769de150f67814348382fe10ddce93885971019a350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c
X-Originating-IP: 72.94.50.178
Cc: vwrap@ietf.org
Subject: Re: [vwrap] Consensus? What exactly should be in the protocol
X-BeenThere: vwrap@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Virtual World Region Agent Protocol - IETF working group
<vwrap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/vwrap>,
<mailto:vwrap-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/vwrap>
List-Post: <mailto:vwrap@ietf.org>
List-Help: <mailto:vwrap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/vwrap>,
<mailto:vwrap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 22 Sep 2010 17:40:18 -0000
May I suggest we stop arbitrarily trying to define things in emails and come up with some kind of process into how to define what the first draft specification should include? Doesn't W3C have a process on how this works? I think this is the fundamental problem of this group; we are mixing vision, requirements, and design in the same email. We are making design decisions when we haven't even defined the requirements. I have so many conflicts with the existing VWRAP document because so many assumptions they are making about the architecture and design of virtual worlds that I don't know where to start. To me there are some very basic and simple things we need, like how John's email specified. Teleport to a world. Authenticate with that world Import avatar Import asset These are the basic verbs that connect the nouns. We can make any assumptions about the architecture or structure of a virtual world. What we need to define are the external behaviors that it needs to support to allow interop to occur. I am focusing on web based distributed virtual worlds, and most of everything we talk about doesn't fit. But the verbs like teleporting, importing do fit. I like reading all your guys emails but this is getting a little crazy, in my humble opinion. K. _____ From: vwrap-bounces@ietf.org [mailto:vwrap-bounces@ietf.org] On Behalf Of Cristina Videira Lopes Sent: Wednesday, September 22, 2010 1:23 PM To: Morgaine Cc: vwrap@ietf.org Subject: Re: [vwrap] Consensus? What exactly should be in the protocol Definitions here: http://www.ietf.org/mail-archive/web/vwrap/current/msg00317.html Morgaine wrote: On Wed, Sep 22, 2010 at 5:12 PM, Cristina Videira Lopes <lopes@ics.uci.edu> wrote: (1) Goal of the group: develop standards for portable user agent simulation state (expand on that) I think we may be witnessing the bow shock from a collision of meme systems here. :P VWRAP has honed its terminology rather well over the years, as has the OpenSimulator project I'm sure, but the two sets of terminology seem to be different. We need to bridge this gap fast. :-) What is "user agent simulation state"? In VWRAP we have: * users (humans driving a "client application"); * agents (the server-side embodiment of a connection from a client application); * regions that are primarily spatial but may orchestrate many services; * simulations that were traditionally run within a region but which in VWRAP may be performed by a discrete "simulation service" that could be external; * world state which is primarily held and manipulated by a region service. (Note that the above may sound a bit like SL, but it's not really. VWRAP services can be arranged in numerous different deployment patterns, and an SL-like configuration is merely one possible deployment out of many.) To the above should be added that we employ a REST-type protocol for all upstream communication between client application and server-side services, and being REST, clients and servers both have application state which is accessed and modified through CRUD operations, but the protocol is stateless as usual to provide us with the normal benefits of REST, such as addressibility, cacheability, etc. What we don't have is simulation state in the client application, so the phrase you used is a bit hard to tie down using our form of language. Explanation needed please --- I'll try to help you fit it into our terminology if I can. :-) Morgaine. ================================ On Wed, Sep 22, 2010 at 5:12 PM, Cristina Videira Lopes <lopes@ics.uci.edu> wrote: Fair, Morgaine. Here's an attempt at a plan for what could be in that draft. (1) Goal of the group: develop standards for portable user agent simulation state (expand on that) (2) Granularity of portability: virtual world application (expand on that) (3) Principles of such standards: as close to the design principles of the Web as possible (summarize) For (1) we need definitions for just about every word in there, which I started to do, and we also need a good definition of "state" itself. What is that state that gets ported around? For (2), I liked your long analysis, but I think there's a shorter way to get where you got, we really don't need to reinvent the Web :) But we can work on that. Morgaine wrote: Discussing what should be in draft protocol documents prior to actually writing them would be a good idea. We've suffered from this problem here repeatedly, in that documents are just sprung on us and then it's a major fight to get them back to a mutually acceptable common base. It would be infinitely more useful to find the common base first. Documents have immense inertia, and the less in them that needs revising at a core conceptual level, the less time is wasted by everyone. A little planning is a major time saver here. Morgaine. ================================ On Wed, Sep 22, 2010 at 4:28 PM, Cristina Videira Lopes <lopes@ics.uci.edu> wrote: OK. If more people are interested in this formulation, let's go ahead with this. It looks like Meadhbh, who has been the only active draft writer as far as I can tell (!), doesn't like/want/? this formulation, so she is not in a position to write it down. It is completely unfair of us, and mutually frustrating, to expect that she is going to write down things that she doesn't like/want. So someone else needs put their money where their mouth is, and spend a couple of days writing an intro draft that's alternative to the one that is currently active, and that reflects everyone else's expectations on the existence of [virtual world] application domains of trust. Maybe once we have an alternative intro document, we can all converge. Any takers? Hurliman, John wrote: This is closer to what I had in my head for VWRAP. Start with the goal of a portable virtual world presence, and a couple of necessary services fall out of that: * Identity/Authentication * Assets (possibly Inventory, maybe) * Teleport (both login and simulation to simulation) Which will in turn require: * Type system * Capabilities/X.509/insert_security_here * Avatar file format? * Event queue? And leave everything else for VWRAP2. If we can standardize those services and meet that first goal it will be much easier to tackle things like friends or groups or avatar movement / state simulation or anything else. I don't know if there is any industry demand for a virtual world avatar movement RFC, but other people have different perspectives. I'm strongly in favor of working toward the portable virtual world presence and supporting service definitions first though. John -----Original Message----- From: vwrap-bounces@ietf.org [mailto:vwrap-bounces@ietf.org] On Behalf Of Cristina Videira Lopes Sent: Tuesday, September 21, 2010 5:47 PM To: Meadhbh Hamrick Cc: vwrap@ietf.org Subject: Re: [vwrap] Consensus? What exactly should be in the protocol On Sep 21, 2010, at 11:15 AM, Meadhbh Hamrick wrote: so after yesterday's fireworks, i think it's safe to say the group agrees we're trying to build standards for "some kind of virtual experience." I think this can be nailed down a lot better, Meadhbh. Or maybe there are completely different goals at play here. Probably the latter, let's see. Here's what I think would be really cool for this group to do: this group could be trying to build standards for portable user agent simulation state, a part of which, but not all, is portable identity. Where: 1) "portable" means what it means on the Web: communicated between sites in different trust domains 2) "user agent" means what it already means on the web: the data that represents the user on the web server 3) "simulation" is the new thing that these web apps do: they take the user agent data and place it in a simulation of a 3D environment, possibly, but not necessarily, giving the user a visual representation called 'avatar'. As the simulation proceeds, the user agent data may change. I think it's very uninteresting -- and mostly void of any effect in practice -- that this group engages in the design of a standardized virtual world user experience, e.g. making the SL features be a standard for all virtual worlds. For example, they all have maps! they all have IM! they all have currency! etc. -- that's as pointless as trying to standardize the user experience for social network applications. we agree that the group should define "services," to simulate the virtual world. and we should define enough services that a software developer could take our documents and code something that has a good chance of a) interoperating with other software developer's output and b) provides a reasonably complete virtual world experience. further, i _think_ we agreed there should be no requirement that a service deployer should have to deploy ALL the services we define; it's up to the individual deployer what services they want to offer. a lot of people on this list have experience with Linden's Second Life Viewer (and similar programs.) i think the experience of a virtual world through this program has shaped a lot of people's recent opinions of what should and what shouldn't be in a virtual world. josh bell gave a presentation titled "what's *not* in VWRAP" at last spring's IETF face to face in anaheim. you can find the notes here: http://www.ietf.org/proceedings/10mar/slides/vwrap-6.pdf [warning, PDF.] to begin the discussion, i'm going to list a few things i think should be standardized by this group, then a few things that i think shouldn't. please note that i'm all for standardization, it's just that for some of these features we may want to rely on what josh refers to as "convention" rather than standardization. in other words, peeps should definitely develop standards for enough stuff to be able to render a virtual world with terrain, objects and avatars, but i don't think this group has to standardize everything (like postcards. why the heck do postcards go through linden's servers when it's EXTREMELY likely that if you have a second life account you also have an email account. but i digress.) so here's my list. i'm not trying to tell people the is the only list that would ever work. they're just my thoughts... * type system - in i'm a big fan of the abstract type system and it's related serialization schemes. i'm not the world's biggest fan of LLIDL. i like what it's trying to do, but all that line noise used to define resources is annoying. * authentication - in or out? BOTH so now that linden has de-emphasized their participation in this group, and we probably won't know for a while if they'll ever implement anything we specify, why bother with legacy linden authentication. their current "legacy" auth goes over XML-RPC which IMHO is the internet equivalent of a skin disease that you just can't get to go away. it also uses MD5. i can't express my feelings for MD5 in polite company. there are some very interesting conversations / arguments going on regarding OAuth. it's a well understood authorization technology that many of us on the list have used in the past. OpenID is also vaguely popular, though i'm not it's biggest fan. i do know that some of the .edu peeps are supporting shibboleth which is (correct me if i'm wrong) layered on top of SAML. however... there is one aspect of the current auth spec that is (IMHO) "really cool." and that's the part that provisions a seed capability. zha and i have bounced up and down about how caps solve some vexing problems dealing with loosely coupled collections of services. also, most current OAuth instances like to direct people to HTML web pages. this can be a problem for peeps with desktop apps. yes, you can integrate a web browser with your viewer and capture the final redirect. btw, one of linden's problems with this idea was you got software distributed by linden that redirects people to web pages owned by other people, and this sorta freaks some corporate users out. so... were i the empress of all the internet, i would decree that linden legacy auth and linden OGP auth be deprecated and declare that implementers were free to use whatever auth technology they want to use to authenticate the user prior to giving them their seed cap. but because i was a kind monarch, i would define one or two standard, thought non-normative, techniques for using other auth technologies. so instead of calling this auth, i would go back to calling it "service establishment." * maintenance - IN if you look at the existing auth spec, there's a resource defined for login-time user maintenance. it's pretty straight forward to support on the client side, and there's no requirement that you have to use it on the server side. * account properties - some IN, mostly OUT i think we should have a standard way for a client or service to request basic information about a user, an agent or an avatar. but honestly, i think a lot of the stuff that get's displayed in the Second Life Viewer's profile floater could just as easily be rendered as a web page. * agent / avatar control - IN yes, we should define a standard set of messages for controlling the user's avatar. however, i think we should build an extensible control sub-protocol. so maybe we start with messages labeled 'CONTROL- MOVETO' to define how the user's avatar should be moving around the virtual world. later we may want to add 'CONTROL-ANIMATION' for synchronizing an avatar's animation with real-life events from the client. * asset access - IN there's lotsa fun stuff that's been hypothesized for next generation assets. suffice to say, at the very least manipulation of meta-data and a way get link objects in user's inventories and objects in world with objects in an asset server is "a good thing." * asset upload - OUT? maybe? IN? kinda there are plenty of great protocols and data formats for defining assets. X3D, COLLADA, etc. and HTTP PUT is well understood. so i don't know that we have to create any new protocols for uploading assets. but we may want to define a technique by which a user can tell an asset server it's wants to upload something and then the asset server gives the client a URL to a HTTP PUT resource where it can upload it. * build tools - OUT the ability to do "group builds" in second life and OpenSim instances is one of the compelling things about those worlds. i think there should be a standardized way to do builds "in world." but IMHO, SL does it wrong. OpenSim inherited SL's wrongness. we could do it MUCH better. but i would recommend we pass on building a standard for it in this group. * communication - some IN, some OUT anyone who's experienced the "joy" of second life's group chat feature can quickly see how it's not up to the task. XMPP is a PERFECTLY GOOD chat protocol. however, for spatial chat, you would probably want some way to identify a location in the virtual world as the endpoint of a chat message, so at the very least we should have enough specification for how to represent locations or avatars in the virtual world for XMPP or SIMPLE or IRC or whatever chat protocol we would want to use. but the existing linden legacy protocol chat should definitely be deprecated. or caught in a dark alleyway when no one's around and put out of it's misery. * event profiles - OUT this is something that should be a web page * friends and groups - OUT? IN? this is a tough one. groups are kind of an important part of second life's social fabric. but i have a hard time justifying a group access and management protocol when i know that the first thing a third party is going to do is ignore the protocol and implement something that talks to twitter or facebook. but... it is still nice to have some standard way to query a user's presence. maybe the thing to do is to define a "presence field" in a user or avatar's public profile. you could then stuff the URL to your public profile on your facebook page or some twitter app somewhere and virtual world clients could "do the right thing" by querying your social network on facebook / twitter / avatars united / etc, reaping the links to user's public profiles and then querying their presence status. or maybe i should just shut up and go code some examples. anyway... thoughts? * parcels - OUT! OUT! A THOUSAND TIMES OUT! parcels are a linden invention that (IMHO) should not be part of this protocol standard. i'm all for lindens making publicly defined extensions to describe their parcel system, but i don't think every region should be forced to carry this bit of linden baggage. * land and region profile - IN on the other hand, it's good to know a thing or two about the virtual land upon which your avatar stands (like where to go to get the scene graph). that should definitely be in the protocol. * search - OUT this should be a web page. * teleport - IN * virtual currency - OUT * world map - OUT * "space server" - IN this is the resource that defines the adjacency and shape of various regions. i don't think we could have a meaningful virtual world experience without it. okay... these are just some ideas to kick-start the conversation. i'm interested to hear what other peeps think. if i didn't mention your favorite service it was an oversight, not a slight. -cheers -meadhbh -- meadhbh hamrick * it's pronounced "maeve" @OhMeadhbh * http://meadhbh.org/ * OhMeadhbh@gmail.com _______________________________________________ vwrap mailing list vwrap@ietf.org https://www.ietf.org/mailman/listinfo/vwrap _______________________________________________ vwrap mailing list vwrap@ietf.org https://www.ietf.org/mailman/listinfo/vwrap _______________________________________________ vwrap mailing list vwrap@ietf.org https://www.ietf.org/mailman/listinfo/vwrap _______________________________________________ vwrap mailing list vwrap@ietf.org https://www.ietf.org/mailman/listinfo/vwrap _____ _______________________________________________ vwrap mailing list vwrap@ietf.org https://www.ietf.org/mailman/listinfo/vwrap _____ _______________________________________________ vwrap mailing list vwrap@ietf.org https://www.ietf.org/mailman/listinfo/vwrap
- [vwrap] Consensus? What exactly should be in the … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Dzonatas Sol
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Hurliman, John
- Re: [vwrap] Consensus? What exactly should be in … Mike Dickson
- Re: [vwrap] Consensus? What exactly should be in … Morgaine
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Morgaine
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Morgaine
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Morgaine
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Mike Dickson
- Re: [vwrap] Consensus? What exactly should be in … David W Levine
- Re: [vwrap] Consensus? What exactly should be in … kevin.tweedy
- Re: [vwrap] Consensus? What exactly should be in … Mike Dickson
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Morgaine
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Morgaine
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … David W Levine
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … kevin.tweedy
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Morgaine
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … kevin.tweedy
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … kevin.tweedy
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Dan Olivares
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Morgaine
- Re: [vwrap] Consensus? What exactly should be in … kevin.tweedy
- Re: [vwrap] Consensus? What exactly should be in … Dan Olivares
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Morgaine