Changing direction

March 24th, 2008 No Comments

If you’re coming here for the first time, you may be looking at the dates going, “What the heck is going ON here?!?”

After all, there hasn’t been a lot of activity lately, and I take full responsibility for that.  But I’m happy to say that we’re getting back on track, but you deserve an explanation.

As you know, this book is about building applications that span RL and SL, which I am, as of this moment, terming “hybrid applications”.  Sure, somebody’s probably done that already, but I don’t care.  That’s what we’re calling them now, period. :)

So Jay and I have been busting our butts writing this book.  The idea from the beginning was to write the book entirely in Second Life, and to chronicle the writing of it in Second Life,  as a way of showing what can be done.  There’s a lot of code, and a lot of code has been done — more than you can see even in chapters that have been released to MEAP.  And that fit in very well with Manning’s general philosophy, where you just jump right in to doing whatever technical work you’re doing.

Unfortunately, I have come to the conclusion that this is entirely the wrong approach.  Well, OK, not entirely, but it’s been a big problem, and here’s why.

There’s one big hurdle that needs to be overcome before anybody — and I mean anybody — can write a good hybrid application: you need to know what a good hybrid application IS.

This was all brought home to me this past week at Life 2.0, a conference held in-world but covering general metaverse topics, including not just Second Life but also other virtual world environments such as There, Multiverse, Croquet (but not this year), even Whyville.

And all of this brought home to me that what is missing from the book as it stands right now is the overall conversation of what it means to create hybrid applications for virtual worlds.  Sure, we can tell you HOW to limit access to your parcel, but we weren’t talking about WHY, and how to decide who SHOULD get in.  We were telling you HOW to interact with an object, but not what kinds of interactions are IMPORTANT.

So, as I told our Development Editor, Cynthia — dev editors are responsible for making sure that the chapters you turn in are decent :) — I’d originally thought, honestly, that the whole thing needed to be completely revamped, but I’m coming back around on that and I think that most of what we have is good, but needs more.

Cynthia is happy about my epiphany, but she has to share all of this with The Powers That Be over at Manning, and I have no idea what will happen when she does.  But I am completely reinvigorated by this revelation, realizing that this is what has been keeping me from producing chapters, and I suspect it’s part of Jay’s problem too.  (I’m normally very prolific, trust me. :))

What that means is that the next few days to a week will be spent reworking the table of contents, so if you have some thoughts on what you’d like to see, now is the time to share them!

The most obvious way to include interactivity in Second Life would be to just display a browser on a prim, so there’s a lot of interest in “HTML on a prim” or “Web on a prim”.  We’re starting to see some of the beginnings of that now, posted to the Second Life Blog:

With the 1.19.1 Release Candidate, available today, we’ve made some changes to the overall way that media is played inworld which results in a more general approach to playing media and, more importantly, allows you to display various types of Web content on your parcel! This is a great step toward further interoperability with the Web, which we’ve been discussing for some time, for more history on this, read here andhere.

The current parcel media player allows you to stream audio or video (or both!) to visitors on your parcel. The parcel owner controls what is played on the parcel and visitors to the parcel control whether or not they want to listen or see the media. (Visit the Knowledge Base for more information on how media on a parcel works currently).

The new media on a parcel feature allows landowners to select and display a wide range of Web-based media content, including Web pages, movies, images, text documents and audio. This change replaces and expands the existing QuickTime parcel media feature, giving you more flexibility in your media presentations. Currently, the displayed media is entirely non-interactive, meaning you will only be able to view and not be able to click web links, use scroll bars, or press buttons on web pages displayed on parcels, although we hope to add this functionality in the future.

(Interestingly, this change wasn’t mentioned on the SLDev mailing list, so we’ll see what’s up with THAT.)

So this isn’t quite HTML on a prim in the sense that you can’t create web applications to run inworld.  In fact, it doesn’t even support Flash at the moment.  But you could use it as a crude method for dynamic textures — well, a single dynamic texture, which you can add to multiple prims.

For more information, check out

When we started this book, a few people told us we were crazy, because eventually, Second Life scripting would move to Mono, and everything would change.  Well, we figured that waiting for Mono was kind of like waiting for HTML-on-a-prim — you can wait forever and not get anywhere, so you might as well start now.

So this morning I heard from Periapse Linden, who told me that they were planning to go into beta with Mono next week, but it’s not the catastrophe (from a writing standpoint) that some people had suggested.  According to the Mono page on the Second Life wiki, only the back end will be changing, at least at first.  In other words, Lindenscript will be compiled using Mono, which will increase performance, but as far as scripting is concerned, scripts will still be written in LSL, and existing scripts will continue to work as advertised.

I’ll be attending Mono office hours as soon as I find out when and where they are; I’ll post when I get the info.

One cool think about publishing with Manning is that once you’ve got a few chapters in, it goes in to the Manning Early Access Program, or MEAP, and people can start reading it. It took a little pushing and prodding, but we finally have a MEAP page for Platform Second Life! That means you can go in and subscribe to the book and read it as we write it. You’ll get new versions as we post them, and new chapters as they’re finished.

That sounds kind of like a sales pitch, and I apologize, but I’m really excited about it because I’m really excited — and I’m guessing Jay is, too — about getting feedback from readers. We really want to know what you think. Is it working for you? Is something confusing to you? Is there something you really want to hear more about? We want to know!

One of the things I love most about my job of teaching people how to do new things and seeing what they do with that knowledge. That’s what this book is about: giving people the skills to create the applications that will make Second Life and other virtual worlds the indispensable tools I know they will one day be. So I have been absolutely flabbergasted by the response to Parsec, the art installation that showcases some techniques we’ll be teaching in the second half of Platform Second Life.

Let me back up just a little bit. As you may know, Second Life includes voice, which lets people talk to each other. More than that, it includes “voice gestures”, which are essentially regular gestures triggered by the volume and intensity of your speech. When voice was first introduced, there was a contest for coming up with voice gestures. For example, you might have a set of “relaxed” gestures when the intensity is low, and “intense” gestures when it is high. The default gestures are things like waving your arms, which is sort of the equivalent of the default “typing” animation.

What we’ve done for this chapter/project is to alter those standard gestures so that they emit chat on a non-public channel. Those chat commands are received by one of seven balls, which both emit sounds and receive an upward force and bounce upward, hitting a strike plate. All of this is part of both a musical composition and a puzzle; when the strikeplates get hit in a particular sequence in a particular period, the solution appears.

Dizzy Banjo, who came up with the original idea, did the sound, and Eshi Otowara did the visual part; the overall affect is astounding, and apparently people who have seen it agree. But the really interesting part is the implications of this technique.

A lot of people are focusing on Parsec as an “instrument”, but really, voice can be used in all kinds of ways to control objects inworld. (In fact, I’m working on another project that uses this technique in my day job with InterSection Unlimited.) Hamlet Au, in New World Notes, took it even a step further, saying “Rather than talking, seven musicians could animate the spheres and the environment with their singing, turning Parsec into a kind of human synthesizer. For that matter, the open source code Chase Marellan created could be detached from Parsec, and used for other applications– disabled people unable to use their hands could, for example, fully interact in Second Life with a version of Parsec that let them walk, build, and perform all the other activities, by voice command. ”

I hadn’t even taken it that far, but yes, he’s right, with the right design, you could use voice to control your interaction with SL. At that stage, you might be better building a custom client that more directly interacts with the voice stream, but this technique lets anybody interact with only LSL.

I can’t wait to see where else this goes!

There’s a great deal of value in including a web component in your Second Life applications. It could be something simple, like storing the UUID for an object, let we did in Chapter 2, or something more complex. For example, I play a game in Second Life called Tiny Empires. It’s a HUD, and its lots of fun, and it’s run almost entirely from a web site.

I know this because one day I stopped over to the Beta grid to test out ChatBridge to make sure it’d still work and what I found was that Tiny Empires purred along as they there were nothing unusual. And as far as the HUD was concerned, there wasn’t; it was getting web requests and sending back data. Nothing strange.

But while it may be fun to play Tiny Empires in the beta grid, there’s a more serious problem.

Read the rest of this entry »

OK, we’ve been through the first review, which means this book is finally going to emerge into the world. I’ve got the cover in-hand, and as soon as I get approval, we’ll post it. (It’s cool, Manning let us play with their normal format a little. :))

So we’re in the Manning Early Access Program (MEAP) so chapters will be available as they come out. Looking forward to feedback!

Register from our site!

December 19th, 2007 No Comments

A little maintenance news…..

Using the Second Life Registration API (as explained in the book, of course), we are now able to register you for a brand new Second Life Account!  The solution isn’t as sexy as we would like it to be yet, but functional.

Enjoy!

I was intrigued with the idea of a private continent for adult material, but what really excited me this afternoon was the idea of a new merchant payment system that would enable Second Life vendors to accept real life money.

According to Stroker Serpentine, who’s been working on the CardBiller system with an Internet Payment Solution Provider for about a year now, the system will let merchants accept any type of currency from inworld, making it possible to replace Linden Dollar purchases.

Vendors will, of course, need to provide real world information in order to participate, but so far, at least, it seems that signing up will be more like becoming a PayPal merchant, as opposed to getting your own merchant account.

It’ll be interesting to see what this does to the economy as purchases no longer need to go through the Linden Dollar middleman. How “official” is this product? Will Linden Dollars be phased out? Or will they be kept around as the viable micropayment system that they are?

Jay and I will also be investigating this development to see how it affect later chapters of the book, such as the chapter on selling real world merchandise.

CardBiller is currently undergoing final testing, and is expected to be available in January.

UPDATE: I’ve run across a site with the CarBiller name that seems to indicate that becoming a merchant may be a little more complex than indicated yesterday. I’m making inquiries as to whether this is the same organization and if so, what the implications are. Updates as they’re received.

FURTHER UPDATE:  Stroker says the site I found is a placeholder, and that it’ll be replaced in the next few days with the correct information.

Stroker Serpentine, who runs one of the largest “adult” business in Second Life, just dropped a huge bomb in today’s Metanomics discussion, explaining that he is working with Electric Sheep Company to create a “private grid” for adult content, featuring extra registration requirements to ensure that users are age verified and have appropriate payment information. He also talked about Visa’s plan for alternate merchant accounts, apparently for virtual businesses.

It’s not clear whether this new grid is a completely new entity, ala OpenSim, or a separate part of the main grid, ala CSI:NY. I’ve asked and will let you know when I get an answer.

UPDATE: This is a private continent on Linden Lab servers, which will require a separate client. Even more exciting is the new Visa news. See the next post for that.

So the question is, with a private continent for adult content, will Linden force adult content out of the main grid?