“Project Interesting” arrives as a release candidate viewer

The long-awaiting “Project Interesting”  viewer has finally made it to release candidate status with the arrival of version 3.6.11.283895 of the viewer on Thursday November 14th.

This viewer represents the last stage in the current work on improving interest list functionality, the code which controls how the data relating to your in-world view is handled by both the server and the viewer. This includes what is sent to the viewer, what is retained by the viewer for reuse and things like the order in which objects are rendered when you log-in to SL or teleport (so that the “interesting” objects which are closer to you or which are particularly large should render first, for example).

The vast majority of the interest list work has already been delivered, and everyone should already be enjoying the broader benefits. However, the final phase of the current batch of work has been focused on both server and viewer changes, and the latter have been somewhat delayed due to a number of bugs, some of which were the result of the need to further tweak things server-side which in turn adversely affected the viewer’s behaviour, while others were bugs which appeared to have been dealt with, only to return in a later build.

AS-12_001
The “project interesting” viewer updates should further improve scene loading for users through improved caching of region and object data, better use of memory, etc.

The core changes within this viewer relate to what can be cached locally. This should allow the viewer to store more information on objects and regions than is currently the case, enabling it to re-use object / region data without having to rely on the server to re-send the information, improving rendering times when you are exploring a region / teleporting back to a region previously visited.

One of the bugs which delayed the arrival of the “project interesting” viewermeant that some objects would not render (as is the case with the house in this image). Unlike the recent “missing prims” issue, no bounding box, etc., was loaded by the viewer, so right-clicking where the house should be would not resolve the issue – a relog was required (image courtesy of Whirly Fizzle)

There are other improvements to further assist with scene loading as well. For example, when teleporting into a region never before visited, the viewer can now tell the simulator that it has no data for the region cached, and the simulator can in turn simply get on with prioritising the data and downloading to the viewer, rather than it having to repeatedly ask the viewer if it needs the data, as is currently the case. The result of this is that “several seconds” can be shaved from scene loading times for uncached regions. Also, the viewer will no longer load objects from cache into memory if they are completely by scene geometry, thus reducing unnecessary memory use.

The viewer is currently a release candidate, which means it will be downloaded and installed for some users who have indicated a willingness to participate in the release candidate programme through their viewer Preferences (Set-up > Willing to update to release candidates). Those who wish to manually install the viewer can read the release notes and download it from the link below.

The Lab issued a blog post to accompany the viewer release (which I initially missed), which includes a video demonstrating the changes, narrated by Torley Linden.

Related Links

Kokua issues AIS test viewers

kokua-logoAs regular readers here will know from my weekly SL project reports, Linden Lab is (among other things) working on the final clean-up of the Server-side Appearance (SSA) code. A large part of this work is directly linked to inventory handling, and is being referred to as the Advanced Inventory Service version 3 updates (AIS v3).

The primary aims aim of these updates is to address a series of inventory issues outstanding from the implementation of SSA, and to aggregate some operations that are currently multiple things into a smaller set of more powerful APIs. As noted in my last update covering AIS, the viewer-side code has reached a point where the Lab is both keen to progress with further testing. This being the case, the Lab has asked TPVs if they could incorporate the updates into experimental versions of their viewers so that they might assist with the testing.

Integrating the AIS v3 code isn’t as straightforward for those viewers which support both OpenSim and SL as it is for those that are focused solely on SL, as the AIS updates have been combined with a removal of the old client-side baking code from the viewer, as this is no longer required by the Lab. So in order to ensure avatar baking continues to work when users log-in to an OpenSim environment, those TPVs supporting both environments with a single viewer are having to ensure the client-side code is not lost when incorporating the new SSA / AIS updates.

On November 6th, Nicky Perian reported that Kokua has now done this, and has a test viewer for Windows available in the former version 3.6.9.30799, which is available in both 32-bit and 64.bit flavours.This viewer both includes the AIS updates and retains the client-side avatar baking code.

As the AIS code is still under development, it is not recommended that either version of this test viewer is used as the primary viewer for logging into Second Life. The primary reasons for making the viewer available are to:

  • Allow SL users to test inventory transactions, including changing avatar body parts and body part parameters (for example, eye colors) using the dedicated test regions which have been established on the SL Beta test grid Aditi (sunshinesls, sunshinesls1, sunshinetest, sunshinetest1)
  • Allow OpenSim users to also test inventory transactions and avatar baking on an OpenSim, and check for any unexpected changes to expected behaviour when compared to the latest release viewer.

Related Links

Black Dragon viewer: progressing nicely

Blackdragon logoTuesday November 5th saw the release of Black Dragon 2.3.7 Maintenance 2, the second release for the viewer in as many weeks, the previous being (wait for it) 2.3.6 Maintenance 1. Since it’s been another two months since I last looked at Black Dragon, which is still officially in its Alpha phase of development, I decided the arrival of 2.3.7 was as good a reason as any to take another peek at what Niran has been up to.

And it is actually rather a lot, with each of the iterations of Black Dragon appearing since 2.3.1 both building on the basic LL v3.x look and feel while adding-in both more TPV features and Niran’s own unique take on the viewer’s appearance and layout.

  • Version 2.3.2 saw the inclusion of a host of CHUI, NORSPEC (materials), Cocoa updates, bug fixes and maintenance updates from Linden Lab, together with the return of Tofu Buzzard’s screen space reflections and a lot of general clean-up
  • Version 2.3.3 was to include further LL code updates and fixes, some updates to Niran’s Machinima Sidebar, and further rendering / graphics tweaks
  • Version 2.3.5 saw the re-introduction of RLVa, complete with a dedicated Preferences tab.

As noted above, both release 2.3.6 and 2.3.7 are classified as “maintenance” releases, planned by Niran to further enhance the work started in version 2.3.4, which introduced the first phase of overhauling the Preferences floater.  Given this, what follows is intended to be an overview of the most recent updates to Black Dragon, with a particular focus on the Preferences work, rather than an in-depth review.

Preferences

With Niran’s Viewer, Niran opted to go for a fairly radical overhaul of the Preferences options, presenting them as an overlay, rather than within a floating panel. It was a novel approach, and one which, while making better use of screen space, could also be disconcerting to users coming to it the first time, particularly when trying to find settings, etc. In the re-working of Black Dragon, he’s gone for something less radical and potentially less unsettling to users familiar with the “traditional” approach to the Preferences floater, but which still offers an interesting take on how Preferences can be presented.

The first noticeable change is that Niran has used headings to split the various Preferences tabs into definable sections. The result is a layout which tends to be more logically ordered and which the eye tends to follow more easily.

The RLVa Preferences panel introduced in version 2.3.5 of Black Dragon and showing the use of section headings to help logically arrange the tab's content
The RLVa Preferences panel introduced in version 2.3.5 of Black Dragon and showing the use of section headings to help logically arrange the tab’s content

The other obvious change is that rather than using additional sub-tabs within a given section of Preferences, Niran has opted to use a slider on the right of the given tab, allowing users to scroll up and down through options in order to display them. It’s an interesting approach to take, and one that is certainly as valid as the use of sub-tabs; however, having to scroll through an extensive list of options such as with the Display tab perhaps isn’t quite as efficient as being able to see tabbed headings at-a-glance in order to switch between them.

There are other touches as well which set Black Dragon apart in terms of Preferences presentation. Within the Display tab (Graphics), for example, Niran opts to use drop-down option lists rather than sliders for various settings. This is again a carry-over from Niran’s Viewer, and whether one likes it or not is liable to be a matter of personal taste. To me, being able to set the rendering quality for something like in-world objects to a value between Low and Ultra feels more intuitively user-friendly than adjusting a slider to an arbitrary point somewhere between 1 and 4, or 0 and 1, or 16 through 120.

The Display (Graphics) tab in Black Dragon's Preferences. Note the use of the slider (far right) rather than sub-tabs, the use of drop-down lists in place of sliders and the [default] option for quickly resetting those sliders which are still used
The Display (Graphics) tab in Black Dragon’s Preferences. Note the use of the slider (far right) rather than sub-tabs, the use of drop-down lists in place of sliders and the [default] option for quickly resetting those sliders which are still used
Continue reading “Black Dragon viewer: progressing nicely”

Firestorm 4.5.1: living in a materials world

firestorm-logoThe long-awaited Firestorm update has arrived in the form of Firestorm 4.5.1.38838. And for windows, it comes in both 32-bit and 64-bit flavours. If you’ve read my recent interview with members of the Firestorm team, or the transcript of the Firestorm Q & A held on October 26th, you’ll know both versions essentially have the same functionality, although there are some slight differences, which I’ll come to anon.

As far as the 32-bit release is concerned, however, there are a few  of up-front notes to be read:

  • It is a beta release, not a “final” release. What does this mean? Essentially that it is coming out with both new functionality and with a fair few bugs, some of which may well continue to irritate while others people should be able to live with
  • The reason it is not a “final” release is that there is a lot more coming down the pipe from Linden Lab – additional SSA + inventory work, further viewer-side interest list updates, new HTTP updates, group ban functionality, and so on. However, none of this has been officially released by LL, and so while it has been hoped to bring to users in a 4.5.1 release, the Firestorm team have (wisely) opted to draw a line under what they have and clear the decks for the next round of code integration and updates (which will also hopefully resolve a number of the more irritating bugs to be found in the viewer – any viewer – where things like inventory, interest list work, etc., is concerned)
  • Although the release is “beta” it is fully supported by the Firestorm support volunteers.

These releases see Firestorm reach parity with the Linden Lab 3.6.7 code base, and all fixes up to that release. What follows here is not intended as an in-depth review of Firestorm 4.5.1.38838, but rather an overview of what is likely to be the more popular features and updates and a look at some aspects of the Windows 64-bit version. This being the case, please also check the release notes / change log for a full list of updates and all attributions thereof.

Download and Installation – 32 bit

It is strongly recommended that users perform a clean install of the new release. For Windows users, this means ensuring you remove the Firestorm folders found in C:\Users\[username]\AppData – under the Local and Roaming folders respectively, as well as uninstalling the program. Do make sure you use the settings back-up option (Preferences > Backup) to back-up your settings prior to uninstalling your current version of Firestorm and deleting these two additional folders.

The 32-bit installer weighs-in at just over 44MB in size, which is pretty much par for the course for Firestorm, and (for me) installation was smooth and didn’t trigger any AVG Pro alerts.

Once started, I noted this release appears to follow the menu bar colour scheme introduced by the Lab alongside of their updated viewer release process. Rather than being the default Firestorm colour, the menu bar is tinged a deep purple, indicating it is a beta release.

CHUI Updates

As Firestorm already had a communications interface which does much of what Linden Lab’s Communications Hub User Interface (CHUI) does, Firestorm does not implement CHUI in its entirety, although some features have been added. These include:

  • Block tab added to the people panel
  • Support for showing/hiding timestamp and names, replacing own name with (You)
  • Added expandable chat entry fields (Firestorm specific improvements made by Cinder Roxley)
  • A new menu item, Comm > Conversation Log (see below)
  • Access to Conversation Log and Chat History from the People floater
  • Sounds for teleport and inventory offers.

Conversation Log

The conversation log allows you to review saved logs of past conversations from within the viewer. As noted above, options can be accessed via the Comm menu or via the People floater.

The Firestorm 4.5.1 Conversation Log floater
The Firestorm 4.5.1 Conversation Log floater

Using Comm > Conversation Log opens a floater listing all available conversation logs. Right-clicking on any name in the list will display a series of options: IM, view profile, offer teleport (if the person is online), etc.

Open Chat Transcript will open up the conversation history with that person in a viewer floater, or if you prefer, Open Chat Transcript Externally will display the conversation history with that person in an external application such as Windows Notepad. These options are also available from the gear cog button at the top right of the floater, while the button next to it allows you to sort the order in which logs are displayed and access the Nearby Chat history.

When using the People floater, right-clicking on an individual’s name will display an option to view your chat history (if available) with them within the viewer. If there is not available history, the option will not be displayed.

Export / Back-up and Import

Firestorm becomes the latest in a number of TPVs to include the capability for users to back-up or export their own creations to their hard drive. Version 4.5.1 provides two file formats for this:

  • .OXP format for backing-up your own creations – which can include prims, textures, sounds, animations and note cards
  • .DAE format (Collada) for exporting objects as mesh.

Both options will export objects and their textures (the .DAE export code is from Singularity), and both are fully compliant with the Second  Life permissions system, meaning:

  • Objects must belong to you, and all parts made by you or export will fail.
  • All textures on the object must be in your inventory, and be made by you. This includes sculpt maps
  • If you are not the creator of any element in an object, it will be replaced by the default when saving to your hard disk (so any prims you did not create will be replaced by a default cube, for example)
  • Any items contained inside the object (e.g. scripts, notecards, etc) must also be made by you
  • Back-up cannot be used to save mesh objects or objects containing mesh parts.
Back-up (l) to .OXP format and export (to Collada .DAE) from Firestorm
Back-up (l) to .OXP format and export to Collada .DAE (r)  from Firestorm. Note that as I am attempting to back-up / export an object which uses textures I did not create, Exportable Textures is set to 0 – on saving the file, the three  textures in the object will be replaced with the default plywood texture

Objects which have been backed-up should be imported using the Import Linkset option via the Avatar / Build > Upload menu. Objects exported as Collada .DAE files can be uploaded using the mesh importer.

To initiate a back-up or export, right-click on the object in question in-world and select Save As > Backup or Save As > Collada as required (if you’re using the pie menu: right-click and More > More > Save As and select the required option). The required dialogue floater is displayed – please then follow the Instructions on the Firestorm wiki.

When importing a back-up, it’s worth noting the following:

  • Importing a backed-up object
    Importing a backed-up object

    If you back-up a textured object to your hard-drive, note that as long as you have the textures in your inventory, you do not have to re-upload them when importing the object once more. Therefore, you can leave Upload unchecked and avoid paying to re-upload the textures. Once the object has been uploaded, the texture will be applied from your inventory

  • If the object contains textures, sounds or animations which have been completely flushed from your inventory since the object was backed-up, you will either need to check the Upload box on the importer and pay to re-upload them as a part of the import, or import them separately
  • You can opt to restore the imported object to the same region co-ordinates as recorded when it was backed-up (use with care) and opt not to have the object re-attach itself to you if it was originally attached when backed-up.

Materials Processing

Full materials processing support (diffuse, normal and specular maps) are included with this release. See my article on materials processing if you’re not already familiar with it. Or if you prefer, simply watch the video.

Movelock

Movelock is designed to provide a means of “replacing” avatar phantom (which no longer works as a result of other changes within LL’s viewer code) as a means of deterring people from trying to push your avatar around (such as when you’re afk, or simply because they are being an 18-karat wombat).

It uses LSL through the Firestorm bridge in order to try to “lock” your avatar wherever it stands (although you can still move around yourself with Movelock is enabled – it comes into play when others try to bump you around).

Movelock can be activated via Avatar > Movement > Movelock or by CTRL-ALT-P, or through the Movelock toolbar button. Once enabled, your avatar can still be pushed by other avatars and objects, but will return to its prior position when the pushing ceases. North, who coded the feature, produced a video on her early work with Movelock, demonstrating it in action.

Again, this isn’t the same functionality as avatar phantom,  but will hopefully act as a deterrent to those who insist on shoving others around.

New Particle Capabilities Support

This release of Firestorm includes the “new” particle system capabilities, comprising:

Arton Rotaru has produced a video demonstrating the ribbon particle effect to create tyre tracks left by a vehicle.

Particle Griefing Alleviation

Note that these new particle capabilities include the ability to right-click on a particle stream / any rendered particles and mute their associated emitter, effectively blocking them. This can greatly simplify dealing with unwanted particle effects, such as during a particle griefing attack be eliminating the need to find the actual emitters and muting them. Also, as part of a general anti-griefing measure, particles will automaitcally cease rendering if FPS drops below 4 (both of these are Linden Lab improvements).

Continue reading “Firestorm 4.5.1: living in a materials world”

Firestorm Q and A, October 26th: video and transcript

firestorm-logoOn Saturday October 26th 2013, the Firestorm team hosted another informal question-and-answer session. While the meeting was recorded, the Firestorm team are aware that many of their users have hearing difficulties, and / or prefer to read text. It is because of this that this transcript has been provided.

When reading it, please remember:

  • This is not a word-for-word transcript of the entire meeting. While all quotes given are as they are spoken in the video, to assist in readability and maintain the flow of conversation, not all asides, jokes, interruptions, etc., have been included in the text presented here
  • If there are any sizeable gaps in comments from a speaker which resulted from asides, questions to other etc,, these are indicated by the use of “…”
  • Timestamps are provided as guidance should anyone wish to hear the comments in full from any speaker on the video
  • Questions /comments were made in chat while speakers were talking. This inevitably meant that replies to questions would lag well behind when they were originally asked. To provide context between questions and answers, questions in the transcript are given (in italics) at the point at which each is addressed by a member of the Firestorm team, either in voice or via chat.

Please note: This transcript is provided for informational purposes only. As such, questions on technical issues relating to Firestorm and  / or project-specific questions cannot be answered here unless one of the Firestorm team drops by.

The TL;DR Summary

The numbers in braces are timestamps which refer to the section of this transcript where more details can be read, and to the section of the video recording where the relevant comments can be heard.

  • The upcoming release will be a public beta. It will have a number of known bugs, some of which will be annoying [0:01:42-0:02:28]
  • There is a lot more coming from the Lab, so it is important the Firestorm team get a beta version out, so they can prepare for bug fixing and integrating the new code LL will be pushing out (and which is currently pending release by the Lab) including:
    • SSA updates (AISv3)
    • Group ban list
    • Interest list
    • HTTP updates
  • It will be a beta release, but it will be fully supported  [0:05:10-0:05:33]
  • The Firestorm team have been accused of “holding things back”, they are not. There are valid reasons for any apparent delays (such as the amount of work some code merges have required and code for newer projects has yet to appear from the Lab [0:05:33-0:07:43]
  • A full release is unlikely before February 2014 [0:07:43]
  • The beta will be accompanied by a Windows 64-bit version of the viewer [0:11:01-0:13:41]
  • Why feedback for the 64-bit version is being requested, what kind of feedback is sought, why feedback should be delayed for a week or more following the release, the placebo effect [0:11:37; 0:14:30-0:16:09; 0:32:52-0:34:13; 1:01:04-1:04:08]
  • 64-bit versus 32-bit: what to expect and what the differences are [0:16:09-0:18:22]
  • Linux 64-bit [0:28:50-0:29:34]
  • Why it is unlikely any viewer will have multi-screen support (tear-off panels and menus which can be moved outside the viewer window & between monitors) in the near future [30:09-32:52; 34:13-34:41]
  • Mac 64-bit [0:36:09-0:41:49]
  • The issues in building 64-bit versions of Firestorm [0:41:49-0:44:47]
  • Mac Maverick support [46:05-48:08]
  • Both Windows 32-bit and 64-bit can co-exist on the same PC [49:47; 57:29]
  • 64-bit and lack of Havok support [58:29]
  • A discussion on Firestorm on mobile devices & LL’s coming beta with OnLive [50:39-54-15]
  • Why clean installs are really, really necessary at times [1:14:47-1:18:39; 1:24:58-1:25:47; 1:32:50-1:35:24]
  • Important notes on the 64-bit installer / installation [1:19:20-1:21:29]
  • Why Firestorm should only ever be downloaded from the Firestorm website [1:22:14]
  • OTR is coming, but not a priority [1:23:48-1:23:54]
  • Questions on 32-bit and 64-bit throughout.

With thanks to North for the video.

Continue reading “Firestorm Q and A, October 26th: video and transcript”

“When I’m sixty-four”: discussing the 64-bit version(s) of Firestorm

firestorm-logoOn October 18th, Jessica Lyon poked me about an upcoming blog post she was preparing for Firestorm which would make mention of a 64-bit Windows build, offering me the opportunity to talk to her about it ahead of the announcement going public.

At the time, my schedule was such that I couldn’t get back to Jessica immediately, so by the time we did get things worked out, the official blog post announcing both the team’s immediate plans for their next release and the arrival of 64-bit flavour of the viewer had been published. However, this didn’t stop me from taking the opportunity to sit down with Jessica and members of the team at the Cheeky Tiramisu Café late one afternoon in order to find out more about the promised “Firestorm 64”.

Meeting with some of the team: Miro (centre-left), Lassie, Ed, Whirly, and Jessica.
Meeting with some of the team: Miro (centre-left), Lassie, Ed, Whirly, and Jessica.

64-bit versions of SL viewers have been in demand for a considerable period of time. There has been some degree of resistance to them in the past, although there are a number of developers and self-compilers who have produced their own 64-bit versions of one viewer or another. The resistance has been for many reasons; Windows viewers are already Large Address Aware, for example, allowing them to use the additional memory common to computers using the 64-bit version of the operating system, thus helping to negate one of the biggest reasons for developing a 64-bit build.

Given that 64-bit builds have been seen as potentially problematic in the past, I started by asking what had prompted the Firestorm team to decide to go ahead with one.

“Our Windows 64-bit code was developed by Nicky Dasmijn as a sort of side project she wanted to do to scratch an itch she had,” Jessica informed me. Nicky, who started-out contributing code to the project, is now the project’s Lead Developer. Sadly, she’s also a little camera-shy as well, and managed to successfully escape my conversation with the team, hence why her profile picture appears here.

Nicky Dasmijn - Firestorm's Lead Dev and Win 64-bit coder
Nicky Dasmijn – Firestorm’s Lead Dev and Win 64-bit coder

Jessica went on, “None of us were expecting her to drop the code into the repo when she did; but since she did, and since we had already decided to do a public beta, I figured, ‘Why not? Let’s get it out there in alpha form to see public reaction, and to see what the cost versus benefit might be’, neither of which we know for sure yet.”

I noted that when discussing 64-bit viewer builds at a recent Firestorm Q&A, there were concerns from the team about potential issues with maintenance, such as bugs and additional regressions, and for how it might negatively impact support were they ever to try for 64-bit viewer versions. I wondered what else had changed, other than Nicky working on the code herself, to persuade the team to push ahead on the 64-bit front.

“The expectation is that the 64-bit version won’t have different bugs than the 32-bit,” Jessica replied. “In fact the hope is that it may have better performance and fewer crashes, which if true, should actually take some load off our support team. But we don’t know for sure as we’ve only tested it on a dozen or so computers.”

Miro, Lassie and Ed
Miro, Lassie and Ed

I wondered if trying to offer a 64-bit version of a viewer might be the proverbial catch-22 / can of worms situation: the viewer needs to be put to public use in order to see what the response to it is like, but if it is put into public use, it’s going to be awfully hard to prevent it becoming an accepted and expected version of the viewer.

“Well, the feedback will determine whether we move forward with it, but I think chances are good,” Jessica said, before giving me a wry smile, “As for the can of worms; yes, we’ve opened it, and we’re not going to be able to get those worms back in it now. Folks are going to want it, many will want it even if there is no noticeable benefit.

“But other TPV’s are also working on 64-bit windows too, I spoke to Latif [Khalifa] from Singularity and found out he also has coded up Windows 64-bit for them. So to add another metaphor to the mix: the cat is out of the bag, and x64 for Windows is going to happen with or without us, and due to user demand it will likely become a standard presence going forward.”

Whirly, Jessica and Cinder
Whirly, Jessica and Cinder

Continue reading ““When I’m sixty-four”: discussing the 64-bit version(s) of Firestorm”