Saturday, August 1, 2009

temporary happiness is like waiting for the knife

“Never trust a computer you can’t throw out a window.”
(Steve Wozniak)

Postponing the sculpt commentary for the gleanings from an earlier conversation, which can be roughly titled Where the Lindens Went Wrong, frankly. And for this, we finally decided, we had to go all the way back to 2003, for the core seeds of the current problems.

Why 2003? I mean, SL was just starting out. They couldn't have made that many mistakes their first year, right?

Actually...yes. And they're still reinforcing some of them, and making other mistakes worse by trying to patch the problems raised. Factor in several hundred unintended consequences...and you'll find that's why we are where we are now.

“Hardware: The parts of a computer system that can be kicked.”
(Jeff Pesis)

First, the transition from primvatars to full avatars, which created the thirty-six attachment points--because those were the points developed for attachment of each prim for the primvatar, before the replacement with the polygonal mesh we have now. There didn't used to be any upper limit for each attachment point, because it was thought no one would ever want to push that boundary--primvatars were blocky, overlarge, shambling stumbling things, and it was pretty much a relief to everyone when the avatar mesh was introduced.

“I’ve finally learned what ‘upward compatible’ means. It means we get to keep all our old mistakes.”
(Dennie van Tassel)

The real, fundamental issue--and the main point of disconnection between residents and Lindens--is in what Linden Labs actually is--at first, Philip Rosedale wanted a physical way to give computer users virtual immersion technology. But between 2000 and 2003, Rosedale changed his mind and started developing an immersive virtual world (originally called Linden World, and up until I started researching this piece, I honestly thought the Blair Witch 2 Webfest weekend had utilized early SL technology; turns out it was actually a project).

“It is not about bits, bytes and protocols, but profits, losses and margins.”
(Lou Gerstner)

So, Torley and the recent hire of Cyn notwithstanding, what you had in Linden Labs were a group of software developers who primarily seemed to be hunting for a way for business types to cross-platform easily and collaboratively--that ultimately, users of Windows, Macintosh and Linux, scattered through Seoul, Paris, Los Angeles and Taipei, could all get together in one virtual room and trade information back and forth.

There are several problems with that, not the least the proprietary struggles, but let's step aside from that. That's our bottom line--that's the Lindens' bottom line, becoming the ultimate business app. And that's fine for a bottom line, folks have done more with less on a pretty much consistent basis--but that ignores the unintended consequences of virtual-world development.

Namely, their residents.

“Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build and test, it introduces security challenges, and it causes end-user and administrator frustration.”
(Ray Ozzie)

Or take the first sims that existed on the grid--spaces were parceled out for individual residency (the Lindens needed beta testers for the developing program, which was how many people started off on the grid), but the total prims were shared. So people started stockpiling prims: if they wanted fifty prims for a project, say, they'd pay the prim tax (prims used to have a prim tax, per each prim, to be rezzed out at all), then leave those prims piled on their land somewhere, so no one else could grab those prims away--because all prims were shared, remember?

Which is how sim prim limits were developed, because the Lindens had never considered how people would deal with virtual real estate, prior to people actually being on the grid, and dealing with the issues.

“There are two major products that come out of Berkeley: LSD and UNIX. We don’t believe this to be a coincidence.”
(Jeremy S. Anderson)

Unintended consequences. We, the grid residents, are the unintended consequences. For example, let's talk about gambling. Gambling became a thing in SL because there were no rules against it. There were no rules against it because the Lindens (again, not thinking of the potential down side) didn't think they needed to make any. Why would anyone bother with virtual gambling in Second Life? There were enough virtual casinos on the web!

But people did. People wanted to gamble here. And for a while, the Lindens looked the other way--and I truly do not believe maliciously, but decidedly unthinkingly, because--being a software company, primarily packed with software developers--they just didn't think of the larger picture. (The larger picture, in terms of gambling, being the illegality of it in certain areas.)

Most of you are familiar with the virtues of a programmer. There are three, of course: laziness, impatience, and hubris.”
(Larry Wall)

Unintended consequences. They banned gambling, figured everyone would shrug and move on, and instead, suddenly had mass emails, IMs, phone calls, and in-person visits to the San Fran offices. Something they had never, ever seen coming, and they had no real clue how to fix it. Many big-money players left SL never to return, and the economy staggered because of it--something else Linden Labs never saw coming, nor actually sat down and thought through.

Software developers. Unintended consequences.

“That’s the thing about people who think they hate computers. What they really hate is lousy programmers.”
(Larry Niven)

Or ageplay, for instance. (Which, by the way, just for the record--"ageplay" does NOT automatically equal pedophilia. I don't care how many people want to argue that. It doesn't.) "Ageplay" was so broadly co-opted as "sex with children" that even for those of us who understood the actual meaning as something far different, we still had that twitch of emotional connection; and many, many users felt personally discriminated against, in ways that made them leave the grid.

Unintended consequences. More grid departures.

“Writing code has a place in the human hierarchy worth somewhere above grave robbing and beneath managing.”
(Gerald Weinberg)

Or the replicant/grey goo problems that plagued September of 2006--breaking equipment, crashing sims, creating huge no-rez/no-script zones in many public areas. Basically, looking back on things, that one finally breaks down to rampant homophobia (since nearly all attacks were propagated by members of various 4-chan groups devoted to stamping out all 'fur fags', in RL and on the net) among men who saw the growing 'acceptance' of furs on SL as a personal affront to their campaign to push all gays off the net. For that, the rest of us had to suffer, but again, the Lindens didn't seem to completely connect things.

Unintended consequences. For software developers, replicants are essentially 'spam'--id est, they had several pop-up attacks, and just needed to figure out the right way to block them. After some initial failures, they hit on a method that worked, and voila, problem solved.

“First, solve the problem. Then, write the code.”
(John Johnson)

But for their residents, it was yet another chip away at the supposed omnipotence of Linden: that the Lindens not only could be wrong, but frequently were wrong, in how they went about solving the grid's problems.

Or take the OpenSpace/Homestead issue. The Lindens could have solved that entire problem by saying, these are limited-use sims intended solely for reinforcing point-of-view between you and other sims. They have script and prim limitations. They are not intended for living/working spaces.

Instead? What came across when they were offered was, Come get one, or five, these are SO COOL! You can do ANYTHING with them and you can AFFORD them! EVERYONE can own a sim now! You can set up the best nightclub EVERRRRR!

Yeah. That worked out.

“Optimism is an occupational hazard of programming; feedback is the treatment.”
(Kent Beck)

We're back to unintended consequences again. Do I think the Lindens deliberately misdirected people who bought into OpenSpace sims? Yeah, maybe a little. Do I think they never saw the backlash against them coming, though? Yeah, maybe a LOT. Because again--software developers. "Okay, that didn't work, oops, back to the drawing board." No big loss. Code can be broken; they can fix bad code. Code can be broken but can be worked around; they can patch bad code. No big deal.

But to residents? This was bait-and-switch. To residents, this was lying, in the minds of many, many who frankly, couldn't afford to convert over to a full sim, and thus did lose out--money and time spent and in some cases, reputation. (To be fair to the Lindens on this one, nothing in either the Terms of Service or Community standards guarantees that anyone will be able to make a profit from Second Life. So complaining about profits lost? Is pretty much just empty complaining.)

“The use of COBOL cripples the mind; its teaching should therefore be regarded as a criminal offense.”
(E.W. Dijkstra)

Does it begin to make sense yet? Prim attachment limits, to a Linden, is sort of odd and inconceivable--why would people want to attach more than 256 prims to any single attachment spot on the avatar? Why, for that matter, does anyone want more than thirty-six attachment points on the avatar? Who needs more than that?

“In C++ it’s harder to shoot yourself in the foot, but when you do, you blow off your whole leg.”
(Bjarne Stroustrup)

But residents, now, they take limits as end goals; most programmers will hear "256 prim attachment limit" and think, okay, so it's very unstable at the high end, strong on the low, and one to ten prims attached together will be perfectly fine and functional.

Most residents? Hear the 256 first. I've come across 273 prim hair before. I've come across 993 in a fully primmed-out robot avatar. I've found 600-prim tiaras before (generally on 200-plus prim hair!), and that's not even getting into fur avatars, which frequently go very high-prim indeed. Detail costs, we're told, but are we costing it out using the same value sets?

Software programmers. A group of heavily disconnected thinkers of the new net who see their avatars as 3D equivalents of chatroom icons, for the most part. They don't see the need to update, that's not them, that's just--you know, how they look in that moment. That's their visual identification. That's a logo. That's a detail.

Residents. A group of highly divergent dreamers on the grid who see their avatars as virtual extensions of themselves, for the most part. They see the need to update, they see the need for the clothes, the hair, the shoes, the houses, the weddings, the funerals, the babies, the vacation spots, the dance clubs, the parties, the theatres, the perfect skins, perfect shapes...that may not be them, individually, in real life--but it's more than a logo, it's a persona. It's everything.

If Java had true garbage collection, most programs would delete themselves upon execution.”
(Robert Sewell)

Or let's talk about Zindra again. Horrible idea, start to finish. Worst execution of anything the Lindens have ever done, hands down. Decried from conception as irretrievably stupid, and the single greatest proof that the Lindens purely and simply do not care.

Right? Or wrong? I mean, I know I've said that before, but am I being unfair to the Lindens in this?

I think the answer is, obscurely, yes and no. Because again, let's go back to the unintended consequences. What was the end goal of Zindra, after all? No one at the Labs could contemplate bringing in GM, say, for a car-based sim (ignoring the fiasco that was the Pontiac/Motoroka sim), having them search for....for...hells, let's say spark plugs...and have them get an endless amount of bondage/camgirl/free Lindens/newbie bits advertisements in return. They felt pushed against the wall by everything the residents were doing to their work in developing the perfect cross-platform business app.

So what do they do? They have to get rid of adult content without getting rid of it. So they decide on a new continent, with new rules, and new restrictions. They'll move everyone who has current adult content over there, and--voila, problem solved!

“You can’t have great software without a great team, and most software teams behave like dysfunctional families.”
(Jim McCarthy)

There are several problems with this, as we're back to unintended consequences again, but the largest one was the emotional impact on residents--and remember, that split between what the Labs think they know about the grid, and what we think we know about the grid, is a vast and wide abyss indeed. Where the Labs thought they were making it easier on everyone by just subdividing content--a very common practice in software development--almost every resident directly concerned thought of one thing: forced relocation.

You can't force pixels to relocate, you just move them. Pixels aren't people; it's just going from 01100110 01110010 01101001 01100101 01101110 01100100 01110011 to 01100110 01110101 01100011 01101011 01101001 01101110 01100111, so what's the big deal?

But to the avatars involved--or, put more precisely, the people who feel that those pixels are virtual representations of themselves, or their characters, or how they want to be seen--well, there have been comparisons to internment camps, to the Trail of Tears, to repression, to dictatorial recidivism--and, leaving aside the notion that there is no freedom of speech or action, when it all comes down to it, in Second Life, because ultimately, it's entirely a Linden playspace start to finish--that became a breaking point between the Labs and much of the grid.

Unintended consequences. Software never intended for residential use. And the ultimate irony, software that doesn't do a single thing towards the main goal of meeting in virtual boardrooms and exchanging information--because we still must go to the site chosen (hoping we don't crash), upload the image as a texture (then pay for it), hand it over to whomever else (who has to accept it), then wait for them to download it to their own computers!

The entire thing could be, and has been for years now, done better just sending emails!

“Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are–by definition–not smart enough to debug it.”
(Brian Kernighan)

There's a maxim that states: a company that receives one letter, knows about eight people thought about sending a letter, and they might need to think more about that advertising campaign or that product. A company that receives ten letters, knows about one hundred people thought about sending a letter, and they definitely need to think about that ad campaign, or pull/change that product. A company that receives one thousand letters knows that nearly everyone wanted to send a letter; that company goes into hiding, or changes its name, or ceases operation.

It seemed to us, when talking this over, that the Lindens do this in reverse. One IM (or email, or live chat conversation, from the right person) they tend to put a great deal of value on. Ten IMs or emails, they hold a brown-bag meeting or advertise when office hours are in their block, because they're "open to feedback". 2500 IMs or emails, they completely ignore, though, because obviously, that many people are just responding to someone else, not anything the Lindens have done; it's just base hyperbole and rumor at that point, and can be completely--and easily, as we've seen--ignored entirely.

“Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.”
(Martin Golding)

It was suggested, at one point in the conversation, that what Linden Labs really needs to do is hire their 25 harshest critics, and listen to what they have to say about the state of the grid. Because while things could get much worse than they are now, at least they'd know how their policies would be received.

Lindens? You know how to reach me.

Some discussion on megaprims as attachments.

And sadly, the truth of this cannot be denied.

Tomorrow, sculpts about the grid.


Yolanda Hirvi said...

*applauses wildly* Miss nailed it!

Emilly Orr said...

Yes, but as with most won't change a single Linden decision. :)

Rhianon Jameson said...

As always, Miss Orr, many good points. Unintended consequences, indeed. But this seems to be the way of most innovating firms: first, a vision. (Maybe other firms have competing visions that don't even reach public awareness.) That vision isn't exactly what the market wants. The company adapts - or tries to. Programming changes, advertising changes. It's all a kludge at this point, because the company can't call a time out and tell its customers to hold on two years while they rebuild from scratch. Eventually, some other firm learns from the mistakes of the innovator and beats the pants off the innovator.

This isn't to excuse the Lab for making poor decisions, just to say that any pioneering firm has to learn as it goes along, and suffers from earlier mistakes.

Dale Innis said...

Very good indeed. My one quibble with it (as a Resident who cares very much about how I look etc, and who is also a software programmer, and who has lots of friends who are also both of those things) would be that what makes the Lindens as blind as they are to certain things, and as oddly deaf to Resident outcry, is only partly explicable by the fact that they are software programmers.

They are also (to a large extent) a particular type of programmer, working in a particular environment, with particular communication channels and particular incentives. There are lots of programmers who understand very well the pros and cons of gorgeous high-prim hair and other important Resi concerns; the fact that the Lindens as a body don't (or don't seem to) will have to have some more nuanced explanation...

Emilly Orr said...

Miss Jameson: I still believe fervently that a large part of success, in any field, relies partly on the ability to know when we are wrong--and be able to admit when we are wrong. That has to be added in to the equation of SL: that the Lindens, by and large, can't even send out a simple line like "Okay, we got it wrong. We're working to fix it." While individual Lindens may be able to admit culpability, the corporate culture as it has evolved seems to be committed to perpetuating Linden flawlessness.

It may not be that extreme, but even encouraging a policy of "there is no failure, there is simply non-success" is damaging, in the long run.

Dale: I think you're right, and I think it comes down to disconnection: the bulk of Linden time is spent off the grid; what little time certain Lindens spend in-world, they spend nearly entirely on Linden land. They have all the access they could ever want to have, regarding the ongoing experiment in virtual socialization...they just don't put in the time to see the world the way their residents do.

Maybe that's by intent; I don't know. All I know is, they seem to be blindsided again and again by how people are using their world, and making insane (to us) decisions based on that lack of experience.

Dale Innis said...

Yeah, it's very odd. I know at least one Linden who spends considerable time on the Grid (in their pre-Linden identity), doing typical clued-Resi things, and Pathfinder at least used to go to lots of events and parties and stuff as Pathfinder. Those are apparently the exceptions, though; the Lab as an entity continues clueless.

Or else (and I know this is actually impossible) it's actually us who are out of touch, and the vast majority of Residents think the Lab is doing a triffic job, and taking care of their needs just fine. Sometimes I have nightmares like that...

Emilly Orr said...

I muse on the occasional early adopter, wondering if they actually have a Linden 'main', and spend most of their time on the 'alt' account as the not-Linden type...and yes, Pathfinder and I believe, Cogsworth? Linden were both involved in their respective communities.

By and large, though, as you said, these are the exceptions. And again, it doesn't matter what individuals do, individuals can be great or can fail utterly, it's happened both ways. It's the corporatethink, the culture of the business as a whole, that needs to be considered...and I think part of the problem is that it was one form of thinking under Philip, and an entirely different culturethink under M.

Anonymous said...

I was going to say that my personal feeling is that while you may be right about the disconnect between virtual-world residents and software engineers (which dominated the Philip Linden era), the larger disconnect is between virtual-world residents and corporate types out to generate revenue (which dominates the M Linden era)... but I think your last comment implies that we're on the same page. :-)