Firestorm meeting and Q&A, October 12th: video and transcript

firestorm-logoOn Saturday October 12th 2013, the Firestorm team hosted another informal question-and-answer session. While the meeting was recorded, the Firestorm team are aware that many of their users have hearing difficulties, and / or prefer to read text. It is because of this that this transcript has been provided. When reading it, please remember:

  • This is not a word-for-word transcript of the entire meeting. While all quotes given are as they are spoken in the video, to assist in readability and maintain the flow of conversation, not all asides, jokes, interruptions, etc., have been included in the text presented here
  • If there are any sizeable gaps in comments from a speaker which resulted from asides, questions to other etc,, these are indicated by the use of “…”
  • Timestamps are provided as guidance should anyone wish to hear the comments in full from any speaker on the video
  • Questions were asked in chat while speakers were talking. This inevitably meant that replies to questions would lag well behind when they were originally asked. Therefore, to provide context between questions and answers, questions in the transcript are time stamped at the point at which each is addressed by a member of the Firestorm team, either in voice or via chat.

Please note: This transcript is provided for informational purposes only. As such, questions on technical issues relating to Firestorm and  / or project-specific questions cannot be answered here unless one of the Firestorm team drops by.

The TL;DR Summary

The numbers in braces are timestamps which refer to the section of this transcript where more details can be read, and to the section of the video recording where the relevant comments can be heard.

  • Current status for Firestorm, and potential time frames for the next release: end of October – unlikely; early December – possibly; early 2014 – if early December is missed, due to no change windows) [0:00:44-0:02:33]
  • Status with regards to LL’s viewer projects:
    • SSA updates (AISv3) – unlikely to make it into the next release and why [0:02:33-0:03:42]
    • SLShare (sharing with Facebook accounts) – possibly in next release, but low priority [0:03:42-0:04:22]
    • Group ban list – what it is and hopefully in the next release [0:04:22-0:06:30]
    • Interest list updates – unlikely to be in the next release and why [0:06:30-0:08:08]
    • Chat history capabilities from CHUI [0:18:50]
  • The hoped-for refactoring of the Preferences floater will not be in the next release [1:02:09]
  • What will be in the next release:
    • Materials, support for new particle capabilities, export features [0:08:08]
    •  Firestorm will include export capabilities, the majority of which have been in development in-house for a while, but which will include Singularity’s .DAE export capability. All export options will respect the SL permission system, so you will only be able to export things which are wholly your creation [0:09:57-0:16:14]
    • Linden Lab have introduced new particle capabilities, including a ribbon particle capability and a new means of dealing with particle griefing by right-clicking on particles to mute their source. These abilities will be in the next release of Firestorm [0:16:42-0:17:39]
  •  Firestorm may be getting a means for IM encryption in the future which will be more secure than OTR. This has arisen out of Firestorm being used as the default viewer for MOSES, the US Army’s Military Open Simulator Enterprise Strategy [0:23:50-0:28:50]
  • Firestorm is unlikely to gain 64-bit builds in the near future. So far, few advantages have been shown to exist with 64-bit builds compared to 32-bit builds utilising LAA, and 64-bit builds could present added complexity in trying to manage the project [0:33:28-0:41:39]
  • Firestorm and TPVs are experiencing much improved co-operation with the Lab, although striking a balance between openness and managing complex projects is hard to achieve and this leads to compromises [0:48:16-0:58:21]
  • The remainder of the meeting was more in the way of an open Q&A session covering a range of topics, and the transcript should be referred to for further details.

With thanks to North for the video.

General Discussion on Firestorm

0:00:15 Jessica Lyon (JL): Welcome to another question and answer session … hopefully we’ll have a short Q&A today … we don’t have a lot to talk about, so the length of it will depend on the volume of questions that you guys have for us.

0:00:44 JL: So I think we’ll start out with just briefly giving you an idea of what we’re looking at right now for release.

0:00:54 JL: Originally, I was aiming and hoping we could get a release out the end of this month, like just the beginning of November … but that’s not looking like it is going to happen. So now we’re looking to target it early December. And if we can’t get it out in early December, then we won’t get a release out until early 2014, and the reason for that is because Linden Lab have what they call a whole bunch of “no change windows”

0:01:26 JL: We’re not allowed to release on a Friday, for example, because Linden Lab will have no employees or be very short-handed with employees for the Saturday and the Sunday, and if we do something wrong with our release, we can hammer things and people will have to come in at Linden Lab during their holiday, and they don’t like that.

0:01:53 JL: So, there’s a thing called “no change windows”, which are periods of time when we’re not allowed to do a release. All third-party viewers are bound by this, so we can’t release around [US] Thanksgiving … we certainly can’t release around Christmas, things like that.

0:02:13 JL: So, our windows for releases, because there are holidays coming up, are somewhat limited. So it’s either the end of October or the very beginning of December. So that’s our target for release. The next thing we had in mind is, “What are we going to release with?”

0:02:33 JL: I know we’ve been promising that our next release would have the server-side appearance changes  and updates and improvement – or as Linden Lab called it, “polishing-up code” … That code is just becoming visible to us now.  It’s taken Linden Lab quite some time to make that code available, and now that we’re seeing it, it’s a lot of code.

0:03:07 JL: So there’s a whole bunch of things which are only now becoming visible to us, and we’re going to have to decide whether we’re going to try to cram them in for the release or not; one of those being the server-side appearance polishing-up code, which is more than polishing-up, it’s a lot more code [see here for more details] …  So the reality is that we’re not going to get that in the next release if we’re going to release it any time in the year 2013. So that’s not likely going to happen

0:03:42 JL: Some of the other things that we were considering to release or to pull into our code base is SLShare [the post to Facebook from within SL], which just recently became known.  So of you, I’m sure, will love that, some of you will not give a flying hoot. Chances are we’re probably not going to get that into a release because it’s just not a big priority item.

0:04:22 JL: The other thing was group ban list. This was Ed who brought this up to Linden Lab, and credit to Linden Lab for saying, “You know what, that’s a good idea, and I think we’ll work on that.” So the group ban code is if you have an open enrolment group, like we have with our support groups, and you have griefers coming in and just being griefers… you can mute their text, but if you mute their text, they can just leave the group and re-join because it’s open. Or you can eject them, and they can just rejoin, and so it’s a real problem. It has been a problem for open enrolment groups since the dawn of groups.

0:05:13 JL: So Ed made the suggestion of creating the ability to have a ban list in groups, just like you can on a region or a parcel. So Linden Lab has been working on that, Baker Linden specifically … we haven’t seen the code yet, but we understand … it is very close to going into beta, ready to be tested. Depending on how well that works, will depend on whether or not we will get that into this upcoming release.  Hopefully, it’ll be stable and working and uncircumventable – there were some concerns that it could be circumvented depending on how Linden Lab is doing it, but we’ve not actually seen the code yet. So that’s something that’s sort-of in the air. There’s a lot of stuff right now that’s in the air; last minute in the air – and by last minute, I mean we’re already in a release window now where we have to really start thinking about getting a release out.

0:06:30 JL: Interest list … You guys probably remember us saying that linden Lab’s been fixing that bug when you teleport somewhere and you know your house is there, but you just don’t see it, and you have to right-click into nothing in order for it to appear … so Linden Lab has been working on fixing the interest list issues, all credit to them … So we’ve just started seeing that code, and there are some issues with that new code and those fixes. For example, when you teleport in now, stuff doesn’t appear and right-clicking doesn’t fix it, and it’ll never appear for you unless you relog.

0:07:30 JL: So this is being improved, but needless to say, don’t count on the interest list changes making it to our release at this point in time. And even if it was working, it has come to us pretty late in the game, and it turns out to be a lot of code; it touches like everything.

0:07:52 JL: So we’re finding ourselves in the situation we were in with CHUI, and still are trying to struggle through with CHUI, which is that there’s a lot of code  which we have to try-to merge-in, and we were hoping it would not be as much as it is.

Materials support will be in the next Firestorm release
Materials support will be in the next Firestorm release

0:08:08 JL: So the chances are this next release is going to have:

  • Maybe the group ban stuff
  • Maybe SLShare – but only if it’s a small amount of code and has little chance of causing nasty bugs
  • Materials will be out; in fact materials is one of the reasons I’m hoping we can get a release out in 2013, so that people will have materials

0:08:55 JL: Even if linden Lab’s interest list stuff was working, even if their server-side appearance “fix-up” code was fully tested and functioning and all goof-to-go and ready, which it is not, we’re going to be set behind even merging just these two things into release.

0:09:17 JL: [The] export feature will be in release, absolutely, and ours is even more functional than in some of the other viewers. As coincidence would have it, we were also working on export features for quite a while now in our own way, and when .DAE export came out from Latif, Cinder did that work of porting that in, keeping our existing import / export system and just adding .DAE in with it.

0:09:56 Question from the audience: What is export features?

0:09:57 JL: That is the ability to export your content to your hard drive and then you can re-import it back into SL or OpenSim or wherever, and vice-versa. You can make something in OpenSim, export it to your hard drive and then import it back into Second Life.

The next release of Firestorm will support the exporting of your own creations, respecting the SL permissions system, including export to .DAE format (the above shots are for information only, and mat be subject to change before the next release
The next release of Firestorm will support the exporting of your own creations, respecting the SL permissions system, including export to .DAE format (the above shots are for information only, and may be subject to change before the next release)

0:10:17 JL: The catch is that we are being very, very, anal as far as permissions are concerned. so for example, you have to be the creator in order to be able to export it. But it goes more in-depth than that. So for example, let’s say you make a house, and you texture that house, and you export it to your drive, and then you import it,  and there are no textures on the house when you import it, it’s because you didn’t create the textures. So export will not fail to happen, it will still work, but anything you did not create will not get exported with that item.

0:10:59 JL: We have to do that so that content creators don’t rip our heads off; we have to do that so we’re not breaking any terms of service through Linden Lab, and so we’ve been very anal about it, and that’s what you can expect.

0:11:29: Question from the audience: Does .DAE export also support rigging on meshes?

0:11:29: Whirly Fizzle (WF via chat): No, not at present.

0:11:34: Question from the audience: And what if you bought textures and used them?

0:11:35 JL: If you bought textures? No. It has to be you that created the textures, otherwise it is in fact breaking Linden Lab policies. I understand that there may be some viewers that don’t do a creator check on textures …[but]  even if the textures are in your inventory are full perm, if you did not create them, you cannot export them. We’re being very anal, even if some other viewers may not be quite so anal … a viewer that has maybe a thousand users is not going to have Linden Lab bearing down on their heads saying “You have to fix this right now!” … On the other hand, a viewer like ours with, say, 280,000 users, with the majority of the grid running on it, if we put out something that is not anally careful with checks on permissions, then that becomes a big issue because most of the grid is essentially copybotting other people’s textures. So as far as permissions go, you have to understand that if you did not create the texture, if you right-click on the texture and you’re not marked as the creator, you’re not going to be able to export and import that texture.

0:12:17: Audience observation: In that case, the way to export them is as follows: you save the texture to your hard drive, upload them again and then you can export them.

0:13:21 Lette Ponnier (LP): You *can* do [that], but bear in mind that textures are the property of their creators, and they often have restrictions on what they would allow you to do with them. So you might be in copyright violation if you use textures in a way that they don’t license.

0:13:34: WF (chat): The same applies to prims made using a sculpt map you did not create too.

0:13:43 LP: So even though you technically *can* do it, it doesn’t mean it’s legal to do so. And that’s about real life legality, not just TOS.

0:13:47 JL: There is a way that a content creator could give you that permission; a texture creator could give you that permission. And that’s through adding metadata to the texture and to the items in Second Life. Unfortunately, that requires server-side support, and I can assure you beyond a shadow of a doubt, Linden Lab will never, at least under current management, accommodate importing and exporting content out of their grid. So although it is possible, feasibly, theoretically ,it’s not likely it’s ever going to happen.

0:14:31: Comment from the audience: Yes but if a texture bundle has been bought, they are to be used in builds, right?

0:14:32 LP: Texture creators will often include a notecard that details what their limitations are. They might state that they don’t want the texture used outside of SL.

0:14:37 JL: So we have to go by what the policy states, and the policy states that basically, to paraphrase the bulk of it, “If you did not create it, you cannot export it.” Period, no exceptions. And if your viewer makes exceptions to that rule, you are in violation of the third-party viewer policy.

0:15:02 JL: As it is, I’m pretty sure Linden Lab is not too happy that import / export is becoming widespread amongst third-party viewers again.  so if a viewer, especially a popular viewer,  starts bending those rules it could trigger Linden Lab to make some new policy changes that could outright terminate any import / exporting, or at least try to. so we have to be anal, and unfortunately that means your textured builds, if you did not create the textures, will not have the textures when you bring them back in.

0:16:14 JL: So we will have materials, we’ll have import / export  … ribbon particles

0:16:42: Questions from the audience asking what materials and ribbon particles are. A link to a video by Arton Rotaru was provided which demonstrates ribbon particles in action – note the tyre tracks.

0:17:39 JL: It also lets you actually mute particles. You know sometimes you go into a region and there’s some particle spam going on, and it really hits your frames per second and your performance starts to drop really bad? This actually lets you right-click on the particles and mute them, which is pretty cool.

0:18:50 Ed Merryman (EM): How many of you use the CHUI build out from Linden Lab, with the conversation log they have there? … We’ll have that … How many of you use the Recent tab in the People panel  we have now to see who you’ve talked to in the session if you’ve accidentally closed an IM window or something like that? The conversation’s log is going to be something like that but on steroids. It’ll give you a list of everybody you’ve talked to for the last, I believe, the last 30 days, so you can look back and say, “Oh, I talked to them then,” and it get preserved from one log in to another, whereas our Recent tab doesn’t.

0:20:34: Question from the audience: I have a question about the auto response text…it says, “The Resident you messaged has activated Firestorm viewer’s ‘autorespond mode’ …” the person IMing you then see what viewer you are on.. isn’t that sort of the same as when we had viewer tags. i mean isnt that against the shared experience, policies or something?

0:20:36 EM: You can change that text to say whatever you want it to say.

0:20:40 JL: That’s just a placeholder text.

0:20:42 EM: Yeah, the same as you can change your auto response in the Second Life viewer.

0:20:58 JL: If I can offer another angle on it. I think the concern was “shared experience” because it’s openly announcing, “I am on Firestorm”. The shared experience policies have to do with whether people are viewing the world on v3 [LL’s viewer]  in the same way as people on Firestorm … and any TPV is not permitted to include features that would made the world look different; so having an auto response which says, “I’m on Firestorm”, would not be considered any different from anyone IMing you and you telling them, “I’m on Firestorm”. So in my interpretation, it’s not against the shared experience policy.

0:21:55 JL: The thing with the shared experience policy was that third-party users could see tags over other avatar’s heads describing what viewer they’re on; the Linden viewer user’s didn’t see that, and because they didn’t see they, it was a violation of the shared experience. So Firestorm users have to see the same thing Linden users do, Linden users have to see the same things Firestorm users do and in the same way. and as far as the auto response goes, if a Linden user IM’s you, they get the same message that anybody else who messages you would get.

0:23:03: Comment from audience: reminds me of OTR.

0:24:04 JL: Well OTR also doesn’t fall into the shared experience thing, because as long as a Linden user can IM a Firestorm user and not have an interference with that communication, then it will happen.

0:23:40 EM: OTR was over-rated.

0:23:44 JL: And that’s not to say OTR isn’t still coming.

0:23:45 PL: Or something resembling it.

0:23:50 JL: So some of you may be familiar with, or may not be familiar with, an OpenSim grid called MOSES [Military Open Simulator Enterprise Strategy]. This is a military grid; United States Department of Defense grid. First of all, they’ve been using Firestorm as their default viewer, which is pretty cool because Firestorm is the only viewer sanctioned by the United States Department of Defense, but of course they’re making their own modifications to it. One of those, of course being the military – security is pretty important to them – and so they’ve been working on their own version of OTR encryption on a scale of magnitude twn million times more secure than what we need. So when they’ve finished this, they’re going to offer that code back to us, and we may or may not use that. It’s probably going to be overkill, we already realise this, and it may be too much overkill for us. So it’s not to say OTR isn’t still a possibility or some variation of OTR.

0:25:30 Audience comment: and this is what the American dollar going for DOD playing in SL

MO-10:25:31 JL: Actually, it’s interesting. The military originally started in Second Life and then Linden Lab botched the whole Enterprise thing, and so they made their own grid, and they’re using it primarily for training purposes … Just to give you an idea why they’re doing this: there are simulators out there, and by simulators, I mean like an aeroplane simulator; these big, expensive simulators. and if they want to change the terrain, for example, everything has got to be re-programmed, and that costs a lot of money. Whereas, in a Second Life or OpenSim virtual environment, they can change the terrain instantly and it doesn’t cost thousands of dollars to do it. So in that way, it makes a lot of sense.

You can read about MOSES in my 2011 overview of the project, which was written shortly after the US Army’s STTC opened the doors to the platform.

0:27:32: Audience comment: wouldn’t that invoke US export rules if the encryption is military grade?

0:27:33 EM: I don’t think so, because it has to be open-source for us to be able to take it.

0:27:46 JL: Yes. They’re very pro open-source actually. There are going to be some aspects that obviously they can’t open-source, but from my very limited understanding of encryption systems, there has to be a key. so they can provide us with the code, but we’d have to integrate it with our own kind-of key or a variation of it. So some parts of it will be open-source and other parts will not be. And they can do that because it’s their grid.

0:28:50: Audience question: is it only me or does everybody have it that if I cross a sim, my AO freezes my avi. and if I stop for a sec it goes again, this goes with walking and flying. is that a bug or something I need to change at my end?

0:28:50 WF: It’s a bug. FIRE-4832 [AO] animations stop after sim crossing

0:29:03: Audience question: is it possible to make preferences sets for FS? so I can have a low lag setting for my combat stuff, and other settings for other purposes … with one click

0:29:04 JL: I had a vision, years ago … that we could find a way – many of you may be familiar with PhotoShop or other Adobe products where you can create a certain layout of your interface and save it, and then create a different layout and save it, and you can just go in and with a click, change layouts? I’ve wanted to do that with Firestorm since day one; but it’s a lot more difficult to do than it sounds, unfortunately … so you could set-up your interface without chat for combat, or you could have chat just show-up in the console down in the corner of the screen without covering all of your screen, and have all your other windows closed and have a certain set of buttons out that you only use for combat, and you could save that. And then you could create and interface layout for just communicating with your friends, and depending upon what you’re doing on a given day, you could just click a button and all your settings and preferences and layout changes to that on the go.

0:30:28 EM: You can sort-of do it now, but it does require a relog. Just create different back-up folders … and you can just go in and restore from that particular backup and relog. so it’s a little slower, but you can do it.

0:31:20 JL: Unfortunately, we’re stuck with the conundrum of using somebody else’s code base for our own, which is to say Linden Lab’s code base. Most of the viewer is Linden code, and with that comes the whole infrastructure and how the viewer works. And in order to change certain things that we’d like to change would actually require very significant re-writes of the viewer code, and as we’ve said before, the more we change, the more difficult it is for us to keep up with Linden Lab changes upstream, because we have more conflicts when we try to merge things.

0:32:05 JL: So there are a lot of things we would like to do, which are theoretically possible to do, but not sensible in the long term in regards to maintenance. Now, if for example, we started our own grid, and we didn’t have to try to keep up with Linden Lab because we could do our own thing on our own grid, we could change the viewer and do whatever. If we didn’t have to merge-up to somebody else’s code, we could re-write things completely and do some really amazing stuff. But most people are in Second Life, and that’s where our focus is. We have quite a few people now who are in OpenSim or are leaving Second Life for OpenSim, so that’s also a priority, so we have to keep up with OpenSim development and we have to keep up with Linden development and that means we have less time to do our own development and any of our own development we do makes it more difficult to keep up with them. So it’s a conundrum, and there’s no real easy solution to it.

0:33:27: Audience question: Any plans for an AMD64 Linux build?

0:33:28 JL: Yes. and that’s it. just “yes”. No ETAs, just “yes” … so here’s the thing; here’s the problem. A lot of people want 64-bit Linux; and what if I were to tell you it’s possible to do a 64-bit Windows build as well? What if I told you – and I’m not saying we did – what if I told you, let’s say hypothetically, we made a 64-bit Windows build, and discovered it really has no advantages whatsoever … in fact it could be a disadvantage because everything has to be built differently for 64-bit versus our regular 32-bit that we run … so let’s say we did do a 64-bit Windows and a 64-bit Linux; that’s like having two different viewer again. Remember when we had the challenge of trying to develop Phoenix and Firestorm at the same time? Well, if we’re building a 64-bit Firestorm and a 32-bit Firestorm, they’re basically to different builds altogether, and the whole compiling and everything is completely different. So suddenly, we’re trying to develop two different viewers and trying to keep them compatible with each other.

0:35:29 JL: So when we, for example, commit a change to out 32-bit version, we also have to merge-in that change to the 64-bit version. I’ll give you another example.  Linden Lab drops on us server-side appearance changes, interest list changes and stuff like that, and it takes us weeks to merge that into our current 32-bit Firestorm, when also then have to do that again for the 64-bit version.

0:36:08 JL: So we have to ask ourselves, if we did do a 64-bit, if it doesn’t have huge advantages, it’s not really worth it to do it. So hypothetically, we found that there was no real advantage to it. However, that’s not to say it will never happen … On Linux too, there are disadvantages to using 64-bit; a lot of stuff doesn’t work. We have to support that to; we have to support everything we release … so they we have to support the bugs the 64-bit Linux version has and we’d have to support the viewer with all the 64-bit bugs the Windows version has. And there’s one other thing to consider. Mac users; “Where’s my 64-bit build?”

0:37:34 JL: So that’s where we stand with the 64-bit stuff. It would be really cool if it were a really huge improvement; but I think every viewer that’s out there now is Large Address Aware [LAA], which allows it to use more memory, but it’s not truly a 64-bit application. A lot of people don’t understand the difference there … So if you’re on a Windows 64-bit operating system, you’re going to have two Program Files [folders]; you’re going to have one that’s Program Files and one that’s Program Files (x86). If it’s a 32-bit application, you’re going to find it in (x86).

0:38:40 JL: Let me say there is a third-party viewer out there who claims to be a 64-bit viewer … and a lot of people believe him that it is a 64-bit. But I would say to you, if it is a 64-bit, why does it install into the 32-bit Program Files folder? So there is no 64-bit Second Life viewer, or even OpenSim viewer as far as I know … it’s just Large Address Aware, which allows it to use more memory, but it isn’t truly 64-bit.

Open Q&A

0:41:39: Audience question: Is there a timeframe for an updated mesh deformer or Cocoa OSX builds?

0:41:39 JL: First of all, the Qarl mesh deformer is not allowed to go into Second Life, period, unless Linden Lab adds it as well. And this is again going back to the shared experience policy … And yeah, the deformer will work on other grids that support it and the intention with the next release is, I believe, to have mesh deformer available for OpenSim  … the intention is to have the mesh deformer with Firestorm with the next release for use in OpenSim only. It will not be available or working in Second Life; otherwise, we’d be banned … So as far as the deformer goes, until Linden Lab has it, nobody is allowed to have it in Second Life … I can probably just say there is a possibility that a mesh deformer will show up at some point in the future that may not be Qarl’s.

0:43:25: WF (chat): The next release will have Cocoa. It’s in already.

0:43:35 JL: Weren’t there still some nasties with Cocoa?

0:43:38: WF (chat): Yes. Cocoa nasties: FIRE-11675.

0:44:53 EM: That leads me to something I wanted to talk about a little bit. And that is the sheer complexity of Second Life itself as a system. Most people don’t seem to have much of an understanding of how complex Second Life actually is. If you stop and think about it, if there’s 50,000 people in-world, there’s 50,000 computers and all the region servers, then add the asset servers, the chat servers, the inventory servers, this server, that server, the other server. It’s a fairly large network with a huge amount of data being spread around to start with. Quite frankly, I’m surprised that Second Life works at all, let alone as well as it does.

0:48:16: Audience question: Is the (co)work with Linden Lab a good one, frustrating one, not existing?

0:48:21 JL: I’m presuming you mean cooperation … We have our good moments, we have our not-so-good moments, but overall I’d say that things are improving. Things have improved a lot since we started.

0:48:52: Audience question: sorry to bore you with the Linux stuff, but do you have a list of dependencies?

0:48:59 JL: Linux questions to our team would best be answered by Zi Ree or Techwolf (Lupindo) or Miro (Collas)

0:50:17 EM: I’d also echo Jess’ thoughts. Things have gotten a lot better with cooperation with Linden Lab. Hopefully, there’s going to be more cooperation in the future. There’s a good example. Materials was developed both with third-party viewer developers and Linden Lab working together.

0:50:58: WF (chat): SSA is also a good example, as far as testing went.

0:50:48 JL: But there’s still some frustrations we have, like Linden Lab working for the most part in secret on things, then dropping a whole crap load of code on our heads and then being frustrated with us for not getting releases out faster. If we had more collaboration – and I mentioned this at the Third-party Viewer Development meeting yesterday [October 11th] – this is my opinion, but if Linden Lab and third-party viewers could work transparently and communicate with each other, with things that they’re doing on a daily basis, I think it would be a lot easier for third-party viewers to keep-up with Linden Lab; because we would be up-to-the-minute with them, because we would be working as if we were in their office.

0:52:34 JL: One of the reasons why they work in secret on some things … so let’s say they’re working on a new feature, and let’s say they’re working transparently, like we do, when we drop some code – not finished code, but we’ve committed it to our repository. People see that, and they say, “But that’s stupid, because if you do this with this feature, it’s going to cause that problem.” Well, we may already know that; what you’re seeing in the repository is work-in-progress. So what end’s up happening for Linden Lab is that if they were to work transparently, everything that they commit will then be criticised and viewed under a magnifying glass by people who keep an eye on their work and on their repository, including third-party viewers; perhaps even especially third-party viewers, where we’re going to see things and criticise, and then they spend a lot of time saying, “Oh, we know that. It’s not finished.” So when it comes to features, I totally get why they work in secret.

0:53:40: WF (chat): There is also the problem of some TPVs snagging that experimental code and releasing it before LL does and in some cases claiming it as their own feature.

0:53:45 JL: Right … there are some third-party viewers who don’t abide by the gentleman’s agreement which is basically a mutual respect agreement that we won’t release anything that you’ve made until you release it first, and vice-versa. It’s a mutual thing. Some of us abide by that and respect it and some don’t. So what also happens is that Linden Lab, if they’re working transparently, that feature can get released before they release it, and then the viewer that released it gets all the credit for having done it.

0:54:23 JL: I’ll give you an example. Many of you will remember Kirsten’s Viewer. Kirsten widely got the recognition and credit for developing shadows in Second Life a few years ago. And Kirsten didn’t do shadows. Linden Lab did. Kirsten picked it up and released it before Linden Lab was finished testing it, before Linden Lab could release it. If you’re a developer and you spend a whole lot of your time developing something, and you’re working at trying to get it out and somebody else releases it before you do, and gets the credit for it – that really pisses people off, understandably. So that’s another reason why Linden Lab has been driven into developing secretly.

0:56:23 JL: But then there are other situations, I think, where working in secret isn’t merited. Working on features is acceptable, but what about working on fixes for things. Should that be kept secret? What about really big fixes like server-side appearance fixes suddenly being dropped with a tonne of stuff in it which will take third-party viewer quite a bit of time to pick-up and merge and get stabilised and released because we didn’t know it was coming. Had they been working transparently, we’d have been able to pull that in a little bit at a time, possibly, not ending up with a big dump truck load on our heads, but just a little bit at a time that we can manage. So in some cases I understand and agree with their policy of working in the background, and in some situations I disagree.

0:56:34: Audience comment: i thought Kirsten made the shadows just look nicer but that viewer was a crash monster to me, so I hardly used it.

0:56:35 JL: Yes, he did make improvements to shadows, which is one of the reasons it was crashy. but he largely got the credit for doing shadows.

0:56:47 EM: And the other side of the coin is, something that Oz mentioned at the third-party viewer meeting. If they do a bunch of work on something and then decide it’s not working and decide to back that code out … that can also lead to more issues if it were totally transparent.

0:58:21: Audience question: LL seem to be releasing a new, or slightly updated viewer each week atm. Is this because they are releasing things in dribbles now instead of several big things at once?

0:58:31 JL: Some of you may be familiar with how Linden Lab does their server updates every week. So what they do is there are four channels for servers. There’s the Main channel, which is most of the grid. And then there are three release candidate channels, “RC” for short. There’s Magnum, LeTigre and BlueSteel. So the way this works is that each one of those three RC channels will have different code on them, and they’ll run that code for a week and during that week they’ll decide which one of those three they’re going to promote to Main channel, which is most of the grid. And they’ll do that based on need, on certain code that’s in them … For example, if they have a feature like mesh, we’ll say, ands only BlueSteel has mesh and BlueSteel turns out to be pretty stable and management is pushing to get mesh out, they’ll probably promote BlueSteel  to the main channel come that Tuesday.

0:59:45: Audience comment: That explains why there seem to be so many problems between sim crossings then over RC channels.

0:59:46 JL: That’s right. It does cause some problems because they’re different. So Linden Lab has also changed their viewer process, and they’ve decided to do it similar to how they do server updates. So now they have their release viewer, and then they do Release Candidate viewers. So they’ve got like four viewers on the go at any given time. so this makes it really hard for us to keep up.  They’ve been on a mad release schedule that we just can’t keep up with. And of course, it’s helpful to them because they’ve got a lot more staff than we have, they’ve got dedicated developers who work eight or ten hours a day or whatever it is paid by the hour. So they can get a lot more done than we can … So this is why there seems to be a lot of Linden viewer releases now, and it doesn’t make our job easier, to say the least.

LL’s revised viewer release process

1:02:09 JL: By the way, in the last Q&A we mentioned that we were going to try to refactor our preferences to make them a little more common sense. Not going to happen this time around, so they’ll probably be worse than they are on the 4.4.2 release.

1:03:29: Audience question: what happened to the little notes we used to get up top noting the region type?

1:03:29: Anastasia Horngold (chat):  Move & View > Firestorm > Notify if the simulator version changes.

1:04:52 LP: Notify if the simulator version changes and Show simulator channel in status bar … So if anyone was looking for that, you can have two different way to view information about what server channel you’re on. Either you can get it as a pop-up or you can see it as part of the location info in your menu bar.  Or both. Or neither …

Options for showing simulator channel details on crossing between regions on different channels
Options for showing simulator channel details on crossing between regions on different channels

1:05:46 LP: And as a shameless plug, I’ll mention that I used the class note cards to find that … We’ve got classes. They are free. They usually last about an hour with approximately a half-hour Q&A session afterward …  [The class schedule (linked)] changes weekly, so if you don’t see any classes that fit into times you can go to now, check back in a week and the chances are they’ll be different. We’re on a fifteen class rotation, which means that every class we run gets repeated over and over and over and over again until it stops applying for one reason or another. We did retire our bake fail class; maybe we’ll have another one in the future when we’ve worked out the ins and outs of bake fail on server-side appearance. But…come to our classes.

1:07:36: Audience question: Any chance someone could add an option to disable the viewer’s slowdown when it’s not in focus?

1:07:36: Chakat Northspring (chat): There is a debug option called BackgroundYieldTime

1:07:43 JL: That sounds easy, doesn’t it? Don’t expect it to be easy, and it’s probably out of our realm.

1:09:00: Audience question: Most of the time I see tinies stretched. I know I messed allot in the settings (not knowing what I done :D) so. what could I have done wrong?

1:09:00: WF (chat): It’s a bug! Well it happens when you haven’t loaded their deform animations.  when that happens, try zooming your camera far out and back, or change your active group tag.

1:09:04 EM: Changing your active group tag is magic…

1:09:08 LP: Not the same the same kind of magic as relogging. But they are both magic …  Well, sometimes we can explain, sort-of.  But it’s magic in the sense that people don’t expect it to work, and sometime we recommend it and they’re, “What? What? I don’t believe you, I’m not going to do that,” and eventually, when they finally get around to doing it, it works … I’m not sure why people resist trying things that are not difficult to do. I think there’s a mentality that says if it’s easy to do, it can’t possibly work. But in certain cases, it sure does.

1:10:06 LP: You want to do the easy stuff first when you’re trouble-shooting. You don’t want to end-up four hours later saying, “I wish I’d relogged in the beginning.”

1:10:18 EM: Oz linden didn’t think it would work either.

1:10:23 JL: And then he was flabbergasted when he tried it.

1:10:30 LP: So  maybe it works, maybe something will work, maybe it won’t work; but you certainly want to try it before you go to the trouble of, I don’t know, reformatting you hard drive or something.

1:10:46 JL: I’ve got a good question for support. How often do you get a user come in and say, “I’ve got this problem and I’ve tried everything,” and support says, “Can you try this?” And they say, “Oh, I’ve already tried it, it won’t work.” And eventually, after hours of working with them, they eventually try it, and suddenly it works, and you realised they didn’t actually try everything. In fact in some cases they didn’t try anything?

1:11:13 LP: Well I wrote an entire blog post on the topic of the “Oh, I’ve tried everything” … Here’s a tip for folks looking for help, and this actually applies to not just in our group, but in any context where you’re looking for support for something.  The phrase “I’ve tried everything” mean absolutely nothing.  Because first-off, if you actually literally tried everything, then why are you asking us for help? You’ve already tried everything, what else can we offer? So on a literal level, it makes no sense.

1:11:54 LP: So we know already that when you say that, it’s figurative, so we have to put the effort into what it actually is that you did. It’s something that constitutes everything in your mind, but we’re not psychic, as much as we wish we were. So please don’t be insulted when we start asking you did you do X, did you do Y, did you do Z? Because we are trying to figure out exactly what everything means to you, and sometimes that’s going to mean asking right off, “Did you relog?”

1:12:27 LP: Now for some people, that’s going to be a “Duh!” moment, “Of course, that’s the first thing I did.” But for a lot of other people, it’s, “No, of course not. Why would I do that?” Well, because that’s part of what “everything” constitutes, right? I think Jess is bringing this topic up because I very recently had somebody ask me for help with a voice issue … and the first thing I asked was, “Did you relog?” and she said, “No.” So she relogged, and her voice came on.

1:13:02 LP: By the way, when it comes to voice in particular, relogging and toggling will fix most temporary voice issues … Voice is just a pain in the butt, but if it’s a problem that has just started, it’s not been going on since you installed this version of the viewer … at the very least you’re not going to be wasting your time by trying.

1:14:13 JL: So sometimes support will say, “Can you please try and do this?” And the user will not try that, because they think it can’t possibly fix it, so they’ll say, “Yeah I tried it and it didn’t work.” So support has to take your word for it that you actually tried that, and will go on to the next thing. And eventually you come to a dead-end, and the issue can’t be fixed, but it can be fixed if you just try what support tells you to try, because even though it doesn’t make sense … changing group tag doesn’t make sense either,  and it fixes things. Don’t make the assumption that that won’t fix it.

1:14:54 LP: In fairness, one of the other reasons that we get that response is when people think they’ve tried it, but they actually haven’t done exactly what we’re suggesting, they’re doing something that they interpret as what we’re suggesting. And this in particular comes up in voice a lot. There are a lot of fixes or things that you can try for voice, that may or may not try the first time. But that does not mean it will not work if you keep trying it three or four more times … We’ve had maybe one voice glitch that could not be cleared by toggling over and over and over and over again. Enough toggles, it may work. When it comes to certain kinds of issues, there isn’t … you push this button and your problem is solved. It’s more like putting a hammer to a nail and you just try the same thing over and over and it just may kick into shape.

1:16:00 LP: That’s especially common when it comes to issues which have a strong network or connection factor, like voice issues often do, like bake fail sometimes does. So even if a replace outfit on a bake fail doesn’t work the first time, it does not mean that you stop trying it … It just needs to be persistent.

1:16:30 EM: The order does matter sometimes. the order that you do things in really does make a difference sometimes.

1:16:37 LP: The missing inventory page on our wiki is a good one to make sure you do in order.  It really is ordered from the easiest stuff you could try to the stuff that is most complicated.

1:17:33: Audience comment: On a recent trip to another state, I finally fund out exactly what kinds of issues people can suffer on less reliable connections. I tried a train’s wifi, hotel wifi, and my phone’s wifi. All of them had issues, but as soon as I got home, they were all gone.

1:17:34 LP: That’s a great point. I’ve got a wired-in connection at home, but sometimes I’m at my Dad’s house or at my Mum’s house and I use their wireless. My Dad has got a pretty good wireless connection, my Mum does not, and the difference is enormous. So all of a sudden, all of these problems that I’ve never seen before … I mean, never seen myself, but helped people with all the time, all of a sudden, I have them all. Connection cannot be under-estimated as a factor in your Second Life quality of life.

1:18:15 JL: And connections can cause issues that you would never even think would be connection related.

1:18:23 LP: And  don’t mistake a fast connection for a good one. They’re not the same … Just because you can drive 80 miles an hour doesn’t mean that you can coast over the speed bumps.

1:21:37: Audience comment: Are we ever going to get resolution selection back? For example…. say I want to run in FULL HD resolution.

The Window size pop-up (Advanced menu > Set Window Size
The Window size pop-up (Advanced menu > Set Window Size

1:21:38 JL: It’s already there. It’s been there for a long time. It’s under Advanced [ALT-ALT-D to display Advanced menu option, if required], up at the top. Set Window Size, if that’s what you mean. I think that’s what you mean … So if I want to run HD for example, I’ll go to Advanced, click Set Window Size, and a little floater opens up, and in there is a whole list of aspect ratios you can choose 4:3, 16:9, and various screen resolutions. So in the case of this laptop, the highest I can go is 1280×720 because my laptop doesn’t support anything higher in HD than that. but on my PC, for example, I can do 1920×1080. It depends on the capability of your monitor, obviously. But it does offer an HD  next to the aspect ratio.

1:23:27: Audience question: Can you make the window completely borderless?

1:23:28 JL: We can’t make it borderless. Again, if we could write the viewer from scratch, or completely re-write it, there’s stuff that we could do. But then we wouldn’t be able to keep up with Linden Lab.

1:25:11 EM: So I have a question. When’s the next release going to be available?

1:25:27 JL: I’m really hoping we can get a release out before 2014, just so that we can get materials out and some of the stuff that people have been requesting. And they we’ll work on server-side appearance polishing-up and interest list stuff once that’s working properly.  So early December. If you don’t see it in the first week or two of December, then it’s not going to happen in the year 2013.

1:26:31 JL: So Whirls is going to post a link to our current release targets. You guys can use that link at any time to keep track of our progress as we get closer to a release. And that will give you a list of all the issues that are currently targeted for this upcoming release. Some of them are feature requests, some of them are fixes and what knot, but you can see there are quite a few issues there; this is what we’re facing before even considering server-side appearance updates … interest list stuff and any of the other things.

1:27:19 JL: It’s still not triaged, so at some point Whirly will manage to trap me and corner me, and we’ll have to do a triage and in doing so, I’ll work that list down … So just because it’s in the list doesn’t necessarily mean that it’s going to be fixed for release. It just means that some of that stuff will, and some of it we just won’t be able to do. So one of my jobs is triaging, which is where we go through all the issues and I have to decide which ones are going to be obligated for release and which ones I’m going to have to push to the next release or the next release or the next release … and it’s a really hard decision, and I hate doing it because they’re all bad and I want them all to be fixed, and I don’t want to release anything until they’re all fixed … But there are certain limitations to the human capability.

1:29:35 EM: I want to thank all the users of Firestorm for your interest in using Firestorm and making it as popular as it is. It makes what everybody on the team does seem a lot more worthwhile.

1:30:00 JL: I think everyone on the team will reflect that.

Next meeting provisionally set for Saturday October 26th, time TBC.

Related Links

3 thoughts on “Firestorm meeting and Q&A, October 12th: video and transcript

  1. The Firestorm Team does a great job of trying to keep us informed and also to help with any problems we might have. I really thank them for the great job they do and the time they give to us for the classes. I learn something new everytime I go to a class. Thank you all again for such a great job and giving your time for us.


Comments are closed.