Technology blog of the Brooklyn Museum

Technology blog of the Brooklyn Museum

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. White beacons have 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.

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. (This is a real note!)

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.

What an art conservator can tell you…there’s something different about the adhesive of these two beacons.

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.

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.

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.

Real interesting writeup, we are also experimenting with beacons at the IMA and wanted to offer a few thoughts. We’ve been using the standard iOS iBeacon apis as well so as not to get locked into a specific vendor. This has allowed us to plugin some custom reporting tools. To help us manage the fleet of beacons we created a simple endpoint that sends data when a beacon is seen by our app. That way we can monitor the health of the beacon (know if its still alive) and start to develop a sense for how the beacons are being interacted with. We are using the larger Gimbal 21 beacons that are supposed to last up to 5 years (we will see), obviously they will need a more heavy duty mounting, so we are looking at screwing them into the ceiling/wall.

We recently had our building scanned for Apple’s indoor location and are starting to test that as well. It seems to work pretty good although some of our phones refused to switch from GPS to indoor location monitoring. We are able to use google maps and have the little blue dot follow us through the building with what I would call gallery level accuracy (in some areas it was better than that). This will be a good approach to keep an eye on and I get the sense Apple is going to start pushing it hard going forward.

I’m curious what level of accuracy you are looking for with the Beacons? From our tests we have decided that gallery level is about as good as we can get before things get hairy.

Hi Kyle, Thanks for this – good to hear from you. For ASK, we only need to know that a visitor is in a room or a part of a room. We then show our staff the works nearby the visitor. So, we don’t need a ton of granularity and, nicely, visitors don’t see this process (only our staff see the results), so if a beacon is not read correctly our staff suffer the problem but our visitors don’t. This is really key in all of this. The tech is really too loosy goosy for anything else at the moment.

Great post! I totally get the challenges involved with deploying beacons in galleries. We just completed a pilot project at the Canadian Museum of Nature, using only 5 Estimotes and had similar issues with keeping track of which beacon is which and trying to adjust for signal disruptions. I really like your ideas about trying to establish the most likely beacon (proximity) as well as creating beacon groups. I can see how that would help a lot. I must admit I had a really good chuckle at seeing the Jodenkoeken cookie tins for “quiet” beacon storage. I used a similar metal sandwich container to shield our beacons! One thing I found useful for monitoring the beacons was the combination of my Pebble smart watch and the Locate App (Radius Networks). The App detect the beacons as you move around and sends the major/minor numbers to my watch. I also used that method to see if our App was triggering at the same time the Locate App detected the beacon (not always) while walking around the gallery. If you are curious about our pilot, our partners, bv02, wrote a blog post about it. http://www.bv02.com/estimote-beacons-museum-nature/

Interesting, I have tested some heavily discounted Chinese beacons and found them good enough (certainly a lot lighter to hang). How precise is Apple’s Map Connect really? That would be interesting to know.

Interesting article, we’re trying out something different with iBeacons: using them as a cheap way for indoor positioning and possibly, maybe later on, navigation. It’s a project at a (geodetic) engineering university so we’re looking at it in a more scientific way.

However I felt I should tell you about taking estimote beacons apart:http://i.imgur.com/f7sRLzm.jpghttp://i.imgur.com/UtQGJF3.jpg As you can see the actual hardware is quite compact and – from a purely aesthetic standpoint you could make your custom enclosures which could hold the major/minor infos on the back side while also allowing easy access to swap out the battery. Small tip in case you’re actually going to do that: put whatever material you want to use in a microwave for a couple of minutes – if it doesn’t warm up it’s usable (if microwaves do heat it up the material will diminish the signal strength).

We’ve been working with beacons from several other manufacturers aswell and some of them have thought about the problems coming from the serial number mishmash:http://i.imgur.com/DK5qhAe.jpg The white ones are from Accent in Spain and can be configured completely to ones needs, including changing of the uuid/major/minor. The black ones are from BlueSense in the UK – they’re offered in several different colors or even without the enclosure)

You can also see our sort-of custom mounting scheme aswell: We hot-glued velcro strips to the ceiling and the backside of the beacons so they can be easily swapped out. One more interesting thing for you may be putting the beacons in corners where the walls meet the ceiling so the signal is focussed toward the room – a bit like a satellite dish (in surveying it’s called a cornercube or corner reflector, check wikipedia)

I hope any of this is useful – if you want to check our project out, search for my email address on github – the (android client + java server) project is available for whoever is interested and will still be updated over the next couple of weeks

Thanks, Jan – this is very helpful. It drives me crazy, however, that we’d need to futz with making our own cases and/or taking units apart in a way that the manufacturer didn’t intend. All around, this does not scale!

Thank you very much for sharing your experience, it is always good to understand how others cope with similar problems as you had… For the (absence of) serial number issue, the way we solved it on our side is to assign each of our Estimote beacon a unique number that we actually write on the plastic rubber. Instead of playing with Major/Minor configuration, we just ended up with a big Master List of all our beacons (we have 300 right now in several French locations, nationwide), but each of our beacons can be uniquely identified through the number written on it. It may seem pretty old-fashioned, but it proved fairly efficient, and to come back to your example, if we find a beacon on the floor, we can instantly know where it belongs. We have asked Estimote for a serial number though… not sure when this will happen. Eric

Interesting to see that pretty much everybody is having the same experiences with iBeacons. We ran a pilot with Auckland Museum and you can watch the short talk here by Nils Pokel – https://www.youtube.com/watch?v=–D87Iusp2M.

In terms of hardware we found the Estimote’s to have pretty bad battery life although we did get some of the first developer versions and I think they’ve made some inroads into this recently. One other option is to not use battery powered iBeacons. I see a future where we will be able to attach beacons to lighting strips in cabinets and pretty much anywhere there is power. Also having iBeacons with bigger batteries – There is no reason why they shouldn’t have a long life AA battery in them as the Estimote beacons have the room for it.

The next issue is beacon management. A beacon with no markings on it really doesn’t mean anything and if you have 10 in a pile it is pretty hard to tell them apart. Management software are device markings will start to play a key role in keeping track of these things. I’m hoping that there will be some vendor neutral solutions that start to come out that can manage beacons from multiple suppliers. The last six months has seen a lot of work go into the management consoles of the vendors which is a good thing.

And lastly location and object recognition…A work in progress to be sure!

Glen

PS: There is a beacon manufacturer out of Auckland who has some pretty nice (white!) beacons – http://www.dropin.co.nz. There management console looks pretty nice as well.

PPS: Maybe we should have an iBeacon birds of a feather table at MW2015 for those attending? We can swap war stories.

First of all thank you! As a developer and Beacons enthusiast determined to avoid vendor lock at all costs, many months ago I have read this blog post and it posed to me an interesting, non trivial, three parts problem to solve. One. The problem of “tagging” an indoor area without having to bother too much where the beacons are located inside that area or throughout the venue. Two. How do you do it in a way that you should not even care about the identity of the beacons involved in a specific area? Three. How can you do it quickly so that when you swap beacons your areas / venue re-tagging process is not too cumbersome? So I found some spare time and came up with open-tagger for iOS (open = open source, you can inspect the code and the algorithm). It is not perfect, I consider it a first stab, BUT… when you do an initial installation, it should be (hopefully) way quicker that the traditional beacon room manual matching. When you replace, displace, remove or add a beacon, in theory you should be able to “re-tag” only the affected area (room in your case) and perhaps the neighbouring ones. Tagging should be quick and, given that it is not vendor locked, you can probably choose better beacons (with a hole for a screw, interchangeable battery and QRCode or serial number printed on the back, for example — ANY brand with a decent chipset). This last feature, I have not implemented or tested but I cannot see a problem with it, when I have more time to work on it, that is. If you can code a bit or simply can build a Swift app, take a look (after all, this blog post was the source of inspiration) https://github.com/PaoloLongato/open-tagger/tree/github-master

We used the Estimote beacons for a semi-permanent solution. We also had issues with the stickiness. I ended up 3d printing 40 or so “Shells” that would hang from the ceiling tile grid and contain the beacon. We also labeled all the beacons & shells with the ids.