

PunchClock: Fun With iBeacons - macrael
http://www.panic.com/blog/punchclock-fun-with-ibeacons/

======
jimmcslim
I'm a little surprised that there isn't broader availability of iBeacons at
this stage... I feel I should be able to walk into an Apple store and buy a
10-pack of them for some reasonable price.

~~~
clemesha
I'm currently developing an app based on Gimbal:
[https://gimbal.com](https://gimbal.com) (made by Qualcomm).

My experience so far has been pretty good using their SDK (which works on iOS
and Android) and their admin web interface, and the Gimbal devices themselves
are not that expensive.

I'd be interested to hear the experiences of others using Gimbal..

~~~
bitpew
I recently (Feb 2014) had the opportunity to evaluate different iBeacon
hardware for a project.

[http://roximity.com](http://roximity.com)

* "ok" price

* horrible customer communication

* in reality to want to sell you their services and not the iBeacons.

* not configurable (proximity id, major, minor)

* really long shipping time to europe (4 weeks)

[https://www.sticknfind.com](https://www.sticknfind.com)

* "ok" price

* nice form factor (small)

* not really iBeacon compatible. They say you can flash their beacons to make them compatible, but i haven't found out how since their support is not responding.

* not configurable (proximity id, major, minor)

[http://kontakt.io](http://kontakt.io)

* good price

* great support

* major, minor configurable. proximity id not

* form factor kinda bulky

* they seem to be able to deliver huge amount of beacons

[http://www.easibeacon.com](http://www.easibeacon.com)

* great price

* great support

* nice form factor (same as stickNFind)

* fully configurable (proximity id, major, minor)

* the company is relatively young

Can't say anything about the battery life yet, but the batteries were
replaceable in each case.

~~~
jchrisa
Here's another one that combines Arduino
[http://blog.onlycoin.com/posts/2013/10/3/coin-arduino-ble-
de...](http://blog.onlycoin.com/posts/2013/10/3/coin-arduino-ble-dev-kit)

------
NamTaf
This would be incredible to strap on to every middle-and-above management type
in my company so I could get things signed off when I actually needed to

------
smallegan
I'm interested in using this for home automation purposes. Accurate
information about what room of the house I am in allows for the home
automation interface to be greatly simplified by only showing options to
control nearby items.

~~~
TheFuture
Wouldn't it make more sense if the nearby items themselves were broadcasting
iBeacons? I think this is what Apple intends to do with the protocol.

~~~
smallegan
It would certainly be useful but currently a lot of things don't have
Bluetooth LE and are controlled via zigbee, z-wave, wifi, etc.. So knowing
what room you are in is very useful in itself because it can help identify
what target devices you may want to control.

------
bergie
We built something similar as open source with regular Bluetooth and WiFi
sensors a while back: [http://bergie.iki.fi/blog/smart-collaboration-
space/](http://bergie.iki.fi/blog/smart-collaboration-space/)

~~~
abava
check out this also
[http://wifichat.linkstore.ru](http://wifichat.linkstore.ru)

------
personZ
Cool project.

I've always wondered what iBeacon offers, in most practical implementations,
that latent wifi doesn't? If I wanted to do something similar on an Android
device, for the purposes of conversation, I would register for the
SCAN_RESULTS_AVAILABLE_ACTION event, and watch for the appearance or
disappearance of SSID of APs that are interesting, and of course there are
lots of utilities and tools that do exactly this (e.g. when I near home
control these settings, etc). Ping a web service with updates, etc.

SSIDs can of course be cloned, just as iBeacons can. Neither are truths that
they are what they say they are.

~~~
mikeash
Walled garden answer: Apple doesn't let you write an app that wakes up when a
SSID becomes visible, but you can write an iOS app that wakes up and does
something when an iBeacon becomes visible.

Technological answer: iBeacons allow more selectivity and precision. You can
be confident that a visible iBeacon is within 30ft or so, rather than 300+ft
for WiFi, and with a little calibration you can measure the distance
reasonably well. WiFi can tell you "the user is in [a section of] the
building", while iBeacons can tell you "the user is standing in front of
exhibit X".

~~~
personZ
>You can be confident that a visible iBeacon is within 30ft or so, rather than
300+ft for WiFi, and with a little calibration you can measure the distance
reasonably well.

Doesn't BLE have a range of some 150 feet+? That doesn't differ much from the
range of 802.11g. Both of them have amplitude that you can measure, from which
you could guess at distance (especially if you're near the same source
multiple times).

Of course a store isn't going to set up a bunch of APs to notify you when
you're near a display, but aside from channel overlap and ugliness technically
they could. And outside of the walled garden that you mentioned, it would be
just as suitable for the role it filled in this application.

~~~
kator
iBeacon includes the device transmitting a clabirated signal transmission
strength in each packet so the phone can do a calculation against the RSSI and
the power the device claims to transmit at. With this information you can be
much more accurate then working with a WiFi where the goal is to be loud and
get as much distance in as possible.

~~~
sleepybrett
Except that EVERYTHING interferes with a low powered btle signal. Hold your
phone with an unobstructed view of an ibeacon, then put almost anything
between you and it, your rssi will drop like a stone. Especially bad when it's
your body between the antenna and receiver.

'iBeacon' is great for very general and very localized location finding, but
you're going to have a very hard time triangulating your location very
precisely in say a department store.

~~~
janekm
You are quite correct, however Apple have very sensibly been very conservative
in what accuracy of distance estimation they provide to apps. The only
distance values provided are: CLProximityUnknown, CLProximityImmediate,
CLProximityNear, CLProximityFar. These correlate reasonably well with the type
of information that can be usefully derived from RSSI (i.e., you're next to
the cash register, you're in/next to the shop, you're close to the shop).

~~~
sleepybrett
Sure but those are also highly variable. I built a test installation in a
retail environment using about 15 beacons setting up four different types of
zones. One of which was an attempt to do a 'tap your phone here interaction'
(CLProximityImmediate trigger). The Beacon for that interaction was behind a
piece of foamcore.

Now I'm not a radio engineer, it may be that it was too many beacons for the
area or the general wireless soup was high but it could sometimes take 20-30
seconds to see that beacon as immediate with your phone sitting smack dab on
it. Sometimes 1sec. (iOS7.0 on both ipod touch 5thgen and iphone 5 devices) .
Perhaps the filtering they use just needs to be tweaked a bit.

------
zachdunn
Love this. We've been working on a version of this for the office at Robin
([http://getrobin.com](http://getrobin.com)). Biggest challenge so far has
been getting interop across Android and iOS. Beacons are reliable if you have
a binary "are they or aren't they here?" but a bit harder to map to smaller
rooms when certain Android devices register a signal difference of 4X
depending on physical orientation -- that was a fun one to figure out.

------
kator
I've done quite a bit of iBeacon stuff including emulating them with Raspberry
Pi's and writing an iOS app that measures the OS behavior against iBeacons.
It's pretty interesting stuff, there are a couple of my beacon's I'm using to
test iOS behaviors with that are buried in a New York city park near my place.

If you find one let me know.

I suppose I could write some of my findings up but I've been a bit busy...

~~~
jsilence
Hm, geocaching TNG anyone?

------
andreamazz
I really like that design. We developed a similar idea a couple of weeks ago,
when we received our Estimote beacons. Here you can find the blog post about
it with the sources, albeit it's a simpler and rougher implementation:
[http://andreamazz.github.io/blog/2014/07/01/fun-with-
ibeacon...](http://andreamazz.github.io/blog/2014/07/01/fun-with-ibeacon/)

------
josephpmay
Just like half of the other commenters, a team I was on built something
similar at PennApps (a college hackathon) back in Februrary. It was a really
fun project to work on.

([http://tracktimeapp.com](http://tracktimeapp.com))

~~~
josephpmay
The code:
[https://github.com/thestranger/pennapps](https://github.com/thestranger/pennapps)

------
abava
We built similar stuff with Core Bluetooth (so, any Android phone is Ok):
[http://bdp.linkstore.ru](http://bdp.linkstore.ru)

------
dav-
Panic always makes such beautiful and cool things.

------
cmollis
we built an iBeacon app for a party we threw last Christmas. It was pretty
cool, actually.. although Apple gave us a hassle accepting the app for
whatever reason. Here's a write up..
[http://objectlab.github.io](http://objectlab.github.io)

------
post_break
This is really awesome. I wish I had the skill to make something like this
work.

------
hayksaakian
So is there any plan for interop with non apple devices?

~~~
superuser2
Is there anything close to standardized enough for non-Apple devices to
implement this sort of functionality?

~~~
grrowl
Theoretically, there's no reason you couldn't write a similar app for Android
devices which support BLE[1] to reimplement this functionality, but Panic have
only ever written for Apple devices.

[1] [http://stackoverflow.com/questions/18906988/what-is-the-
ibea...](http://stackoverflow.com/questions/18906988/what-is-the-ibeacon-
bluetooth-profile)

