Skip to content

The Battle for the Desktop Begins!

So what does this all mean for LL? First, you have to realise that all those viewers together just have “a few thousands” of users. Most aren’t aware they exist. On the Macintosh Group, a recent conversation showed that almost everybody, with a handful of exceptions, never downloaded a non-LL viewer before (although these days, most have already been ported to Mac OS X). Rumours are spread that “the alternate viewers are so good because they send your credit card info and passwords to third parties”, and so they’re not used. Other rumours say that “I had a friend who had a third-party viewer and was promptly banned by LL” (in reality, the “friend” was using CopyBot to steal content and that’s why LL banned them — CopyBot is, for all purposes, a third-party viewer too). And finally, many people come from other virtual worlds, where non-official viewers are illegal and their creators pursued in courts of law. The concept that LL has created (and encouraged!) an open source community around the viewer code is totally alien to them and they can’t believe it’s true. So, with little publicity, it means that the absolute majority of all SL users never tried an alternate viewer, not even one from LL (ie. the release candidates, or the “beta” viewers).

This also means a very limited number of residents actually testing them, and, in general, most of them are technologically inclined. At the very least, they know how to go to the Preferences tab to tweak their settings — pretty much what LL expected users to do in 2002-2004, and that’s why Second Life, unlike most of the competing platforms, has so many tweaking options available. However, the vast majority of the residents don’t know how to do that. Half of them don’t even know how to read the Preferences tab, because they don’t speak English and might not have a translated version of the SL client.

So this means that the number of people effectively testing the alternate viewers is very small — about the same number of residents that existed in Second Life in mid-2004 or so. From LL’s point of view, it’s probably too small a test base to validate that all those patches are actually correctly applied.

Because that’s the only reason I can give for LL to repeatedly ignoring what others are doing to their code. After all, the major reason for releasing the code as open source was to make sure that they’d get free labour in reveiwing and fixing bugs. Which the many volunteers promptly did. But LL is reluctant to accept their code. Why?

The only answer I have is “because it’s not tested enough” — although it has been tested by several thousands of residents. Way more people than LL has in their internal quality assurance team, and very likely way more people that actually use the release candidates.

So… there is obviously a question of internal policy. In my mind, software requires exhaustive testing in the field, something that I believe to share with LL. Two techies running a series of tests on an empty sim will never uncover the kind of bugs that two clueless residents will find on the laggiest sim on the grid, surrounded by avatars and 2.2 billions of items on LL’s asset servers. Nothing like a “real experience” to figure out what’s wrong. But… the “real experience” presumes that bugs are fixed, patches are applied, and users are using the client, not engineers in a lab crossing items on a checklist!

I’d certainly encourage LL to review their internal processes, and at least for their Release Candidate series, be bold and experimenting, fully embrace the cartloads of bug fixes and patches that have been submitted in the past two years or so, and forget their “fears” about “unproperly tested code”. Open source software grows by testing it in the field. “Code fast, release often” is the old mantra that applies to this.

LL can, of course, have three approaches side-by-side. One will focus on the “main SLviewer” — an old, always-obsolete bit of code that nevertheless is reliable enough and that doesn’t change much over the years, and which gets a new release every year or two. That’s the one that ought to be the “Reliability Client” — no features, just field-tested bug fixes, nothing fancy. In parallel, develop the much-announced “SL Lite” client with all major features stripped down and as easy to use as IMVU. That’s also a good approach — that “SL Lite” might even get less releases. Since it probably won’t even have building tools or the scripting editor, it can be made so minimalistic that it’ll run on any computer. Graphics will be ugly, but that’s ok — so far as you can login and move around, that’s all it needs to do.

And then, on the other side of the Lab, have the team developing fast and furiously the bleeding edge of Second Life. Work to incorporate all those developments from the alternate viewers — plugins, performance, lighting effects, features, a detached UI — and release it as a single, LL-branded viewer. Do it often. Forget quality assurance tests — you can always do them once it’s time to launch an official “stable” release, but, during that time, experiment a lot. Releasing a new version every week ought to be the goal — LL managed to do that in 2005/6, with a much reduced number of developers in their teams, so there is no reason they cannot do the same. The trick is, of course, to do the “code hack and slashing” only on the Release Candidates. Then, after a year or so, push the code to the quality assurance team, and let them test it for half a year — and if it meets with their approval, release a new “stable” version. In the mean time, of course, once the code is “frozen” for evaluation by the QA team, development can start instantly on the next batch of release candidates. There is no need to wait!

My issue at this stage is not with LL being totally at odds with that approach. After all, if the team behind the Release Candidates are not allowed to work that way, volunteer residents will — and this means that “unfinished” code and bugs and performance patches will be handled by the open source community, not by LL. But it’s still a pity. Why should millions of SL residents be deprived of the pleasures of enjoying superfast performance and all sort of nifty tricks that way?

Unless, of course, it has all to do with the Big Announcement that is due by the end of the month, which will address the SL client and the open source development efforts behind it, but which sadly nobody is willing to even give us a clue about what it will be about…

[Page 1] [Page 2] [Page 3]

Related posts

Readers who viewed this page, also viewed:

  • http://primforge.com/ Torrid Luna

    Hi Gwyneth^^

    Actually libsecondlife existed before the Second-Life-Viewer was open-sourced. At least the early versions of it were completely reverse engineered, using their SLproxy.

  • http://tentacolor.com Jacek Antonelli

    I’m thoroughly unconvinced that Linden Lab’s lengthy QA process is working. Or if it is working (i.e. it’s reducing the number of bugs introduced), it’s a poor trade-off: the effect is disproportionately small to the amount of time they seem to put into it. There are still many bugs being introduced all the time, and even very obvious and visible ones often make it past QA and into the releases.

    As one example of many, consider local ruler mode being oriented incorrectly, a bug which had plagued builders for a long time. I supplied a patch to fix it, but LL decided (after a long delay) to fix it their own way. Their fix, however, broke building in an even worse way: objects would spin wildly out of control when trying to rotate them! Somehow, this extreme and obvious new bug introduced by LL’s fix was not detected by QA.

    LL’s response to the new bug was to comment out the fix for the old bug, which meant that things were now broken again in the old way. This re-introduced bug was also not detected by QA. Or, if it was, LL didn’t bother to try to fix it again — even though I had long ago supplied them with a patch that I had tested thoroughly and which has no apparent side-effects.

    So, I am left to wonder: how can these two very obvious bugs — not to mention all the other bugs thare are constantly introduced — pass through the QA system, when LL supposedly goes to great effort to screen out such bugs? The only conclusion I can come to is that their process is ineffective, and that they are just slowing down progress with no real improvement in quality to show for it.

    This is why I’m sure community-based viewers will always outpace LL’s own viewer. A programmer on a community viewer might introduce just as many bugs as an LL programmer does, but the testing on these viewers (which often simply involves people using the software) detects the bugs just as well or better than LL’s QA process, and the bugs get fixed in a hundredth or thousandth of the time it takes LL.

    ——

    P.S. A correction regarding Imprudence: we are not planning a completely new UI, as you say we are. However, we are planning a plugin engine, which would allow for other applications (plugins) to interface with the viewer. That will enable people to make detached UI widgets, but that’s just one of many things that will be possible.

  • Liberty Tesla

    Gwyneth, there is another possible reason that third-party patches have not been applied: ownership of the code.

    Many open source projects require that any code added to their official codebase be owned by the company or foundation that manages the software (e.g., the Free Software Foundation, MySQL AB, TrollTech). It allows them to update the licensing (which has been a problem for the Apache Foundation, which has no such policy); it also makes liability issues simpler to deal with.

    If the developers of the third party patches can’t or won’t assign ownership to LL (and I’m not saying that they must or should do so), then LL isn’t going to use the code.

  • Ranma Tardis

    Working these viewers is easier said than done. I have been able to log in using hippo viewer but still have not figured out what the address is for second life. This makes me feel like a real DOLT! In open sims have not figured out how to make a skin, someone gave me a shape which I modified to suit. I want to open my own region but need a good server, my pc is loaded down and would not function correctly. I wish for my server to be hosted correctly, etc. Am I stupid? have seemed to have forgotten even the bacis…I am far from being the average user and everything seems so hard!

  • http://www.google.com dudeguy

    It’s ok to have a comment.

  • http://yourmachinima.com spyvspyaeon

    Kirstens has left. NWN reports that KirstenLee has quit with releasing clients because of repeated harrassment over GPL issues despite her efforts to try and satisfy those claims.

    http://nwn.blogs.com/nwn/2009/01/kirsten-quits-citing-gpl-enforcementrelated-stress-groundbreaking-open-source-developer-quits-viewer.html

Status Updates

 Second Life® View GwynethLlewelyn's profile on slideshare

My images

Smiling at homeWorking towards a national OpenSim gridTesting Beta 3.2.7View of Neufreistadt
Digg! Listed on BlogShares Site Meter

 

Gwyneth Llewelyn
Gwyneth Llewelyn is offline in Second Life.
Creative Commons License http://gwynethllewelyn.net is licensed by Gwyneth Llewelyn under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.