Please Help Kitely by Participating in the Hypergrid Business Annual Grid Survey

The website Hypergrid Business is now holding its eleventh 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!

Enabled Land Sales and Improved Terraforming

We’ve updated Kitely today with several highly requested features for land sales and terraforming. You can now sell parcels to other users; upload and download terrain RAW files quickly; and easily create Ocean worlds.

Selling Land

After we introduced huge Mega Worlds a couple of weeks ago, we received new requests to enable selling land in Kitely. We’re happy to announce that it’s now possible to sell parcels in your worlds to other users. This lets Kitely users become landlords.

If you’re a world owner, here’s how to make a parcel available for sale (click to enlarge this image):

And here’s how to buy a parcel:

Land sales are only available in Advanced Worlds and Mega Worlds. This page explains how this works.

Land Rentals

Land rentals aren’t a feature that OpenSim or Kitely provide: instead, rentals are implemented using scripts.

Land sales are the only way to transfer ownership of a parcel to another user, which is important for implementing rentals. There are already a few rental scripts in Kitely Market, but since land sales hadn’t been possible in Kitely until now these scripts may need to be modified to take advantage of this new functionality.

Download a World’s Terrain

OpenSim supports uploading and downloading a world’s Terrain from the viewer. But these features are extremely slow for the large worlds that Kitely supports (up to 8×8 regions, or 2048×2048 meters). So we’re now introducing replacements for these features, which work much faster.

When you click Download RAW terrain, we now provide you with a URL for downloading the terrain file. This is much faster than the standard OpenSim method for downloading the terrain.

Replace a World’s Terrain

When you click Upload RAW terrain, we explain that this feature now resides on the Kitely website, through the Replace World feature. Previously this feature only worked with OAR files, but now you can give it terrain files, too. If you upload a terrain file then we’ll replace only the world’s terrain, and leave its objects, parcels and region information unchanged.

For example, I wanted to replace my world’s terrain with terrain #016 from this page. The terrain is supposed to look like this:

To do this, first download the terrain file to disk. Then go to your “My Worlds” page; click on the “Manage” link for your world to open its Manage World dialog; switch to the “Files” tab in that dialog; select the RAW file on disk; and click “Replace World”. This screenshot shows the terrain file being uploaded to Kitely:

Replace World will inform you of the progress of the operation.

Once the process was complete, my world looked like this:

Please note that the world will be updated immediately with the new terrain, but the World Map may take between a few minutes to a few hours to get updated.

Tips For Working With Terrains

If you want some free terrain options then take a look at this page, which includes RAW files for islands in various fun shapes.

L3DT is a utility for editing terrain files. This page and this page explain how to use it.

The OpenSimulator wiki has a bunch of information about terrains, as does this article by Kitely user Graham Mills.

If you created a good terrain, why not share it in the Kitely Forums?

Ocean Worlds

Some users want to create worlds that are mostly ocean, with a little land thrown in. This is useful for sea-based activities such as sailing, or to provide room for aquatic creatures to frolic.

Until now creating such worlds was a chore, because by default Kitely worlds contain land in their entire area. This required users to manually terraform their world using the viewer tools, which can be a long and tedious process.

Now there’s an alternative: when you create a new world, we’ve added an option to create an “Empty Ocean” world.

There’s another way to get mostly-ocean worlds: if you resize a world and make it bigger, then you can now choose whether the new area will contain Land or Ocean.

Support for 6×6 Mega Worlds

As mentioned previously, we’ve recently introduced Mega Worlds, which can be up to 8×8 regions in size. But some users have asked to use an intermediate size of 6×6 regions, so we’ve now made this option available.

(If you want your own Mega World then get it now, because we are only offering them until November 30!)

Limited Time Offer for Mega Worlds

Ever since we introduced Advanced Worlds with 16 regions, people have been asking us how they could combine these worlds to make an even bigger world. So today we’re happy to announce a new type of world: Mega Worlds, with up to a whopping 64 regions! Each Mega World is as big as four of our Advanced Worlds combined. In order to provide great performance for these monster worlds, when a Mega World is active it gets a dedicated server of its own, so it doesn’t have to share server resources with any other world. Mega Worlds are Kitely’s biggest and fastest worlds.

Mega Worlds vs. Advanced Worlds

If you’re considering getting a large world then you’ll probably want to choose between Kitely’s Advanced Worlds and Mega Worlds. What are the differences?

All Kitely worlds are started on-demand, meaning that worlds that aren’t currently in use are turned off. The worlds are started when someone enters them. We place at most 4 worlds on each server, to ensure that each world gets sufficient resources. This is important because many OpenSim providers cram a lot of different worlds (VarRegions) into each server, which makes them run slowly because they don’t have sufficient resources, and because they are affected by what happens in other people’s regions.

Unlike all other world types, Mega Worlds don’t share their server: a Mega World is guaranteed to always get a full server of its own, so it can fully use all of the server’s resources without being impacted by other people’s worlds. When a Mega World is started on-demand (because someone entered it), we assign a private server just to that world.

The following table compares Kitely’s two most powerful world types: Advanced Worlds and Mega Worlds.

 Advanced WorldMega World
Maximum world size16 Regions64 Regions
Maximum prims120,000150,000
Dedicated memory (RAM)4 GB7 GB
Guaranteed a Dedicated Server?NoYes
Maximum avatar capacity?80 *80
Price$39.95 / month$99.95 / month

Here’s how these world types stack up:

  • Mega Worlds can be up to 4 times bigger than Advanced Worlds.
  • Mega Worlds can include 25% more prims than Advanced Worlds.
  • Mega Worlds get 75% more RAM than Advanced Worlds.
  • An Advanced World might share a server with another world, but a Mega World is guaranteed to get all its server’s CPU, RAM and Network resources.
  • Both world types allow up to 80 avatars to visit them at the same time. But Mega Worlds will perform better, because they can use more server resources to support many avatars.

Frequently Asked Questions

Q: How long will this offer last?

A: You’ll be able to order new Mega Worlds until the end of November 30.

Q: Why is this a limited time offer?

A: Mega Worlds are a lot more expensive to run than other world types, so we need to see that the price that we’re charging for them covers their costs. We don’t want to make support for Mega Worlds permanent until we understand the impact that they’ll have on Kitely.

Q: What happens after the offer ends?

A: You get to keep your existing Mega Worlds for as long as you continue paying for them; you just won’t be able to create new ones. To be clear, if you continue paying for your Mega Worlds then you’ll be able to keep them even if we decide that it doesn’t make sense for us to extend this offer after November 30.

Q: Does ordering a Mega World require a setup fee or a long term commitment?

A: No, there are no setup fees. We bill for worlds on a monthly basis, and you can cancel your subscription at any time.

Q: Can I order multiple Mega Worlds?

A: Yes, you can get as many as you want while this offer lasts.

Q: Can I upgrade an existing world to be a Mega World?

A: Yes, you can upgrade any Kitely world to be a Mega World. The price you pay for the first month will be the difference between the price of your current world type and the price of a Mega World, adjusted for the number of days remaining in the month.

Q: Can a Mega World be smaller than 64 regions in size?

A: Yes, all our world types are VarRegions and you can resize any Kitely World.

Q: Is there a benefit to making a small world (smaller than 64 regions) be a Mega World?

A: Yes, because Mega Worlds have a lot more server resources at their disposal than the other world types that we offer. You can use these extra resources to build more complex worlds and support more visitors without lag.

High Performance Worlds

Mega Worlds are the most powerful world type that we’ve ever provided. In addition to getting a dedicated server, Mega Worlds take advantage of the fast performance that every Kitely world enjoys:

Our service runs on the world’s leading cloud computing platform: the Amazon Web Services data center in California. We run OpenSim on powerful servers with gigabit network connections, and we place no more than 4 worlds on each server to ensure that each world gets plenty of RAM, CPU, and network resources. (Of course, in the case of Mega Worlds, we place only one world on each server.)

We use CloudFront, Amazon’s renowned Content Delivery Network, to quickly deliver content to people’s viewers. CloudFront has practically unlimited bandwidth, and it has servers in many cities around the world (see this map). This ensures that your world’s visitors can quickly download content from Kitely no matter where they’re located or how many other people are currently using our system.

In addition to running excellent hardware in one of the world’s top datacenters, we use a proprietary and highly optimized version of OpenSim which further improves performance. This includes using our own cloud-based Asset and Inventory services, which run on top of high-availability Amazon systems. This enables our services to be much faster than the services that come with regular OpenSim. As a result, Kitely worlds are rendered quickly, and Kitely users don’t have to wait for their inventory to load.

The following video demonstrates how well our worlds perform:

Act Now!

We encourage you to take advantage of our limited-time offer to create a new Mega World, or upgrade your existing Kitely world. This offer will not be available after November 30, so if you want these benefits you should order now.

Hosting Large Events in Kitely

We’ve spent the last six months developing features that improve the performance, robustness and scalability of our system. Today we’re proud to announce that Kitely can be used to host large multi-world virtual events.

Creating Large Events

You can now use Kitely to easily create and manage large events that support thousands of users, who are split across dozens of worlds.

We’ve added many features that are needed in order to support large events. These features are only visible to Kitely admins, but we describe some of them below in order to explain how large events work.

Events use a special type of organization called a Prime Organization. The biggest difference between a Prime Organization and a regular organization is that a Prime Organization owns its worlds. In contrast, regular organizations don’t own their worlds: the worlds are owned by some Kitely user, who assigns them to the organization. The benefit of having the organization own its worlds is that this allows for fast creation and deletion of worlds without having to deal with the per-world payment procedure that is used for user-owned worlds.

A large event requires many identical worlds: each world holds a subset of the total number of visitors. We’ve therefore added a feature that takes a World Archive and automatically creates many worlds out of it. This is much faster and more convenient than manually copying a world many times.

When an event begins, all of these worlds should be up and ready to go. However, regular Kitely worlds don’t work that way: they are kept offline until someone tries to enter them, and then they are started. Therefore, we’ve added a feature that ensures that all of the event’s worlds will be started ahead of time, and kept active even if there are no users inside them. The worlds terminate only once the event ends.

A key feature of an event is how users enter the event’s worlds. Normally, users that login to Kitely in the viewer need to specify which world they want to enter (or they can revisit the last world they had visited). But this won’t work for events, because users don’t know which world they should enter (they don’t even know the names of all of the worlds that have been created for the event). A primitive solution to this problem would be to assign users to worlds in advance (say, using an Excel spreadsheet), and then to inform each user which world they should enter. But that’s a lot of work, and users are very likely to make mistakes. So instead, we added an automated Event Manager that automatically sends users to the appropriate world. The Event Manager’s algorithm works in two phases:

Phase 1 – Fill up worlds. The event organizer tells us in advance how many users they would like to have in each world. For example, if the event is a company-wide “Escape Room” game, then six users per world is ideal. During Phase 1 we fill up each world with users until it gets to this number, and then we start filling the next world.

Phase 2 – Round-robin between worlds. After we have finished filling up each world to the desired number of users (six in this example), we add any additional users one at a time to each world. I.e., first we get all of the worlds to seven users; then we get all of the worlds to eight users; etc. (Of course, if we have enough worlds created then we might never get to Phase 2. This is just a safety measure in case more users than anticipated arrive for the event.)

After users have entered the event world that they’ve been assigned to, they can choose to teleport to a different event world to join their friends. If this happens then the Event Manager will automatically assign the next users that enter the event to the world that was just vacated.

We’ve also made some low-level improvements that allow large events to work well. For example, regular Kitely worlds always run on the same type of server. But for events we have the flexibility of choosing a custom server type. The type of world that the event uses dictates which server type will work best. For example, some events want to have as many people as possible in each world, so they will want to use beefy servers. Other events might use a lot of physics and require a lot of CPU power; or perhaps they use many scripts and need a lot of memory.

Contact us to learn more about how Kitely can be used for your own virtual event.

Showing World Maps in an Organization

All Kitely worlds have a world map, which is usually viewed in OpenSim. But the world map can also be viewed in Kitely’s website. This is useful in order to differentiate between multiple worlds that you own.

For regular Kitely worlds, you can view their world map by using the “Resize” feature. You don’t actually have to resize the world: this just shows you the world map.

For worlds in an organization, we now show the world map in the world’s page in the organization:

In addition, the organization web console now also displays the world map of World Archives. This makes it easy to choose which World Archive to use when you want to create a new world.

Increased Max Script State Size

When an OpenSim region shuts down, it stores the state of its scripts in state files. When the region is next started, the script states are loaded from these files.

OpenSim has a limit on how large a script state file can be. This limit used to be 0.5 MB, but following user requests we’ve increased the limit to 5 MB. Note that only scripts that use a lot of memory will ever hit this limit. Most scripts use only a handful of variables, so they won’t come anywhere near this limit.

Performance Improvements for Large Events

Lately we’ve been working on improving the experience of having many avatars in-world at the same time. This is particularly important for hosting large events. We updated the system today with many performance improvements related to this goal.

The following is a video of a load test we performed on a copy of the Kitely Welcome Center running on an Advanced World, using 80 bots controlled from a remote server. The video was taken after all the bots completed their login process. The CPU usage for this world remained at around 60% while the video was taken.

Each bot simulated all of the network activity that a real viewer performs, including asset downloads, terrain downloads, uploading the avatar’s own baked textures and downloading other avatars’ appearance, and all network activity from the time the client begins the login process until it is inworld. Once logged into the world each bot started walking around randomly in straight lines, circles and jumps. Bots also sent instant messages to local chat at a combined rate of one chat message every two seconds (you can see the chat button flashing each time such an IM was received).

Downloading Assets from CloudFront

The biggest change we made was to our assets system. OpenSim viewers such as Firestorm download most assets (specifically, textures and meshes) using a protocol called HTTP. Previously, these assets were downloaded from Kitely’s servers. But this could be slow if many users entered a world at once, and they all tried to download the world’s assets at the same time. In order to eliminate this bottleneck we’ve moved these assets to a service called CloudFront. CloudFront is Amazon’s CDN, or Content Delivery Network. It’s a worldwide collection of very fast servers whose only purpose is to serve HTTP files. CloudFront has practically unlimited bandwidth, and it has servers in many cities around the world (see this map), so it can serve assets very quickly to an unlimited number of users.

This improvement is going to make a big difference when many users enter a world at the same time. Individual visitors might not feel much of a difference, because viewers such as Firestorm have an artificial limit on how quickly they download assets. If you want, try increasing this limit and see if it makes worlds appear faster. This setting is called “Maximum bandwidth”, and it’s set to 1500 Kbps by default in Firestorm.

CloudFront is quite expensive, so in order to limit our costs we’re only using the CloudFront edge servers in the U.S., Canada and Europe. This accounts for the vast majority of Kitely’s users. Users in other countries are still going to get a performance improvement from our switch to CloudFront, but not as much as users in the aforementioned countries.

Optimized UDP Packets

Most communications between the viewer and OpenSim are done using UDP packets. In the past we’ve already done many rounds of optimization on UDP packets, and we’ve optimized them even more in this update to reduce network lag during periods of high network activity.

Eliminated a Source of Lag

Sometimes OpenSim needs to perform maintenance work on regions. Users in worlds that are currently undergoing such maintenance can experience server lag. In order to prevent this, we’ve created a mechanism a few years ago called Shadow Worlds. A Shadow World is a copy of a real world, but it doesn’t allow visitors: it’s only used to run maintenance work. For example, we’ve been using Shadow Worlds to update the World Maps. We’ve now eliminated maintenance-related server lag by moving additional types of maintenance work to the Shadow Worlds.

Centralized Logging and Metrics

This feature is not something users can see, but it helps us a great deal in finding performance problems and fixing them. All of Kitely’s servers now send very detailed metrics (performance measurements) and logs to a centralized location. This is useful in many ways. For example, if we get a report about a world that was behaving slowly then we can look back and see what activity was taking place in the world, right down to how many UDP packets of each type were being sent and received. This will help us further optimize our system and assist us in addressing any issues that are reported to us.

Other Improvements

Today’s update also includes a couple of features that were requested by our users.

We’ve fixed a bug related to searches in the World Map; see this forum post for discussion. The bug happened if the search used a full SLURL (vs just a world name), and there were multiple worlds with similar names.

We’ve also added three fonts that you can use in LSL scripts. Their names are: Noto Sans, Noto Serif, and Architects Daughter.

Kitely Market Passes $250,000 in Sales

We are proud to announce that we’ve passed a new milestone: Kitely Market has sold over $250,000 worth of virtual goods to date.

Kitely Market first opened to the public on August 2013. Since then, Kitely Market has become the main marketplace serving the OpenSim metaverse (the Hypergrid).

Here are a few noteworthy stats:

  • When Kitely Market first opened it had less than 1,000 product variations listed. Now it offers close to 34,000 product variations.
  • Kitely Market’s sales revenue over the last year was over 3.6 times higher than its sales revenue in its first year.
  • When Kitely Market opened, Kitely was still a closed grid and only Kitely users could buy from it. In March 2014 Kitely Market started delivering to the Hypergrid, and has since delivered to avatars on more than 420 different OpenSim grids.
  • Buyers have viewed more than 1 million product pages to date, and 8.7% of product page views have resulted in a sale.
  • Our top merchant has sold more than $20,000 worth of virtual goods.
  • Our top 10 merchants have each sold at least $4,000 worth of virtual goods.
  • Our top 100 merchants have each sold at least $300 worth of virtual goods.

If you aren’t familiar with Kitely Market then this video will bring you up to speed:

One of our main goals for Kitely Market was to enable content creators to easily make money selling their creations to users from multiple OpenSim grids, without having to manually deliver their goods to all of those grids. Kitely Market’s growth over the last few years demonstrates that talented content creators can see a nice return from selling to an open metaverse, even when it still includes less than 100,000 active users spread over thousands of different OpenSim grids.

Thank you for using Kitely Market! Your help in spreading the word about our marketplace is what enabled it to grow, and provide you with more content buying options. With your continued support, we can attract even more professional content creators to sell their goods to the OpenSim community.

Case Study: Multi-College Diversity Course in Kitely

Since the Coronavirus pandemic has started we’ve been getting a lot of interest from organizations that are looking for virtual-world alternatives to real-world education, training, meetings and events. Our Organizations offering was designed for just such purposes, and we think that it will be instructive to show how one large project has been using it.

The project is the Introduction to Multiculturalism and Cultural Diversity course. This 14-week course is now in its second year and has already been taken by more than 1200 students from 7 different colleges in 3 different languages (English, Hebrew and Arabic).

Participants in the course are divided into six-person groups. Each group contains students from different religions, genders and cultural backgrounds. Each group gets a private virtual world (inaccessible to the other groups) that contains the content and activities for the course. Each week additional areas of the world are opened to the students, and they are instructed how to complete that week’s assignments. The system tracks attendance and completion of assignments throughout the course, and the colleges can import this information into their analysis tools.

The course’s designers have performed statistical analysis after running this course for three semesters, and they have found that participants gained a significant long-term increase in empathy to people from different religions, cultural groups, sexual identities, and races. Participants also showed a long term decrease in bias and prejudice, which persisted in follow-up testing more than eight months after completing the course.

The Introduction to Multiculturalism and Cultural Diversity course was one of the finalists at the Reimagine Education Oscars (London 2019). This was their presentation:

Seven teaching colleges worked together to produce three online courses, in English, Arabic and Hebrew. The course “Introduction to Multiculturalism and Cultural diversity” was selected for production after competing with all universities and academic colleges in Israel. It is provided as a MOOC (massive open online course) and funded by Digital Israel, representing the Ministry for Social Equality, together with the “malag”- the council for higher education in Israel and the Ministry of Education. 

All the courses selected had to appear on the Campus site for all the open online approved courses in Israel. However, in order to allow the participants to not just learn about multiculturalism, but to experience it through working in multicultural groups on a virtual world and carryout simulations and roleplays, we needed an additional learning environment. This is how we connected with Kitely which provided us with an excellent professional service.

Using virtual worlds and personalized worlds can be a daunting experience for users new to this technology. However, Kitely made this process seamless for both windows and mac users. They developed a small application for us to get the participants directly into their own world. A system was developed to make multiple worlds, duplicated one for each small group and registration was also easy for the participants. Building the worlds was also aided by the massive depository of items available for purchase on the Kitely site.

We have had more than 1200 students taking our courses on Kitely worlds and we are very satisfied with Kitely’s service and professional approach, always willing to add to the infrastructure to make the course an excellent experience for the students. 

In our research we have been able to show that through using the virtual worlds our students have more empathy for the other. Using virtual worlds and experiential learning makes the learning experience so much more powerful. The course reached the finals in London 2019 for the Oscar in Education for the best project in the world to incorporate 21st century skills.

Dr. Elaine Hoter, Talpiot College of Education, Project Leader

Technical Challenges and Requirements

This project was one of the first to use Kitely’s Organizations feature. At the time that this project started we had already had years of experience providing virtual worlds to educators on top of our consumer offering, but addressing this project’s evolving requirements helped us define what our organization-focused offering needed to include.

The first challenge was handling registration. Registration to this course is done at different times by each college, and sometimes the participants or study groups need to change even after the users have already enrolled in the course.

Our system includes an administration website that can be used to manage users and groups, but it quickly became clear that adding users one at a time was not going to be practical. We therefore developed the Batch Create Users feature to enable creating user accounts and dividing them into the desired groups while avoiding various synchronization and double registration issues that can occur in this scenario. We later developed the Kitely API, which the project is now planning to use in order to automate enrollment from it own systems.

Next came user setup issues. The course participants use a wide variety of machines running Windows and MacOS, from high end computers running the latest software to very old machines that use outdated operating systems. Users were going to need to get the correct virtual world viewer for their machine, configure it to access the course’s system, select an initial avatar from culturally appropriate options, and then enter the virtual world that belongs to the group that the user was assigned to. There are potential problems that could be encountered in each of these steps. It was therefore clear that we needed to automate this process as much as possible, in order to reduce the amount of customer support that the course administrators would need to provide to their students.

To address this we developed the Setup Kitely application. It helps users download the appropriate viewer for their operating system, and configures the viewer to login each user to the Organization that user belongs to. This app also enables users to select their initial avatar from the options that the organization had chosen in the administration website.

The next challenge we had to deal with was that the virtual worlds used in the course weren’t static: they had to change from week to week, in order to reveal that week’s assignments. The course uses three variations for its virtual worlds, one in each language, and each of these variations was being used in multiple copies by dozens of study groups. It was going to be a challenge to update all of these worlds every week. Initially this was done by having the developer upload an OAR (OpenSim Archive) file into each of these world copies every week. That process was very time consuming and error prone.

To address this need we developed the Worlds Library, where the developer could store World Archives. These archives enable quick saving of world states, which can then be used to quickly create new worlds or replace the contents of existing ones. This operation can be done either manually, using the administration website, or automatically by using the Kitely API. This system is much faster and simpler than using OAR files.

Finally, managing the permissions of many users with respect to many different virtual worlds was very complicated. We addressed that complexity by designing our system to enable administrators to manage relationships between groups of users and groups of worlds. Administrators add their users to a hierarchical tree of user groups; they add their worlds to a hierarchical tree of world groups; and then they define the relationships between these user groups and world groups. Using this method, it is possible to easily define complex relationships between many types of users and many types of worlds. It’s even possible to define permissions for cross-organization interactions (although this feature wasn’t used for this course).

Using Kitely and its suite of management tools was an excellent choice for our project. We had everything we needed to create virtual worlds and archive, duplicate and replace them at will. Kitely’s support team was always there for us when we had questions or requests and even added the functions and features we requested. The system was robust enough for us to deploy our project to more than a thousand students in multiple languages and various countries. We were also able to manage users, track visits and user engagement with our project. All in all, I highly recommend using Kitely and will definitely be using it for upcoming projects.

Jeremy Finkelstein, Digital Jelly, Virtual World Developer

There were various other issues that our offering helped the project address. Contact us to learn more about them, and about how our Organizations offering can be used to address your own organization’s needs. Or, if you want to try this immediately, then go to our website and order an Organization.

Upgraded Database, and Improved Uploading Models

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.

Upgrading Kitely’s Database Infrastructure

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).

Kitely Market Payouts in KC

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:

  1. 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.
  2. 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.

This feature is explained in more detail here.