User:SignpostMarv Martin/Marv's silly ideas

From Second Life Wiki
Jump to: navigation, search

Marv's stupid ideas for features for the SL client

Wiimote Integration

  • Being able to use it as a gun in mouselook mode
  • Being able to use it for sports applications (golf)
  • Generic mouse pointer
  • Ummm..... ask Javier Puff
    • Pseudo motion capture - "Rhythm Control"
    • Force-feedback & sound effects
  • Gesture control system similar to the one employed in Black & White
  • AO Integration
    • Raising the Wiimote in a drinking motion to trigger a drink anim
    • Waving it back and forth to trigger a wave anim

iTunes/generic music store Integration

  • Go to a live concert in SL, click a button on the streaming music tab, pay for a track in L$
    • Same goes for video

Marv's slightly less stupid ideas

llExternalAsset()

  • Supply the function with a valid URI (note that's URI, not URL), and it returns an asset UUID.
    • The speed and capabilities of the Mono VM should allow for acceptable processing time on the dynamic generation of images, so llExternalAsset() could be supplied with a data:// URL, allowing textures (or even sounds or text documents) to be dynamically generated only once, and referred to later.
      • Rather than using XyText, you could apply
        data:,SignpostMarv Martin
        to whatever HTML-on-a-prim functions we get, considerably lowering the processing overhead on any texture based solution.

Uses of the data: URL

  • RFC 2397
  • XyText replacement: data:text/html,<span style="color:red;background:black;font-family:courier;font-weight:bolder;padding:0.2em;">SignpostMarv Martin</span>
  • llSetTextureAnim() replacement for text-based animations, news tickers etc (oddly enough, this doesn't actually work in Firefox till you save the page, I'll be checking bugzilla for this later: data:text/html,<marquee style="color:red;background:black;font-family:courier;font-weight:bolder;padding:0.2em;">SignpostMarv Martin</maruqee>

Plugins for the eventual plugin support

MIDI Device Integration

  • Map a MIDI signal to a message, inject message into stream (e.g. using MIDI signals to trigger chat macros)
    • Could theoretically be used to provide direct, manual control of Robbie Dingo's Hyper instruments

AMIP "Now Playing" support

This plugin could be written two ways:

  1. Injecting data into a generic chat-input plugin
  2. A purpose-built "Now Playing" plugin that would be more flexible for AMIP or other Media Player plugins

Webcam support

Combine with Community Bounties#VLC instead of QuickTime and Logitech's technology to:

  • stream your avatar in-world onto a video screen
  • take full and direct control of your avatar's facial muscles
Allow quadriplegics to use Second Life
  • Add speech-to-text
    • Avoid using spoken commands for movement, nobody has been able to implement such a thing that doesn't suck.
      • Use a hotspot system for "move to here".
  • Use a hotspot and eyeball tracking algorithms to enable "clicking"

Parallel Metaverses

A "Parallel Metaverse" is a cluster of servers not owned & operated by Linden Lab that is accessible from the World Map.

The owner of the "Parallel Metaverse" would buy a low-powered server connected to the grid whose sole purpose was to provide a gateway from the LL grid to their own grid.

Problems
  • Logging into the other grid without restarting the client
  • Economy - Will likely be seperate
  • Inventory - Will likely be non-transferable
    • Viewers should be adapted so Residents could have their own locally installed "hubs" where they could store and view inventory content (changes made here would not be reflected in the relevant metaverse unless the are the creator or it's allowed by server permissions)
  • Double-clicking on a "Metaverse Gateway" should allow the Resident to view the world map for the "Parallel Metaverse".

Down with AOs! Up with P2P distribution of AO data and client-side overrides!

  1. Use P2P communication protocols, or extensions to OpenID Attribute Exchange Protocol.
  2. Use the received data to override information sent by the server- e.g. the default anims for each event.
  • Offloads a bunch of server-side overhead for a client-side effect to where it should be- the client.
  • Allows users to disable AO's if they wish to do so
  • If OpenID Attribute Exchange Protocol is used, making use of the HTTP headers for content timeouts would allow for idle anims to be cycled through a list of anims, allowing for more interesting effects when the user goes AFK
    • Avatar's attachments could gain access to additional data to trigger events to play with an animation, such as a Yo-Yo or loofah
    • Until the feature is widely supported, such tools should be advised to trigger as AO for backwards compatibility with non-supporting clients.

Please file this in Jira, or flesh it out more and move it out of your user namespace and back into the feature request category, thanks. Gigs Taggart 12:51, 24 February 2007 (PST)