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