Disclaimer: This post contains subjective opinions from the author, Morphman The Clown.
There has been some talk about the latest release of Firestorm viewer being unstable and full of bugs and debates have gone into flamewar territory. Jessica Lyon, project leader of the Firestorm project, wrote a message to the community in order to explain and hopefully calm down the users. I do not wish to take sides on this issue, but I do want to explain a bit about what goes on behind the scenes on big projects like this.
Perfection is impossible! That is something people must realize, there is no such thing as perfect, you can only get “good enough”, never better than that. When it comes to Firestorm 4.4.0, it seems like many users didn’t think it was good enough, something Lyon herself admitted, thou the blame shouldn’t be on the development team, the volunteering QA-team or even the project leader.
In the development of any software and most products out there, you have three main phases to assure you’ll get as good a product as you can. In the planning phase you collect all data you need on what to do, when to do it, how to do it and what to aim for. In the execution phase you stick to that plan, only making changes after additional planning meetings with those responsible for the planning. In the test phase you test the product in any way you can to assure it works as expected.
Second Life is in the process of having major updates implemented. You won’t see much difference, but from a coders standpoint, these changes are massive. Entire “libraries” of code have been replaced, added or removed, requiring an equal replacement from all the viewers. This is what Firestorm release 4.4.0 was supposed to do.
In the planning phase, the team put extra emphasis on the new requirements and even added extra support for older computers. In the execution phase, many problems arose and were ironed out to make sure it would cause as little problem as possible for the users. In the testing phase, other problems were seen and were ironed out. Everything was extensively tested and remedied by over 1000 people, none of these saw the problems that the final product seems to have.
For me, as a coder, this feels like unforeseen problems with different system specifications, new updates to the servers or other problems outside of the development teams reach. It also seems like many other viewers struggle with the very same problems, mostly for older computers or systems not running Windows or Mac, which some already pointed out in the comments. One commenter to the above linked article pointed out that ATI drivers are known for causing many of these bugs and that most Linux distributions have problems that interfere if you have other programs installed as well, such as loss of 32-bit support (most older computer can only run in 32-bit mode), loss of shortcuts (which apparently was due to JAVA updates) or “foreign artifacts” on high-rez snapshots (due to graphic glitches).
Unforeseen bugs like this will exist in any big project once it scales up from a thousand users to tens of thousands. In a perfect world it would be possible to test these programs on every foreseeable system, but with limited funds and a limited amount of volunteers, all you can get is “good enough”, and in my opinion, Firestorm 4.4.0 is good enough, despite its flaws, and I know the Firestorm team are working as hard as they can to get 4.4.1 out to fix as much of these problems as they can.
I want to end this by saying that bugs are a programmers best friend, because it shows flaws you didn’t foresee and you can correct them and easier see them in the future.
This was my 2 cents from a programmers standpoint, what do you think?