Re: [vwrap] Consensus? What exactly should be in the protocol

Mike Dickson <mike.dickson@hp.com> Wed, 22 September 2010 17:34 UTC

Return-Path: <mike.dickson@hp.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 3C0763A6A94 for <vwrap@core3.amsl.com>; Wed, 22 Sep 2010 10:34:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -103.932
X-Spam-Level:
X-Spam-Status: No, score=-103.932 tagged_above=-999 required=5 tests=[AWL=-1.334, BAYES_00=-2.599, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
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 jopEVKFgH+F3 for <vwrap@core3.amsl.com>; Wed, 22 Sep 2010 10:34:39 -0700 (PDT)
Received: from g6t0187.atlanta.hp.com (g6t0187.atlanta.hp.com [15.193.32.64]) by core3.amsl.com (Postfix) with ESMTP id D68C23A6A8D for <vwrap@ietf.org>; Wed, 22 Sep 2010 10:34:36 -0700 (PDT)
Received: from g5t0012.atlanta.hp.com (g5t0012.atlanta.hp.com [15.192.0.49]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by g6t0187.atlanta.hp.com (Postfix) with ESMTPS id 0476628179 for <vwrap@ietf.org>; Wed, 22 Sep 2010 17:35:04 +0000 (UTC)
Received: from [192.168.1.113] (h112.38.130.174.dynamic.ip.windstream.net [174.130.38.112]) by g5t0012.atlanta.hp.com (Postfix) with ESMTPSA id 581D310002 for <vwrap@ietf.org>; Wed, 22 Sep 2010 17:35:03 +0000 (UTC)
Message-ID: <4C9A3E46.2090508@hp.com>
Date: Wed, 22 Sep 2010 13:35:02 -0400
From: Mike Dickson <mike.dickson@hp.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.11pre) Gecko/20100922 Lightning/1.0b2 Shredder/3.1.5pre
MIME-Version: 1.0
To: vwrap@ietf.org
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>
In-Reply-To: <4C9A2081.6060401@ics.uci.edu>
Content-Type: multipart/alternative; boundary="------------020008020305020507090404"
X-Brightmail-Tracker: AAAAAQAAAAI=
X-Whitelist: TRUE
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:34:42 -0000

  On 09/22/2010 11:28 AM, Cristina Videira Lopes 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?
>
Ok, I'm confused.  Where did you get that Meadbh doesn't agree with the 
approach John presented?  I thought she'd pretty much supported it.  The 
disconnect seems to be around "simulation state" which is pretty vague 
and really needs definition to be discussed.

The big disconnect I've gotten over the last few days and which I still 
don't understand was Meadbh's assertion that VWRAP wasn't about multiple 
virtual worlds inter-operating.  I thought we got past that.

I'll state my position.  I would prefer we focus on a basic set of 
services, payload definitions and wire protocols that provide the 
framework within which co-operating virtual worlds can be built.  It's 
tempting to expand that to include things like transferable simulator 
state, etc, because for a user to get the experience they expect today 
we'll need to eventually deal with that but I prefer to walk first.  I'm 
not personally opposed to adding documents to address additional scope 
over time but if we can produce and initial set that encompasses John's 
list below we'd have accomplished something IMO.

Mike

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