• 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: SVC-1639
Type: New Feature New Feature
Status: Open Open
Priority: Normal Normal
Assignee: Unassigned
Reporter: DoctorPartridge Allen
Votes: 30
Watchers: 4
Operations

If you were logged in you would be able to see more operations.
2. Second Life Service - SVC

llRequestWebViewer(integer width, integer height, integer xPos, integer yPos)

Created: 03/Oct/07 03:16 AM   Updated: 05/Apr/08 06:38 PM
Return to search
Component/s: Scripts
Affects Version/s: None
Fix Version/s: None

Environment: NA
Issue Links:
Relates
 


 Description  « Hide
Allow script access to call the web viewer already available in the profiles tab as an independent widget - customizable on call to various sizes and shapes.

Use Cases:
Consumer can fill out a quick web survey at a shop.
Player can play a flash game or similar while remaining in world.
Consumers can easily view mixed display text and graphics as alternative to notecards with embedded graphic links.
Player can easily see and manipulate databases online via web forms and flash database portals etc.

Rationale:
Opening an entire browser via URL call is both intrusive and counter productive. If the resident wishes to remain actively multitasking they must figure out a way to display both SL and the browser at once - creating extreme limits on screen real estate. If they hoped to use information from the website (eg learn to use a new product or feature) they must often go back and forth. This increases afk's and often throws the residents client into chaos. The extant web viewer is wonderful, plays web info well and even supports things like Flash. To me this is a more obvious and effortless solution than web on a prim -

1. the technology is already in the player
2. the security concerns have already been adressed in the player
3. assuming that this is an active x or other control - it relieves burdon from the viewer rather than adds it
4. it adds value to the community / product without significant need to invest resources by LL

Thanks for considering



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Haravikk Mistral added a comment - 04/Oct/07 06:19 AM
One slight adjustment, you seem to have omitted a URL field from the function =P

You may wish to consider an alternative format:

llRequestWebViewer(string URL, list params);

Constants for use in params:

WEB_WIDTH - interprets any following integer as the horizontal width in pixels for the window size, alternatively if the value is a float it will interpret this as a percentage size of the main-viewer window's width.
WEB_HEIGHT - same as for width (above) but for vertical height
WEB_POS_X - horizontal position of the window's centre-point. If an integer is supplied this is in pixels measured from the left of the screen, if a float it is the percentage of the screen-size to take from the left (ie, 0.0 is as far left as the window can go accounting for its size, 0.5 is centred and 1.0 is as far right as possible)
WEB_POS_Y - same as POS_X (above) but for vertical position.
WEB_ADDRESS_BAR - accepts either TRUE or FALSE, determining whether or not to include an address bar for user's to view/enter URLs. Default is true.
WEB_CAN_RESIZE - accepts either TRUE or FALSE, determining whether or not the user can resize the window (windows should always resize to ensure their close button remains visible). Default is true.

Possibly loads more, which is why a parameter list is good.

Also, if a script attempts to open a web-viewer for a user who already has one open for that object, then the existing viewer window is simply resized/positioned, rather than allowing an object to open multiple viewer windows.
Viewer windows opened by an object will always have an addition "Mute" button, allowing the object to be muted to prevent it constantly making this script call.


DoctorPartridge Allen added a comment - 04/Oct/07 02:59 PM
Agree completely Haravikk. (doh, on the URL.) Also along the lines of implementation. Should read users 'load automatically' setting and determine whether or not to prompt before use. User triggered URL launches via touch etc. should be automatic, but if called without a trigger from the user, for example on sense - it should require approval by the user prior to launch.

Pesho Replacement added a comment - 19/Oct/07 04:27 AM
I've been waiting for a proper usable browser in SL for SO LONG. It's very annoying, i never check out hyperlinks from SL because it means minimizing it and choking my already over-choked-and-bottlenecked-by-SL ram.

Dahlia Trimble added a comment - 16/Feb/08 08:51 PM
As http://sexsecond.blogspot.com/2008/02/how-to-browse-web-in-ll-client-really.html shows, it is possible to get out to the outside world wideweb via the internal browser, and the browser is relatively functional.

The following features would make this browser far more userful.

1. A direct way of invoking this browser, perhaps through a new tab on search.
2. A URL box for this browser, rather than having to work around by editing a link on the wiki.
3. A resize tab on this browser, so that it can be large or small enough.
4. Cut and paste between this browser and the rest of the client interface.
5. An option, perhaps in debug settings in the "Client" menu at least, to have llLoadURL() direct to this in client browser.
6. A URL Asset that when clicked would open this browser and go to the correct page, after showing the URL to the user, to prevent trojan horses.

Even just direct invocation, resize and url would be a considerable improvement. Other clients, such as OnRez offer some of this functionality. The browser in the client is sufficient for many tasks, including editing wikis, email, reading news sites, teleporting to SURLS, and posting to blogs. While the lack of additional windows and tabbed browsing means that no one is going to replace their copy of firefox, the ability ot use the internet in world is a major step towards a "meta verse."

Combined with the ability to read multi-section wikipages, it would obviate the need for configuring devices with notecards, thus reducing load on the asset server.


Gareth Vega added a comment - 05/Apr/08 06:38 PM
I think Haravikk's comment is excellent - it fits in with how other LSL commands work. I fail to see how the X and Y position is too useful though - its not possible for objects to work out the dimensions of the client window to allow browser windows to be aligned within the interface. Its probably better to leave that down to the client.

I'm voting for this - it'd be useful to add a nice interface to objects combined with callbacks using RPC