This week, I had the opportunity to present at the Aruba Airheads conference in Las Vegas. Thanks again to Aruba Networks for sponsoring me, it was a great time. The following is an overview of the talk I gave about how Nebraska Furniture Mart is using the Aruba’s Meridian SDK to build an indoor wayfinding app.


Nebraska Furniture Mart is the a massive furniture store with three locations, with another being built in Texas. They bill themselves as the “largest home furnishings store in the country,” so as you can imagine, they have a lot of products. Their SKU numbers are in the tens of millions.

One common trouble customers have is locating products. They are either trying to plan their trip from home, or they are back in the store and want to find something which has moved since they were last there. Furniture stores move their stuff around quite a bit every morning, so even the people who work there may not know where everything is placed.

Recently, they implemented electronic price tags.

Electronic price tag

These are an e-ink screen, like a Kindle, with batteries that last 5-7 years. The main benefit, though, is that they can update prices anytime they like.

Another benefit is we can track their location.

Because they have very small batteries and antennas, there has to be transceivers talking to them every 20 feet or so. These transceivers remember which tags they’ve talked to that day, and we can query them to see this information.

So, we know where the transceivers are, and which product IDs are near each transceiver ID. But, customers don’t care about product IDs or transceivers. How can we make this useful?

mashup diagram

NFM has a mobile site, which is great at is letting people browse and search for products. The search engine is phenomenal. If we were to wrap the mobile site within a native app, we can combine it with the Meridian SDK, which comes with a lot of great indoor mapping and directions-finding capabilities.

But, in order to do that, we need to do some setup with the meridian sdk. The first thing we did was import our building into the map editor:

placemarks

And then I spent about 20 minutes or so drawing the placemarks on top of it. These are labeled with the transceivers’ IDs, and they are hidden from the user, so they won’t be able to interact with them when they are viewing the map; but at the same time, I can give the user directions to a particular transceiver. So, the user doesn’t see the transceivers or the placemarks themselves, they just want directions to the product they are looking at.

In Xcode, I did some very basic setup. I took a standard view, added a UIWebView, and added our injection code, which puts the extra button on the Product Details screen, allowing the customer to invoke the map, and the code that actually loads the map. The Meridian-specific code is all very-well documented on their web site, so I won’t go over it here with any detail. The injection code is just some simple jQuery.

So, let’s take a look at what the end result looks like.

We can see a list of search results for the Bose SoundDock. If I tap on one of those, we get the same exact page as any other mobile user, but with the extra added button. Tapping that, and waiting just a second, we get the final result of all of our work: the map, with directions right to the product.

I have lots experience with iOS, but I don’t have a lot of experience with the Meridian SDK. Nor did I do any work on the mobile web site. But, it was so easy to put this mashup together, that with just a little more polish, we’ll hopefully be ready to release it to the public.

The total time spent on this was only five hours. This framework was super easy to use, and super powerful.

Thanks for reading! Feel free to contact me with any questions. I’d be happy to go into more detail, or talk about what you would like to do with this same setup.

Posted Thu 13 March 2014