<div dir="ltr"><div>I've got a few thoughts about scripting and I would like your feedback.<br><br>But first, a bit of an introduction. I'm a professional software developer with years of experience working on all kinds of distributed applications. I became a SL resident, scripter, and builder in early 2006. I'm just beginning to get involved with OpenSim. This is a hobby for me, it is unrelated to my work.<br>
<br>For a while I've been thinking about "application models" for virtual worlds. By "application model" I mean something that involves more than simply scripting.<br><br>A traditional application is a package of application code, shared libraries, resources like images, etc. A platform's application model defines the structure of these packages as well as things like the security model, installation services, etc. To the user, an application represents a consistent self-contained "user experience," usually with a specific purpose.<br>
<br>Of particular interest to me is the model for applications built <u>inside</u> a virtual world.</div>
<div> </div>
<div>A build of any level of complexity could be thought of as an application. For example: a building with door and window scripts, an attachment with configuration scripts, a vehicle, a stage with programed special effects for a product presentation, etc.<br>
<br>SL offers a very rudimentary application model. You can put copies of scripts in prims and you can link a limited number of prims together. The platform also provides a security model and a number of other services.<br>
<br>However, the SL application model is missing a bunch of things. For example we need a hierarchical prim model that supports any number of prims and at region scale, a way to share and reuse script libraries, a way to update things after they have been sold, given, or copied, etc.<br>
<br>As the complexity of builds increase, the missing features become quite restrictive. This limits the ability of content creators to produce compelling user experiences. That limits the adoption of the platform for commercial purposes.<br>
<br>In addition, the SL script execution model is complex to implement and requires a lot of computing resources. Specifically, treating global script execution state as a persistent data store is very problematic.<br><br>
I think we need something better. But I also think that making something that is really better could require moving away from the SL model in some fundamental ways.</div>
<div><br>What do you think?</div>
<div> </div>
<div> == Mike ==</div></div>