• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: VWR-217
Type: New Feature New Feature
Status: Reopened Reopened
Priority: Major Major
Assignee: Zero Linden
Reporter: Gigs Taggart
Votes: 103
Watchers: 31
Operations

If you were logged in you would be able to see more operations.
1. Second Life Viewer - VWR

Implement URL on a prim (i.e. JPEG on a prim via URL!)

Created: 11/Mar/07 06:20 PM   Updated: 09/Jun/09 08:34 AM
Return to search
Component/s: Graphics, Scripting
Affects Version/s: None
Fix Version/s: None

Environment: All
Issue Links:
Relates
 

Linden Lab Issue ID: SL-39557


 Description  « Hide
Previous summary was: New Feature -> LSL -> Dynamic Web Textures

Would provide a LSL-initiated way to do dynamic textures that are downloaded from a web site and placed on a prim face.

Most of the action would be client side, but the URL would come from LSL and the server.

https://wiki.secondlife.com/wiki/Web_Textures



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Lex Neva added a comment - 12/Mar/07 10:03 AM
This would be useful. Until then, QuickTime will render most image formats as a one-frame "video", so you can do this in a limited manner already. An example is in the Suffugium sim. Over my Lex Labs store is a rendered text ticker that shows what's currently playing on the audio stream.

Drake Bacon added a comment - 10/Apr/07 06:50 AM
Quicktime hasn't been ported to Linux, so having a Dynamic texture ability would work out even better. llDynamicTexture([face,url,face,url,....]) maybe, with a possiblity of llDynamicTextureReload([face,face...]) for timed reloading? It would save alot of download time with the XyText script.

Tiger Crossing added a comment - 10/Apr/07 08:21 AM
If pulling textures from unauthorized servers would be considered a problem, one option is to require that a special text file ("secondlife.txt" for example) resides in the same location. If it does, then the texture can be fetched. Such validated URLs can be cached and checked once a day or so. If the validation file or the texture file are missing, slap a 404 texture on the surface instead. (Might want to allow searching higher directory levels for the txt file, too.)

Once such a file exists, its contents can be used for additional features. For example, it can contain permit or ban lists as to who can call up those textures. Perhaps even to the degree of allowing any object with a creator of X or a owner of Y or any sort of relation to group Z, denying all others. Or allow all except anything related to P, objects created by Q, or things owned by R.


Onder Skall added a comment - 01/May/07 07:16 AM
I voted for this for two reasons:

1. It would reduce load on the SL network.
2. It would make SL a little more similar to how a web page normally works for anyhow. Hosting 100% of our content on SL's servers seems odd. If I had the choice to host them off-world I would.


SpaceQ Isan added a comment - 01/May/07 09:30 AM
Isnt it "HTML on a prim" feature? Requested and currently IMHO under development?

Remember what you are asking migth mean also that if I would have presentation to ~25 avatars
and if i change board to some texture from some website SL clients will not be synchronized by sim server
therefore my presentation lecture migth be out of sync for them... they will live for some time in different/mutated universe.. they will see me to lecture about lets say animals when i would have on board still previouse picture of cars .

Iam not saying it should not be done but HTML on prim would address it as well and IMHO should be done first as it adds ability to quickly put some html text from object script directly ... which is preferable due to synchronization and privacy (web server would not get user's IP).
Remember if html on prim would follow mozila's svg support of vector graphic textures can be set directly from your scripts on the fly without transfering 1000s of bytes from servers to client and desynchronizing everything.


cindy crabgrass added a comment - 27/May/07 01:45 AM
A 'dynamic web texture' is a lot simpler and safer than HTML on a Prim.
This one can be done quite easy.

Gigs Taggart added a comment - 27/May/07 10:52 PM
Tiger,

That's not a bad idea. It may not be much of a problem anyway, if we require the downloaded images to be sizes that are powers of two. Not many random images on the web would be the correct size, only ones made for SL.


Lom Hax added a comment - 31/May/07 09:35 AM
Concern about unauthorized image linking is admirable but unwarranted. How is unauthorized image linking from SL any different from unauthorized image linking from a web page? In fact, an SL region can only hold 40 or 50 avatars at a time, which is small potatoes compared to the load a popular website can generate. Besides, competent webmasters have ways of dealing with unauthorized linking when it becomes a problem.

Dynamic image loading was the first thing I thought of when I joined SL. The popularity of clever but inefficient hacks like XyText and QuickTime wrappers tell me I am not alone.


Rob Kubrick added a comment - 01/Jun/07 04:38 PM
I think this has been a long standing request with the SL, and I've seen it debated a lot by users. But, I would be eager to hear the Lindens opinion on the topic, which issues they're concerned with privacy/security/bandwidth/economic... It seems we all have a lot of steam about this, but we're blowing in the wind.

Aimee Congrejo added a comment - 13/Jun/07 11:45 AM
Linked to Meta-issue: Improved Privacy SVC-241. No way do I want my client making Web requests to non-SL random Web servers.

If the SL server made the Web request and then the SL server passed it on to my client that's cool tho since I stay anonymous and my IP isn't revealed to the prim owner.


Argent Stonecutter added a comment - 14/Jun/07 07:08 AM
Aimee: have a look at the linked web page, most of it is about privacy. ^^

https://wiki.secondlife.com/wiki/Web_Textures


Haravikk Mistral added a comment - 14/Jun/07 12:44 PM
Easiest (and best I think) way of doing this would be to have the simulator download the texture so it can be served to other people more easily. It just needs to impose strict limits for dimensions and file-size, and possibly an alternative texture for if it can't be loaded in a timely fashion.

Gigs Taggart added a comment - 16/Jun/07 03:45 PM
Aimee, your viewer already does this (parcel streams, web profiles, etc). You better log off SL for good, or accept that your IP isn't secret.

Torley Linden added a comment - 18/Jul/07 02:29 PM
I changed the summary to match an internal project we've got going on and am going to link them!

Zero Linden mentions use cases for this work came from his inworld office hours. You can read up on the history @ https://wiki.secondlife.com/wiki/User:Zero_Linden


yo brewster added a comment - 13/Aug/07 09:35 PM
To me web-on-a-prim is without any doubt the next big thing on Second Life as the possibilities are virtually endless if implemented correctly.

I believe Linden Lab has the following implementation possibilities sorted from easy to hard.

1. ONE WEB-ON-A-PRIM TEXTURE - NO INTERACTIVITY
The easiest way to implement web-on-a-prim in second life would be to take the same approach as Linden Lab has done for movies. You would be able to select one texture and url for each property (with the difference that you wouldn't have to press play of course). Although this is clearly not the ideal solution, it would already help out a lot of event organizers or businesses in Second Life as they could use these one prim sign boards instead of the 150 prim sign boards they're using today. This would also be perfect for properties that are in need of a score board. I was told by the developer of this project that it would be pretty easy to implement this today in Second Life.

2. "UNLIMITED" WEB-ON-A-PRIM TEXTURES - NO INTERACTIVITY
Clearly much harder to implement then option 1, but this implementation allows a property owner to add a different URL to each texture. This would be perfect for those that would like to create dynamic ad boards, need multiple signboards, or want to use dynamic venders directly linked to site like SLX and SLB. If supported, I guess you could even go as far as playing movies on your web texture.

3. "UNLIMITED" WEB-ON-A-PRIM TEXTURES WITH INTERACTIVITY
This option basically leaves you with unlimited possibilites. You would be able to show a form on a prim which could be filled out by the user without ever having to leave Second Life. Or what about linking to a javascript checkers game? While games like this normally require tons of prims, they might suddenly only contain just a few prims thanks to the full interactivity with the object. It would also be great if javascript could somehow talk to the object in SL. Finally Second Life becomes the next internet!


Tyrian Camilo added a comment - 16/Aug/07 06:00 AM
I read the WIKI page about it, and privacy issues. This is somewhat trivial to solve

HOW?

Proxy, but not ANY proxy, use TOR. Embedd an tor client (& possiby server) into SL viewer.
TOR is lightweight and fast, and i would recommend also having the server portion embedded, to give back to the maintainers & contributors of TOR network.
SEE: http://tor.eff.org/

Example users: AnonymOS, uTorrent, Azureus etc. torrent clients. Torrent clients in together are the most visible uses of TOR network.

Should be somewhat trivial, of course "network" testing of firewall needs to be done to some extend.

Alternative options also needed:

  • Direct connection
  • LL provided proxy (for premium members only! Yet another perk for having premium membership, thus more revenue for LL)
  • 3rd party / ISP proxy
  • Proxy auto-discovery

What we have? Privacy protected for those who want it, and by default thru TOR network.
Privacy Strength? VERY strong, especially if META data is scrapper, agent told only as "SecondLife" not even version number. IP number the client "uses" changes periodically, all data encrypted from client side to last TOR node, before final query to the webserver itself.

Of course the other options does not give as strong privacy, and direct connection gives no privacy.

Also, having TOR embedded into SL client ... Well someone could even make 100% private usage of SL as it would probably become easier to route all traffic thru TOR.

JUST REMEMBER to put TOR on it's own thread / child-process / whatever, for minimal performance impact.
Like i said earlier, TOR is lightweight, and implemented correctly, won't have much of a impact on client resources


Gigs Taggart added a comment - 05/Sep/07 01:56 PM
Tor would be very slow. Couldn't we just put a preference for a custom local proxy for web textures, instead of having LL ship even more stuff? Those that want Tor can then configure it themselves.

Argent Stonecutter added a comment - 19/Nov/07 09:08 AM
The problem with web textures is that they make it trivial to associate IP addresses and accounts. Streaming media is much harder to do this with, because it's limited to a parcel - and people still run with streams turned off to avoid this compromise. User's web pages don't do this because there's no way to force a user to open a profile from in-world. Currently the best tool to tie users to IP addresses is by calling llLoadURL with a nonce.

Web textures would make using SL like browsing the web in a browser that let any web page fetch any cookie posted by any other site. If you came up with an amusing free scripted attachment that caught on you could basically map IP addresses to user names routinely, just by comparing the results of llSensor() with web hits. You could immediately link up everyone sharing broadband connections, and get a good guess at neighborhoods, and nail people surfing from work. Sure, right now really popular websites can do this... but they can't link them to identities that have any real value. Web textures would make it possible for anyone with a little scripting skill to do this, with the kind of reliability that's only been even potentially available to companies like microsoft and google and yahoo up to now.


Rook Slade added a comment - 18/Jan/08 06:46 AM - edited
there should just be a transload feature for uploads, so for example i could tell SL to load a texture from www.example.com/foo.jpg .
then add a subscription option to pull the image every hour, which would cost me the 10L upload fee each time, and require no more traffic than if i were sitting there uploading 1 texture every hour.
builders that want to use the dynamic textures would have to find a way to update objects to use the new file's UUID but this could be handled by player scripting.
meanwhile everyone retains current privacy and the textures become dynamic =)


McCabe Maxsted added a comment - 18/Mar/08 04:16 PM
I upload an SVG image to photobucket then display it inworld. How is that any different between displaying that image on a webpage, privacy-wise?

@jeska: the implementation in 1.19.1 is pretty awful. What about those of us who want to stream quicktime too?


Flemming Congrejo added a comment - 19/Mar/08 02:01 AM
The feature included in 1.19.1 does indeed include the possibility to show a single URL picture on a prim.
But as it does only allow for ONE picture per parcel it is not a useful solution.
We need to be able to show multiple pictures per parcel.

Gigs Taggart added a comment - 19/Mar/08 11:17 AM - edited
What was hacked into 1.19.1 isn't what this feature is asking for at all.

This feature proposal was for web textures.

llSetFaceURL("http://whatever", face), on arbitrary prims, regardless of parcel boundaries, regardless of parcel ownership.

And actually, this proposal was for raster data only.
Requiring that the URL points to a properly sized power of 2 jpeg2000 would even satisfy this feature. This is not an "HTML on a prim" request.


Monalisa Robbiani added a comment - 19/Mar/08 01:38 PM - edited
All these features must be optional because they reveal your IP address to the owner of the hosting web server.

Gigs Taggart added a comment - 19/Mar/08 04:43 PM
Using the internet reveals your IP address to the owner of every server you use. It's an inescapable fact of internet life.

I see no reason why people shouldn't be allowed to disable this if they would like though.


Michelle2 Zenovka added a comment - 20/Mar/08 01:52 AM
(Devils advocate)

For most users the IP address is not important and not an identification anyway, its often dynamic and the closest it can identify you is to country and a specific ISP, but for others like me if you have my ip, with out much effort you can have a google map that says i work here with a big arrow, (and i am not joking here), but this may also be proportional to how "noisy" you are on the Internet


Monalisa Robbiani added a comment - 20/Mar/08 04:36 AM
Using the web and using SL are two very different things. You don't surf the web with an avatar that carries a specific name which is tied to RL information. Enabling web hosting by default is a breach of privacy. Even if you don't use it for large scale mapping of user groups (and then maybe selling that information), even my physical location,country and city, might be something I want to keep private.

Gigs Taggart added a comment - 20/Mar/08 01:51 PM
"even my physical location,country and city, might be something I want to keep private."

Then what are you doing on the Internet? By posting on this Jira, you've revealed your IP address to a third party that Linden Lab contracts hosting of the Jira out to, and associated that IP with your avatar name.

Do you know the name of this third party? Did you even care to look up whether they might be a reputable company before logging into jira or posting here?

No, of course not, because IP addresses are inherently not private information, and the association of them with SL avatar names is not anything special or difficult to accomplish today.

I should just harvest every avatar's IP address using tools available today and publish it, so we can end this silly debate.


bitova loon added a comment - 12/Aug/08 10:39 PM
Nice idea .. but with LL loosing 10 Lindens for all those textures we upload to try, doubt it will ever be implemented .. loads and loads of little 10 Lindens uploads charges would be wiped off their "profit" line

Ethari Hallstrom added a comment - 22/Sep/08 07:42 AM
I think it's a great idea. I am surprised it's not already implemented; imagine the amount of space and stress it would save on the asset servers if people didn't need to keep uploading stupid little textures just simply to preview something, or show someone a photo that they have no intention of using again. This wastes valuable storage and L$!

However, I can see this being bad for certain things, like prim clothing or attachments. People may use this ability to externally have all their textures, which they could change at any time, and cause content to break if their servers go down. I think it's more of a temporary thing - showing people pictures and up-to-date content without wasting the SL servers. It would be great for presentations, banners, adverts, etc. but not other things. Perhaps make it so the URL (external content) doesn't persist if the object is transferred to someone without a persistant script (potentially troublesome, although the alternative is probably worse).

Even better would be if they implemented Adobe Flash on prim surfaces. Imagine the animation capabilities and even interaction and functionality! It would revolutionise presentation within SL.

bitova, I don't think LL have put the L$10 price for textures as a way to make a profit. They've done it to cover the costs for the immense amount of space they require to store the textures. If people aren't uploading textures, they aren't needing the L$ to cover the increasing storage costs.


Gigs Taggart added a comment - 22/Sep/08 01:21 PM
Flash is proprietary, sorry.

Nulflux Negulesco added a comment - 21/May/09 04:52 PM
Solution to LL losing 10L$ per upload for textures:

1) Make dynamic textures a creatable inventory item with an asset id. This item would have a URL property set at the time of creation.
2) Charge 10L$ for the creation of a dynamic texture object with a fixed URL. Charge more (100LS?) for a dynamic texture object with a script modifiable URL.

or...

3) Do like the rest of the web did and stop charging for textures then implement this request anyway.