Friday, December 31, 2010

…on a High Note

Yes, I know I had a flurry of blog activity after my sojourn in the Real World and that trickled away to nothing. It wasn't that I wasn't spending time in Second Life—au contraire, I've actually been in world more than "usual" catching up with clients' scripting requests and updates, working on a commission or two, getting very frustrated building something that was just supposed to be a simple prank, and (don't ask) setting loose grubs and slugs on my floating island.

Out and about in the world…or just fleeing the grubs at home

But a few things have happened that I still think are worth mentioning, so here are some quick items:

Rod Humble Steps In as Linden Lab CEO

Following October's second departure of Second Life founder Philip Rosedale from the CEO position, Linden Lab announced they have brought Rod Humble on as the company's new chief executive. Humble comes to Linden Lab with a long career in the computer gaming and virtual world industry: he was one of the executives in charge of Sony's Everquest—arguably the first successful 3D virtual world, although it takes the form of a fantasy MMORPG with sword-swingers, monsters, and spells. More recently, Humble has been in charge of Electronic Arts' EA Play game label and its tentpole franchise The Sims.

Linden Lab announced the appointment right before the Christmas holiday, so overall reaction seems to have been rather muted since many folks are engrossed in end-of-year holiday madness. I'm not a gamer, so the name "Rod Humble" means exactly nothing to me: although I've heard of Everquest and The Sims, I've never thought they were all that interesting and never even considered playing them. I am somewhat heartened that Humble would seem to have a strong background in virtual worlds and how flesh-and-blood people interact with them; however, I have no idea how he'll adapt from top-down controlled businesses based subscription models to a world (and virtual economy) that's largely user-created. I hope Mr. Humble rises to the challenge and succeeds in lowering accessibility barriers to Second Life without making a bunch of us second-class citizens.

One thing that was interesting about the announcement of Humble moving into the CEO chair was that, excluding restructuring and "non-cash stock compensation" expense, Linden Lab has earned over $75 million each of the last three years. I don't know of that includes 2010 and the recent downsizing, but it is a sign the company may not be running on fumes.

Gracie has a blog!

Gracie Kendal's quest to get portraits of 1,000 Second Life avatars continues, and you can follow her progress on her blog dedicated to the project. And, yes, loading the blog is a metric whump of bandwidth from all the high-rez images on the pages. Just be patient!

It's not too late to participate in the project: last I heard, Gracie was getting near the 700-avatar mark.

Second Life in a Browser

While I was away from SL, Linden Lab apparently rolled out a proof-of-concept version of Second Life dubbed Project Skylight that works in modern Web browsers. Contrary to the course I thought the Lab would pursue with a browser-based gateway to SL (using still-baking WebGL technology as a lightweight way to handle OpenGL), Linden Lab's test involved using a cloud-based graphics rendering service to, essentially, access SL and generate graphics on a remote computer and send the results back to the user's browser. Its more like streaming video on the fly than accessing a 3D world—but if it's fast enough and responsive enough, there's no reason that couldn't work, right?

Well, maybe. Cloud-based rendering services are notorious for requiring substantial amounts of bandwidth, but a few businesses have taken off with the model, including the OnLive gaming service that purports to enable subscribers to play high-end PC games on low-end PC hardware…so long as they have the bandwidth to pull down the pixels in real time.

The Project Skylight beta appears to be closed now, and it was pretty limited: selected people could only get in using guest accounts (access was not open to all), rather than their existing Second Life accounts, and usage was limited to one hour (during which typical use seemed to consume about a gigabyte of bandwidth).

Linden Lab seemed pretty clear that Project Skylight was an experiment they may (or may not) pursue. I'm dubious cloud-rendering technology will be an effective way to bring Second Life into a browser—it seems to be Linden Lab should view a browser-based gateway as a means to lower barriers to entry to SL, rather than create new ones—but I'll be curious how (or if) the project sees the light of day.

Have a Good 2011

As I'm writing this, it's coming up on 3PM SLT on December 31st, 2010. In-world, some of SL's best live music performers are putting on New Year's Eve shows, the trivia peeps are doing trivia every hour on the hour as midnight swings around the globe, and the mood seems to be…upbeat? Hopeful? Fun? I suppose that's really all anyone can ask of a virtual world.

So: more of that in 2011, please. And a big thanks to everyone in SL who helped make 2010 worthwhile. You know who you are.

Thursday, December 9, 2010

You, too, can be a Usual Suspect

So earlier this week I'd been back in Second Life for all of a couple hours when the ever-vivacious Rach Borkotron IM's me out of the blue and asks, more or less, "So, you wanna pose and have your picture taken?" And, of course, being the sort of girl who's adverse to being identified in public and tends to get all wiggly and put her hands in front of her face (and her fingers up her nose) when someone points a camera at her, I replied "Um, kinda working on a monstrously important earth-saving scripting project right now!" Which had the benefit of being kinda sorta maybe related to the truth a little. Then Rach dropped a notecard on me and said "Read this and let me know what you think, I am posing for her right now."

And once I read the notecard, I kinda dropped everything and TP'd right over.

Gracie Kendal's avatar portrait studio

Gracie Kendal is up to something: she wants to take portraits of 1,000 avatars as part of an ongoing project examining the nature of online identity and anonymity in a virtual face-to-face environment like Second Life. The portraits started off as an illustration of online anonymity with an interesting twist—instead of face-on portraits, the images show the avatars turned away from the viewer, hiding their faces. Although Gracie is now shooting portraits from both the front and the back, it's the ones with the faces turned away that she seems most interested in—and when you see a giant virtual gallery of avatars turned away from you, the idea becomes very evocative.

Gracie writes:

Like many of my other projects, I started out with one idea: to take portraits of avatars facing away from me. That was it, pure and simple. I had the idea that I wanted them to be unrecognizable, their faces hidden, just another level of anonymity in SL vs. RL.

[..]

Each portrait represents a different personality, a singular life. Each person has a story to tell, a life to live. Does it matter if we know what these stories are? Does it matter if we know who is on the other side of the computer?

Last I heard, Gracie was up to almost 500 avatar portraits for the project—and you can be one of them! Send an instant message in-world to Gracie Kendal (or get her email address from her blog) if you'd like to participate. Although you can't rez at Gracie's studio—at least, I couldn't—Gracie does encourage you to use any clothing, attachments, poses, and animations you want. I imagine if you're using a dance or something Gracie will need to watch it a bit to get a feel for the movement and good angles, but she's up for that. And very patient!

Gracie plans to show the portraits in a real-life gallery show or in a book—so don't participate if you aren't comfortable with an image of your virtual self perhaps being shown in real life or being published. But at the very least check out the gallery to-date at Gracie's in-world studio—not only do you get a feel for some of the sheer creativity people put into their avatars, but you also get a sense for the humor, attitude, emotion, and expressiveness some people can wring from all these pixels in just a captured moment. And you might see someone (or several someones!) who look familiar.

I know at some level it's silly, but in my gut I feel a project like this can serve as a way to explore and break down barriers between folks who are comfortable with (or at least interested in) the idea of virtual worlds and maybe setting their creativity loose to create whole new identities and personas—which, of course, are ultimately ways of exploring our own real life selves. I know in Second Life terms I'm incredibly boring…but that's part of the dynamic, too.

And yes, if you're wondering, I did get my picture taken. Here's Gracie's front portrait of me: if you want to see the flipside, you'll have to go see for yourself.

Tuesday, December 7, 2010

Dismay Names

So one thing that happened while I was away from SL: Linden Lab has rolled out support for Display Names.

With Display Names, every avatar on the Second Life grid can change their name to anything they like—although they need a viewer that supports Display Names to do it. Linden Lab first mentioned Display Names back in August, and the final version of the feature is largely what they described—although there are some gotchas. Users can set their name to anything they like—including names with UTF-8 and Unicode characters!—while at the same time having an immutable underlying "User Name"—mine would be lou.netizen. However, since Display Names lets folks choose any name they like, Linden Lab has now done away with last names for new accounts. There will apparently be no more "Netizens"—every account created since Display Names rolled out has the last name "Resident."

Linden Lab has taken some steps to make sure Display Names aren't easily abused to grief or confuse people. For one thing, users can only change their name once a week, which should prevent people from constantly spoofing each other in chat or appearance. Also, in Linden Lab's official Viewer, Display Names are almost always shown along with those immutable firstname-dot-lastname "User Names." So, if you see chat from "Lou Netizen (lou.netizen)" can you be sure it's me, but if you see it from "Lou Netizen (somerandom.resident)" you can be sure it's not me.

I think it's great that Display Names give people more flexibility about their identity in Second Life, and I see tons of valid reasons to take advantage of the feature. (My personal one might be that I've never really cared for "Netizen" as a last name.) However, I do have some issues with the way Linden Lab has implemented Display Names.

First, there's just the sheer clutter. Now, by default, if you enable Display Names everyone has two names instead of one. That's supposed to mean that nobody can pose as someone they're not, but the reality means that twice as much screen and window real estate gets devoted to names. It's bad enough that tags over every avatar's heads are now two or three lines instead of one or two, but messaging and chat windows are now completely overburdened with name data, since everyone is identified by Display Name and User Name. You can control whether Display names appear over avatar's heads, but can't control how they're identified in chat or IM. To cope, you have to make chat and IM windows wider, obscuring more of the world, making the whole SL experience that much more difficult. Can't say that's won me over.

Another upshot is that every avatar seems to have three names now: a Display Name, a User Name, and a Full Name. (Technically there's kind of a fourth: a key, a computer-friendly universally unique ID that you have to use to, say, have a script pay money to an avatar. But I'm digressing a bit.)

Display NameWinston Churchill
(or whatever you like)
User Namelou.netizen
(immutable, always in first-dot-last lowercase)
Full NameLou Netizen
(immutable, for new accounts last name will always be "Resident")
Keyd8bc7acb-07e9-413c-8ee2-371d945d6233
(immutable, not people-friendly)

At the moment, all this discussion has been hypothetical. Because the reality right now is that Display Names and User Names only work sometimes. Apparently, Second Life's infrastructure just isn't able to say what someone's User Name or Display Name might be at any given moment! So if you have a viewer that supports Display Names, you see lots of people walking around with the name "??? (???)" Which, believe me, completely undermines the idea that Display Names won't cause havoc. I've been "back" in SL with Display Name support for about four hours, and already have chat transcripts like this:

??? (???): are display names working?
??? (???): nah I can't see your name lol
??? (???): u r just question marks
??? (???): i know!
??? (???): grrr arrgh
??? (???): how r we supposed to tell who is who
??? (???): dont know
??? (???): bummer my display name is cool
??? (???): what is it
??? (???): ??? ??? hahaha!

Wow, that's super cool Linden Lab. No potential for confusion or griefing at all there, nope. And that's not just how the names get displayed in chat and IM windows, that's how they get saved in your chat logs. (For the record, there are three people talking in that transcript.)

Another result is that scripts that utilize a Second Life user's names—say for labels, messaging, notecards, logs, chat, payments, and other purposes—may now have to be adjusted to account for Display Names. A simple example would be a greeter, the kind of script that says hello to people when they arrive at a location. Generally you want those kinds of things to be friendly: it's more pleasant to have one address you by first name ("Hi, Lou—welcome to my store!") than by full name ("Greetings, Lou Netizen"!) But even if you want to go the formal route, not many new SL users are going to be thinking of themselves with the last name "Resident." Admitedly, "Greetings TommyB123 Resident!" might be friendlier than a colonoscopy, but it's definitely off-putting when you've gone to the trouble of setting your username as "Kewl McKewlio III, Esq." You'd like to be called "Kewl" because, obviously, you are.

So, Linden Lab has introduced some new LSL functions to get user's Display Names and User Names, while Full Names are now accessed using functions script previously used to get avatar names. (These now carry a "legacy" label, implying they'll go away one day.)

However, these new functions suffer from the same Display Name and User Name ignorance as the rest of Second Life. If you're writing a script that needs to use someone's Display Name, you can call llGetDisplayName()…and hope. Furtively. According to Linden Lab: "Either of "???" or "" is returned if the region is unable to return display names. This can happen even if display names are enabled on the region, especially the first time a given key is checked. At least one retry may be advisable." In English, the official documentation of these functions is that they don't necessarily work and don't return errors if they fail, so you should just keep trying them madly over and over again until, maybe, they work. Maybe. Keep trying.

Wow, that's just super cool, Linden Lab.

It gets better. The two functions to get Display Names and User Names (llGetDisplayName() and llGetUsername()) only work if the person whose name you want is in the same region (e.g. sim) as the script. If your script needs to look up someone's preferred name who happens to be in any other of Second Life's tens of thousands of sims (say, you to previous customers about a sale at your store, or you need the name of someone who just logged off) you have to use llRequestDisplayName() or llRequestUsername(). These operate via the LSL data server, which is a way of getting certain bits of data asynchronously. Basically, you fire off your name request to the greater Second Life "cloud," and then your script sits around twiddling its thumbs while SL takes its own sweet time to consider your request, puts it in queue, files its nails, and deigns to get back to you. When the name comes back, your script has to catch it, store, it, then pick up where it left off. Hopefully nothing important happened in the meantime.

Now, you'd think, what with the dataserver lookup functions having all the time in the world to get around to answering a request, they might work. Nuh-uh. Linden Lab's official documentation for the functions says "If the request fails for any reason, there will be no error notice or dataserver event." In other words, if there's a problem, Second Life is just never going to get back to you with a name. Ever. Nor is it going to tell you there was ever a problem: your request goes into a black hole. Poof. It's like that email to human resources asking about your missing expense check.

Experienced scripters and folks with a moderate programming background can get around these issues without much difficulty—although, depending on their script, it might be really annoying. For the functions that work in the current sim, scripters can use loops, semaphores, and/or timer events to fire off repeated queries until Second Life delivers up a name. These techniques mean the scripts put a greater burden on the servers, but—as any sim owner will tell you—it's not like anyone writing scripts in SL gives one whit about contributing to lag, right? For the data server functions, scripters will probably need to use timers to determine whether their requests have not come back, and fire off another one if they feel they've waited around too long. The upshot of all this is that writing simple, straightforward scripts that do everyday things in Second Life—greet people by name, thank them for a tip, whatever—are now significantly more difficult to write so they can address users by their preferred names.

Oh, and there's one more thing: "It may take up to 72 hours for a display name change to take effect. During this time scripts may report the old display name and viewers may see the old display name." So, even if scripts get a name back from these functions, it might not be the right name.

Wow, that's just super cool, Linden Lab.

…and We're Back

Just so everyone knows, no, this blog has not been abandoned. Lou's Clues is about Lou Netizen in Second Life—and Lou Netizen hasn't had anything to write about since she logged out of SL at the end of October and only logged back in a day or so ago. But I'm back!

The hiatus wasn't some form of virtual protest, an enforced break from Second Life, or some other Serious Thing That Requires Rumination and Thought-Provoking Pondering. I was just off wandering around in the real world, and since I travel light I didn't take a computer with me. I put my SL trivia game on hold, pre-paid a bunch of rent on my parcel of virtual land, grabbed my passport and went toodling off to where chance and opportunity took me.

The prodigal Lou returns

Coming back to Second Life after a hiatus (even one as brief as a month) is a little disconcerting. I suppose I now take it for granted that things change quickly in a virtual world…but I guess I hadn't expected much change in my personal experience of Second Life. My little flying island parcel was still rezzed and intact, a bunch of other stuff has shifted around. And I don't just mean that everyone took down Halloween decorations and seems to have gone in for snow and holly.

The venue where I host my trivia game—[MonoChrome]—has moved to a new location and combined forces with New Trivia Monkeys. Although I haven't been to an event at either venue's new location yet (hey, I've only been back a day!), I'm actually thrilled to see a bunch of my friends pooling together to land a spot in a high-performance private sim, and so long as we can keep our landmarks straight I think it'll work out well for everybody. Trivy Isle has shifted around too—I found myself teleporting into the middle of someone's store instead of near the normal trivia event venue—which I think marks the second or third major rebuild in the last few months. And my personal SL has seen some departures: for instance, one of my long-time scripting clients has announced they will be leaving Second Life by the end of the year. (It's actually kind of happy news: they've peddled their design work in Second Life and elsewhere into a real world job doing 3D modeling.) But there's good news too—I got TP'd into a really neat in-world project last night, more on that in a bit—and it's great to start catching up with people.

I'll be starting up my Lou's Clues trivia game again soon, I just have to coordinate with Jez Oh and Sinnamon Sands at MonoChrome and make sure I'm not conflicting with the Buccaneer Bowl team trivia event. And, for the record, I did not write one single trivia question during my entire time away from SL, so I'll still be scrambling to come up with quality material. See, everything is back to normal!