Physical Web Beacons
After hearing about the Physical Web through a second-hand tweet, I decided to look into what it is and why we want it.
The Physical Web is essentially a way to broadcast a URL using Bluetooth (Bluetooth Low Energy or BLE, specifically). Devices can then listen for those beacons.
The beacons can broadcast to a distance from a few centimetres away to possible 450 metres away.
The Physical Web uses Eddystone, an open source beacon specification that Google proposed and is a competitor to Apple’s proprietary iBeacon technology. Google released Eddystone in July 2015.
What’s the Frequency, Kenneth
My initial reaction was “cool!” The practical applications of this could be quite numerous. For example, the web site shows a dog tag or a parking meter broadcasting. Stores could feature sales as you walk into them and have those broadcast directly to your phone.
In Uri† Shaked’s overview of the Physical Web, he talks about being able to broadcast conference slides while doing a talk. Conferences could broadcast the day’s schedule.
I could imagine going by a restaurant and being able to load up their menu via a beacon. Bus stops could broadcast maps and times.
The QR Code of the Future
Sadly, my mind quickly devolved into the annoyance of numerous notifications, like popup windows and other distracting adverts, vying for my attention.
Imagine that same conference with companies pitching their wares or recruiters filling up your notifications. There could quickly be so many notifications as to make them near useless.
Walking into a store, your phone buzzing with dozens of product sales, as companies pay for beacons and shelf space.
The people behind the implementation of beacons at Google have worked hard to make sure they're not annoying. On Android, all beacons are wrapped up into a single silent notification. Essentially, you have to seek out beacons rather than have beacons nag you.
Ultimately, though, beacons feel like QR codes. They’ll be all over the place and, for the most part, ignored.
With the possible onslaught of beacons, some type of filtering or prioritization would seem ideal. Otherwise, I think most people would just rather choose to have beacons turns off, which wouldn’t really be of much use to those who use beacons. (Uri recognizes this issue in the comments of his article.)
Trying them out
Uri’s article does a great job of describing how to set up Beacons on your laptop or Raspberry Pi, and how to configure your iOS or Android devices to listen for them.
Broadcasting a Beacon using Node
On my Mac, I was able to broadcast a beacon with a couple easy lines:
npm install --save eddystone-beacon node -e "require('eddystone-beacon').advertiseUrl('https://snook.ca/');"
Of note, URLs need to be https. I tried specifying an http URL as a beacon and it couldn’t be found. I tried specifying an http URL that redirects to https and it could be found. I’m not sure if it’s the sender or the receiver that’s doing the double-check on the URL.
(Also, you might have to use
sudo to get
npm to install everything correctly.)
Listening to Beacons
On iOS, add Chrome to the Today screen. You’ll be prompted to listen to Physical Web beacons. Don’t worry, you can disable it later.
On Android, notifications will come up automatically.
I’m still bearish on beacons but I like the potential. I may try setting up beacons at upcoming conferences and workshops to see how well it works.
† How cool is it to have a name like URI (Uniform Resource Identifier)?!
Updated to point out that beacon notifications are silent.