Legal Cover-My-Tail Text: Second Life®, SL™, Linden™, LindeX™, WindLight® and Linden Lab® and the Second Life Eye-in-Hand Logo® are trademarks of Lindon Lab. All other logos and all other brand, product and service names mentioned herein are the trademarks and servicemarks of their respective owners.

Tuesday, July 14, 2009

Calling All Prims

Out of curiosity, I looked through the release notes for the new 1.27 server release currently being installed on the grid. One item in the notes caught my eye:

LSL HTTP-In
There is already a function in the LSL scripts to request data from external Internet addresses: llHTTPRequest(). What this new functionality does is the opposite -- it allows an Internet site, anywhere in the World to send data to a prim in Second Life.

This is probably old news to those who are more diligent at keeping track of the latest developments in SL than I am. In any case, it raises some very interesting possibilities.

An external Internet site can send data or commands to an SL object at any time, without having to be "polled" periodically by the object for updates. An object can respond to Real Life events, or be controlled by an external program!

In combination with llHTTPRequest(), it allows any prim in SL to communicate with any other prim. (Yes, I know there are other ways to do this already: for example you can use llShout() when in the same Region.)

Since the URL addresses assigned by the new llRequestURL() function are temporary, any communications with an SL object will have to be mediated by an external site with a known URL address that would listen for messages from the object with the current URL address, and then use the latest address to redirect HTTP requests to that address. You could also *yuck* update the current URL address by hand.

*Rubs hands in gleeful anticipation* Now, how to apply this to mer products? RL hurricane warnings, maybe?