✨ Feature Requests

  • Search existing ideas before submitting- Use support.secondlife.com for customer support issues- Keep posts on-topicThank you for your ideas!
New User Onboarding for the "shorts" - future SL users.
Really just a list of what if ideas, should LL feel interesting to review as they consider user growth and opportunities based on a external discussion unrelated to SL. Personalised Instant Entry (Zero Friction) - (And why I like Project Zero/App dev and where it could go). First 30 seconds: “Pick Your Vibe” Ask ONE quick question: "What excites you the most?" Exploring Virtual Worlds Roleplaying Fashion and creating an Avatar Architecture and Interior Design Travelling by Land, Sea and Air Earning Money Creating Socializing & Hanging Out [The over 18's stuff] etc etc This lands them immediately in a theme, with pre-made avatar & environment, eliminating the "nothing" of 30 seconds. After they answer, and are in their themed journey: Use a guided AI NPC (voice & chat) "Welcome to Second Life! You chose [Theme]. Let's get you set up in 10 seconds!" [Fits to the AI Companions] Instant Gratification Rewards First Reward Unlocks Instantly: As soon as they click to do something, they receive a free item or currency. Example: "Boom! 500L$ just for starting—let’s use it!" Use Haptic Feedback (mobile) & Sound FX to reinforce the reward dopamine hit LOL Next 30 Minutes: Engagement & Retention Objective: Keep them entertained, engaged, and socially invested. Gamified Onboarding (Micro-Tasks & Challenges) Instead of dumping them into a complex world, give structured, engaging mini-challenges: 5-Second Wins: Change your outfit → Unlock a TikTok-style filter effect for your selfies of your avatar on PrimFeed. Say Hi in chat → Get instant positive feedback Etc Etc Fast-Track Socialisation: Auto-match them with a buddy or mentor (gamified AI NPC or real person) based on on sign up info including time zone. Quick “First Friend” Challenge → Meet someone else and earn exclusive item/swag Get them linked into a embedded PrimFeed platform use to posts their selfies and short videos too (Tik-Tok style) (Embedded means its operable in window in SL not a link to the website to be immersive). Let them build their preferred style profile on PrimFeed quickly so they can see what other users are posting. Recommend their first five follows, and have a LL account and those who auto follow back. Pop up screen within Project Zero/Viewer/App. Build out badges, groups, saves, shorts on PrimFeed (I know that's Luke's platform but hint LL) Content Feed & Trending Zones Users expect bite-sized, visually engaging content. Fix and build  “Trending Now” areas where they jump directly into viral Second Life experiences. Expandout Prim Feed to be interactive, and they treat as their shorts, reels, finding content, followers and following (it's the social glue) Curate exerenices.  Moles host monthly sailing regattas or community source with building classes from leaning tower etc, horse riding ranches with daily ride outs - tour guides through the hallowed ground of the over 18's areas, Or keep to Moles for ease initially so less overhead.  Residents who host get a discount on their tier or plus accounts whilst an active host to reward them. Loops via Instant Achievements Mini-Leveling System: "You just hit Level 2 in Style my finding how to adjust your shape! Here's your reward!" (they figured out how to detach Charlotte's house they put on their bottom) Badges & Social Validation: "You just got 5 likes on your avatar first selfie on PrimFeed!" Timed Mystery Rewards: Every 10 minutes for the first hour, they get a free randomized reward and linden dollars if they keep playing and interacting.. Leverage FOMO & Social Live Activity Popups: " Z Y C event is now starting" "This new avatar skin just dropped. Get it before it’s gone!" (the creators items from featured item on marketplace or something linked to the vibe picked who opt in for a new user drop etc with a limited number. Exclusive Limited-Time Drops: Avatars, dances, items only available in the first 30 minutes of play. Thanks for reading my random list.
4
SVG Canvas: A way to generate dynamics graphics on prim faces (without MoaP)
Motivation: Second life is full of information and very often you have to display some information dynamically: Radars, navigation signs, fancy menus, information boards, HUD applications. And that is a rough listing. For doing this we have prepared textures, MoaP, hover text. Textures can use a wast number of faces if you want to display an arbitrary text. MoaP is doable but has problems with transparency. And security concerns. Hover text works well but it can not be limited to a certain area. Like not at all. SVG Canvas tries to counter these issues and to give a way to create simple graphical information dynamically (but it will be much richer then a simple hover text). Basic idea A SVG canvas is a container for a SVG image and provider of its content: The container is created by a script, it has an own UUID which can be applied to any prim face like a regular texture. To display this image the viewer receives the SVG content from this container. The SVG canvas is stored within the heap memory of the script created it (parent script). As long the script is available, the region can provide the SVG content to the interested viewer. Thus, the SVG canvas is best used on HUDs and in-world objects also running the parent script. The canvas is created via the call key llSVGCanvas(list options); The options list defines the <?xml> header (the only way to set the <?xml> attributes). The result key is used in the following commands and is also applied to prim faces. To check the current status of the canvas we use the function integer llSVGStatus(key canvas); The function checks if the key is a SVG canvas, if it was created by the same script, if it is stil valid etc. Result is 0 or error code. Since SVG is a XML dialect, to build/draw the SVG image we use DOM commands, but a non-OOP way. The commands can only be called within the parent script (for now). integer llSVGGetElementByID(key canvas, string id); This command finds the element having the given "id" attribute and returns its number. Each SVG element is addressed by a distinct number maintained internally, which can but must not be saved in the "id" attribute explicitly. For example we can use the order in which the elements were added while the top-level <svg> node has the element number 0. integer llSVGSetAttributes(key canvas, integer element, list attribs); integer llSVGUpdateAttributes(key canvas, integer element, list attribs); list llSVGGetAttributes(key canvas, integer element); The commands set or read attributes of the SVG element given by the number. The attributes are given by name and value (alternating). The .Set. command replaces the element attributes, the .Update. command only changes values of named attributes. Both return a negative value on error and the (same) element number on success. integer llSVGSetXML(key canvas, integer element, string xml); string llSVGGetXML(key canvas, integer element); This command sets and retrieves the XML content of the given element. This is used to change the text of the <text> element but also allows to draw the <svg> image at once when desired this way. integer llSVGAddElement(key canvas, integer parent, integer sibling, string tag, list attribs, string XML); This call creates a new SVG element with given tag, attributes, and content and places it is as child element of the given parent element after the element given by sibling when it is an element of the parent element. Otherwise the new element is placed after all child elements of the parent. The result is the number of the new element or negative on error. This operation may change numbers of some elements. The top-level <svg> node exists by default and must not be created. integer llSVGRemoveElment(key canvas, integer element); This operation removes the SVG element having the given number. The top-level <svg> node can not be removed. Extensions Besides the simple elements (path, text etc.) we can also have commands for drawing of UI elements. The commands will provide only logical definition while the viewer will render the elements with respect of the current skin. This will allow to create apps with a look and feel of viewer floaters while they will operate on scripts running on the region. Since some of these elements must be clickable, the elements can be added proprietary attributes working like interaction listens and eg. on touch triggering the event on_svg_event(key object, key canvas, integer element, integer action) Within this event one could call then llDetected... functions for further information. Instead of creating the feature for SVG only we can first create the framework for building and updating a XML documents and use this to define SVG images among other uses. Example follows in a comment.
8
·

under review

Load More