[MUSIC PLAYING]
LAURENCE MORONEY: Welcome to "Coffee with a Googler,"
all the way from rainy Sydney, Australia.
But it's great to be here, because I'm
meeting with Fontaine Foxworth.
And Fontaine, you may know, is famous for her time
with Firebase Analytics and all the great content
she put together for that.
But now you're here in Australia working on something else.
Tell us all about it, Fontaine.
FONTAINE FOXWORTH: Yes, so I not only moved complete hemisphere,
so moving from California down here to Sydney,
but also totally changed the product that I was working on.
I'm now in the Maps and Geo org, and specifically
focusing on the Places API.
So mapping technology is totally new to me,
which has been really fun to understand
how we actually build and create our world digitally.
And then specifically working on API development
is also new to me.
I've certainly consumed a lot of APIs
while building mobile apps, but building APIs
has been really interesting and really fun.
So I'm working on Places API.
LAURENCE MORONEY: So having been building
apps that are all about consuming APIs, now you really
know how to build one for people to consume.
FONTAINE FOXWORTH: Yeah, yeah, I definitely feel
like I've sat on the other side of the table quite
a bit while consuming APIs.
So I've got a lot of strong opinions
about what types of things we should be offering.
LAURENCE MORONEY: Well, Places API is already in great shape,
so I'm looking forward to seeing how it evolves.
FONTAINE FOXWORTH: Good, good.
LAURENCE MORONEY: So tell me.
Places API, I'm familiar with it,
but for the viewers who aren't, tell us what is it all about.
FONTAINE FOXWORTH: Yeah, so first of all,
I'll start with the word place.
Google has this notion of places,
which is basically how we semantically
understand the world around us.
So for example, if you're talking
about going to the Google Headquarters,
instead of typing in 1600 Amphitheater
Parkway in California, you can just
type in Google into Google Maps, and it will understand
what you actually mean.
So as humans, we actually understand the world,
not just in addresses, or latitudes and longitudes,
but actually categorizations, like cafe, or gym,
or trying to put these human qualifiers
on top of places in the world.
And so then if you look at the word API,
that's really how we are distributing those places
to all of our developers around the world
so that they can be using and consuming all that place
data in their apps.
For an example, if you look at a local rides app or a taxi
sharing app, that type of thing, instead
of them having to keep track of all
of the different places in the world,
they can just use our API, so that when their user ends up
typing in Sydney Opera House I want to go there,
their driver actually knows where to take them.
LAURENCE MORONEY: Also, something like Sydney Opera
House, like a navigation system requires that, most likely
to be as a latitude and longitude,
and then you can decode the place into the lat/long.
FONTAINE FOXWORTH: Yeah, so a place
is so much more than maybe just what a user could input.
But it actually filters into all these different use
cases that our developers could have, like navigating.
LAURENCE MORONEY: You know, I didn't actually
know Google's address until you just told me.
FONTAINE FOXWORTH: Really?
I feel like everybody knows that.
LAURENCE MORONEY: It's 1600--
FONTAINE FOXWORTH: Amphitheater Parkway.
LAURENCE MORONEY: Amphitheater Parkway, OK.
FONTAINE FOXWORTH: Yeah, I feel like-- yeah.
There's a couple addresses that if you say them,
some people know.
That's, I feel, like one of them.
LAURENCE MORONEY: But that's the classic use of a Places API.
FONTAINE FOXWORTH: Yeah.
LAURENCE MORONEY: So that sometimes you
think in terms of my house, you don't
think in terms of address.
FONTAINE FOXWORTH: Exactly.
Home or work, for example, I just
want to type in my sister's name whenever
I'm navigating in Google Maps, instead of actually
typing in her address, because that's how I think of it.
LAURENCE MORONEY: Is she here in Australia,
or do you have to drive across the ocean?
FONTAINE FOXWORTH: She's not, just when
I'm back in California.
LAURENCE MORONEY: OK.
I'd like to see how it would navigate you over there.
FONTAINE FOXWORTH: Yeah, maybe like swim across the Pacific
Ocean, something like that.
LAURENCE MORONEY: Now I hear you're
a swimmer, that since you've come to Australia,
you've done some diving.
FONTAINE FOXWORTH: I have.
I've done some scuba diving.
I went up to the Great Barrier Reef a couple weekends ago
and did a live aboard there.
Did a whole bunch of diving.
It was super fun, incredible sea life.
LAURENCE MORONEY: So how has the relocation to Australia been?
FONTAINE FOXWORTH: It's been really fun.
There's been a little rain recently,
which is actually kind of like California of late.
And yeah, so it's a very lively city.
It's nice that people speak English
so I can slip in pretty easily--
LAURENCE MORONEY: Nice, nice.
FONTAINE FOXWORTH: --but a very friendly office
and great to-- you know, we're building
products about the world.
So it's really nice to be able to see all different parts
of the world, so you start to understand
different cultural nuances as to how people actually address
and approach Maps.
LAURENCE MORONEY: Oh, cool.
How have you adjusted to being upside down?
FONTAINE FOXWORTH: Yes, it's pretty weird.
I get headaches a lot from being upside down all the time.
But I'm getting used to it.
LAURENCE MORONEY: So back on Places API.
So you were talking about an example,
if somebody was building a ride sharing app,
and you wanted to be picked up at a specific place
like the Sydney Opera House.
FONTAINE FOXWORTH: Yeah.
LAURENCE MORONEY: That's a great example
of how the places and the database of places
is available to developers.
But how would somebody get started with doing that?
FONTAINE FOXWORTH: So we've got pretty robust documentation
on our developers site, where you can actually first start
to understand what are some of the use cases,
how do you actually use it, and then
what are some of the services and the different products
that are available.
Are you looking for mapping software?
Are you looking for place stuff specifically?
What types of metadata about a place are you interested in?
So a lot of that is available, including
code snippets and examples, all on our developers site.
And then we've actually got some good content at I/O,
so you can look at some of the stuff that
shows up at I/O this year.
LAURENCE MORONEY: Cool, and we'll
have links to the videos in the description
below for anybody who wants to see them.
I'm looking forward to the sessions.
FONTAINE FOXWORTH: Yeah, me too.
LAURENCE MORONEY: Now in order to be able to do this,
like to have this great big database of places,
there must be some way of identifying individual places
on the planet.
FONTAINE FOXWORTH: Yes.
LAURENCE MORONEY: How do you go about doing that?
FONTAINE FOXWORTH: Exactly.
So we've got something called a place ID, which is basically
just an identifier for a place on the planet,
for a location on the planet.
And if you think about it, the word place, I think,
is really interesting, because it
can mean a lot of different things to different people.
So for some people, if you're sharing a location,
you really just want to share a latitude and a longitude.
But somebody else who's maybe doing a real estate website,
they might want an address.
And then a photo tagging app wants more of a semantic place,
like a university that's nearby.
Or a weather app might just want a city.
And so you can continue to think about more developers
might want more and more robust or sophisticated data.
So the great thing about the Places API
is it's really flexible in terms of the types of data
that we can actually provide to you.
So whether you just need a latitude and a longitude,
or an address, all the way to really rich, robust information
about all the details of a place,
we continue to serve the developers
and all their different needs.
LAURENCE MORONEY: That one identifier, the place ID,
can effectively be like a primary key--
FONTAINE FOXWORTH: Exactly, that's
a great characterization.
LAURENCE MORONEY: --to all of these different data sets.
Cool.
So if I want to build something that
spans latitude and longitude, or addresses, or places,
and those kind of things, that if I'm
working in terms of that identifier,
that's giving me the key to everything.
FONTAINE FOXWORTH: That's exactly right.
And the nice thing about that is, of course
our world is growing and changing every day.
So if you consider, like, a cafe over there that might be there.
Maybe in a couple of years it might not be a cafe anymore.
It might be a gym or a laundromat.
Well, the great thing about having Google maintain
the responsibility for the freshness of the data,
the developer just really needs to remember and store
the place IDs, and then rely on us in the API
to actually be returning the most up to date information.
LAURENCE MORONEY: Right, so the address will stay the same,
and the latitude and longitude will stay the same.
But what's there.
It's no longer a cafe.
It's a laundromat.
FONTAINE FOXWORTH: Exactly.
We are responsible for keeping that up to date.
LAURENCE MORONEY: Which is a really valuable service
if you're building something that needs to find laundromats,
for example.
FONTAINE FOXWORTH: Exactly.
LAURENCE MORONEY: Right.
Or if it's no longer a cafe, you don't want to direct people
there who are looking for coffee.
FONTAINE FOXWORTH: Exactly.
And it helps us really think in terms of longer horizons.
So thinking about if your app is going to be around
for many years, you want to make sure you're serving the most up
to date data.
And relying on Google is a good way to do that.
LAURENCE MORONEY: Now one of the things
was, that you were talking about then,
being able to pick a place.
you had the scenario of picking the Sydney Opera House.
But what about detecting if you're at a place?
How do the APIs work for that?
FONTAINE FOXWORTH: So It really depends
on what your use case is.
So you can totally ask a user, here are some nearby places,
which one are you actually at?
But then in other use cases, you might
want to actually detect where they are
if you have enough information.
For example, if you have a ride sharing app,
and you know where they are, and their latitude and longitude,
you can interpret where they are.
Now there is a method called to get current place currently
in our SDKs, which takes into effect a lot of Google smarts.
So what I mean by this is we're not just
interpreting the latitude and longitude
and turning that into an address necessarily,
but we might actually try to factor
in a lot of other variables, like opening hours,
for example.
So an example I like to use is if there's this two story
building, and on the bottom floor there's a restaurant,
and on the top floor there's a gym,
they might have very different popular times.
So if I see a user who is in a place at maybe 7:00 or 8:00
AM In the morning, and I know that people
tend to be at the gym at 7:00 or 8:00 in the morning,
and the restaurant isn't even open,
I'm going to tell our developer that that user is
at that place.
Whereas if it's in the evening, maybe around 7:00 PM at night,
I can infer that the user is probably
at that cafe or that restaurant.
So we're able to bake in a lot of our smarts
and remove some of the heavy lifting from our developers.
LAURENCE MORONEY: Right, and because it's
multiple floors in the same building,
the latitude and longitude is going to be the same.
FONTAINE FOXWORTH: Exactly.
LAURENCE MORONEY: So we just use that.
There's no intelligence.
FONTAINE FOXWORTH: Right.
LAURENCE MORONEY: The address is going to be the same,
but by integrating with the metadata from the Places API,
like popular times, and opening hours, and that kind of thing,
you can get a lot smarter about the [INAUDIBLE].
FONTAINE FOXWORTH: Exactly.
LAURENCE MORONEY: That's really cool.
So if I'm a developer, and I want to start building,
and I want to start using this kind of stuff,
what advice would you give to me?
FONTAINE FOXWORTH: I think it's important to first start
to articulate what it is you're trying to do.
So certainly there's lots of cool stuff
available in our API, but think about what problem
you're trying to solve and clearly articulate that.
And then go and match that with what we have in our services.
So if you really just care about addresses,
and you don't care as much about the different semantic places,
then maybe you just start with some
of the basics like Geocoding.
Alternatively, if you need really rich,
detailed information, then you might find some of our services
like the Places Details Service would meet your needs.
So definitely articulate clearly what
it is you're looking to do, and then explore
some of our services and how they meet those needs.
LAURENCE MORONEY: Sounds good.
So I think I'm going to get started right away.
FONTAINE FOXWORTH: Cool, there's a lot there.
LAURENCE MORONEY: I've already built a Places based game,
but there's just so much that can be done with Google,
and I'm looking forward to it.
FONTAINE FOXWORTH: I look forward to playing with it.
LAURENCE MORONEY: OK, so thank you so much, Fontaine.
FONTAINE FOXWORTH: Yeah, thank you.
LAURENCE MORONEY: It's been really, really fun.
FONTAINE FOXWORTH: Thanks for making it down here
for this lovely coffee in the rain.
LAURENCE MORONEY: Yeah, I get to come to Australia.
FONTAINE FOXWORTH: Not too bad.
LAURENCE MORONEY: I'm not complaining.
And my coffee hasn't spilled out,
despite the cup being upside down.
So thanks, everybody.
And thanks again to Fontaine for being a guest on the show.
If you've got any questions for Fontaine
or any questions for me, just please leave them
in the comments below.
And don't forget to hit that Subscribe button.