3/31/2009

Basic Functions Second Life Needs

double-click ground to walk

This is a case of using an already-existing paradigm of navigation. People know what a double-click is from operating system navigation. Other virtual worlds and games use the double-click on the ground as a standard. So, you know the "Go here" function on the right-click pie menu? Why can't that same function be the default double-click action on the land?

Look At

Here's one I stole from other virtual worlds. If Linden Lab has an algorithm that calculates where your avatar is in relationship to an object, and uses that as the default base for "sit", then why can't it use that data for a "Look at" function? Using the camera in Second Life takes time, and it would be a lot easier if it would be automated for some basic operations. While users can program camera controls, it requires text-box confirmation of permission and pretty advanced scripting knowledge to implement.

Further, I'd like to see this option be integrated into an objects "default touch behavior", where I could thus set left-click to default to "Look At" - useful for video screens, pictures on a wall, etc. And then, like the sit functions llSitOffset and llSetSitText, there ought to be a llLookAtOffset(vector eye, vector target) and llSetLookAtText(string text) function. The prior would set a default location and target for the Look At function, and the latter would change the pie menu text for it.

For all of these functions, the Escape (Esc) key or simply moving your avatar would cancel out of Look At mode.

Profiles as web pages / Integration with other social networks

So, since we've long since had in-world browser, why doesn't Linden Lab make a basic social networking application for Second Life, connecting its existing profiles and friend connections? Suddenly we'd see all profiles accessible offline, and - hey - EMBEDDABLE IN OTHER SOCIAL NETWORKS. And while we're at it, let's get a Facebook application by Linden Lab that pulls from these profile websites.

Second Life is not an island. The idea that the Metaverse is a separate place is a fallacy imagined by science fiction writers before there even was an Internet, let alone a 3-D Internet. We have this pre-fixed conception that the only way you access a virtual world is by "jacking in" and being fully immersed. Movies and books have reinforced this idea, but the truth is that Second Life and other virtual worlds are all part of the larger Internet, and should recognize themselves as such. The Metaverse isn't a walled garden. The Metaverse IS the Internet, 3-D enabled with social networking.

Handshake

So before Torley was a Linden, Torley made the suggestion in the old, old SL forums, to paraphrase, "What's missing from Second Life: the handshake" and made a great case why such basic behaviors need to be made easy and straightforward. It's this common sense and understanding of users needs that likely played a part in his subsequent employment at Linden Lab. It's something like 3 or 4 years later, and we still have no handshake. We even, in Fall 2006, had the announcement of "Avatar puppeteering" to come, which seems to have atrophied and been forgotten somewhere in the development process.

Something like the handshake is basic. It says, "We developers have thought about the kinds of behaviors that users are likely going to want, and made sure we developed our platform in a way that it enables obvious use cases." What has happened with handshake? I guess no one in the early phases of Linden Lab saw it as something people would do, and now it would take a lot of finagling to make it work.

Cross-fade Music

Here's one from my CEO, Drew Stein. When walking from one parcel to another, often times both parcels have music media streams. And, naturally, they are often *different* streams. Switching from one suddenly to the other can be jarring. Why not build in a cross-fader to the client that automatically fades out the first stream as the second one is faded in?

---

Excepting the last suggestion, these are all functions I've suggested before, but this is probably the first time I've blogged about them. So here they are, Linden Lab. Or, better - since Linden Lab has announced that they will become the central hosting point for the Second Life open source initiative, perhaps you - reader - can come up with an open source patch to the client that enables one or more of these features?

5 comments:

Gwyneth Llewelyn said...

For embeddable content, see SignpostMarv Martin's extensive data-scraping services.

The rest is still "to be done", of course :)

Hiro Pendragon said...

Heh, that's pretty impressive. So then it should be pretty easy for LL to do, then. :)

Patchouli Woollahra said...

*double-click ground to walk
Was implemented as a debug feature in earlier versions of the SL viewer. worked reasonably well on even ground, not so much with prim-based surfaces and excessive delta deformations. Has gone missing in recent viewers. SL Viewer would require some really robust pathfinder code before this comes back again.

*Look At functions

This is an awesome idea. currently there ARE camera functions in LSL, but these are kinda kludgy and require plenty of maths to make proper use of if you're not using an open script from a previously working example. llCameraLookAt would be great.

*Profiles as webpages
This seems inevitable, seeing prior efforts to migrate parts of SL's Search pages to HTML and in-house Google...

*Absence of handshakes
Have you ever tried to coordinate handshakes in a world where heights, physical builds and even apparent skeletal taxonomy vary like the buggles?

"There" can do it because people look like people no matter what their virtual ethnicity, age or gender.

SL has people who are decidedly post-human, non-human, or even inorganic in avatar appearance.

And then, the giant folk and tinies show up.

And the minature airships.

And the ice woozls. Don't even get me started on the cyborgized orbs of doom.

In fairness, there ARE attachments already existing for some behaviors like hugs and handshakes... but SL's strict permissions system gets in the way in this instance. Once again, griefers forcing unwanted or unintended animations onto unwilling folk is the weason why we can't have nice things like this.

*Cross-fade music
Why can't we have cross-fading music as we jump parcels? It may have something to do with the end-result being processing power use and bandwidth use for SL and TWO simultaneous radio stations at once. And the cross-fade. I don't get cross-fade when I swap between stations on my WinAmp - even they know that to go down this way invites havok (the calamity, not the physics engine).

And for what it's worth, this abrupt jarring also occurs with RL radios of any vintage, sadly. One thing we have to put up with.


I love your ideas on this, Hiro, but sometimes there has to be a consideration of the things that enable it, and the things that stop it. :(

Hiro Pendragon said...

@Patchouli
RE: pathfinder. I'm not sure sure I agree it needs that, the go here function works pretty well for me in common ground. I agree, though, in thinking about long-term scope of making it work on objects, too. Perhaps an invisible floor meta object that a landowner could put down?

RE: inevitable. I agree. I'm just anxious. :)

RE: No doubt, and yet, it's still an action that fundamental to human behavior.

RE: Cross-fading. I'd settle for fade-out, fade-in, if cross-fading was too brutal to handle.

RE: consideration
Oh, I've done a great deal of consideration on these features. I don't think of things in terms of "stop" - that's a fallacy, you know well none of these has any concrete walls preventing them done. They are, of course, a matter of different degrees of difficulty. However, saying that certain obstacles "stop" solutions just gets in the way of innovation, I believe.

Eloise said...

One thing that cropped up in the ragdoll animation discussions was permissions for activities.

For example, by default my hand is "available" to be shaken by anyone by default (possibly with a permission box to accept). My lips are not available by default, but could be given permission to those with whom I routinely exchange kisses.

However, if I'm a tiny I might (sensibly) turn my hand access off, and depending on how the tiny is built make my elbow open for "shaking" with some very specific scripting to do that.

I'm not saying it would be easy, but you could implement all the bits of code to do that eventually, and build handshaking in. Of course it's a fairly Western thing to do: Japanese and Chinese courtesy would expect bowing rather than handshaking and bows and even kowtows are certainly doable.