We’ve upgraded our system today. The biggest change is that we’ve upgraded our database in order to support big events with thousands of users.
We’ve also implemented a feature that was requested by our users: In OpenSim 0.8, when users uploaded Models the system would also create inventory items for the Textures used in the models. This behavior was disabled in OpenSim 0.9, but now we’ve re-enabled it.
We’ve been getting a lot of new interest from organizations recently, who want to use Kitely to replace some of their large in-person gatherings. So we decided to improve our ability to handle events with tens of thousands of concurrent users.
Kitely’s system was designed to scale, as exemplified by our ability to dynamically add servers when additional worlds are used. However, our system also has some centralized components that are harder to scale. One of these component is a MySQL database that we have been running on our own server in the Amazon cloud. The problem with this system is that the performance of the database is limited by the server that it’s running on.
In order to improve our scalability, we are going to migrate to an Amazon database system called Aurora Serverless. This database is capable of scaling up automatically when necessary, and scaling back down when the additional resources are no longer required. This behavior is ideal for supporting very large events.
This major upgrade to our capabilities requires that we take down the entire system for 6 hours on April 17 at 12:01am PDT (midnight).
We’ve updated our system with a couple of improvements that were requested by our users: Kitely Market merchants can now convert their cleared USD earnings to Kitely Credits (KC); and you can now more easily share your worlds to Facebook. We’ve also added a feature to Organizations that allows users from one organization to visit the private worlds of another organization.
Kitely Market Payouts in KC
Kitely Market merchants can choose to sell their products for USD. These USD aren’t transferred to you immediately: we accumulate them, and once you have at least $10 (USD) in cleared sales we schedule them for the next weekly payout (sales are cleared once they pass the PayPal 45-day dispute period). This minimum payout amount exists because of PayPal’s transfer fees, which make transferring smaller amounts uneconomical.
Some merchants sell mostly in KC, so it can take them a long time to earn 10 USD. Previously this money was “stuck”, waiting until the merchant earned enough USD for a payout to PayPal. But now we’ve added a new option: you can convert any cleared funds your store has earned to KC, even if you have less than $10 cleared. The KC will be converted at a rate of 200 KC per 1 USD and will be added to your Kitely account balance immediately. You can then use those KC to pay for world hosting, buy items from Kitely Market, etc.
If you’re a Kitely Market merchant in this situation then you’ll see a new option in your Manage Store page:
This merchant has two options:
They currently have only $5.20 in cleared USD. If they wait, then eventually the rest of their money will clear. Then they’ll have a total of $18.80 in cleared USD, and we’ll automatically transfer it to them.
Alternatively, they can get their earnings immediately by clicking on the link in the highlighted box. The $5.20 will be converted to KC and added to their Kitely account balance. The other $13.60 will remain withheld until enough time passes for it to clear the PayPal dispute period (at which point it will start accumulating for a payout to PayPal as usual).
Better Facebook Sharing
The Kitely website has buttons for sharing stuff to Facebook. You can share worlds, Kitely Market products, or Kitely itself (from the homepage). We’ve switched to a new style of sharing, which lets you enter your own thoughts about what you’re sharing. (Previously you could only “Like” something, without entering your own text.)
Shared Groups in Organizations
Organizations can control who may visit their worlds. They can choose to make some worlds available to everyone (including users that aren’t members of their organization), and make other worlds available only to specific groups in the organization.
But what if an organization wants to make a world open only to some external users? (“External users” are users that don’t belong to the organization.) To address this need we’ve created a new feature, called Shared User Groups, that lets organizations cooperate: users from one organization can visit specific private worlds the belong to another organization.
For example, suppose there’s an organization called “Acme University”, and another organization called “The Egyptology Center”. Acme University wants its students to visit Egypt-themed worlds that belong to The Egyptology Center. These worlds are not open for public visits, so Acme University has to ask The Egyptology Center to allow its user group Students to visit these worlds:
Once The Egyptology Center agrees, the user group “Students” becomes shared. This means that it appears in the groups tree of The Egyptology Center, and the admins of that organization can give the group permissions: e.g., permission to visit some of the organization’s private worlds.
To ensure that buyers get truly discounted rates, we have a policy that a product can’t be always on sale: once a product has been put on sale, the merchant must wait at least 60 days before placing the same product on sale again.
However, this limitation is currently preventing merchants who had a Halloween sale from placing the same items on sale again for Black Friday. We’ve decided that these are both legitimate occasions for sales, and therefore we’re temporarily reducing the waiting period between sales to 14 days. This limit will be raised back to 60 days after Cyber Monday (December 2, 2019).
The website Hypergrid Business is now holding its tenth annual OpenSim grid survey, and we need your help to be able to attract additional people to use our grid and marketplace. If you’re willing to spend a few minutes to help spread the word about Kitely then please answer this short multiple choice survey.
Last year many of you participated in the survey and your endorsement helped convince more people to join our community and attract additional content creators to list their items in Kitely Market. Your continued support this year is crucial for our continued growth.
Please take the time to complete this survey. Thank you!
We updated Kitely today with a couple of important improvements for Organizations (virtual grids). You can now set up a custom viewer login page for your organization. You can also apply to join our Kitely API private beta.
Kitely API Beta
We’ve created an API that enables Organizations to automate their operations. The API allows you to programmatically create and delete users and groups; change their permissions; and replace the contents of worlds.
Kitely API is currently in private beta, and is being used by select organizations. If you have an organization and would like to use Kitely API then please contact us.
Custom Viewer Login Page
The Viewer Login Page is what appears in Firestorm when you select a grid you wish to log into. Kitely Organizations are virtual grids, and as such they each have a Viewer Login Page.
Previously, each organization’s Viewer Login Page was automatically created by Kitely, and just displayed the organization’s name and some links. This is still the default Viewer Login Page, but it’s now possible for organizations to specify their own Viewer Login Page URL instead. This enables better branding and customization.
Setting a custom Viewer Login Page is only available for Standard Organizations and above.
We’ve updated Kitely today with new features for searching for users and worlds. We also made improvements to the advanced permissions system in Organizations.
Improved Search on Our Website
The Explore Worlds page now lets you select which Organizations you want to search in:
The default option is “Kitely and All Organizations”. This option finds the most possible worlds, since it searches for worlds in three places:
Public worlds in Kitely
Public worlds in any Organization
Private worlds in Organizations in which you are a member
Another option is “Kitely”. This option searches only for worlds that belong to Kitely, and excludes worlds that belong to Organizations.
If you belong to any Organizations then they’ll also appear in this listbox. This lets you search only for worlds that belong to a particular Organization. In the screenshot above, the option “Durion School of Wizardry” appears because I’m a member of that Organization.
In the search results, worlds that belong to an Organization have the Organization’s name appended to the world’s name. For example, see the search result “Orcs of a Feather @ Durion School of Wizardry”.
Find New Worlds
There are now over 15,000 Kitely worlds, and that number continues to grow. In order to help you discover new worlds, we’ve added the ability to choose the sort order in the Explore Worlds page. You can choose between these options:
Visitors – sorts worlds based on how many people are currently visiting them (the most crowded worlds appear first).
Newest – sort worlds based on when they were created (the most recently created worlds appear first).
Improved Search in the Viewer
As with the “Explore Worlds” page on our website, the search window in the OpenSim Viewer (Firestorm) now also lets you search by Organization, and enables you to sort the search results.
Another improvement is that the viewer search window now displays a list of worlds when you open the Search window (before you’ve even typed in a search query). This is the same behavior as in the Explore Worlds page, and it enables you to easily find new and active words.
We’ve also improved how you can find other users from inside the viewer. You can now search for users in a particular Organization, just as you can when searching for worlds. (However, unlike with worlds, you won’t see a list of users in the viewer search window unless you enter a specific query. We also don’t include Sort options for users, since they can create privacy issues.)
The following screenshot shows some search results, including a user that belongs to a different Organization. That user’s Organization name is displayed next to the user’s name.
As with World searches, you’ll only be able to see private Organization users if you belong to that Organization. But you’ll always be able to see any public users that belong to the Organization. The next section explains how Organization Admins can choose whether an Organization user can be found in searches.
Search Permissions for Managed Users
By default, Managed Users can’t search for external users or worlds. (“External” users and worlds are users/worlds that don’t belong to the Organization). Also, by default, Managed Users can’t be found in searches performed by external users. If you are an Organization Admin then you can change these behaviors by giving additional permissions to some of the Organization’s users.
For example, users that belong to the following User Group (“Teachers”) can find and be found by external users:
The permission to search for external users is explicit: you enable or disable it by clicking on a checkbox. In contrast, the permission to search for external worlds is implicit: it’s automatically enabled for users that are allowed to visit Kitely worlds. There’s no explicit checkbox for this permission, because it doesn’t make sense to allow someone to search for a world but not to visit it, or vice-versa.
As always, you can use the User Permissions tab to see which permissions a user has. For example:
We’ve improved the process of adding custom grids to Kitely Market. This process is used when you want to deliver products from Kitely Market to a different grid. You’ll now get better validation that the Grid URI that you’ve entered is valid and leads to an active grid, so that if there’s a problem with the grid information that you’ve entered then you’ll be notified about it faster and more clearly.
We’ve improved the performance of the llListen LSL function.
We’re excited to introduce the biggest addition to Kitely since Kitely Market: Organizations. Organizations are a way to create a virtual grid inside Kitely. Use our new offering to take advantage of Kitely’s robustness and advanced management tools and avoid having to deal with the technical complexity of running a standalone grid.
Organizations enable you to create and manage your own users, with precise control over which worlds they can visit and what they can do in-world. They provide administrative capabilities that enable you to manage groups of users and worlds with unprecedented ease.
Kitely’s Organizations are designed for companies, educators, roleplaying groups, and any other collection of people that has its own members and needs to control what they can do in-world.
Types of Organizations
We offer three types of organizations:
Starter Organizations – can have up to 100 users and 10 worlds, for $49.95/month.
Standard Organizations – can have up to 400 users and 40 worlds, for $99.95/month. This type of organization can use advanced features that aren’t available to Starter Organizations.
Custom Organizations – contact us to discuss your needs if they aren’t met by our Standard Organizations. This option can include custom features.
The prices listed above include the Organization and its users, but not the worlds that you manage using the Organization. Those have to be paid for separately.
Some organizations (e.g., schools) aren’t active year-round. To save on costs, we allow Organizations to be Stored. A Stored Organization is disabled, and its price is reduced by 50%. This reduced price is paid daily, using KC, until the account is switched back to active mode.
How to Create an Organization
The Settings page has a new section called “Organizations (Virtual Grids)”. This section lets you create an Organization.
An Organization has a Name and a Short Name. The Short Name is used in the Organization’s domain names: its Admin Console and Grid URI.
For example, here’s how to create an Organization called “Durion School of Wizardry”:
The Kitely user that creates the Organization becomes its owner. The owner pays for the Organization, and if the owner’s account is deleted then the Organization is also deleted. Therefore, if you’re creating an Organization that matches a real-world organization such as a school or a company then consider creating a special Kitely user just to own the Organization. This way, if you leave the real-world organization then you can transfer control of this Kitely user to a co-worker.
Admin Console And Private Virtual Grid
Each Organization gets the following:
Admin Console – a website where the Organization’s administrators can manage the Organization: its users, worlds, permissions, etc. (This is not a public website for the Organization’s regular users: it’s only used by the Admins.)
Private Virtual Grid – a private grid that runs inside Kitely. This is a “Virtual” grid because it uses the same servers as the main Kitely grid. But it has its own Grid URI, and the Admins can control who may visit the grid’s (Organization’s) worlds.
For example, suppose you created an Organization whose Short Name is durion. Then the organization’s URLs would be:
Admin Console – https://durion.kitely.org
Grid URI – grid.durion.kitely.org:8002
This is what the Admin Console looks like (this is the Dashboard):
This is what the grid looks like in Firestorm:
Organizations can have two types of users:
Managed Users – users that are created by the Organization. The Organization Admins have full control over these users. Managed Users can’t login to the main Kitely website.
Independent Users – regular Kitely users who have agreed to join the Organization. The Admins only control what Independent Users do when they’re visiting the Organization’s worlds. However, the Admins can’t control what Independent Users do outside the Organization.
Typically, an Organization will have only a handful of Independent Users, and many Managed Users. An Organization probably has a list of students/employees that should be given access to the Organization, and one of the Admins will create accounts for all of these users. To make this process easier, you can create multiple Managed Users at once by uploading their details in a CSV file. This process is called Batch Create Users.
Admins have full control over Managed Users. Admins can:
Create and delete Managed Users
Choose which avatars they can use (their appearance)
Control which worlds they can visit
View the worlds that they visited
Prevent them from uploading assets into the system
To add Independent Users, Admins send them an invitation by email. If the invited user clicks on the link in the invitation then they become a member of the Organization. Independent Users can be members of an unlimited number of Organizations, and they can cancel those memberships from the Settings page in their Kitely account.
You can manage the Organization’s users in the Users page of the Admin Console:
You can view and edit all of the properties of Managed Users:
All worlds must be owned by an Independent User that is a member of the Organization. The user assigns a world to the Organization in the world’s Manage World dialog:
Since the world owner is an Independent User, they can remove the world from the Organization at any time. So make sure that the Organization’s most important worlds are owned by yourself, by the Kitely account in which you created the Organization, or by someone you trust…
When a world is assigned to an Organization, any Estate Managers it had are removed and the Organization’s Admins become Estate Managers in the world. This gives the Admins extensive permissions in the world. When a world is removed from an Organization, the Organization’s Admins stop being its Estate Managers.
You can manage worlds in the Worlds page of the Admin Console:
You can optionally set one of the Organization’s worlds as the Default World. This world should be open to visits from all of the users in the Organization. When users login to your Organization’s virtual grid for the first time (without specifying which world they want to visit), they enter the Default World. Users also enter the Default World if they try to visit a world that has been deleted, or that they don’t have permission to visit.
In addition, anyone that tries to teleport to your Organization’s Grid URI without specifying a world will enter the Default World (assuming they have permission to visit it, of course).
Managing Permissions Using Groups
Users and worlds belong to Groups. Permissions are assigned to User Groups. These permissions determine which worlds the users can visit, and whether they’re allowed to upload assets.
For example, consider a school called the “Durion School of Wizardry”. The school offers three courses: Divination, Enchantment and Potions. Only students that are enrolled in a course are allowed to visit the course’s classrooms (virtual worlds).
You can implement this scheme in your Organization as follows:
Create three User Groups: Divination, Enchantment and Potions. Add the users that are enrolled in each course to the corresponding User Group.
Create three World Groups, also called Divination, Enchantment and Potions. The World Groups contain the worlds that are used to teach each of the courses.
Give each User Group permission to visit the corresponding World Group.
Here’s what the Users Groups hierarchy looks like (we’ve included some other groups, too):
The number in parentheses after each User Group is the number of users in that Group.
And here’s what the World Groups hierarchy looks like:
The number in parentheses after each World Group is the number of worlds in that Group.
Here are the permissions that were set on one of the User Groups:
The permissions in this screenshot show that users that belong to the “Divination” User Group are allowed to visit worlds in the “Divination” World Group. However, they’re not allowed to upload assets.
What about teachers? We want them to be allowed to visit any classroom (even if it’s not their own). So the Teachers User Group gets permission to visit the top-level group “Classrooms”. This automatically allows them to visit the worlds that are included in the World Groups below “Classrooms” in the World Groups hierarchy. In addition, teachers are allowed to upload assets:
If you view the permissions tab of a World Group then you can see the reverse permissions, i.e. which User Groups are allowed to visit that World Group:
If you want to verify that you’ve set the permissions correctly then choose any user and view their permissions. This shows you which worlds they can visit. You can also click on the “i” icon to see an explanation of why they have (or don’t have) the specified permission.
External Users and Worlds
Because Organizations are Virtual Grids inside Kitely, external users (users that don’t belong to the Organization) can visit the Organization’s worlds directly (without having to use the Hypergrid). However, you control which worlds (if any) external users can visit. You do this by giving (or withholding) permission for the “External Users” group to visit your worlds.
Likewise, your Managed Users can visit external worlds in Kitely without having to use the Hypergrid. But again, you choose whether to allow this, by giving (or withholding) permission for your users to visit worlds in the “External Worlds” group. Note that if you do allow your users to visit External Worlds then they can visit any external world: you can’t control precisely which external worlds they can visit.
Finally, you can choose to allow (or prevent) Hypergrid users to visit your Organization, and/or for your Managed Users to visit worlds in the Hypergrid.
You can view every world visit made in your Organization in the Visits page. This includes visits made to your Organization’s worlds (even visits by external users), and all visits made by your Managed Users (even visits to external worlds in Kitely, but not visits to Hypergrid regions outside Kitely). Visits that are currently active are highlighted.
You can view a detailed list of changes that were made to the Organization in the History page. Many of the history events can be clicked to get additional information.
If your Organization has multiple Admins then there will likely be times when you’ll want to know who made changes to your Organization. This information is shown in the “Requested By” column.
You can export the History table to a CSV file.
You can choose which initial avatars your Managed Users can use. A new Organization gets two sets of default avatars:
7 avatars that are identical to the default Kitely avatars. These avatars can change all of their clothes, including their underwear.
6 avatars that have a similar visual style to the Kitely avatars, but have underwear that is part of their skin layer (so they can’t get fully naked by taking off all their clothes).
You’ll probably only want to use one of these sets, but not both. For example, the Durion School of Wizardry has chosen to use only the non-naked avatars, so they’re the only ones that are enabled in the screenshot below. (You can delete avatars that you don’t need, but you might want to just disable them, as this gives you the option of enabling them in the future.)
The picture button lets you upload an image for the avatar: this is the image that your users see when they choose their avatar. The arrow buttons change the order in which the avatars appear.
You can add your own custom avatars to this list by copying the current appearance of your own avatar, or that of any of the Organization’s Managed Users. You can’t copy the appearance of any Independent User, however (except yourself).
The Setup Kitely Program
Setup Kitely is a program whose purpose is to help the Organization’s users, who might never have heard of OpenSim, visit the Organization’s worlds for the first time.
Setup Kitely runs on Windows and Mac computers. It helps the users download the correct version of Firestorm for their computer; add your Organization’s Virtual Grid to Firestorm; choose their avatar; and enter one of the Organization’s worlds.
For example, here’s the avatar selection page of Setup Kitely:
Setup Kitely’s ability to add your Virtual Grid to Firestorm is particularly useful, because adding grids is a highly technical operation that many people, especially ones new to OpenSim, encounter problems with.
Regular Kitely users (that don’t belong to an Organization) can also run Setup Kitely, but its only benefit is to change their avatar to one of the default avatars that we offer.
Since Organizations are Virtual Grids inside Kitely, you can use non-exportable items from Kitely Market in the Organization’s worlds and avatars.
Managed Users can’t use Kitely Market because they can’t login to the main Kitely website. So if you want a Managed User to get items from Kitely Market then one of the organization’s Independent Users will have to buy the items themselves, and deliver them to the Managed User from Kitely Market as a gift.
This is Just the Beginning
While Kitely Organizations already provide you with many advanced tools for managing a virtual grid, this is just the initial launch of the service. We consider this new offering to be an important part of our future business and will continue adding many features to it in the foreseeable future.
Some of our features are considered Advanced Features, and are only available to Standard Organizations and Custom Organizations (but not to Starter Organizations). Currently, the following Advanced Features have been implemented:
Batch create users by uploading a CSV file
Download History reports as a CSV file
Use filters to search History and Visits
Update June 14, 2019: Customize the viewer login page (what appears in Firestorm before you login)
Update June 14, 2019: An API for managing the Organization (in Private Beta)
Upcoming Advanced Features include:
A tool to help you transfer content ownership between users in your Organization
Use your own domain name for the Organization
If you encounter any issue with our service, want to give us feedback about it, or have followup questions then please let us know in our forums.
Try an Organization now risk-free with our 14-day money back guarantee. Order Now
The website Hypergrid Business is now holding its ninth annual OpenSim grid survey, and we need your help to be able to attract additional people to our growing community. If you’re willing to spend a few minutes to help spread the word about Kitely then please answer this short multiple choice survey.
Last year many of you participated in the survey and your endorsement helped convince more content creators to list their items in Kitely Market and more people to join our community. Your continued support this year is crucial for our continued growth.
Please take the time to complete this survey. Thank you!
InWorldz, one of the oldest and largest OpenSim grids, has recently shut down. Since then, many InWorldz residents have moved to other grids in search of a new home. Thanks to Kitely Market, we now have some hard data that shows the scope of this exodus, as well as which grids were the preferred destinations for InWorldz residents.
We have seen a remarkable 300% spike in Kitely Market sales since InWorldz has shut down, as users that moved to new grids began restocking their avatar inventories. InWorldz didn’t allow its residents to use Kitely Market, so for many of these users this is the first time that they’ve been able to buy from our marketplace.
We saw Kitely Market sales begin to rise on July 26, a day before InWorldz shut down. The graph below compares sales from the week since InWorldz shut down, to the average weekly sales in the three weeks before that. Kitely’s own grid experienced the biggest growth in absolute numbers, but DigiWorldz and Discovery Grid experienced the most growth relative to their previous sales levels.
Kitely Market delivers to all Hypergrid-enabled OpenSim grids. This page explains how to buy items from Kitely Market and have them delivered to your avatar on another grid.
If you are the owner of a closed grid and you want to allow your users to buy from Kitely Market then follow these directions.