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."

5 comments:

  1. Great look Lou...You've covered all this well.
    Viewer 2.ought oh is my main worry, I've tried to use it and just can't figure it out. I didn't come to Secondlife for a 3D chat room.
    The name thing baffles me no end...with all that's broken....they want to play with names?!!!

    ReplyDelete
  2. I think the name thing is fantastic. I agree that chat may be problematic but I think there's ways around it including keeping the real ID in parentheses next to the display name or keeping the display name to over the head only and not displaying in chat at all. I've been waiting for a way to change my name since about 6 months in... Swashbuckler pigeon-holed me.

    Meshes I'm also very excited about. This will amp up content big time. W00t!

    Less lag would steal the show in my book, however. If changing internet protocols does it I'm all for it. I'm tired of cloudy people, random ruths,gray objects... gah. Would this affect information privacy though? I remember a while back that the complaint against browser based clients was the privacy issue.

    ReplyDelete
  3. Brinda: My *impression* talking with oldbies is that the name thing has been cooking for a while. One person said is was on the table as far back as 2007, but I can't confirm that.

    H3thr: Torley's video shows that Viewer 2 (and, presumably, other clients when they enable Display Name support) will be able to show both usernames and Display Names on avatars; however, displaying usernames will be disabled by default. Most other discoverability will involve one-at-a-time inspection and hovering.

    My understanding of the HTTP Assets project is that it doesn't create significant new privacy concerns that don't already exist under the UDP implementation. Linden Lab will have to implement new updating and auditing processes for using off-the-shelf HTTP server, router, and traffic management products, but they should already be doing this for a number of other thing in SL (the currently amazingly-broken search, HTTP textures in the Map, etc.). The HTTP Assets project is all internal piping on LL's grid and infrastructure, and has little to no direct bearing on potential privacy issues with a browser-based Second Life gateway.

    ReplyDelete
  4. Meshes may all be very well if you're a computer whizz and want to spend more time on creation 'outside' sl as you have to for example creating textures or signs to import... and of course that costs ? Will importing meshes be subject to a fee ? Of course there's no mention of improving and building(pardon the pun) on the existing in world method of building, making more prim shapes,upping the sizes, improiving and increasing the variety of ways they can be edited.

    Philip hasn't tackled the issue of tiers of land allowances infact at his inworld meeting it was noticeably avoided.

    For people like myself not based in the USA the idea of being able to pay at fixed rates in our own currencies and taking account of issues such as v.a.t has never been discussed at all - and I thought sl was supposed to be proud of its multiculturalism.

    And while lindens was quick to pick me up as being due for v.a.t. charges via my ip code the same method apparently was insufficient to age verify me...lindens take their fees from me by credit card and or pay pal they can identify me as a UK Citizen - they can't, however, put two and two together and utilise the fact that you have to be over 18 to get pay pal or a credit card here....

    A viewer very few people want appears ready to be put into force...I gave the new viewer a try for a week..as a builder I found it quite useless - despite widespread protest lindens is pushing ahead. My own view is that looking at viewer 2 and the current viewer, viewer 2 looks like the prototype cumbersome and ill arranged.

    And another barmy idea ..name change ..why ? The scope for griefing is phenomenal and Im sure the expert hackers and nuisances will come up with some great methods of misuse. I personally see it as a threat to both my individuality and my security in sl. I dont see how anyone who watches Torley Lindens you tube video and see some of the comments on Lindens own forum could disagree with me. While anyone using the nick Philip Linden my suffer swift retribution Im not so sure anyone mimicing everday sl users for whatever 'fun' or 'creative' reason would be.....

    I look forward to Philips promise that boundary crossings will be stabilised so you can cross in whatever mode of vehicle without the usual wild polka across sl... I didn't realise he'd promised this MAJOR burden to those who love travel and exploration so soon...

    However,to me anyway, Philip said he'd be doing what Lindens always seems to do...introducing more things that people don't really want interfering with their sl existence and not doing enough to change those aspects that need to be tackled.... I think the biggest problem is that Lindens continues to undervalue its premium users and throw usless crumbs which dont mean much - but which are clearly the cheapest things for sl to do...

    ReplyDelete
  5. Mael: Linden Lab hasn't yet outlined how meshes will be supported, but it's reasonable to assume that importing meshes into SL will be subject to a fee, just like textures for signs and sculpts. Meshes will have storage costs just like other assets. Since meshes also have the capacity to radically change how almost everything in SL is built, it's also possible that single meshes will count as more than one "prim" so far as SL parcel limits are concerned. Simple meshes might still "cost" one prim on your land, but complex meshes might be more prim-pricey. We don't know yet.

    I really have no insight into how Viewer 2 was developed, and what process led to its design and functionality. On a scale of one to ten - ten being an awesome, clear, intuitive, powerful interface and one being an undocumented crashy command-line - I'd give the 1.x viewers (including Snowglobe and, I bet, Emerald, Imprudence, et al) about a four. Sadly, I'd give Viewer 2.x about a three, not because its interface paradigm changed but because the new paradigm is so awkward.

    I think Linden Lab does have to try to fix Viewer 2 - they can't throw it on the scrap heap and start over - and I do feel there are a number of comparativel simple things LL could do to ease Viewer 2 pain. But I really hope Viewer 3 is already underway...as much as I doubt it.

    ReplyDelete

Comments are moderated. You can use some HTML tags, such as <b>, <i>, <a>. If you'd like to contact me privately, use a blog comment and say you don't want it published.