The following notes are taken from the TPV Developer meeting held on Friday December 6th. A video, courtesy of Northspring, can be found at the end of this report. The numbers in braces after each heading (where given) denote the time stamp at which the topic can be listened-to in the video.
Release Channel Viewers
Name Updater Release Candidate
The Name Updater RC viewer, also released on December 3rd, has been updated to version 184.108.40.2064506. This contains no functional changes to the viewer itself but contains two sets updates, hence the odd name.
The first of these is a fix for the viewer updater where problems can occur if a new update to the viewer is downloaded by the updater but deleted somehow prior to the installer itself being executed. The second set of updates cover:
- Changes to how the viewer packaging is done and cleans-up how the viewer channel (used to recognise the viewer and allow it to connect to the SL servers when logging-in) is distributed and established
- Makes some changes to the viewer start-up parameters
- Changes the package names to a uniform format which is the same for all of the operating system platforms.
The aim of these changes is to further improve the viewer build process and reduce the number of places changes have to be made in order to change the viewer channel name when building different flavours of the viewer (LL’s own or a TPV).
The RC has been performing well in terms of low crash rates, etc., and looks set to be promoted to the de facto release viewer in week 50 (week commencing Monday 9th December), and so will see-out 2013 as such if this is in fact the case.
It is possible a further Google Breakpad RC may appear in week 50.
Maintenance Release Candidate
The Maintenance RC viewer 220.127.116.114430, released on December 3rd suffered an abnormally high crash rate, prompting it to be withdrawn in order for it to be looked at and crash issues diagnosed / fixed. Once these issues have been dealt with, the viewer will be returned to the release pipe.
Project Interesting Viewer
The Project Interesting (aka “viewer-interesting”) RC viewer has been in RC for a while and is suffering a high number of crashes, which are currently being investigated by the Lab. Unlike the Maintenance RC viewer, it has been left as an RC simply because issues are being found with it, because of both the number of people using it and the broad range of systems on which it is being run and which the Lab couldn’t possibly account for in their own testing.
At the moment, the Lab are trying to put together an update for the viewer, but they still have a couple of “pretty serious” crash issues which have yet to be resolved. However, the hope is that this may actually make it out into the world before the no change / code freeze window comes into force on Monday December 16th, which affects all server releases and all viewer release channel releases. This would allow the updates made to get further “in the field” testing during the code freeze / holiday period.
That both the Project Interesting and Maintenance RCs are experiencing issues is something of a validation of the new viewer release process introduced by the Lab earlier this year, in that the problems being encountered with both of these viewers are not blocking the viewer pipe, unlike the situation of just over a year ago, where a series of crash issues with the old beta viewer completely halted all significant viewer updates.
Fitted Mesh Project Viewer
[02:20-03:16 / 32:05-39:20]
As noted in part 2 of this week’s report, the Fitted Mesh project viewer received a set of updates (including new avatar skeleton files) in the form of release 18.104.22.1684458. The project viewer has so far received a very low number of downloads – somewhat unsurprisingly – with the total number of people using the viewer thought to be under 2,000. This means that it hasn’t as yet been used widely enough to generate meaningful crash statistics.
The response to the skeleton changes within the viewer has been “good”, and the viewer has seen a reasonable number of JIRA issues raised under the FITMESH project, etc., although the Lab cautions against anyone using the changes contained in the viewer in anything other than an experimental version of their own viewer until such time as the code reaches a Release Candidate status. The latter will not happen before the end of 2013, although there may be a further project viewer update for Fitted Mesh before the end of the year.
One thing which may happen when the viewer is approaching a release status is that it will bring with it a “significant bump” to the viewer version number, not the least of which is because users on viewers without the code may see some bizarre, or at least oddly fitting clothing on avatars using garments weighted to use the new system, as noted in my launch preview of the Fitted Mesh project.
Overall, it appears that the Lab is “pretty happy” with the way the work is developing, although they would like to see more people involved in using / testing the viewer, particularly anyone proficient in rigging mesh garments, etc, especially given the nature and state of the project, as Oz Linden pointed-out:
This is one of those times when things are in flux and can be changed… We have never made changes to the avatar skeleton casually, and we’re making a round of changes now; we’re wildly unlikely to make another round of changes for years. So if there is feedback to be had, this is the time to have it.
So if you are a creator and do have an opinion on how things might be better handled within the Fitted Mesh solution, now is the time to be involved and potentially influencing the Lab’s thinking. not every idea put forward may be taken-up; but on the other hand, waiting until the changes have been made and the viewer released will certainly mean that any ideas someone may have will have passed their sell-by date.
The Delay in Opting for this Solution
Part of the general feedback voiced when the Lab announced the Fitted Mesh viewer came in the form of questioning why it took the Lab so long to reach the decision to go with the approach. Part of the reason appears to be that mesh deformation and Server-side Appearance projects required the same expertise with the Lab to be applied to them, and so were vying with one another for manpower – and the decision was made to give the SSA project priority.
Oculus Rift Update
During the Server Beta meeting on Thursday December 5th, VoidPointer Linden indicated the work on making the viewer operate with the Oculus Rift headset was now “feature complete”, and that a (presumably project) viewer will be appearing “soon” with support for the headset. How soon is open to question, given VoidPointer had to be somewhat circumspect. However, following the TPV developer meeting, it appears that “soon” might actually be a little more in the realm of “later” than may be the case.
Commenting on the project during the meeting, Oz said
I have not heard a projected date on that. I know that they keep doing builds, they keep claiming they’re making new progress, and I believe them, but I have not seen a date … We all know I’ve got a significant list of projects that have been making claims of that sort [that they’ll be released soon] for quite some time and we all know how few of them you’ve actually seen. But it is in the list of pending stuff.
As Oz was speaking, Alexa Linden added via text, “We’re still in testing mode.” So those hoping that “soon” may translated as “real soon (TM)” or even “pretty soon (TM)”, could well have to wait a little longer than they’d been hoping.
Oz also indicated that he hopes that the Fitted Mesh project will be wrapped up before it faces a lot of competition for release status among emerging viewers.
Back in 2008, Linden Lab launched their SLim (“Second Life instant messenger”) client, a voice and text instant messaging client running on Windows and Mac which was designed to allow SL users to conduct voice or text conversations with their SL friends in and out of the world.
SLim didn’t actually get out of “beta”, in which it ran for 18 months between September 2008 and March 2010, when it was declared a “great success” – and summarily cancelled as a project “with immediate effect”. The reasons for this were numerous, and included the fact that a very low percentage of active SL users at the time bothered with it, messages were limited to the basic ASCII printable characters (which caused problems for those not using the English language in their exchanges) and the friends list in the client rarely matched-up to who was actually on-line.
However, this is somewhat by-the-by. The core point here is that SLim wasn’t developed by Linden Lab per se. It was in fact developed by Vivox, suppliers of SL’s voice service, on behalf of LL. The work involved the use of various APIs and avatar presence data to help manage interactions between those in SL and those using the SLim client. These haven’t actually been used (as far as the Lab is concerned) since the closure of the SLim project, but were impacting performance on some databases as a result of their presence. As a result of this, LL has disabled the APIs and removed any related data from the impacted tables on Aditi (the beta grid), and are looking to do the same on Agni (and main grid) in the New Year.
In order to ensure the Lab hasn’t disabled or stepped on anything related to voice, or have deleted an API which may still be in use, TPVs have been asked to carry out voice and presence testing on Aditi over the next few weeks. If nothing is heard back from TPVs on the matter in the New Year, then the updates will be deployed to the main grid, and will effective signal the final passing of SLim.
The inventory updates known as AIS v3 have reached a point where LL’s own load testing is now complete, and they are now looking for a final sanity check on the changes using actual user content and user interactions with inventory. To this end, they’ve been asking TPVs if they can integrate the code changes into experimental versions of their viewers and assist with a pile-on test on Aditi in the near future.
The testing will most likely used the four existing Sunshinetest regions on Aditi, which are running the updated server-side code and will comprise basic A/B testing, running a defined set of inventory operations as defined by the Lab using the current AIS v2 code, and then moving across to a region running the updated AIS v3 API and running the same tests using an updated viewer. This should allow the results to be directly compared, and looking at expected behavioural changes and any failures which may arise.
The hope is to have 40-50 people involved in the testing, and Brooke Linden initially suggested the Lab would like to carry-out the testing in the next week. Given the amount of work involved in organising volunteers, ensuring they are running the correct viewer, arranging times, etc., coupled with the upcoming holiday season, this appeared to be something of an ambitious time-frame, and that early in the New Year is probably a more reasonable target for testing.
HTTP 1.1 – Monty Linden
Monty Linden is continuing to work on cleaning-up the third-party libraries and their repositories which are used in the viewer builds, something which started out as an intention to “just” clean-up the libcurl library, and has grown somewhat since then. “But the more I looked into our code base, and more and more looked at what we’ve been doing with the third-party libraries, the more problems I found,” he said during the TPV developer meeting.
He’s therefore been working on producing a consistent (in terms of applicability to the build process and in ensuring the same library packages are used throughout, etc.)subset of library packages than has been the case up until now. But even this work has suffered a degree of scope creep. “How much work will be done and where the line will be drawn isn’t settled yet,” he added. “It’s already covering a half-dozen to a dozen libraries, of which we have … something in the order of 40 or 50 in total , so I don’t know where the line will be.”
What he has been doing is to refresh code within the libraries, ensure they are consistently built, making sure there are consistent references to the same build artefacts wherever possible and generally “doing things in a more rational and correct fashion”, with a view to rationalising viewer build process across all three operating system platforms. This work has now reached a point where he’s looking for a casual review of the work he’s done to date (as the libraries are used for building both LL’s viewer and TPVs).
While this work is somewhat of an aside to Monty’s HTTP and HTTP pipelining work, the rationalisation of the third-party libraries may not only improve the current viewer build process, it may also help pave the way at some point for the Lab to introduce things like 64-bit versions of their own builds.
Alongside of, but separate to, Monty’s work, TPV developer Cinder Roxley has also been working on a set of Autobuild improvements that will also be of benefit to the viewer build process once they have been completed, allowing for better dependency management, such as warning when a built is linked to two different versions of the same library.
With thanks to North for the video.