The IBEX Inventory Storage System


Inventory Bloat. You just can’t avoid it! When I was a little newbie, I used to sort inventory while I was camping. (Remember camping for 2 ells ever 10 minutes? Ah, the… not so great old days.) When I crept up over 10 thousand items, I got antsy. I tried holding some bi-annual inventory clean-up get-togethers in Raglan, but then I ended up doing more yakking than sorting and pitching. And then I came to the zen conclusion that my inventory bloat is a natural growth process of my time on SL. And quit sorting altogether. :X Annnnnd, yeah, I still have Halloween goodies from 09 in my “Junk to Sort” folder.

I had shopped for inventory storage systems. None had what I wanted. What I wanted was to see a list of items, select several, or big bunches, and have them delivered to me in a folder.

Instead, I found a big ‘filing cabinet,’ with labels on the different prims for “clothes,” “hair,” “shoes,” etc. It was very primmy and completely low-tech. Some had scripts that paged through the contents, either showing one item name at a time with floating text, or perhaps showing 10 at a time on the dialog menu. You could click and get the current item (or the item on the button) to get it handed to you. By the way, some items have really loooooooooooooooooong names, and those menu buttons only show about 12-15 characters.


Last year, when touch-coordinate functions were introduced to LSL, I figured, “Hey! I can design my own menu interface!” The only caveat was, I’d have to deal with the vagaries of floating text. Depending on what font and settings (some deep core settings somewhere) you have for floating text, your display settings, your OS, your client version… the size of the floating text could be almost anything.

The IBEX Control HUD Layout

Then I wanted it left-justified, so you could X the ones that were selected. Of course, there’s no way to tell floating text not to be centered, so I had to invent a left-justification function. Which is not perfect, but it works. And X’s are wider than _’s so I had to use * as the marker for selected items.


After that, it was just coding like a monkey for a few weeks. Everything worked out splendidly — until it all crashed with a stack-heap collision (out of memory) error if you tried to select 100 items or so. So I got fed up and moth-balled it.

But recently, I took it out and dusted it off to show my greatest project failure in SL at the Rendervision Show & Tell — mainly to ask the group gurus how I might fix my problem. Randm suggested a database script — or, basically, just storing the list in its own script.

So I reworked the scripts, hammered it out, tied up some beta testers… (::ahem!::) And I’m really proud of this project! It’s out now; it’s on sale for one week — so rush over and look at it. Oh, there’s a video demo/instructions, so you can see it in action.

It holds up to 3,000 items in one box. You can select multiple and get them in a folder, you can do a text-match search, filter by inventory type. The HUD displays 30 at a time, and shows about 35 text characters of the item name. You can select all/none/invert on different segments of the list: all, or by search/filter, or by column.

Face it, throwing stuff in a box to store it is easy. Finding it and getting it out is another matter entirely! Have you seen SL lately? Even with an object with 3 things in it, you have to edit it, go to the contents tab… and find something to entertain yourself with in another window while it is “Loading Contents.”

I don’t often impress myself… but I do think the IBEX is a fabulous piece of work. And it is one product I will be using a lot.

See the IBEX in action here.
See it on the Marketplace here.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s