Difference between revisions of "AW Groupies In-World Meeting Agenda"
Jump to navigation
Jump to search
Line 7: | Line 7: | ||
Latha Serevi will host a discussion on the theme of "proxy-based interop". | Latha Serevi will host a discussion on the theme of "proxy-based interop". | ||
== Interop use cases relevant to proxy-based interop == | |||
:# IRC and XMPP bridging | :# IRC and XMPP bridging | ||
Line 19: | Line 19: | ||
:# 3d scene adapters across incompatible VW's | :# 3d scene adapters across incompatible VW's | ||
== Examples of proxy-based and other approaches == | |||
:# Proxies based on SL packets and libomv | :# Proxies based on SL packets and libomv | ||
Line 31: | Line 31: | ||
:## wouldn't a SNOW-375 style REST API fit nicely into a proxy? | :## 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: | 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: |
Revision as of 02:10, 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
- IRC and XMPP bridging
- Enhanced world interactions
- Double-click TP (Par)
- Viewer ident (Par)
- Viewer UI enhancements
- separable windows (SNOW-375)
- mix and match client features
- Server-side rendering (??)
- 3d scene adapters across incompatible VW's
Examples of proxy-based and other approaches
- Proxies based on SL packets and libomv
- XMPP bridging Dahlia's proxy way
- LordGregGreg's http://code.google.com/p/par/
- hypothetical VWRAP proxies
- Relay agents using multiple client-style connections
- IRC and XMPP bridging Latif's way (Radegast agent with plugins)
- Loosely coupled client UI components
- SNOW-375 (Dzonatas), provides http interface to viewer/world state
- wouldn't a SNOW-375 style REST API fit nicely into a proxy?
- Proxies based on SL packets and libomv
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:
- Users need a certain amount of networking awareness
- Viewer has to be directed at proxy instead of at the target world
- Proxy needs to be brought up manually before the viewer
- Terminating the proxy kills or disables the viewer session
These problems severely hamper widespread deployment and adoption of proxies as a regular user facility for non-technical users. Technical users are inconvenienced by these issues as well.
The Solution for Proxies
There is a technical solution to the problems outlined above.
- 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
- 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
- From a user perspective, the "problem with proxies" vanishes.
Possible implementation options:
- either load proxy code directly into the thread (fast but not robust),
- or run a listener in the thread and attach proxy plugins via a socket, possibly using REST as in SNOW-375.