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.


  1. I appreciate this and how how well you addressed the areas. I am a user of both Firestorm and Nirans and have always felt on the fence because there were features both viewers had that I enjoyed, but I'll be the first to admit that I've never installed/uninstalled ANY viewer as many times as I have Nirans, and not just because of how many releases he puts out.

    I get that he is one person and I am very impressed with what he has done with the UI. I feel his UI combined with graphic changes does offer a very unique experience, but as your post stated, at the cost of bugs and instability, and when I can use a viewer that lacks such instability, it makes no sense to me to use any other. As a long-time user of Nirans off and on, I can completely agree with most of what you've said.

    With every release of his, one thing would break in favor of some other new 'bug fix', and the thing breaking would always be something crucial to me. I especially didn't like that he would sometimes slander some of his followers who had legitimate concerns about bugs, or blame some on LL, when the SL viewer and every other viewer didn't seem to have said issues. (Firestorm, Exodus, Singularity, of the ones I constantly jumped between) I grant him that 'some' users really are just ignorant or don't read the things he had already previously addressed many times, but it's strange to me that he pretends not to care while at the same time going through so much trouble to share and update us with his work.

    For several releases, and for months, his viewer has had to be restarted just to get textures to bake all the way on objects without having to right-click Text-refresh each individual one. I've never had to suffer this with any other viewer and it would frustrate me that he couldn't get that right and, instead, would focus so much on features that wouldn't be a priority to most developers. HOWEVER-

    I get and understand that it is his viewer and that he is merely sharing it, and that I should take it or leave it. And like you said, that is exactly what we're all going to do. But that doesn't mean we can't have something to say about it.

    I have been guilty of this in the past, but I feel many followers have been too fanboy/girlish about the viewer to admit that some bugs and limitations are way too low on his priority list and way too crippling to the user experience. And sometimes his ideas for 'futuristic' change are setbacks, like his brand new Build/Edit window implemented in the last 2 releases. I thought I would love it until I realized he got rid of the tabs in favor of something I now have to keep scrolling down just to get to, like the Texture or Contents 'tab'(or what used to be a tab). That idea seemed like it had potential until I realized how much more time consuming it actually was to use. (more next comment, sorry)

  2. I don't remember him so often before releasing, what could be accurately described as, "unfinished, polished turds" and as elementary as that analogy is, it's not far from the truth. 1.48 was the last stable release I could ever remember and after that, the releases kept going back and forth between issues or other unfinished roadblocks, like objects not animating correctly (or at all), textures not baking after Tping to more than one place, etc.

    Constantly adding glitter to something that is almost inside-out is not evolution. I wish, just for once, that he'd actually thoroughly sweep his viewer of known, and crucial, bugs before adding new "pretties" that tempt his followers to reinstall all over again.

    His viewers don't much improve in stability anymore; only graphically.

    On what he said about V1, I didn't quite understand where he was coming from at all. I don't see what difference it makes to him, or to anyone else (or to their SL experience) what viewers one person wants to use, whether it be V1, V3 or a viewer that generously offers them all and manages to do so while also being stable (Firestorm). I wasn't around much for V1, but I have found plenty to appreciate about it; none of which was very "hand-holding" to me.

    I apologize for the length of this, but I've held in these thoughts for long enough and I hope it does someone some good. Thanks

    1. My Viewer is absolutely stable for me, i do never crash (except when i mocked up something in code - well that happens, you just need to forget something...), when i do crash (like i did with 2.1.0 when i clicked a landmark) i usually instantly try to find the problem and fix it (which i did - btw i was uploading the Viewer already and then found this bug and fixed it right away just so it doesnt get into the Release, so much about not fixing stability issues)

      Apart from that im working on the UI everywhere at all times, at the same time, so everything progresses in a slower way than when i would work on one thing only (which i sometimes do aswell), right now since 2.0.8 im just cleaning up my Viewer, fixing UI bugs and all that, if you take a look at my todo list you would see that im about to fix some stuff (those were only things i could repdroduce right away, right before i released), im not ignoring people's problems as long as they are not some sort of self inflicted or LL related, the texture rezzing issue as example is indeed LL's fault, they changed some things in how textures are loaded and encoded but they didnt test it with OpenJpeg which im using (they use KDU), some other people from other Viewers also told me that they were having those issues and just as little reminder, i was trying to fix this issue for months as you said because it was bugging me extremly.

      For the Build floater, im still working on it, its not yet done and even the Preferences window is by far not done yet, im always trying to improve stuff but you have to keep in mind that im limited to my basic coding knowledge which means i wont be able to code a super duper professional login screen like some games as example have with 3D background where you can see your rendering settings and all that. Again, everything needs some time and now that LL has come to a halt development wise, im using this time to clean up my Viewer again which im doing every once in a while after several releases which introduced "bugs" and "problems".

      I have to say here that im often not able to fix something i cannot reproduce, so if you as example tell me that something is broken in the UI for you with japanese language as example, i would first have to figure out that this issue is actually caused by your language and not the UI itself.

    2. Niran, I never mean to accuse of not ever fixing 'any' stability issues. You're one person and I understand it. What I expressed was that you're so much quicker about working on your UI/graphic quality than at focusing on painful bugs and that's fine because it's your viewer, but the point of my sharing them was to put out that you have some weaknesses of your own and I tried to understand where you were coming from with Firestorm and just couldn't, because everything you've said so far just didn't hold weight.

      As for the texturing, if other devs are telling you they have the same problem, how many months ago was it? I can tell you with certainty that at least 3 other viewers I have used in the past few or more months have -not- had that problem once for me. I get that you're using something other viewers might not be, but it still stands that it is a massive problem that you hadn't made a priority much sooner; at least not one that was more important than wrecking your UI and rebuilding it. Having to restart my viewer just to shop at or explore a new sim is too time consuming for me to justify using your viewer, no matter how gorgeous it is for a brief amount of time (until I arrive at a shop of blurry products or a forest of blurry -everything-).

      To reproduce that, simply use your viewer. And I'm sorry that that sounds cocky, but I wouldn't know how else to word it.

      Some of your bugs you address ahead of time and it puzzles me why you release those versions at all. Why would anyone want to uninstall everything manually (because your viewer -still- doesn't show up in the Add/Remove menu), just for one new broken piece of eye-candy and a subtle improvement on something else? I have been doing that for too long and will probably continue doing it because I'm stupid and hopeful that the next set of bugs won't be as painful for me.

      It's one heart-break after another, each install, and I (and certainly many others) do it because we keep thinking you might actually put one out that you spent more time testing, or we do it because your UI alterations are often a pleasant tease. You release versions so often that it really makes no difference if it's beta or not, because something useful is always broken. Simply telling us about them ahead of time doesn't make it better, it only makes me think "well maybe that bug won't be so bad. He released it and is using it himself, and he somehow tolerates it"

  3. im one of thnose who refuses to use any then Niran's, even if i have the same problesm with texures as you have and even if he bashes Me as you say!
    I like its xui, no matter how the build floater got screwed!
    I love the way i see the world, the fps i got with it, that in no other viewer i could achieve!
    Yes i miss not being able to see quick time movies in world.
    Yes i miss waisting so much time to buid now, due to the changes.
    yes, i hate when i have to right click to see me fully texured, or to relog to do so!
    But i Love who i can use extreme shadows and all the glorious joy i see when im in world with it!
    I asked several times, if its so easy to make a viewer that looks as good and gives me so fast fps, why nobody does it?
    Still ask and until i found a more suitable viewer, in Niran's i remain, despite all the above!

  4. I just want to ask, though- When was the last time you used Firestorm or any other stable viewer? Because I can see you finding it easy not to leave it if you haven't experienced stability. I don't mean this aggressively, but I ask because I was exactly the same way until I actually gave Firestorm, and some others, a chance. I didn't know what stability felt like until I experienced Firestorm and, when I did, (and for me personally) Nirans graphics just weren't worth it anymore.

    1. I also completely agree on the UI. I adore his UI and its certainly unique, clean, and makes you feel just that much more "inside" of SL.

    2. Im sure there are enough people who promise me that they can run my Viewer for 24 hours in a row just like i do. Every Second Life Viewer (except Marines RLV) is 100% stable for me and never crashes but this could be just because im lucky with my OS and Hardware/Software Setup. Remember that SL is extremly picky about what your system is build with and even on the same setup twice it can run completely different.

      There are also alot of people coming to me inworld, telling me about their experiences that Firestorm isnt that much more stable, its more like the total opposite of what you say, they come to me telling me that Firestorm is crashing all day and that my Viewer never crashes (most of the time im not taking such "hyped" IMs serious anyway, because they act like "OMG SO MUCH I'VE NEVER SEEN").

  5. Anyway, a bit about the topic.
    Im not raging against Viewer 1's because... well that "why i hate Firestorm" obviously was directed at why i hate Firestorm, not V1's...apart from that, i do not "hate" V1's, i used them for years aswell and they are not "bad" themself but they do similar things Firestorm does to pull my agro (yea im a mob i know), which are basically staying "behind" on the UI and some other things like media-on-a-prim which again is another thing that makes me rage like hell... but thats something completely else.

    Anyway, what i really dont get is why you invest so many time in supporting stupid, non advancing people who are crying for V1 features/UI since V2 went public but i guess that just goes into the part of "because we also want it like that."

    Apart from that, im not mentioning stability or bugs in my post, im just talking about the general supporting of "idiots" you could basically save yourself by punching them and reminding them that YOU are the ones investing so much free time into this product, not them.... but again this probably is again a case of "because we also want it like that" sadly.

    1. And that raises the point- what is wrong with someone 'wanting it like that'? That's the bit you're not getting at. If they're slow to add features like media-on-a-prim, that is one thing, but something not relative to the version, because it could be added to just about any.

      How does people wanting the old interface affect you and how does the Firestorm team voluntarily continuing to include it as an optional feature affect you or anyone that doesn't want to use it? They're not forcing anyone to activate or use just about any of those features and regardless of how much effort they put into them, I still wonder where we, or you, come in lol

      It isn't worth hate. They stopped supporting Phoenix and you're not any less hateful?

    2. And that's what I was explaining: your attitude that we can "punch them and remind them that YOU are the ones investing so much time into this product" is just plain wrong. Just because someone disagrees with you and thinks that the V2 UI is not what it's cracked up to be does not make them in idiot or resistant to change. It means that there are quite valid reasons for them to prefer a viewer that acts the way Firestorm does over a pure V2.

      Let's take one example: the local chat/IM windows. I know one content creator, DJ, and club manager who refuses to use any viewer that doesn't bring all of those together in one floater. She's got very good and valid reasons for calling the lack of such a unified floater a deal-breaker. (She finds handling massive numbers of IM conversations while being active in local chat much easier, for starters.) Axi Kurmin is the RL friend who got me into SL in the first place. No matter how much you may think otherwise, she's far from an idiot, and that you call her an idiot and say she's doing chat wrong simply says that you are far more rigid and unreasonable in program and UI design than she is.

      LL agrees with us, too. It's what CHUI is all about.

      Fundamentally, programmers never know how users will use their programs. Those who claim to are deluding themselves. Users find ways of doing things you never dreamed of. The wise programmer works to accommodate users, not dictate to them as you are doing.

      (For folks watching this from the sidelines: Niran and several others had this discussion in this thread on SLUniverse: http://www.sluniverse.com/php/vb/alternative-sl-clients/78556-calling-all-phoenix-users-2.html#post1678812 .)

      Just because someone uses a program differently from you doesn't make them anything more than a user. You don't have to cater to them, but slamming others for doing so is mean and juvenile, and shows no understanding of real world production software.

    3. "How does people wanting the old interface affect you and how does the Firestorm team voluntarily continuing to include it as an optional feature affect you or anyone that doesn't want to use it?"

      CHUI. I hate it. And its the "future", why? because "most" people wanted it like that (again).

      "It isn't worth hate. They stopped supporting Phoenix and you're not any less hateful?"

      I hate alot of things. I dont hate Firestorm like i would either go and die before i use it get along with its Devs, apart from that i was extremly happy when they finally dropped Phoenix.

    4. So do you hate CHUI only because people wanted convenience? Or do you hate it only because people 'want it'? I've tried out Project CHUI, though buggy still, and actually rather liked it and found it to be convenient. It is an undeniable convenience to have messages all in one place. Just about any PC game you've ever played does it and though "SL is not a game", I think even you can appreciate the amount of space it can save and having one more corner of my screen to put something else at.

      As a rule of thumb, I generally put my minimap at whatever corner the chiclets are not, and then I've got to tinker with where my HUD(s) will go.

      Even more conveniently, I no longer would have to drag an IM box away from it's native spot just to drag something from my inventory into a distant friends window. Clicking "Share" from the drop menu sucks because you can do often barely misclick and do something completely opposite of what was intended.

      In your opinion, what aspects don't you like about CHUI that are reasonable? I didn't think CHUI was similar enough to older version content for it to be a relative answer to my "old interface" question. And what does CHUI have to do with the firestorm team directly?

    5. I quote you Niran, "stupid idiots that do not want change for some stupid reasons."

      CHUI isn't change? Blah I'm done. Between your outdated comment on media prims (firestorm has allowed that for a while now), your contradictions and dodgings of questions, I don't think I or anyone will meet you at any reasonable end. Good luck, calm down and just enjoy yourself.

    6. Actually i was not dodging i was just sleeping...

      I hate CHUI because it gone back to V1 style with combined Chat/IM's.

      But as everything else i will have to merge it and i will see what i can make out of it.

    7. Well... to be more exact i was planning to implement it on 2.1.2, because 2.1.1 will be another maintenance release.

      About Media-on-a-Prim. You dont even know what i meant. Im talking about the general issue with Quicktime and Media-on-a-Prim, since a long time we got Media-on-a-Prim now, yet only a few if at all really use it, most people are still too proud of their damn Quicktime TV's instead of just switching to a Media-on-a-Prim one or just taking a normal Prim and putting a Media on it. I tell everyone coming to me and complaining about quicktime plugin not working that they wont need it for their goddamn TV's anymore, they are old and dead (apart from that alot of them didnt even work anymore since Google changed that long ago)

      Also as little side note. CHUI has nothing to do with Firestorm directly, i just answered on your question about how old fashioned people play into my stuff, they simply complain, do stuff, whatever it is, to get what they want...at the end... and you see even LL someday fell before its users and followed their direction. Thats ok and fine. LL should listen more often to users...BUT NOT TO THOSE! (which wanted all that combined Chat/IM, CHUI crap which basically is just an enhanced V1 chat interface)

    8. I wish that the world would move forward with media on a prim. I'd like to see 100% viewer adoption of it, because then we could replace all those stupid laggy XYtext-based message and contest boards with wicked fast, low prim MOAP-based boards. And yes, it can be done without external servers; look up media URLs.

      But... that means that all the V1-based viewers would have to go. To the best of my knowledge, none of them implement MOAP. And the media filters in viewers like Firestorm would need to be enhanced so that one of the available settings would be "allow internal MOAP but ask about MOAP that uses an external server" - having the viewer ask for permission for every message board would be unacceptable.

      Firestorm has implemented MOAP for a while. It's Phoenix, Cool VL, Singularity, etc. that don't. Although Henri has backported lots of V2/V3 features (multiple attach and clothing layers, alpha layers, the tattoo layer, display names, mesh) he has not chosen to work on that one.

    9. This comment has been removed by the author.

    10. Internal MOAP has the same information leakage issues that external MOAP does. It's trivial to gather the ID of the requesting user. That's how RedZone did its work, and implementing it in LSL would not be hard at all.

      So no, there's no reason to distinguish between the two, nor is there a reason to treat MOAP as other than the security hole that it is.

  6. lul nice. It ate my replies :(

    anyway just making 2 quick notices here:

    1. I will implement CHUI (planned for 2.1.2)
    2. I never said anything about that Firestorm hasnt supported Media-on-a-Prim.

    1. Right, so basically the point is that you keep bringing up irrelevant information to anything "firestorm, coddling, or keeping us in the past".

      I quote you -
      "i do not "hate" V1's, i used them for years aswell and they are not "bad" themself but they do similar things Firestorm does to pull my agro (yea im a mob i know), which are basically staying "behind" on the UI and some other things like media-on-a-prim".

      Rather than bringing up similar things other viewers do, why not actually be specific about what Firestorm does to bother you?

      You even answered my last question with a reference to CHUI, when the question was very much Firestorm specific lol.

  7. Nirans viewer fails because he only thinks about himself and this will never change, He sits on his blog whinging non stop about others how they fail yet every release he puts out has to be a beta because of outright instability and not to mention the worst skins (only 1 has worked for over a year) on any viewer and blaming the linden viewer for UI scalability issues yet it scales just fine, but his shoddy custom theme is so bad it falls apart at the smallest of adjustments. When his SL goes bad, he comes onto his blog threatening to stop working on the viewer then comes back a day or so later ranting like a child over spilled milk because he never got his way, this will also never change, he has the mentality of a teenager.

    Moral of the story is, Don't use code from a viewer then try and badmouth it in the same post, you just make yourself look like a complete jackass.

    1. Your post contains so much fail that already the first sentence you write contains a huge rumor which just shows that you have no idea.

      "Nirans viewer fails because he only thinks about himself and this will never change"

      So, according to this, i dont fix stuff, i dont have a public Viewer that tries to make nice graphics available to everyone easily, i didnt include it into the TPV to make more people know about it, i dont help people in my forum, i dont help people in my group when im online, i dont help people who IM me personally, i dont write long and broad what has been changed (often with pics) so everyone can see and follow the development of this Viewer, i dont google every day trying to find blogs and posts about my Viewer to help there if problems arise or to get feedback from them (and pictures) to see how everything goes for them, i dont listen to anyone having ideas or feedback in any way......etc

      "He sits on his blog whinging non stop about others how they fail yet every release he puts out has to be a beta because of outright instability"

      My Viewer wasnt in a Beta since 1.0 which was released on Christmas 2011, i moved it into "Beta" again to circumvent the announcement that my next Release will be the last one, see it as "daily" or "weekly" test builds until a final Release will come out. The Reason i want to stop is simply because Second Life fails to evolve in the right way and alot people in the community and LL aswell simply seem to be not interested in improvement and fixes, they just want money. Apart from that, nearly everyone coming to me weither it is Blog, Group, IM or Forum is mostly happy with my Viewer and has no stability issues caused by my Viewer that are worth naming. If any big stability issues arise they are often either caused by drivers or unsupported GPUs, not to mention that all my Releases in which i said that they might be super crashy and buggy were actually not crashy and buggy, i just warned people that it MIGHT BE crashy due to missing long time running tests.

      "not to mention the worst skins (only 1 has worked for over a year) on any viewer"

      My Viewer's main skin is somewhat high qualitative compared to many other skins which are just either ported from other Viewers or recolors, best example Phoenix and Firestorm, they only have thousands of recolors and crippled skins that are stolen from other Viewers, not to mention that they are not really kept up. I use my skin every day, i support it, i build everything for it, i invest alot of time and love into it to make everything look halfway good and YOU come here telling me that my skin is the worst of all. Sir you really have no idea.

      "blaming the linden viewer for UI scalability issues"

      Is a known issue, not directly linked to LL itself but its their fault in terms of that they could do a dynamic scaling like other games have. Instead its totally broken and is explainable why it is. A pixel that is 1 pixel broad cannot be scaled by a few %. So if i have 1 pixel on 1.0 UI size i cannot go there and set the UI size to 1.2 and which would make 1 pixel get resized by 20% in size, that means that it would be a 1.2 pixel, this causes issues because you cannot show a 1.2 pixel.

      "but his shoddy custom theme is so bad it falls apart at the smallest of adjustments"

      Wat. Are you kidding me? Im using it every day, im maintaining it every day and every time i see even a small imperfection like 1 pixel too much or too less space, i instantly fix that. Do you even have any idea what im doing with my skin all day? did you ever create a skin from scratch? No, definetly not.

    2. "When his SL goes bad, he comes onto his blog threatening to stop working on the viewer"

      My SL? I do have a real life aswell, apart from my real life which is often a disaster im also online in SL every day and no my SL isnt going bad, overall SL is going bad because it is delayed by IDIOTS. SL is still on a somewhat 2008 states and the only real big change is that it now has Meshes which should have been there years ago. Such things really drive me nuts.

      "he has the mentality of a teenager"

      Rumors over rumors, next thing you're going to write is that im an asshole because i tell people my opinion again leaving out of scope that im actually a really nice person trying to help everywhere on (like mentioned above) lots of sites and in SL itself, personally.

  8. As if “the viewer question” could be objectified. It’s all about needs and wants and choice. Stating people had the wrong needs and wants and made the wrong choice is judgmental, patronizing and counterproductive.