Archive for June, 2009
Just put this item on XStreetSL. There will be a formal launch event before it goes on sale in-world, but I wanted to let you guys know about this ASAP.
Holo (rezzing) vendor, designed to sell a variety of products while taking up only the prim allowance of one at a time. Rezzes products in-world one at a time, either on request or by cycling automatically through available products, and allows them to be purchased. Based on the highly rated single object rezzer. Features include:
- Auto-cycles through products if avatars are nearby, but not using it.
- Shuts down and de-rezzes product if no avatars are nearby, to reduce lag.
- Converts show items into mini-vendors, to simplify purchasing and increase sales.
- Interactive objects (furniture with pose balls, for example) are rezzed fully functional.
- Integrated notecard giver in mini-vendor.
- Can be used to sell scripts, textures, or anything else, while rezzing demos on demand.
- Notecard configuration
When an customer clicks the vendor, it “locks” it to them, and then brings up a dialog menu of products that can be rezzed. This menu is paged (so you can store as many objects as you like, up to the limits of script memory). Vendor control only passes from an customer when they leave the area, or another customer tries to use the vendor after the customer has been inactive for a while (duration configurable).
When an object is rezzed, the vendor announces its price in local chat, and will accept payments. If it’s paid (by any customer, not just the one it’s locked to), it will check the payment amount and then deliver the item to them. On touch, it brings up the menu for the customer to pick a different object to rezz. It also passes a copy of the object for sale, to the rezzed object, enabling it to act as a “mini vendor” for that one object. This makes it easier for the customer to find an object to pay, and so improves the chances of a successful transaction.
Left alone, the vendor goes into an inactive mode to reduce lag. If it detects customers nearby, but not interacting with it directly, it automatically cycles through its inventory of objects in case one appeals to a passing customer. If clicked on in this state, it locks to that avatar and offers them the rezz menu.
Where To Buy
inSL: Coming soon
It’s big, it’s red, it’s got a little flip-lid, and it’s just asking to be pressed. What does it do? Erm… well, lets just say you’ll want to be outside when you click it. Not going to ruin the surprise here, but it’s free, and you can try it out in my shop if you prefer that to getting your own copy.
A full perms version will be available soon, or now by request (IM me), but I want more time to clean up the instructions before it is made widely available.
I’ve just added a script to record sales from XStreetSL directly into my own database. This will simplify administration and hopefully make update delivery more reliable. Previous to this, we’ve had to search for the UUID of avatars who have bought items from XStreetSL, to deliver to (LSL only supports delivering to an avatar by UUID, not name). This can be an unreliable process when we’re dealing with several hundred avatars, so having the UUID recorded directly from the original sale will definitely help.
This is also the first step towards better support, by having an easier way for me to track what customers have bought, for when support queries come in. This means when I get vague and ambiguous support queries I stand a better chance of being able to reply directly instead of asking questions in response.
Longer term, I’m hoping to make scripts available from this web site, for anyone who has purchased them. After all, you paid for them, if LL won’t let you back them up, I might as well.
From a script point of view, my current priorities are wrapping up a roleplay “game” safe (I’ll link across to the final product once it’s done), and a rezzing vendor based off the single object rezzer. More details on both later in the week.
Partly for my own benefit, partly for anyone else coming after me, my thoughts after a year of selling scripts inSL.
First of all; no-one wants to buy a script, much in the same way no-one wants software. People want magic to make their problems go away, and it’s the job of a scripter to get as close to that situation as they possibly can. Scripting is a customer service business more than it is anything else, to the point I was commenting to a friend I should call the store “Xugu’s Customer Service (and scripts) Store”.
Secondly, you probably cannot differentiate yourself from the competition on price. There are very VERY few scripts in SL that are too complicated for a bored developer to write because they fancy it, and then release for free. You therefore have to differentiate on features and support (which takes me back to my first point).
My attempts to sell more scripts by making them cheaper has only ever worked if the script is free. My most profitable item has been a L$1,000 swing/slide/blind/phase door script, despite the fact it’s the most expensive (equal) thing I sell. Temporary sales will help, if marketed correctly, but flat out setting the price low will mean people assume it’s of lesser quality.
On the other hand, features are the way forward, particularly the tricky stuff. This is a two-edged sword; get too fancy, and you’ll trip yourself up. However, scripters with a good grasp on vector mathematics (for making things spin, move, etc. in smooth ways) are rare. Scripters with a grasp on web services (for external storage, for example), also quite rare.
Thirdly, know your target audience. If you don’t know why someone would want a script, how you persuade them they do? For example, I do a builder tool for re-texturing prims; about a year before this one was written, I wrote something similar for someone else, but they wouldn’t tell me exactly what they wanted it for. Net result, they got something better suited to window texturing, and I got something I couldn’t readily sell until someone else came along with better requirements and I could finish making a script people wanted.
On a related note; shopping is inherently a bit dull. You can either make it easy, or more fun. To make it easy, focus on getting the key points about a product across to the customer; the images I use in-world and in XStreetSL are designed to provide key bullet points on a product, for example. While most of my products now have instructions available before you buy, maybe 1 in 20 avatars actually ever reads them before the purchase. To make it fun, put out widgets. You’re a scripter, this should be easy; people like things that spin, or talk, or just do fun things if they click them, leave a bunch around. My store has a rezz-day present giver, a big button marked “Do not press” and an age/height detector, for example. There are other product demos around too, but seeing a door swing isn’t so much fun (unless you’ve been really looking for a swinging door, in which case it may be the most awesome thing in the world to you).
Finally, pricing. Unfortunately, you can’t price a script by how complex it was to write, but instead you have to price based on how much the customer wants it. If you don’t think you can sell enough to cover your time, at a price the customer will pay, then don’t write it. This means selling some scripts for more than you’d like to (example: Click ‘n’ tell) and some for less than you’d like to (example: Bell script); in the end, you just have to hope it all balances out.
Also, if you put an item out, and it’s not selling well, be cautious of changing your pricing. If you got the price wrong at the start, why? If not, why are you changing it? Look instead at marketing. Talk to your target audience, get them to give you feedback on the sale stuff. I have an ongoing issue with my texture/color changing HUD scripts, for example. It’s got better since people went “Hey, you know that script you’re marketing at hair/eye producers? Considered it would work well for shoes too?”, but once I have more time it’s on my to-do list to go over the marketing materials for.
Heavy duty version of my avatar age and height detector. Designed with busy clubs/shops in mind, this version can handle 10 avatars per second sustained. No getting confused with names (like some age detectors), no having to wait for it to handle the last avatar before the next can be looked up, this just keeps on going.
Don’t believe me? Teleport on over to my store (http://slurl.com/secondlife/Sunweaver%20Air/203/29/141) and try it. Bring a dozen friends, really see if you can break it. Key features:
- Copy/mod; put out as many as you want, and you can even edit the script if you want.
- Displays height in both metres and feet.
- Displays height including shoes (+- 3cm accuracy) – many height detectors don’t.
- Handles leap years.
- Supplied with a simple sphere and texture container, or drop the script into whatever object you like.
Output looks like:
Age & height detector: Xugu Madison is 1815 days old, 2.21m / 7’3″ tall (with shoes).
Want something that’ll pick up an avatar’s rezz-day? I also sell a rezz-day present giver.
This is a multi-target teleporter script, driven by touches on the surface of the prim it is contained within. It is shipped with a simple numbered texture, but owners are encouraged to replace it with a texture showing labels for destinations (for example, in a shop you might label them “Sofas”, “Beds”, “Tables”, etc.). Avatars click the surface of the prim to pick the destination they want to go to, and it then either changes to a sit teleporter for that destination (up to 300m away), or opens their map at that destination if too far for sit teleporting.
- Destinations configured entirely by landmarks.
- Full access control – owner only, group only or everyone, with whitelist and blacklist support.
- Access controls and number of destinations can be changed by notecard.
- Any distance – up to 300m away, uses sit teleport. Beyond that range, uses map teleporter (great for inter-sim teleporting).
- Link safe.
- Ideal for shop/large build navigation boards.
Destinations are arranged on the prim surface in a grid of columns and rows. A sample teleporter with 6 rows and 2 columns (for a total of up to 12 destinations) is included to get you started. If you’re unsure, full instructions are included below or feel free to contact me.