Each week through the year, I try to get to as many in-world and other meetings held by the Lab to keep an eye on technical developments and updates which are in the works for the viewer and the simulator, relaying the notable items via my SL project updates. As such, I thought it might be interesting to look back at some of the technical changes and updates have come our way in 2016.
The Big Ones
There were obviously a number of fairly high-level updates which came our way, notably Project Bento, which gave us a lot of new bones and attachment points specifically for mesh avatars to make them more flexible and easier to animate. There’s a whole story behind that project which perhaps hasn’t been told in full, so expect to read more from me on it in the New Year 🙂 .
Then there was Avatar Complexity, or Jelly Dolls as it has been more popularly dubbed (initially by Whirly Fizzle after it was pointed out the term “Jelly Baby”, as initially used was in fact a trademark). Avatar Complexity is designed to reduce the often high cost of avatar rendering by the viewer, thus lightening the load on computers / graphics cards which might otherwise struggle.
A longer-term hope may have been that perhaps it would encourage people to consider what they are wearing and how it may affect others, and even get content creators to think more conservatively about their creations, and seek to optimise them for rendering. Whether either of these latter points might be / already have come about is nigh-on impossible to judge.
Both Project Bento and Avatar Complexity involved some pretty substantial changes to the viewer – Bento to the degree it warranted a version number boost. But they weren’t the only significant changes. There were also 6 new Maintenance viewers through the year, bringing with them over 250 fixes, updates and improvements. Besides these the following notable viewer releases / updates also appeared through the year.
Alongside of Avatar Complexity we gained Graphics Presets, another useful means to help improve viewer performance by allowing users to save different graphics set-ups for the viewer. This means, for example, we can have a preset for taking photographs, with all the more taxing graphics options – shadows, lighting, longer draw distance, etc – can be enabled, then have another for, say, shopping, where all the bells and whistles aren’t required, helping to improve viewer performance – and we can quickly change between them without all that tedious mucking about in Preferences.
If you are on a system which can struggle at times because you have your graphics settings tweaked a little on the high side and you’ve not experimented with Graphics Presets, you might want to give them a try.
Visual Outfits Browser
The Visual Outfits Browser brought with it the ability to have images associated with your Outfits (if you use the Outfits capability). Feedback on this seems to have been mixed. Many like it, while many, equally, ignore it (and I’m among the latter category).
The viewer received a lot of new under-the-hood HTTP updates, including the removal of a considerable amount of deprecated and unused code, and a series of improvements for things like image, mesh and animation uploads, inventory manipulation, the Viewer Management Marketplace, LSL script compilation, Experiences management, etc.
Voice has been worked on throughout 2016, with the Lab working closely with the Voice package provider, Vivox, to improve connectivity, overcome Voice quality issues, and removed many of the known exploits as possible to prevent thinks like a user in one region eavesdropping on a conversation being held in another region.
This work has involved changes to the viewer, changes to the simulator, changes to the Voice binary package supplied by Vivox (SLVoice.exe) and even changes to the Vivox servers (Voice is routed through their own servers).
As Apple dumped QuickTime for Windows with potential security vulnerabilities unpatched, The Lab adopted LibVLC for media handling in the Windows viewer (and will be moving to it win the Mac and Linux viewers when their have released their 64-bit viewers). The move overcomes most issues in trying to play back media in-world, however, licensing around the Advanced Audio Coding and MP3 formats, and the way things are packaged with LibVLC might leave TPVs with a headache or two.
Aura Linden worked on removing deprecated and unused UDP inventory messaging mechanisms from the viewer. This work is to be followed by the removal of back-end support for the removed message channels, and further viewer-side work on rationalising and refactoring the code handling inventory operations.
360 Snapshot Viewer
Whilst still only a project viewer, the 360 snapshot viewer is part of a viewer / simulator project to bring 360-dgree photography to Second Life.
One unpopular move was the announcement concerning Linux development going forward (although the Lab will be building a 64-bit Linux viewer).
The Simulator and Servers
The simulator software continued through its weekly deployments throughout the year, added bug fixes, security updates, feature requests and more each month. Listing everything that happened here would rapidly turn this article into a TL;DR. However, as well as the continued deployment of simulator code updates, 2016 saw the mechanism and tools used to build the simulator undergo update, as was (/is) the underpinning server operating system running the simulators.
Support for larger animation files was introduced, with uploads increased from 120Kb to 250Kb.
Group bans finally got a tweak so that those banned from a group whilst active in group chat would finally get booted from the group chat session as well.
Experiences got a new scripted sit capability, code-named Project Espeon.
And, of course, we have the increases to Land Capacity (or LI or prims, however you like to think of it).
Aditi Inventory Syncing
A new process for syncing inventory between Agni (the Main grid) and Aditi (the beta grid) was introduced, eliminating the need for users wishing to have their Agni inventory fully replicated on Aditi having to change their SL password and then wait between 24 and 48 hours (sometimes longer) for their Aditi inventory to be synced with Agni. Under the new system, a process automatically merges a copy of users’ Agni inventories with their Aditi inventory based on their last log-in to the beta grid.
There were some teething problems with the new system when first introduced (and some people report there may still be hiccups), but on the whole the new process is a lot smoother than the old.
Web Services: TLS 1.2 and More
The Lab made the switch to TLS 1.2, which had the potential to impact people’s ability to buy L$ via the LindeX / through a browser and / or add payment info to their account if they were not using a suitable viewer or web browser.
There were also numerous changes to various web properties, including updates to the SL Marketplace, the retirement of SLurl.com, various security and infrastructure updates
Grid Status Page
The Grid Status page moved to a new provider and was overhauled to be hopefully more informative, and have a faster means of update.
The lab plays their cards close to their chests when talking about upcoming changes / updates / improvements to Second Life, but here’s a (short) list of some of the things we can reasonably expect to see in 2017:
- 64-bit versions of the official viewer (Windows, Mac and Linux).
- Possible changes / tweaks to the avatar / object complexity calculations made by the viewer, such as it being able to more easily determine those avatars in its field of view it should not attempt to fully render (rather than waiting on information from the simulator to make that determination).
- Further updates to the viewer build tools (e.g. VS 2015 for Windows).
- Progress on the 360 snapshot viewer.
- Further work cleaning-up and rationalising the viewer code.
- Voice updates for both the server and the viewer.
- Continued server deployments and improvements 🙂 .