One of the most useful features of Second Life for the past year has been the ability to show web pages on the face of a prim. You set the url to a website you want to display, and provided it doesn’t rely heavily on Flash or Silverlight plugins, it’ll render pretty much as normal, and even has some JavaScript support. Linden Labs built in a light version of FireFox into their client about a year ago (based on FireFox 2 rendering engine, I believe) and it’s made it possible to do things like have presentations in SL using web textures – a series of simple web pages or even just images on the web – instead of having to upload slides at a cost of L$10 each time.
Since the browser is built into the client, you’d think the functionality would be available in OpenSim too, but because the OpenSim server code for showing media on a prim pre-dates the inclusion of web textures, the crucial piece of information to tell the client “this is a web page” or “this is a QuickTime video” is missing. However, there is a way to get the client to take a look at the media and figure out for itself the type of media set on the parcel, and we have Gridizen Bob Hazard to thank for finding this!
For now, this involves hand-editing an XML configuration file for the Hippo client, so we’ll be working on a small tool to help update this for people in the near future. Here’s what you need to do (on Windows – Linux and Mac instructions to follow, input from Linux and Mac users who can help me out here please do so :)
Close down your client if it’s running, and find the install location for your Hippo client – on a Windows machine, this is likely 'C:\Program Files\Hippo_OpenSim_Viewer\' on a 32bit Windows, 'C:\Program Files (x86)\Hippo_OpenSim_Viewer\' on 64bit, then open the App_Settings folder. In there you will find settings.xml – the configuration file for the Hippo client.
Edit this file in your favourite XML editor, and search for “AutoMimeDiscovery” – you will see the following code:
<key>AutoMimeDiscovery</key>
<map>
<key>Comment</key>
<string>Enable viewer mime type discovery of media URLs</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
Now, change the value in this XML to be 1, instead of 0:
<key>AutoMimeDiscovery</key>
<map>
<key>Comment</key>
<string>Enable viewer mime type discovery of media URLs</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
Save the file, then launch Hippo as normal. Log in and your client will now be quite clever and switch between different content types as required. To test it out, I have set the media on Code Torque Sandbox to a web page – if you stand on the sandbox and hit Play on your client, you should see the ReactionGrid website on the main screen.
I’m looking into adding the crucial piece of server code to OpenSim to make the content type come from the server as expected (with some help from Bob who can tell me what the client needs!) but it’s a tricky task – this solution is a wonderful workaround that will certainly do the job for now! Bob, thank you from all at Team ReactionGrid for this crucial piece of information!
<Edit>Thanks to Gridizen Dave Pentecost for the following information that might help Mac users: "Right-Click or control-click on the Hippo client app in the finder, choose "Show Package Contents" and look in Contents/Resources/app_settings/ and you will find settings.xml. Open that in a text editor (I use SubEthaEdit), search (command-f) for AutoMimeDiscovery and change the 0 to 1 as shown above" ... Thanks Dave! </Edit>