29 June 2013

Strawberry Singh's Proportions Challenge

Strawberry Singh's been running a meme the past few years about avatar shapes. This year's entry is on proportions. It seemed like an opportunity for me to talk a little about mine.

First, here's the picture:


My shape was created by Strahl Parx, owner of the Chained Tail club for furries. The design concept was that I am an athletic tigress, not so much a voluptuous one. After all, a tigress must stay in top physical condition in order to catch prey. I'm also deliberately tall. An alpha tigress is a big kitty. Still, it's intended to be blatantly, in-your-face sexy, with more than a little dominance thrown in. I'm very happy with it.

I'll also note that the Avatar Ruler is quite accurate, unlike the average scripted height detector. How do I know this? Because it agrees exactly with the height display in the Firestorm shape editor, and I spent a couple of days playing with that to get it exactly right using prims as rulers instead of depending on the size reported by LSL.

And now for Strawberry's questions:

  1. Do you try and keep your avatar’s body proportionate and similar to the “average” proportions in the meme post? – No. Then again, I don't tweak my shape much at all, so it looks good as is and doesn't get changed.
  2. What do you dislike the most about the SL avatar mesh? – The weighting and UV mapping cause problems, especially around the upper thighs, crotch, and center of the chest. This has been bothering clothing designers for years, and especially makes it next to impossible to make a leotard look like what you actually look like wearing one in RL. The upper thighs deform very badly, as well, as the legs move. There's a JIRA about this, STORM-1800, but that seems to have been caught up in the foofooraw around the mesh deformer.
  3. Does it bother you when you see other avatars that are not proportionate at all? – Only if it's very badly off of normal.
  4. Even though this is a virtual world and people can be anything they want to be, do you feel when they are in human form, they should try to keep their proportions close to average? - Not even a little bit. The beauty of SL is that you can be whoever and whatever you want to be, deep down inside. 

I'm more than a little unhappy that the mesh deformer seems caught up in ...some form of limbo. I've heard lots of theories about it. The most common one is that Qarl Fizz annoyed LL to the point the deformer won't ever actually get into the viewer. I can vouch for Qarl being an annoying so-and-so - he pissed me off rather thoroughly when he brushed off my offer to help with the deformer UI in the manner he did, but his problem with me stretches back to the Emerald implosion - but that seems like a poor excuse for keeping it out of the viewer. I think it's more a matter of simply not quite being ready for prime time by whatever metric LL is applying to it.

Even so, my shape is such that very few mesh items work for me. The breast size, torso muscles, and leg muscles, especially, are way out of the norm. Because of this, I have essentially no mesh clothing, and won't until the deformer goes live.

I don't think I'll change a thing until then, though. There's plenty of good stuff for me to wear.

20 June 2013

I told you so!

I don't normally indulge in "I told you so", but this time I'm going to make an exception, because it just feels too good.

Today, Nyx Linden announced, in a posting to the TPV Developers mailing list, that the tentative date for the start of the rollout of server-side baking has been set for July 9. The date is subject to change if showstopper bugs are found, and there will be another round of testing, but in Nyx's words,
Please consider this an official warning that this is imminent - We've been saying for a while that we're getting ready for release. We hope with a solid date in mind, all viewers can start messaging to their users that they will need to update or they will start to see issues. 
As you should know by now, once SSB rolls out, old viewers will only see other avatars as clouds, and new viewers will likewise only see users on old viewers as gray. In short, your SL will be significantly restricted. We've warned you this day is coming, and it's finally here.

I've been saying for quite a long time that LL would do something that would render old viewers unusable. What I thought would be it turned out not to be, but I knew that someday they would do so. They would inevitably get to a point where they were going to have to make a choice between preserving compatibility and advancing the platform. When that choice came, they would do what would be needed to advance the platform.

This is that something.

I've been telling folks about this ever since we started working on Firestorm. I knew that, at some point, Firestorm would be the future-proofed solution for access to Second Life for folks who think that Viewer 3 does not fail to suck.

Guess what? I was right all along.

Yes, I told you so. Nyah nyah nannie nannie boo boo. And here, have a side order of neener neener, too.

To the folks out there who have been accusing me of lying whenever I bring this up (yes, Archangel Mortenwold, I'm looking at you, you hopeless sack of male bovine exhaust): I don't lie. I calls 'em as I sees 'em. I saw this day coming. I warned you about it. You said I was lying. I wasn't. Now pull your head out of your ass and update your viewer. I told you you were going to have to, years ago.

To the rest of you, you now have a deadline. Upgrade your viewer to something that supports server side baking - and your hardware, if you're running something that won't handle a modern viewer - or leave SL. The choice is just that simple.

18 June 2013

You get the customers you deserve

I'm friends with several designers of clothing and jewelry and suchlike in SL. I'm considering joining their ranks, if I can learn to get what I want out of Photoshop; I've recently learned how to make latex clothing, and it seems there's always room for another designer. But that's not what's inspired me to write.

It seems like themed discount malls are the new hotness. I hadn't heard of this kind of thing before, and certainly hadn't gone shopping at one. Apparently, for a nominal fee, a vendor gets a small number of prims for a couple of weeks to sell stuff that fits whatever the designated theme is. Run well, this supposedly makes money. Fair enough.

However, it's imperative, in any business, to remember who your customers are. In this case, the mall's customer is the vendor; their product is the mall and the buyers who come to it to suck up the cheap bargains. That means the mall needs to treat the vendors well if they expect to actually get them at all, much less for more than one period.

I'm told that there are good ones out there. Genre was the example cited.

And then there's the one that we've been discussing tonight: Total Anarchy. I'm not on their radar. I doubt they care about a small BDSM furniture vendor. Friends gave me a copy of their solicitation notecard.

Merciful $DEITY. The whole thing comes across as "we're small, we're new, nobody's ever heard of us, but we're so awesome that we can treat you like shit and you'll still beg us to let you in!"

Uhm. No. Just no.

They start off with a disclaimer:
First off we are COMPLETELY non politically correct here.  This discount room is not for the faint of heart, nor those who get easily butt hurt. There are no refunds for fees for any reason without reasonable notice - and by notice we mean minimum 48 hours - Got it? MINIMUM 48 hours. Once you commit and submit your info, suck it up and get your shit done. We're not your whores and will not ride your ass. If we were your whores, you'd still have to pay us. Get your shit done and on time.
This comes before the description of what the hell they're even selling!

The whole notecard follows that same approach. They seem to think that their customers are lazy shits who won't get things done on time and within prim limits and in accordance with the rules. If you don't do things exactly right, then they keep your money and give your slot to someone else.

This would be annoying as hell if the amounts involved weren't so utterly trivial: Their store fee is L$50 for two weeks! Fifty Lindens!

Oh, and they're running a contest for pictures, and the winner gets L$175. Tip to the winner: Don't spend it all in one place.

Here, let me explain a bit of business 101. You get the customers you deserve. Treat your customers well, you get good ones who stick around. Treat them like shit, you get shit for customers.

These folks start out by treating their customers like shit. Guess what they'll get? Hint: Not the good ones who won't cause drama. No, they'll get the assholes who'll quibble over fifty Lindens and come in late and then raise hell because they won't get exceptions in the rules made for them.

And that L$50 fee? That just screams "I'm small potatoes!". Reality check here: That's about US$0.20. Twenty cents. I could dig up six months' fees if I'd just pull the front seat out of my car and do the cleanup I keep wanting to. The couch change could buy their entire mall.

Here's some free advice for these idiots: Price your product like it's worth something. That L$50 had me thinking "No. Just no." before I even read the notecard. If you walk into a new car showroom and the sticker price is $10K, that instantly sets your expectations: don't expect Mercedes, or even Chevrolet, quality. Your money will, if you're lucky, get you the quality of a 1989 Hyundai Excel.

The same goes here. Even if they weren't being outright assholes to their potential customer base, that price would have me thinking "Not worth messing with".

Anyone want to speculate on the over/under for how long this thing lasts? They claim to have sold out one round and into the second, two weeks each. Personally, I don't think they'll sell a third, any at all.

They're expecting problems. They'll get what they expect, and more, and it'll largely be their own fault.

31 May 2013

One thousand six hundred sixty five

That's how many different versions of different viewers were reported to log into SL last week, according to Oz Linden at today's third party viewer meeting. You can see the recording on YouTube. The discussion starts about nine minutes in.

One thousand six hundred sixty five.

Think about that for a moment.

That's beyond anyone's ability to test thoroughly. The combinations quickly grow well beyond insane to downright impossible.

Even individual TPV teams can't test their own viewers thoroughly. Out of that 1665, 50 are different versions of Phoenix, 151 of Singularity, and 262 of Firestorm. Many of the latter two are probably developers and self-compilers, but still...LL has real money to pay for resources to sit and test viewers. Those resources aren't endless, and the time certainly isn't. If LL can't, a team of volunteers like the Firestorm team damned sure can't!...never mind even smaller teams like Singularity, or individual developers like Henri.

And that doesn't even begin to take into account viewers for which the maintainers have long since given up, or left SL, or simply disowned the code.

This came up in the context of a serious bug in the server-side baking code. The bug causes people using Phoenix or 1.23 who teleport into a server-side baking region to be prompted to save changes to their avatar - and that save corrupts modifiable skin, eyes, or system clothing. Permanently. Unrepairably. Gone. Poof.

Oz's point was that they'll try very hard to fix the bug - but they won't know for sure they've fixed it, simply because it's impossible to test all the cases. All they can do is hope, and if you are using an old viewer that doesn't support SSB, you're going to be out of luck.

My point is much simpler than this.

UPGRADE YOUR FUCKING VIEWER!
NOW!!!!

Really, people. There is NO EXCUSE any more for running older viewers that don't support the way SL works now. By now, you can even get second-hand machines for not a lot of money that will run Firestorm just fine. You're going to have to bite the bullet.

We put in a metric crapload of work to make Firestorm something that people of all abilities - even those firmly wedded to Phoenix - can use and use effectively. If you don't like the result, fine. Get Viewer 3. Get Singularity. Get Exodus. Get CoolVL. Get something, anything that supports SSB, but do it now!

If you don't, don't come crying to me when your inventory gets ravaged by some bug that nobody could reasonably test for.

30 May 2013

I wish we got paid!

When Jessica Lyon posted about dealing with less than wonderful user interactions with the Firestorm team, she disabled comments. That didn't stop one person from commenting, though...she commented, on the next post after that (about 4.4.1 on the way),
I find your last blog post (before this one) to be very amusing. You did an excellent job making people believe that you are doing all this voluntarily. I won’t be surprised if even your team did not know the truth behind all this.
I guess no one knows that you sold Firestorm to LL, right? No one knows either that you currently work for LL, isn’t it? LL manage to do a fine job making people work on its viewer voluntarily without having to spend a dim (well, besides your monthly paycheck of course).
Anyway, I know pretty much that a lot of peoples won’t believe but if you (the reader) REALLY want to see proof on how Firestorm is now the property of Linden Lab… send me an e-mail!
I'm going to channel my friend Axi Kurmin here. What the. Nickel. Plated. FUCK?!

This is wrong on more levels than I care to think about.

For starters, Firestorm is owned, so far as any viewer can be owned, by The Phoenix Firestorm Project, Inc., a nonprofit corporation, legally organized and in existence for a couple of years now. To sell it would require either selling the corporation - a legal impossibility; non-profit corporations aren't owned to begin with - or the corporation agreeing to sell the code. It has not done so.

As a practical matter, to sell the code would require the agreement of every developer who's contributed to it. There's a reason that LL requires every code contribution to its viewer be done by someone who has a signed Contributor Agreement on file with them. That's the only way they can guarantee they can do what they need to with it, with no encumbrances. We have no similar agreements with our contributors, because we have no intention of ever doing anything with the code but releasing it as open source under one common license.

Then there's the more practical matter: Jess knows just how destructive it would be for her to accept payment from LL for Firestorm. There are lots of reasons that the folks involved with the project contribute, be it code or support effort or testing. None of them involve money. We do it because, fundamentally, we care, if not about the users, at the very least about our own Second Life experience. We pour lots of time and effort into it. I would venture to guess, at this point, that the effort we've put into Firestorm coding above and beyond the LL codebase - never mind support! - would add up to somewhere on the order of 10 man-years. For one person to be paid for all this effort would destroy the team, probably beyond any hope of recovery, and render the code permanently unusable as a base of effort going forward.

Yes, I've gotten some material compensation for my viewer efforts. Not for working on Firestorm, though. I've been involved in the LL materials project, and for that, I got an "I contributed to your Second Life" T-shirt and this nifty green laser pointer:


Guaranteed to warm the heart of any true geek. I play with it often. (But never point it at an aircraft. That's just st00pid and dangerous and illegal.)

Mind you, I'd love to get paid in real dollars for working on the viewer. So would my bank, my mortgage company, my car lender,... But it's not going to happen, and that doesn't bother me very much.

The original commenter simply doesn't understand the realities of the situation. She's either deluded or trolling. I've probably given her more effort than her comment deserves, but I did feel like shining a green laser pointer on the absurdity of the idea.

26 February 2013

Dragging people kicking and screaming into the future

NiranV Dean makes a viewer that has a small but devoted following. He got there by having his viewer adopt every new rendering feature the moment someone codes it up, importing patches from anywhere he can get his hands on them, and generally living on the bleeding edge of technology.

That's fine, if that's what his users want.

Niran also spends a lot of time and energy on spreading hate in Firestorm's direction. His latest screed has plenty of it.

Fundamentally, it seems that Niran's complaint is that we're not dragging people into the glorious V3 future fast enough. He doesn't like that we port features from Phoenix and other V1 viewers. He thinks we're coddling people, supporting their "lazyness" and "stupidy" (sic) when we should be telling them to "STFU and get along with it".

Niran's argument shows a fundamental lack of understanding of at least three things.

To begin with, he fundamentally fails to understand the relationship between users and developers. There's no way a developer can force a user to do a damned thing. Users know what they want, generally, and will do what it takes to get that. They'll happily skip upgrades, they'll switch software, they'll complain mightily, and they'll do what they want to do. If we told them to "STFU and get along with it", they'd reply "FOAD, we're using what we like".

Second, he thinks we're not trying to drag our users along because we're afraid of losing our userbase. He has cause and effect backward. We're not doing this to amass the biggest userbase in SL. We have the biggest userbase in SL because we make a viewer that people want to use. We're giving people what they want, whether or not Niran approves. The moment we stop giving them what they want, they'll bolt - and rightly so.

Third, he doesn't get why we do this. We pour thousands of hours of volunteer effort into Firestorm because we want to improve people's SL user experiences - including our own. We do it to make a viewer we want to use ourselves. It's called "scratching your own itch", and it's the real reason open source volunteer developers do this. We know what we want from a viewer: fast, stable (comparatively), feature-rich, easy to use. Firestorm reflects those choices, as Niran's viewer reflects his.

We are all SL users, often heavy users with lots of activity inworld. We want a rich Second Life environment. That includes a wide range of other people, of varying levels of expertise and varying amounts of computer hardware, bleeding-edge and not-so-. We can't satisfy everyone's needs, nor do we want to. We want to satisfy the needs of the folks who use our viewer, though, and we're doing a pretty good job of that if I do say so myself.

Considering Niran's rant, I have to ask myself why he doesn't attack Singularity and CoolVL with equal or greater fervor. If we're not dragging people forward, they're firmly anchoring them in the past. I guess he just wants to tear down the biggest kid on the block instead. It's telling that, while many people moving away from Phoenix are moving to Firestorm, just about as many are moving to Singularity.

In any event, even if we were inclined to try to drag people into the future, there's no reason for them to actually go there. Users are remarkable that way. They'll do what they want.

If I wanted a buggy, unstable, bleeding-edge viewer, I'd run Niran's. I don't. I want what Firestorm gives me: feature-rich, a UI that makes more sense, and quite stable (as SL viewers go). I work on Firestorm to help provide that. The day Firestorm takes the direction Niran calls for is the day I fork it and keep it going in the direction we've been following.

01 January 2013

Go ahead, fork Phoenix

Ever since we announced the end of Phoenix support, people have been bitching and moaning about it. As I said previously, this should be a surprise to nobody. We've been saying this is what we'd do for a solid year. We told everyone right up front that our development efforts on Phoenix have ended and that we would make no more changes.

Well, it's now come to pass. If you ask a Phoenix question in the support group that isn't related to migrating to Firestorm, you'll politely be told that we cannot answer your questions any more and directed to the self-help group. The support team was very happy when midnight SLT came around last night so they didn't have to deal with Phoenix any more.

There have been a few comments recently from folks claiming to fork - or even "take over" - the development of the Phoenix viewer. While it's not available for a takeover, a fork is entirely possible. Forking is inherent in open source development; indeed, nearly all experts in the field of open source development claim that the freedom to fork is at the very foundation of what makes open source successful. I have no particular problem with this view.

However, I think forking Phoenix to keep it running in SL is a very bad idea, for the same reasons we stopped developing on it. There will be a lot of work that needs doing in a very short time just to get the ability to deal with server-side baking into it. You might be able to piggyback off of Henri Beauchamp's work - as we did to get mesh into Phoenix - but that will only be the beginning of your problems.

You'll have a fair amount of work on your hands just to bring the mesh renderer up to speed. The one in Phoenix 1691 is based off of the LL 2.8 viewer. Every other one is based off of at least 3.3, if not 3.4 (I think CoolVL's current version is 3.4, for one example). You'll likely need to roll that work in to be able to use the other code that's floating around.

There are other things people have been screaming for and we haven't done. Multiwearables and RLV 2.7 are the two biggest, and neither one is going to be trivial. There are many others.

This is going to be an immense amount of work. Anyone who's not already intimately familiar with the code will have a steep learning curve, as well; Phoenix was hacked on by a cast of thousands, with decidedly varying levels of competence at programming and at C++ (and those are two independent variables). I'm not kidding when I say it's an unmaintainable tissue of hacks held together by spit, chewing gum, duct tape, and baling wire.

One thing I don't understand is the fetish some of our haters have for accusing us of lying. We don't lie. We tell the truth as we see it. That's exactly what I've done in every posting I've made publicly, both here, on Google+, on SLUniverse, and on the LL forums. I've been wrong sometimes. I'm not perfect. Even so, it's still the truth as best I can say it. Just because you don't like the answer doesn't make it incorrect, far less a lie.

And we're doing exactly what we said we'd be doing. Don't like it? Fine. Go right ahead and fork Phoenix. I double-dog dare you. Go ahead and prove me wrong.

But somehow, I don't think that someone who just today picks up the code and gathers programmers who know what they're doing will be able to have it working before LL breaks Phoenix. Anyone who claims that without some serious achievements under their belt to back up the bluster is just blowing smoke.