Teapot: brewing-up a viewer

Teapot is a Kokua-inspired, SL 3.x-based, viewer for Second Life and OpenSim grids, compiled by Armin Weatherwax (on OS Grid, or ArminWeatherHax Resident in SL). It includes numerous TPV derived functions and capabilities (please refer to the About Teapot pop-up in the viewer itself for additional credits), but is not top-heavy in terms of additional functionality.

The version reviewed here is 0.2.5, released on July 20th.

Download and Installation

Teapot is available in three flavours: Linux 32 and 64-bit, and Windows. The Windows installer is 42.3Mb in size, and downloaded and installed on my PC without any issues.

On start-up, the viewer displays the familiar splash screen, but with a slightly different approach to grid support.

Grid list pull-down and New Grids button

Clicking the arrow next to the grid name field will display a default list of popular grids, as per most other viewers that support OpenSim. However, if the grid you wish to log-in to is not displayed in the list, you can click NEW GRIDS. This will display a more complete list of grids (some 168 with this release of the viewer) in a pop-up window, which also contains a warning that “some of these grids, especially smaller ones, might be not online all day, or at all”. Clicking on the name of a grid in the list will initiate an attempt to log-in to it.

If the grid you wish to access is not displayed in either list, you can type the uri for it directly into the grid name field. When you click the refresh button next to the field, the grid name (if found) will be added to the drop-down list and an attempt to log-in to the grid will be initiated.

User Interface

Once logged-in to a grid, Teapot reveals itself to be something of a hybrid. The overall layout is very much Viewer 3.x, but the menus combine elements of both viewer 3.x and viewer 1.x, including as they do File, Edit and View from the latter and combining them with World, Build and Help from the former (with Advanced and Develop also available).

The File, Edit and View menus (click to enlarge, if required)

Default buttons are all arranged at the bottom of the screen, and are displayed with icons only visible. They comprise (in left-to-right order): Chat, Speak, Voice Settings, Preferences, Snapshot, People, Build, Camera, Map, Mini-map, AO and Inventory.

The AO (Animation Overrider) is by Zi Ree, and is as found in Firestorm – including using the #Firestorm folder (so if you have run Firestorm with the AO set-up, Teapot will use the same settings).


Teapot more-or-less uses the default SL viewer Preferences floater and tabs, with the addition of an OpenSim Grid Manager  tab, and the inclusion of options to enable the pie menu for those that prefer it over the V3.x context menus (enable / disable the pie menu in the Advanced tab of Preferences, set background colour and opacity via the Colors tab).

Other Functionality of Note

  • Teapot uses V1-style profiles by default (using older code from Firestorm) and includes Nicky Dasmijn’s open-source mesh upload floater
  • Objects can be temporarily derendered from your world view, however:
    • They will only be derendered while they remain in your world view, and will be rendered once more should you re-log or teleport away and back
    • The derender option is only available when using the pie menu – it is not displayed in the context menus
  • There is no RLVa support included in the viewer at present.

Performance and Feedback

Performance-wise, using my standard set-up with the viewer and on my home sim, Teapot produced the following frame-rates: ground level: 16-18fps; 370m: 29-32fps; 2875m: 40-43fps. With lighting and shadows enabled, these became 7-9fps, 14-16fps and  20-21fps respectively. These figures put Teapot roughly between my recent “tests” of Niran’s 1.46 and Firestorm

Overall, the viewer performed well during a 4-hour test run on Second Life, which was crash-free. There are some nips and tucks required in places – such as ensuring options included in the pie menu are also available in the context menus (inspection option, derenderer) – but overall, Teapot presents itself as workable and pleasant viewer. It may not be as feature-heavy as other viewers that are out there, but this shouldn’t be held against it. Indeed, if you’re an OpenSim user looking for a reliable, fast and well-presented V3.x-style viewer that offers core functionality and things like Media On A Prim, mesh uploads, etc, then Teapot might well be … just your cup of tea!

Some Things to Remember

  • Teapot should not be confused with the Teapot-Viewer, used for viewing OpenGL models
  • The viewer is very much a personal project Armin has put together, and his time / ability to provide support or add specific functionality is limited
  • Efforts have been made to ensure Teapot is compliant with the TPV Policy, but it is not currently listed in the TPV Directory
  • While inspired by Kokua, Teapot stands as an independent viewer, and should not be confused with the Kokua project.

Related Links

Increasing your Zen: Viewer updated

Update January 27th, 2013: The Zen viewer has been discontinued by its creator.

Zena Juran released a new version of the Zen Viewer over the weekend – something I almost missed due to being busy with other things in-world (of which I’ll say more another time). As mentioned in my original review earlier in the month, Zen is aimed at bringing an enhanced build experience to the V3.2 environment.

Currently still only available for windows, this new release ( remains based on LL 3.2.8 Development / Project Viewer code, but sees some major changes and additions in terms of the TPV code that has been merged.

Installation and Start-up

The EXE retains more-or-less the same size as the release, and the Viewer installs the same, complete with dedicated user folders and cache locations (rather than using the SL defaults).

Logging-in reveals little in the way of changes between and earlier releases – other than the fact that the UI buttons are no longer transparent (more on this in a moment), the layout is the same as and prior releases. However, open up Preferences, and the updates immediately make themselves apparent.

New Preferences Tabs

In my original review, I commented that Preferences were little-changed from V3.2, but Zena would be adding to the list of capabilities over time. Well, she has – and massively so! At the same time she’s also re-arranged things somewhat.

Expanded Preferences

Release sees one tab in Preferences removed (LSL Pre-processing), and five new tabs added, together with an overall re-ordering of things which may initially catch used to operating by wrote a little off-guard (Graphics, for example has gone from near the top of the tab list to fairly well down the order of things). This shouldn’t interfere with overall usability, however.

The five new tabs are (in the order displayed:

  • Name Tags: Pulls together the V3.2 (usually found in the General tab) and popular TPV options relating to name tags (setting colours, etc.) together into a single tab
  • Shadows: pulls-in the shadow options popular among TPVs, and which can be found in a variety of locations (a sub-tab under graphics, for example)
  • Camera: pulls-together “standard” options such as view angle & distance (from MOVE & VIEW),  disabling camera constraints (from the Advanced menu), depth of field on/off (duplicated from Graphics), and camera / DoF sliders again found in other TPVs
  • Build: presents  the Build enhancement tools first seen in the likes of Emerald / Phoenix, and now widely used in TPVs

Visual Auto-Mute

This is perhaps the most interesting change within Zen (and potentially the most drama-risk feature to pop-up in the Viewer code in general for a while), and is the first merge I’ve seen of a new functionality from LL that was recently released as a changeset (my apologies to other TPVs if they’ve in fact merged it as well, I’m still trying to catch up on 3 days of missed blogging and updates).

Visual Auto-mute

Essentially, this functionality allows you to set thresholds above which avatars with a very heavy load (high-res textures, complex attachments (multiple prims, flexi prims, sculpts, and what have you), etc., – but not scripts, which are a completely different kettle of fish) will not be rendered by your Viewer. Instead, they will appear as “grey ghosts”, similar to when you’ve muted someone; however, you will still be able to IM them and chat with them. This should theoretically reduce the load placed on the Viewer and your system in terms of rendering, and lead to an improved SL experience.

I’ve covered Visual Auto-mute elsewhere, so will not dwell on it further here.

Graphics Preferences

The Graphics tab in Zen’s Preferences has also been updated, with an improved overall layout, largely due to the removal of the low-med-high-ultra slider from the top of the tab (itself no real loss), although a full screen option has yet to appear.

Graphics tab updates

UI Skins and Button Transparency

This release sees the range of skin options (colours) expanded, with gold, purple and red being added to the original LL teal and Zen blue. It also appears that Zena has taken-up the comment I made in my original review about having the transparency of the UI buttons user-adjustable. This release sees an opacity slider for the buttons added to the UI Skinning tab – so while the buttons are initially solid on first-time start-up, you can adjust them to a level of transparency to suit your needs.

Zen Menu Updates

Zen menu

The Zen menu sees a couple of updates. The Notifications to Top for moving incoming notifications to the top right of the screen has gone (it can now be found in PREFERENCES->NOTIFICATIONS). This moves the Pie Menu option (on by default) to the top of the menu, while an option for accessing Preferences slips-in at the bottom.

I’d still prefer to see a button added to simplify accessing preferences, but this is still a logical addition that streamlines access to frequently used menu options.


This release moves Zen up a notch. While performance is unchanged on my usual system (no surprises there given it’s still effectively the LL 3.2.8 Development / Project Viewer code base), the additional preferences options help make the Viewer more accessible and potentially feature-friendly to SL photographers who prefer something closer to the “official” Viewer rather than plunging into Exodus or Niran’s (although Zen does not have the advanced capabilities of either of these two Viewers, obviously).

The Build heritage for Zen is clear – drawing heavily on Firestorm in terms of floater layout and the availablity of popular tools. I’d personally still like to see the camera floater get some button functionality, and still am undecided on the complete removal of button-based functions from some of the menus. Some might find it feature-light compared to other TPVs (the list of what’s not there is still pretty much as it was for, but I don’t count this against Zen in any way. Overall this is still a Viewer that presents something of the best of both worlds – good, solid building capabilities wrapped up in LL’s 3.2 code. With it now listed in the TPV Directory, it’s worth a look by anyone who might be considering easing away from the official Viewer to take advantage of TPV-originated tools, but who doesn’t necessarily want to get swamped with additional features and options.


The Zen of Second Life

Update January 27th, 2013: The Zen viewer has been discontinued by its creator.

Note: January 17th, 2012: I’ve received a number of complaints from the Firestorm team relating to elements included in the Zen Viewer. One in particular relates to the client-side AO, which in its current form I’d previously been given to understand had its roots in another Viewer & enhanced in Firestorm. However, I’m more than happy to correct this and give due credit to the Firestorm team.

No, I’m not going all metaphysical on you. Yet.

Zen is the name of the latest Second Life Viewer to cross my path, coming to me by way of a Twitter-poke from Cinder Roxley. Being developed by Zena Juran, this is a rather nice take on the LL Viewer, not altering too much, while adding some very nice touches.

Core Data

Currently available for the Windows platform, Zen is based on the latest 3.2.7 code from Linden Lab. This means it has the very latest in the Shining fixes, mesh upload, the  updated snapshot floater, etc. In addition, it also includes:

  • The alpha parametric deformer
  • Client-side AO and particle editor
  • Temporary texture & sculpt uploads and local sculpt and texture browsing
  • Area search
  • Pie menus
  • Toggle notifications between top / bottom right of the screen
  • LSL pre-processor and save / load scripts locally
  • Copy/Paste Object/Texture Parameters
  • Qarl’s prim alignment tool
  • Texture Refresh
  • Derendering option
  • Fetch inventory at log-in
  • Move orphaned system folders for deletion
  • Copy UUID on right-click
  • Resized View/Camera floater
  • Adjustable region restart timer.

In addition, the Viewer also has some useful defaults pre-set from the get-go which are liable to save most people using it time in getting things initially set-up.

The version I review here is version 3.2.7 (1), released 15th January, 2012, although version 3.2.7 (2) is available as of the 16th January, incorporating various tweaks and fixes.

Installation and First Looks

The installation EXE is 26.9Mb in size, pretty much par for the course nowadays, and installs Zen directly into its own directory without any hitch. On starting-up, Zen reveals the familiar 3.2 UI with a couple of interesting alterations from the norm: the Destination Guide doesn’t open by default, and the Mini-location Bar is displayed in preference to the Navigation/Favourites bars.

Zen default UI presentation

Transparent Buttons

Another, perhaps more obvious difference, is that the buttons – all positioned along the bottom of the window – are semi-transparent. Some may find them harder to see as a result, but I have to say I quite like it, although an option to adjust the level of transparency (if possible) would be welcome.

The buttons that are active by default are, it’s probably fair to say, the ones most people will prefer to see active from the get-go: Chat, People, Snapshot, Profile, MiniMap, View, World Map, Search, Build, Inventory and the AO buttons (on/off & settings). Other than the AO buttons, there are currently no additional buttons included in Zen’s Button Toolbar.


Menu-wise, Zen offers something of an eclectic mix, with a couple of the menus somewhat altered from the V3.2 offerings, others largely unchanged. Of particular note in a couple of the menus is the absence of many of the options that have corresponding buttons; there are no menu options for Choose an Avatar, Picks, Places and Camera Controls in the ME menu, for example, and World lacks a Destinations option.

Button access only: the ME menu from Zen (l) and from V 3.2.7 (r)

On the one hand, this appears to make sense – if the functions have buttons, why have duplicate menu option to access them?  Where a function is in frequent use, then it is likely it will be accessed through the button far more than through the menus. There is also the argument that experienced users (and Zen is aimed at those more familiar with SL, as are most TPVs) are unlikely to require access to some options (such as Choose an Avatar) while others will be more routinely accessed via Search (such as Destinations).

However, in some cases the menu options do offer a convenient means of accessing options that may not otherwise be used frequently enough to warrant having the button active at all times. As such, I’m not totally convinced removing some of the menu options (such as Picks and Places) is perhaps the right way to go.

Also missing from the ME menu, given it is built from the official 3.2.7 code, is the Merchant Outbox. However, this actually makes sense, as Direct Delivery isn’t yet available on the Main grid, so it’s hardly something people are going to miss at this point in time.

Zen menu options

Like many TPVs, Zen has its own dedicated menu called, appropriately, ZEN. This provides quick access to a number of  functions not found in the official Viewer: the ability to turn off / on Pie menus, disable / enable the mesh parametric deformer alpha, etc.

There may not be a lot of options here – but that’s intentional; Zen isn’t meant to be a feature-heavy Viewer, and to compare it with those that are would be a mistake. Zen is aimed at a very specific niche: building, as Zena explained to me, “I prefer to use  the official Linden Lab Viewer It has the best performance, but it does lack features found in other TPVs that I find very useful for content creation on the grid”. Full marks to her for defining the goal of the Viewer so clearly.


This approach is also reflected in PREFERENCES, which currently sees little deviation from the official Viewer in terms of tabs and options. The only easily spotted differences are the inclusion of a LSL Pre-processor tab for scripters and a UI tab for skinning the Viewer.

LSL pre-processing options

The skin options are currently limited – you essentially get a choice of a blue highlighting for things like menu selections, etc., or the more traditional LL teal effect (complete with options to change other aspects of the UI). However, this is something Zena is again working on, so more options are liable to be available with future releases.

UI Skinning


However, just because there aren’t a lot of extra menus options and Preferences, doesn’t mean there aren’t a lot of “under the hood” tweaks to the Viewer that may not at first be obvious. Zen actually differs itself from the herd in that several common defaults are pre-set to how many experienced users prefer them. For example:

  • Limit select distance is OFF
  • Camera constraints are DISABLED
  • Inventory is pre-set to SORT BY NAME and SYSTEM FOLDERS TO TOP is OFF
  • Inventory hover tips are disabled by default
  • Default cache size set to 1Gb rather than 512Mb
  • Network bandwidth is set to 1500Kbps (see this article on bandwidth settings) rather than the usual 500Kbps.

All of these tend to make getting started on Zen a lot less fussy, although it might be fair to say that many users would also like to see Chat and IM pre-set to use the “old style” non-header layout as well – Zen currently uses the LL default with headers active.

Camera Floater

The Camera floater in Zen has been nicely resized, and includes an option to quickly reset Draw Distance. The resizing is welcome – the camera floater on the official Viewer is somewhat supersized. However, in achieving the resizing, the more familiar zoom slider and viewing angle buttons have been removed. Again, I have very mixed feelings towards this approach.

Take the Mouselook button for example. While it is true that press the M key will drop you into Mouselook – it is equally true that this only works if you have your WASD keys set to move your avatar. For those that don’t, and who prefer to have WASD set to starting local chat (rather than having to tap ENTER first), the lack of a Mouselook button on the camera floater might cause a frown or two.

Animation Overrider

This is the “standard” client-side AO first seen in Firestorm and now found in most recent TPVs, which includes the ability to run multiple AO configurations, “build” AO sets “on the fly”, etc. In keeping with Dolphin, Zen currently uses the two-button configuration as mentioned above (one for accessing the AO floater, the other for turning the selected AO on / off), rather than the single-button approach used within Exodus.

Build Options

Zen offers all of the most frequently used build options found in the TPV “market” today. The build menu accepts four digits after the decimal point, there is Qarl’s alignment tool, the ability to copy / paste parameters, temporary uploads, sculpt and texture browsing, additional scripting tools, and for those working with mesh clothing, the parametric deformer alpha. Add to this the choice of using either the context menu or the Pie menu, and creators are supplied with a good range of options.

For me, there is only one item I’d like to see added, which is currently in Exodus, and that’s the ability to save / load position and rotation information of an object into /from it’s description field; when working on a number of builds and having limited space on my build platform, I find this a real boon for my work over copying / pasting co-ords manually.

What’s Not There

Again, it’s important to remember that this is focused Viewer aimed at delivering an improved building experience based more closely on the “vanilla” official Viewer when compared to other TPVs and that Zen is also something of a new development. As such,  the Viewer doesn’t currently include options such as radar or things like RLV and the media filters. This doesn’t mean these options won’t appear in time, but it would be unfair for people to dismiss the Viewer on the basis of their absence.

Viewer Status

Zen is TPV Policy compliant, and Zena informs me that, “I have an application submitted to be listed on the TPV directory and have been in contact with Oz Linden. As soon as Oz reviews the Zen Viewer it should (hopefully) be listed on the TPV directory.” The source code is available on Bitbucket, as is a fledgling wiki for documenting the Viewer and an issue tracker, which Zena requests is used for support issues / requests, rather than contacting her in-world.

Performance and Opinion

As Zen is based on the official 3.2.7 release I was expecting it to perform well on my usual system given my recent experiences with 3.2.5 and 3.2.6. So far, I’ve not been disappointed. Performance has largely matched my experiences with 3.2.5 (different environmental variables accepted, and remembering this is not intended as precise benchmark test), and frequently improved upon them (having shadows enabled at altitude, for example had the viewer running at around 15-16fps, slightly faster than 3.2.5, while on the ground, the rates were around those of 3.2.5 (about 11-12fps).

Overall, and in running Zen for a couple of days, I’ve found it to be a pleasant, crash-free experience (other than one issue which Zena fixed in the 3.2.7 (2) release). When building, the Viewer is easily as capable as my “default” Viewer choices (and I’ve given it a good run in this respect, given I’m (again) rebuilding my house…). Certainly, the additional build options made getting the work done a breeze, and it was nice to have a Viewer in which I can both build and have shadows running without suffering refresh stutter every time someone enters or leaves the sim.

Overall, the Viewer offers some nice build enhancements over the official Viewer, and those who prefer to use the LL-supplied Viewer, but would like to have some of the additional build options at their disposal without necessarily swapping to a TPV for general use should find Zen offers a very solid alternative.

Milkshake ends

milk-1After a promising start, and with some great updates in release (mesh deformer, Firestorm build floater, visuals and other elements from Exodus, etc.), Milkshake’s “public” development has ceased – which is a shame however you look at it.

I was in the middle of a review of the latest updates in, which included updates to Preferences as well as the inclusion of new code when word came in.I’d actually been discussing an issue with the release with Cinder when word came that, “Unfortunately, there will be no more public releases of milkshake, sad to say.”

I’m not privy to the exact reasons work has ceased on the public side of Milkshake and to pry into things to any great depth would not be fair on Cinder – she deserves her privacy as much as anyone else. But maintaining a Viewer *is* hard work – there are matters from getting time to develop / merge code options through to handling support and so on, all of which can take their toll. Cinder already has a busy in-world life, and it is clear that support issues were concerning her when the Milkshake User Support Policy was published. One cannot blame her for this; I seriously doubt that – even assuming I had the talent for Viewer coding – I’d want to pass over a large part of my in-world time to all the ancillary elements that go into maintaining a popular Viewer – not without a lot of help.

That said, there is no doubt I will miss the public Milkshake. It was shaping-up to be a handy Viewer with plenty of core features from other TPVs that strongly distinguished it from its core base of LL / Catznip. However, a little birdie tells me that it is not all sad news; the chances are, we may be seeing Cinder’s work adding flavour to Viewers elsewhere in the near future.

Refresh your Viewer experience: have a Milkshake!

milk-1Milkshake is the new Viewer from Cinder Roxley, who originally provided the Frontier Viewer. Unlike Frontier, which was a V1 TPV, Milkshake is a V3.2-based Viewer, and offers some very interesting options and additions.

Commenting on the switch, Cinder informed me, “[The] Snowstorm codebases allow much more flexibility to a developer. So it’s a lot more fun to hack on than antique snowglobe.”

The Viewer is currently only available for Windows, and this review covers release 3.2.6(2).


The installer is pretty compact compared to some Viewers: just 26Mb in size (although the latest 3.2. Development Viewer installer is only 28Mb), and the Viewer requires just 99Mb of disk space, once installed.

Logging-in reveals a little of Cinder’s sense of humour: forget the MotD, it’s the by-lines as the Viewer loads and connects to the servers that raise a smile. It’s certainly the first time I’ve been told to buckle my seatbelt when connecting to SL – although there have been times in the past when I’ve metaphorically done so!

Milkshake: raising a smile on logging-in

There’s also a little message related to “dressing your avatar” – is this a slight pause in the log-in process to ensure avatar textures get to download before the in-world view loads? If so, nice touch!

Once running, the UI resembles the standard V3.2 layout; the skin is roughly the same dark tone, but the buttons have a nice green tint to them that makes them look a little less “flat” than those of the official Viewer. The Navigation Bar also includes your location’s co-ordinates by default and incorporates an ABOUT LAND button alongside the HOME button. The menu bar includes an Avatar Offset slider (to adjust your avatar’s position relative to the ground(or prim)) as well as the Draw Distance slider now found in most V3-based TPVs.

Milkshake UI, default appearance

Button-wise, the default load for Milkshake keeps to the V3.2 standard – buttons to the left and bottom of the screen, with only the HOW TO button absent. Most interestingly, the buttons at the bottom of the screen are slightly offset to the right, providing space where the chat bar can be located, for those accustomed to having it V1-like in the lower left side of the screen. It’s still not ideal as the chat bar placement is a little off – but that’s a fault with the V3.2 code, not Milkshake.

Also, if you like to have labels and icons displayed on your buttons and keep all your buttons at the bottom of the screen and have a lot of buttons available, Milkshake will neatly wrap your buttons over two or more lines in the panel without compromising the space “reserved” for the chat bar. This does compromise the chiclet bar, if displayed at the bottom of your screen, but it is a nice touch.

Multiple buttons and the chat bar


Useful Tools

Milkshake offers a slightly revised Me menu, which includes an additional Useful Tools option. This provides quick access to a range of popular functions and options (right).

The Communicate, World and Build menus are as presented in V3.2, although World includes the option to revert back to Estate Time on the Sun menu, again in keeping with several other TPVs and providing greater convenience to users.

As Milkshake is based on V3.2, it includes the mesh upload option on the Build menu, which works as expected.


Film menu

An interesting addition to the Viewer is the Film menu, which brings together a range of options that should be of assistance to machinima makers. These include avatar and graphics options, so avoiding the need to jump back and forth around Preferences. Changes made to options in this menu are reflected back in their Preferences, where appropriate.

The Advanced menu includes an option to enable RLV for those that use it (on by default); with Help and Develop showing pretty much the same options as V3.2 (with a couple of Admin options absent from Develop).

Buttons, Buttons, Buttons

Milkshake provides, to date, the most comprehensive set of buttons yet found in a V3.2-based TPV. Some of these appear to have been pulled-in from other TPVs, most appear to be Cinder’s own work.

Buttons galore!

Joining the LL-supplied buttons, we have: the AO buttons and Area Search button, which I assume have been pulled across from Dolphin; About Region (shortcut to Region/Estate floater – handy for Estate Managers / Sim owners); Go Home (teleport to your home location – useful if you don’t use the Navigation Bar), Grid Status (opens the Grid status page in your designated browser); Statistics (opens the Statistics floater), and Translate (opens the Google Translate web page in your designated browser).

It’s a good selection, although I wonder at the effectiveness of the Translated button. I can understand why it is included; I’m just not sure people are going to want to either cut & paste back & forth between a browser page and the Viewer, or have the built-in Viewer open on their in-world view when chatting.


Milkshake sees some changes to Preferences; some of which are long overdue with various options now “built-in” to the Viewer and “on” by default). These include:

  • Flight limit disabled – fly high without the need for either a flight assist system or a bridge mechanism
  • Mu* poses (use “:” instead of “/me” at the start of emotes) on by default
  • Region / Chat range radar notifications are on by default
  • LookAt privacy is enabled by default

Elsewhere in Preferences, Cinder has been hard at work with some interesting tweaks and changes.


Has been tidied-up to present just the general settings for the Viewer – items that are tag-specific have been moved as have the typing / WASD options, while the option to run multiple copies of the Viewer has been added (good move; this is all too often buried in other Viewers). Somewhat interestingly, the default language option has been removed.


Includes the sub-tabs for Hardware, Rendering, DoF, etc., that can be found in other popular TPVs, but includes some rationalisation of options.

Sound and Media

Presents the V3.2 options with the addition of a checkbox to Display Music Information in Chat. The media filter system currently isn’t implemented, but Cinder informed me that it is very much on her to-do list.


Chat options

The Chat tab includes the following sub-tabs:

  • General: include the majority of the “standard” V3 chat options, although the bubble chat option has been removed (does anyone use that?), and two “IM Enhancement” options added: the first will display “is typing” alongside their name in the IM window, the second will prevent your Viewer broadcasting the fact that you are typing to any Viewer
  • Chat Notifications: presents the chat pop-up check box, together with sliders for setting toast duration times and button flashes
  • Translate: presents the V3.2 translate options
  • Spell Check: presents the spell check options

Move and View

Has been overhauled to comprise two sub-tabs, as shown below.

Move / View & Display options

Colours and Tags

This tab combines (and extends) the colour options for the Viewer and includes sub-tabs for name tags (from the General tab) and their colours, and client tag colours.

The Custom UI Colours in the General sub-tab are an adjunct to the use of skins, drawn from the Starlight FUI. Rather than just applying a pre-defined skin, options are included which allow you to re-colour elements of the UI as well (see the screen capture below, and note the button / tab text colours compared to other screen captures in this article).

Colour tab: note the UI colour options (top)

The system isn’t perfect – button labels can be coloured, but not button icons; floater panels can be recoloured, but not the menu bar, Navigation & Favourites bars, etc. However, the approach does allow for an additional degree of customisation.

Privacy & Setup

Provide access to the V3 options found under Privacy, Setup and Advanced, and adds a number of TPV options as well (options to select history logs, etc., to be cleared under Privacy, for example).


As with many TPVs, Milkshake has its own Preferences tab. This comprises four sub-tabs, all of which contain some nice touches:

Milkshake Preferences tabs
  • The general tab includes fields to set the default SAVE location for snapshots and the ability to pre-define the name of each picture you take (the default being the standard “snapshot”). You can also use a series of short code to add further information to the name: %r will add the region name and %p the parcel, for example
  • Chat includes a range of useful options (multi-line chat bar, dock the chat bar in the Conversations panel (so it is displayed tabbed alongside IM conversations); arrange tabs in the Conversations panel vertically or horizontally; allow IM tabs in the Conversations panel to be rearranged by dragging them; turn the profile icon displayed in IM tabs on/off (will only affect new IM conversations; conversations already open will be unchanged)
  • Inventory: includes options to set what a double-click on an attachment or wearable in your inventory will do (either ADD it to anything already worn at the same point / layer or REPLACE what is already being worn at the same point / layer) and other goodies
  • UI: allows you to set where and how various elements are displayed (e.g. chiclet location, whether profiles are displayed as a floater or as a web profile in Viewer’s browser, etc)
  • More: a range of other options (show muted avatars as a cloud, Mu* poses (for those who would prefer them off), OOC etc.) – together with a warning they may well be moved elsewhere in future releases.

Debug Options

Milkshake includes a range of debug options, all commencing with “Milkshake”, which allow you to toggle a range of features. These include items that are not currently found within Preferences, such as radar notifications (“MilkshakeRadarMessages”). Note that some of these are global actions (so setting MilkshakeRadarMessages to FALSE will disable all radar notifications, for example).

Other Options

Milkshake includes a lot of recent additions to the TPV world, including:

  • The ability to right-click on an object / avatar and REFRESH TEXTURES
  • Right-click on LMs in Notecards to teleport directly to them (no need to open the LM in PLACES and use the TELEPORT button)
  • Mouselook Zoom is included (go to Mouselook, press and hold the right mouse button and use the mouse wheel to zoom in / out on an object / avatar)
  • The Map includes the ability to “hide” the Legend
  • Radar is included, as mentioned above, but is range-limited to 512m, and excludes some of what might be regarded as the more “invasive” options  – such as the ability to teleport directly to someone within range
  • Also as mentioned above, LookAt privacy is enabled by default – your LookAt crosshairs will appear to move no further than a metre or two from in front of your avatar when viewed in any Viewer.

The Inventory panel also grabs a few noteworthy revisions from Catznip:

  • Right-clicking on an item of clothing in Inventory that is to be worn on the same layer as another item of clothing already being worn, will display an additional WEAR ON option in the menu. This allows you to select whether the additional items is to be worn “under” or “over” the existing layer
    • For example,suppose you have a jumper and a blouse that are both shirt layers – you can wear the blouse, then right-click on the jumper and use WEAR ON to wear the jumper “over” the blouse
  • Worn clothing items toggle the WEAR button at the bottom of the panel to TAKE OFF
  • Similarly, worn attachments toggle the ATTACH button (displayed in place of WEAR)  to DETACH.


On my usual test system, Milkshake produced some surprising results compared to other 3.2-based TPVs I’ve run of late – probably a reflection of it appearing to be built on the latest V3.2 development release (3.2.6). When on my own on a sim, I can comfortably hit an average of 50fps; when at home (at 360-ish metres), this climbs to just over 60fps. Even on a sim with several others, frame rates hold at 38-40fps. With shadows enabled this drops to around an average of 22fps – again faster than I’ve achieved with other TPVs of late.


I’ve encountered zero crashes in running the Viewer over that past few releases up to this one. In fact, Milkshake is one of the smoothest-running V3 Viewers I’ve used, and is fast on its way to becoming my Viewer of choice.

There are still elements to be refined  / added to the Viewer, and a few more bits and bobs I’d like to see. Autocorrect is, I believe, coming (it was in earlier releases, but has been removed from this one, presumably awaiting a small bug I encountered in testing). The media filters are also on the “TBD” listas mentioned, and I assume additional skins are coming, given there is a Skins tab in Preferences. I’d personally like a couple of Quick Prefs buttons / floaters for things like avatar physics & objects LOD, Windlight settings, etc., and for sound settings (a-la Firestorm), but these aren’t showstoppers for me.

I still find the chat bar within the 3.2 UI cumbersome in terms of its look and how well it can be “fitted” into the bottom of the Viewer window. While not a fault with Milkshake per se, it does put me off 3.2-based Viewers, even with the ability to hide the chat bar when not in use, simply because it is so bloody clunky-looking. It comes across as V3.2’s equivalent of the original Sidebar in Viewer 2.

These niggles aside, Milkshake is, as I said, really growing on me – and is potentially the first Viewer to seriously challenge Firestorm as my Viewer of choice. In fact, it’s very possible that another release or two could very well see me swapping over completely….


Milkshake download page