[opensource-dev] Plugins/Modular architecture
morgaine.dinova at googlemail.com
Thu Sep 2 22:13:53 PDT 2010
That's an excellent suggestion, Talia. +1
We actually started the process of discussing possible architectures for
modular viewer extension through plugins and client-side scripting back in
February and March. A few non-technical hurdles blocked our progress at
that time, but I believe that the situation is changed radically now as a
result of the new open development process of Snowstorm.
I look forward very much to this design process starting afresh. I believe
that it holds the key to viewers becoming more user-friendly, more flexible,
more able to satisfy the highly varied requirements of their users, faster
and more robust on multicore systems, and far more maintainable than the
current mostly monolithic architecture.
You may also wish to cast an eye on the final paragraph of this Jira that I
posted earlier today -- http://jira.secondlife.com/browse/VWR-22781 . By
coincidence it also called for code modularity through viewer extensions as
a means of controlling runaway UI complexity, which is an issue that we
cannot avoid as our virtual worlds become ever more complex. It ties in
well with your suggestion here.
This is something that we just have to do, and the longer it's deferred the
more time is being wasted in a suboptimal direction. Monolithic viewers
really don't have much of a future, at least not a happy one.
On Thu, Sep 2, 2010 at 4:13 PM, Talia Tokugawa <
talia.tokugawa at googlemail.com> wrote:
> Hi, first post on this mailing list.
> So I wake up this morning and I Login to SL using Snowstorm and I am
> instantly annoyed it's not Emerald. I got to thinking on the subject of
> viewers, secondlife and the general usage thereof. There are many different
> user types, new residents, power users, lindens, developers etc. Yet there
> are only a limited number of Viewers and TPV that you can pick from. X
> number of holes for a potentially unlimited number of blocks to fit into.
> I know this has been suggested before as friends have suggested it. Why not
> make the viewer more Modular? Introduce a plugin architecture. Allow any
> user to "build" their own client that fits their needs and requirements.
> If you look at the lists of features that are currently available to people
> and then try fit them to the different user stories how do you justify that?
> So for example. We take a look at the "New Resident" profile. They arrive
> in Second Life. No community gateway and only wiki/kb to assist them. They
> have this big program to learn.. How much of this could be stripped out to
> plugins to reduce the UI cliff that they have just ran into. Very simple
> starting example here. LSL editor. How many users (not just new users)
> actually code? This "program" could be taken out and made into a plugin.
> Likewise with the edit windows. New users could quite happily do without
> having a full edit window. Maybe just reduce that to a "fitting" window for
> attachments. Have a basic window with Pos/Rot/Scale. Both these examples are
> something that different user stories would need, but just confuse things
> for the new user, then as the user becomes familiar with what they want they
> can get plugins to enable them to take on different roles. Say then want to
> start making attachments. They would goto the plugin repository and get the
> "advanced edit" window. Later down the line they decide they want to get
> themselves some land and do some landscaping they'd go back to the
> repository and get themselves the "land tools" plugin.
> This is just a very simple case study for how this system would appear to
> the users. I guess it wouldn't be to hard to supply clients with plugin
> bundles. Different user profiles could get the basic stripped down vanilla
> client with a specific set of plugins tailored to their requirements, going
> right through to a full official client with all the plugins to have a
> client that is as capable as the current clients.
> I think given this structure, third party plugins over third party viewers
> would become far more common place. If you look through the feature requests
> list for snowstorm. Half the items on that list are features that come
> direct from Emerald.
> In terms of keeping an eye on things it would be a lot easier for LL too.
> If a system were set in place where the source of the plugins were uploaded
> to LL for addition into the plugin repository the Labs could check through
> the code before compiling and getting the LL seal of approval. As opposed to
> the current system of TPV where a new viewer is compiled by one person from
> a team and the whole system relies on trust of that one person (ref.
> Anyways, my two pence on the whole viewer thing ;)
> Policies and (un)subscribe information available here:
> Please read the policies before posting to keep unmoderated posting
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the opensource-dev