LAURENCE MORONEY: Welcome to the Googleplex.
Before I worked here, I always wondered
what it'd be like to come to the Googleplex,
meet up with a Googler, and have coffee with them
and just chat about what they do, how they do it,
and why they do it.
Today, we're going to be talking with Francis Ma, who's
a product manager on the Android team.
And he's going to tell us all about how you can build better
apps using Google Play services.
Francis, welcome.
It's good to have you here.
FRANCIS MA: Thanks, Laurence.
Nice to be here.
LAURENCE MORONEY: So one of the things
that, when we started prepping for this episode
and we started saying, hey, we're going to Francis Ma on,
every time I talked to a Googler they were all like,
oh, you're going to have Francis on!
I worked with him on this and I worked with him
on that-- it seems like you've been around the block.
Tell us about yourself and what you do.
FRANCIS MA: So I've been working at Google for a couple years
now.
And I've been fortunate enough to work on different products.
Most recently, before joining Android,
I was on the Google+ team working on our social efforts.
LAURENCE MORONEY: Cool.
So it sounds like a lot of fun.
FRANCIS MA: Yeah, absolutely.
It's just great.
LAURENCE MORONEY: Today, now, you're
working on Google Play services as part of your task.
Now what is this Google Play services?
What does it do?
What's so cool about it?
FRANCIS MA: Google Play services is a unified SDK
that we offer to Android developers as a way for them
to integrate with Google services and Google APIs.
LAURENCE MORONEY: So you say it's a unified way that they
can access these services and APIs.
How is it unified?
FRANCIS MA: So the idea is that, as a developer,
you can get one SDK, which is the Google Play services SDK,
and through that, you'll have access to the various Google
platform APIs that we offer from things like ads, analytics,
Google Wallet, et cetera.
LAURENCE MORONEY: So the design pattern
that I follow when I'm coding-- something
for Maps and for Wallets and for Ads--
it's going to be the same because of this?
FRANCIS MA: Absolutely, and that's
one of the ideas behind Google Play services
when we started, was we wanted to offer
a consistent experience for Android developers
to be able to integrate with various features
and functionalities that Google offers.
So for example, if you integrated with Google Maps
and then later on you choose to integrate with Google
Analytics, the same paradigm and the model of it
is very consistent so that the learning curve,
you don't have to relearn something entirely different.
And it's very convenient for you to add more into your app.
LAURENCE MORONEY: That's really cool.
So if I learn the methodology to build Maps into my application,
that methodology's going to transfer over
to-- I don't know if I use location
or-- that's really, really cool.
I like it.
But you used a couple of words there that kind
of sprung up in my mind, like developer experience.
And developer experience I know is
something that's very important in Google.
And it's something that you're particularly passionate about.
Can you tell us a little bit about it
and what you're doing in that space?
FRANCIS MA: When we look at building an API,
we really look at it as a product.
And an analogy of that, if you were using a consumer app,
we would look at the visual design of it,
the user experience of it.
What is it like to pick up the app, install the app?
What's the [? onboard ?] [? inflow, ?] et cetera?
Now you look at, for developers, it's
not just about the API design, but about the life cycle
of how developers discover that API.
How do they learn about it?
How do you integrate it?
And how are you able to build a successful app on top of it?
And so when we talk about developer experience,
we really want to think about end
to end such that we can offer a delightful experience
for developers, to make it easy for you to plug it in.
And earlier we touched on the consistency as one example.
So the experience of learning one API
makes it much more familiar or easy for developers
to pick up the next.
LAURENCE MORONEY: So the Android platform is very diverse.
There's a lot of different versions.
And there's a lot of things that developers
will need to learn to be the best possible developer.
Is there anything that we're doing in Google Play services
to make that easier for them?
FRANCIS MA: Yeah.
So Google Play services, it's a little bit
different in that it works across all major versions
of Android dating back to version 2.3, the Gingerbread
release, and up.
So as a developer, once you integrate with the Google Play
services' APIs, we assure that it
works across all of these devices,
helping you reach the 1 billion active Android
devices as a developer.
LAURENCE MORONEY: 1 billion.
FRANCIS MA: Yes.
LAURENCE MORONEY: And so just to reinforce that,
just make sure I understand you right,
if I build my application using Google services
and using Google Play services, then
it's going to work on Gingerbread.
It's going to work on Kit Kat.
It's going to work on Honeycomb, Lollipop, all of those things
without me needing to change anything.
FRANCIS MA: Absolutely.
And another aspect of Google Play services
is that we also provide automatic updates.
So as an example, if you integrated with,
let's say the location API that we offer,
and over time if we come up with a more optimal way of,
let's say, detecting location to be able to offer more precision
and in a more power-efficient manner,
you would get that for free for your app.
So as a developer, you integrate it once,
you don't have to worry about it.
And you also are able to get the update benefits as well.
LAURENCE MORONEY: One question I have to ask.
Like Android-- we've been talking about funny names
like Kit Kat and FroYo and Lollipop
and-- does Google Play services have strange names like that?
FRANCIS MA: We go by cheeses.
LAURENCE MORONEY: Cheeses?
FRANCIS MA: Yeah.
Alphabetically-ordered cheeses.
LAURENCE MORONEY: Alphabetically-ordered cheeses.
FRANCIS MA: Yes.
LAURENCE MORONEY: That must be hard to find names.
So what cheese are we on right now?
FRANCIS MA: We are on the N release.
LAURENCE MORONEY: N. N. I can't think
of a cheese that begins with an N.
FRANCIS MA: Yeah, well, we cheated a bit there.
We have the Nacho Cheese.
So not quite a cheese, but we call it the Nacho release.
LAURENCE MORONEY: Very good.
So after N then is going to come O.
FRANCIS MA: It's going to become O. Yeah.
LAURENCE MORONEY: Can you tell us
what cheese is going to be the star of the next version?
FRANCIS MA: We are calling the next one Orla.
LAURENCE MORONEY: Orla.
I've never heard of Orla cheese.
I'm going to have to go down to my cheesemonger and buy some.
Then whenever you shift, do you have
a party for when the new version of the bits have been cut?
FRANCIS MA: Yeah, the cheese-cutting party.
LAURENCE MORONEY: A party where you cut the cheese?
FRANCIS MA: We do buy the cheese.
And we gather and we'll share it as a mini-celebration, yes.
LAURENCE MORONEY: Cool.
I'll have to look forward to what Orla looks like.
FRANCIS MA: Yep.
LAURENCE MORONEY: So getting back to developers
now-- away from cheeses for a moment--
we are very much living in a mobile first world now,
and developers of course have to live
in that world ahead of everybody else.
And they have unique challenges in the mobile first world.
It's very different from web development or desktop or even
cloud development.
What kind of challenges do you see developers facing?
And what are we doing to make their lives easier?
FRANCIS MA: Yeah, absolutely, I think building on mobile
is a very different challenge than building on the web.
As an example, if you think about it,
the code that you deliver to end users
is running on a computer--
LAURENCE MORONEY: A really small one.
FRANCIS MA: --that you don't control, right?
The user might be driving in some location
where the network connectivity might be sparse.
The battery is a concern because a user has that with them
on the go all day.
And so as a developer, you really have to think about some
of these nuances from a user's perspective,
and how do you make that optimal.
How do you make it so that it's fast
and make it work well on the diversity of devices
that are out there?
And so with Google Play services,
what will help you is we think a lot
about optimizing for mobile things
like offline connectivity and so forth.
And so as a developer, these are things
that you can worry less about and focus more about how
you can differentiate your app and really build
things and focus on making your app great.
And let Google help you solve some
of the fundamental problems of building on mobile.
LAURENCE MORONEY: Cool.
So with building for fundamentally a device that
sits in your pocket most of the time, and it's a tiny device,
there are complex scenarios.
And with Google Play services, you're
taking the complexity out of those scenarios
and helping developers to build better apps, as it were.
FRANCIS MA: Absolutely.
LAURENCE MORONEY: What advice would you
have for developers to get started
as the best possible mobile developers today?
FRANCIS MA: Use Google Play services.
LAURENCE MORONEY: Well, of course.
Any quick advantages that they could reap right away?
FRANCIS MA: Absolutely.
As I touched on before, we offer many Google services
through the same SDK.
So as an example, integrating Google Analytics
is a really good way for you to get insight
into what users are doing so that you can get that feedback
and optimize your app to build a better app.
Or another example is using the fused location provider,
which we help you figure out the best way to get the user's
location if you're building a location-aware app.
And so you don't have to worry about, do you use the GPS,
do you use Wi-Fi signals, and all kinds of different things.
We just have the simple location API for you,
and you can just integrate that and focus
on things that differentiate your app.
LAURENCE MORONEY: And then that optimizes your battery, right,
so you're not overusing it, that type of thing.
FRANCIS MA: Absolutely.
LAURENCE MORONEY: Cool.
Well, Francis, thanks for being here.
It's been great talking with you.
I've learned a lot.
I hope the viewers have learned a lot, too.
FRANCIS MA: My pleasure.
It's been fun.
LAURENCE MORONEY: All right.
So, everybody, this has been another episode of "Coffee
with a Googler."
Thanks for watching this far.
If there are other Googlers that you'd
like to have a conversation with on this show,
please just let us know.
Drop us a line.
And you can watch all the other episodes
of this show on the Google Developers channel on YouTube.
Thank you.
[MUSIC PLAYING]