DYLAN THOMAS: Hello and welcome to "What in the
World," a show where GeoGoogler's help you get the
most of your Enterprise Maps products,
with tips and advice.
My name is Dylan Thomas.
I'm a community manager on the Maps team.
And joining me today is Dave McClusky.
Dave is a solutions engineer, helping Enterprise customers
architect and validate their solutions.
Hi Dave.
DAVE MCCLUSKY: Hi Dylan.
DYLAN THOMAS: And so Dave, today, is going to be talking
specifically about the Places API, which is a set of APIs
that are part of the Enterprise Maps solution set
product suite.
So Dave, take it away.
Let's see what we've got today.
DAVE MCCLUSKY: Sure, thanks.
So yeah, Dylan mentioned today I'm going to talk to you about
the Places API, which is a very powerful API, that allows
you to integrate Google's database of over 100 million
points of interest, into your web or mobile application.
If you're not familiar with the Places API, it provides a
search capability to look for local points of interest, like
restaurants, or any sorts of landmarks, bring them into
your application.
You can do a variety of searches based off keywords,
or text queries.
And you can bring in some detailed information about
these points of interest-- like reviews, opening hours,
costs, business photos, and including Zagat reviews.
So since we acquired Zagat back in 2011, we've been
working to incorporate those premium editorial reviews,
into the Places API service.
And allow you to leverage those reviews in the
application.
Another really cool feature about the Places API is the
Autocomplete service.
So this provides that type ahead, address autocomplete
functionality that a lot of users have come to expect from
a Google Maps service.
Being able to type in an address and select from a drop
down list suggested addresses.
So I'll give you a quick demo, just to show you here what I'm
talking about.
OK, so this demonstration uses the Places API to bring in
some local content into a web application.
So what you see here at the top is the use of the Google
Maps API to show a Google Map as well a street view image
here on the right.
At the top the Google Map, there's a search box.
And this is using the Autocomplete API.
So you can use this Autocomplete API not only to
autocomplete an address query, but also categories, or
restaurant names.
So in this example, I'm searching for restaurants.
And I brought those results of the restaurant search here
onto my map.
I'm displaying it as markers on the map, and if you look
below, I'm also displaying the text-based results.
So all this information that you're seeing here is coming
straight out of the Places API.
On the left, I'm showing the Zagat score.
And in the center here, I'm showing the
Zagat editorial review.
And on the right, I'm showing the business photo, that's
coming from the Places API service.
There's a lot more information that's available in the Places
API that I'm not showing.
You can bring in price, for example.
Is this an expensive restaurant, an inexpensive
restaurant?
You can bring in information like operating hours.
Are they open now, or not?
You can also bring in Google+ reviews, as well.
So in addition to the Zagat reviews, there are those
Google+ reviews, as well, that you can incorporate.
DYLAN THOMAS: So this is obviously pretty good for
entertainment and hospitality industry.
It looks like you sort of focus this on restaurants in
your Autocomplete, as well.
Is that something--
I think that's something you can control, right?
Whether you're going to focus the Autocomplete results on
addresses, or a certain kind of place.
DAVE MCCLUSKY: Yeah, and it turns out, in our Places API
database, like I mentioned, there are
over 100 million places.
We have something like 60 different categories you can
choose from.
So I'm showing restaurants, but you can search airports,
banks, ATMs.
There's tons of different categories.
Hospitals, it goes on and on, really.
So it's quite a bit of information.
And it is great, as you mentioned-- hospitality sites,
travel sites, hotel sites, any sort of site that wants to
enable location-aware content.
This is very, very valuable, especially for mobile
applications, as well.
DYLAN THOMAS: OK, and then one other thing I wanted to ask
there is, can you make it sort of really obvious.
Which parts of what you're showing here are actually the
Maps API, the JavaScript library there, and which parts
are the Places API is adding to the mix?
DAVE MCCLUSKY: Sure, so here at the top, I'm showing a
Google Map.
Here on the left, and a street view image on the right,
that's all coming from the Google Maps JavaScript API.
And it's pretty cool being able to tie these
two services together.
But all this location information that I'm showing,
this point of interest information about the
restaurants, these addresses of the restaurants, that's all
coming from the Places service.
In this case, I'm using the Places API web service.
There is a JavaScript version and a web service version.
And I'll get into that in a little bit more detail about
when you want to use which.
DYLAN THOMAS: Got it, thanks.
DAVE MCCLUSKY: So as I just mentioned, there is a
JavaScript version, as well as a web service version of the
Places API.
I say typically, you want to use the JavaScript
version, if you can.
It's very easy to use.
It's well integrated with the Google Maps API.
When you want to use the web service version, is typically
when you need to call it from a server.
When you don't have a client application, for example.
If you need to make a lot bulk or batch requests, the web
services are preferred.
One thing to note, however, is those Zagat reviews are only
currently available in the web service.
So if you want to incorporate those premium editorial
reviews, you do need to be using the web service to get
that information.
DYLAN THOMAS: And I think what you're showing here, also, is
one of the big topics that comes up with our customers,
as they move from the free version of the API, with its
capabilities, to the Enterprise, or the business
version of the API, is real quota consideration, and what
changes there.
DAVE MCCLUSKY: Right, so when you're using the free version
of the API, you start off with 1,000 free queries a day.
If you verify your identity and put in a credit card, that
gets upped to 100,000 queries a day.
But you don't get the Zagat reviews, that's only in the
Enterprise license.
And you don't get support or service level agreement.
Your need your Enterprise license for that.
And of course with Enterprise license, that can be sized for
whatever amount of quota that you need, the number of
queries that you need per day, we can size you for that.
DYLAN THOMAS: Got it, so it's sort of
the queries per second.
Then it's also the maximum, the total daily quota, are the
two things that you're looking at when you're validating this
enterprise solution, versus a free version, right?
DAVE MCCLUSKY: Exactly, and I can explain a little bit more
about how we count quota for the Places.
DYLAN THOMAS: Oh perfect, great.
DAVE MCCLUSKY: So essentially every sort of request to
Places API counts as a query, as a request, against that
100,000 per day quota limit that you have, or whatever
you've negotiate as part of your business license.
There are a few exceptions.
So for example, if you're doing a normal search, that
counts as a request.
But we also have something called a radar search, and a
text search.
These are a little bit different types of searches
you can do.
A radar search brings in a lot more results.
And a text search allows you to perform more of a Google
natural language type of query.
Like pizza in New York, a string type of query.
And those count as five or 10 queries each.
So It's a little bit more than a standard search.
The other sorts of operations count as one query each, so
such as, bringing in a Zagat review.
That's an extra request.
Or bringing in a business photo, for example.
That's an extra request.
So you need to start looking at your implementation to
really assess how many queries you're going to be using.
So it does vary heavily by your implentation.
And you can design your applications to use a lot or
to use a little.
The Autocomplete API is something else we get asked a
lot about, as well.
And that also counts as a query, every time you call
that Autocomplete API service.
DYLAN THOMAS: Got it, and I've noticed that you've got some
things in red.
These are clearly differences between the web service and
the JavaScript API.
So that's if you're doing some sort of crowd action.
If you're working with Places to add and remove them, which
is a capability of the API, it looks like that is something
you only want to be doing, or can do
through the web service.
DAVE MCCLUSKY: Yeah, that's true.
So for the most part, the functionality is duplicated
across both services.
There are a few differences.
So some of the actions, these are called actions, to add a
place, delete a place, those are only available through the
web service version.
As well as the Zagat reviews, those are only available
through the web service version.
DYLAN THOMAS: One other thing I was just thinking of here,
is that we showed an example using the Maps API, and the
Street View API, but you can also use the Places
Autocomplete, independent of a map entirely, right?
You can just use that to get really good address input to
your application.
DAVE MCCLUSKY: That's right.
So you can use the whole Places API
without a Google Map.
We don't require that you show the results on a Google Map.
DYLAN THOMAS: Got it.
I think we have some--
maybe some idea about what you could do with that.
Which other kind of map you might want to put that on
downstream.
But yeah, you don't have to have a map while you're
finding the address, I think.
DAVE MCCLUSKY: So you can't Places data on a non-Google
Map, but it doesn't have to be on a map.
DYLAN THOMAS: Because that would just not be cool.
[LAUGHTER]
DAVE MCCLUSKY: So maybe I can walk you through an example.
Because that quota does get a little complicated sometimes.
I can show you that example of the demo I just showed.
And show you how many counts, or queries against that quota
that would take up.
DYLAN THOMAS: Excellent.
DAVE MCCLUSKY: So in the example that I
showed, typing in--
so taking a look at the screen shot here--
I'm starting to type in a query, so for the word
restaurant.
Say I type in the first four letters--
R-E-S-T. And if I call the Autocomplete API each time,
that would be four queries right there.
When I perform a text search, that could be 10 queries.
And then say if I show six results, and for each one of
those results, I show a Zagat review.
And for each one of those results, I show a business
photo, that would be six more requests each.
So just showing this page for the screenshot here that that
I'm showing, would be about 26 requests to the Places API.
DYLAN THOMAS: Oh, this is really helpful.
So presumably this is the kind of thing that you talk with
customers about, when they're going through an
implementation, is to just take a really close look at
how they are using it.
And what the impact is on their quota, and also their
performance on the page.
DAVE MCCLUSKY: That's right.
How you design this application is going to affect
how many requests you're making.
For example, if you wanted to have the user click before you
show a Zagat review, you could optimize the number of queries
you make by waiting for that user action before you make
the request.
As opposed to showing them all automatically, like I am here.
DYLAN THOMAS: Oh, that's a good watch point, actually.
I didn't think of that one.
That's a really good tip.
That's why we're talking to you.
So let me just ask you one other question then.
It seems like some of the Enterprise angle of this is
quite heavily geared towards the management of quota and
keeping a watch on things.
Do you have any suggestions about how people can plan for
the initial launch of their site, or track for things that
you've seen, like the quota being blown out, due to a very
successful website launch, for example?
What are the kinds of things you tell customers they should
do, to get ready for that kind of thing?
DAVE MCCLUSKY: Sure, so I mean the most important thing you
can do is upfront planning.
Understanding how we count quota, and planning your
application accordingly, to make
efficient use of your quota.
The next thing is we offer a variety of usage reports.
So within the API console, you can track your usage against
these services to see how much usage you're getting.
And track that over time.
And then as you're approaching, running out of
quota, we do send emails alerting you at various
points, that you're reaching the end of the quota.
DYLAN THOMAS: Got it, so you can sort of do the proactive
thing yourself.
But then if you start getting emails from Google letting you
know you're getting close, then you probably want to take
a close look at that, and potentially get in touch with
Google, right?
DAVE MCCLUSKY: Right, and definitely monitoring those
usage reports over time to make sure there are no
surprises is really key.
DYLAN THOMAS: Cool, great, good tips.
Thanks very much.
So Dave, I think we're pretty much at time now.
I want to thank you for your insights and going over the
products, really helpful.
DAVE MCCLUSKY: Thanks, Dylan.
DYLAN THOMAS: And we'll see you next time on
"What in the World."