Difference between revisions of "Parcel media"
Line 1: | Line 1: | ||
='''Media On A Parcel'''= | ='''Media On A Parcel'''= | ||
==Overview== | |||
This document has been rewritten to focus on higher level design details. More specific implementation details are available upon request. | This document has been rewritten to focus on higher level design details. More specific implementation details are available upon request. | ||
Line 7: | Line 8: | ||
* [[MediaForum |Transcript of SLDev Forum, 2 Oct 07]] | * [[MediaForum |Transcript of SLDev Forum, 2 Oct 07]] | ||
== Requirements == | |||
The current Media implementation in Second Life is limited to Quicktime on a parcel only. This is clearly not adequate to create the media rich environments our Residents expect. | |||
The new system will: | |||
* Support a wider variety of media types. | |||
* Provide a plug-in like architecture for adding new media type support. | |||
* Allow residents to specify more than one URL per parcel. | |||
* Allow the viewer to display URLs in HUD and on prims | |||
* Support a shared interaction experience | |||
== Design == | == Design == | ||
* The Media Library will use common MIME types to map URLs to specific decoders in the Library. | * The Media Library will use common MIME types to map URLs to specific decoders in the Library. | ||
* These will all be part of the SL Viewer Open Source project. | * These will all be part of the SL Viewer Open Source project. | ||
===Media Setup=== | ===Media Setup=== | ||
Line 18: | Line 33: | ||
* If the parcel owner is unsure of the media type a lookup can be done of the URL header. | * If the parcel owner is unsure of the media type a lookup can be done of the URL header. | ||
[[Image:AboutLandMedia.png|thumb]] | [[Image:AboutLandMedia.png|thumb]] | ||
===Playing Media=== | ===Playing Media=== | ||
* When a resident enters a parcel which has a media URL defined, an appropriate UI control pops up allowing the resident to load the media. | * When a resident enters a parcel which has a media URL defined, an appropriate UI control pops up allowing the resident to load the media. | ||
Line 39: | Line 56: | ||
** Flickr -e.g. flickr://keyword/dog/rand or flickr://interestiness/date/20070410/rand | ** Flickr -e.g. flickr://keyword/dog/rand or flickr://interestiness/date/20070410/rand | ||
** VNC | ** VNC | ||
==Use cases== | ==Use cases== |
Revision as of 15:23, 3 October 2007
Media On A Parcel
Overview
This document has been rewritten to focus on higher level design details. More specific implementation details are available upon request.
The purpose of this project is to shore up and expand support for Media within Second Life. Currently we support a single Quicktime URL per parcel, which is used in place of a given texture. We plan to rewrite the underlying Media Library and expand it to support a wide variety of Internet Media types, such as HTML and Flash. Also we will support Media display in other areas of Second Life, such as the HUD and on individual Prims.
The Project will deploy in several milestones. The first of these will deliver the underlying re-architecture of the Media Library and support for HTML on a parcel. Subsequent milestones will provide for Media in the HUD, multiple URLs per parcel, and implement new Media Type support.
Requirements
The current Media implementation in Second Life is limited to Quicktime on a parcel only. This is clearly not adequate to create the media rich environments our Residents expect.
The new system will:
- Support a wider variety of media types.
- Provide a plug-in like architecture for adding new media type support.
- Allow residents to specify more than one URL per parcel.
- Allow the viewer to display URLs in HUD and on prims
- Support a shared interaction experience
Design
- The Media Library will use common MIME types to map URLs to specific decoders in the Library.
- These will all be part of the SL Viewer Open Source project.
Media Setup
- The parcel owner will initially set the URL in the About Land dialog, and will add information such as Type and Media Size if applicable.
- They also specify the ID of the Texture to replace with this URL.
- This information is stored on the server side with the rest of the Parcel information.
- If the parcel owner is unsure of the media type a lookup can be done of the URL header.
Playing Media
- When a resident enters a parcel which has a media URL defined, an appropriate UI control pops up allowing the resident to load the media.
- When the resident invokes the media control the Media Library begins decoding the media based on the MIME type for the media.
- Frames will appear on any face displaying the texture ID specified in the Media Setup.
- Milestone 2 will also add support for displaying media in the HUD, so rather than being drawn in world, the media would appear on a UI widget displayed in the HUD.
Supported Media Types
- Implemented in Milestone 1
- QuickTime (refactor existing one and make sure we're using the latest version of the QuickTime SDK)
- Mozilla (Will use existing version that's in the client - updating that is another project)
- Implemented in Milestone 2
- Opera (Alternative impl for handling Web based content - based on Opera browser 9.5)
- Flash
- Implemented sometime in the future by us or ideally, by residents:
- PDF (perhaps via this cross platform SDK http://www.foxitsoftware.com/pdf/sdk/dll/)
- Ultra lightweight text renderer (perhaps via AntiGrain http://www.antigrain.com/demo/index.html)
- Ultra lightweight SVG renderer (perhaps via AntiGrain http://www.antigrain.com/svg/index.html)
- Flickr -e.g. flickr://keyword/dog/rand or flickr://interestiness/date/20070410/rand
- VNC
Use cases
Please feel free to add any use cases which are not already covered. We want to make this system address Resident needs as much as possible.
- Parcel owner wants to display some static signage on his parcel
- This can be done but the visitor will have to hit 'start' before they see it.
- Parcel owner wants to display dynamic content on his parcel - e.g. Twitter stream
- (once visitor presses 'start', this will work as expected
- Parcel owner puts a Web page containing a slide show that has transport controls built into the Web page
- This works but each parcel visitor will see the slide show independently. If one user presses 'NEXT SLIDE' control, no one else will see it.
- Parcel owner puts a Web page containing a slide show that has transport controls via a scripted object on the parcel
- Each parcel visitor will see the same URL
- Parcel owner puts a Web page containing a slide show that has transport controls via a scripted object on the parcel and wants to disallow visitors changing the URL
- [My lack of knowledge of LSL here means I can't answer this but I think it should be possible to only allow the transport control object (and therefore the URL) to be used by the parcel owner]
- Parcel owner puts a Web page containing a Flash game on his parcel
- The current version of LLMozLib doesn't support Flash interaction so this won't work.
- Parcel owner puts a Web page containing a Javascript game on his parcel
- This milestone doesn't support interaction with parcel media so this won't work
- Parcel owner wants to hide content behind a username/password set via .htaccess
- Won't work since we don't support username/password dialog - will have to implement using Web content
- Parcel owner wants a movie screen and a Web page with movie details on the same parcel.
- Works - raises some interesting questions about transport controls that appear at the bottom of the screen
- Parcel owner wants to hand out personal, attachable media viewers for visitors to interact with their own chosen media streams: museum guide, lecture, mall
- User has a personal device which they want permission to set their own media texture for even when on a parcel which they do not have permission for - aka personalized radio, video viewer that works globally
- Parcel owner wants to leave a Web browser on their parcel so that visitors can browser
- Works as expected
- Parcel owner wants to create a controlled shared experience - viewing a sequence of images with next/previous links in the page itself
- Works as expected
- Parcel owner wants to join his fellow 'parcelees' and browse the Internet together
- Will work depending on the content but any page that is generated dynamically based on time, cookies etc. will most likely not work as expected.
Also: some ideas here: http://wiki.secondlife.com/wiki/User:Zero_Linden/Office_Hours/HTML_on_a_Prim_Use_Cases