Transcript of the November 9th NPC Meeting Featuring: Opal Lei


[08:36] Rhiannon Chatnoir: Welcome everyone to this week’s Nonprofit Commons Weekly Meeting!


The Nonprofit Commons in Second Life is sponsored by TechSoup Global and is a program of the TechSoup Global Community & Social Media team.


[08:36] Buffy Beale: hi there 🙂

[08:36] Rhiannon Chatnoir: Today’s Agenda:

  • 8:30 am Introductions
  • 8:40 am TechSoup Announcements
  • 8:45 am Mentor’s Central 
  • 8:55 am Featured Presenter: Opal Lei, “Getting the Code You Need” 
  • 9:30 am Open Mic / Announcements


[08:37] Rhiannon Chatnoir: First a few links to start off the meeting. 


Here are the many ways to can get involved with the Nonprofit Commons in Second Life:


  • Nonprofit Commons Blog:
  • Wiki:
  • Twitter:
  • Facebook:
  • Google Group:
  • Google Calendar:


About TechSoup the sponsors of the Nonprofit Commons:






[08:37] Rhiannon Chatnoir: Happy Friday all! Llet’s start off with Introductions!


Please state your real name, location, org, and the ways we can find you online.


[08:37] Buffy Beale: Buffy Bye, Bridges for Women, Victoria BC Canada, @bridges4women

[08:37] HB Eternal: Harold W Becker, The Love Foundation, Florida, @lovefoundation

[08:37] Jen (jenelle.levenque): Bruce Hestley, Transgender American Veterans Association, Akron, OH,,!/TAVAUS

[08:37] Buffy Beale: lol HB slipping today 🙂

[08:37] Zinnia Zauber: Renne Emiko Brock-Richmond, Sequim Humanities and Arts Alliance, Sequim, Olympic Peninsula, Washington. @renneemiko

[08:37] Gentle Heron: Virtual Ability, Inc.

[08:37] Dancers Yao: Kara Bennett, Elder Voices, Los Angeles, CA Health Care and Human Rights

[08:37] Pathfinder Lester: John Lester, Chief Learning Officer, ReactionGrid, Montreal Canada

[08:37] Zotarah Shepherd: BEACH College, Santa Rosa, CA

[08:38] Andy Evans: Andy Mallon, First Opinions Panel in SL; Chief Bottle-Washer, Social Research Foundation, New York, NY

[08:38] Chayenn: Monique Richert, Protect Yourself 1, Inc. Baltimore MD, . @PY1US

[08:38] alebez: Ale Bezdikian, Online Community Coordinator, TechSoup, SF, Ca. @TechSoup, @alebez

[08:38] Glitteractica Cookie: Susan tenby, Online cxommunity and Social Media Director, TechSoup, @suzboop @techsoup @npsl, San Francisco, CA USA

[08:38] Rhiannon Chatnoir is Joyce Bettencourt in the Boston, MA area; Community Manager of TechSoup’s NonProfit Commons in Second Life; find me online at &

[08:38] Ethelred Weatherwax: Dave Dexter. Neenah Historical Society, Wisocnsin USA

[08:38] Ozma Malibu: Sandy Andrews, Floaters Org, tech outreach in Arizona, Mexico and On the Road, @ozma

[08:38] CarynTopia Silvercloud: Caryn Heilman in the Berkshires of NW MA in Adams, MA, Topia Arts Center,,, @topiaartscenter

[08:38] Orange Planer: Orange Planer, Homeowner Options for Massachusetts Elders

[08:38] Atalanta Visage: Jennifer Siegel, National Service Inclusion Project, Boston, MA

[08:38] Orange Planer: I should probably create an account.

[08:38] Adalace Jewell: @adalaceRoSa Documentation centre Brussel (Belgium)

[08:38] Coughran Mayo: Dick Dillon, Innovaision, LLC St. Louis MO @innovaision, @Coughran

[08:39] Zotarah Shepherd: Good to see you Orange

[08:39] Carl Solutionary (carlicann): Carl Icann and Events @ – I am hosting a Poetic DRUM CIRCLE on 9AM Sunday… Themes for Next 2 weeks are NO MO’ GMOs and Seed Freedom! (Do your causes align??? Thank You!)

[08:39] Patio Plasma: Patio Plasma, San Francisco Exploratorium,

[08:39] Frans Charming: I’m Jeroen Frans, The Vesuvuius Group. Amsterdam.

[08:39] Brena Benoir: Brenda Bryan, Preferred Family Healthcare, Kirksville, MO, @brenabenoir

[08:40] Grasshopper (ines.ogura): Ines Puspita German International School Indonesia

[08:40] Ronnie Rhode: Denise Harrison, The Garden for the Missing, and SLURL Remora (203,148,21), Project Jason, assistance for families of the missing,




[08:41] Rhiannon Chatnoir: It is time for TechSoup Announcements!

[08:41] alebez: Hello everyone, alebez here again to give you a few TechSoup updates for the week!

[08:41] alebez: I’ll keep it short and sweet today.

[08:42] alebez: I wanted to first say “Appy Friday” ya’ll! Every Friday is an appy friday here at TechSoup.

[08:42] Buffy Beale: yay alebez!

[08:42] alebez: This is a new theme born out of our Windows 8 Apps for Social Good contest and will continue throughout the campaign and beyond as a content theme to follow on social media and on the TechSoup blog. Every Friday is our day to discuss innovation and trends in the mobile space, as well as apps to note in the nonprofit and library world.

[08:42] alebez: We have an upcoming webinar that speaks to mobile trends in our nonprofit community. Consider joining us on 11/29 for part II of our popular Transforming Communities through Apps webinar:

[08:43] alebez: For more ‘Appy Friday goodness, check out a blog post roundup of recent stories about Apps for Youth, Election Time Apps, Gamification Apps and more!

[08:43] alebez: And finally, I wanted to remind everyone that the Windows 8 Apps for Social Good contest is in fact live. We even have our first submission! Very exciting.

[08:43] alebez: The prototype submitted is for a mobile game based on the East African boardgame, Mancala. The game is called Bao the concept is the more you play the game the more this app makes through ads, and the money is donated to an organization that works on improving the lives of the people in Malawi.

[08:44] alebez: you can learn more about bao here:


And you can check out more of the submissions as they come in at


The contest is open from November 5 – February 28.


[08:44] Orange Planer: That’s a long time.

[08:44] alebez: So if you have a great social good app idea, know a developer or two, and can swing a submission to this contest, the prize is 15K


Ok, that’s all she wrote folks. Have a great meeting.

[08:44] alebez: It is a long time, Orange.

[08:45] Orange Planer: 15K lindens or $15K USD?

[08:45] alebez: 15K USD.

[08:45] Ellie Edo: hmm

[08:45] Ellie Edo: thats interesting

[08:45] Glitteractica Cookie: makes it a bit more appealing, no? 😉

[08:45] Ellie Edo: iphone app?

[08:45] Gentle Heron: What is the source of the prize money?

[08:46] alebez: It really does. It can be mobile or web app

[08:46] Glitteractica Cookie: We receive the prize money from Microsoft, and we are running the contest for them

[08:46] Glitteractica Cookie: why do you ask, Gentle?

[08:46] Orange Planer: Does it have to be a Windows 8 app?

[08:46] Ellie Edo: morals, perhaps?

[08:46] Gentle Heron: just interested, Glitter.

[08:46] Glitteractica Cookie: ok

[08:46] Glitteractica Cookie: this is part of our Win 8 campaign

[08:47] Orange Planer: OK, so it does need to be a Win8 app.

[08:47] alebez: Yes, it does have to be a windows 8 app

[08:47] Ellie Edo: ok, forget that then lol

[08:47] Glitteractica Cookie: the point of the contest is to launch Win 8

[08:47] Orange Planer: Oh come on, Ellie.

[08:47] alebez: it must be submitted to the Windows marketplace as part of the contest

[08:47] Orange Planer: Win8’s an excellent interface.

[08:47] Ellie Edo laughs

[08:48] Ellie Edo: “sorry” (looks contrite)

[08:48] Orange Planer: It’s only “hard” if you’re used to doing things the hard way.

[08:48] alebez: Ok, great. That’s all for me. Have a great meeting all!

[08:48] Orange Planer: Which is what we’ve done before tablets got here.

[08:48] Orange Planer: Thanks, alebez.

[08:48] Rhiannon Chatnoir: Thanks Ale

[08:48] Buffy Beale: thanks Ale




[08:48] Rhiannon Chatnoir: on to Mentor’s Central!

[08:48] Rhiannon Chatnoir: Today for Mentor Central we have Gentle is speaking today on Helping Volunteers Succeed.

Let’s welcome her up and please start whenever your ready.!

[08:49] Zinnia Zauber: Rah Gentle!

[08:49] Gentle Heron: I want to encourage my fellow NPCers, especially those who are in the Mentor Group, to consider making a little “book report” on something they have read recently, either on the net or on paper.

[08:49] Zotarah Shepherd: Yay Gentle

[08:49] Buffy Beale: yayy Gentle!

[08:49] Gentle Heron: And it contains several BIG HINTS!!!!!

[08:49] Gentle Heron: This information is from “Helping Volunteers Succeed” by Allen Liff. It is a short document addressed to a potential volunteer.

[08:49] Gentle Heron: I was looking for information on the internet about how to help my own SL community (which is entirely volunteer, we have no staff!) work more efficiently.

[08:49] Gentle Heron: It begins with The Volunteer Inventory:

[08:50] Gentle Heron: Three Elements of a Successful Volunteer Experience:

[08:50] Gentle Heron: •Addressing an issue of personal interest.

•Applying my skills & experiences to a challenge

•Contributing to the association, profession, etc.

[08:50] Gentle Heron: These are all seen as benefits to the volunteer. The volunteer should be able to answer these questions before applying for a specific volunteer position.

[08:50] Gentle Heron: Also, the staff member of the organization for which the volunteer will be working should be able to answer those same questions.

[08:51] Gentle Heron: Developing Groundrules for the Partnership between Staff and Volunteers.

[08:51] Gentle Heron: This is a set of four questions that could be answered jointly.

[08:51] Gentle Heron: How do you want to be treated?

How do you want to treat others?

[08:51] Gentle Heron: How do you think I want to be treated?

How will we resolve conflicts?

[08:52] Gentle Heron: Of course, any work requires a plan. That leads us to:

[08:52] Gentle Heron: Making a Plan for Volunteer Tasks. This covers three areas: clarity, readiness, success.

[08:52] Gentle Heron: CLARITY:

[08:52] Gentle Heron: •Do we agree on the facts? 

•What opinions or assumptions do people hold? 

•Are we clear about the roles of staff and volunteers?

[08:52] Gentle Heron: READINESS:

[08:53] Gentle Heron: •Do we agree on a path forward plan and accountability? 

•Do we have the right mix of resources and skills?

[08:53] Gentle Heron: SUCCESS:

[08:53] Gentle Heron: •Do we share and are we committed to the same goals? 

•How will we know if and when we have succeeded?

[08:53] Gentle Heron: And finally, a diagnostic tool for health of a volunteer operation. These questions will help identify issues and initiate corrective actions.


[08:53] Gentle Heron: 1. Do volunteers know what is expected of them as volunteers? Are staff and volunteers in agreement about: a) which activities and functions should be done only by the volunteer; and b) those activities and functions that should be done only by staff?

[08:54] Orange Planer: I am SO stealing this.

[08:54] Gentle Heron smiles at Orange.

[08:54] Gentle Heron: 2. Do staff provide volunteers with the materials and support they need to do their work well?

[08:54] Gentle Heron: 3. Does staff understand and appreciate the priorities of the volunteer?

[08:54] Gentle Heron: 4. In the past three or four months, have volunteers received recognition or praise, from staff for doing good work?

[08:54] Gentle Heron: 5. Does the staff at staff seem to care about volunteers as persons? (e.g., Do I have a friend at staff?)

[08:55] Gentle Heron: 6. Is there someone at staff who encourages volunteers individually, either to take on a new challenge or to learn from a failure?

[08:55] Gentle Heron: 7. Do volunteer opinions count with staff?

[08:55] Gentle Heron: 8. Does the staff feel the work of the volunteers is important? Do they make volunteers feel important?

[08:55] Gentle Heron: and finally

[08:55] Gentle Heron: 9. In the last few months, has someone on staff checked in to see how volunteers are doing and whether they are meeting their goals?

[08:56] Gentle Heron: SO several things to think about, whether we manage volunteers or whether we are asked to volunteer for an organization we belong to.

[08:56] Coughran Mayo: Brilliant!

[08:56] Gentle Heron: Thank you and happy reading.

[08:56] Zinnia Zauber: This is wonderful!

[08:56] CarynTopia Silvercloud: thanks very helpful

[08:56] Zotarah Shepherd: Thank you Gentle

[08:56] Zinnia Zauber: Thank you so much Gentle!

[08:56] Buffy Beale: all good reminders Gentle thanks!

[08:56] Jen (jenelle.levenque): Thanks a heap Gentle

[08:56] Mia (praxislady.witt): Haha, The mistress of organizational skills, our Gentle :))

[08:56] Zinnia Zauber: A great checklist to use!

[08:56] Gentle Heron: You’re all welcome.

[08:56] Rhiannon Chatnoir: Yes – great stuff .. thanks Gentle 🙂

[08:57] Rhiannon Chatnoir: Let’s thank Gentle for leading Mentors Central today!

[08:57] Dancers Yao: thank you

[08:57] Pathfinder Lester: thanks Gentle

[08:57] Glitteractica Cookie: thanks and great stuff




[08:57] Rhiannon Chatnoir: Time for today’s main presenter…


[08:58] Rhiannon Chatnoir: Welcome Opal Lei, who will discuss with us today the why, what, who and how of obtaining LSL scripts for your organization’s virtual presence.


[08:58] Rhiannon Chatnoir: First a bit about our speaker…


Opal Lei (aka Lea Tesoro in real life) now calls herself an author after publishing her book “Love, Like Dim Sum” ( But, once upon a time, she called herself a techie. Prior to discovering SL, she worked in the software industry for 14 years, including a stint at Microsoft, where she documented APIs and coded basic snippets for the .NET SDK. Her first LSL scripting project was a docent game for the International Spaceflight Museum. As her alt Treasure Box, she had also choreographed and coded the burning of the Burning Life/Burn2 temple for four years.


[08:58] Gentle Heron: YAY Opal!

[08:58] Zinnia Zauber: Rah Opal!

[08:58] Opal Lei: Hi, everybody.

[08:58] Opal Lei: This prim behind us is a media-on-a-prim.

[08:58] Rhiannon Chatnoir: thank you Opal, start whenever your ready 🙂

[08:58] Opal Lei: Thank you, Rhiannon

[08:58] Opal Lei: If you prefer to view the stream directly, you can go to …

[08:59] Opal Lei: It only has the slides. If you can’t view it, all the information will be in chat anyway.

[08:59] Opal Lei: LiveStream will first show you an ad, so you might want to get that started to get past the ad before we get to the good stuff.

[08:59] Buffy Beale: Cheering for Opal!

[08:59] Opal Lei: I received 13 responses to the survey. Thank you very much to those who responded.

[08:59] Opal Lei: Based on the results of that survey,

[08:59] Opal Lei: • Most of you want to learn basic LSL. My apologies to the intermediate and advanced scripters in the audience. The first part might bore you but the latter part might be a little interesting.

[09:00] Opal Lei: • Most of you have not hired any scripters. Of the three who have, two are happy and one is not.

[09:00] Opal Lei: • I couldn’t prioritize which topics to focus on. Based on the weighted average, they all got approximately the same ratings.

[09:00] Opal Lei: And you asked many questions!

[09:00] Opal Lei: therefore,….

[09:00] Opal Lei: * I’m going to spend more time on “Deciding when to modify a freebie script and when to leave it alone.”

[09:00] Opal Lei: * I will briefly touch on “Deciding when to hire, when to purchase off the shelf, and when to do it yourself.”

[09:01] Gentle Heron: /cheers for the first topic

[09:01] Opal Lei: * I will also quickly skim over “Choosing the right scripter if you decide to hire.” And someone had great questions related to that.

[09:01] Opal Lei: * And because some of you might get volunteer scripters, I’ll spend more time on “Effectively sharing your vision with a scripter to get the results you want.”

[09:01] Opal Lei: Even if you prefer to write your own scripts, stick around for that last topic.

[09:01] Opal Lei: In the end, I’ll answer the questions you wrote in the survey. I’ll try to address as many of them as I can.

[09:01] Opal Lei: Let’s get started…. Please let me know if I’m going too fast.

[09:01] Sarvana Haalan: Sally S. Cherry, MT(ASCP), Baltimore, MD @CHAREproject, @SarVana

[09:01] Opal Lei: Why scripts for non-profits?

[09:02] Opal Lei: You give away notecards, landmarks, free shirts, whatever.

[09:02] Opal Lei: You direct people to your website or to YouTube or Facebook.

[09:02] Opal Lei: You play an automatic slideshow.

[09:02] Opal Lei: You track your visitors.

[09:02] Opal Lei: You give them an “experience” to emphasize the need that your organization addresses.

[09:02] Opal Lei: You engage them with a “game”.

[09:02] Opal Lei: You add interactivity to your displays.

[09:02] Opal Lei: You illustrate a concept.

[09:02] Opal Lei: And so much more.

[09:02] Opal Lei: I know that many of you use simple freebie scripts to do the basics of what you need to get done.

[09:02] Opal Lei: So, let’s talk about freebie scripts. …

[09:02] Opal Lei: TOPIC 1: Deciding when to modify a freebie script and when to leave it alone

[09:03] Opal Lei: If you can combine the functionality of two or more freebie scripts in one prim, reduce lag by combining them into one. I’ll explain why….

[09:03] Opal Lei: There are two ways a script can take up server resources . . . time and space . . . processing time and memory space.

[09:03] Opal Lei: If a script is compiled WITHOUT Mono, each instance of a script takes up 16kB of memory for both code and data.

[09:03] Opal Lei: If a script is compiled WITH Mono, the FIRST instance of a script takes up 64kB of memory. Other instances of the same script in the sim take up space for the data only.

[09:04] Opal Lei: So, if you use two separate scripts that could have been combined, you use twice the memory in the server.

[09:04] Opal Lei: Compiling with Mono makes sense if you will use the same script at least four times in the same sim, if you have a large script, and/or if you will hold a lot of data.

[09:05] Opal Lei: (( Now, I’m sorry I started with something that technical. I apologize. ))

[09:05] Gentle Heron: Just one question: what is Mono?

[09:05] Opal Lei: If you have any questions, just throw it out and I’ll try to explain.

[09:06] Opal Lei: In the olden days, the only way to compile scripts is with the old LSL engine.

[09:06] Opal Lei: Mono is a more efficient engine.

[09:06] Orange Planer: Mono is the compiler used to turn LSL into binary programming code.

[09:06] Opal Lei: THank you, Orange. 🙂

[09:06] Opal Lei: On to the next point….

[09:07] Opal Lei: If there is a conflict in user interaction, keep them separate or use alternate interactions. For example, ….

[09:07] Opal Lei: If both original scripts use touch as a trigger for an action, you can change the combined script to perform different actions depending on the face touched.

[09:07] Opal Lei: For example, you can have the code from ScriptA respond only if the user touches Face 0 of the prim.

[09:07] Opal Lei: And the code from ScriptB responds only if the user touches Face 3.

[09:08] Opal Lei: When it rezzes, here’s an example of an object where touching a different side sends you to a different website.

[09:09] Opal Lei: kk, i set it for sale for 0L.

[09:09] Opal Lei: Feel free to take a copy.

[09:09] Orange Planer: Nice.

[09:10] Opal Lei: You can also make it depend on the area touched on the same face.

[09:10] Orange Planer: Really nice.

[09:10] Zinnia Zauber: Thank you, Opal!

[09:10] Opal Lei: I’ll do some shameless self promotion and rez the poster for my book.

[09:10] Opal Lei: The poster itself has only one prim.

[09:10] Opal Lei: The buttons are part of the texture.

[09:11] Opal Lei: But if you touch the area assigned to each button, the script behaves differently.

[09:11] Opal Lei: And that’s only using one side of the prim.

[09:11] Opal Lei: If/When you are comfortable with coding menus, you can use a menu system to allow users to select the action.

[09:11] Opal Lei: That’s another option to save prims and scripts.

[09:12] Opal Lei: However, a menu system adds additional steps for the user,

[09:12] Opal Lei: … is not intuitive for non-native speakers of the language used,

[09:12] Opal Lei: … can be restrictive because each button displays only 12 characters,

[09:12] Opal Lei: … is a little more complex to code, and

[09:12] Opal Lei: … is a little more complex to code, and

[09:12] Opal Lei: … uses up more resources.

[09:12] Orange Planer: Is prone to repeating itself?

[09:12] Orange Planer: Sorry.

[09:12] Opal Lei: lmao

[09:12] Opal Lei: That was a copy-paste error. 😀

[09:13] Opal Lei: Third point on the topic….

[09:13] Ellie Brewster: So if it uses up more resources, is there really a gain in using fewer prims?

[09:13] Opal Lei: If the scripts are too complex, leave them alone or test the script extensively.

[09:13] Orange Planer: No, Mono uses less.

[09:13] Opal Lei: Ellie, did you mean the … Thank you, Orange.

[09:13] Opal Lei: The memory is already allocated to the script.

[09:13] Orange Planer: if the script does not use Mono, then it’s definitely worth using less prims to use fewer resources.

[09:14] Ellie Brewster: ty

[09:14] Opal Lei: The reasons why to avoid messing with more complex scripts is that two scripts might use the same variable name differently and cause problems when combined.

[09:15] Opal Lei: If you don’t know everything that a script does, be very cautious about modifying it.

[09:15] Opal Lei: Code is very picky. Even using the wrong capitalization or missing a single dot can cause the compiler to throw an error at you.

[09:15] Opal Lei: Or worse, the compiler would say that it’s fine, but it doesn’t work like you expected.

[09:15] Opal Lei: And you can sit there and cuss at it all you want, only to cuss at yourself after you realize you made a type.

[09:15] Opal Lei: typo*

[09:15] Opal Lei: like that.

[09:16] Opal Lei: Any questions on that topic?

[09:16] Opal Lei: kk, next topic …

[09:16] Orange Planer has some familiarity with coding, but not LSL

[09:16] Opal Lei: TOPIC 2: Deciding when to hire, when to purchase off-the-shelf, and when to do it yourself

[09:16] Opal Lei: Of course, if you cannot afford to hire, you can look for volunteers or do it yourself.

[09:16] Opal Lei: Generally, I recommend doing it yourself for simple scripts and hiring someone if the project is beyond your level of comfort.

[09:16] Opal Lei: But how would you know?

[09:17] Opal Lei: In Topic 4, we’ll talk about sharing your vision with a scripter.

[09:17] Opal Lei: I recommend going through that process, even if you don’t think you need someone else.

[09:17] Opal Lei: Because it will clarify the project and will help you decide.

[09:17] Opal Lei: There aren’t many off-the-shelf scripts available in the market.

[09:17] Opal Lei: And I’ve seen scripts that are too expensive for what they do.

[09:17] Opal Lei: There are some systems that are worth it, however. Systems that do not have to be customized much, like teleporters, vendors, security systems….

[09:17] Opal Lei: On the other hand, they tend to be laggier because they use additional code that you’d probably use only once when you set up, but they continue to use up resources.

[09:18] Opal Lei: And scripters are probably not going to give you their proprietary code, so you would not be able to customize it to fit your needs, except for the customization that is built-in.

[09:18] Opal Lei: I’m going to move ahead to the next topic.

[09:19] Opal Lei: If I’m losing you, let me know.

[09:19] Opal Lei: TOPIC 3: Choosing the right scripter if you decide to hire

[09:19] Opal Lei: Depending how big the project is, depending on your budget, and depending on your negotiations, these are some of the qualifications that you’re looking for:

[09:19] Opal Lei: * Skill level that is appropriate for your project

[09:19] Opal Lei: Check if they’ve done something similar to your project.

[09:19] Opal Lei: They should be able to demo or describe past projects, whether sold in retail or done in custom projects.

[09:20] Opal Lei: Even if your project is something new to them, if they’ve done a wide variety of projects at different

[09:20] Opal Lei: levels of complexity, they can probably handle yours too.

[09:20] Opal Lei: There is a certification program but I haven’t looked into it:

[09:20] Opal Lei: * Problem-solving skills

[09:20] Opal Lei: Ask them if they have encountered an interesting coding problem and how they solved it.

[09:20] Orange Planer: i run the group for that, Opal.

[09:21] Orange Planer: bug me later.

[09:21] Opal Lei: Oooh, cool, Orange! Let’s chat.

[09:21] Opal Lei: 😀

[09:21] Opal Lei: If not, give them a problem to solve and ask how they would solve it without coding.

[09:21] Opal Lei: More importantly, ask them WHY they chose that solution.

[09:21] Opal Lei: * Coding practices

[09:21] Opal Lei: Generally, if a scripter/coder is paid by the hour, you own the code and you should receive the scripts with full perms, so you can modify it in the future.

[09:21] Opal Lei: For that reason, you need someone who writes code that is “clean”, well-organized, well-commented, and easily understandable.

[09:22] Opal Lei: Good professional coders will submit code that someone else can more easily modify later down the road.

[09:22] Opal Lei: Ask them to write a short script for you, and you define what the script does. When you view the code, you should be able to get a sense of what each section does, based on the variable names, the function names, and the comments within the code.

[09:22] Orange Planer: Hear har

[09:22] Orange Planer: hear

[09:22] Opal Lei: at least a vague sense at the minimum.

[09:22] Orange Planer can’t emphasize the “clear, well-commented” aspect.

[09:22] Orange Planer: enough

[09:22] Opal Lei: There are a few topic suggestions from the survey that I’d like to address quickly in this section.

[09:23] Opal Lei: Q: Why prices may vary significantly between scripters:

[09:23] Glitteractica Cookie: (sorry i have to jump out early for a mtg., see u all next week)

[09:23] Ellie Edo: If onlythe Lindens had stuck to that when they statred SL !

[09:23] Rhiannon Chatnoir: this is good advice for those looking for coders outside of Second Life too!

[09:23] Opal Lei waves at Glitter.

[09:23] Opal Lei: LSL scripters come from all over the world. Cost of living in their area is a significant factor.

[09:23] Orange Planer: Ellie, talk to me about that.

[09:23] Ellie Edo: cleann documented mosdifiable code

[09:23] Opal Lei: Some may be experienced coders and they already know what they’re worth.

[09:23] Opal Lei: Others might be just learning and building their portfolio or reputation.

[09:23] Opal Lei: Some do it for a living. Others do it for fun.

[09:23] Opal Lei: Some may be lowering their prices to compete.

[09:24] Opal Lei: Let me add….

[09:24] Opal Lei: When you create scripts that are meant to be sold off-the-shelf, you have the advantage of the software business model.

[09:24] Opal Lei: You invest a lot in the first copy of the product, and all subsequent copies that you sell have almost no cost.

[09:24] Opal Lei: This is true whether you’re selling a script or a virtual piece of clothing. And you can sell an infinite number of copies, theoretically.

[09:24] Opal Lei: On the other hand, if you do custom software, you’re selling your time, which is a very limited resource.

[09:25] Opal Lei: The second part of the suggested topics….

[09:25] Opal Lei: Q: Advantages/disadvantages of choosing an individual scripter vs a company, e.g. price may be lower for individual but availability and ongoing/future support more reliable from a company

[09:25] Opal Lei: I think it may depend on the scripter and the company. Some companies have been around for a while and their longevity is a good sign.

[09:25] Opal Lei: But it also depends on what the company guarantees they would do.

[09:25] Opal Lei: Do they review each other’s code? Do they test each other’s code? What sorts of tests do they do? How good is their best scripter? How good is the scripter they’re going to assign to your project?

[09:25] Opal Lei: You might not want to reject an individual scripter who’s at level 10 in favor of a company whose scripters are only at level 5.

[09:26] Opal Lei: And the last part of the suggested topic…

[09:26] Opal Lei: Q: How to estimate reasonable costs

[09:26] Opal Lei: Estimates are very difficult to do. Like anything else, the more experience you have, the better you can estimate.

[09:26] Opal Lei: A good scripter will help you fine-tune the requirements, then code it, then test the code, then document the project both for the end user and for the person who will be maintaining the code.

[09:26] Opal Lei: A good scripter will also give you status updates, and even submit partial code at milestones that you agree on.

[09:26] Opal Lei: All these take time. And for a custom job, you’re paying for their time.

[09:26] Opal Lei: Actually, this is a great segue to the next topic.

[09:27] Opal Lei: Before you can estimate, you have to first define the job. The more detailed the definition, the better the estimate.

[09:27] Opal Lei: If your budget is limited, you can work with the scripter to define the priorities of the features. Then make sure that they implement the features you *need* before they implement the features you *want*.

[09:27] Opal Lei: Depending on your negotiations, you might also be able to come to an agreement on an estimate and the scripter would absorb the time cost if they don’t get it done within your agreed maximum cost.

[09:27] Opal Lei: Any questions before I move to the last topic?

[09:28] Opal Lei: Sorry, I forgot to move the slides forward. Oops.

[09:28] Opal Lei: TOPIC 4: Effectively sharing your vision with a scripter to get the results you want

[09:28] Opal Lei: In my first job after my undergrad, I learned a lesson that I still remember to this day, …

[09:28] Opal Lei: *** What the customer asks for is not necessarily what they need. ***

[09:28] Opal Lei: We were told to dig out what they really need.

[09:28] Opal Lei: A system could have all the bells and whistles. …

[09:28] Opal Lei: It could even be 100% bug-free (although computer science purists will say there is no such thing). …

[09:28] Opal Lei: But, if it doesn’t meet the customer’s needs, it’s a failure.

[09:29] Opal Lei: In software development, several specifications (or specs) are created to communicate what the customer needs to the development team.

[09:29] Opal Lei: Specs that define the problem that the product will solve and the customers that it will serve.

[09:29] Opal Lei: Specs that define the behavior of the product from the customer’s point of view.

[09:29] Opal Lei: Specs that define the internal data structures and technical components that the product will have.

[09:29] Opal Lei: Specs that define the tests that will be done on the code.

[09:29] Opal Lei: Essentially, you will need to write an abbreviated version of all those specs rolled into one.

[09:29] Opal Lei: Even if you’ll be writing your own code, I recommend this process anyway.

[09:29] Opal Lei: Think of it as something like writing a business plan or a project plan. Or a storyboard for a film.

[09:30] Opal Lei: It will help you think through the project, so you can see where you might need help or what you need to learn.

[09:30] Opal Lei: I still do this for myself too, because it keeps me focused and helps me make the little decisions when I

[09:30] Opal Lei: choose how to implement a piece of the code, or what features to include.

[09:30] Opal Lei: It also reminds me why I chose to solve a problem one way, instead of another way.

[09:30] Opal Lei: It also reminds me why I chose to solve a problem one way, instead of another way.

[09:30] Opal Lei: Eventually, you can rewrite the document as instructions for how to use the script.

[09:30] Jen (jenelle.levenque): Also helps you to develop modules for plugins later

[09:30] Opal Lei: Yes!

[09:30] Opal Lei: Specs go through several edits and iterations.

[09:30] Opal Lei: Sometimes even while the coding is already being done.

[09:30] violeta222: sobre o que vcs falam?

[09:31] violeta222: e uma palestraW

[09:31] Opal Lei: Before coding starts, ask your scripter to review the specs and suggest changes.

[09:31] Opal Lei: Your scripter can tell you what can or cannot be done within the limitations of LSL.

[09:31] Opal Lei: And s/he can recommend alternate solutions or approaches that are more efficient or more effective.

[09:31] Opal Lei: Invest as much time as you can on the spec before coding starts.

[09:31] Opal Lei: Work with your scripter to fine-tune the spec.

[09:31] Opal Lei: The later you make a change in the design, the more expensive it gets, in terms of time and money.

[09:31] Opal Lei: And the more likely that bugs would get introduced into the code.

[09:32] Opal Lei: A good spec makes coding straightforward, so coding itself takes less time to do.

[09:32] Opal Lei: With a good spec, the scripter doesn’t have to second-guess your needs and preferences.

[09:32] Opal Lei: So, here are some of the things that you need in it and why.

[09:32] Opal Lei: This is not a complete list, and some may depend on the project itself.


[09:32] Opal Lei: 1. YOUR GOAL

  • What is your goal for the project?
  • Do you want to educate? Entertain? Add interactivity?
  • Increase traffic to your parcel? To your website?

Segment your target audience. By knowing who would be interacting with the object/script, you’ll be able to define the features and the behavior better.


[09:32] Opal Lei: 2. USER INTERFACE

  • Exactly how do you want the user to interact with the script?
  • What would the object look like? What would the textures look like?
  • How will the script be triggered to do something? Touch? Proximity? Collision? Chat? Sitting? Paying?
  • Do you need a blue menu system? A chat-based system?
  • Do you need them to type something in chat?
  • What needs to be done to process what they type?


[09:33] Opal Lei: 3. DESIRED RESULTS

  • Do you want the script to say something in chat? To collect information? To listen?
  • Do you want to change the configuration of the prim? How?
  • Do you want to give inventory?
  • If giving inventory, how many items are you giving away?
  • Are there conditions when you give some items and other conditions when you give other items?



  • Do you need the script to hold data temporarily, like visitor UUIDs or other settings? For how long? How much data? Why do you need to store the data?
  • Do you need to validate any data? For example: If you ask for an email address, you’d look for the “@” in the string that the user enters.
  • Do you need to handle sensitive data that must be secured? How secure?



  • Do you need to save data to an external database or to customize a website for the user?
  • If someone else is coding the web application and database, how is the data formatted? Are there restrictions in length and data types?
  • Will there be other scripts in the same object? What do they do? What are the triggers for those scripts? Could the triggers cause conflict; i.e.: same triggers used?
  • Does the script need to interface with another script? Are the scripts in the same prim? Same object but different prims? Different object? Outside normal chat range? Outside shouting rage? Outside the sim? Outside SL?

[09:34] Opal Lei: If possible, give your scripter a copy of the object where the scripts would reside. Better yet, have them collaborate with your builder. The script design and the object design must work well together.

[09:34] Opal Lei: The years when I scripted the Burning Life / Burn2 temple as my alt Treasure Box, I couldn’t start planning the burn, let alone start scripting until after Damanios Thetan gave me a copy of the temple that he built.

[09:35] Opal Lei: I didn’t change the design, but I had to reconfigure how the prims were linked together, in order to make the collapse of the structure more realistic and to group components that burned similarly.

[09:35] Opal Lei: For example, I separated the glass parts from the wood parts and from the metal parts.

[09:35] Opal Lei: So, don’t leave your scripter in the dark when it comes to the final object where the scripts would go.


[09:35] Opal Lei: 6. ACCEPTANCE TESTING

  • What tests will you perform before you accept the project as satisfactory?
  • Each criteria must be specific and the whole test plan must be comprehensive.
  • If you don’t know how to test code, you can hire a separate tester who is not associated with the scripter, so you’d get an independent opinion.
  • Your tester can write this section for you.


[09:35] Opal Lei: If you want to get a copy of the expanded version of this LSL spec-writing guideline as a pdf file, just fill out the post-talk survey with your feedback.

[09:36] Opal Lei: Here’s the link:


[09:36] Opal Lei: But don’t go there yet.

[09:36] Opal Lei: Are we out of time?

[09:36] Opal Lei: Did everybody fall asleep?

[09:36] Rhiannon Chatnoir: aww

[09:36] Zinnia Zauber: This is great, Opal!

[09:37] Ellie Edo: nope. somegood advice there

[09:37] Zotarah Shepherd: Taking notes

[09:37] Orange Planer: No, I’m glad I’m recording hte chat because there’s so much detail.

[09:37] Opal Lei: Oh good. 😀

[09:37] Orange Planer: You’re giving us a complete working plan to implement a solution.

[09:37] Rhiannon Chatnoir: still awake here.. lots of great advice for SL and programmer/coders you might need beyond SL

[09:37] Sarvana Haalan: an excellent presentation

[09:37] Patio Plasma: yay Opal

[09:37] Opal Lei: Thank you all.

[09:37] Andy Evans: Excellent

[09:37] Andy Evans: May I make a comment?

[09:37] Zotarah Shepherd: Very helpful.

[09:37] Rhiannon Chatnoir: any questions for Opal

[09:37] CarynTopia Silvercloud: thanks

[09:37] Opal Lei: I’ll post the answers to some of the questions I got from the survey.

[09:37] Opal Lei: Andy, please go ahead.

[09:37] Rhiannon Chatnoir: great

[09:38] Andy Evans: It might be instructive to have an archive of:


Name of purchaser

Name of Scripter

Custom scripts that were done – the purpose, type, description of project

Time frame from initial discussion to completion

Final costs

Recommendations from the purchaser & scripter – what they might have done differently or what could have saved costs; what decisions were made and why along the way


[09:38] Sarvana Haalan: Thank you … I understand some aspects of scripting a lot better

[09:38] Opal Lei: Good point, Andy.

[09:38] Opal Lei: Glad to hear Sarvana.

[09:38] Opal Lei: Oh, let me answer one question fromthe survey.

[09:39] Orange Planer: You mean an “after project wrap-up,” Andy?

[09:39] Rhiannon Chatnoir: and of course we will have the archive of this up on so you can reread

[09:39] Rhiannon Chatnoir: please do Opal

[09:39] Opal Lei: ty, Rhiannon

[09:39] Opal Lei: Q: What are the best current resources for learning more about scripting?

[09:39] Andy Evans: Yes, an after project wrap up

[09:39] Opal Lei: The LSL portal in the Second Life wiki should be your bible:

[09:39] Opal Lei: I still refer to it every time to look up the correct spelling of a function name and/or to check the parameters it requires.

[09:39] Opal Lei: I still refer to it every time to look up the correct spelling of a function name and/or to check the parameters it requires.

[09:40] Opal Lei: An older resource is, but I’m not sure how up-to-date that is. However, some of the functions are better described there than in the SL wiki.

Don’t read it all at once. Just take the time to look up the one or two functions that you need.

[09:40] Opal Lei: DISCLAIMER: I cannot vouch for nor recommend any of the following individuals, groups, sites or organizations, because I have no connections nor interactions with them.

[09:40] Orange Planer: and play with them a lot until you’re comfortable with them.

[09:40] Opal Lei: College of Scripting: Horsa (57,243,84)

[09:40] Opal Lei: Builder’s Brewery (

[09:40] Opal Lei: Groups: 

“Scripting Mentors” looks like a good one to join.

Search for “scripting” in Groups.

[09:40] Jen (jenelle.levenque): If it’s a new function to me then I usually tinker with it outside my main coding til I’m comfortable with it

[09:40] Zotarah Shepherd: I start with scripts I have bought that are no mod or too complex for me to change and tell a scripter a scripter – like this one only changed to do that… so at least there is a starting point.

[09:40] Opal Lei: YouTube:

 Search for “lsl scripting tutorial”.

[09:41] Opal Lei: A website that generates LSL based on your answers to multiple choice questions:

[09:41] Sarvana Haalan: I used Builders’ Brewery a lot

[09:41] Opal Lei: Are you happy with them, Sarvana?

[09:41] Zinnia Zauber: I love that site!

[09:41] Sarvana Haalan: yes… there were a major help when I starting building a couple yrs ago and still is

[09:42] Rhiannon Chatnoir: yes .. that was made by Ann Enigma, Hilary Mason in real life who is now the head data scientist for http://bit.y

[09:42] Sarvana Haalan: *they

[09:42] Rhiannon Chatnoir: that LSL script generator

[09:42] Sarvana Haalan: awesome

[09:42] Rhiannon Chatnoir: oops

[09:42] Rhiannon Chatnoir: well let’s thank Opal for presenting today

[09:42] Opal Lei: I’ll put up the answers to the rest of the questions that came in the survey in a website page and send it to Rhiannon to include with the chat log.

[09:43] Zotarah Shepherd: Thank you Opal

[09:43] Jen (jenelle.levenque): ********APPPLLLAAAUUUSSSEEE********

[09:43] Opal Lei: Thanks, everybody and Rhiannon!

[09:43] Sarvana Haalan: wooot… Opal Lei is a Superhero for sure.

[09:43] Patio Plasma: Yay

[09:43] Rhiannon Chatnoir: am hoping to have her back for a followup .. a scripting 201 😉

[09:43] Sarvana Haalan: Thanks

[09:43] Zinnia Zauber: Thank you Opal!

[09:43] Zinnia Zauber: This was super!

[09:43] Dancers Yao: thanks so much

[09:43] Patio Plasma: also for writing particle scripts try this free website

[09:43] Opal Lei: Oooh, Thanks, Patio!




[09:44] Rhiannon Chatnoir: Let’s end things off with Open Mic & Announcements

[09:44] Rhiannon Chatnoir: anyone have anything to announce?

[09:44] Zinnia Zauber: me, please!

[09:44] Rhiannon Chatnoir: go Zinnia!

[09:44] Zinnia Zauber: Thank you!

[09:44] Zinnia Zauber: We will not have a Mentors Meeting today because we are going to VAI!

[09:44] Zinnia Zauber: Here are the details!

[09:45] Zinnia Zauber: Accessible Instruction in Virtual Worlds

Presenters: DanielG Tigerfish (PATINS Project) and Gentle Heron (Virtual Ability)

FRI Nov 9, 9:45am SLT

[09:45] Zinnia Zauber: Sojourner Auditorium, Virtual Ability Island

Virtual Ability (53,172,23)

[09:45] Zinnia Zauber: Many educational institutions are exploring the use of virtual worlds for instruction. As with any new technology, accessibility is a concern. Virtual worlds are not websites, nor are they physical environments. What accessibility issues exist in virtual worlds? How can they be made accessible for instructional usage?

[09:45] Zinnia Zauber: One of the speakers will be presenting from an instructional environment inside Second Life. The other will present from the PATINS conference in Indianapolis. The two audiences will be able to interact after the presentation.

[09:45] Rhiannon Chatnoir: oo field trips!

[09:45] Zinnia Zauber: So! That starts right away!!

[09:45] Zinnia Zauber: I hope you can join us!

[09:46] Zinnia Zauber: Thank you!

[09:46] Rhiannon Chatnoir: any other announcements?

[09:46] Sarvana Haalan: I posted it on my FB page… will tweet it out

[09:46] Andy Evans: Great meeting, thanks!

[09:46] Zinnia Zauber: Great! I am heading there now! Super Meeting!

[09:47] Zotarah Shepherd: Great meeting Thank you so much.

[09:47] Rhiannon Chatnoir: if no other announcements, we can end things earlier today

[09:47] Sarvana Haalan: I have an announcement

[09:47] Sarvana Haalan: An invite to read my Wego Blog post from last week……… Virtual Ability is featured in it

[09:47] Mia (praxislady.witt): yes, very informative :))

[09:48] Patio Plasma: excellent info

[09:48] Rhiannon Chatnoir: next week we should be having Pooky Amsterdam present 🙂

[09:48] Rhiannon Chatnoir: And again, here are the many ways to can get involved with the Nonprofit Commons in Second Life:


Nonprofit Commons Blog:


 – Wiki:

 – Twitter:

 – Facebook:

 – Google Group:

 – Google Calendar:



About TechSoup the sponsors of the Nonprofit Commons:





Thanks everyone and see you next week!


[09:48] Mia (praxislady.witt): bye *waving*

[09:48] Dancers Yao: thanks for the meeting…bye everyone

[09:48] Rhiannon Chatnoir: yes bye all and thanks again to Opal!


Written by: Rhiannon Chatnoir