Archive for November, 2014
Once again we find ourselves in the ever-stressful period we call “Release Mode”. This is where I set targets for things that should be fixed and determine what features and functionality make it into the release and what doesn’t, when I have to say yes to some things and no to others based on recommendations from folks on the team, suggestions from users and gut feelings, often disappointing some while pleasing others among the support team, QA and developers. It is all about balancing compromises and making tough, often unpopular decisions. It is when I am least popular among the team. That is just part of the job, I guess. It is also our busiest time for our Quality Assurance (QA) team and beta testers to determine what passes and what fails.
In a few weeks we will have a newly released version out to the public with lots of new features, bug fixes and improved functionality! Then the feedback cycle begins where our users tell us what they think about it, and often that feedback is less about what is new and more about what we “did not” release. So in anticipation of this I thought I’d write a note about why we do not always have the newest bleeding-edge features out the door as soon as they are available.
Firestorm is not, and has never been, a “bleeding-edge” viewer. We have always focused on quality over quantity, stability over shiny. Slow and steady wins the day. Despite complaints and objections, this strategy has helped make Firestorm the most widely used viewer in Second Life by a long shot. In code, almost anything new has bugs and kinks that need to be worked out regardless of who wrote it and how vigilant they were at it. That’s because despite how much testing you do, it isn’t until it lands in the hands of the many that the deepest rooted software glitches start to crop up. Knowing this is one of the reasons we do not merge in and release new features from Linden Lab right away.
What is not in this release
Many of you have asked us to release the Group Ban functionality developed by LL, and why not! We were the ones who proposed it to LL, after all. Many others have asked us to release LL’s SL Share 2 feature, which comes with photo filters and various other cool functions. LL has recently released HTTP designed to improve server/viewer communications, CDN and AIS V3 (Advanced Inventory System). In fact, LL has been doing some crazy good work in the last year to improve the user experience dramatically! But with all new things come bugs.
It is risky practice to merge code out of order because you can easily miss fixes that were added later or accidentally destabilize the viewer. So we try hard to avoid doing so. For us to merge Group Ban, SL Share and everything after it, we would first have to merge in AIS V3, which would bring you bugs like:
Avatar distorted when changing outfits,
Shape distortion when wearing / taking off rigged mesh,
Body crusher animations for quadruped avatars do not appear to load,
Avatar eyes sometimes disappear after adding or removing rigged mesh,
Avatar shape is deformed after removing some rigged meshes,
Attachments appear in wrong position for observers but appear in the correct position to yourself
Every one of these would be a release blocker for us, so a month ago we brought these issues up with LL at a Third Party Viewer meeting. They immediately pulled a developer off what he was doing and assigned him to these issues. As of just yesterday afternoon LL posted a release candidate viewer with these issues fixed. Kudos, LL!
Some other issues cropping up with CDN: https://jira.secondlife.com/issues/?filter=16679. The point is this: just because another third party viewer or even LL has released something does not mean it will pass our quality standards. A viewer with a small user share releasing bugs only affects a small share of users. With the number of users we have on Firestorm, for us to release something with nasty bugs would affect a majority of the population in SL and OpenSim. We have a responsibility to you to deliver quality and stability over new shiny. The good news, though, is that if you really, really want the new shiny, you can always use the viewers that have it! That is the beautiful thing about viewer choices in SL. I am so glad there are viewer options available out there for you. For example, we ourselves have been using the LL V3 viewer to implement a group ban on someone and then returning to Firestorm. We have to do it, too. 🙂
This upcoming release will not have SL Share, HTTP, AIS V3 and probably not Group Ban either. But we absolutely will have plenty of other features, bug fixes and improvements worth updating for which I’m very excited about!
I apologize to those of you who are disappointed by what we will not be releasing, and I can promise you that I wholeheartedly share in your disappointment. We use the same viewer you do and have to live without these cool new shiny features, too. So please keep in mind, when you fill my inbox with complaints about what features we have not released, that we have also spared you from the bugs that go with them. 😉
The Phoenix Firestorm Project