All about Beacons: Coffee with a Googler meets Peter Lewis


[MUSIC PLAYING] LAURENCE MORONEY: Welcome
to Coffee with a Googler. Today I’m going to be chatting
with Peter Lewis, who’s a product manager
here at Google, and he’s working with
beacons and showing us all the wonderful
things that can be done with beacons and
the types of applications that you can build. And if you’ve ever built any
applications with beacons, the one thing that I would love
to share with you and the one thing that we’re going
to be talking about is just how much innovation
is going on in that space and how much there
still is to learn. For me, I had been
building some applications and I didn’t realize
the power that was available from
the Google SDKs and the various APIs and
platforms that are out there. So we’re going to
learn all about that, and hopefully there’ll be
something useful for you with some instructions on
how you can get started. So we’re taking a little
break from Firebase and shooting Firecasts and Ask
Firebase and all these shows to have one of my
favorite people at Google, who works on one
of my favorite technologies, beacons. And Peter, welcome, and
thanks for coming all the way from the UK to chat with us. PETER LEWIS: Thank
you for having me. You’re one of my favorite
people at Google as well. LAURENCE MORONEY: Aw. PETER LEWIS: So it’s
great to be here and talking about the
technology that I work on. I’m a product manager in
Google’s location group. And one of the things
that we work on is the Google Beacon Platform. LAURENCE MORONEY: OK. PETER LEWIS: Which
includes Eddystone, which is a beacon format, and a
bunch of cloud and mobile APIs for interacting with beacons. LAURENCE MORONEY: So
just as a little bit of a reset for people who
aren’t familiar with them or have used them or played with
them, what exactly are beacons? PETER LEWIS: These things
are really simple devices. All that they do is repeatedly
broadcast an identifier. And that identifier
marks an important place or an important object in a way
that users’ devices understand. So they give phones a
good idea about what matters in their environment. LAURENCE MORONEY: OK. Here in Google, we’ve got these
beacons all over the place so we can have apps that say
we’re in a particular place. We’re in a conference
room or we’re in a microkitchen or
something along those lines. So what kind of
ways would beacons– are they used outside of
Google in the real world? PETER LEWIS: They’re a location
technology, and location matters in many apps. Almost every app
that you download cares about where the user is so
they can deliver a contextually relevant experience. And the Beacon Platform is about
taking that to the next level, about providing more reliable
place detection and also more precise place detection. So what that means
is that if you’re building a feature in your app
that takes account of the fact that a user is in
a particular place, that can become more precise,
and it can trigger more reliably as well. So beacons are a great way
of providing the signal that a user’s device
needs in order to be able to deliver
that kind of experience. LAURENCE MORONEY: So I’ve
done a little bit of beacon development myself,
and in my case it was kind of primitive,
where I was just turning on the Bluetooth stack
and sniffing for beacons. And if I detected
a particular one, then I could respond to it. But I know you’ve got
a platform that makes all of that so much easier. PETER LEWIS: We wanted to
take beacon development from something that only experts
could do and then make it into a platform that’s
really easy for developers to get started with, and really
to see something happening pretty much
immediately when they start developing with beacons. So the way that
we’ve done that is to make it so that
you no longer have to care about the
individual bytes that the radio in this
thing is broadcasting, and VLE frequencies or
whatever, and really to focus on what the
functionality that you as an app developer
want to enable is. So the way that we’ve
done that is we’ve made it so that the
identifier in the beacon just points to a cloud
resource that you can update via an API,
the Proximity Beacon API, or directly through
our web dashboard that we have on our dev site. LAURENCE MORONEY: OK. Always good to have a dashboard. PETER LEWIS: Yeah,
absolutely that. And the idea is that once you’ve
deployed the infrastructure, once you’ve marked all of the
places that you care about, you can associate lots
of different information with those places. And then you can
get that information back to your app using
the nearby API in Android or the CocoaPods that
we have for iOS as well. And the experience
for a developer shifts away from, I’m looking
for these particular bytes that I have to keep track, or
with this particular beacon, all that kind of thing,
and more towards, in my app I just create a
subscription that says, tell me when I’m on platform
9 at King’s Cross Station. LAURENCE MORONEY: OK, cool. And does it work when
you’re on platform 9 and 3/4 as well, just– PETER LEWIS: Absolutely. But we don’t talk about
that with muggles. LAURENCE MORONEY: Fair enough. So one of the
things that I found when I was building
apps for beacons was that it was very much like
a single beacon, single use. And I just didn’t have the
imagination to go beyond that. So I was writing a game
that said, OK, when you’re in this location
and when it detects that you’re in this
location, then it will unlock a part of the game. And then you do that
part of the game, and then it tells you to
go to another location. And then when you
run over there and it sniffs the beacon
at that location, then it unlocks the
next part of the game. And it was really fun and
it was kind of interesting, but it was like a single
beacon for single use. And I know you’re really looking
into more interesting scenarios than that. PETER LEWIS: In the
olden days, the way you developed with
beacons was to decide there was a particular
feature of your app that you were going to point
at with a particular beacon. And that approach
really wasn’t something that scaled nicely, either for
developers or for the platform. And I think developers
found very quickly that they had to start
building and managing large databases of
their beacons that were very difficult to share
with other developers or reuse or all of these things. So it was a bit of a pain. We, with the Google
beacon platform, have shifted away
from that model of one beacon for one
feature in one app and towards a model where you
deploy the infrastructure. You mark all of the
places that matter, and then you decide what you
want to do with them per app that you’re developing, really. So you can get lots of
different functionality from the same set of beacons. And that’s a power that
really comes from the fact that we treat beacons as cloud
objects within Google’s Beacon Registry. So this is part of
Google Cloud Platform. You register beacons
with the Cloud Platform, and once you’ve done that,
you can associate blobs of information with
beacons that are meaningful not only to your app but
to other developers’ apps, to different bits of
apps, and there are many different permutations. So we were one of the APIs is
to use Cloud Platform’s identity and access management console. This is a tool that allows you
to share resources in Cloud Platform with other developers. I have a platform
project and I might say, I want you to be able to
fire up App Engine instances. I can also say, I want you to
be able to use beacons that are in my beacon
network, for example, and build experiences in your
app based on my infrastructure. LAURENCE MORONEY: Got it. PETER LEWIS: And all
of these permutations are possible with
the Beacon Platform. LAURENCE MORONEY: Is there a
concrete scenario or an example scenario that we
can think of where if I’ve got an area with
lots of beacons in it, how I can use those
beacons in multiple ways? PETER LEWIS: Absolutely. So one of the things we’re
most excited about recently is that the city of Amsterdam
has been deploying beacons throughout the city
and then making them available to developers
throughout the world. So the way they do
that is they go and do the hard work of
sticking these things up to bus stops and buses and
trams and things like that. And they associate some
information with those beacons. So they might be this bus stop
ID or the routes of buses that stop there, that kind of thing. And they use a new feature
in Proximity Beacon API that allows them to make those blobs
of data publicly accessible to any developer. So what this means
is if you want to build an app that uses
Amsterdam’s beacon network, you just have to write
code in Android Studio or for iOS using the CocoaPod. And this means that
you can take advantage of their hard work
deploying beacons and actually enable new
contextual functionality in your app. LAURENCE MORONEY: Interesting. Where would I get started? PETER LEWIS: So the
easiest way to get started is with just a few
beacons on your desk, exactly like these beacons here. We’ve worked with many beacon
manufacturers to make sure that beacons are correctly
broadcasting Eddystone and have full support for the Eddystone
specification that you can order from our developer
site, g.co/beacons. LAURENCE MORONEY: g.co.beacons. PETER LEWIS: We
have on GitHub, we have a set of beacon
platform samples, so GitHub Google
beacon platform, and that has some
sample apps in it. In terms of SDKs, really
the most important thing is to make sure you’re using
the nearby API, which is part of Google Play Services. So this is an API that lets
you as a developer focus on, tell me about this
kind of information, and it takes care of the
beacon scanning for you, works out whether it has that
kind of information associated with the beacon, and
then just returns it to your app as a message. LAURENCE MORONEY: Oh, nice. As a difference that–
just how valuable that is when I was
writing my app. It was like there were
hundreds of beacons around me, and for a particular
one, I was getting the ID and I had to maintain a
database to query, oh, if you got this beacon,
then here’s the data, or here’s the things that you
want to do associated with it. So all that’s taken
out of my hands. PETER LEWIS: That’s
all taken away so that you can focus on the
feature that you want to build. LAURENCE MORONEY: Super cool. PETER LEWIS: Making
your app contextual is difficult enough as it is. LAURENCE MORONEY: Yes it is. PETER LEWIS: Making it so
you can focus on the feature is really important to us. LAURENCE MORONEY: Cool. PETER LEWIS: We also
have a code lab. LAURENCE MORONEY: Ah, OK. PETER LEWIS: Yeah. So there’s a Hello Beacons
code lab that you can do, codelabs developers google.com. And that will walk you through
creating a nearby subscription. So what this means is
that you can essentially write a piece of functionality
in your app that says, tell me about
beacon messages that have this namespace and type. LAURENCE MORONEY: And then
it will just go and find them for you. PETER LEWIS: Exactly. LAURENCE MORONEY: Cool. Well, thank you so much, Peter. So if you’ve been
juggling in how to get started with
beacons, well, we’ve got a great website for you. Just go to g.co/beacons. You can download everything. There’s samples. There’s documentation–
everything you need to get started
with building applications in this wonderful technology. Thank you so much. PETER LEWIS: I did it. [MUSIC PLAYING]

Leave a Reply

Your email address will not be published. Required fields are marked *