LAURENCE MORONEY: Welcome to the Googleplex.
Today, I'm going to be chatting with Fred Chung, whose job here
at Google is really making your life easier.
He's one that helps strategize how we speak with developers,
so that we can build better products
and you can build better apps.
I've been looking forward to this day for quite awhile,
actually.
FRED CHUNG: Likewise.
LAURENCE MORONEY: Because it's always
good to speak with good developer advocates.
FRED CHUNG: And thanks for the coffee.
LAURENCE MORONEY: Oh, you're very welcome.
It's good coffee, too.
And it's real.
[LAUGHTER]
So tell us about yourself, and what brought you to Google,
and what you've been doing.
And how'd you get to what you do today?
FRED CHUNG: Yeah, absolutely.
A bit of background information about myself.
Before Google, I used to be a software
engineer in the enterprise integration space.
LAURENCE MORONEY: So you really wrote code.
That's not marketing.
FRED CHUNG: I wrote code.
[INAUDIBLE] works.
And when I joined Google, I was a sales engineer
working with AdWords API clients,
helping them integrate with AdWords,
using the AdWords API, which is a SOAP-based technology.
LAURENCE MORONEY: And we all remember SOAP, right?
FRED CHUNG: Yeah, we had a lot of fun.
And then I moved to Android as a developer advocate,
back in the Android 2.0 days.
LAURENCE MORONEY: 2.0.
Wow.
Way back.
FRED CHUNG: Do you remember the code name?
LAURENCE MORONEY: Eclair.
I never forget a dessert.
FRED CHUNG: Absolutely.
We've made a lot of progress both on the platform
and the app ecosystem front.
I remember one of the first presentation assignments
was to go to Barcelona, a conference in Barcelona,
and talk to the audience about what is Android.
Back then, it was a relatively new mobile operating system.
We had to tell them that, OK, it's got a camera.
It's got a few sensors.
We have a lot of fun back then.
And since then, things have evolved dramatically.
LAURENCE MORONEY: Have come a long way.
FRED CHUNG: Based on what we've seen
developers have done in the past few years,
it's been amazing to see the sophisticated apps that
are coming out.
LAURENCE MORONEY: And also, with the more sophisticated devices
and the things that they can do, consumers
are a lot more demanding for new types of apps
and new, sophisticated requirements
that developers have to meet.
It's quite a challenge, right?
FRED CHUNG: Yeah.
On Android, as you know, we have not only film and tablets,
we also have Android Wear on your wrist, Android TV,
and Android Auto in your vehicles.
So these things represent a lot of new opportunities
for developers.
And we're in an exciting time.
LAURENCE MORONEY: Cool.
Developers being able to meet these new sophisticated
requirements need a lot of support.
And I think that's where your role comes in as a developer
platform manager.
So as people are going on to the Android platform
and going on to the Google platform,
they need to learn how to do all these new things.
And that's where you fit in, right?
So tell us a little bit about what a DPM actually does.
FRED CHUNG: Yeah, DPM stands for Developer Platform Manager.
Let's talk a little bit about developer platform,
what does it mean.
If you look at Google, we offer quite a few developer products
that allow third-party developers to build
innovative solutions-- for example, Google Maps API, which
allows mobile application developers, Android, iOS,
and web-based developers to easily integrate maps
into their solutions.
Or Google Play Game Services that
allow game developers to build more engaging games,
to give you-- spend time with them.
LAURENCE MORONEY: And that common functionality,
like high-score tables and that kind of stuff, too.
FRED CHUNG: Yeah, leader boards, and quests,
and stuff like that.
But the point is, we look at the collection of API products
and platform and tools as a developer platform.
LAURENCE MORONEY: I see.
FRED CHUNG: And as a developer platform manager,
I work very closely with the Android product and engineering
teams to help them figure out the developer outreach strategy
for their products.
LAURENCE MORONEY: OK, so it's like you're
advocating on behalf of the developer with our engineering
team, as well as vice versa.
FRED CHUNG: Yes.
We actually see developer advocacy as a two-way street.
Not only do we want to use relevant opportunities
to educate and inspire developers
on certain new features, best practices,
and third-party integrations, we also
want to use the opportunity to listen to developers.
In fact, we have multiple channels available
both online and offline.
So if we're online, in the case of Android,
we have +androiddevelopers on Google+.
LAURENCE MORONEY: And that's a really big community.
FRED CHUNG: Yes, with a lot of traffic
and activities on a daily basis.
And that's very exciting.
And in the offline world, we also
work with Google Developer groups.
We partner with them from time to time to run events.
And that's a great avenue for us to get feedback
from developers.
LAURENCE MORONEY: Cool.
So if developers out there are watching this,
really want to give us feedback, they can go to those ways.
They can go to the Android+ site.
They can go to a Google Developers group.
We've got newsgroups, that kind of thing.
FRED CHUNG: That's right.
And if you've built interesting solutions,
let us know through one of these channels, too.
We would love to learn about the innovations.
LAURENCE MORONEY: We always hear about this thing
called developer experience.
And a good developer experience is very important.
What is that to you?
What is developer experience, and what do we
do at Google to provide a great developer experience?
FRED CHUNG: Developer experience is a very broad area.
And in particular, we care about things such as API design.
We want to make sure the design that goes into the API
makes sense to developers.
They have to conform to certain semantics
that developers are accustomed to.
For example, we recently extended the notification APIs
in the support library, to support not only phones
and tablets, but also Android Auto and Android Wear,
these new form factors.
We want to make sure the design conforms to certain standards.
So that's why we have things like car extender and wearable
extenders in the support library.
LAURENCE MORONEY: So we build a core API
but then are able to extend that consistently,
as new devices come on board.
FRED CHUNG: Exactly.
And when it comes to educating developers,
we want to make sure that we have adequate content,
both on developer.android.com, which
is our official documentation site that educates developers
the best practices and APIs associated with features.
LAURENCE MORONEY: And there are some great samples on there
as well that folks can download and dissect and learn
from that.
FRED CHUNG: Yeah.
We want to build educational samples that help developers
appreciate certain features.
And also, we want to highlight best practices.
LAURENCE MORONEY: We spoke a little bit earlier about
how new sophisticated requirements are coming online.
What is it that makes development difficult nowadays?
What are the challenges that developers may face?
FRED CHUNG: Getting the user experience right
is an important thing that developers need to be aware of.
And I think that's one of the challenges
that developers these days have to face.
So for example, these different screen sizes--
you don't necessarily want to say you have an existing phone
app.
You don't want to shrink it to your watch.
And likewise, you don't want to just stretch it
on your big-screen TV.
You really want to rethink the user experience that go
on to these new form factors.
If you have access to a designer, work with them.
And if you don't have access to a designer,
on our documentation site, we have
some design-focused content.
And we have also engineers and design content on our YouTube
channels as well.
LAURENCE MORONEY: Cool.
And isn't it also within Android Studio as you're building,
there are templates for the different design form factors?
FRED CHUNG: Yes.
Let's talk about Android Studio.
Android Studio is the de facto IDE for Android developers.
LAURENCE MORONEY: And we all love Android Studio.
FRED CHUNG: Yes, we do.
So in Android Studio, we have added
templates for new projects.
So if you're in a process of creating a new project,
you can selectively add additional capabilities.
For example, you can add watch support for Android Wear,
Google Glass support to your application.
So the idea of this is that developers
get to focus on their core expertise
and let us work on the boilerplate
by automating the generation process.
LAURENCE MORONEY: Got it.
And if the developer experience is good,
the consumer's experience is going to be good, right?
FRED CHUNG: Yes.
LAURENCE MORONEY: So you've been working as a developer platform
manager with Google for a while.
And you've worked with developers,
and you see all these great opportunities that
are out there for developers, be it web, and cloud,
and wearables, and mobile.
And I'm sure it can be quite confusing for developers
to be focused onto where to get started
on the next great opportunity.
What would your advice be?
FRED CHUNG: I think mobile platforms is definitely
one important area that developers
should think really hard about.
And when you look at mobile applications, a lot of them
are actually powered by some sort of cloud back end.
So it would be good to look at these two areas simultaneously.
LAURENCE MORONEY: And then also forgetting,
while all this is going on, there's also emerging markets.
And cloud and mobile is huge in emerging markets.
So do you have advice for developers thinking
about getting into these emerging markets,
looking for the next user base?
FRED CHUNG: So I think emerging market
is in particular a very interesting area,
because consider how users in emerging markets
are accessing the internet.
They're using their phones and tablets instead of desktops.
LAURENCE MORONEY: Well, there's also-- in emerging markets,
they may be accessing via phones.
But there's potentially disconnected scenarios.
A lot of these emerging companies,
they don't have the same level of network infrastructure
as maybe eastern Asia, or western Europe, or United
States and Canada have.
So there's unique challenges for a developer building
for that kind of thing.
FRED CHUNG: The implication for developers
is that when you architect your applications,
you need to think about these scenarios.
You want to make sure that your application maybe
support offline capabilities, or make sure your applications
to perform efficiently on a network,
on the memory, and the CPU.
LAURENCE MORONEY: Cool.
And there's-- I understand you've put together a lot
of material to help developers with that,
some DevBytes around that.
So what were they called again?
I can't remember the--
FRED CHUNG: Yeah, so the team has
put out a series of DevBytes called Android Performance
Patterns.
LAURENCE MORONEY: Performance patterns, of course.
Performance matters.
FRED CHUNG: Performance matters, right?
So always keep performance in mind
when it comes to creating your applications.
LAURENCE MORONEY: Cool, cool.
So anything else that you'd like to talk to developers about,
or you'd like to hear from other developers?
FRED CHUNG: If you think about designing for a platform,
designing for an API, it is a hard task.
It's difficult.
And it's hard to get it right on your first try.
LAURENCE MORONEY: And we want to get it right for developers.
FRED CHUNG: And admittedly, we don't get it right
all the time.
And that's why we want to listen to developers.
We actually see advocacy as a two-way street.
Not only do we want to educate developers
on certain best practices, but we also
want to use the opportunities to learn from developers--
their pain points, their difficulties, their challenges,
their improvement suggestions on the product.
And then a big part of what we do
is to work with internal teams, product, and engineering teams,
to provide the feedback that we hear from developers so that we
can improve the products.
LAURENCE MORONEY: I've learned so much, Fred.
Thanks.
And it's been great to hear about how Google
is a two-way street in advocacy and how we're listening
to feedback from developers.
And developers, please take advantage of that.
All the avenues that Fred has mentioned
are in the description below.
They'll also be right at the end of this video.
We'd love to hear from you.
We want to build better APIs, and we
want to build a better platform that will
allow you to build better apps.
Thanks for watching this far in this episode of "Coffee
with a Googler."
And thanks most of all for Fred for being here
and being our special guest today.
FRED CHUNG: Thanks for having me, Laurence.
[MUSIC PLAYING]