Re: [vwrap] Some thoughts on Josh's Linden Lab Legacy Protocol discussion

"Hurliman, John" <john.hurliman@intel.com> Wed, 28 April 2010 15:41 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 1A6833A6B61 for <vwrap@core3.amsl.com>; Wed, 28 Apr 2010 08:41:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.849
X-Spam-Level:
X-Spam-Status: No, score=-4.849 tagged_above=-999 required=5 tests=[AWL=-0.850, BAYES_50=0.001, 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 eBLfRBDCW0DS for <vwrap@core3.amsl.com>; Wed, 28 Apr 2010 08:41:24 -0700 (PDT)
Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by core3.amsl.com (Postfix) with ESMTP id 23E613A6C17 for <vwrap@ietf.org>; Wed, 28 Apr 2010 08:39:29 -0700 (PDT)
Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP; 28 Apr 2010 08:37:37 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.52,288,1270450800"; d="scan'208";a="617216582"
Received: from rrsmsx603.amr.corp.intel.com ([10.31.0.57]) by orsmga001.jf.intel.com with ESMTP; 28 Apr 2010 08:39:03 -0700
Received: from rrsmsx601.amr.corp.intel.com (10.31.0.151) by rrsmsx603.amr.corp.intel.com (10.31.0.57) with Microsoft SMTP Server (TLS) id 8.2.176.0; Wed, 28 Apr 2010 09:39:13 -0600
Received: from rrsmsx506.amr.corp.intel.com ([10.31.0.39]) by rrsmsx601.amr.corp.intel.com ([10.31.0.151]) with mapi; Wed, 28 Apr 2010 09:39:13 -0600
From: "Hurliman, John" <john.hurliman@intel.com>
To: David W Levine <dwl@us.ibm.com>
Date: Wed, 28 Apr 2010 09:39:06 -0600
Thread-Topic: [vwrap] Some thoughts on Josh's Linden Lab Legacy Protocol discussion
Thread-Index: Acrm6PLwh/jGrDcpS2eSM/gHZpZRCg==
Message-ID: <5FD507B0-6D81-4945-9D8A-DE3FF81C7507@intel.com>
References: <OF12BB21F8.3FAB95C0-ON85257712.0076D115-85257712.00773210@us.ibm.com>
In-Reply-To: <OF12BB21F8.3FAB95C0-ON85257712.0076D115-85257712.00773210@us.ibm.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Cc: "vwrap@ietf.org" <vwrap@ietf.org>
Subject: Re: [vwrap] Some thoughts on Josh's Linden Lab Legacy Protocol discussion
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, 28 Apr 2010 15:41:25 -0000

Does the method for exposing an API need to be different from the method that exposes a user interface?

John

On Apr 27, 2010, at 2:42 PM, "David W Levine" <dwl@us.ibm.com<mailto:dwl@us.ibm.com>> wrote:


As always, food for thought, probably partly baked.

Josh Linden's presentation on the Linden Legacy Protocol
raises the possibility that a substantial number of
operations currently managed by the Linden Labs client be
viewed as "out of scope" for VWRAP and exposed as "there is
a URI/URL which provides access to a service to perform this
task."

Thus rather than including a set of LLIDL messages which define
how to set parcel permissions, you would associate a "Here is a
URI to invoke to get to a UI about this parcel"

I would argue this solves roughly 1/3 of the problem. It makes it very
easy for a deployed to provide a customer user interface, and it nicely
reduces the amount of work needed to describe a useful protocol. I also
said 1/3 because I think it misses two things. First, it begs the
question(s) "What cues are needed to let the client know where things
happen" and second, it misses the need to expose the attributes these
interfaces would manage in a programmatic fashion.

Effectively, the first problem is one of asking "How do we overlay the
scene graph with UI cues." The more I think about it, the more I like
the idea of solving this problem elegantly. In particular, the obvious
design "This portion of the scenegraph or this broad area of virtual
space" has "This URI" to invoke for more information seems pretty
straightforward. How to cue things like "parcel boundaries" and "Has this
property" is a little less obvious, but a good solution would be well
worth having. Notice that this also allows some potentially elegant
integration points. One could expose custom web page UIs as associated
with Vendors, Buildings, portions of the ground, or any part of the
scenegraph.

The second problem is also one worth solving, tho its more difficult.
I think it falls into two or three parts. The easy bit, is again, the
"cue" issue. In short, how does one find out that there *is* structured
data or an API associated with some portion of virtual space. At one
level, the temptation is to say the web solves this already, and blend
it in with an overall scheme for associating URIs with each bit of
virtual space or virtual item. I'm not sure this is sufficient, but I
think it serves as a nice starting point.

I think a small worked example would be helpful. This is intended to be
fairly accurate, but clearly not more than a thought experiment.

Posit a virtual space which wishes to expose an administrative
interface which permits visitors with proper permission to change
several parameters of the physics engine. The current model of things
would require a cap and a custom bit of user interface, or user
interface exposed via some "in world" hook, such as a prim exposing a
web page, or a web page entirely disjoint from the inworld experience.

Instead, we would provide a way for the region to advertize the
existence of the service to the client. I am, for example, imagining
either a capability exposed by the region, or a public URI/URL exposed by
the client. (Whether the approach is fully web centric, or blended in
with VWRAP style of capability access is clearly something worthy of
discussion)

The client, on arrival to the region, fetches the URI, using content
negotiation and gets back a "cue" to display to the user that a service
is available. (Content negotiation let web based internationalization
and such simply happens) The cue is presented to the user as the client
sees fit, and if it is invoked, an associated URI launches the
user interface web service, which can be pre-fed with context, based
on the user.

Now, this is doubly inappropriate for a programmatic approach. We neither
want to make programs screen scrape for content cues, nor do we want to
present them with a nice pretty user interface to manipulate. Thus,
a structured data path would be desirable. More on thinking about how
regions and scenegraph can expose APIs for performing tasks in a future post

- David
~ Zha