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!

Wednesday, October 20, 2010

Exeunt Philip

Roughly four months after stepping back into Linden Lab as its "interim" leader, Second Life founder Philip Rosedale has left the Lab's CEO position. Linden Lab's chief operating officer and chief financial officer Bob Komin will take over the day-to-day leadership of the company while Linden Lab launches a search for a new CEO. Philip Rosedale will retain his position as chairman of the Linden Lab board of directors and will be involved in the new CEO search, but will now focus most of his energies on LoveMachine, the startup company for which he originally left Linden Lab back in 2009.

Philip Linden mugshots: old and new

Ironically, the announcement comes immediately after Philip Rosedale unveiled the new "look" for his in-world avatar: instead of the spiky-haired, chaps-wearing 2003-era look Rosedale had been sporting for years, now Philip will apparently be seen in-world—if he's ever seen in-world—with a spiky-haired, chaps-wearing look from 2010. The new look wasn't something he created himself; instead, it was created by inworld designer Mars Absent, who won a contest to give Rosedale a makeover. (Some of the other entries are available on Flickr.)

Rosedale's brief return to the CEO position has been marked by the mantra "Fast, Easy, Fun"—improve Second Life's performance, make it easier for people to use, and—of course—make it fun. To his credit, Rosedale did outline a number of concrete goals, many of which he promised would be done by the end of 2010. The Lab has made progress on a number of those goals: Display Names and Mesh uploads are currently in open beta and available to residents on the beta grid, the Web-based SL Marketplace seems to be up and running (although I cannot personally access it), the HTTP Assets project has been rolling out, and Linden Lab has been converting Viewer development to its new sprint-based Project Snowstorm in order to bring new features into the viewer at a faster pace. Linden Lab has also accelerated the pace of server software deployment, marking off three segments of the main grid—codenamed Blue Steel, Le Tigre, and Magnum—to test new versions of the critical SL server software out in, well, the real world. "We all feel like we are in a better place now, with a clearer sense of direction and more focus, and are ready to bring someone new into the mix as a leader," Rosedale wrote.

Where Philip's return to the CEO position a few months was generally well-received by the Second Life user community, the reaction to his departure is considerably less positive—even though it was never touted as anything more than an "interim" gig. Although it's almost impossible to take the temperature of the vast number of sub-groups that comprise Second Life's pool of active user, from where I sit the mood seems to be downbeat. After the usability disaster of Viewer 2, substantial layoffs at the company, the black eye dealt to the platform by the now-deceased Emerald viewer, folks were hoping for some good news.

There's a sense in some segments of the Second Life community—again, there's no real way to tell how widespread or well-informed they might be—that Linden Lab is paring itself down to be a more attractive takeover target. A few weeks ago, a bizarre rumour that tech giant Microsoft was looking to buy Linden Lab shot like wildfire through portions of the SL community—mostly the non-technical portions, since from the point of view of revenue and technology such an acquisition is highly unlikely. Linden Lab has also cut back its support offerings even for paid customers, which means the face with which it interacts with its most enthusiastic users, residents, and business operators is changing or disappearing entirely.

I'm not sure how much I buy the idea that Linden Lab is primping itself up for a sale. I'm not a technology investor, or even particularly keen on the whole virtual worlds marketplace, as it were, but I can only see two kinds of companies who would be interested in Second Life right now: video game developers, and social networking firms looking to literally add a new dimension to their work.

I don't think either scenario is particularly plausible. For game developers, the Second Life platform can't be particularly appealing: it doesn't support high levels of concurrency on a single sim (right now 50 people in the same place is a tremendous stressor), and—even with the addition of mesh imports—Second Life really struggles to have the highly curated look and feel of titles available for mainstream gaming platforms like the Xbox 360 and PlayStation 3. Simply put, the idea of making the next hot MMORPG or multiplayer strategy game using Second Life is a hard sell, and most of the technology that gaming companies would be interested in—OpenGL in particular—is already available to them. Linden Lab's new marketplace for virtual goods might be interesting to someone, but adapting it to work with another gaming platform is probably about as difficult (or more difficult) than starting from scratch on a homegrown solution.

I also don't see an upside for social networking companies—and I include Google in that category. For as much as some people become completely enveloped in Facebook and YouTube, social networking is not about immersion: it's about making some of the diverse tendrils of interconnectedness in our real lives more accessible and immediate, and then getting out of the way. Although Google has in the past expressed some interest in 3D chatrooms—anyone remember Lively?—the company put the kibosh on that project and has moved on. Although I'm sure Google would love to have birthed Facebook and/or Twitter, let's remember that Google's primary business model is selling advertising. Second Life might have some 20 million user accounts at the moment, only 1.3 million have accessed the service in the last 60 days. (Check for yourself.) There are blogs that get more traffic than that, and they don't have a technology platform to deal with.

Would a company that develops games for social networking service—like Zynga—be interested in Second Life as a way to develop immersive games for sites like Facebook? I don't think so. Second Life doesn't run in a browser, and not a peep has been heard about the lightweight browser-based gateway to SL that Linden Lab talked about back in June. So a scenario like that puts all Linden Lab's value to a social network game company in a technology that, so far, the Lab probably hasn't developed and certainly hasn't deployed. And even if it does exist, it would still need those pesky data centers filled with sims.

Companies I don't think would have any interest in Second Life whatsoever? Big enterprises. The exception here might be IBM—which seems to believe the technology has potential for virtual meetings and user training—but I'd be willing to bet a lot of the fire is being taken out of those notions by things like high-definition multi-location teleconferencing solutions from the likes of Cisco. And Linden Lab did try to roll out a version of Second Life for enterprises, selling them their own sims so they could have their own little virtual worlds behind corporate firewalls. That seems to have gone over like a lead balloon, and was perhaps one of the reasons for the departure of former Linden Lab CEO Mark Kingdon.

I'm not a technology pundit, and even if I were inclined to read tea leaves I have no qualifications to try to use telepathic superpowers or ouija boards to try to figure out what Linden Lab plans to do with Second Life. What seems clear is that Second Life is nothing—absolutely nothing—without an invested, enthusiastic user community. And lately, they don't have much to be enthusiastic about except each other's resourcefulness and creativity.

Tuesday, September 28, 2010

Hunted Down

One aspect of Second Life culture I haven't touched on in this blog is hunts, which so far as I can determine are one of the main activities in which many SL users engage—particularly if they're in the fashion-conscious set. Since dressing an avatar is something almost all SL residents do, almost everyone is fashion-conscious to one degree or another.

This store is participating in (at least) ten hunts. Which to choose?

The Game's Afoot

Hunts generally work like this: a group of folks who sell stuff in Second Life—which usually means they have stores and offer virtual goods—get together and decide to offer some items to visitors for free, just for turning up at the store. But here's the catch: the items aren't set out near the front door with a giant blinky sign pointing to them saying "FREE!" (Well, not usually.) Instead, they're hidden in a hunt item, typically a small virtual object secreted away somewhere on the premises of the store. When visitors turn up at the store, they typically have to wander around and cam through a bunch of nooks and crannies—thus taking a more-than-casual look at the store and its merchandise—in order to find the item. At that point, they can click it to receive their free item, along with a landmark to the next hunt location. Hunters can then teleport to another store to look for another hunt item hidden somewhere on the premises to get another freebie.

Hunts are many and varied, and there are usually several major hunts taking place on the Second Life grid at any given time—check out the SL Hunts blog for what may (or may not) be a reasonably comprehensive list. Some hunts are build around a particular theme, event, or season—for instance, someone who's not into scifi and robots might not want to spend time doing a cyberpunk hunt, but that same person might get into an all-shoes hunt or a holiday-themed hunt. Some hunts are short, involving maybe half-a-dozen stops, while others are huge and sprawling—I think I've seen descriptions of hunts with more than 200 stops.

You Can Be The Hunter…

Hunts bring together two things that drive the Second Life economy: residents' desire for freebies, and sellers' desires for promotion, sales, and traffic. Residents benefit because they can literally get something for nothing: just turn up, wander around for a bit, click a tiny object and presto! Free stuff!

From a hunter's perspective, hunts can be fun: you get to pop around to a bunch of locations in Second Life, pick up free stuff, then pop back to your virtual home or a sandbox to try things on and sort through all your goodies. If you don't want to follow a hunt from beginning to end, it's pretty easy to jump into most hunts at any point along the way. Almost every hunt has a blog or Web site showing who's participating and sometimes what sort of stuff has been set out. It's considered poor form to "cheat" on hunts—don't stand next to a hunt item shouting "It's here, people, right here! Behind the plant!"—but some blogs and sites often assemble lists of hints of where hunt items are hidden, which can sometimes make it easy to see if you're interested in a hunt, or, say, to visit only hunt sites in which you're particularly interested. Hunts can be a good way to see how different creators approach things in SL—invisiprims, hand-drawn versus photographic textures, animations, kookiness, realism, whether items can be modified, etc.—without having to spend money and potentially get burned. So free hunt items are an opportunity to learn about types of virtual goods.

For sellers, hunts are promotional tools. Businesses get exposure for their stores and merchandise—not just at their locations, but also in the myriad of blogs and Web sites that cover Second Life hunts and review hunt items—as well as traffic, a measure of how many residents visit a Second Life location. Traffic impacts how highly a location in Second Life is ranked in the in-world search feature: a place with lots of visitors is ranked more highly than a site with virtually no visitors, on the premise that if more people go there it must be good.

(The logic of this sort of primitive crowdsourcing to provide "search relevance" is specious—and things like hunts make it even more specious. I'll save the bulk of this rant for another time, but in some ways hunts are an example of in-world businesses gaming the Second Life search engine. Participating in a hunt is a way to increase traffic numbers and, therefore, be ranked more highly in search.)

It's not unusual for in-world businesses to participate in several hunts at the same time. Pop into any reasonably popular in-world store—they're easy to find because (amazingly!) they're ranked highly in search—and you're bound to see posters and placards and displays proclaiming the store's participation in this-that-and-the-other hunt. (Providing information about the hunt at every location is pretty common: promotion, promotion, promotion!) So sometimes you can pick up multiple freebies as a single stop.

The quality of items available in hunts varies widely: some aren't even good enough to merit the adjective "craptastic," while others truly are stunning pieces that, undoubtedly, the creators could be selling for hundreds (or even thousands) of Linden dollars. The vast majority tread a middle ground: they're neither bad nor particularly spectacular: some might tickle your fancy, while others will leave you non-plussed. It's pretty common to find a hunt item that has potential but has one or two major strikes against it: "Wow, this would be great if only it weren't fluorescent orange!" In cases like that, the creator probably makes a version of the item that's closer to what you (and probably lots of other people) want…but it's not available for free.

…or You Can Be The Prey

OK, so here's my thing (and you knew this was coming, this is Lou's blog after all): I pretty much hate hunts. It's not that I begrudge in-world businesses trying to get some exposure, or even mind picking up free items that, ninety-nine percent of the time, I have no use for and never wanted in the first place.

No. I hate hunts because of the way I feel when I try them: angry and stupid.

I actually got off to a positive start with hunts. Lette Ponnier (Buccaneer Bowl quartermaster and hunt goddess extraordinaire—catch her over at Virtual Fun & Brains) was kinda astonished at one point that I'd never tried a hunt. So one evening we set off for a few stops together in some hunt in…gosh, it must have been early 2009? We zipped from place to place, I was getting some free stuff, we were chatting, I was using a few explorer-Lou tricks to quickly scan through stores, and it was generally a good time. It must have been, because a few days later I went back to that hunt and did several stops on my own. I wasn't even terribly disappointed that none of the things I picked up were remotely interesting to me (I remember now: it was some Valentine-themed hunt I think: lots of hearts and lingerie and flowery crap mixed with the odd spiked leather bathrobe—mmmmmyeah). I was just goofing around, seeing what hunts were like.

But since then, I don't honestly think I've been able to complete more than a few stops on a hunt without cursing wanting to hit something—and, more often, I can't even get through a single stop.

First, it's the lag. One of the downsides when popping from place to place is that you have to download all the details—prims, textures, etc.—when you get there. And since lots of these places are stores that want to look supercool, they're festooned with prims and lots of high-resolution textures, scripted gimmicks, and masses of sculpts. Even on a high-bandwidth connection, popping into these places often entails several minutes of doing nothing but waiting for things to rez enough that I can step off the landing point, let alone start to look for a hunt item. (The way most hunt items work, you have to be relatively close by for them to render at all, so you have to wander around after arriving.) Adding to the lag are often a selection of hunters, dressed to the nines in their giant fake prim feet, blingy jewelry, talking pets (or talking tummys), multi-layered tattoos, tails, hugely laggy hair, and maybe a thong. Ironically, you can sometimes identify experienced hunters because their avatars are not over the top.

Second, it's the people. I don't intend to disparage "SL hunt culture"—whatever that may be—but, I've gotta say, outside of actual griefers, the people I routinely run into participating in hunts are easily among the rudest and crudest I've encountered in Second Life. Aside from scammers and predators hanging around popular hunt stops begging for money and/or virtual sex—I guess they got kicked out of infohubs and the you-sex-me-now clubs—I find hunt participants are routinely rude. I'm insulted for my height, the way I dress, for what I say (or for not saying anything at all), for pretending to be a kid, or for just existing. It's not just hunt participants: I've had a handful of store owners/managers get on my case, and one even banned me from her store and abuse-reported me to Linden Lab because I was taking "too long" at her stop. (In reality, I had been away from my computer for a few minutes while I waited for things to rez, but after that I legitimately could not find the hunt item. She assumed I was a griefer or copybot operator.) Considering how few hunt stops I visit—and how common these incidents are—I can't imagine wanting to be regular "hunter."

As a result, I've (repeatedly) sworn off participating in hunts. The sole exceptions I'll make are when someone I know recommends I check out a particular stop on a particular hunt, because he/she thinks I would particularly like the item. (For the record, I also go and check out for-sale items friends recommend to me.)

But I almost never get to see those items—which brings me to point three: sheer frustration. I'm not new to Second Life, and as a builder I have some pretty solid camera skills. But I gather "SL hunt culture" has found new and interesting ways to cheat at hunts—perhaps object searches built into third-party viewers, viewing things in wireframe mode (where you just see surfaces outlined without textures), or maybe other things entirely. So, it seems, many hunt stop proprietors try to be extra clever about where they hide hunt items—I've found them floating in mid-air 50m about a store, embedded in walls or other objects, shoved meters below the ground, and (once) carefully encased in a touch-enabled prim so the item couldn't be clicked. Others I never found at all. To be sure, plenty of hunt locations "play fair"—but some do not.

I love puzzles. I love figuring things out. But I deeply resent being gamed. Roughly 50 percent of the time I can go to a hunt location, spend half an hour legitimately trying to find the hunt item, and come up totally empty. If I can't crack a hunt location in the first ten minutes, my only prayer is usualy to wait at the location, hope other hunters show up, then pay attention to where they're standing before they vanish: that's sometimes an indicator of the hunt item's general area. Except, you know, when stores are in multiple hunts: then, it's inevitably the location of a hunt item I'm not trying to find. Or, you know, when the other hunters just give up too. The result is that not only do I feel like an idiot, but I feel like someone—the hunt organizers, or a store owner—is toying with me. And that makes me angry.

Maybe it's just me—maybe I'm the odd duck in the pond and everyone else loves hunts and everything to do with them. I have to assume that kind of profoundly negative experience isn't what Second Life businesses want their potential customers to have…but, then again, I suppose it doesn't matter to them. Second Life search doesn't care whether the time I spent at a location was positive or negative, only that I visited.

Tuesday, September 7, 2010

Lord, Keep My Memory Green

As of 10 AM Pacific Daylight Time (which is also SLT) on September 8, 2010, Linden Lab will block all versions of the Emerald viewer from connecting to Second Life. Emerald users will need to either revert to an official Linden Lab viewer, or another third-party viewer that is still permitted to connect to the grid.

Linden Lab's move is the just the final nail in the coffin of the Emerald viewer—since I last wrote, the Emerald development team has abandoned its plans for a brand new fully transparent organization and scattered to the winds. Some of the former Emerald team have grouped together to launch new third-party viewers based on apparently-legit versions of Emerald itself—more on that below. Some other Emerald team members have apparently gone back to whatever they did in Second Life before they became players in the virtual world's biggest soap opera, and some of them—maybe, hopefully—have maybe gone away for good.

But don't bet on it.

How Did We Get Here?

Linden Lab removed Emerald from its Third-Party Viewer Directory for repeated violations of Linden Lab's third-party viewer policy, and also for violating the GPL, or GNU General Public License (v2).

I detailed Emerald's privacy violations earlier: the Emerald viewer baked personal information into user's avatar textures, and used its login page to hijack users' Internet connections to launch a distributed denial-of-service attack against a third party. It's not clear whether Linden Lab considers the infamous "datamine" database the Emerald development team constructed earlier this year to be a privacy violation, but certainly many Second Life users did.

Violating GPL means that the Emerald development team included proprietary, commercial software in the applications: the now-infamous emkdu image processing library. All third-party viewers are based on source code from Linden Lab released as open source under the GPL license, which requires all derivative software must, in turn, be licensed under the GPL. Since a commercial software component cannot be released legally as open source, it cannot be included in an open source GPL product.

Linden Lab acknowledges being "in communication" with the Emerald development team over these issues, and says it requested "several changes" to Emerald. According to Linden Lab, Emerald is being banned from the Second Life grid for not being able to meet those requests by September 3.

So what were those "requests?"

According to Jessica Lyons—a former member of the Emerald development team and coordinator of a follow-up viewer—Linden Lab demanded the following:

  • A fully transparent development process with open mailing list, online forums, and a publicly accessible source repository with public notices whenever code was committed to Emerald;
  • Publish a privacy policy that detailed all user data collected or stored by any version of Emerald that has ever been released;
  • Everyone with commit privileges to Emerald would have to be a Second Life user in good standing and a signatory to Linden Lab's third-party viewer policy, which means disclosing their real-life identities to Linden Lab;
  • Emerald would have to remove the commercial emkdu library; it also could not ship Linden Lab's own (similarly commercial) llkdu with Emerald;
  • Emerald developers Lonely Bluebird (aka Phox), Discrete Dreamscape, and Skills Hak must be severed from the project.

Ye Gentle Readers will notice that last request is not like the others.

Why Those Three

The Emerald development team has put out the notion that the denial of service attack embedded in the viewer's login screen was the work of one developer—the Emerald project lead, Fractured Crystal, aka JCool—and he resigned from the Emerald project as a result. So why was Linden Lab intent on getting three more Emerald developers off the project? In the world of anonymous avatar names—and where creating a new account and a new name is the matter of a few minutes' work—it's hard to be precise. But all three appear to be (or have been) involved in the creation of Second Life viewers capable of downloading and copying in-world content in violation of copyright, and which likely contained griefing tools and other exploits that could crash user's client, crash sims, and even getting users to connect to rogue sims.

Linden Lab's beef with the person behind Discrete Dreamscape is long-standing: Discrete posted copybot code to Linden Lab's own JIRA issue tracker system on multiple occasions—another Emerald developer, LordGregGreg Back, lauded it. Skills Hak is the mastermind behind the popular Second Life cyberpunk roleplaying community Insilico, but is also the main face beyond the Gemini CDS (Copybot Protection System), which purports to protect private sims from users with content-ripping viewers. And Lonely Bluebird—aka Phox—has reportedly been permabanned from Second Life on at least one occasion.

In addition to creating Emerald, several of the Emerald developers were also working on a viewer called Onyx, which Fractured Crystal positioned as a private viewer—not available to anybody!—that focussed on identifying vulnerabilities in Second Life so they could be reported to Linden Lab to be fixed…and, of course, detected for commercial purposes by Gemini CDS.

In May of this year, a snapshot of the Onyx code base from October 2009 leaked to the broader Internet. The code archive revealed two things:

  1. Onyx was merely an elaboration of the content-ripping client Vlife.
  2. Developers who had checked in code to Onyx at that time included Fractured Crystal, Lonely Bluebird, Luminous Luminos, Thomas Shikami, Tyken Hightower, Zwagoth Klaar, and Discrete Dreamscape. (At a later date, Skills Hak stated she was working on Onyx.)

By most (not all) accounts I've been able to gather—and, again, avatar names and online handles are slippery things—the VLife client was the child of JCool—aka Fractured Crystal, the former head of the Emerald development team. And VLife is apparently one thing that got his JCool persona permabanned from Second Life. (There is some evidence JCool was banned more than once, or at least commited multiple serious violations of Second Life terms of service, including accessing "god mode" administrative features reserved for Linden Lab employees.)

The list of programmers who checked code into Onyx is notable for three names: Lonely Bluebird, Discrete Dreamscape, and Skills Hak. Those are the only three (known) Onyx developers who were still on the Emerald team last month when Linden Lab removed Emerald from the third-party viewer directory. All the others had, by that time, apparently left the project. Maybe, anyway. Tyken Hightower was definitely hanging around with the Emerald development team at the time of the denial-of-service attack.

I could easily be missing something, but Linden Lab's "request" that Lonely, Discrete, and Skills leave the Emerald development team makes sense in this context: Linden Lab won't permit a third-party viewer in its directory that has developers who have worked/are working on content-ripping and griefing viewers.

According to Jessica Lyon, Discrete Dreamscape and Skills Hak withdrew from the Emerald project in response to Linden Lab's "request." Lonely Bluebird, however, refused, then singlehandly released a new version of the Emerald viewer (build 2600) with the ability to spoof its version and client ID. That version of the Emerald viewer was not vetted by whatever QA or release procedures the Emerald team had in place.

So what about those slippery avatar names—couldn't these just create new accounts and get back on board? Yes, they could. And that seems to be why Linden Lab is now requiring every developer who can contribute to a third-party viewer project be a signatory to Linden Lab's third-party viewer policy…and that includes handing over real-life identity information. This is a significant policy change for Linden Lab, which had previously permitted Emerald to be listed in the third-party viewer directory with only the project lead as a signatory to the policy.

Viewer Options

So what now? For all the variously illegal, copyright-infringing, and TOS-violating acts seemingly committed by substantial number of Emerald developers in the last year, there's not denying the Emerald viewer garnered broad support in the Second Life user community for its advanced features and capabilities.

For now, Emerald devotees aren't without options:

Imprudence
The most direct beneficiary of the Emerald debacle is probably Imprudence, which has been around for two years now. When Linden Lab initially announced its third-party viewer policy earlier this year, Imprudence announced it would cease supporting Second Life and continue on as an OpenSim-only viewer; however, they quickly reversed course and created a version that complied with the policy. Imprudence says they're still primarily focused on OpenSim, but the viewer does pack a lot of power-user features and, to my sniffing anyway, seems to have few or no ties to the Emerald development effort.
Phoenix
Phoenix: The Phoenix Viewer is currently the most direct inheritor of Emerald, and is available for Windows, Mac OS X, and Linux. Phoenix is spearheaded by Jessica Lyon, the dev lead is Dimentox Travanti (the creator of the Dark Combat System (DCS) widely used in Second Life, and includes former Emerald developer LordGregGreg Back as the current Windows development lead. Former Linden Lab employee Vortex Saito is on board as well. The current builds of Phoenix are essentially the last "legitimate" version of Emerald, minus the emkdu library.
Emergence
Emergence is a Windows-only viewer, based on the final "legit" Emerald code base, released by LordGregGreg Back who initially characterized it as a stopgap measure to tide Emerald users over until the brouhaha resolved. It's not clear whether LordGregGreg intends to sustain Emergence now that Phoenix is available.
Ascent
Ascent aims to be a lighter client with features specifically aimed at content creators.

Of these viewers, Imprudence has the longest pedigree as a standalone project. I know almost nothing about Ascent; however, it—along with Emergence and Phoenix—only managed to get listed in the Third-Party Viewer Directory today.

Note that most of these third-party viewers swap code around—that's how open source works. For instance, Ascent contains features borrowed from Emerald, and features from Imprudence found their way into Linden Lab's SnowGlobe and from there to Emerald and other viewers—there are many other examples. Folks who want to be entirely free of code contributed by the Emerald development effort would be best advised to stick with Linden Lab's official viewers—and, even then, there's a possibility code contributed from Emerald via open source could make it in…particularly since Linden Lab is knuckling down on rapid viewer development with its new Project SnowStorm.

Who Do You Trust?

Some folks will shrug and think "Second Life is only a game, none of this really matters to me." And, for some portion of Second Life's user base, that's undoubtedly true.

However, let's remember that many people run real businesses in Second Life with real money. so the notion of who you trust with your Second Life account information—which, in turn might be connected to things like PayPal accounts, credit cards, and bank accounts—is less trivial.

And then there's identity. Just because you might around Second Life as a giant robot or a cartoon character of a 2m-tall vampire something doesn't mean there's no consequence if your privacy is compromised. Collecting IP addresses, associating accounts with particular computers and locations, and paying attention to how avatars behave and what they reveal about themselves, it's possible to track down many Second Life users in real life—and that creates a possibility for real harassment. How many Second Life users would be comfortable with their employers, co-workers, colleagues, family, or friends knowing everything they do in Second Life?

And, of course, if someone has your real life information, they might decide to break into your house. Or worse.

Tuesday, August 24, 2010

Green-eyed Monster

If you have been using the Emerald viewer, for now we would encourage you to consider either one of the Linden Lab viewers, or an alternative third-party viewer.

Philip Rosedale
Linden Lab (interim) CEO

Emerald is by far the most popular third party viewer in use in Second Life. Always the focus of some controversy, Emerald includes many power user features much-adored by its users, including a built-in radar, client-based animation overrider (which lets people set up their avatar's "body language" without using awkward in-world tools), performance improvements, and a large number of geeky and semi-geeky features that go well beyond the official SL viewer applications, or make things the standard SL viewers can do significantly easier. Oh, yes, and a preference to make female avatars' boobs bounce.

However, Emerald now finds itself at the sharp end of Linden Lab's pointy stick: earlier this month, Emerald was used to execute a denial of service attack against a rival's Web site, and it's not the first time the Emerald team—or a subset of the Emerald team—has shown a disregard for Emerald users and their privacy.

Linden Lab's introduction of Viewer 2.0—which has been poorly received by the Second Life user community—drove many of SL's power users to Emerald as an alternative. Many Emerald users are loyal and enthusiastic about the application, lauding its features and approving of the fact it's primarily developed by actual Second Life users rather than Linden Lab who, if Viewer 2.0 is any indiction, are significantly out of touch with how people use Second Life.

As an estimate of Emerald's popularity in the Second Life user community, Hamlet Au of New World Notes says "reliable sources" claim almost half of all users hours currently logged in Second Life are from users of the Emerald viewer. That's not the same as half of all SL users, but certainly, the more hours someone spends using SL, the more likely they are to appreciate and covet Emerald's feature set.

A disclaimer: I have never used Emerald. Like many Second Life users, I was interested in Emerald when I first heard about it, but decided to ask around before trying it out. One fine day in a sandbox, I happened to overhear one of Emerald's developers talking in open chat for a while…and decided I probably wasn't interested in anything with which that person was associated. Later I attempted to attend one of the Emerald teams open office hour events and was immediately barred from the Emerald Point sim. Watching Emerald's story unfold over the last few months has substantially reinforced my misgivings.

It is important to note that the Emerald viewer is not an enterprise that directly earns money for any members of the Emerald team. Although some Emerald developers and team members have in-world businesses and earn money in SL-related endeavors, they do not work on Emerald as employees of any company—Emerald is in essence a volunteer effort. Most of members of the Emerald development team are known only by their Second Life avatar names; it would seem they value their privacy.

EmeraldGate

Two weeks ago, users of the third-party Second Life viewer Emerald were unwittingly made accomplices in a distributed denial-of-service attack against a third party Web site. The apparent goal of the attack was to deluge the third party site with traffic, in hopes of taking the site offline or, potentially, racking up significant bandwidth charges for the site if the amount of material it served exceeded its hosting allotments. The attack was carried out using the Emerald Viewer's login screen—which every Emerald user loads by default when they start the application—and, of course, those user's Internet connection, whose bandwidth and Internet access was commandeered to perform the attack. Since thousands of people log into Second Life using Emerald every day—and account have each of those logins requesting over 4MB of data from the third party site—the amount of bandwidth involved was significant.

The attack was apparently engineered by Fractured Crystal, aka JCool, the "project leader" of the Emerald development team. The attack targeted the iheartanime.com site of Hazim Gazov, a admitted developer of copybot and ban-evading Second Life clients and reputed Second Life griefer.

The attack operated for about three days, and has since been removed from the Emerald login screen. Fractured Crystal has apparently fallen on his sword, issuing a contrite mea culpa and says he has turned over the Emerald project to other, unnamed, members of the Emerald team.

The Emerald viewer has not "yet" been barred from connecting to Second Life; however, the Emerald development team's use of the viewer (and its users) to launch a denial of service attack is in violation of Linden Lab's recently-implemented third-party viewer policy. Rosedale says Linden Lab will prevent Emerald from logging in to Second Life if the Emerald team can't live up to Linden Lab's standards. "We will not tolerate [..] development teams with a history of violating users' trust or disrupting their lives."

Emerald has precisely that kind of history.

Datamine

In May of this year, the Emerald development team endured its first significant privacy scare when someone—probably the same Hazim Gazov—managed to break into the ModularSystems Web site (until this week, ModularSystems was the entity responsible for the Emerald viewer) using a very poorly secured password. He obtained—and forwarded to Linden Lab—a database of information gathered from Emerald viewers, ModularSystems site visitors, folks who created Second Life accounts using Emerald, and in some cases visitors to Emerald's in-world base on the Second Life grid (Emerald Point) and a few other locations. This information was apparently collected for several months, and included users avatar names and keys (unique numbers) and IP addresses. Portions of that information have been made public.

For some Internet users, IP addresses aren't particularly sensitive: perhaps they get a different one every time they sign on, or they access the Internet from many locations. Folks concerned about their privacy go to some lengths to obscure their IP addresses. However, associating an IP address with a physical region (say, a metropolitan area) is very simple, and in some cases an IP address can be used to identify a user's physical location with a great deal of precision.

IP addresses are the cornerstone of Internet communications: if remote computers didn't have your IP address, they wouldn't be able to send you any information at all—email, Web pages, IMs, video. However, being able to associate IP addresses with Second Life avatar names and (potentially) in-world and real-life locations creates possibilities for all sorts of cross-checking, potentially being able to determine what avatars are likely to be "alts" of a single individual and perhaps determine where a particular Second Life user lives or works. This kind of correlative analysis has significant privacy implications.

The Emerald team defended collecting this information as a "prototype" of a system intended to identify alts of griefers on the Emerald Point sim. The Emerald team said the system was created and maintained by a single member of the team; opinion seems to be that person was Fractured Crystal/JCool.

The in-world techniques used to collect users' information are remarkably similar to some employed by Skills Hak's controversial Gemini Cybernetic CDS service, which purports to be able to block Second Life users employing copybot-enabled viewers. Skills Hak was—and continues to be—a member of the Emerald development team. Hak sells CDS independently of work with the Emerald project.

The emkdu Library

On July 14, Hazim Gazov—admitted developer of clients that violate Second Life terms of service—struck again, publishing substantial proof that the Emerald client was encoding details about user's computers into baked textures that comprise an avatar's visible base-layer clothing. The library behind emkdu is Kakadu, and it's commercial software: the idea behind the tagging was, apparently, to be able to identify "legitimate" copies of the Emerald viewer from third-party clients merely posing as Emerald, enabling Emerald to issue piracy complaints against any viewers that lifted the library for their own use. In some cases, the details used to make those tags included the viewer application's working directory on the user's computer. For some users, this information is innocuous, but for others it might include personal information about the user—for instance, their username or computer name. Gazov, of course, wound up building a tool to systematically scan for this information in-world.

Accounts vary regarding who on the Emerald team knew about this information being encoded in textures. Gazov claims the feature was implemented by Emerald developer Zwagoth Klaar, but other Emerald devs he contacted were unaware of the data being stored in baked textures. In his mea culpa, Fractured Crystal/JCool claimed the idea was suggested by "others" but had his support, and he still feels it is "harmless."

Fractured Crystal/JCool says the enkdu metadata has since been removed from Emerald, and will "never occur again."

Shenanigans

The emkdu metadata apparently generated a significant disruption in the Emerald development team. Two of Emerald's developers left the project during this time period, with LordGregGreg Back—now characterized as a "minor ex-dev"—specifically departing over the issue.

Some portion of the Emerald development team was distinctively annoyed at Hazim Gazov. Apparently during the second week of August—several weeks after Gazov's publishing information about the emkdu metadata—the Emerald dev team decided, "amid an atmosphere of pride and boasting," to target Gazov's Web site with a flood of traffic generated by Emerald users—and this effort to "show off" the size of Emerald's user base led to Fractured Crystal/JCool embedding iframes (in this case, kind of an non-displaying sub-window) within the Emerald login page that pointed to material in Gazov's blog. The embedded links were, in theory, loaded by any Emerald user to logged into Second Life; the items were intentionally selected to be the largest images in Gazov's blog, thereby maximizing the bandwidth that would be consumed every time an Emerald user logged in to Second Life.

The Emerald team described the actions as mere "shenanigans," and specifically denied it constituted a distributed denial of services (DDOS) attack. This description, apparently authored by Fractured Crystal/JCool himself, failed to hold water with the broader user community and, perhaps more importantly, with the Emerald development team.

Significantly, during this time the Emerald team announced picking up two former Linden Lab employees as members: the former Qarl Linden, who was one the Linden Lab render team and apparently responsible for implementing much of Second Life's beloved "sculpties," and the former Data Linden, who will apparently be helping out with Emerald support. It's not clear at this point if either of these former Linden Lab employees are still associated with Emerald in the wake of Fractured Crystal/JCool's "shenanigans."

Where Things Stand…Today

As of this moment, Linden Lab continues to permit the Emerald viewer to log into the Second Life grid.

The Emerald development team has announced they are reorganizing as a transparent, democratic operation that will have no single project leader. "All decisions, changes, and alterations to any code or anything at all, will be done transparently and democratically."

The Emerald team is in the process of setting up a new domain—emeraldviewer.net—to separate themselves from Fractured Crystal/JCool's ModularSystems entity. This probably means that most of the links I have made to the Emerald team's statements will break.

The Emerald team intends to re-apply to be included in Linden Lab's third-party viewer directory.

What To Make Of This?

Although I'm a mere human, I've tried to present the events and information above plainly. I can't claim to have an eagle's eye view, and, to my knowledge, I don't know any of the people involved personally. However, the Internet being the way it is, it's possible that scruffy-looking guy with the big-ass Dell notebook over at the other end of the coffee shop is one of the Emerald developers. He sure is scowling a lot.

But here's my take: Linden Lab is between a rock and a hard place. If a significant portion (half?) of Second Life's logged hours are from the Emerald viewer, banning Emerald from the Second Life grid will alienate a substantial number of Second Life's most ardent users—and, undoubtedly, that includes many content creators, power users, builders, and folks who run in-world businesses, successful or not.

On the other hand, if Linden Lab lets Emerald back into its directory of viewers that self-certify they conform to the Lab's third party viewer policy, then, clearly, the third party viewer policy—the subject of much drama and gnashing of teeth—is utterly meaningless. Emerald claimed it conformed to the terms of Linden Lab's third party viewer policy, and has now repeatedly and willfully violated that policy.

My guess is that Linden Lab and the re-constituting-itself Emerald development team will try to strike some sort of compromise, perhaps a "probationary" period wherein Emerald will still be permitted to connect to the main grid but will not be listed as conforming to the third party viewer policy until the viewer has a clean record for, say, a year, and the development team proves it can keep its new glass house in order. If I were Linden Lab—and I didn't want the entire third party viewer program thrown out the window—I would set conditions to any such probation. One of those conditions would be that Emerald must inform every user on every login that the viewer has violated Linden Lab's third party viewer policy, with a link with complete disclosure of the violations and what the Emerald team is doing to rectify the problems.

No matter what, I'm not going to be touching Emerald anytime soon.

25-Aug-2010

  • The Emerald development team says Linden Lab has issued a set of undisclosed requirements Emerald has to fulfill before it may re-apply to the third-party viewer directory.
  • I've made some minor tweaks to my text above to clean up some sloppy grammar, add a few links, and correct some production issues. I was working quickly, and Blogger isn't my idea of a proper editing environment.

Tuesday, August 17, 2010

Lines in the Sand

Philip Rosedale has been back in the Linden Lab CEO seat for a few weeks now, after saying it was going to take an (understandable) few weeks to get his head back into the day-to-day of running Second Life. This past week, at the 6th annual Second Life Community Conference, Rosedale actually outlined a set of concrete goals for Second Life. You can watch a video of it; so far, Linden Lab has yet to publish much of this material on their site, although they seem to be getting around to it. Bottom line, Rosedale's remarks are the first time he's gotten specific about how Linden Lab plans to get real about its new "Fast, Easy, Fun!" mantra…you know, now that they have one-third less people.

How SL has been feeling lately
(Image from the maze under Silent Sparrow)

Some of Rosedale's goals are a bit technical and dweeby; others seem likely to have a significant impact on Second Life. Here are the ones I believe will have major, visible impact:

Mesh imports will enter public beta by the end of 2010
Like Second Life's existing sculpts, meshes are a way to model 3D objects in a more-organic way than using SL's geometric prims; it's the technology used in high-end 3D rendering programs and modeling systems. Like sculpts, however, creating meshes won't be possible in Second Life: folks will have to use external tools like Maya and Blender.
Users will be able to edit and make their own "display" names for their avatars, although underlying usernames will still be unalterable.
Right now, avatar names are fixed at sign up and unchangeable; users can only select from a small set of available surnames. Linden Lab apparently plans to get rid of fixed surnames and let users create a small number of personalized display names for their avatars.
Group chat failures and the huge performance hits when crossing between regions will be fixed by the end of 2010
So far as I can determine, group chat has never worked reliably in Second Life: attempting to talk privately to a group is as likely to pop up an error dialog that locks you out of the viewer application as it is to actually work. Lag crossing sims is a huge problem for many users, particularly, if they use vehicles like boats, planes, trains, cars, UFOs, or merely walk.
Linden Lab will be shutting down the Teen Grid
Right now, Second Life is ostensibly limited to people age 18 of over (although, of course, there's no real way to enforce that). Linden Lab now plans to let 16- and 17-year-olds onto the Main Grid.

Here are some geekier but still-important promises:

Linden Lab will be adopting a Scrum development process for its official viewer application.
Scrum is an iterative code development practice that's all kinds of hip these days. The upside of scrum processes is that they can adapt and implement changes fast, and pump out lots of incremental updates rather than big monolithic releases. The downside is that it's very hard for Scrum projects to see beyond the end of their own noses (e.g., the current "sprint") and they often suffer from poor quality testing and documentation.
Viewer updates updates will be background downloads
Right now every time Linden Lab wants to issue a patch, they force users to download a completely new (ginormous) viewer application. This ties in with Linden Lab's idea to release updates to the viewer more often.
Textures and other assets will be sent to clients directly from database servers, using TCP and HTTP
A long time coming, these changes should both reduce loads on individual sims and improve rezzing. It's already rolling out.
Linden Lab will eliminate new user orientation
After a substantial effort last year to revamp the "first hour" experience of new residents, Linden Lab apparently plans to drop new users directly onto the Main Grid at events and places they indicate they might be interested in.
Linden Lab plans to make an iPad client for Second Life.
Of course, once you make an iOS viewer for an iPad, the iPhone and iPod touch won't be far behind. And there's no reason something similar couldn't be done for Android and similar smartphone/mobile operating systems (webOS? MeeGo?) No timetable has been announced.

As with so many things in Second Life, Rosedale's remarks weren't without a misfire. Rosedale was initially going to phone in a keynote address from some summer vacation location, but that went over like a lead balloon and at the last minute Rosedale decided to address the convention in person.

So, why does any of this matter?

Meshes

Meshes are a more-sophisticated way to represent 3D objects than Second Life's built-in geometric primitives. Instead of geometrically "pure" cubes and spheres and tori, you can think of meshes as a bit like chickenwire: you can bend and twist it and flop it around, pinch it narrow or stretch it out, and paint textures (e.g., graphics) on it in fairly complicated ways. Where cubes and spheres are useful for some sorts of things, meshes are useful for more-organic shapes and forms—and, depending on the implementation, may finally enable virtual clothing that can move semi-realistically with an avatar—a mesh could stretch and bend with an avatar's motion, similar to the way SL's painted-on system cloths do now. Second Life's existing "sculpt" primitives are kind of simple meshes, with a maximum of 64 vertices. True meshes promise to offer a lot more capability.

Mesh technology is what gets used in high-end 3D rendering applications, and Second Life's professional content creators—mainly virtual fashion people, but plenty of others—have been demanding that Second Life support mesh for years. It looks like they're finally going to get their wish.

Meshes are a much-demanded feature from SL's content creation community, and promise to turn the content market on its ear, much the same way sculpts and flexies did before it—suddenly anything that doesn't use mesh will be old and tired. Meshes also promise to make content creation for Second Life even less accessible to everyday users, and an even more expensive and exclusionary proposition. This is nothing new: while Second Life does let people create basic primitives, nothing else can be made in-world. Want to make textures? You've got to use something like Gimp or PhotoShop and import them. Want to make animations? You need something like Poser. Want to make sculpts? You need something like Blender. Want to make mesh? Blender, Maya, Strata 3D, Lightwave 3D, 3ds Max. These applications are just examples, but they all have a few things in common, including requiring substantial investments of time, effort, and (often) money to use effectively. Once you've imported a mesh you'll be able to scale and position it in-world, but—just like sculpts—you won't be able to edit or change it.

Second Life's viewer software will have to be updated to support mesh; it's highly unlikely Linden Lab will support meshes in anything but Viewer 2 and its revisions.

Display Names

Although it wasn't mentioned in Rosedale's speech, Linden Lab is going to let avatars set and change their "display names," which they're heralding as a great new thing to improve "self-expression" in Second Life.

At this point, all avatar names are fixed and unchangeable: once you create your account, you can't change your avatar's name. (Although there are persistent reports if you pay Linden Lab an ungodly sum, they will change it for you.) Users also don't get to choose their last names: they're presented a short list of available names when they sign up, and that's all they get. (I wound up with "Netizen" because it was merely the least hideous of the bunch I was offered.)

Avatars will still have unique usernames that will be "easily discoverable" within SL, so ownership of land and items will still use the same mechanisms that are in place today, and anyone who, say, sets their display name to "Lou Netizen" can easily be ratted out as not really being me. If anyone bothers to look.

There are some huge plusses to this idea. First, it gives people full control over their names, which, speaking as someone with a lame last name, huzzah! The new system will also enable users to use Unicode characters in their names, so European and Asian scripts will all work—dunno about things like Hebrew and Arabic, but that would be neat. Folks who "partner"—the SL equivalent of marriage—can change their last names to match if they like, or hyphenate. And roleplayers will go nuts: those macho types in their wild west sim can all be "Quickdraw Aimes" and "Ace McGee" and other genre-appropriate things.

On the other hand, the potential for troublemaking is huge. It ought to be trivial to make chatlogs completely unreliable by changing your display name to someone you disagree with—or, even better, showing up somewhere with a "Linden" last name and wreaking a little havoc. The demonstration video Linden Lab has posted also shows other problems: when someone changes their display name, it changes system-wide, including other people's Friends Lists, radars, groups, you name it. That'll make finding people almost impossible: how are you to know that Lou Netizen is now Bumpersticker Foozlebrain?

Shutting Down the Teen Grid

Since 2005 Linden Lab has operated a separate Teen Grid, a smaller, separate Second Life for users aged 13 to 17. When a Teen Grid resident turns 18, their avatar (and their stuff, including any regions) gets transferred to the Main Grid. Under the new policy, 16- and 17-year-olds will be allowed to set up accounts on the Main Grid directly; existing Teen Grid account holders in that age range will be transferred to the Main Grid. Folks under 16 who want to use Second Life will be left out in the cold.

Rosedale expressed the opinion that the maturity rating system Second Life has rolled out in the last year or so—including the adult ghetto of Zindra (aka the Continent of Dildos and Bazooms)—is enough to protect minors from…inappropriate content and experiences in Second Life. Basically, there are three "ratings" for content in SL, as determined on a parcel-by-parcel basis. "General" is basically content appropriate for anyone, "Mature" is the vast majority of SL (most bars, malls, music venues, and other builds), while "Adult" areas of explicit adult and/or intensely violent content.

I'm of two minds about this. On one hand, I've kind of appreciated that a lot of the "adult" content has been sequestered out into the hinterland of Zindra: it's not my thing. It's not all gone by any means: there's plenty of explicitly adult content and intense violence still floating around on "Mature" and "General" portions of Second Life. It's not everywhere, but it's common enough that I'd be hesitant to turn a 16 year-old loose even in just "General" areas.

On the other hand, Second Life has tremendous potential for education. If someone had showed me SL when I was 13—you can make stuff! and script it! and run around like a freakazoid!—I'd have been all over it. The demise of the Teen Grid would seem to mean that educators can't bring students into Second Life as part of their classwork until they're 16. And then they'll be on the nowhere-near-as-sanitary-as-Rosedale-thinks Main Grid.

HTTP Assets

One thing I'm kind of psyched about it the HTTP Assets project, which is probably the geekiest thing here. When Second Life was being developed, a technical decision was made to use UDP to transfer things like animations and textures from sim servers to users' client software. UDP is a low-level Internet protocol that has several cool features: you don't need to do handshaking to setup communications with UDP: you can just start sending stuff. UDP has less communications overhead than the more-common TCP, but it also fails silently: UDP offers no guarantee that your data is going to get to its destination, get there in order, or get there intact. That's why some objects and avatars in SL always stay grey, some sculpts just appear as lumps, and some things never rez. The SL client literally doesn't know what it's missing.

Now, in some ways, using UDP was the right call in Second Life's early days: bandwidth was scarcer, and all the overhead of trying to confirm, resend, and reorder packets would just use a bigger chunk of what bandwidth was available for housekeeping. However, as the Internet has evolved damn near everything is using TCP, rather than UDP. TCP has all those housekeeping features UDP omits—data integrity, packet ordering, re-requesting bits that got lost, etc.—so switching to TCP means a bit more overhead but also fewer lump sculpts, grey textures, and, um, unfortunate ruthing.

Using HTTP on top of TCP to transfer texture and other assets is also a benefit. HTTP is the primarily high-level protocol used for the Web. ("High-level" here means that HTTP is actually built on top of TCP, which is a "low-level" protocol.) The Internet has kind of taken a mild interest in Web servers, which means there's a metric f*ckton of software out there designed to handle HTTP as efficiently as possible. Relying on HTTP means Linden Lab gets to benefit from all that optimization instead of having to write and implement (and optimize) their own system from scratch.

And it's not just servers: routers, firewalls, and traffic management systems—the kinds of things that actually make up the Second Life grid—have put a ton of effort into optimizing their performance for TCP and HTTP. So Linden Lab will benefit from all that work too.

Furthermore, letting viewers bypass the current sim and make requests directly to Linden Lab database servers for textures and other assets not only removes the local sim as a "middle man" for these transactions (hundreds of which are typically involved just TPing into somewhere), but also reduced overall load on the sim, making more cycles available to handle things like, or, say, CHAT! Bottom line: the HTTP Asset project promises to strike at the heart of lag, and I can get behind that.

And Viewer Too

A lot of these changes are going to require support in the Second Life Viewer…and, unfortunately, Linden Lab kinda laid a turd on the user community with Viewer 2.0. Sure, Viewer 2.0 has a few things going for it (I like the address bar) and a lot of under-the-hood get-ready-for-the-future things. The interface of the previous 1.x viewers was—well, I'll be polite, it was and remains deeply problematic. Viewer 2 improved on a few things but adopted a new interface model that is simultaneously more intrusive and less flexible than the previous model, with the result that many long-time residents refuse to use it. (I can think of many reasons not to use Viewer 2, but the chat interface—both new school and "plain text"—are dealbreakers for me, since I live in text.)

Linden Lab seems to have realized that response to Viewer 2 has been less than enthusiastic in many circles. "We've got a lot of improvements we want to make to the Viewer 2 user experience," Esbee Linden wrote in the company blog. "Some of the Viewer's workflows are cumbersome for some Residents and this has hurt Viewer adoption. We really can improve the Second Life user experience by rethinking the way our Viewer works and making it (and its features and functionality) faster, easier, and more fun for everyone."

So Linden Lab has announced Project Snowstorm, which will attempt to roll out updates to the official viewer on a regular basis—they're aiming for every other week—using a development methodology called Scrum. I make no secret that I am not a fan of Scrum, but I'll try to describe it: basically, developers work against a "backlog" of tasks in phases called "sprints." Items get cherrypicked out of the backlog and assigned to a particular sprint, then everyone goes whiteknuckle to get their sprint tasks compiling and checked in before deadline. Then the whole thing starts again.

The problem with Scrum as a management system is that it's very short-sighted: it has trouble dealing with issues that can't be neatly broken down into sprintable tasks. It also leads to what I call "trainwreck" development where everyone is pushing hard to get their work in under deadline—and that often means there's little or no testing of individual features (or interoperability), and nobody has time to document their work when the sprint wraps.

In the brave Internet world of perpetual betas and "we'll push an update," that's probably OK in Linden Lab's eyes: the bi-weekly sprints will be for early adopters and enthusiasts, not everyday users. But the large number of significant changes Linden Lab plans to roll out in the next 180 days, a larger number of people are going to have to be looking at those builds…and we might see why every Scrum project I've seen has been one of those aforementioned "trainwrecks."