[mmox] One more time: The LESS model vs the Generic Client model
Jon Watte <jwatte@gmail.com> Sat, 14 March 2009 19:42 UTC
Return-Path: <jwatte@gmail.com>
X-Original-To: mmox@core3.amsl.com
Delivered-To: mmox@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B83623A6B70 for <mmox@core3.amsl.com>; Sat, 14 Mar 2009 12:42:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.576
X-Spam-Level:
X-Spam-Status: No, score=-2.576 tagged_above=-999 required=5 tests=[AWL=0.023, BAYES_00=-2.599]
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 wIhJq7zrygGe for <mmox@core3.amsl.com>; Sat, 14 Mar 2009 12:42:46 -0700 (PDT)
Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.233]) by core3.amsl.com (Postfix) with ESMTP id 5F4383A69ED for <mmox@ietf.org>; Sat, 14 Mar 2009 12:42:46 -0700 (PDT)
Received: by rv-out-0506.google.com with SMTP id l9so2172309rvb.49 for <mmox@ietf.org>; Sat, 14 Mar 2009 12:43:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=Rxo7ylvm/EXHCYfkcmrUM27D9h72CAudOAv9Pc0oH5o=; b=ZpkO0oZzzEVfiezF2PCLoz3eMo03MQ7A8RQn66uVL7EhqEB/wnArBdclAUX5xEbgKx GaBo8MBvaurrLISnZhjCZB3Ql1IW0YIk0e6OOqUDnEOgc4z41LQ4+qEhZIiaQt0q4NwS Ajpj6tP519mD9zm7MElZpLYjYmAJBe2z8vxSU=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; b=losMfQ2x+d9OgyvgBd9mlCYLYjp+A9tJwJAcQ0Q2T0xPk9wYMaSxGvnLnIASTWHvob 0phmXIeMMdmbywQP3IYpczwpGk9kNyXdQzBkso1KzFYfsDvVRlwA6QDDNKxB46Hdi53g I8LsMkBOyln6luPE9KkIGLBFwkWDQH458ANIw=
Received: by 10.115.92.2 with SMTP id u2mr1946976wal.137.1237059806252; Sat, 14 Mar 2009 12:43:26 -0700 (PDT)
Received: from ?192.168.1.101? (svn.mindcontrol.org [69.17.45.136]) by mx.google.com with ESMTPS id m17sm2925975waf.31.2009.03.14.12.43.25 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sat, 14 Mar 2009 12:43:25 -0700 (PDT)
Message-ID: <49BC08DC.2010503@gmail.com>
Date: Sat, 14 Mar 2009 12:43:24 -0700
From: Jon Watte <jwatte@gmail.com>
User-Agent: Thunderbird 2.0.0.19 (Windows/20081209)
MIME-Version: 1.0
To: Morgaine <morgaine.dinova@googlemail.com>
References: <e0b04bba0903120735s5311a922ybbc40a30433166a3@mail.gmail.com> <49B934B9.3080408@gmail.com> <49B940DF.8040009@lindenlab.com> <e0b04bba0903130451v2d33f9ebxfa3b337513bf286c@mail.gmail.com> <49BB0C46.8070809@gmail.com> <e0b04bba0903140305ocdbef86kcec140371dabf00b@mail.gmail.com>
In-Reply-To: <e0b04bba0903140305ocdbef86kcec140371dabf00b@mail.gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: MMOX-IETF <mmox@ietf.org>
Subject: [mmox] One more time: The LESS model vs the Generic Client model
X-BeenThere: mmox@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Massively Multi-participant Online Games and Applications <mmox.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/mmox>, <mailto:mmox-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mmox>
List-Post: <mailto:mmox@ietf.org>
List-Help: <mailto:mmox-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmox>, <mailto:mmox-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 14 Mar 2009 19:42:47 -0000
Morgaine wrote: > I don't fully understand what the highlighted phrases mean. On the > face of it, your words "/two clients ... two different worlds/" seem > to suggest that you're advocating that users should have one client > per virtual world, but since we're envisaging a metaverse of millions > of worlds and thousands of VW providers, that can't be what you mean, > because thousands of clients on a desktop is, well, bizarre. > It seems that you have not yet grokked the operating principle of LESS. Think of it as cell phones: you have one cell phone, that works with one carrier. However, you can call people on any other network, and it is transparent to you, because your carrier/operator makes the translation for you. That's the model I see working with LESS -- the different virtual worlds translate for you. Thus, if you only have a Second Life client, and you click on a link to go visit a location that's hosted by an OLIVE server, what will technically happen is that a Second Life sim sets aside a little bit of "empty space," puts your avatar in that space, and connects that empty space with the location hosted by OLIVE. Any objects that you introduce in your space (including your avatar) get peered to the location host. And objects from the location host get peered to your system. You view the outcome of the simulation of all objects (hosted on OLIVE, or hosted on Second Life) through your Second Life client, because the peering gateway on the Second Life side translates from LESS to the Second Life native technology. Similarly, the OLIVE user views the outcome of all the objects from the Second Life side through the OLIVE client, because the OLIVE gateway translates from LESS to the OLIVE native technology. Note that only the presentation of the object needs to be transmitted (Second Life style), not the behavior, scripting, or internal ownership details of the object. (This should make people who worry about IP happy). This way, you only ever use one client -- the client of the operator of your choice. This is very similar to how you select a cell phone and a carrier. Operators may support multiple clients, but the protocol between client and operator does not need to be standardized. It could be a separate standard, of course, but the technology involved is so complex that getting success in the market with this model is next to impossible. Now, why is the cell phone model better than the web browser model for virtual worlds? I think there are two reasons: 1) It's about real-time interactivity, not asynchronous interactivity. You find that all interactive systems actually end up with the client/server customer/provider paradigm. This goes for Instant Messaging, or online games, or regular old phone service as well -- even for e-mail, which actually isn't real-time. You could say that the HTTP web model is the odd man out -- it works very well for asynchronous, not-very-complex data, but as soon as you need more complex data (Flash games, streaming video, etc) you end up with a number of competing tightly integrated client/server set-ups (QuickTime vs Real vs Flash vs Microsoft for video, for example). > For interop to happen, all parties are going to have to develop new > interfaces /somewhere/, either in their servers or their clients or > both, but it's their own choice where. In your case the new > interfaces seem likely to appear in OLIVE or LESS servers, as that is > the model you prefer. > I hope I made a case for why that's actually the only model that I see as commercially viable for the greater world of virtual worlds. Implementing LESS peering between servers would be an order of magnitude less work than re-implementing an entire client/server architecture, unless you keep dual architectures in the client (one "simple" for interop, and one "native" for some "home" system -- but down that path lives madness). Note that the OLIVE internal system is nothing at all like LESS -- in fact, LESS is a lot more like the Second Life protocol than like the OLIVE protocol. The reason LESS is designed the way it is, is that we (at Forterra) have implemented virtual world interoperability at the physics and semantic level between disparate technologies since 2005, and have learned a lot about what is easiest to do to accomplish the most. We do, in fact, have an interoperability gateway on our price list -- but it doesn't use LESS; it uses DIS, or HLA, or a protocol proprietary to OLIVE. I'd like to get away from that, to a standard that everyone can use, and just plug bits together when building the systems that run the worlds. > Since nobody is advocating multiple clients then, why do you keep > mentioning "/*not having to install two clients*"? > / It's a necessary logical conclusion from the model of a client that can connect to different kinds of worlds. Let me spell it out: Today, you can download and install two different clients, to connect to two different worlds. That's the status quo. Those worlds may use OpenID if you want a "single sign-on" -- that technology already exists. */Any standards proposal must be viewed against this back-drop/*, to measure how far it advances the state of the art. If we introduce a "multi-world" capable client, then you can choose to connect to world A, or to world B, from the same client. The gain, for you, is that you don't have to switch clients when moving to different worlds -- you don't have to install two clients to visit two different worlds. However, what */you do not gain is the ability to mash up objects/* from world A with objects from world B. You have to choose: do I visit world A, or do I visit world B? Even if you log in to both at the same time, the users in world A do not see the users you see in world B, and vice versa. You need server peering for that to work. Which is what LESS is intended to provide. What you also do */not/* get from a multi-capable client is */the ability for users in world B to see and interact with objects that you may own and use in world A/*. That requires a single, standardized object execution environment, kind-of like saying that all web servers should use ASP.NET for servlets. It also requires transfer of the entire object (scripting and other internals) to the second system. Or it requires server peering -- which is what LESS is intended to provide. In fact, */you may not even get the ability to keep the same avatar/* looks and clothes between the systems -- that would require the systems to implement the same user interaction methods and protocols, as well as highly technical details like how to customize and build up an avatar out of smaller pieces of data. In LESS, the owning system provides a unified "cooked" presentation of your avatar, and is responsible for making it look right. Thus, technology-specific changes are applied before the data even leaves the originating system. When implementing the LESS model, you get all the benefits that you want to provide in a multi-capable/generic/universal client model: 1. a seamless click-to-teleport experience, no matter where the destination 2. keeping a single client maintained, rather than a bunch of disparate clients You also get the following benefits, which a multi-capable/universal/generic client will not give you: 3. keeping a unified avatar, with a single avatar identity and consistent visual 4. keeping a unified inventory with all your usable objects 5. interacting between users from world A and world B in a single space 6. using objects from world A and world B together in a single space All of this, at an (estimated) 1:10th the implementation cost of a multi-capable/universal/generic client equivalent to the native clients we have today. To my mind, this is how to get the best bang for the least buck in virtual world interoperability, if you actually care about interoperating between technologies. If you want to build a generic client, you can always build on top of the server<->server peering protocol at some later time -- but the server<->server peering still needs to be there to provide benefits 3..6 above. > This has confused me on various occasions so I've found it hard to > follow your line of reasoning. Could you elaborate please? I appreciate that you're asking for clarification, and I hope that I've explained the reasoning in sufficiently detailed steps. If there is something that still doesn't make sense, or some conclusion you disagree with based on some facts that I may have missed, I'd be very interested in hearing about it! Sincerely, jw PS: The LESS protocol is a skeleton to build on: there are lots of bits and pieces that need to be defined. like how servers find each other; specific data formats for object presentation graphics data; what the specific sets of interactions should be; what the specific well-defined property semantics should be; etc -- much of which probably can be grouped into lower-to-higher profiles as well, to support limited-capacity clients and the like. Hopefully, the protocol description at least calls these out for further clarification.
- [mmox] 3-world OGP interop scenario Morgaine
- Re: [mmox] 3-world OGP interop scenario Morgaine
- Re: [mmox] 3-world OGP interop scenario Jon Watte
- Re: [mmox] 3-world OGP interop scenario Meadhbh Hamrick (Infinity)
- Re: [mmox] 3-world OGP interop scenario Rob Lanphier
- Re: [mmox] 3-world OGP interop scenario Jon Watte
- Re: [mmox] 3-world OGP interop scenario Ann Otoole
- Re: [mmox] 3-world OGP interop scenario Meadhbh Hamrick (Infinity)
- Re: [mmox] 3-world OGP interop scenario Ann Otoole
- Re: [mmox] 3-world OGP interop scenario Mystical Demina
- Re: [mmox] 3-world OGP interop scenario Morgaine
- Re: [mmox] 3-world OGP interop scenario Charles Krinke
- Re: [mmox] 3-world OGP interop scenario Bill Humphries
- Re: [mmox] 3-world OGP interop scenario Meadhbh Hamrick (Infinity)
- Re: [mmox] 3-world OGP interop scenario Charles Krinke
- Re: [mmox] 3-world OGP interop scenario David W Levine
- Re: [mmox] 3-world OGP interop scenario Charles Krinke
- [mmox] My reading of draft-lentczner-ogp-base-00 Latha Serevi
- Re: [mmox] My reading of draft-lentczner-ogp-base… Meadhbh Hamrick (Infinity)
- Re: [mmox] 3-world OGP interop scenario Jon Watte
- Re: [mmox] 3-world OGP interop scenario Charles Krinke
- Re: [mmox] 3-world OGP interop scenario eh2th-mmox
- Re: [mmox] 3-world OGP interop scenario Mystical Demina
- Re: [mmox] 3-world OGP interop scenario Morgaine
- Re: [mmox] 3-world OGP interop scenario Jon Watte
- Re: [mmox] 3-world OGP interop scenario Ann Otoole
- Re: [mmox] 3-world OGP interop scenario eh2th-mmox
- [mmox] One more time: The LESS model vs the Gener… Jon Watte
- Re: [mmox] 3-world OGP interop scenario Mystical Demina
- Re: [mmox] One more time: The LESS model vs the G… Charles Krinke
- Re: [mmox] One more time: The LESS model vs the G… Kajikawa Jeremy
- Re: [mmox] One more time: The LESS model vs the G… Morgaine
- Re: [mmox] One more time: The LESS model vs the G… Jon Watte
- Re: [mmox] One more time: The LESS model vs the G… Charles Krinke
- Re: [mmox] One more time: The LESS model vs the G… Morgaine
- Re: [mmox] One more time: The LESS model vs the G… Jon Watte
- Re: [mmox] One more time: The LESS model vs the G… Jon Watte
- Re: [mmox] One more time: The LESS model vs the G… Morgaine
- Re: [mmox] One more time: The LESS model vs the G… Morgaine
- Re: [mmox] One more time: The LESS model vs the G… Kajikawa Jeremy
- Re: [mmox] One more time: The LESS model vs the G… Jon Watte
- Re: [mmox] One more time: The LESS model vs the G… Frisby, Adam
- Re: [mmox] One more time: The LESS model vs the G… Morgaine
- Re: [mmox] One more time: The LESS model vs the G… Charles Krinke
- Re: [mmox] 3-world OGP interop scenario Mark Lentczner
- Re: [mmox] 3-world OGP interop scenario Morgaine
- Re: [mmox] 3-world OGP interop scenario Charles Krinke
- Re: [mmox] 3-world OGP interop scenario Jon Watte
- Re: [mmox] 3-world OGP interop scenario Morgaine
- Re: [mmox] 3-world OGP interop scenario Charles Krinke
- Re: [mmox] One more time: The LESS model vs the G… Christian Scholz