Hacker News new | ask | show | jobs
by ge0rg 3992 days ago
This is a really interesting idea. iBeacon is way too inflexible in what you can encode in it.

I really dislike the decision to make it part of the Play API (as opposed to standard Android), as it ends up not being really open after all.

I wish they would also document their packet format. At least they write that they support parallel operation as Eddystone + iBeacon [1], which means that they probably use the BLE "advertisement" frame for the iBeacon and the BLE "scan response" for the Eddystone data. With both frames limited to 29 bytes, there is not much space to toy around.

[0] http://developer.radiusnetworks.com/2015/07/14/introducing-e...

[1] http://altbeacon.github.io/android-beacon-library/eddystone-...

4 comments

Binding things to the Play API has been an unfortunate compromise for Android; their product partners have not been forthcoming on continued device support, so google has had to bundle more and more as an updatable package rather than as part of the core OS. It's a shame that it's been this way, but in the prisoners dilemma of older device support, LG/Samsung/Etc have chosen to rat many, many times, and Google had to do something.
It would be nice if the bits of Play Services that could be open sourced were open sourced.
Bits like this can be and are open sourced; they're just not as usable open sourced, because obviously they're yet another library to grab and install. All the code you need to interface with it seems to exist on github, though not in nearly as pretty a package.
They could all be open sourced. Google chooses not to open source them in order to control the platform and develop leverage over their partners.
As others noted, the packet format is documented. But this:

> I really dislike the decision to make it part of the Play API (as opposed to standard Android), as it ends up not being really open after all.

doesn't really make sense. How do you open source storing data associated with a beacon in the cloud?

The beacon is dumb so it's the client program that associates the broadcast with some action. The only way to open source that is to document the format of the beacon broadcast and release tools to let anyone receive them and parse them, after which any action can be taken. Which is exactly what was open sourced.

The Play Services support seems to just be that you don't have to do it yourself if you don't want to on Androidâ„¢ devices, because play services already has support. If they really want this to take off in iOS apps, though, the only real way they can help developers out is by releasing source directly, I believe (the git repo includes an example iOS app[1] but I haven't looked at it yet)

[1] https://github.com/google/eddystone/tree/master/tools/ios-ed...

isn't the link on their github to the packet format?

https://github.com/google/eddystone/blob/master/protocol-spe...

I love this release Google needed to take a direction there are so many use cases for this sort of micro proximity I cannot wait to see what folks can do without freaking people out over privacy..