Updated Mono and Faster Mesh Loading

We updated the system today with several performance and reliability improvements.

First, we changed the way viewers download meshes from Kitely to make mesh downloads faster. This means that worlds that use many meshes should render faster in viewers, while exhibiting less lag.

Next, we upgraded from Mono 3.2.3 to Mono 3.4.0. (Mono is part of the system software that runs Opensim.) The new version of Mono includes numerous bug-fixes and performance improvements.

Finally, we now allow using the character “+” in email addresses when signing up to Kitely. This is useful in some cases, e.g. when an educator uses gmail sub-email accounts to create Kitely accounts for his or her students without needing to manage multiple email accounts.

Removing Metered Worlds and Introducing Premium Worlds

We’re announcing a change to how Metered Worlds work, and we’re naming this new option Premium Worlds. If you’re a Regular Account user who has Metered Worlds in your account then make sure to read this blog post.

UPDATE, June 19 2014:  due to some misunderstandings, we want to clarify that the changes described below only affect world managers. Users who visit Kitely worlds never have to pay, regardless of their account type, and this hasn’t changed.

Kitely offers two ways for world managers to pay for virtual worlds:

Fixed-Price Worlds – the world manager pays a fixed cost per month (starting at $14.95), and then never has to pay anything more to use the world. In particular, the world manager doesn’t need to pay when users visit the world.

Premium Worlds (formerly called Metered Worlds) – the world manager doesn’t pay a fixed cost per month to use these worlds, but instead pays a small fee for various actions performed on the world. In particular, when Regular Account and Hypergrid users visit the world, the world manager pays 1 KC / minute for each such user. (Premium Account users can visit Premium Worlds without costing the world manager anything.)

The change that we’re announcing today is that from now on only users with a Premium Account will be able to create Premium Worlds. That’s the reason that we renamed them (from “Metered Worlds”): to emphasize that having Premium Worlds is a benefit that is reserved for users with Premium Accounts.

Despite this change, there are still ways that users with a Regular Account can end up with a Premium World. E.g., if they created the world while they had a Premium Account, but later they downgraded to a Regular Account. In such cases we don’t delete the worlds: they remain in the users’ accounts. However, only users with a Premium Account will be able to visit them: Regular Account and Hypergrid users will be prevented from visiting a Premium World that belongs to a user with a Regular Account. Note that this includes the world manager herself.

Frequently Asked Questions

Q: Why is Kitely making this change?

A: Premium Worlds are an insanely good deal, which no-one but Kitely offers because only a company that automatically provisions cloud computing resources like we do can afford to provide so many virtual worlds for such a low price. However, it turns out that the deal was a little too insane on our part, as our profits on Metered Worlds are measured in cents per active user-hour. This would have been sufficient if we had tens of thousands of active users, but we don’t, and so the clear preference of Regular Account users to use Metered Worlds instead of Fixed-Price Worlds deprived us of the revenue that we need to grow the company. By requiring a Premium Account in order to create Premium Worlds we will receive some recurring revenue from each active Kitely world owner, thus improving our financial standing and long-term viability.

Even after this change Premium Worlds are still by far the cheapest way to get many virtual worlds, since you can get 5 full-size regions with 100,000 prims each for just $19.95 / month (plus a few KC when Regular Account and Hypergrid users visit these worlds).

Q: Does this change affect me?

A: If you only visit other people’s worlds, but don’t own your own worlds, then this change doesn’t affect you at all. The rest of this FAQ is only relevant for world managers.

If you have a Premium Account then this change doesn’t affect you either (even if you do manage your own worlds).

If you have a Regular Account but your worlds are all Fixed-Price Worlds then this change will be barely noticeable. The only change you’ll feel is if you Copy one of your worlds, because the new copy is always a Premium World, and as a Regular Account user you won’t be able to visit it. But the copied world can still serve as a snapshot of the state of your world, and you can Export it, or change it to a Fixed-Price World later.

If you have a Regular Account and you own any Premium Worlds then you will no longer be able to visit your worlds, nor allow other users to visit them (except for users with a Premium Account). See the next question for what you should do.

Q: I have a Regular Account, and I own some Premium Worlds. What are my options?

A: Your first option is to upgrade to a Premium Account ($19.95 / month). This will allow you to create Premium Worlds, and to permit Regular Account and Hypergrid users to visit your Premium Worlds. A Premium Account includes 5 free premium regions, so whatever you’re currently paying for world storage fees (10 KC / region / month) will probably be lower. A Premium Account will also allow you to visit your worlds for free (currently you pay 1 KC / minute for the time you spend in your worlds). And finally, a Premium Account lets you visit virtual worlds that are only open to users with a Premium Account (this is a common access restriction).

Your second option is to change your worlds to be Fixed-Price Worlds. E.g., a Starter World costs $14.95 / month. This will allow both yourself and anyone else to visit the world without costing you anything. If you choose this option then you can remain on the Regular Account.

And finally, you can choose to do nothing. We will not delete your Premium Worlds: they’ll remain in your account (as long as you pay the storage fees of 10 KC / region / month). However, since you have a Regular Account you will not be able to visit them – only users with a Premium Account will be able to visit these worlds.

Q: Does Kitely still provide a free trial period to new users who want to create a world?

A: Yes, if you’re a new user then you still get a free 1-region Premium World that will remain in your account indefinitely. We also give you 6 free hours in-world to try out your world. The free trial period allows you to visit your Premium World even though you have a Regular Account. However, this doesn’t extend to other users, so other users can only visit this world if they have a Premium Account. In addition, once the trial period ends you will not be able to visit your world anymore. If you upgrade to a Premium Account then you’ll be able to continue visiting your world, as well as allowing other users (not just users with a Premium Account) to visit it.

Please note that we don’t require you to give us your billing information in order to get this free trial period.

Q: When does this change take effect?

A: Users with a Regular Account can’t create new Premium Worlds: this change is effective immediately.

However, users with a Regular Account that have existing Premium Worlds in their account have a grace period until July 1, 2014. During this grace period, Regular Account and Hypergrid users will still be allowed to visit these worlds. On July 1 the full rules described above will take effect, so Regular Account and Hypergrid users will no longer be able to visit these worlds.

New Virtual World Gateway

We’re happy to announce that we rolled out a new and improved version of the Kitely Welcome Center. This updated version of the main entry point to our grid is more visually impressive and includes more interactive elements that help visitors understand our service. Visitors to this virtual world can now find various dynamically-updated objects that will direct them to the content, locations and events that may interest them in Kitely.

Virtual World - Kitely Welcome Center

It Takes a Village

The Kitely Welcome Center is the result of an ongoing community project that was first launched in 2013. The current round of improvements was made by the following people who generously contributed their time:

  • Paislee Myrtle: was responsible for redevelopment of various areas, landscaping, replanting, information and avatar kiosk models, new secret area.
  • Dundridge Dreadlow: created information and event board models, event system and scripting, Kitely Portal for featured worlds, continued work on showcase world boards, and other general awesomeness.
  • Dot Matrix: is the ongoing project coordinator and also expanded the Community Meeting area.
  • Min Tigerpaw: scripted menus for seating areas.
  • Chav Paderborn: updated skins for avatar area.
  • oopsee joseppe: updated clothes for avatar area.
  • Deuce Halsey: contributed a crate of new tee-shirts and tops for the avatar area.
  • Marstol Nitely: worked on photography and testing.
  • Handy Low and Selby Evans: created a Google calendar for Kitely events.

The refreshed landscaping includes new items that were bought in Kitely Market from the following stores: 21strom, Worlds End Landscaping & Roleplay, Heart Botanicals and Brayla Sana Gallery. It also includes plants by Selea Core from the Hypergrid.

We want to give special thanks, yet again, to Dot Matrix who has been organizing this community project for many months now. She’s been doing a phenomenal job of getting everything and everyone in order and there would not have been a Kitely Welcome Center without her ongoing dedication and coordinating skills.

Thank you all past and current contributors who’ve helped build this wonderful virtual world. We welcome everyone to come and visit!

New Homepage and Many Bug Fixes

We updated the system today with several improvements and bug fixes. We also made progress in our branding project, with a new homepage that is much more professional-looking than before. The new homepage explains what Kitely does in a way that even users who don’t already know virtual worlds can understand. It includes many screenshots, and we’d like to thank all the Kitely users who donated their time and creativity to help us create these images.

Kitely Homepage

Improvements

For a world manager, when you view your account history to see who has visited your world, we now show the profile pictures of Hypergrid users.

When you buy products from Kitely Market for delivery to another grid, you are now allowed to review these products. Previously only the user who received the products could review them, but this was useless for Hypergrid deliveries since the receiving user isn’t a Kitely user (by definition), so they can’t login in order to review the products.

For users with many items in their Wish List, only the first 12 items were shown. We added paging buttons that allow you to view all the items in the Wish List.

We now prevent login to a world if the entry point to the world is in a banned parcel. This rarely happens, but when it did happen the previous behavior was that your avatar appeared to enter the world but then failed with a cryptic error message. Now we show a nicer error message :)

Bug Fixes

You can now use the “Home” command (Ctrl-Shift-H) while in a foreign grid in order to return to Kitely. If you haven’t defined a Home location then you’ll be teleported to the Kitely Welcome Center.

We fixed a problem where in some cases, when you took an object in a foreign grid and brought it back to Kitely, the item turned out to be non-Exportable. This happened if the item didn’t have Copy+Transfer (CT) permissions. But it was a silly restriction since the item had started out its life in a different grid, so there’s no point in keeping it from leaving Kitely. To solve this, we now flag items that came from a foreign grid as being “foreign”, which means that they’re allowed to be Exported even if they don’t have CT permissions. Note that this change doesn’t affect items that are created in Kitely (including items that enter Kitely using Upload OAR, when creating or replacing a world).

We fixed a certain peculiarity in the World Map. It’s possible to type in the name of a region in the World Map, and then teleport to that region. But there are two formats for entering region names: for regions in the current grid you’re supposed to enter only the name of the region (e.g., “Kitely Welcome Center”), whereas for regions in other grids you need to enter their full Hypergrid address (e.g., “grid.kitely.com:8002:Kitely Welcome Center”). If you tried to enter the Hypergrid address while in Kitely then the map would fail to find the region. This is a problem because our World Pages show the Hypergrid address of worlds, so it’s natural for users to try to enter it into the World Map. We fixed it so it’s now possible to enter the Hypergrid address of a Kitely world even while you’re in Kitely, and the World Map will find the region and let you teleport to it.

We fixed a bug that prevented Export World from working in worlds with many prims. This is a recent bug; it was introduced during the big Hypergrid update. If you’ve tried to export your world and failed then please try again now; it should work.

We fixed a bug where very large deliveries from Kitely Market to foreign grids could fail. There was a certain limit in place, which we’ve now greatly increased.

We fixed a permissions bug: an object’s Next Owner permissions ignored the permissions of the items inside the object. For example, suppose you rez a box, set its Next Owner permissions to “CT”, and then place inside it an item whose Next Owner permissions are just “C”. Then, you take the entire box into your inventory. Previously the box’s Next Owner permissions ignored the items inside it, so the item in your inventory got Next Owner permissions of “CT”. Now, the item will get the correct Next Owner permissions of “C”.

In rare cases, some Hypergrid users who tried to visit Kitely couldn’t enter because their avatar names were not allowed in Kitely. This restriction has been removed for foreign users, because they aren’t able to change their names. (It’s still in place for Kitely users, because for Kitely users the name validation takes place when creating a new account, and at that point Kitely users can easily choose a different name.)

Kitely Now Supports the Hypergrid, with Strong Content Protections

We have an important announcement: Kitely now supports the Hypergrid! Kitely users can visit other grids, and users from other grids can visit Kitely worlds. Kitely is the only OpenSim grid that supports the Hypergrid and also has strong content protections that prevent unauthorized items from leaving the grid.

How to Teleport Out of Kitely

(This section is for Kitely users.) First, login to any Kitely world. Open the World Map, and in the search field enter the Hypergrid address of a region that isn’t in Kitely. For example, enter hg.osgrid.org:80:Wright Plaza to visit OSGrid’s central region. Then, click Teleport.

If your avatar is wearing any No-Export items then you won’t be able to teleport out of Kitely. Instead, you’ll see a message that tells you which No-Export items you’re wearing:

Can't Teleport While Wearing No-Export Items

Remove or replace the No-Export items, and then you’ll be able to teleport out of Kitely. Hint: the default avatar that every user gets when they join Kitely contains only Exportable items, so you can wear it in order to teleport out of Kitely. If you’ve deleted that outfit then you can get other Exportable outfits in the Kitely Welcome Center.

A note to content creators: now that the Hypergrid is enabled, Exportable clothes and body parts are going to be in greater demand than ever. Please consider enabling Export on your products, if you haven’t already done so.

How to Teleport Into Kitely

(This section is for non-Kitely users.) First, find a Kitely world that you would like to visit by browsing the Explore Worlds page. When you’ve found an interesting world, click on it. This opens the world’s World Page, which shows the world’s Hypergrid address. For example:

Hypergrid Address

Login to your home grid, open the World Map, and in the search field enter the Hypergrid address that you found above. Finally, click Teleport.

Kitely worlds are loaded on-demand, so if the world that you want to visit is currently offline then you’ll be teleported to a Transfer Station while the world is being started (this usually takes only a few seconds). Once the world is ready you’ll be teleported to it automatically.

Enabling Hypergrid Access

World managers can choose whether to allow Hypergrid users to visit their world or not. This is done in the Manage World dialog:

Access Control: Allow Hypergrid Users

In this update we’ve automatically converted any worlds that were open to Regular users to be open to Hypergrid users as well.

We recommend enabling Hypergrid access to any worlds that aren’t private. This lets more people visit your creations, and it also makes the world more visible because worlds that are open to the Hypergrid appear first in the Explore Worlds page. We also recommend making all Hypergrid enabled worlds Fixed-Price Worlds (instead of keeping them as Metered Worlds). This will ensure that Hypergrid users will be able to continue visiting your worlds even if you run out of Kitely Credits.

The Hypergrid Logo

A few weeks ago we started looking for an icon that can represent the Hypergrid in our user interface, and were surprised to learn that there was no standard Hypergrid logo. We therefore asked the Kitely community to help us design a logo that people will be able to associate with the Hypergrid.

There were a number of submissions, and the final logo was inspired by a design by Amiryu Hosoi. We’re making our version of this logo free for use by anyone who wants it without restrictions (Create Commons Public Domain license). Here are several versions of the logo, in PNG format with transparency:

Hypergrid 512x512

Hypergrid 50x50Hypergrid 50x50 Disabled Hypergrid 23x23 Hypergrid 17x17

Content Protection

The Export Flag

Kitely is unique in allowing Hypergrid access to users’ worlds, while still protecting content from leaving the grid without authorization. Objects and items in Kitely are considered either Export or No-Export, and only Exportable items may leave Kitely.

How are items marked as Export or No-Export? There are two ways:

1. For items purchased from Kitely Market, the Export flag is specified explicitly in the product’s Permissions section. for example, this item is No-Export:

Kitely Market Product: No-Export

2. For objects and items that weren’t purchased from Kitely Market we use the following logic: if the item has Copy and Transfer permissions (abbreviated as “CT”) then the item is exportable. If it doesn’t have CT permissions then it’s not exportable.

How No-Export Items Are Prevented from Leaving Kitely

Kitely protects No-Export items from leaving Kitely by preventing them from being added into Hypergrid-enabled folders in users’ inventories:

  • For Kitely users, we prevent No-Export items from being added to the user’s “My Suitcase” folder. This folder is special because only items in the Suitcase are available when a user teleports to another grid. Therefore, by preventing No-Export items from being added to this folder we prevent them from being taken to other grids.
  • For Hypergrid users, we prevent No-Export items from being added to any of the user’s folders.

For example, if a Hypergrid user attempts to Take a rezzed object that is No-Export, then they’ll see the following message:

Can't Take No-Export Object

Avatar Appearance

The avatar’s appearance is a special case. The appearance contains several types of items: Body Parts, Clothes and Attachments. The reason the appearance is special is that an avatar may wear items that appear in any folder, not just the “My Suitcase” folder. Since users can wear No-Export items, we had to add further protections beyond just the “My Suitcase” folder.

Here’s how we protect No-Export items that are being worn by a user from being taken out of Kitely: when a Kitely user attempts to teleport out of Kitely we check that all of their Appearance items are exportable. If they’re wearing any No-Export items then we prevent the teleport. This was explained in more detail in a previous section, “How to Teleport Out of Kitely”.

Changes to “Export World”

In the course of implementing these content protections we’ve also tightened the rules that determine whether an object is Exportable according to whether it has CT permissions. Previously, during OAR file exports we only checked the permissions of the rezzed object itself. Now we also check all the permissions of the items that the object contains. In other words, a CT object that contains a non-CT item inside it is no longer Exportable. Therefore, it’s possible that some objects that were previously considered Exportable will now be considered No-Export. If you use the “Export World” feature then the next time you export your world, look at the Export Report to see if any objects that were previously included in your world’s OAR file are no longer included. (The Export Report is generated automatically each time you export a world.)

Kitely’s Export Permissions are Not Shown in the Viewer

When you view an object’s properties in the viewer, some viewers display an Export permission next to the Copy, Transfer and Modify permissions. This feature was added in the past to support an Export permission in OpenSim, but unfortunately that feature isn’t ready for production use. Kitely implements export controls in a different way, so the Export permission that you may see in the viewer should be ignored: it doesn’t reflect the true Kitely export permission, and changing the checkbox will have no effect.

First Teleport to a New Grid Sometimes Fails

There is a known problem with OpenSim that we wanted to mention: the first time you try to teleport to a new grid, especially if you’re wearing a complex avatar, the teleport may fail and you’ll remain in the current region. This happens because the destination grid has to load all of your avatar’s assets, and this can take so long that the teleport times-out. If this happens then simply try to teleport again: the second attempt will probably succeed, because by then the grid will already have your assets. This problem isn’t Kitely specific but we’re bringing it to your attention so you’ll know what to do if you encounter it.

Kitely Users Benefit from our Cloud-Based Inventory System while Hypergrid Traveling

Kitely developed its own cloud-based inventory system, which provides Kitely users with superior performance and reliability compared to that provided by the regular OpenSim inventory. These benefits continue to be available to you when you travel the Hypergrid with your Kitely avatar, since Kitely continues to manage your avatar’s inventory even when you’re visiting other grids.

Final Words

Enabling Hypergrid access in Kitely has been a massive project, and we’re very happy that Kitely users can now go forth and visit other grids, and other grids’ users may visit the wonderful worlds that have been created in Kitely. As always, please let us know if you find any problems.

OpenSim Bug Fixes and Hypergrid Progress Update

We updated the system today with several bug-fixes to long-standing OpenSim problems. Of particular note are several bug fixes we developed for Group permissions in parcels. If you had tried to use this feature in the past and were frustrated that it didn’t work as expected then please try again; it should work much better now.

We’re continuing to revamp Kitely’s website and image, and today we rolled out a new website header. It has a more modern design than the old header, and allows easy access to the main parts of the Kitely website from every page. We also simplified the header by moving some of the options that were previously available as buttons (such as “History” and “Settings”) into the “Go to” menu.

We know that many of you are eagerly waiting for Kitely to support the Hypergrid, and we’re hard at work on that. Here’s some inside information about what we’ve already done, and what still remains to be done.

Here’s what we finished so far: First, we have proprietary cloud-based asset and inventory services, and it took some work to allow restricted access to them from the Hypergrid. Second, Kitely users have many more features than regular OpenSim users, so we needed a “translation layer” to allow Hypergrid users to coexist with Kitely users. Third, we wanted to let Hypergrid users visit offline regions, so we needed to be able to redirect them to a Kitely Transfer Station and then teleport them to the desired region once it’s ready. This was a lot of work, but it’s done.

Here’s what remains to be done before we enable full Hypergrid access in Kitely. First, we need to prevent no-export content from leaving Kitely. Second, if a Kitely user attempts to teleport to another grid while wearing any no-export clothing or attachments then we want to tell them which items they need to remove, and/or remove them automatically. And finally, we need to make various changes to the UI in order to show which regions are open to the Hypergrid, and at which address.

We’ve done about half of the work that is needed to enable the Hypergrid in Kitely, and we’ll finish the rest in a few weeks. We’re excited that soon we’ll be able to allow everyone in the metaverse to see the great builds that have been done in Kitely, and to let Kitely users roam to other grids. Great things are coming!

Cut World Startup Time in Half, and Improved Performance

We have some good news! We upgraded the servers that we use to host OpenSim worlds, and this has improved performance significantly. The new servers have faster CPUs, and they use SSDs instead of regular hard drives.

Here’s an example of the performance improvements with the new servers. Universal Campus is a 4-region world with more than 43,000 prims and about 2,000 scripts. It used to take 1:25 minutes to start on our old servers, even with all of our performance optimizations (starting this world on a regular version of OpenSim would have taken much longer). With the new servers this world starts in just 43 seconds, i.e. twice as fast! We see similar improvements in other worlds’ startup times, as well as faster performance while the worlds are active.

This upgrade is available automatically to all Kitely users, at no additional cost.

If you need even more performance then consider changing your world’s type to an Advanced World, since they get more resources than other types of worlds.

In other news: in the last week we’ve donated over 40 patches to OpenSim. These are features and bug fixes that have been active in Kitely for a while, and now everyone in OpenSim will be able to take advantage of them starting with OpenSim version 0.8.0.

Even as we’re making more contributions to OpenSim, it’s important to keep in perspective the benefits of being a Kitely user. Over the last 5 years we’ve written more than 330,000 lines of code, less than 10% of which are OpenSim-specific. Kitely users will continue to have first access to the improvements that we make to the open-source OpenSim project, as well as exclusive access to our many features that aren’t part of OpenSim such as our powerful on-demand servers; fast cloud-based asset and inventory systems; intuitive HTML5 control panel; tight integration with Kitely Market; and more.

Kitely Market Hypergrid Delivery Is Now Open to All

We updated Kitely today, and now everyone can use Kitely Market to buy items for any avatar on the Hypergrid! Other new features include: merchants in Kitely Market can download their sales report; we’ve made it easier for new users to start using Kitely; and we changed our logo. Another important update is that Kitely is now part of the OpenSim Core Group.

Kitely Market Hypergrid Delivery

This feature, which was introduced in a private beta two weeks ago, is now available to everyone. You can buy items in Kitely Market and have them delivered to any avatar on any grid that is open to the Hypergrid.

To use this feature, first add items to your Shopping Cart. Then, in the Shopping Cart, select to deliver the items to “Other Grid”:

Shopping Cart - Other Grid

Select the destination grid from the drop-down menu, and enter the name of your avatar in that grid. If your grid isn’t in the built-in list of grids then add it as a custom grid using the Grid Manager. (The built-in grids were chosen because they’re the top 5 grids that are open to Hypergrid, by number of active users. The list of built-in grids may change in the future if other grids prove popular.)

Add Custom Grid

Once you’ve completed the purchase, your avatar will get an Instant Message:

Delivery Notification IM

Click on the link in the IM. Your avatar will then get the item itself:

Item Received IM

Click “Keep” or “Accept” to save the item (different viewers use different buttons).

The item will now appear in your inventory. It will appear either in the “Objects” folder, or in the the “My Suitcase > Objects” folder. In some cases the item might not appear immediately; this happens in simulators that run an old version of OpenSim. In that case, restart the viewer and the item will appear in the inventory.

Inventory with Delivered Item

Rez the item. This creates a box that contains your entire order. Copy the box’s contents to your inventory; you will get one inventory item for each item in your order. Rez these items, and copy their contents to your inventory. These are the actual items that you have bought, and you can use them immediately! (The reason we use these container boxes is to support orders in which multiple items were bought at once.) Here’s what the boxes look like, along with the purchased item in the inventory:

Delivery Boxes

A note to content creators: we recommend that you don’t place your Kitely Market items in boxes, because that would mean that users who deliver your products to other grids will have to open three boxes before they get to the actual items. Kitely Market already makes sure that items are delivered to separate folders (when delivering in Kitely), or in boxes (when delivering to other grids), so adding another box to the process is not necessary.

Show Only Exportable Items

Only products that have the Export permission may be delivered to grids other than Kitely. If you’re looking for Exportable items then you may want to enable the Export filter: this will ensure that you only see exportable items. This filter is located in the bottom-left corner of the main Kitely Market page:

Enable Export Filter

Tools for Merchants

We’ve made it easy for merchants to test that their products work correctly in other grids. It has always been possible to use the “Test delivery” link in the Edit Product page in order to deliver the product to the merchant’s avatar in Kitely. This feature has now been extended to deliver to other grids as well. The way this works is that you go to the Shopping Cart page, and select a grid and an avatar. You don’t actually have to buy anything; just enter that information. Then return to the Edit Product page, and click “Test delivery”. The product will be delivered to the “foreign” avatar that was selected in the Shopping Cart instead of to your Kitely avatar.

Another feature for merchants is that in the Sales History, merchants can see which grid each sale was delivered to, because foreign avatars appear along with their grid: e.g., “Jane Vespa @ OSGrid”.

Download Sales Report

Merchants can now download a CSV file that contains all of their sales. To do so, click “Download sales report” in the Sales History page.

Download Sales Report

Easier Passwords for New Users

We changed the user experience for new users. The problem that we wanted to solve is that users didn’t know which password they need to use in order to login to the grid from their viewer. That happened because we generated a random password for the user. It was possible to see this password in the GUI, but this was still confusing.

Therefore, we made the following changes:

  • For users that create an account using email/password: the password that they select during signup is now used to login to both the website and the grid (from the viewer). Previously this password was used only for the website, and the grid password was generated randomly.
  • For users that create an account using Facebook or Twitter: we now ask them to choose a grid password during signup. Previously we had chosen a random password for them.

A note about users with an email/password account: we do still allow setting different passwords for the website and the grid; it’s just that by default, these passwords are now the same. The reason we allow these passwords to be different is that some users, e.g. educators, want to create accounts on behalf of their students. The students need to know their grid password, but they shouldn’t know their website password. Therefore, you can still change both the website password and the grid password in the Settings page.

New Logo

We’ve started a process of overhauling our company image. The first step was changing our company logo to the following design:

Kitely Logo

We created the old logo ourselves, about five years ago. It was playful and served us well, but now we want a new logo that better reflects our company’s professional, modern, and energetic vibe. In order to design this logo we used a contest on the site 99designs. We chose this logo out of more than 700 submissions, and towards the end we used Google Consumer Surveys in order to help us decide on the final design. We hope you like it!

OpenSim Core Group

On a personal note, I’ve been invited to join the OpenSim Core Group. I am thankful for the core developers’ confidence in me, and this level of access will make it easier for me and Kitely to improve OpenSim for everyone.

Kitely Market Hypergrid Delivery – Beta Test

We updated the system today with support for Hypergrid delivery in Kitely Market. But this feature isn’t open for general use yet, so don’t look for it :) . Hypergrid delivery is challenging because we need to interact with other grids, each of which might implement OpenSim in different ways. This can cause problems which don’t happen when we deliver items in Kitely (where we control every aspect of the process).

Therefore, we are now starting a Beta Test of Hypergrid Delivery. Please see this forum post for details about how to join the beta test.

Other Changes

We fixed a bug with permissions: when a user links together two objects, OpenSim used to set the permissions of the combined group to the permissions of the last selected group. But actually it should use the lower permissions found in either group; otherwise users could circumvent the permissions system.

We changed the maximum viewer password to 16 characters. We used to allow users to choose longer passwords, but some viewers don’t actually support more than 16 characters.

We fixed a bug in Kitely Market, where if a merchant deactivated or reactivated a product then its reviews counter would reset to 0. (The reviews were never deleted; only the counter was wrong.)

In World Pages, we added two Meta tags to the HTML. These tags may be used by automatic scripts to detect information about the world:

  • maturity – possible values are adult, moderate and general
  • account_type – which types of users can visit the world. Possible values are regular, premium and private. In the future we’ll add another value here: hypergrid.

By the way, if you’re writing scripts that check World Pages then you may be interested to know that world pages also have a “Permanent URL”. Normally the World Page’s URL changes whenever the world is renamed. However, the Permanent URL uses the World ID instead of its name, so it never changes. The Permanent URL can be found as a Meta tag in the HTML, called og:url.

Scripting in Advanced Megaregions, and Troubleshooting Physics

We updated Kitely today with improvements to Kitely’s Advanced Megaregions, bug fixes and performance improvements. We also added features that enable you to troubleshoot physics-related performance issues in your Kitely worlds.

Scripting in Advanced Megaregions

We fixed several scripting functions to work in megaregions, as requested by our users:

llGround(), llGroundNormal(), llGroundSlope(), llGroundContour()
llWind(), llWater(), llCloud()
llSetRegionPos()
llModifyLand()
osSetWindParam()
osSetTerrainHeight(), osGetTerrainHeight(), osTerrainFlush()

New Function: osGetRegionSize()

We were also asked how an object can detect if it’s near the edge of the world (remember that in Kitely each world is a separate island). Normally the function llEdgeOfWorld() would be used to detect this, but it isn’t useful in megaregions because the entire megaregion is considered one region.

We decided to address this requirement in a different way: we created a new function called osGetRegionSize(). It returns the size of the region in meters, and works correctly in megaregions. E.g., in a 2×2-regions megaregion it returns 512×512 meters.

vector osGetRegionSize()

Return the size of the current region in meters. Most regions are
256x256 meters, but megaregions are larger.

Threat Level     None

So now the recommended way for an object to determine if it’s near the edge of the world is by comparing its position (llGetPos()) to the size of the region (osGetRegionSize()), and possibly also checking if there are adjacent regions using llEdgeOfWorld(). This will work both in megaregions and in regular regions, and presumably in varregions as well (although I haven’t tested them). This will also work both in Kitely (where worlds are islands) and in grids where regions are contiguous.

(Updated on Jan 29: osGetRegionSize() has been accepted to OpenSim, and will eventually be available on all OpenSim grids.)

New Grid URI

We changed Kitely’s grid address from osgrid.kitely.com:8002 to grid.kitely.com:8002. The name “osgrid.kitely.com”, which we had used since we began, was chosen rather poorly as it may cause confusion with OSGrid. Since we’re going to enable Hypergrid in the near future, the grid URI is going to become much more visible than before, because when hypergridding the avatar’s Grid URI appears as part of the avatar name. So we decided to change it.

We’re going to contact the developers of viewers that support OpenSim and ask them to update the entry for Kitely in their grid manager to the new URI. (If any viewer developers are reading this, please update your grids list even if we don’t contact you…) However, all currently installed viewers will continue to work even without this change because the old grid URI, osgrid.kitely.com, will continue to be supported for the foreseeable future.

Maturity Ratings Guidelines

Kitely is used by a wide variety of users, ranging from young children to adults looking for adult entertainment. This makes the use of Maturity Ratings important, to ensure that users don’t see content that they don’t want to see or is inappropriate for their age. We’ve discussed the issue of Maturity Ratings with members of the Kitely community for the past few weeks, and the result is a new document that describes Kitely’s Maturity Ratings Guidelines in detail.

These guidelines include input from many people, but we’d like to give special thanks to Sierra Jakob who created the templates that show which skins and clothes are acceptable at each maturity level.

Improved Detection of Slow Physics Objects

Physical objects are great for some types of simulations, but they’re also big performance hogs that can slow down the world and cause lag. You can tell if you have a problem with slow physics by checking the “Physics Time” statistic. You can view this statistic by pressing Ctrl-Shift-1. (Some viewers don’t show this statistic; the following screenshots were taken in Firestorm.)

For example, here’s a world that has a problem with slow physics. Its “Physics Time” is high, and its “Spare Time” is low which means that any activity (e.g., avatars moving around) might cause lag. (By the way, you should look at the “Physics Time” statistic and not at the “Physics FPS”, because the Physics FPS is deceptive: it will remain high right up to the point where the physics time becomes too much to handle in one frame, at which point it will plummet.)

Physics Frame Time - High

Suppose you find that your world does indeed have a problem with slow physics: what can you do? The solution is to remove the “Physical” flag from objects that don’t need it, or at least simplify their geometry. But how do you know which objects are taking up the most physics-processing time? The answer is to use the Top Colliders dialog. You can view this dialog by opening the Region/Estate dialog (Alt-R); going to the “Debug” tab; and clicking the “Get Top Colliders” button. Unfortunately, until now this dialog did not return useful results: it neglected to show many of the worst-performing objects. In today’s update we’ve improved this dialog significantly, and now it produces accurate and useful information about which objects are slowing down the simulator. We recommend that all world managers take a look at this dialog at least once to see if there happen to be any slow physical objects in their world that they aren’t aware of.

For example, here’s what the Top Colliders dialog showed for the aforementioned world before today’s update. It showed only one object, and that object wasn’t even the worst offender (as we’ll see later):

Top Colliders - Before Update

Here’s what the Top Colliders dialog shows after today’s update. This time the slow objects are shown correctly:

Top Colliders - After Update

Once you find which objects are slow, you have several options for dealing with them. First, you can click the Return Selected button in this dialog to remove them from the world and add them to your inventory. (If you do so then you might want to return one object at a time, because if you return multiple objects at once then they’ll create a Coalesced Object.) Second, you can click the Disable Selected button to remove their Physical status. This is a feature that hadn’t been implemented in OpenSim until today, but now you can use it in Kitely. And finally, you can Teleport to the object’s location to examine it and perhaps decide to do something else with it.

In the world that was shown above there was no intention to use physics anywhere. So we removed the “Physical” flag from all the objects shown in the dialog by clicking the “Disable All” button. The effect was immediate, and the Physics Time dropped almost to 0:

Physics Frame Time - Low

Other Improvements

When a region’s wind parameters are changed using osSetWindParam(), this change now takes effect immediately (instead of after a few seconds).

We made a few performance improvements. E.g., when users organize their inventory and move many items into folders, this will now work faster than before.

We’ve received reports that on rare occasions “ghost” avatars appear: the remains of a  user who had long ago logged-out, but still appears in the world. We made a change that might fix this problem; please let us know if it happens again.

When you start a purchase in Kitely Market using USD, we show a message at the top of the screen that reminds you of this fact and lets you cancel the transaction. This message is helpful if there was an error in PayPal and you find yourself back in Kitely without having completed the purchase. This message was previously shown only for some purchases, but now it will be shown for all purchases (as long as they use USD).

And finally, we added a link back from the forums to the Kitely homepage. We hope you enjoy clicking on it as much as we’ve enjoyed creating it. :-)