TIMOTHY JORDAN:
Hello, and welcome
to "The Developer Show."
Let's start with the TLDR.
Zooshi!
Is a new open source
cross-platform game written
in C++ that demonstrates how
to build games using a suite
of newly released and updated
open source game technologies
from Google.
Click the link below
in the description
to check out the six
recently updated open source
tools you can use in your game.
Jason Sanmiya is the TL for
Zooshi! and is on the show
today to tell us more.
JASON SANMIYA: Great
to be here, Timothy.
TIMOTHY JORDAN:
Happy birthday, Go.
[PARTY HORN]
[LAUGHTER] You've
just turned six,
and you have over 780
contributors with 30,000
commits in 22 repositories.
Thank you to everyone in the
open source community who've
made Go what it is today.
Create virtual machines
with exactly the amount
of power and memory you need,
using custom machine types
on the Google Cloud platform.
No more rounding up
to a power of two
and wasting money
on unused resources.
A bunch of network performance
and flexibility improvements
have recently come to the
Google Cloud platform,
including the general
availability of HTTPS load
balancing, segmenting
your IP space
with sub-networks,
dynamic routing
on Cloud Router for seamless
connectivity with no traffic
disruption, and the
ability to use Akamai
as a CDN interconnect provider.
30% of all smartphone
sales worldwide
happen in the last three
months of the year,
and ad impressions
spike by nearly 30%
between October and January.
This makes January an excellent
time to promote your app.
Check out the infographic
linked below in the description
for more.
So this next part isn't
exactly developer related.
But if you love "Star Wars,"
check out google.com/starwars
to add a little light side or a
little dark side to your Google
experience.
Find out how Fablic
improved sign-ups by 30%
and increased retention
by 20% using Material
Design in Android Studio.
The video is linked in
the description below.
App builds and deployment are
both faster with Android Studio
2.0.
The new version
features instant run,
a feature that will dramatically
improve your development
workflow.
More on this later
in the show as I
get the inside scoop from
product manager Stephanie
Cuthbertson.
Speaking of Android, the
Android Dev Summit has wrapped.
We had a great time meeting
developers and talking
about all things Android, and
we've got a few more clips
to play from the event as well
as Joanna Smith on the show
today to share more
about what went down
at the Computer History Museum
in Mountain View, California.
JOANNA SMITH: Hi.
TIMOTHY JORDAN: All
that and more today
on "The Developer Show."
OK, so the Android Dev
Summit has wrapped.
Let's actually start
with a clip to see
what it was like on the ground.
[VIDEO PLAYBACK]
Hey, everybody, I'm
here with Chet Haase,
who leads the Android
UI Toolkit team.
CHET HAASE: We talked about some
of the overview information,
and then a deep dive on memory.
So what we wanted to do this
time was talk about some
of the higher level concepts
that you need to keep in mind
so that you understand
the context that you're
developing in.
MALE SPEAKER: I
think what developers
don't think about is
that notifications
are the first place often the
users come into their phone.
And that's your
opportunity to build trust,
to deliver information that
they need and they can act upon.
[END PLAYBACK]
TIMOTHY JORDAN:
So that's what it
felt like to be on the ground
at Android Dev Summit this year
at the Computer
History Museum here
in Mountain View, California.
One of the things that I
realized about conferences,
and I think we share
this philosophy,
is that these
sessions are great.
And, by the way, you can see all
the sessions-- play list linked
below with all the links.
However, another thing
happens at conferences,
which is the conversation in
the hallways between sessions.
I was hoping that-- I
mean, you were there
for the entire conference.
JOANNA SMITH: I was.
TIMOTHY JORDAN: --you'd give us
a little bit inside about maybe
what were the three top
conversations happening
between developers at the event?
JOANNA SMITH: So
obviously, the one
I noticed the most were all the
questions about Doze and App
Standby because that's what
people like to ask me about,
which is great.
Ask me questions on Twitter.
It's fine.
JASON SANMIYA: I love Doze mode.
JOANNA SMITH: It's the hero of
Marshmallows, you know that?
TIMOTHY JORDAN: It really
is the hero of Marshmallow.
JASON SANMIYA: I never plug
my phone in anymore at night.
I just let it doze.
JOANNA SMITH: You
doze with Doze?
JASON SANMIYA: With me, yeah.
JOANNA SMITH: I like that.
So Doze mode's clearly a really
big topic, and a lot of people
have a lot of feelings about it.
And I'm happy to
hear your feelings,
but you're probably
wrong to worry.
So that's a great conversation.
And then, of course,
Android Studio 2.0
was a huge moment
because everyone's
excited about being
able to actually develop
without having to wait every
five seconds to see, like,
what did that change
to my layout look like.
What did that change look like?
What did that change look like?
If we can enable developers
to develop faster,
then I think they'll
be able to build better
apps at a much better pace.
So I'm excited about that.
But the other thing that
made me really happy
was people haven't stopped
talking about Material Design.
Like it's still a core
part of their development
thought now now.
And we've managed
to take something
that people used to hate
doing, unless you had a higher
designer, and make it a core
part of their considerations.
Like people want beautiful
apps that flow really well,
and I love seeing that.
TIMOTHY JORDAN: Great.
And the conversations that
happen in the hallway, those
can continue online.
We have a developer community.
JOANNA SMITH: We do.
We have an Android
developer community.
We have a lot of specialized
communities for things
like performance or design.
And, you know, we're
all on Twitter.
So our engineers and our
Android framework team,
they look at the
questions on G+.
They look at the community.
Give us a shout out.
Let us know what
your questions are.
And then holler at
us at Twitter, too.
TIMOTHY JORDAN: Great, and
we'll put all those links down
in the show notes.
JOANNA SMITH: Tons of
links in the description.
TIMOTHY JORDAN: Tons of links.
All right, let's
go to an interview
I was able to do Stephanie
Cuthbertson just after she
gave the keynote about
Android Studio 2.0.
[VIDEO PLAYBACK]
Hi there.
I'm here with
Stephanie Cuthbertson.
She's a Group Product Manager
for Android and, of course,
one of the captains
of Android Studio.
Android Studio, up until now,
has been about a really strong
foundation.
But with 2.0, there's a whole
bunch of speed improvements
across the board.
STEPHANIE CUTHBERTSON:
When you look at 2.0,
you'll find the emulators
changed dramatically.
The ADB speeds have
improved massively.
It's now five times
faster to push.
If you look closely,
it's actually
34 times faster than it
was in the last build
of Android Studio.
And we worked really
closely with the search team
on deep linking.
And this is one of my
favorite speed improvements.
Because if you think
about it, as a developer,
you really want to make
your app discoverable.
TIMOTHY JORDAN: Yeah.
STEPHANIE CUTHBERTSON: But it
sometimes takes a long time
to read through all
the documentation
and figure out how to do that.
And so one of the things
that's magical about IntelliJ
is it prompts you in line
for how to do things.
And with deep linking,
Android Studio 2.0
will do exactly that.
I think you probably
know what I'm
going to say what my
favorite feature is.
TIMOTHY JORDAN: I think I do.
STEPHANIE CUTHBERTSON:
Which is Instant Run.
TIMOTHY JORDAN: Yes.
STEPHANIE CUTHBERTSON:
It's just amazing.
TIMOTHY JORDAN: It is so cool.
STEPHANIE CUTHBERTSON:
Yeah, really
what's cool about
it is it really
changes mobile development so
it's much more like web style
development.
So now you can
just make a change
and see it refresh,
more or less,
instantly, which is very much
like doing development in HTML.
TIMOTHY JORDAN: It's
like refreshing the page.
STEPHANIE CUTHBERTSON:
Yeah, yeah.
When we look at
profiling Android apps,
we found around
80% of Android apps
will build in a minute or less.
And so an app that used
to take a minute to build
is now going to take
about one to two seconds
to push incremental changes,
so that's quite a big change.
TIMOTHY JORDAN: Yes,
that's incredible.
STEPHANIE CUTHBERTSON: Yeah.
TIMOTHY JORDAN: And we
were talking a bit earlier,
and I thought it was
really fascinating.
I was hoping we could share
it with everybody out there,
about how you've landed
upon sort of this direction,
like this feature, and the
early days of building for it.
STEPHANIE CUTHBERTSON:
We got together
with a crack group
of engineers, some
of the most talented
engineers in Android Studio,
which is a very talented team.
And our engineering director,
Arno Weber, said, look,
we're going to make the
build 10 times faster.
And the team went
off over the weekend
and came back in and showed us
a running demo of Instant Run,
complete with hot
swapping for code changes
and instant run for resources.
And I remember it was
my modeling at the time.
TIMOTHY JORDAN: Well,
now we can do this.
STEPHANIE CUTHBERTSON:
Yes, I remember
thinking to myself, that's not
exactly what I had in mind.
That's about 10 times better.
So, in fact, if
you look closely,
the build is not
10 times faster.
It's roughly 55 times faster.
We cannot say enough
how grateful we are
to our community.
And Android, it's open source.
It's free.
And I'd say a lot of, if not
all of the most significant
improvements that
we've made have
come from us using
the product ourselves,
and especially listening to
the community's feedback.
So we're very dependent
on the community.
We're very grateful
to the community.
And so I I think
with 2.0 coming out
probably one of the biggest
things we want to say
is just thank you so much to
that whole group of developers.
TIMOTHY JORDAN: Thank you.
STEPHANIE CUTHBERTSON: Yep.
TIMOTHY JORDAN: And keep
the feedback coming.
And check out the keynote.
It's awesome.
Thank you, Steph.
[END PLAYBACK]
TIMOTHY JORDAN: And
that's all you need
to know about Android Studio.
OK, let's talk about the Zooshi!
Jason, welcome to the show.
JASON SANMIYA: Thanks.
TIMOTHY JORDAN:
So first, tell us
what is Zooshi! in, I don't
know, 20 words or less.
JASON SANMIYA: Well, Zooshi!
is a mobile and VR game
where you float down
a mystic river feeding
sushi to animal patrons.
TIMOTHY JORDAN: That's 18-ish.
That was great.
So why do we make the game, and
people may have heard of FPL.
What is FPL?
JASON SANMIYA: Fun Promotion
Labs, that's my team,
is a team here at Google
that makes open source
cross-platform C++ libraries
for game developers.
So we found that there's a
lot of developers out there,
the majority, in fact, who would
prefer to roll their own C++
libraries or use open
source libraries,
rather than lock into a
third party game engine.
TIMOTHY JORDAN: So you make
games so people can make games.
JASON SANMIYA: That's right.
It's a pretty tough job.
TIMOTHY JORDAN: It's
a pretty great job.
For Zooshi! in
particular, can you
tell us maybe some of
your favorite features,
like for example, VR.
You can play the
Cardboard version
or you can play
the Mobile version.
It's the same game.
JASON SANMIYA:
Yeah, that's right.
We talked to developers, and the
big question that they have is,
is VR a big enough market?
And so our solution
was well, hey,
maybe you can
develop for both VR
and mobile at the same
time, the same way
that you would develop, say,
a PC game and a console game--
same game, different
input schemes.
But you can basically develop
them both at the same time,
and they're a little bit
different experiences.
But game-wise they're the same.
JOANNA SMITH: So what I
like about this whole thing
is that you've made the
entire game open source.
So developers can actually see
how you did that development
side by side and what you're
able to reuse and everything.
But even cooler is
you built this game,
and then you took the APIs
out of the game, right?
Like you didn't build
an engine and then build
a game for your engine.
You did it the way a
developer would do it, right?
JASON SANMIYA: Yeah, we
think the best game tech is
tech that comes out of a game.
So everything that we package
up as an individual library
on GitHub was originally
part of one of our games
that we generalized and made
independent of everything
else and then posted on
GitHub for people to use.
TIMOTHY JORDAN: And the whole
game is open source as well.
So you can see the whole game,
how everything works together.
And you can use any of
the individual libraries.
JASON SANMIYA: That's right.
You don't have to
grab the whole game.
You don't have to use it
as one monolithic thing.
You can grab each individual
piece and put it in your game.
JOANNA SMITH: It's like
they love their developers.
TIMOTHY JORDAN: Let's
move on to the next clip,
and this is Joanna's
favorite topic,
JOANNA SMITH: Doze Mode.
TIMOTHY JORDAN:
[INAUDIBLE] joins us
for this week's "Who's
Doing What Now?"
[VIDEO PLAYBACK]
MALE SPEAKER: I've actually
never seen that show.
MALE SPEAKER: You--
MALE SPEAKER: But I did read
up on dynamic permissions
last night.
That's basically the only
thing I need to think about
for Android 6, right?
MALE SPEAKER: Yeah, that's all.
Well, except for Doze mode.
MALE SPEAKER: Wait,
who's doing what now?
MALE SPEAKER: Don't
let this happen to you.
I'm right [INAUDIBLE] and
this "Who's Doing What Now?"
Now, we all hate
being interrupted
in the middle of a good nap.
(WHISPERING) When you're
asleep, it's more important
that your device have
battery when you wake up then
for every app to be
continuously updated.
So if the device is unplugged,
stationary, and with the screen
off for a significant period
of time, it enters Doze mode.
Doze mode conserves battery
by restricting network access
and deferring jobs,
syncs, and standard alarms
to fall within periodic
maintenance windows,
or until the user wakes the
device by plugging it in,
turning on the screen,
or picking it up.
Until that time, network access
will be disabled for all apps.
Wake locks are ignored, standard
alarm managers are deferred,
as are Wi-Fi scans, sync
adapters, and the job
scheduler.
The goal is to optimize
battery life by limiting
power intensive operations.
So, in many cases, you won't
have to change anything.
But, if your app needs to update
regularly or more frequently,
there are ways to handle that.
You can fire alarms while in
Doze mode using the new Set
and Allow While
Idle or Set Exact
and Allow While Idle methods.
An alarm set with
Set Alarm Clock
continues to fire normally,
causing the system
to exit Doze mode shortly
before those alarms fire.
Now, if your app needs
persistent connection
to the network to
receive messages,
you should consider using
Google Cloud Messaging, or GCM.
It lets you support
real time downstream
messaging between
back-end services and apps
on Android devices,
using a single shared
persistent connection
to the cloud,
significantly improving
battery performance.
GCM is optimized
to work with Doze
through the use of high
priority GCM messages
that let you wake your
app to access the network.
The Android team
optimizing battery life
using Doze mode, that's
"Who's Doing What Now?"
[END PLAYBACK]
TIMOTHY JORDAN: And that's
our show for the day.
Let's end with our
final question.
Panel, if you could add
Doze mode to something else
in your life, what would it be?
JOANNA SMITH: Could I just
doze through the work day
and still get my paycheck?
TIMOTHY JORDAN: Nope.
Jason?
JASON SANMIYA:
How about my boss?
Because that guy's
always plugged in.
He's really high energy.
JOANNA SMITH: They
don't need to doze
if they're plugged in, right?
Like, you're only worried
when they're unplugged.
JASON SANMIYA: I'm going to have
to check the links afterwards
and read more about Doze.
TIMOTHY JORDAN: OK, and
that's our show for the day.
Thank you for joining us
here on "The Developer Show."
I'm Timothy Jordan, and
I'll see you next week.
[MUSIC PLAYING]
