Updated to OpenSim 0.7.6, Fixed Many Bugs, and Added User-Requested Features

We made a major upgrade to Kitely today by switching to OpenSim 0.7.6. We also fixed many long-standing OpenSim bugs that still exist in the latest OpenSim release, and added several user-requested features to Kitely Market.

OpenSim 0.7.6

We upgraded the grid to use OpenSim 0.7.6. This is a custom version of OpenSim that integrates our optimized cloud-based Inventory and Assets systems. This version of OpenSim includes many improvements, including:

  • Multiple attachments
  • Support for Materials (experimental)
  • Improved performance, especially with large numbers of avatars; during teleports; and when editing terrain
  • Support for many more LSL functions, including llSetKeyframedMotion() and  llSetSoundQueueing()
  • And much more

With this update we also changed the implementation of the following services: Groups, Profiles and Offline IM. You shouldn’t feel much of a difference, but if you do notice any problems then please let us know. This change fixes a few small problems, such as better performance with large groups, and the ability to attach items to group notices.

Materials

As mentioned above, materials are now supported. However, this support is experimental. We intend to improve OpenSim’s materials support, and when that happens any objects that use materials will lose them. So please feel free to experiment, but be aware of this caveat. Also, products in Kitely Market can’t use materials yet.

Importing Content

We’ve made it easier to import content into Kitely from other grids (or Second Life).

First, Second Inventory now works with Clothing items (it didn’t work before).

Second, we’ve improved OpenSim’s OAR file loading mechanism. When you load an OAR that came from another grid, any unknown avatars are changed to your avatar. This is important because that’s what makes you the owner of the objects in the OAR. If this didn’t happen then the foreign avatars would own the objects, and you wouldn’t be able to modify them.

However, prior to today’s update, this behavior only worked on the first two levels of objects, and sometimes that’s not enough. For example, suppose your OAR includes store displays; the displays include boxes; and the boxes include the actual items. This means the items in the OAR are 3 levels deep:

1) Store display
………. 2) Box
……………….. 3) Item

Today’s update modifies items at any level, so it will make you the owner of these items.

We’ll contribute this feature to OpenSim so that people on all grids will have a more robust way to take their content with them when they move between grids.

Better World Map

We made a couple of improvements to the world map. First, the image quality of the maps is vastly improved because we now use the Warp3D module to generate them. Second, our Advanced Megaregions now offer another benefit over using regular OpenSim megaregions: in regular megaregions, only objects in the root region of the megaregion are rendered; in Kitely’s Advanced Megaregions they’re rendered in all the regions.

For example, here’s what the map of Universal Campus looks like, before and after today’s update:

World Map Comparison

Please note that due to the way virtual world viewers work, the first time you view the world map after this update it might still show the old map (or no map at all). This should be fixed if you give the world a few minutes to settle down, and possibly restart the viewer once.

Fixed Bugs in OpenSim

We fixed over 20 bugs that exist in OpenSim 0.7.6, and we’ll contribute the majority of these fixes to the OpenSim project so that everyone will be able to benefit from all the work we’ve put into solving these problems.

The biggest group of fixes has to do with object permissions. These bugs happened with objects that contain items with different permissions than the object. For example, if an object with MCT permissions contains a no-copy item then the object itself should also become no-copy. This rule wasn’t always enforced, and we’ve made it work consistently.

Another group of fixes was for coalesced objects: e.g., when creating a coalesced object, its permissions should be the lowest permissions that occur in any of its sub-objects.

Another important fix has to do with the problem of missing objects that reappear. This problem has been reported from time to time: a user deletes an object, or takes it into inventory; the object disappears, but later reappears in the same position. We found the cause of this bug and fixed it.

Removed Kitely Plugin

We used to offer Kitely Plugin, a browser plugin that would automatically launch a virtual world viewer and log you into Kitely when you pressed the Enter World button in a World Page. Unfortunately, by January 2014 both the Firefox browser and the Chrome browser will stop allowing such plugins to be used. Therefore we were forced to switch from providing an automated login option to using manual login, and Kitely Plugin no longer works (on any browser). If you still have Kitely Plugin installed then please uninstall it.

Please note that the login flow from world pages hasn’t changed. You can still press the Enter World button to enter a world, and you’ll either be logged-in (if you’re currently offline), or be teleported into the world if you’re already logged into the Kitely grid. The only difference is that now you have to start the viewer manually and press the login button inside it; it won’t be started for you automatically.

Show All Variations in Kitely Market

Based on user requests, we added a feature to Kitely Market that lets you choose whether you want to view just one variation from each product in the search results, or view all of the matching product variations. This featured is called “Group Variations“, and it’s controlled with a button in the search toolbar:

Group Variations Button

When grouping is enabled (the default), each product appears only once in the search results. This makes it easier to find products because it prevents a single product with many variations from filling up the search results.

In order to make it easier to know when a product has additional variations, we now show the “variations” icon on products that have multiple variations:

Grouped Product Variations

If you prefer to view all of the variations in the search results then click on the Group Variations button to disable it. In this mode the variations icon doesn’t appear on the pictures. Instead, the variation names appears where applicable. Here’s what the results look like:

Ungrouped Product Variations

Improved Permissions Detection in Kitely Market

We made a couple of improvements to the algorithm we use to decide the permissions for individual items in Kitely Market.

The first improvement has to do with coalesced objects. A coalesced object is made up of sub-objects, and these sub-objects don’t have a corresponding inventory item (unlike every other item and object in the market). Prior to today’s update we used the inventory items to determine permissions, but since the sub-objects don’t have inventory items we didn’t know their permissions so we showed “CT” in all cases. (This didn’t actually make those items have “CT” permissions: they still had whichever permissions their creator intended, but we didn’t provide feedback about the true permissions to buyers.) Now we parse the objects themselves to find the permissions, which allows us to show the correct permissions for sub-objects of coalesced objects.

A related feature is that for items that represent objects, we now use the lower permissions out of both the inventory item and the object. This change affects only a small number of products, where the permissions of the object and the inventory item weren’t the same. Previously we showed in Kitely Market the permissions that we found in the inventory item, and ignored the permissions in the object. Now we show the lower permissions out of both the item and the object. This ensures that buyers won’t be surprised by the permissions that they get when they rez the objects.

Other Improvements

We made several other improvements based on requests from our users.

In product pages, we changed how permissions are displayed: instead of showing only the active permissions, we now show all the possible permissions, with checkmarks next to those permissions that are active.

Product Permissions

It is now possible to search for products using the merchant’s name. (Previously it was only possible to search by the store name.)

A product’s “Creation Date” is now considered to be the date when the product listing was first made Active; not the date when the merchant began creating the product listing. This is useful for merchants that take a while to create a product listing, because it ensures that when you finally activate that product listing it will appear first when people sort the marketplace by “Newest”.

Whenever you purchase a product in Kitely Market, we ask you to review it. We’ve made this feature more friendly: first, the request only appears after a day (so you’ll have time to actually use the product first). Second, if you click “Dismiss” on the request then we will never ask you to review that product again. (But you can still review it if you want, of course.)

We’ve made it easier to correlate your real-money purchases with your PayPal account, by showing the PayPal Invoice ID in the History table. You can search for this Invoice ID in your PayPal account and find the corresponding transaction. (The Invoice ID is not available for transactions made prior to today.)

Paypal Invoice ID

We updated the viewer our website provides to Firestorm 4.5.1, and added support for Linux. We provide a viewer download link in several dialogs; this link automatically downloads the correct version of Firestorm for OpenSim according to your operating system: Windows, Mac OS X or Linux. Even though Firestorm 4.5.1 is a beta version, it has important improvements over the previous version (4.4.2) so we decided to make it the default version.

A Minute of Your Time Can Help Bring More People to Kitely

Hypergrid Business is now holding its fourth annual OpenSim grid survey.  Last year many of you participated in the survey, and your support helped Kitely grow and become the biggest commercial provider of OpenSim regions. Please help us continue to expand the Kitely community by answering this short multiple choice survey. Thank you!

Gifts, Wish Lists and Payouts

We updated Kitely Market today with several features and bug fixes. The new features include public and private wish lists, the ability to buy gifts for other users, and more.

Gifts

It is now possible to buy products in Kitely Market for other people. To do so, first add the product to the shopping cart as usual, and then in the cart select the delivery type “Gift”.

Buy Gift

You can choose the avatar that will receive the gift in one of two ways. First, you can type in their name. The text box uses AutoComplete to make it easy to find the avatar that you’re looking for. Second, the “Recent” list contains avatars that you’ve given gifts to in the past, and avatars to whom you sent IM’s (but only from the website; not in-world).

When you buy a gift for someone, a transaction record appears in three users’ histories: the Buyer, the Receiver and the Seller. All three users also get email notifications.

Please note that our Gift feature works a little differently from the gift feature in Second Life Marketplace. In Second Life Marketplace you can add several products to your shopping cart, and give each product to a different user. But in Kitely Market the entire contents of the cart are always delivered to a single user. We chose this system because it’s simpler to use; this ease-of-use will be particularly important once we start delivering to avatars on other grids.

Wish Lists

A Wish List contains items that you’d like to own. You now have two Wish Lists: a Public list and a Private list. The public wish list can be viewed by anyone, but the private wish list can only be viewed by you. To add an item to one of your Wish Lists, click on the “Add to Wish List” button.

Add to Wish List

To view your Wish Lists, use the navigation menu at the top of the screen. Here’s what your Wish Lists looks like:

My Wish List
My Wish List

You can view other users’ Public Wish Lists by clicking on their name anywhere in the website, and then on the “Wish List” link. Note that this link only appears if they have items in their Public Wish List. For example:

public-worlds

Next, here’s what your Wish List looks like when other people view it. Notice that they only see your Public Wish List (and not your Private Wish List), and also that they have the option to buy these items for themselves or have them delivered to you as gifts.

How Other Users See My Wish List
How Other Users See My Wish List

You should usually add items to your Public Wish List. This lets other people know which products you like, and they might use this list to know what to get you if they want to buy you something. You can keep the more naughty items on your Private Wish List…

View Payouts

We are about to start transferring money in USD to merchants. In order to make it easier for merchants to keep track of the payouts that they’ve received (and the payouts that they will receive in the future), we now show the list of past and future payouts. In the Manage Store page we added a link to the Payouts page. That page contains a list of payouts that you’ve already received, as well as the Withheld and Cleared purchases (which will be included in future payouts).

Payouts Link

Other Improvements

We’ve added many features to Kitely in the last couple of years, and as a result we have a lot of pages in our user interface so sometimes it takes two or three clicks to get to the page you want. To make navigation easier, we expanded the “Go to…” navigation menu significantly:

Navigation Menu
Navigation Menu

We’ve heard from our users that sometimes creating product descriptions is difficult because when copying text from other sources the text retains its formatting, which makes it appear wrong and also eats up the character limit (5000 characters) more quickly than plain text would. To fix this, we changed the text editors in Kitely Market so that pasting text always removes the text’s formatting, converting everything to plain-text. Note that you can still rearrange formatted text that’s already inside the editor, by selecting the text and dragging it with the mouse to the desired location.

We’ve also heard that when uploading multiple product pictures at once the order of the pictures is sometimes wrong. So now when you upload multiple files at once we sort them alphabetically before adding them to the product.

The Content Liberation Front

(This post was updated on October 24, 2014 to reflect the changes that were announced here: Kitely Market to Support High Fidelity).

Are you a content creator in Second Life who’s concerned about the latest TOS changes? Are you worried about what will happen to your content? If so, then have we got a deal for you! You can now use Kitely to create a perfect backup of your content so that you’ll never be at anyone’s mercy again.

What does this mean? Well, you probably feel that due to Second Life’s new policies you’re losing control over your content. You want to reclaim control, which means first of all that you have your own copy of your content on your hard disk. In addition, you want to have the flexibility to move this content wherever you want: to any grid, with any company, or even just for your own personal use.

Here’s what we’re offering: copy your content to Kitely, and we will give you full control over it. You’ll get a full, perfect copy of your objects and assets on your hard disk. Having your own personal copy of this data means that no company will ever be able to hold your content hostage again.

How does it work? There are three steps:

  1. Upload your content to Kitely and add it to Kitely Market.
  2. Use our Content Analyzer to fix problems.
  3. Export the content to another grid or to your hard disk.

To be clear, you don’t have to make your content available for purchase on Kitely Market.  You can keep selling only on the Second Life Marketplace, while making your products in Kitely Market Inactive, which means that you’re the only one who will see them. The reason Kitely Market is involved in this process at all is that it contains two powerful features: first, the Content Analyzer which allows you to find and fix problems; and second, Kitely Market can be used to deliver your content to other grids.

Let’s go over these steps in more detail:

Step 1 – Upload Content to Kitely Market

You can add your content to Kitely Market for free:

  • Asset uploads – FREE
  • Land – FREE (by building in the Kitely Merchants Sandbox)
  • Listing fees – FREE (we’ve eliminated all listing fees!)

You may have heard that Kitely uses per-minute charges, and you’re wondering if it’s really free. We do have such charges in some places, but not in the Kitely Merchants Sandbox. So adding content to Kitely Market costs you zero, nada, zilch.

There are well known Second Life Merchants already listing their items in Kitely Market - read one testimonial here: http://www.hypergridbusiness.com/2013/10/merchant-earns-200-on-kitely/
There are well known Second Life merchants already listing their items in Kitely Market. Here’s one testimonial: http://www.hypergridbusiness.com/2013/10/merchant-earns-200-on-kitely/

Step 2 – Use the Content Analyzer to fix problems

You will probably use a program such as Second Inventory or Imprudence to copy your content from Second Life to Kitely. These tools save a lot of time, but they often have some problems in the content that they create. We have an awesome tool to help you find and fix these problems: the Content Analyzer. When you add a product to Kitely Market, the Content Analyzer checks it for missing or invalid assets, and shows you what needs to be fixed. For more information, see this blog post.

Kitely Market Content Analyzer

Step 3 – Export to Another Grid or to Your Hard Disk

If you’ve been burned by Second Life then you don’t want to lock yourself into another company. Even if you think Kitely is a great company run by swell guys (we really are!), you want to control your content. We understand, and that is why we enable you to export your content to your hard disk or have it delivered to another grid.

Kitely Market can deliver content to other grids, so you’ll be able to deliver the items you list to any Hypergrid-enabled grid or even deliver to closed grids if they are properly set up.

Another option is to send your items directly from your avatar to avatars on other Hypergrid-enabled grids (export controls will apply to help protect other people’s content).

Finally, if you own a Kitely World, you can rez your items in that world and export it to a standard OpenSim Archive (OAR) file. You’ll be able to use that file to restore your content on any OpenSim-based grid or standalone simulator (including on your personal computer).

You Have Rights

We respect your rights and we don’t claim ownership over your creations. You retain sole copyright over your content, and the only license that you give to Kitely is to allow us to handle your content as required by the services that you choose to use. If you’re up to reading legalese, here are our terms of service; note in particular the rights that you have, which are listed in the section “Proprietary Rights”. We’ve updated our terms of service today to clarify how your content may be used.

You can control the use of your content by setting the Export permission in Kitely Market. If you make a product Exportable then it can be sold to other grids, and backed-up by users. If you make a product No-Export then it can only be used in Kitely: we will not allow it to be accessed by other grids, or saved in OAR files (except by you). This last part means that if your No-Export product is used as a component in someone else’s product then that other person won’t be able to export his or her product to an OAR file unless they first remove your No-Export component.

No Strings Attached

As we’ve explained, you don’t have to actually make your products available for sale in Kitely Market in order to take advantage of this offer. If you wish, you can make the products Inactive or delete them. But we hope that you will choose to make your products available for sale. If you do so then you’ll be able to sell to all Kitely users, and to users in hundreds of hypergrid-connected grids. You’ll be able to do this from a single online store, and without having to re-upload your content to each grid. You’ll even be able to sell to non-hypergrid connected grids, by exporting your products to an OAR file and then uploading it to those grids.

If you want to learn more about Kitely Market then you may be interested in the presentation I gave in the OpenSim Community Conference 2013.

Changes to Kitely Market Permissions

We updated Kitely today with a few improvements to Kitely Market. We also fixed a longstanding OpenSim bug and contributed the patch to OpenSim.

Changes to Kitely Market Permissions

We made a change to the way we set item permissions when a merchant adds an item to the market. This is a subtle change, so it won’t affect most products, and in fact you may choose to skip reading this section… The change has to do with folded permissions. What are folded permissions? Well, every object in an inventory has two sets of permissions. The main permissions are what you usually see and set: Modify/Copy/Transfer, for Everyone/Next Owner. The folded permissions are a combination of the main permissions and the permissions of the items inside the object (if any).

For example, suppose you create a box with permissions Copy and Transfer (CT), and put inside it a script with just Transfer (T) permission. In this case, the box’s main permissions are CT, and its folded permissions are T. (Since the script is No-Copy, the object is made No-Copy as well in order to prevent making copies of the script by copying the object that contains it.)

The problem we found is that sometimes OpenSim doesn’t set the folded permissions correctly. For example, we’ve seen cases where OpenSim had set the folded permissions for an object lower than the permissions of the items it contained, and this caused the entire object to have fewer permissions than it should.

We decided to fix this problem by calculating the folded permissions ourselves, ignoring whatever OpenSim has done. We can do this because we know which items are contained in each object, so we know what the folded permissions should be.

We chose to deal with this problem in Kitely Market and not in OpenSim for two reasons. First, the permissions calculations in OpenSim are extremely complicated and we’re not sure we could fix them without creating other bugs in the process. Second, by moving this responsibility to Kitely Market we gain a measure of protection against future bugs as well; not just currently-known bugs.

This change won’t affect most products because in most cases OpenSim does calculate the folded permissions correctly. In cases where it didn’t, this change might add permissions to the parent object. For example, suppose you had created a box with permissions MCT, that contains items that are also MCT, but OpenSim had mistakenly set the box’s folded permissions to MT instead of MCT. This caused the box itself to get MT permissions as well, i.e. it became No-Copy. Today’s update will change the folded permissions to MCT, and therefore the box itself will also change to MCT, i.e. it becomes Copyable (as it should be).

Other Changes to Kitely Market

We fixed a problem that prevented some users from trying out the demo versions of products.

To protect brand names, we don’t allow creating a store with the same name as an existing store.

Some users have told us that when they finish editing a product they sometimes forget to Accept the changes, so the product isn’t actually updated in the market. To help merchants remember to Accept the changes, we added the yellow “Accept changes” panel to the bottom of the edit page (in addition to the top of the page, where it’s always been).

Fixed a Coalesced Objects Bug

We fixed a longstanding bug in OpenSim: when rezzing a coalesced object from a prim’s inventory, only the first sub-object was rezzed. For example, if you had a coalesced object that contains three boxes, and you rezzed it from a prim, then only the first box was rezzed. We fixed this bug, and contributed it to OpenSim; let’s hope it makes it into OpenSim 0.7.6.

In case you encounter this bug on a grid outside Kitely, you can use the following workaround: copy the coalesced object into your avatar’s inventory, and rez it from there. Of course this workaround requires people to actually know about it, so it’s better to just fix the bug.

Easier Attachment Creation and Kitely Market Improvements

We updated Kitely today with several bug fixes to OpenSim that will make it easier to build attachments. We also made several improvements to Kitely Market, and added a couple of features that had been requested by our users.

Bug Fixes in OpenSim

If an attachment was rezzed and then taken back into the inventory then it forgot its attach point and position, which forced you to set them from scratch. This affected mostly creators of attachments, because other people rarely rez their attachments on the ground. This bug has been fixed.

In addition to the in-world fix, the attach point and position are now also saved in exported OAR files. However, currently only Kitely recognizes these fields because this bug fix isn’t a part of OpenSim yet (see Mantis 4905). Therefore, export and import of such OAR files in Kitely will retain this information, but loading the OAR in a different grid will lose the data.

When editing an attachment while it’s attached to the avatar, if you moved the root prim by itself then all the other prims disappeared. (Actually they still existed, but were moved far away so they could no longer be seen.) This bug has been fixed.

When editing an attachment, other people couldn’t see the changes you made until the attachment was detached and reattached. Now other people will see the changes the moment you stop editing (technically, once the attachment is no longer selected).

We fixed a bug that prevented you from being able to resize objects to be larger than 10m.

We fixed a bug that prevented resizer scripts from being able to resize objects below 0.01m. (It was possible to resize below 0.01m by dragging the object directly, but not when using a script.)

We’ll contribute these bug fixes to OpenSim, where relevant (Mantis 4905 already contains the bug fix for one of the attachment bugs; it just hasn’t been accepted into OpenSim yet).

How to Use Multiple Attributes in Kitely Market

In Kitely Market, merchants use Attributes to help people find their products. For example, a merchant might assign the attribute “Color: Blue” to a dress, so that when people search for blue items they will see that dress.

Attributes

We allow merchants to assign multiple values to the same attribute. However, this capability should only be used when those values are equally dominant. For example, suppose the blue dress also contains yellow polka dots: it should still have only the Blue attribute, but not the Yellow attribute. That’s because when people search for yellow items they want to see items that are mostly yellow; not items that are mostly some other color (blue).

All of this was background; now we’ll describe the change that we’ve made. In order to make it easier for people to find the items they want, when searching for an attribute type we now show items that have only one attribute value of that type before items that have multiple attribute values. For example, if you search for Blue items then we’ll show the search results in the following order:

  1. Items that have only one color: blue.
  2. Items that have two colors, one of which is blue.
  3. Items that have three or more colors, one of which is blue.

This helps you when you’re looking for blue items because it makes the “bluest” items appear first.

Note that this change only affects the use of multiple values for a single attribute type, such as Color. This doesn’t affect the use of multiple attribute types for the product, such as Color, Theme, Movement, etc. It’s perfectly valid to assign as many different attributes types to the product as are relevant for it.

In addition, this change doesn’t affect search results where the attribute with multiple values isn’t one of the search criteria. In other words, if you’re not filtering items using their color then the number of colors that the item has doesn’t affect where it appears in the search results.

So, given all of this, should multiple attribute values ever be used? Yes, there are still some valid use cases. One valid use of two Color values would be for items that have colors that are both equally dominant, e.g. a blue and yellow striped shirt. This way the item will be included in search results for both Blue items and Yellow items. However, it will appear after items that have only one of these colors.

Another good use of multiple attribute values is for Bundles. If you create a bundle that contains several colors then it makes sense to assign many different Color attributes to it. But what about the problem that the bundle will appear lower in the search results? Our recommended solution is that in addition to the bundle, you also create one variation for each individual item. Each of these variations will have only one Color attribute, corresponding to the item’s color, and a picture that shows the item in that color. These single-color variations serve to promote the product: people are more likely to click on them than on the bundle variation because they show up higher in the search results (because they have only one color), and they have a picture that shows the product in exactly the color that the buyer is searching for. Once the buyer has clicked on the product they will be able to see that you also offer a bundle variation, and may choose to buy the bundle instead of just one color.

Other Kitely Market Improvements

We added a few attributes that our users have requested. These attributes can be used to better describe products in the market:

  • Colors: Gold, Silver, Bronze
  • Movement: Rigged

We’ve made it easier to find products using text search: when you search for a word that appears in a category or attribute we’ll automatically show products that belong to that category or attribute. (Previously it was necessary to click on the actual category or attribute link on the left side of the screen.) For example, if you search for the word “blue” then you’ll see all blue-colored products, even if the word “blue” doesn’t appear in their description (as long as the merchant has set the “Color: Blue” attribute on the product).

We’ve made a few improvements to the way we show errors when adding items to a product (if any errors are found, that is…). First, we now show different icons for Errors and Warnings. Second, when searching for asset UUIDs in scripts and notecards we now ignore comments: any UUID that appears after the characters “//” is ignored. Third, when showing warnings in scripts we specify the line number where the warning was found. And finally, we no longer show warnings for the standard textures that are built into viewers, such as the Invisiprim texture (e97cf410-8e61-7005-ec06-629eba4cd1fb).

We fixed a bug with the way we handle the Modify permission. Previously, if an object contained any No-Copy, No-Transfer or No-Modify items then we made the object itself also No-Copy, No-Transfer or No-Modify. But this behavior was only correct for the Copy and Transfer permissions, and not Modify, because it should be possible for Modify objects to contain No-Modify items. So now we allow that.

We don’t allow Demo items to be exported, even if the demo belongs to a product that can normally be exported. (Demo items are created when you click “Try demo” in the shopping cart. Demos are only available if the merchant has created a demo version of the product.)

Other Improvements

We added a checkbox in the Settings page that allows you to disable all the animations in the Kitely site, in case you prefer a more static user experience.

We added a checkbox in the Settings page that controls whether to send emails when you receive an Offline IM, and we made this setting On by default. Previously this setting was Off by default, and could only be changed in the viewer, so most people never enabled it and therefore they didn’t know when they received Offline IMs.

New Kitely Welcome Center

We are proud to announce that Kitely has a new central world: the Kitely Welcome Center. This beautiful always-on world will be used for several purposes. First, it contains helpful information about Kitely, so when new users join Kitely we invite them to visit the Kitely Welcome Center. Second, this world will be used for community activities such as the weekly Kitely Mentors group meeting.

Kitely Welcome Center

Our previous welcome center, Kitely Plaza, was an interesting and good looking world. However, due to its size and complexity it had performance problems that couldn’t be resolved without substantial optimization work. We have therefore decided along with the Kitely Mentors group to work together to replace Kitely Plaza, and the Kitely Welcome Center is the result of that project.

Kitely Plaza is still available on Kitely as an on-demand world. Please note that Kitely Plaza is a complex world, so if you attempt to visit it then you may need to wait a few minutes inside a Kitely Transfer Station until it starts (you’ll be teleported to the plaza automatically once it’s online).

It Takes a Village

The Kitely Welcome Center was a community project that involved many people who generously contributed their time:

  • Concept, layout and landscaping: Paislee Myrtle and Dot Matrix
  • Landing area and gateways: Dundridge Dreadlow and Sierra Jakob
  • Kitely information area: Allen Partridge and Rosa SLGardner
  • Hall of Merchants and Kitely Worlds Showcase: Paislee Myrtle, with display boards and infrastructure by Dundridge Dreadlow
  • Meeting and hangout areas: Paislee Myrtle and Min Tigerpaw
  • Avatar changing area: Paislee Myrtle; free avatars by Linda Kellie
  • Kites and water sounds: Sierra Jakob
  • Swing: Sherrie Melody
  • Bird sounds: KatiJack Studio
  • Trees from Kitely Market by: Brayla Sana, Cordts Baxton
  • Other trees and plants: Paislee Myrtle, Daniel Hoffman, Ruby O’Degee, Dot Matrix, Sifan Shan, Shenn Tao, Leah Auxifur, Avia Dezigns
  • World showcase photos: Dot Matrix, Sherrie Melody, Graham Mills, Danko Whitfield, Ruby O’Degee, Caitanya Rupa
  • Miscellaneous licensed items from generous individuals throughout the OpenSim hypergrid

We want to give special thanks to Dot Matrix who organized this community project. She did a phenomenal job of getting everything and everyone in order. This project wouldn’t have been completed this fast and wouldn’t have come out this great without her outstanding project management skills.

Thank you all who’ve helped built this wonderful new Kitely Welcome Center. We welcome everyone to come and visit!

Kitely Market Presented in OpenSim Community Conference 2013

Kitely Market is a virtual goods marketplace that is designed to help join all Hypergrid-connected OpenSim grids into one viable ecosystem. Its mission is to help the Metaverse evolve from a collection of standalones and small grids to a unified market that can attract more merchants, buyers, money, activity, and interest for everyone.

I presented the Kitely Market in the Business and Enterprise track of the OpenSim Community Conference 2013.

Here is the video:

Here are my slides:

Tools For Finding and Fixing Problems in Products

Wow, we are floored! The response to our launch of Kitely Market has been overwhelming. In the week since it opened many people have used it to purchase items, and many more have visited the market and talked about it. There have also been some misconceptions about the market, and Ilan is busy correcting them throughout the internet… But in this post we want to introduce a new feature that we’re very proud of: a way to easily find and fix problems in products.

Fixing Problems in Products

Items sometimes contain errors. For example, a prim might be using a texture that doesn’t actually exist, because it was uploaded as a Local Texture. Kitely Market now detects such problems and helps the merchant fix them, to ensure that buyers get a problem-free item.

To demonstrate these capabilities we’ll use a real-world item that we found in the Diva Objects Library: Nebs Sculpted CampFire v1.2. As it turns out, this item contains two problems. We’ll use Kitely Market to find and fix these problems.

When you add items to a product, we now show if they contain any errors. We show the total number of errors and warnings, as well as an icon next to each specific item that has a problem. Here’s what you get when you add “Nebs Sculpted CampFire” to a product:

Items Table with Errors

In this example the problems are just Warnings (and not Errors), but the procedure to fix errors and warnings is the same. Click on the error icons to get more information about the errors. For example:

Items Table with Error Popup

This tells you that the problem lies in the object “Nebs Sculpted CampFire v1.2”; in a prim called “Primitive” (yes, we know that this name is unhelpful); and within that prim, in the inventory item called “particle smoke for campfire”, which contains a reference to a nonexistent asset.

The next step is to rez the item and find the prim that contains the problem. Here’s what the rezzed item looks like:

Sculpted Fire - Original

But how to find the correct prim? There are quite a few prims, and some of them are hidden deep inside the object. The prim name, “Primitive”, tells us nothing (use meaningful prim names, people!). The prim number (Prim #11) doesn’t help us either because we can’t see prim numbers in the viewer.

This is where we introduce a very nifty feature: the Debug Version. Click on Deliver debug version to get a special version of the product added to your inventory. This version contains several changes compared to the original item, that make it easy to find the problems:

  • Prims that contain problems are highlighted in red.
  • Prims are numbered. E.g., the prim that was formerly called “Primitive” is now called “Primitive (Prim #11)”.

Let’s rez the debug version next to the original version, and compare them side-by-side:

Sculpted Fire - Side by Side

We can now easily see that the two problematic prims are the round base, and an invisible prim that stands perpendicular to the base.

Using the debug version as a guide, we locate the corresponding prims in the original item and click on them. Now we see the problem: the particle-system script contains a hard-coded texture UUID. That UUID was probably valid on whichever grid the item was originally created on, but it doesn’t work on other grids.

Sculpted Fire - Show Error in Script

This problem wasn’t obvious because the default texture is white, and white is a pretty good color for smoke. We’ll never know what the smoke was actually supposed to look like. The solution to this problem is to add the smoke texture to the prim’s inventory, and change the script to load the texture from the inventory instead of by hard-coding a UUID. This is not shown here.

The other problem in this object is similar: another script refers to a Sound asset using a hard-coded UUID, but that asset doesn’t exist on any grid except the one where the object was created.

After fixing the problems, take the item back into your inventory and then add the fixed item to the product. The result: no more errors!

Redeliver Products

We made one more change today, to the Redeliver feature. Merchants can choose to redeliver purchased items to the buyer. For example, this feature is used if the original item had problems, which the merchant has fixed. Previously the Redeliver feature sent the buyer the same version that was originally bought, but this was unhelpful because it didn’t include the new fixes. Now Redeliver sends the latest version of the item instead.

Kitely Market is Open for Business

Kitely Market is now open for business! Kitely Market is a virtual goods marketplace that will create a unified market out of all the separate grids that make up the Hypergrid metaverse. This will enable content creators to make serious money, while setting up only a single web-based store. This is an ambitious project that we’ve been working on for more than 6 months, and we are very happy to finally be able to let you use it.

Overview

When we designed Kitely Market we had several examples in mind. First, we know that most users of virtual worlds are familiar with the Second Life Marketplace, since it’s the largest and most successful market for virtual goods. We therefore started out by making sure that Kitely Market will look familiar to people coming from Second Life. For example, we arranged products in a Categories tree that has a lot in common with the one used in Second Life. However, we didn’t stop there. Our goal wasn’t to copy the Second Life Marketplace — it was to create something better. So we continued by adopting some good ideas from popular e-commerce sites such as Amazon. For example, we use Attributes to make it easier for you to find the products you want (we talk more about attributes later). And finally we added some features that we haven’t seen anywhere else, because we do occasionally have original thoughts :).

The basic operation of Kitely Market is similar to existing virtual goods marketplaces. Merchants create Product listings using items in their inventory. Users browse the products and purchase them. Bought products are delivered directly to the buyer’s inventory.

Categories and Attributes

Categories and Attributes are both ways to search for items in Kitely Market. Each item belongs to one category: for example, Shirts or Musical Instruments. Each item may furthermore have many attributes. For example, a shirt may have these attributes: Color (red/blue), Department (men/women), etc. When you search for items you can search by any combination of text, category and attributes.

The following screenshot shows a sample search. In this example the user searched for products that have “mesh” in their description; have the “Black” Color attribute; have the “Modern” Theme attribute; and are sold with the “Modify” permission. The left side of the screen shows the currently selected filters, and the categories where matching products were found. You can click on these categories and attributes to further refine your search.

Kitely Market Search

The use of Attributes makes it easier to find items than when only Categories are available. It also reduces the number of Categories, which again makes it easier to find the items you are looking for. For example, the Second Life Marketplace includes several similar categories such as “Rings”, “Jewelry Sets”, “Valentine’s Day Jewelry” and “Wedding Rings”. This makes it difficult to find all the jewelry items because you have to look at each of these categories separately. And if you want to see only gold jewelry then you’re out of luck: you have to scroll through all the items in these categories. In contrast, Kitely Market makes it very easy to perform such searches. First, Kitely Market contains only one relevant category, called “Jewelry and Watches”, so you only have to search there. The reason that we can do this is that we’ve moved some of the categories used in Second Life into attributes. For example, we have attributes for Occasions (“Valentine’s Day”, “Wedding”).  Furthermore, you can specify the attribute “Color: Yellow” in order to see only gold jewelry.

Variations

Kitely Market Variations

A product may have several Variations, which are small differences in the product. For example, a merchant that creates a blouse might offer it in five different colors. Other marketplaces present these blouses as five different products, which makes it difficult to compare them, and also takes more work for the merchant to maintain. Kitely Market enables the merchant to create a single Product with five Variations. All the variations are shown together, and the user can easily compare them. The screenshot above shows an example of a dress that is available in five colors. You can view each of the variations by hovering the mouse over the variation’s thumbnail. This is really cool, so here’s another example, and another.

Variations make it easier to search for products, because when searching the marketplace the product will appear just once instead of five times. The variation that appears is the one that matches your search filter best. For example, here’s a search for outdoor chairs. If you click on different Color attributes then you’ll see the same product (Adirondack Chair Set) appear only once each time, with the color that you selected.

All of the product’s variations are counted together for the purpose of reviews, sales ranking, and Likes. This means that combining similar products into a single product with variations can help increase that product’s search ranking, and thus help it sell more. This also lets buyers see all the relevant reviews for the product at once.

Product Demos

Each product variation can have a demo version. Unlike in other marketplaces, this is not a separate product: the demo is an integral part of the product. Potential buyers can easily try the demo version as follows: they add the item to their Shopping Cart, and in the cart they get a link called “Try demo”. When they click this link, the demo version is immediately added to their inventory.

Try Demo

Great User Experience

We believe that shopping isn’t just about ending up with the products you want, but also about enjoying the shopping process itself. We have therefore made it a joy to browse the store. Certainly, making it easy to find the products you want (as we’ve described above) is important. But we also spent a lot of time making it fun to interact with the marketplace. Kitely Market provides the sort of user experience that is usually seen only in mobile apps: as you click around things slide, rotate, fade in/out, grow/shrink, and provide many other types of engaging feedback.  As an HTML5 application, Kitely Market works on Windows, OS X, Linux, Android and iOS. The supported browsers are Firefox, Chrome, Safari, and IE9 or better. (Some effects are disabled when using IE.)

At the risk of sounding immodest, we believe that Kitely Market has the best user experience of any web-based e-commerce marketplace currently out there! Seriously, check it out.

Information for Merchants

Kitely Market has been open for merchants (but not buyers) for several months, in order to allow them to add products to the market before its grand opening (today!). We want to thank these early-birds who added products to the market before they could actually sell anything: they created almost 1000 variations in total, and they’re the reason you can experience the full power of Kitely Market immediately, without having to wait for merchants to start creating their stores. Two of our merchants have even achieved Featured Merchant status, and their stores are now displayed prominently in the market homepage.

Merchants can choose to sell their products for Kitely Credits, US Dollars, or both. When a product is bought using KC we transfer those KC to the merchant immediately (less Kitely’s fee). When a product is bought for USD we hold on to the money for 45 days to get past PayPal’s transaction dispute window. Within a week afterwards, we transfer the money to the merchant’s PayPal account automatically (less Kitely’s fee, and subject to a minimum payout amount). Kitely Market fees are explained here.

When merchants sell their items for US Dollars they receive these USD into their PayPal account automatically (after a certain delay, as explained above). Unlike some other marketplaces, we don’t force all purchases to be converted into our grid’s virtual currency. This eliminates a problem we’ve heard from many merchants, that they fear being stuck with a virtual currency that they don’t need, or they just don’t want the hassle of converting it into real money. Kitely maintains anonymity for both buyers and sellers: they each see only the other party’s virtual identity, but not their real-world identity.

We’ve already explained in the past how to create a store in Kitely Market, so we won’t repeat that information here. For more details see either this blog post, or our Wiki.

Add Product

Export Permission

Merchants can choose whether their items can be used only in Kitely, or in other OpenSim grids as well. They do so by setting the Export Permission on their products. Products where the Export permission is disabled (this is the default) can’t be taken out of the Kitely grid. Products where the Export permission is enabled may be transferred to other grids. At this time the only way to transfer products to other grids is by rezzing them in a world; exporting the world to an OAR file; and then importing that OAR file in another grid. The next phase of the Kitely Market rollout will enable delivery of bought items to avatars from all hypergrid-connected grids. Once we enable the full power of this feature, merchants selling in Kitely Market will be able to easily provide their goods to tens of thousands of people who actively use Hypergrid-connected grids.

For more information, see this blog post.

Export Permission Checkbox

Other Features

Kitely Market contains other features that are standard for marketplaces, such as Reviews, Comments, Rankings, Purchase History, Sales History, Email Notifications, etc.

Reviews and Comments show users’ pictures, so we recommend that all users set a profile picture. To make this easy, we now allow uploading pictures directly in the website. These pictures are automatically used in the Kitely Forums as well.

User Profile Picture

We made a small change to the way that we ask users to accept our Terms of Service. This change affects only users who signed-up using Facebook: the first time they login to Kitely, they will be asked to accept our Terms of Service. This doesn’t affect users who signed up using Twitter or Email/Password.

Whenever the user interface shows a user name, this name can be clicked to show more information about the user. We now include links to the user’s Forums Profile and Kitely Market store (if the user created one). This makes Kitely more social because it enables you to more easily connect to other Kitely users.

User Profile Popup

Conclusion

Kitely Market is a brand new e-commerce platform, and we need your feedback to improve it. Please use this forum thread if you have questions, suggestions or bug reports.