The Realities of Installing iBeacon to Scale

Location aware technology as part of Bloomberg Connects is pretty vital.  We use it to tell the staff answering questions which gallery a visitor is standing in and what works of art are nearby.  By doing this, it means our staff will have information on nearby objects at their fingertips, so they can better converse with visitors, give information, and make connections to near by related works.  Many places are using location based technology to deliver content to devices, but in our case the technology is used in reverse; telling us more about the context around a visitor, so we can better serve them. At the time we started our technical implementation—almost a year ago—iBeacon was new and it presented a good option for us. We're following agile methodology and in a project where iteration is the norm, you don't want a ton of technical overhead; a lightweight location aware system using beacons made sense.  We could implement location aware inexpensively, see how it would work for the app, and change it (to something else) or dump it if it didn't work for our needs.

In trying to install beacons throughout our building we've faced many challenges.  While the solution remains lightweight and flexible, there's a lot of overhead to deal with.  In a larger organization, you might throw money at this problem—there are plenty of third party management systems for beacons—or, even, staff time to help develop those solutions internally.  In our case, we've devoted some resources to coding internal tools needed, but we've also spent a lot of staff time (...my own) installing without the use of third party tools.  This is just how we roll over here; if we can possibly avoid coding, we're going to do it.  If we can sneaker-net a problem, we're going to go that route before throwing a lot of money or code at it, especially in the early days when we need to determine if the technology is a workable solution. Here's our iBeacon install story...

We are using beacons from Estimote; we selected these units because the developer community is strong and we received consistently good customer service and communication from the Estimote team. Estimote has a standout SDK, too, which means we can develop tools to help us—the ability to create our own tools and fully integrate into ASK was critical.  In a market with many players, what we gained in these regards is unparalleled and we'd make the same choice today—both vendor and technology—even knowing the headaches we've been facing.

Installing beacons with the help of Matthew Yokobosky, our Chief Designer. Having white beacons has made all the difference.
Installing beacons with the help of Matthew Yokobosky, our Chief Designer. Having white beacons has made all the difference.

The first and most obvious issue we faced had to do with lack of beacon color choices.  We started with only three options available, light blue, dark purple, and seafoam green; all of zero matched any colors used on our walls. We knew this would be a problem going in and Estimote said a white beacon would release by the end of the year, so we started working with light blue (no matter how much it clashed) during our testing period last fall. As promised and on time, the white beacons were available in December.  This was great news, but we had to repurchase and replace the blue beacons we had installed on our testing floor and we now have a lot of unusable blue beacons from the early install just going to waste.  Additionally, we need black and grey options and we hope to see those in a few months...at which point, we will have the same issue.  We'll have to go through and replace in areas where we used a less optimal color and then we'll be swimming in purple units that we used as an early stopgap.

A beacon on the floor; an all too common sight in our galleries during this install process.
A beacon on the floor; an all too common sight in our galleries during this install process.

As if this wasn't enough, we've had a lot of problems actually getting these to stay put on the walls. It's no secret we have a tough production environment here; we use different types of paint (gloss, flat, semi) and our walls vary in surface (plaster, glass, sheetrock, cement). No matter what we do, we've found beacons are constantly falling off walls...constantly. The "gecko" adhesive on the back of the beacon just won't stick (for long) on our surfacing. These particular beacons with their rubberized covers are on the heavy side; this doesn't help at all.  Sometimes adding Scotch adhesive squares work and other times they make the situation worse, so we can't always rely on this as a solution.  The folks at Estimote have sent us some custom sticky backs which is helping alleviate the problem.  For obvious reasons, we are installing far from works of art; when beacons fall visitors pick them up, our security guards find them, or they disappear likely swept up in cleaning. The rubberized covers also attract dirt and once they fall (and often bounce) we have to clean up the cases quite a bit prior to getting them back on walls.

When I'm lucky, I come into my office and find fallen beacons on my desk with notes likes these.
When I'm lucky, I come into my office and find fallen beacons on my desk with notes likes these.

Once they fall, we've got bigger issues.  You have to figure out where you installed that beacon and replace the now missing unit.  Beacons don't have serial numbers written on the casing, so you have to use an app to scan the beacon and figure out its assigned major and minor number.  The major tells me which beacon group this is in (essentially a room in our galleries) and the minor shows me where in that gallery, but this means during installation I have to keep a map of every beacon we install and its corresponding major/minor number so I can track it down later.  During replacement, you can't just reassign a missing beacon's minor value and rehang the unit because minor numbers in any major group have to be unique.  This means you have to change the minor value to a unique value and then go back and update the number on your map.  Imagine what this means when you have to go through and swap colors.  What should be an easy and quick process is a mess of pencil erasing on a floor plan combined with trying to track changed numbers.

Estimote is a startup and just like we are experimenting with our app and working with agile process, they are likely doing so as well.  In one recent shipment of white beacons, I went through and spent all day replacing units in the gallery for better color matching only to find that two days later almost every unit had fallen off walls.  Most were missing, some were recovered, all needed super sleuthing to figure out where they needed to go back.  As I was standing in the gallery frustrated beyond all capacity of lost time and money, our head of conservation happened by and asked how my day was going.  She took a look and realized that the backs of the beacons had changed slightly from one shipment to the other. What was likely a simple manufacturing change (something Estimote is now looking into) turned what should have been a color swap into an all out nightmare of several install days gone.  The folks at Estimote have responded in full by replacing all these missing beacons and overnighted sticky backs; this is one big reason we went with this company in the first place—a direct line and a responsive team have helped us in a lot of ways.

There's something different about the adhesive of these two beacons. Thank you, Lisa - I owe you one.
There's something different about the adhesive of these two beacons. Thank you, Lisa - I owe you one.

In the end beacons are stand alone, battery operated units—this is great because those features afford you flexibility in installation because there's no need for power or a hard wired internet connection.  The unfortunate part of this means unlike a hard wired system (like a wireless access point) there's no reliable central management tool for beacons. Beyond actually going into the galleries and taking a look to see if units are still there and/or working with a scanner app, we have no way to know what's happening on the floor. You can imagine, I'm sure, the terror I feel every time I walk into a beacon installed space days and weeks later, rounding corners and wondering if the beacons are still hanging, if I'll find them, if I can figure out where they were to replace them, and if my mobile battery will last long enough in the process.

Speaking of battery life, we are facing similar issues.  Battery life isn't a problem yet because the batteries should last for a while (a year..or two ???...untested), but we'll have to deal with this eventually and right now we have no centralized and fool-proof way to tell which units need to be replaced beyond a walk through with a handheld scanner. And once we have to replace them, because the batteries are not accessible in the current Estimote units, we've got that pesky major/minor unique number problem all over again.  What should be a simple reassign and put back up (watch for falling beacons) becomes a complicated mess of changing numbers and tracking everything through.

We could leverage the Estimote SDK more to help us.  In doing so, we could build into our app the ability to read the battery level as each beacon is used by a visitor, but there are issues there.  First, it ties us to a specific vendor (our app, for now, only uses Apple's API) and we'd like to stay vendor agnostic as much as possible.  Second, the battery drain on the units (not to mention the phone) for this kind of overhead makes it a poor choice. However, in not using the SDK, we can't take advantage of the features Estimote is releasing as they steer their own resources toward SDK development (and they are doing a lot of this right now). That's okay for us right now—it's better to keep things as simple as possible to see if beacons work for us first, but we may change our strategy on this take in the future.

Some issues we are facing are not vendor specific. Beacon signal, for instance, is disrupted by everything save air...walls, vitrines, objects, people, you name it. This problem is so bad, in fact, that I can be standing directly beside a beacon on the wall, and will find a stronger signal coming from one across the room.  Jennie has had to implement a ton of code gymnastics in our app to detect the beacon most likely where a person is standing.  As you can imagine, this problem is making for a complicated install process and ongoing maintenance; works of art move quite a bit more than you'd expect.  A simple object rotation in the galleries can throw things off and we do those regularly.

Jennie scans the beacon using the Estimote app so we can assign major/minor values. I'm there with the paper map and Pritika is manning her beacon tool. All this to install a few beacons in Connecting Cultures.
Jennie scans the beacon using the Estimote app so we can assign major/minor values. I'm there with the paper map and Pritika is manning her beacon tool. All this to install a few beacons in Connecting Cultures.

We have coded and created solutions to help us when we really needed to do so. Pritika has developed a tool which allows me to add a beacon and pair it with gallery locations.  The tool lets me create beacon groups, so I can assign more than a single beacon to a specific location.  It also gives me a preview of the objects assigned to the location, so I can do a quick visual to ensure the beacon I'm installing is pairing with the correct group of artworks.

My hacked out beacon install cart complete with cookie tins.
My hacked out beacon install cart complete with cookie tins.

We've also customized an install cart, which has been essential given the size of our building and the simple square footage of the install areas.  Take a look at the way Mike in our carpentry shop tricked out our cart so the ladder can roll with it. I've got my laptop with Pritika's tool, my iPhone with the Estimote app, a floor plan, a pencil (it's been a long time since I've used one of these), a ton of sticky options, and metal tins of beacons in each color.  The tins are normally used to hold Jodenkoeken cookies that our Head of IT brings back from her trips to the Netherlands.  These tins have become a vital part of the install because they block the signal of the unassigned beacons sitting inside, which can be its own confusing process to deal with. How's that for a hack?

Our building is fairly large—roughly 500,000 square feet. When we are done, we'll have about 150 beacons installed throughout the galleries with very little centrality beyond walking around and scanning with eyes and iPhones.  I think our size is pushing the limits here; I simply can't image scaling this solution to larger organizations without a lot of custom software and overhead that totally defeats the purpose of a lightweight solution.

We are still happy we went this route, but the practicalities have been difficult. I have to tell you we'll likely switch to Apple's Indoor Positioning as fast as we can possibly do it; at least, I hope, before batteries in these beacons run out.