LAURENCE MORONEY: So anybody who's
been to any developer event in the last couple of years,
usually Android or Android Studios in the keynote,
Stephanie, you're the person that we get to see.
You get to make all the cool announcements.
And this year at I/O was a particularly special one.
Could you tell us about it?
STEPHANIE CUTHBERTSON: It was an incredible year.
Android had a whole ton of developer announcements
that we were super excited about.
And I think probably everybody knows
Kotlin was at the top of our list
and at the top of a lot of people's lists.
LAURENCE MORONEY: Absolutely.
You did a great job keeping that a secret.
It was such a big surprise and a great reveal.
STEPHANIE CUTHBERTSON: That was really tough.
It was something the community had been asking us
for again and again.
And in fact, one of the funniest moments behind the scenes
was about three weeks, I think, before I/O, we
had O Labs, which is one of the events where
we bring a ton of apps--
we bring a ton of apps in just to help them get ready for O.
So there are probably like 250 apps there, maybe 300,
or representatives from the various top apps.
And somebody in the audience asked Mike Claron,
who's the director of the framework, Mike,
what do you think about Kotlin?
And when are you guys going to adopt Kotlin?
And of course, we had made the decision.
And we were just spooling up for I/O.
Mike had actually helped me co-write
the keynote speech, which we were rehearsing by then.
And Mike, you could see his face just kind of light up.
And he turns to the person, and he says, you know,
there's a lot going on with Kotlin.
And I'm sure you're seeing a lot.
We're seeing everything you're seeing.
And we just want you to know that.
And I thought as soon as he said that--
LAURENCE MORONEY: That's a great answer.
STEPHANIE CUTHBERTSON: I know.
I thought he'd actually blown the whole surprise.
So I immediately went and checked reddit
the next afternoon because I thought,
someone's going to be able to read between the lines.
But nobody did, and it was a surprise.
LAURENCE MORONEY: That's good.
And social media lit up after it was announced.
It was overwhelming.
STEPHANIE CUTHBERTSON: Yeah.
Well, I think it was just what everyone wanted.
And it was the right decision.
And everyone knew it was the right decision.
So I think it was really a credit to the community
that they were so clear with us about like, look, this
is the right thing to adopt.
In fact, the way we've talked about it is entirely accurate.
I think Kotlin's this incredible fit for the Android platform
because it's so rare that you get
a language that's so mature.
And it's a five-year-old language.
It's highly mature.
It's gone through a 1.0 stage.
And yet you can adopt it into apps completely integrated.
So you can have an app that has Java code and Kotlin
code completely integrated.
So at the point of announce, most languages
are still in a developmental stage or an early stage.
And Kotlin is really in a very mature state on a platform that
is very widely scaled.
So it was super unusual.
And to have that plus the IDE support
because the same people designing the language
built the IDE was just amazing.
And so I think we were really excited about it.
LAURENCE MORONEY: It was just perfect serendipity as well,
right?
STEPHANIE CUTHBERTSON: It was the right time,
the right stuff, and all that.
Now you work on Android Studio primarily.
STEPHANIE CUTHBERTSON: I do.
LAURENCE MORONEY: You talk a lot about Android Studio.
So how are things going with Android Studio?
STEPHANIE CUTHBERTSON: They're going really well, yes.
LAURENCE MORONEY: So just released version 3?
STEPHANIE CUTHBERTSON: Yes.
Version 3 is currently in Canary.
The next I'd trust after that would be beta.
And version 3 is the one that supports
the current release of Android.
LAURENCE MORONEY: Right.
Now for a developer like me, an Android developer,
I started cutting my Android teeth with Eclipse.
It was interesting.
It had its moments.
But it was still great to have that power
to be able to develop and deploy onto something.
So Android Studio was the next logical step.
And I came from a world with Visual Studio beforehand,
so Android Studio felt much more familiar.
And it was exciting.
But it's come a long way in the couple years, right?
STEPHANIE CUTHBERTSON: It has.
And I think that really reflects the investment in the IDE.
One of the things that happened for us was we
realized several years ago that Android had scaled massively.
And as Android scaled, the developer community
was also scaling massively.
People think about a US-based community,
people who are in the US.
But really if you think about it,
the European community is enormous.
The Chinese developer community on Android is huge.
The Indian community is exploding.
Brazil, there's so many different places.
And I think what had happened is we really outstripped the IDE.
And we needed to invest very deeply
to give developers what they needed.
And developers were very articulate about the features
they needed, which was awesome.
And so what you're seeing really is
a reflection of increasing investment in Android Studio.
And that investment is continuing to increase.
And so there are a number of features
that have come out in the past several years
that I think are super exciting, and I
think you should expect to see that continue.
So yeah, it's been a really fun time.
LAURENCE MORONEY: So I have a couple of favorite features.
STEPHANIE CUTHBERTSON: Tell me.
LAURENCE MORONEY: So I absolutely love
the new assistants, particularly the Firebase assistant.
STEPHANIE CUTHBERTSON: That is so cool.
The original design for that feature
was one where you came in, and there
was just all this stuff you had to connect here, and do
this, and do that.
And we looked at it.
And we thought, even we can't figure out
how to get through that.
Why don't we make it a step-by-step process?
And I think the result is so useful because it's
relatively straightforward.
In fact, we're using that same assistant concept now
with other types of guided journeys through the IDE.
And I think that's going to be a really good baseline.
LAURENCE MORONEY: Yeah.
I can't wait to see some of the others.
I've been writing a book on Firebase.
And it used to be-- you made me rewrite all my chapters,
by the way.
It used to be that.
It was like, go to the console.
Turn this on.
Turn that on.
Get the Google services JSON file.
Download it.
Find the right folder in your app.
Put it in.
Now it's the Firebase assistant.
Click a button.
Even the dependencies are added to the build up [INAUDIBLE]..
It's beautiful.
I'm looking forward to seeing more.
And then my other favorite is the Emulator.
STEPHANIE CUTHBERTSON: Yes.
The Emulator is amazing.
LAURENCE MORONEY: It used to be that the scenarios you'd
get in the Emulator were kind of limited.
You needed a real device to do it.
But now there's just so much stuff
happening in the Emulator.
You've even added the Google Play Store,
so things like Google Play Services
will update automagically as I'm building my apps for it.
So thank you.
Great work.
STEPHANIE CUTHBERTSON: I'm so glad you like it.
Yeah, I feel like the Emulator itself particularly
has come so far in terms of performance
because it's so snappy and responsive now.
It's actually much faster for me to deploy under the Emulator
than a device.
And I typically do development on both.
But also the feature set is really nice,
like being able to turn network on and off.
And mocking maps is one of my favorite and things like that.
So I think there's still a lot more
we could do with the Emulator.
I personally think it'd be great to have
it boot incredibly fast.
I think it would be wonderful to see the Emulator have
more features.
Especially things like different types of network
connectivity are things that developers in emerging markets
talk about, even developers in the US and Europe
targeting those markets.
So there's so much more that we can do.
But I think it really is one where
it's now a mainline part of the workflow.
We don't release adoption stats, but it's just
going through the roof.
People are using it.
LAURENCE MORONEY: Stephanie's smiling now,
but I gave her a hard time about the Emulator
and Google Play Services for a long time, but not anymore.
STEPHANIE CUTHBERTSON: Yes.
That is true.
That was-- yeah, that was a good--
you were right.
LAURENCE MORONEY: Do you have any favorite features yourself?
STEPHANIE CUTHBERTSON: I do.
You mentioned one of them.
The Emulator is definitely one of my favorites.
I personally really like ConstraintLayout.
When the initial version of ConstraintLayout came out,
I was playing with different layouts.
And I find it super useful, especially in the new world
where you're seeing a lot of dynamic form factors.
It's really useful to be able to define things in relation
to each other as opposed to having those
static definitions.
So that's a huge favorite for me.
There are little things that are my favorite.
So I have big things like that, ConstraintLayout,
which obviously was a huge investment.
The build time improvements-- especially if you've tried 3.0
and you have a huge project, you will find the build
and sync improvements are amazing.
And I, probably like you and other folks
who are building big projects, I have some pretty big,
complex apps.
And the incremental build times are just so much better.
I feel like that will probably be something
we'll be working on for a long time
because developers always tell us
we just can't make it too fast.
LAURENCE MORONEY: It can never be too fast.
Actually a funny story with that is that for me,
for a lot of the small test apps that I've been building,
so many times I thought the app hasn't deployed to the Emulator
yet.
And it's like so I have a previous version running.
And then I compile and get it to run the next version.
And then I go away and do something
for a couple of minutes.
And then I come back, and I think
it's my old version that's still there.
But the new one is on there.
And I'm like, come on.
Hurry up.
And I don't realize the new one is there.
It's having been used to it being a little bit slower.
And it's like now that it's getting faster and faster,
I have to change the way I do things, which is kind of cool.
STEPHANIE CUTHBERTSON: Yeah.
I think we want it to just be instant.
The other one I'd mentioned too--
and this is kind of one of the smaller but cool ones.
I think Lint is really useful because it's
like your extra brain, all of it.
It's like the Rumsfeld quadrant.
Things you don't know you don't know it tells you to look for.
So I find that really useful.
LAURENCE MORONEY: Exactly.
Because you can end up writing some pretty ugly code
without realizing it.
And other people have to maintain it.
So the Linting tool is really neat.
STEPHANIE CUTHBERTSON: Yes.
I definitely make mistakes I didn't know I made.
So they're great.
LAURENCE MORONEY: So if I'm a developer getting
started with Android Studio, or with Android in general,
or mobile development in general,
what would you tell me?
STEPHANIE CUTHBERTSON: I would tell you two things.
I would tell you download Android Studio.
And I would recommend taking a look at Kotlin.
Again, the inside story of how we adopted
Kotlin is essentially that one person after another person
tried it and convinced the next person down the line
that they had to try it, and they had to try it.
It's one of those languages that you just
fall in love with because the more you use it,
the more delightful you realize it is.
So I think I would probably recommend
doing those two things.
LAURENCE MORONEY: Absolutely.
And with Kotlin, for example, just a funny story for me
was that a week before I/O, I was doing some talks
at a conference in the UK.
And they were doing a round of lightning talks.
And I did a talk on Google Maps.
And the idea was they wanted to get an applause-o-meter.
And the Google Maps applause-o-meter
was really good.
And I was like, yay, I'm going to win this thing.
And then a guy came on after me and spoke
about this thing called Kotlin that I had never heard of.
And the crowd went wild.
And I'm like, OK, I have to learn about Kotlin.
And then the next week, I'm sitting in the audience at I/O,
and you go do the whole thing K thing.
We've got Kotlin in Android Studio.
So I was like, score.
I was excited.
STEPHANIE CUTHBERTSON: So awesome.
I'll never forget because the same thing happened to me.
So I was in London, and someone told me
you've got to try this language.
And it was kind of working its way through the engineering
team.
And I got on the plane.
I had two books on Kotlin, and my laptop, and 10 hours.
And I got on the plane, and I thought, wow, you know,
I'm not sure we can really put another programming
language on Android.
And by the time I landed, I was thinking to myself,
OK, we have to figure out how we're going to do this.
This is just so awesome.
LAURENCE MORONEY: And I think one of the neat things--
and it was something-- we did an episode with Jeffrey van Gogh.
What he shared with us is the fact
that how it interrupts with existing Java code.
It's not like if you've got existing Java libraries,
you have to throw them away and rewrite them in Kotlin.
It's like you can start consuming and vice versa.
And then also the tooling, you've
got your [INAUDIBLE] new Kotlin experience.
So you don't feel that you have to start from ground zero
to be able to build in Kotlin because you can actually
reuse your existing stuff.
STEPHANIE CUTHBERTSON: Yeah.
I think that's the one thing, too,
that was also very eye-opening for me
when I used the language, because you think,
oh, a new language.
I'm going to have to learn all this new stuff and start over.
And what you really want to know is, wouldn't it
be cool if I could be able to write all of my code
and write it many times faster--
but do it in a way where learning
the new syntax, learning the new language,
is going to be really easy for me
and where I can just take little pieces of it at a time?
And in fact, that's exactly what Kotlin is.
Because I think for most people, they'd
say when they learned Kotlin for anyone who
knows the Java program language already, it's really not
difficult. There's so many concepts and paradigms that
are really familiar.
So it's not like you're moving in some huge direction.
Like you started with Java, and now you're going to learn C++--
which I remember when I learned that, and I thought,
OK, this is hard.
So it's quite seamless.
And that, plus the fact that you can
take an app that's already completely working in Java
and then just try a little piece of it in Kotlin,
means it's so easy to just dip your toe in and get
really comfortable.
And the IDE makes it so seamless because you
can literally just drop a class and it'll convert for you.
The [INAUDIBLE] team is amazing.
They're really good.
LAURENCE MORONEY: Cool.
So for somebody to get started in Android Studio,
we'll put the link in the comments.
We'll put the link in the description of the video here,
so people can go download it.
So thank you so much, Stephanie.
It's been a real blast having so much fun geeking out
over Android Studio with you.
STEPHANIE CUTHBERTSON: It's really cool.
LAURENCE MORONEY: And thanks, everybody,
for watching this episode of Coffee with a Googler.
If you have any questions for me or any questions for Stephanie,
just please leave them in the comments below.
Thanks again.
STEPHANIE CUTHBERTSON: Thank you.
LAURENCE MORONEY: Cheers.
STEPHANIE CUTHBERTSON: Thank you so much.