Difference between revisions of "AW Groupies In-World Meeting Agenda"

From Second Life Wiki
Jump to navigation Jump to search
Line 35: Line 35:
The GridProxy that is supplied with libOpenMetaverse is an excellent piece of technology, but long-term experience with it highlights that there are a few problems with the approach:
The GridProxy that is supplied with libOpenMetaverse is an excellent piece of technology, but long-term experience with it highlights that there are a few problems with the approach:


# Users need a certain amount of networking awareness
:# Users need a certain amount of networking awareness
# Viewer has to be directed at proxy instead of at the target world
:# Viewer has to be directed at proxy instead of at the target world
# Proxy needs to be brought up manually before the viewer
:# Proxy needs to be brought up manually before the viewer
# Terminating the proxy kills or disables the viewer session
:# Terminating the proxy kills or disables the viewer session
# Summary:  proxies won't catch on as a common user facility
:# Summary:  proxies won't catch on as a common user facility


These problems severely hamper widespread adoption of the normal proxy approach.
These problems severely hamper widespread adoption of the normal proxy approach.
Line 45: Line 45:
=== The Solution for Proxies ===
=== The Solution for Proxies ===


# Replace the inline proxy process by a transparent proxy thread in the viewer
:# Replace the inline proxy process by a transparent proxy thread in the viewer
# The viewer would connect to the desired target world in the normal manner
:# The viewer would connect to the desired target world in the normal manner
# By default the proxy thread would be fully transparent and do nothing
:# By default the proxy thread would be fully transparent and do nothing
# Proxy programs/scripts can be loaded into or unloaded from the proxy thread
:# Proxy programs/scripts can be loaded into or unloaded from the proxy thread
# From a user perspective, the "problem with proxies" vanishes.
:# From a user perspective, the "problem with proxies" vanishes.
# (Implementation detail:  either load proxy code into thread or attach via socket)
:# (Implementation detail:  either load proxy code into thread or attach via socket)


[[Category: AW Groupies]]
[[Category: AW Groupies]]

Revision as of 02:01, 4 May 2010

Next AW Groupies meeting:

2010-May-4 0930 PDT

Please help fill in this agenda outline! Don't be shy.

Latha Serevi will host a discussion on the theme of "proxy-based interop".

Interop use cases relevant to proxy-based interop

  1. IRC and XMPP bridging
  2. Enhanced world interactions
    1. Double-click TP (Par)
    2. Viewer ident (Par)
  3. Viewer UI enhancements
    1. separable windows (SNOW-375)
  4. mix and match client features
  5. Server-side rendering (??)
  6. 3d scene adapters across incompatible VW's

Examples of proxy-based and other approaches

  1. Proxies based on SL packets and libomv
    1. XMPP bridging Dahlia's proxy way
    2. LordGregGreg's http://code.google.com/p/par/
  2. hypothetical VWRAP proxies
  3. Relay agents using multiple client-style connections
    1. IRC and XMPP bridging Latif's way (Radegast agent with plugins)
  4. Loosely coupled client UI components
    1. SNOW-375 (Dzonatas), provides http interface to viewer/world state
    2. wouldn't a SNOW-375 style REST API fit nicely into a proxy?

The Problem with Proxies

The GridProxy that is supplied with libOpenMetaverse is an excellent piece of technology, but long-term experience with it highlights that there are a few problems with the approach:

  1. Users need a certain amount of networking awareness
  2. Viewer has to be directed at proxy instead of at the target world
  3. Proxy needs to be brought up manually before the viewer
  4. Terminating the proxy kills or disables the viewer session
  5. Summary: proxies won't catch on as a common user facility

These problems severely hamper widespread adoption of the normal proxy approach.

The Solution for Proxies

  1. Replace the inline proxy process by a transparent proxy thread in the viewer
  2. The viewer would connect to the desired target world in the normal manner
  3. By default the proxy thread would be fully transparent and do nothing
  4. Proxy programs/scripts can be loaded into or unloaded from the proxy thread
  5. From a user perspective, the "problem with proxies" vanishes.
  6. (Implementation detail: either load proxy code into thread or attach via socket)