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.