On Thu, Mar 4, 2010 at 6:26 PM, Morgaine <morgaine.din...@googlemail.com>wrote:

> Ambroff, adding a specialized interface just to support an IDE is a very
> bad idea.


I think in general you are right, I was mostly just throwing it out as a
half-baked thought. You still have to build a sane object model in the
viewer before a plugin system makes much sense at all though, and whether
that object model is exposed via a plugin system or D-Bus[1] doesn't seem to
make much of a difference. They aren't that much different in terms of
effort.

This is why we were discussing generic client-side scripting here last
> month, both for viewer extensions and for world 
> enhancement<https://lists.secondlife.com/pipermail/opensource-dev/2010-February/000173.html>.
> There is quite of lot of history in this area among viewer developers
> already, as various groups have been examining the issue.
>
> In AWG we looked at the general area of refactoring viewer functionality in
> the Multi-Process 
> Client<https://wiki.secondlife.com/wiki/Multi-Process_Client_VAG_--_draft>concept,
>  way back, which split everything into communicating plugins.  Two
> or three 3rd party viewer teams (notably Emerald) experimented with an
> embedded Lua console, so they have some experience with language VM
> interfacing to a viewer API.  And in Imprudence, we spent some months
> designing a language-agnostic plugin 
> system<http://imprudenceviewer.org/w/images/4/48/Plugin_system_flow_APIs.png>that
>  allows plugins to be written in any language that supports sockets,
> using JSON as the lingua franca for communicating with viewer API functions
> and callbacks -- see the threads labeled "[Plugins]" in the Imprudence
> Forums <http://imprudenceviewer.org/forums/viewforum.php?f=7> for more
> details.  We even tested the limiting bandwidth and latency for such a
> plugin system just to be sure that we were on solid ground.
>

Interesting, I'll have to catch up on this. At a high level parts of the
language-agnostic plugin system appears to be very similar to D-Bus, which
is already very mature and is sort of cross-platform[2]. Did you evaluate
existing IPC systems before designing this one?

-Ambroff

[1] Or whatever the Windows or Mac OS equivilant are.
[2] I think the Windows support is pretty Immature.
_______________________________________________
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges

Reply via email to