TPV: brown bag and changes?

On the 13th, Joe (Miller) Linden held the first of his brown bag meetings with TPV developers to discuss the Third Party Viewer Policy. The various transcripts and audio recordings make interesting (if headache inducing) reading / listening.

While it was unfortunate that LL decreed the meeting would be in Voice – thereby potentially limiting input and participation (specifics raised in chat seemed to be somewhat ignored) – the meeting wasn’t as fractious as might have been the case, given the amount of ire the TPVP has created. Certainly, despite the efforts of some to try an disrupt proceedings by crashing sims, etc., progress seemed to be made in the key areas of contention – notably Section 7 of the policy.

This section has caused contention largely due to the wording. If taken 100% literally, it would appear to be shifting all responsibility for TPV code onto the shoulders of TPV developers. While this was not LL’s intent – as I’ve said elsewhere, they are not malicious – the wording did leave a lot to be desired. And while some may disagree, part of the problem does stem from the fact Section 7 mixes the development of a viewer with its use by others. Beyond this, there is the problem that a literal reading of some of the clauses – 7a, for example, appears to give the impression TPVs take responsibility for LL’s code when LL absolve themselves of all blame.

Whether one agrees with this standpoint or not (I personally don’t – and I sincerely doubt the law would interpret the language in the manner some TPV devs fear) – the the wording does cause angst and could be reworded without compromising the TPVP rather suggests that there would be no damage done were minor adjustments to be made to the phrasing of the clause – and this was indeed suggested.

A similar discussion was had around clause 7d, where again, it was apparent that much angst could be resolved by simply striking the first sentence in the clause; what was more, doing so could clarify LL’s position on matters of liability.

Elsewhere, people were more receptive to the fact that the TPVP is concerned with connecting to a service, and therefore stands aside from GPL requirements – something that seemed clear to many “outside” observers on the matter, including myself. Most interestingly, Lance Corrimal indicated that the Free Software Foundation’d licensing expert did not find the TPV to be in conflict with the GPL. That it would be is something I’ve had a hard time getting my head around; again, LL are not stupid. They did blunder with the original draft of the TPV – but they also stated the re-draft would be passed in front of experts in licensing and the GPL. I doubt that they  would subsequently go ahead and release the re-draft without following through on their intent to do so; ergo, it was hard to see how the experts they potentially used to review the TPVP got it so badly “wrong”, while those (with the greatest of respect) not versed in licensing and law were so adamant it is “wrong”.

What remains to be seen for the moment is how much fruit this first discussion bears between now and the next (set, I believe, for next week). When one puts aside all the angst and subjectivity surrounding clauses 7a and 7d, both could be more clearly worded without, as I’ve stated, impinging on the TPVP’s overall intent. As such, I would hope LL will take the suggested re-wording of both to heart and update the clauses.

It would still be nice to see the TPVP more clearly focused on the development of such viewers, with anything relating to the use of the same moved to the ToS. This would not only make the TPVP more focused for both LL and TPV developers – it would ensure the limitations on the use of such viewers are placed where they have a chance of being read by the majority.

Viewer 2.0 gets Starlight & I tweak KLee’s sidebar

Not too long ago, Tom (T Linden) Hale passed a comment in one of the multitudinous Viewer 2.0 threads to the effect that the skin of the Viewer itself can’t really be that radically changed because it is too much a part of the of overall viewer (and had I the patience to wade through the blasted flog, but patience and the official flogs don’t seem to go hand-in-hand).

At the time he mentioned this – back when the “beta” had just started – the comment struck me as odd. The majority of the Viewer files are XML…the folder structure of Viewer 2.0 isn’t that different from 1.2x – so wher’s the problem? However, I’m also not a programmer, so what on Earth do I know?

Now, Hitomi Tiponi has issued “Starlight”, a new skin specifically for Viewer 2.0, and what is likely to be the first of many such efforts.

Starlight brings together several of the tweaks developed by Alexandrea Fride and others, and presents them in a skin design that – while keeping to the overall 80’s approach LL opted for with the Viewer – lightens the basic colour scheme up somewhat. Avi Arrow has further tweaked Hitomi’s design to make the Sidebar somewhat less intrusive  so it doesn’t block the top and bottom right HUD attachment points (or the mini-map, if you prefer having that open on the top right of the screen). I’m borrowing the following screen shot from Avi to demonstrate both Hitomi’s skin and the sidebar revision.

V2.0 “Starlight” Skin with Avi Arrow’s modified Sidebar (Credit: Avi Arrow)

Notice the additional buttons and other tweaks to the interface in the image above.

The Starlight skin can be downloaded here, and Hitomi provides full installation instructions for Windows, while Mac instructions and Avi’s sidebar mod can be found in the flog thread on the skin.

Elsehwere, KirstenLee Cinquetti continues to revise and improve her take on Viewer 2.0, and the latest – S20.12 removes the sidebar completely from the screen until such time as it is need. Instead, there is an additional button in the toolbar area, which opens a mini-selection bar when clicked, which can be used in turn to display elements of the sidebar in their usual place. It is not elegant – but it does reduce the intrusiveness of the sidebar considerably.

In a tip of the hat to Avi’s idea, I’ve further tweaked KirstenLee’s sidebar so that it no longer blocks access to the top / bottom right HUD attach points, both of which I use.

My revision to KLee’s Viewer 2.0 variant

To make the changes to the Sidebar’s appearance (Klee S20, v16 or lower):

  • Close the Viewer, if running.
  • Use a text editor (such as Notepad) to open main_view.xml contained in the skins\default\xui\en folder of your KLee Viewer installation)
  • Find the section commencing <!– side tray –>
  • Within the < panel block, change the following:
    • Height=”450″
    • Top=”195″
  • Save the changes.
  • Start the Viewer – your sidebar should now be suitably resized when opened.

Klee S20 v17 and later:

  • Close the Viewer, if running.
  • Use a text editor (such as Notepad) to open main_view.xml contained in the skins\default\xui\en folder of your KLee Viewer installation)
  • Find the section commencing: <!– side panel now scales to top n bottom KL –>
  • Within the < panel block, change the following:
    • Top=”195″
  • Save the changes.
  • Start the Viewer – your sidebar should now be suitably resized when opened.

Viewer 2.0 goes “live”

Tom (Hale) Linden bullishly pushes through Viewer 2.0 as the new default Viewer for Second Life today. In a post about an improved New User Experience, Hale lets slip that Viewer 2.0 is now released, stating that the new  viewer is now a part of the default download for new users when they create a new account. Viewer 2 is now out of beta and joins Viewer 1.23 and other approved third-party viewers as an option for all Residents.

While this move isn’t entirely unexpected – the Lab did state back when the released of Viewer 2.0 into open Beta was being announced that they planned to make it “official” “by the end of Q1” (which is today), the “announcement” that this is now the case is nevertheless liable to cause much outrage and upset – especially for those heavily engaged in new user orientation and who a) have been given next to no time in which to re-generate their notecards and other information to reflect the new Viewer and b) haven’t even been given the luxury of a formal open announcement that Viewer 2.0 is now “out of Beta”.

One might also point out that those still attempting to Beta Viewer 2.0 have probably been taken by surprise by this announcement.

So… here it is – and note that official support for Viewer 1.22 now ends, and support for Viewer 1.23 will terminate at the end of June 2010.

Third Party Viewer Policy – Further update

LL have quietly slipped out a revised Third Party Viewer (TPV) Policy.

While its heart was most definitely in the right place, the initial draft was flawed in several areas, as commented on by myself and others at the time.

Pretty much everything that appeared to run against common sense seems to have been fixed – with the passable exception that LL still insist of laying claim to the word “Life”. In particular Part 1h is gone from the document (good!) and Point 6a(ii) has been revised so that personal information such as rl name and address will not be published in the Viewer Directory. A minor niggle here is that it should be spelled out clearly in the Policy itself, but it is clarified in the accompanying FAQ.

Point 7a has been also  been cleaned-up. The original stated:

You are responsible for all uses you make of Third-Party Viewers, and if you are a Developer, you are also responsible for all Third-Party Viewers that you develop or distribute.

This was a dangerously ambiguous statement and one that could be taken to read that the original developer will be held to account for each and every use their Viewer is put to – even if modified by others outside of their control. As such, this one statement, more than any other, served to potentially undermine the entire policy: who in their right mind would agree to such a clause when knowing full well anyone could maliciously seek to download, alter and use their code?

In the revised document Point 7a now reads:

You are responsible for all uses you make of Third-Party Viewers. If you are a Developer, you are responsible for all features, functionality, code, and content of Third-Party Viewers that you develop or distribute.

The difference is subtle, but it is there; The reference to features, functionality and code allow a distinction to be drawn between being a developer being held accountable for their “original” code and being responsible for modifications to said code made outside of their control. This should in theory be enough to allay fears in this direction.

Only it doesn’t. Many are still up in arms about the Policy, largely due to the manner in which Section 7 has been re-cut.

The problem here seems to be part technical and part social – and frankly, it is the Lab’s fault that the two issues have become confused inasmuch as they have chosen to draft a policy that intertwines the technical development of a Viewer and its means of distribution with its social use (Section 7, “Your Responsibility for Third Party Viewers” is actually now sub-titled “If You are a user or Developer of Third Party Viewers”).

The specific point that has upset some Viewer developers is Point 7d: You assume all risks, expenses, and defects of any Third-Party Viewers that you use, develop, or distribute (my emphasis).

The mixing of use with development and distribution of third-party Viewers creates an unfortunate ambiguity wherein this statement could be taken to mean that third-party Viewer developers could still be held accountable for the uses to which their code is put once it has passed beyond their control. This is clearly unfair.

While it could be argued that a user taking an established Viewer and tweaking it for malicious purposes could be regarded as “development” of the Viewer, the fact remains that such issues should really defined within the Terms of Service, which a) themselves relate to the use of both the Second Life service and the tools used to connect to it; and b) are actually likely to be read by users.

Both as a part of this blurring of use and development, and as a matter in its own right in terms of overall technical liability, several raising objections to Point 7d have done so specifically in terms of “GPL violations”. I have to admit, I don’t fully buy-in to their arguments, and I’m not absolutely certain any court would agree with their black/white view of the text of this Point because:

  • Linden Lab have sought to clarify the Policy with a FAQ, where the meaning of various clauses in the Policy are spelled out in lay terms. As a supporting document, complete with explanations given by Linden Lab themselves and presumably approved by their lawyers, the FAQ does have bearing in a court of law. As such, were Point 7d to result in a Viewer developer being held unduly to account for the use of their code, the FAQ could be used to counter any action
  • More importantly, no legal document stands in isolation. There is the established precedent of law and the forbearance of pre-existing agreements and understandings. As such, a court is unlikely to go against a Developer who has acted fully and completely both with the spirit of the GPL and this policy, simply on the basis of point 7d. In fact, in many respects, it is hard to see such a case reaching court
  • On the wider, more controversial front, many view GPL as automatically granting immunity under the terms of the agreement. This is actually not the case. Clause 16 of the GPL broadly absolves the developer from liability, it does so with the caveat of unless required by applicable law or agreed to in writing (my emphasis). Thus, and while some developers may howl and scream at me for saying so, LL are technically within their rights and within the spirit of the GPL to introduce whatever clauses they deem fit into their policy. While this is a cause for concern – as this is how LL are adding the onus of liability – it doesn’t prevent developers in turn limiting the extent of their exposure with an EULA that includes a mandatory agreement as a part of the Viewer installation process.

Thus, while there are problems with Section 7, I don’t actually believe they are insurmountable.

Ideally, the issue of confusing Viewer use with Viewer development would best be dealt with through Linden Lab simply redrafting the section to clearly differentiate between the responsibilities of the Developer and the responsibilities of the user (for example, have Point 7a list the responsibilities of the Developer as enumerated items (i, ii, iii, etc), followed by Point 7b giving a enumerated list of responsibilities for the user). Doing so would probably account for around 98% of the gnashing of teeth and wailing currently being evidenced.

That said, and failing any re-write of the TPV, developers still have recourse to the use of an EULA, as mentioned above. If I understand things correctly, doing so would not be in violation with the GPL. Such an agreement / licence statement would likely supersede  statements such as Point 7d in the TPV policy, given that by allowing such a Viewer to connect to the grid, Linden Lab are tacitly acknowledging the developer’s own Licence Agreement with their users.

One also wonders whether Linden Lab will actually be pro-active in blocking Viewers from accessing SL where the developers have not signed-up to the TPV.

That said, at the end of the day, the TPV seems less a matter of legal action and far more a matter of public perception. Take away the inadvertent ambiguity and the rest, and the Policy really hinges on two thing in order to “succeed” in its aim of reducing the risk of malicious Viewers connecting to the grid:

  • The unwillingness of people behind such Viewers to provide proof of identity to LL.
  • The unwillingness of users to go beyond the list of “compliant” third-party Viewers and use a Viewer which might be perceived as being malicious and result in their being banned from the system as a result.

As such, if both of these goals are achieved, or perceived to have been achieved, then the Policy can be regarded as a “success” – even if it does (sadly) come at the cost of some developers continuing with their efforts to provide better and more stable means for users to experience Second Life.

Viewer 2.0: updates and iterations

New Release

LL have released an update to Viewer 2.0. It incorporates some positive actions, but still leaves a lot of issues uncommented on. LL are at least still taking feedback, but I’d venture to suggest that they’ll stick with Tom Hale’s put-down made back on the 23rd Feb that what we’re seeing is pretty much *it* and that large-scale changes (even those that make sense) aren’t going to happen.

Nevertheless, the improvements are somewhat welcome and we’ll hopefully see more tweaks as time goes on.

Of Polls and Surveys

A new survey on Viewer 2.0 has also been released. After the outstanding joke of the original “poll”, as put up by Amanda Linden, this one at least has the appearance of seeking feedback from residents.

The original poll is, sadly, still available on the front page of the Viewer 2.0 forum, where it appears to make glowing reading – 67% of those asked apparently love the new Viewer! It is only when the actual poll itself is viewed that one gets the full measure of the spin involved:

  • Only three responses were obtained before the poll was locked
  • The three options that followed the question, Do you like Viewer 2.0 were utterly skewed towards favouring a “positive” outcome, given they were:
    • “I love it!”  – i.e. overwhelmingly “in favour”
    • “I like most of it” – i.e. still “in favour”
    • “I’m indifferent” – i.e. can be counted as “in favour” as it doesn’t actually say “dislike”
    • “I don’t like it” – i.e. only giving a 25% chance of wholly negative feedback

Many of us took Amanda to task over the poll when published, and this may have influenced the shut-down.

I’m curious as to the new poll on four counts:

  1. Whether the results will be made public – I’ve yet to find a link allowing me to view results.
  2. What degree of spin will be employed on the results should they prove negative (remember, Hamlet Au over at the Herald managed to turn one poll that had a 66% negative feedback into a positive, simply by only mentioning that 33% of those polled were “in favour”  – making it sound as if this was the largest portion of votes received).
  3. How the poll compares to this one, which does include the ability to view the results
  4. Whether LL will even publish the results or simply push them to one side if the feedback tips strongly towards the negative.

Security Worries

One of the new features in Viewer 2.0 that has caused much commentary is shared media. However, the commentary hasn’t been entirely positive, raising issues over security and privacy. So much so that it prompted Samuel Linden to post on the subject.  It was supposed to smooth over the concerns and calm residents.

It didn’t. While it is reassuring to know – as posted in response to the thread – that LL are “working on” the specific issues vis-a-vis potential exploits provided by shared media, which really weren’t addressed in Samuel’s blog post, it is still somewhat worrying that LL were seemingly aware of the risk that resident’s computers may be exploited through the unscrupulous use of shared media and still opted to set Viewer 2.0 to a default of auto accepting shared media.

It’s also worrying that while most web browsers – which seem to be the paradigm for the new Viewer – give the option to turn off things like Javascript support, etc. (or rather, turn them on) – LL’s wisdom was to have them turned on by default, with no option currently included – or originally going to be included – in the Viewer to turn them off.

Samuel states LL will now be providing this functionality in the next Beta release, albeit it somewhat grudgingly:  Obviously disabling JavaScript will severely limit the functionality of websites, and turning off plugins will render Flash inoperable, but these are features that were requested, and we are providing them in the next Beta release.

It is comforting to see that LL are listening and responding to user concerns relating to security around shared media but it is also worrying that they opted to take such a cavalier attitude towards security in the first place. If nothing else, this again points to the fact that Viewer 2.0 is – primarily – viewed by LL as “business tool” aimed for those whole will (in theory) be using it alongside their SLE product, nice and safe behind a corporate firewall, where fears flash and other tools being hacked are pretty much eliminated.

The First of the Third Party V2.0-based Viewers

Elsewhere, the first of the third-party iterations of Viewer 2.0 has popped up. KristenLee Cinquetti has always had a reputation for producing really top-notch Viewers which incorporate a lot of very useful features. Of all the Viewers out there, hers has always been my favourite simply because of the fact that her custom graphic pipe means that things like dynamic shadows actually work, and her graphics settings allow a whole new level of realism. Sadly, she does not embrace RLV functionality, which means I stick with Emerald – which, admitedlly, is almost there with the shadows.

Her first attempt at a “Viewer 2.0” compliant KLee Viewer incorporates elements that have found their way into the latest Beta update – so some may wonder at the fuss. That her mods were slightly preempted by LL is a shame – but they at least show how things can be done.

The major changes made are:

  • The Sidebar no longer shunts the world view to the left when opening (now in the latest official relase)
  • The Camera controls have been tweaked to something like the old system – both move and rotate are on the same toasty (pop-up). Admittedly, they still vanish if you click elsewhere – which is annoying and the control itself is still overly large, but at least there is no need for painful toggling
  • About Land is back on the top bar as standard – an XML tweak has previously been provided by Alexandrea Fride for Viewer 2.0, and its inclusion here is very welcome and makes the Viewer land management friendly once more
  • Some attempt has been made at making pop-ups, etc., transparent when the focus is moved from them but – frankly –  the interface really doesn’t lend itself to this. While this is hardly Kirsten’s fault, it still renders the effort on her part as almost wasted (transparency has also been somewhat introduced to the official Viewer)
  • Preferences -> Graphics includes an additional tab that allows the more “advanced” user an even greater degree of control over how their SL experience looks and feels – and this is very welcome
  • The Map and Mini Map button have been returned to the bottom toolbar. While both are very welcome additions, the former is huggable, as it means the bloody Sidebar can be totally avoided when trying to use the map!
  • Inventory is also back on the toolbar – so **HUGS** again as the Sidebar can be avoided!
  • Speed – as with all Kirsten’s Viewers, the average fps (for me) is around the 30 mark – considerably faster (and smoother) than the official viewers.

There are some things that are currently missing – but this could be down to the fact that the interface doesn’t (if Tom Hale is to be believed) make for significant changes. The Sidebar, for example, does not turn transparent when left open and the focus moved from it. Again, it may be entirely possible that making it so wouldn’t so much to change the impact it has on the immersive experience but there is a lot of black in the Sidebar, and it would be nice to see some of it “vanish” when forced to keep the bloody thing open. But then, like the official Beta, this is just a first stab at V 2.0.

Overall, I have to say that Kirstenlee’s approach is a major step forward in developing a Viewer that actually addresses two somewhat disparate audiences – the “old” and the “new”. What is more to the point, it goes a long way to ensuring that Viewer 2.0 doesn’t become increasingly annoying to “new” users as they gain grater familiarity with the Viewer and the platform and simply want to enjoy their in-world experience as a 3D experience rather than a 3D background to a clunky interface.

Viewer 2.0 update

For those still struggl persevering with Viewer 2.0, a further set of tweaks (from Kitty Barnett – thanks, Kitty!) can be found in the official forums.

I have to say that for now, I’ve stopped using Viewer 2.0. This is simply because for much of what I do in-world, I need Viewer 1.X – and I’m a little bit fed up with Viewer 2.0 screwing my appearance up each time I load it up (it forces me Avatar to “roll back” to whatever I was wearing the last time I was logged into V 2.0 – regardless of subseqent outfit changes in V 1.X. Most irritating).

If I come across any other V 2.0 goodies, I will of course post them here. In the meantime hints and tweaks continue to be logged in Alexandrea Fride’s thread.