The Golden Rule (and my biggest mistake...)

The Golden Rule for encouraging repeat customers - and growing a successful business in SL - is simple: Find a way to keep reminding people that your business exists. Nothing else is more important than this.

How many times have you visited a store in SL, and thought "hey, this place is pretty cool! ... I *must* come back here again!" ... and then, mere hours later, totally forgotten about it? If you're anything like me, that's probably a daily occurrence. My inventory is *full* of landmarks from places which - despite my best intentions at the time - I've never, ever, been back to.

Establishing some kind of communication channel to your keenest customers - the customers who think you have neat stuff, and who would actually *like* a prompt to come back to visit you from time to time - is absolutely fundamental to becoming a big player in SL. I mean ... yeah ... it's good to get a "NEW RELEASES, W00T!!" message out whenever you have new stuff for sale; but beyond that, the very act of sending out a message to people reminds them that "hey, that cool store still exists... I should really go back and check it out again!". Face it: there's a bazillion other places in SL that people could go - you *need* to keep pinging _your_ place on people's radars ... reminding them that you exist; reminding them that they thought enough of your products to consider visiting you again one day.

So, how do you do that?

Well, the most obvious approach is to set up a group. When I first set up business in SL, I also (naively, as it turns out) set up a group that my customers could join, to be notified of updates, offers etc.

Result? The thing flopped ... nobody joined. Despite my limitless self-conviction that my new clothing brand was *the* greatest thing to ever hit the SL club scene, the reality was I had about 6 products, and was selling out of the basement of some sleazy SL club. There was a much lower limit on the number of groups you could join in those days (15? something like that?...) - and nobody in their right mind was going to "waste" a group slot on a small-time operator like me. Turns out that groups can be a very hard sell, until you've become a reasonably big player on the scene. (unless you're pandering to a niche product - but that's another topic for another day)

Also, it's difficult to persuade somebody to actually go through the hassle of opening the search facility ... finding the group ... clicking the join button. Ideally, you need to dumb the process down - turn it into a one-click "impulse" decision. "Click this poster to join our update list" - that kind of thing. That wasn't really possible in days of yore; LSL has never been able to translate object clicks into group subscriptions (though the open-sourcing of the SL client has brought work-arounds - check out Cassini Creation's subscription bot services you're thinking of going down that path!).

Anyway, with these problem in mind, I set out to build myself an "alternative" to group messages; a device that could collate a mailing list for me, and then send out a notecard (or item... or an IM... or anything else I wanted) to everybody on that list, without taking up one of their precious group slots.

This was pretty much my first "real" scripting project in LSL... and the solution that I fashioned was a bit clunky (You couldn't make http calls from LSL in those days, so the system used e-mail for server communication, and most of the collation was actually done by an out-of-world process).

love our stuffYep, it was an ugly solution for sure... but it worked, and it solved my immediate problem. People happily clicked on my magic poster, and my mailing list gradually got larger and larger. Every time I sent out a newsletter, the store would fill up with green dots. Green dots begat more green dots, and my customer base expanded... yay! :)

Unfortunately, in recent times (and when  I say "recent", I'm dodging the truth ... I guess I mean "during most of 2007") I kind of fell out of the habit of sending those newsletters. There's a couple of reasons for this - but, basically, growing the "Lucky Designs" company was getting pretty much 99% of my attention last year, which meant that there was comparatively little time available to work on new products for LapGirl (and there's a limit to how many times you can send out a newsletter without actually having new products to talk about!!).

Lucky Chairs - on the other hand - are a much bigger deal. They're the kind of "killer app" that you *can* persuade people to sign up to a group for ... so from the Lucky Designs perspective, I didn't really have a driving motive to make the mailing list system work. The other (more fundamental) reason for the lapse was the fact that the PC which handled the out-of-world components of my clunky subscription service went up in smoke, and I never did get around to re-installing the software on a different machine. So, for a while, all those LapGirl subscription requests were just building up in a mailbox ... un-serviced...

And you know what? As it turns out, failing to follow my own "Golden Rule" is probably the single dumbest "business thing" that I've ever done in SL. Over the last couple of weeks, I've started a harder push on promoting the LapGirl business again - including reviving the old mailing list ... and wow! - the tills are humming! For the first time in (longer than I can remember) LapGirl is turning over more cash than Lucky Designs. I really don't know why I ever let things slip so much!

Some considerable pain was involved getting the notification system up and running again - (including manually cutting-and-pasting details from about 400 subscriber emails that had been lingering in a neglected mailbox ... My CTRL-C/CTRL-V muscles are still sore!!) ... but everything is ticking over nicely now.  ...That said, there's no denying the fact that - in these days of easy http access - the most sensible decision would probably be to think about retiring the existing system and starting again from scratch.

The more I think about that, the more tempted I am to use Zero Linden's silo back-end as a datastore... Admittedly, that approach would require *much* more hoop-jumping than a MySQL-based solution (I'd need to emulate some SQL-ish index and locking features from first principles, just to make it viable), but would - potentially - make the whole thing a *much* easier sell to third parties (kind of like a "host-it-yourself" alternative to the Subscribe-O-Matic, for the semi-web-savvy user ... "just drop this php onto a web server, and you're good to go!"). God knows I've had plenty of enquiries about buying the system in the past, and I've promised umpteen people that I might make a more polished version of it some time in the future. Maybe it's finally time to come through on that offer? ;)

Watch this space...

Vending to Flashmobs....

Yesterday saw the first field-test of my new viral-marketing device - the MobVend - which ...after a few teething troubles... all went rather nicely :)

Like the Lucky Chairs, the MobVend works on a fairly simple dynamic. It's a vending machine that gradually lowers its selling price, depending on how many people it can detect in close proximity. The more people there are in the store, the further the price falls... and - just to drive the point home - the MobVend whispers messages to those who are gathered around it, encouraging them to teleport friends to the store to make the price drop even further.

Eventually - assuming enough people gather - a special "best price" gets unlocked, and everybody is given 60 seconds (AKA "the mad minute") to get their orders in... after which the price shoots back up to maximum, and the whole process begins again.

Neat concept... but would it work in practice?

For the first "live" test, I dropped my MobVendor into LapGirl, next to the existing Lucky Chair, and put word out amongst my customers that I was testing out a new promotion. Then I lurked in the building next door, and started watching... 

The Mobvend, plus random lurker :)

 

The first couple of hours were disappointingly underwhelming. Every now and then a lone customer would come in, read the instructions on the vendor, and then just stand around doing nothing. I don't know if these people were running through their friends lists looking for people to come and help them push the price down, or were just lurking in the store on the offchance that somebody else would happen along and do the hard work for them. But, all said and done, not much was happening. 

Slightly disheartened, I was starting to wonder if I needed to change the instruction posters to make the big savings a little more obvious... when -  finally - somebody came into the store who finally grokked the mechanics of the game... and started porting in her friends... and her friends of friends... and within moments -- just as I'd hoped -- the whole thing went viral...

 

A crowd starts to form...

Within about 20 minutes, it looked like the sim was at risk of grinding to a halt due to over-capacity... I've never seen the store so full - result!!! :)

However, to my lesser delight, the MobVend broke down shortly before the machine hit the promised "bottom price" ... and I had to (stealthily) hack in a quick temporary fix before the massed crowd turned ugly! (oops). I let the machine run on a manually-overriden "bottom price" mode for a minute or two, and then turned the whole thing off. The crowd dispersed. 

So... partial success; the concept certainly worked well, even if the vendor itself wasn't quite up to the task. 

Yet. 

I went back to work on the script. Clearly, the preliminary testing I'd done on the device had missed something important... and I started to suspect that this was a fault that was only going to show up when the machine was running in an environment *stuffed* full of avatars - not an easy thing to simulate! 

Fortunately, I had a brainwave! I made a hud-size copy of the machine, fixed all the communications to use llOwnerSay (so nobody else would hear its messages), dropped this "test" version into my HUD, and scanned the popular places list for a nice, overloaded, laggy sim. 

 

Scripting in comfort... and getting paid too!

 

As an unexpected bonus, the casino I subsequently found myself in even had a vacant camping chair(!)... so I sat myself down, and worked on fixing the MobVend. To anybody watching, I guess I probably looked like any other AFK camping zombie - but all the while I was feverishly fixing up my MobVend, entirely within the HUD environment... with enough avatars gathered around me to totally stress the script to its limits. Nice one! :) 

(It turned out my problem was down to a _really_ obvious integer rounding error. I could've kicked myself!) 

So, the fixed script went back into the "live" MobVend... I tweaked the configuration file a little, so that the vendor would hit the bottom price a bit more rapidly (fearing complaints from the neighbours if I ended up pumping the sim to maximum capacity all night!) and I waited to see if I got a similar result to earlier... 

 

And.... another crowd... :)

 

I didn't have to wait for long. Word had evidently got out after the first session, and the second test soon attracted a steady flow of avatars, which seemed to be sustained for the next hour or two. The vendor ran fine throughout :) 

So, things are looking pretty good for the MobVend; it seems to have provoked several surges of customers in its 24 hour test period, and sales throughout the store were up by about 50% above a "regular" sunday. I'm not sure how long it'll sustain that traffic pattern (without a regular prize change) but - if people manage to organize themselves into flash-mob groups in the same way that they've already organized themselves into chair-hopping groups, I can easily see the MobVend becoming the focus of a new shopping craze. 

I'm probably going to do an initial roll-out of the MobVend machines to members of the Lucky Chair Owners group ... on the basis that this gives me an easy-to-contact set of people, should any other short-term problems arise. It'll probably be priced extra-low for early-adopters... so, if you're interested in having the first MobVend on your block, at a reduced price, join today! :)

Work in progress

Nutterfly_creamBeen busy this weekend - one of the fruits of my labour (yet to be released) can be seen to the left.... very kindly modelled by my partner in LapGirl crime, Nutterfly Moonlight.

This outfit represents a couple of noteworthy landmarks... first of all, It sees the debut of a new shading mask that I've been working on for upper-body outfits. I've never tried anything quite as ambitious as this before in terms of hand-shading, and I'm really pleased with how it turned out - especially the emphasis on the lower spine/pelvis in the back of the corset :)

Secondly, I came up with a nifty texture deformation matrix, that helps to compensate for the awful distortion that usually occurs on the sides of the torso in outfits like this. It means the fabric texture keeps its integrity all round the body - right up to the seams. I'm guessing only the hardcore texture and clothing geeks will notice this... but I'm *really* pleased with the accomplishment. Bit of a major step up in the quality stakes.

And that, dear reader, is pretty much how I spent the entire weekend. (See, it's not all champagne and gak-fueled orgies in the cut-and-thrust world of virtual fashion design!). The good news is, the shadow map and texture deformation matrix are totally re-usable assets, which means all future outfits should benefit... so hopefully it'll turn out to be a good time investment.

Expect to see this in the store soon! :)

Kit List

The first question that a lot of people ask me about my work is, "what software do you use?". I figure if I answer the question here, then I can just look at those people,  witheringly, and say: "what, you don't even read my blog?"

(just kidding)

Anyway, this is my kit list:

Paint Shop Pro (version 7... and yeah, that's like 3 versions out of date - I'm such a cheapskate!). PSP is a great package for the price, if a little quirky in many ways (perhaps less-so in more recent releases, but I'm used to the quirks now!). Very much underrated IMHO. And let's face it... how many start-up amateur designers have £500 to blow on photoshop?

Squizz 4 - by Human Software Inc. It's a set of deformation filters, intended for photoshop, but which happen to jive very nicely with the aforementioned PSP. It adds all the essential texture stretching stuff (plasticity warps, mesh deformations, envelope stretches) that PSP lacks... very useful! (though, Ironically, it actually cost me more than PSP itself did!)

Hardware-wise, I use a Wacom Intuos 2 graphics tablet for freehand work, and a logitech marble FX (wireless!) track-ball for precision clicking, area selection etc... I tend to switch between both peripherals a lot while drawing.

Oh... I almost forgot to namecheck Chip Midnight's template set - possibly the single most essential item in my SL creative toolbox - Massive kudos to Chip!