Re: [vwrap] one question

"Hurliman, John" <john.hurliman@intel.com> Fri, 24 September 2010 21:22 UTC

Return-Path: <john.hurliman@intel.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 3B6623A6943 for <vwrap@core3.amsl.com>; Fri, 24 Sep 2010 14:22:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.924
X-Spam-Level:
X-Spam-Status: No, score=-5.924 tagged_above=-999 required=5 tests=[AWL=0.075, BAYES_00=-2.599, J_CHICKENPOX_51=0.6, RCVD_IN_DNSWL_MED=-4]
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 LaMHBh6z+SSq for <vwrap@core3.amsl.com>; Fri, 24 Sep 2010 14:22:47 -0700 (PDT)
Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by core3.amsl.com (Postfix) with ESMTP id 16A273A67D4 for <vwrap@ietf.org>; Fri, 24 Sep 2010 14:22:47 -0700 (PDT)
Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP; 24 Sep 2010 14:23:19 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.57,231,1283756400"; d="scan'208";a="660882398"
Received: from rrsmsx604.amr.corp.intel.com ([10.31.0.170]) by orsmga001.jf.intel.com with ESMTP; 24 Sep 2010 14:23:19 -0700
Received: from rrsmsx506.amr.corp.intel.com ([10.31.0.39]) by rrsmsx604.amr.corp.intel.com ([10.31.0.170]) with mapi; Fri, 24 Sep 2010 15:23:18 -0600
From: "Hurliman, John" <john.hurliman@intel.com>
To: "vwrap@ietf.org" <vwrap@ietf.org>
Date: Fri, 24 Sep 2010 15:23:19 -0600
Thread-Topic: [vwrap] one question
Thread-Index: ActcK/muQidXMRvoR+6PfYy3intcRgAAUCiQ
Message-ID: <62BFE5680C037E4DA0B0A08946C0933D012AD7E026@rrsmsx506.amr.corp.intel.com>
References: <4C9AB1BB.2010008@ics.uci.edu> <AANLkTi=fz6LhpRaTJr7Bu4KsXS93-B0B7SzjH4PwDGuc@mail.gmail.com> <4C9B7041.50908@ics.uci.edu> <AANLkTim-BvM-z90DjRcXD1r1bvZ1doSxzq6-Ou4jg-V7@mail.gmail.com> <B404AC53EB6E4A90A58B2C606CF66045@TWEEDY64> <AANLkTim98XGBrUQOVs0a1iyJD5AOq9nBPhcbZYgU6tro@mail.gmail.com> <4C9BAFF4.5010702@ics.uci.edu> <AANLkTinaghw0KwwvCQn8sEE5787C5zvdvt0Mos_qvByA@mail.gmail.com> <AANLkTimTV2g__Bmr9vexgKy5OjDubrjqFj-7Foe6nSGW@mail.gmail.com> <4C9CBFF5.2000508@ics.uci.edu> <OF86D28401.33705A10-ON852577A8.006059AE-852577A8.00654907@us.ibm.com> <4C9CF6F2.4040905@ics.uci.edu> <62BFE5680C037E4DA0B0A08946C0933D012AD7DF4E@rrsmsx506.amr.corp.intel.com> <4C9D03A1.1070603@ics.uci.edu> <62BFE5680C037E4DA0B0A08946C0933D012AD7DFB0@rrsmsx506.amr.corp.intel.com> <4C9D0C8E.5040109@ics.uci.edu> <62BFE5680C037E4DA0B0A08946C0933D012AD7DFD3@rrsmsx506.amr.corp.intel.com> <4C9D121B.3000704@ics.uci.edu>
In-Reply-To: <4C9D121B.3000704@ics.uci.edu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [vwrap] one question
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: Fri, 24 Sep 2010 21:22:48 -0000

Comments inline.

> -----Original Message-----
> From: vwrap-bounces@ietf.org [mailto:vwrap-bounces@ietf.org] On Behalf
> Of Crista Lopes
> Sent: Friday, September 24, 2010 2:03 PM
> To: vwrap@ietf.org
> Subject: Re: [vwrap] one question
> 
> On 9/24/2010 1:46 PM, Hurliman, John wrote:
> >> -----Original Message-----
> >> From: vwrap-bounces@ietf.org [mailto:vwrap-bounces@ietf.org] On
> >> Behalf Of Crista Lopes
> >> Sent: Friday, September 24, 2010 1:40 PM
> >> To: vwrap@ietf.org
> >> Subject: Re: [vwrap] one question
> >>
> >> On 9/24/2010 1:32 PM, Hurliman, John wrote:
> >>
> >>> For the case of your client talking to your virtual world, you don't
> >>> have to follow any standards at all. That is completely outside the
> >>> scope of VWRAP and no one is going to say "your client is using AJAX
> >>> to fetch assets instead of the VWRAP standard, you're not VWRAP
> >>> compliant!". But if you want your virtual world servers to
> >>> interoperate with other clients that are written by other people
> >>> (and may not be written in Javascript at all) you need to expose
> >>> VWRAP-compliant endpoints on your servers that follow very precise
> >>> specs. Does that clear up the possible disconnect we're having?
> >>>
> >>>
> >> I think the disconnect is not on this conversation, as I completely
> >> agree with you. The disconnect is on things that are written on the drafts.
> >>
> >>
> > But the drafts don't apply to the case of your own client connecting to your
> own server using your own protocol. They don't (or shouldn't, if they do)
> even attempt to address that because it's way outside the interop
> conversation. The charter and drafts should only be talking about how you
> can expose precisely defined endpoints to allow auth/asset
> retrieval/teleporting (and more down the road) from other clients or servers
> that also understand the VWRAP spec. To use the OpenID or OAuth
> example, supporting OpenID logins on your blog does not preclude you from
> also supporting your own non-standard user registration and auth system.
> From an engineering standpoint, it's a thing tacked on to the side of your
> system to allow interop with other systems, it doesn't define your core
> architecture. If the charter or drafts are stating otherwise, please point out
> exactly which phrases in which paragraphs are doing so because they need to
> be corrected before VWRAP will go anywhere.
> >
> >
> I already did on my initial review.
> Let me give an example with as much detail as I can fit in 5 minutes.
> 
> My student  is working on a JavaScript viewer for OpenSim. He is going to
> make a bunch of decisions about how the browser gets the assets.
> These decisions are noone's business. I think we agree.
> 
> Now, you go and develop another Javascript viewer for OpenSim. You are
> going to make a bunch of decisions about how the browser gets the assets,
> and those decisions are completely different from my student's.
> 
> Now, I point my browser to my student's world, I login, and I get the content.
> Great. Next I want to go from my student's world to yours, so some UI
> happens, and I go to your world using my web browser. I also get the
> content, as I get your JavaScript. In terms of interop, your world just needs to
> know who I am (a user of my student's world), and how to get the assets
> related to my avatar. The way that your JavaScript program makes the assets
> of your world come to my browser when I visit doesn't need to be the same
> as the way that my student's JavaScript program makes the assets of his
> world come to my browser when I visited.
> 

In this example, you are defining an interop mechanism that relies on fetching a Javascript blob and executing it to be able to fetch content from another virtual world. That's one possible way of doing virtual world interop, but unfortunately it rules out a large category of clients by using Javascript execution *as your interop mechanism*. You could also do OpenID authentication that way, by just downloading blobs of Javascript that know how to present an authentication UI, phone home, and do their work. Maybe this is how some worlds will interoperate, but it's not VWRAP and it's not in scope.

> Next step: dahlia is developing a Unity3D browser plugin for OpenSim. I want
> to go from your world to dhalia's world. So some UI happens, and I go to her
> world. I need to download the Unity3D web plugin, if I don't have it already,
> and once is installed I also get the content in whichever way dahlia's code
> makes them come the way of my browser. Her world should know who I am,
> and how to get my assets.
> 

This is where the need for a VWRAP protocol comes in; where you can no longer rely on the "execute some opaque Javascript to perform interop" method to communicate identity, assets, and a teleport handshake between two different platforms. Her world should definitely know who you are and how to get your assets, and the way it knows those things is by speaking the VWRAP protocol.

> These are all independently-operated worlds with radically different ways of
> placing the assets in my machine. And yet I ought to be able to visit them all
> while they know who I am and how to render my avatar.
> 
> Is this clear?
> 

Each world has its own protocols and those are out of scope of VWRAP, yet you ought to be able to visit all these different worlds and move identity and assets and presence between them, which is where a precisely defined protocol like VWRAP comes in and says you form a URL just like this and put these exact bits on the wire and you get back this response to complete the exchange. If we're in agreement on that statement then what you said is clear.

John