There are three main interfaces that can bridge the gap between SecondLife and real life:

* e-mail – E-mail is the simplest of Second Life’s external interfaces and the one that can be used without an external server. On the downside, it also has the greatest lag and highest latency. Outbound the Lindens add 20 seconds of script lag to each call, inbound there’s no scripted lag but your messages are subject to normal E-mail delays. E-mail is designed to be slow but reliable, for example, the spec requires that clients retry failed messages and suggests a 30 minute retry interval. I’m sure you’ve seen much delays up even to several days.

* xmlrpc – xmlrpc is the only option that allows an external program to trigger an in-world event, in fact xmlrpc can only be triggered externally triggered though the script can send data out in a reply. Xmlrpc is low lag and low latency, the Lindens add 5 seconds of script lag and only when your script sends a reply. Sending a reply is optional from the standpoint of lsl, but not replying will likely raise an error in your external code. Xmlrpc communication is based on channels which are assigned by Second Life’s servers. Any program using xmlrpc must include a mechanism to get the channel identifier out of SL. The other two SL/RL interfaces are prime candidates though you could ask users to copy and paste. You should also make provisions to open a new channel when the old one idles out, the scripted object rerezzes or changes region, or the channel is closed by a grid reset. This is rare, but something you need to plan for.

* http request – while xmlrpc uses http internally you’re not supposed to think about that. If you wanted to think about it you would use http request. Http request effectively turns Second Life into a web browser. Http has no lag and low latency, the Lindens limit it to 100 requests per 100 seconds, you’ll have to add your own lag if needed to stay within that limit. You can use three of the http methods; GET, POST, and PUT. GET and POST are commonly used in web sites, with a little bit of effort you can interface them to any web framework you’re familiar with, either to retrieve data or send it to a form. You’ll need to format your data and run it through llEscapeURL yourself, but your framework will handle it from there just fine. PUT is a little less common in web applications and may turn up somewhere odd in your framework, but it can be used to send unformatted data very nicely. All http requests are initiated from within Second Life, but they can retrieve up to 2k from your web service. With the low lag you could easily poll to allow an external service to trigger events in SL.

I’ll write more about each of these in later entries or take questions by comment or e-mail.

After we posted the control panel In Kenzo left us a note inviting us to enter into the NMC Connect art show. While Bill and I had defiantely talked about the possibilities of building some sort of art piece using the technology, hopefully a large installation and likely working with a more established artist, we certainly weren’t expecting to do one just a couple weeks later. But, we didn’t want to pass up the opportunity either. So, Bill, Sandhya2 Patel, and I sat down to brainstorm how to run our skills into art. Sandhya2 was a great help since unlike Bill and I she is an incredibly skilled artist. Bill chipped in with the comment that we could do light and temperature easy, so, of course we came up with a plan that required a barometer. Sandhya2 built a wonderful little german weather house, Bill got a barometer, and I wired the whole thing through so that the sensor is entangled with both the actual Weather House and an in world replica of the controller.

Here’s the finished in-world build:

Weather Wisdom Build

And the finished real world controller:

Controller in place in the windowClose up of the controller

You can see the build up until the 13th at http://slurl.com/secondlife/NMC%20Campus%205/225/124/20. We’ll probably put it up again somewhere else after the show, but we can’t be sure just where yet. Also, after the show we definitely want to hook up the LEDs that we have in the world build. Hooking up 3 devices to one serial port takes a little doing and we had to cut it out of the RL controller.

NB:  Pingbacks are disabled because I keep getting pingback spam on just this entry.

SL/RL Control Panel Update

January 31, 2007

So, it’s been an interesting week just passed, lots of demos of the control panel, and discussion of where to go next. I also took the time between to hook the same input to move a plywood prim and control a set of fireworks. We’re working with a few people to wrap this kind of feature into one or several art pieces and we are excited to be working with Infinite Vision Media to develop applications for this and other related technologies … look for exciting news to come.

One of the things that have fascinated me since I joined Second Life has been mixed reality events. Just as I joined, my friend Hiro Pendragon was working on The Happening. I thought that was pretty neat and have watched the new events since, even built a few gadgets of my own. I just finished another one, a real life control panel linked through into Second Life. My friend Bill Ward built a small control box, just like this:

which I then hooked to my computer just like this:

Connected to computer

and built a representation of in Second Life like this:

Second Life Controller

The two are now entangled together through a Python web server so that turning the knob on the real world one, or pushing a button, changes the same on the one in Second Life.

What for? Well, the same techniques can connect other real world objects to other SL objects. We’ll probably be connecting the panel to trains and fireworks, maybe a few other things soon, and then working on other panels and in-world applications.

You can see the RL and SL panels at my display gallery in Pi. Or as best as can be shown in the larger picture below:

Both controllers in SL

That’s Bill(Williem Leandros) on the left, myself on the right, and Rhiannon Chatnoir looking on in the middle.

Because they can

January 6, 2007

Why real life businesses are and should be looking at Second Life.

Dell, IBM, Circuit City, Intel, Sun, Sony, what do they know that you don’t? By their sheer size the answer is and must be “a lot.” What do they know that’s brought them into Second Life? Partially it’s a search for what’s new, a desire to not miss the boat on what is either “the new web” or precursor thereof. But even given the ability of these companies to take risks they can’t just try everything all the time.

So why are they trying out Second Life? Ignoring the controversy of how to interpret it, 2.3 million registered accounts is a hard figure to ignore. For that reason alone they obviously had to take a look, and probably assign a person or two to keep an eye on it. When they did, they probably found some of the same figures that Gwenyth Llwellyn did. There is however another reason, and I haven’t seen it anywhere else, they can. Aside from some very interesting viral marketing from Sony, most of the “New Internet Boom” has not been for sale. Circuit City cannot open a store on MySpace, IBM cannot offer consulting via YouTube, and Sun cannot hold press conferences on eBay. Maybe Microsoft could buy all of Google, but they can’t hold meetings on the search for “freedom to innovate”. The industry giants above have, at times, acquired access to new Internet trends by forming strategic partnerships. Within the limits of the business models they combine, strategic partnerships can benefit and direct trends, maybe even turn a profit, but they are still limited. Second Life, however is much more like the web itself. Companies can build just about anything they want.

The same applies just as well to smaller companies. While their vision may be less grandiose than Dell’s four sim complex, a coffee shop with a dream can create it in Second Life and present it to a world wide audience. In Second Life however, our supposed coffee shop with a dream can buy in too. They can pick up a 2,000 square meter plot and build a shop. The owner can build the shop themselves and pop over to Kitchen Korner for some appliances or pay a builder a couple hundred bucks to build it. Much more easily than in the real world, the shop can be shaped to fit it’s business model. If the shop is a social place, plenty of seating can be installed with message boards and games, if they want to sell espresso machines and beans, a table with information or vendors to exhibit the products can fill in the walls. If custom blends are the specialty of the house, bean bins can hold the blends of the day. It’s not just a matter of being able to rebuild a real world location in Second Life, a coffee roaster in Nebraska who doesn’t want to leave their hometown can build a coffee shop in Second Life and reach a world-wide audience that they couldn’t otherwise.

So sure, user numbers matter, and sure, not everything attempted will work, but the flexibility of Second Life makes it attractive to businesses for the simple reason that they can build there without being constrained to an existing technology. -CF

PS: If you are a coffee shop, or any other business that wants to build in SL drop me a line at Ciemaar@gmail.com. Especially a coffee shop, I’m almost out of beans.

New Office in Pi

December 30, 2006

I’m building a new office in Pi, I don’t have everything planned out just yet, but a big black obelisk and a hidden lair are definately on the list.

Gwyn said it and I’m not going to repeat, check out her blog.

Flood My Basement

November 30, 2006

For the last couple weeks I’ve been telling friends that one of my current projects is “flooding my basement.” Those who are not Second Life residents look at me real funny, those that are look at me virtually funny. Perhaps it would have sounded better if I said I was developing and http request/xmlrpc based webservice to allow anyone on the internet to flood my basement, ah hindsight.

Well it’s done now, if you go to my shop in Second Life you too can now flood, and dry my basement, the controls on the web connect live via xmlrpc to my shop and control positioning and visibility of the water around my shop. From here I’m going to expand a few things and then get really tricky.

Update: I’ve had some trouble with the tricky slurl above, the control panel is here and my shop is at Areumdeulli (175,102,97)

What this blog is about

November 17, 2006

Welcome to Channel 3B, my SecondLife Blog. I’m planning to use this blog mostly to talk about SecondLife and ways to integrate it with things that are not SecondLife. This will more or less be a business blog with topics of presumed interest to SecondLife, Python, and web service developers.