OnLook experiments with two orthogonal UX features: (1) the user’s representation inworld; and (2) the GUI. I’ll talk about them separately.
Description: The camera-only mode, as the name suggests, presents a view of the virtual environment without the user’s self-avatar. In other words, it’s a just a camera into the world. You can move the camera using the arrow keys, more or less like you would move the avatar. In reality, the user avatar is in the world, and others will see it; but it’s just standing there, without moving, and the person operating that avatar won’t see him/herself. (This could potentially be expanded to also remove other avatars except, perhaps, NPCs, but I haven’t done that yet)
Implementation: The server-side implementation of this mode is under OpenSim/Region/OptionalModules/ViewerSupport/CameraOnlyModeModule.cs
Configuration: Add this somewhere in your ini files:
[CameraOnlyModeModule] enabled = true ;; Users with UserLevel equal or less than this will be sent this mode. ;; Others above will not. UserLevel = 0
Special UI Module
Description: The special UI module allows us to control the buttons shown on the bottom of the viewer. It also hides the top menu bar.
Implementation: the server-side implementation of this mode is under OpenSim/Region/OptionalModules/ViewerSupport/SpecialUIModule.cs
Configuration: There are two parts to the configuration. First you need to define the buttons you want to show in an XML file that is sent to the viewer when the user connects to your sim, then you need to turn the mode on.
I have an XML file that you can use as a starting point: get it from here and place it under your OpenSim bin/ViewerSupport. You can then do your own research and experimentation, comparing that file with the default one, for purposes of defining what buttons you want to show to, and hide from, your users.
To turn this on, add this somewhere in your ini files:
[SpecialUIModule] enabled = true ;; Users with UserLevel equal or less than this will be sent this mode. ;; Others above will not. UserLevel = 0
I want to stress that the purpose of this is NOT to design any one alternative UX/UI, so please don’t comment on the set of buttons that I chose to hide in the example XML file for the bottom panel. That’s besides the point. The point here is that YOU, as operator of an OpenSim environment, can decide which buttons to show and which buttons hide when users visit your world. And people will get different UX/UI as they visit different worlds.
Finally, OnLook is not a separate viewer project; it’s a proof-concept on configurable UX/UI using Singularity. It served to guide me through the study of how easy/hard it will be to do it for real with any existing SL-derived viewer.