DAN GALPIN: Hello.
Live from the floor of the
2019 Android Dev Summit,
and welcome back to
today's next session
of the #AskAndroid Livestream.
I'm Dan Galpin, and this is
my co-host Lyla Fujiwara.
LYLA FUJIWARA: Hi, everyone.
It's great to be
here at ADS '19,
and we are straight in
the Android Sandbox.
DAN GALPIN: There's
lots of sand everywhere.
You can tell.
LYLA FUJIWARA: Yes.
[LAUGHS] So next up,
we've got a topic
that I am pretty biased about,
and I added to the list.
So it is Android Community.
We're going to be
learning about how
to start figuring out
your Android journey
and how to join the
Android community.
Remember, if you want your
questions answered live, please
tweet using the
#AskAndroid hashtag.
With me, we've
got Murat and Ben.
DAN GALPIN: Now,
both Murat and Ben
are former GDEs that have
found a home here at Google.
Now, Murat formerly led the
Istanbul and San Francisco
Android Google Developer
groups, while Ben
led the Android Berlin GDG.
LYLA FUJIWARA: Cool.
And I think we're going
to just get started.
So we've been seeing GDE a lot.
What exactly is a GDE?
How did you become a GDE?
Should anybody else
decide to be GDEs?
Like, what's up with that?
MURAT YENER: If we are
starting, let me put my hat on.
LYLA FUJIWARA: OK.
[LAUGHS]
DAN GALPIN: There we go.
All right, excellent.
MURAT YENER: Now I'm ready.
DAN GALPIN: Now
you're in costume.
Wonderful.
LYLA FUJIWARA:
Your thinking cap.
DAN GALPIN: Wardrobe is done.
LYLA FUJIWARA: [LAUGHS]
BEN WEISS: That's great.
[CHUCKLING]
So GDE is one of the
TLAs we have at Google.
It's a Three Letter Acronym.
LYLA FUJIWARA: Yes.
BEN WEISS: And Stands for
Google Developer Expert.
So Google Developer Experts
are people within the Android
community that have
stood out over time
with their exemplary
contributions
towards that community by
providing the community
with resources that is far
above and beyond what we provide
as documentation and videos
that we create out there
with real world
experience with real apps.
LYLA FUJIWARA: And--
MURAT YENER: And they give
back to the community.
DAN GALPIN: And they
help to foster and create
that community.
LYLA FUJIWARA: Yep.
DAN GALPIN: I think it's
really the key thing, which
is wonderful.
LYLA FUJIWARA: And I
think as Dan mentioned,
you were both GDEs
before joining Google.
How did you get involved
with the program?
[LAUGHS]
BEN WEISS: So this
goes way back for me.
[CHUCKLING]
If it's OK, I'm just
going to start this.
So in Berlin, I
was studying there,
and the community was
really non-existent.
And the first couple of
Android phones came out,
and I got one of these phones.
I stumbled across
a community meetup.
I went to that meetup,
and over time, that meetup
continued to grow.
And I started speaking
at these meetups.
Back then, there wasn't the GDG.
It was-- we called it [GERMAN],,
which is basically roundtable.
DAN GALPIN: [LAUGHS]
BEN WEISS: We just sat there
and we talked about things
related to Android development.
And at some point, I started
presenting my own things
that I learned and continued
doing that over time.
And I started sharing
code that I wrote.
And I got invited to
conferences over time.
So people asked, do you want
to come to this conference?
And at one point, I
was asked to apply
to become a Google Developer
Expert, which I then did.
There were a couple of
people that I met with that,
and then I got the tag of being
a Google Developer Expert.
DAN GALPIN: Well, I
remember meeting you
early on when you were working
on Blink Android, which is--
BEN WEISS: Oh, yeah.
DAN GALPIN: --this very,
very cool app that allows you
to synchronize a whole bunch
of phones' displays together
for these really, really cool--
and it was just awesome,
the work you were doing,
so I think it was clear how
you ended up getting noticed,
just by that itself.
And--
MURAT YENER: Yeah.
I also have a similar story.
I was actually in Istanbul,
again getting meetings,
and things started growing.
And I started traveling,
doing talks at different GDGs.
And then, one day, I
applied to become a GDE.
And--
LYLA FUJIWARA: The
rest is history.
[LAUGHTER]
DAN GALPIN: Yeah, exactly.
LYLA FUJIWARA: Yeah.
So both these guys
have basically
done the entire
journey, from starting
to get involved in the community
to leading it, to some extent.
I mean--
DAN GALPIN: Yeah.
LYLA FUJIWARA: --you're
leading the GDEs right now,
which is pretty cool.
OK, so listener question.
Maybe this guy?
This one?
DAN GALPIN: Yeah, sure.
So one of them is Mohammed004--
04469569 asks, "Should I start
my Android development journey
with Kotlin and
totally ignore Java?"
MURAT YENER: Well,
definitely Kotlin--
we are going Kotlin first,
so Kotlin is a good place
to start.
We have updated
trainings, Codelabs.
If Java is OK and you can do
what you want to do with Java,
it's perfectly fine.
We support Java.
You can write Java.
And if that's enough
for you, that's fine.
But as things progress,
Kotlin is a good place
to look at and catch
up new features.
DAN GALPIN: Ben, any
thoughts on this one, or--
BEN WEISS: So I have
written Android applications
in Java programming
language for a long time,
and when we announced
support of Kotlin on Android,
I started to write--
started rewriting
one of the sample
apps that I wrote in Kotlin.
And the amount of
fun that you have
with that-- yes, that
pun is not intended,
but it still, it
provides itself.
DAN GALPIN: Functions are called
fun in Kotlin, just as a--
[LAUGHTER]
BEN WEISS: And the productivity
that I have with that,
comparing it to Java
programming language,
I'm just so much
more happy with that.
So if you have the choice
to go with either one
of the languages, I personally
would go Kotlin straight away.
DAN GALPIN: Yeah.
And if this is-- like, this
isn't like an official Google
recommendation, but I think,
honestly, I feel the same way.
Like, you know, so--
LYLA FUJIWARA: Well--
MURAT YENER: [INAUDIBLE]
you don't need semicolons.
LYLA FUJIWARA: Yeah, so
the phrase Kotlin First was
mentioned, and I think
that-- what that means,
at least from our perspective,
is a lot of the samples,
the documentation
that we're doing, is--
we're writing in Kotlin first.
So it's not to say
it's not in Java,
but if you want the
freshest material, Kotlin.
BEN WEISS: And we also
keep Kotlin in mind
whenever we're
designing our things.
Yeah.
LYLA FUJIWARA: All right, cool.
So next question--
DAN GALPIN: [CHUCKLES]
LYLA FUJIWARA: So Anil_kr0--
a lot of numbers here--
0306 asks, "Why is there
no tutorial or Dagger 2
on the Android Developers page?"
Which, this was asked
a few, like, a week ago
or something like that, so--
BEN WEISS: Yeah.
So, well, the good news
is a couple of days ago,
we made a push on
our developer site,
so now you can see
dependency injection tutorial
that a colleague of ours wrote.
LYLA FUJIWARA: Yeah.
BEN WEISS: It's a very
good, long tutorial.
It goes very in-depth.
We also provide all this.
So you go on developers
on Android.com
and search for
dependency injection,
and you will find all the
answers to this question.
LYLA FUJIWARA: Yeah.
DAN GALPIN: Yeah I--
LYLA FUJIWARA: It sort
of-- yeah, I don't--
DAN GALPIN: I was going
to-- he's technically right,
this Anil.
It is not actually on the
Android Developer site.
It's technically on
our Codelab site.
So-- but you
definitely can find it.
LYLA FUJIWARA: Yep.
So if you--
BEN WEISS: So it's Codelabs--
DAN GALPIN: Codelabs instead
of developers [INAUDIBLE]..
LYLA FUJIWARA: There is also
Dag documentation coming out
about dependency injection, and
I think it also does mention--
DAN GALPIN: Yes.
LYLA FUJIWARA: --Dagger 2.
We also have an
Advanced Android course
that includes modules
about testing that
get into dependency injection.
It's not Dagger 2
material, but it
leads great into the
Codelab about Dagger 2.
So plenty of Dagger
2 testing material
if you're getting
started with Android
and you want to start
with DI and testing.
DAN GALPIN: All right.
So BrettWhitney11
asks, "What is the best
way to start learning how
to write programs in Kotlin
and programming in general?"
BEN WEISS: Since you've been
doing a lot of work on that?
MURAT YENER: Yeah, we
have lots of trainings,
and we recently
launched a new one.
We also have lots of
Codelabs documentation.
Take a look.
And we also have the
Kotlin boot camp training.
So--
BEN WEISS: That sounds good.
Another thing that
I would like to add
to that is what helped
me grow a lot is
a lot of the communities that
are out there, they run study
jams and things like that,
so that means that people
in the community
come together and do
these courses and these
Codelabs together as a group,
and go above and beyond
and advance on their own--
in their own time, and
doing those things,
and learn together, and share
their experience afterwards.
So it's a really good
point to also come together
to the community-- as a
community to grow on this.
LYLA FUJIWARA: Yeah.
MURAT YENER: There are GDGs
everywhere, so go take a look.
There's probably a GDG nearby.
[INAUDIBLE], and--
LYLA FUJIWARA: Yeah,
and I think that we-- so
sort of bouncing off that, I
don't know if you mentioned
the Kotlin Everywhere campaign
that is currently going on that
is specifically for GDG groups.
That stands for Google Developer
Group, where you get together
and you're specifically
learning about Kotlin topics.
DAN GALPIN: Yeah, it's
another TLA, that.
[LAUGHS]
LYLA FUJIWARA: Yeah,
it's another TLA.
BEN WEISS: And this--
LYLA FUJIWARA: GDG, GDEs.
If you do-- if you
have GD, there's
probably another letter after
it that means something.
MURAT YENER: And
GDGs are amazing,
because we can find
every level of people,
and there will be
someone who can help you.
DAN GALPIN: [INAUDIBLE] if
you want to ask this one?
LYLA FUJIWARA: Yeah, totally.
So we just got a question
from the YouTube Livestream
from Kohaku, which is, how do I
join a GDG community in Ghana?
[LAUGHS]
DAN GALPIN: We actually
have one in Accra, right?
Right?
BEN WEISS: Awesome, yeah.
MURAT YENER: [LAUGHS]
LYLA FUJIWARA: Yeah.
So--
BEN WEISS: So--
DAN GALPIN: If you
live in Accra, then--
LYLA FUJIWARA: So I
actually was watching Dan
as he was looking up how
to answer this question.
So how do our viewers at
home answer this question?
BEN WEISS: So firstly--
well, look it up
on the GDG site.
So you go in Google and you
search for Google Developer
Groups.
There is a site that
leads you and shows
you a map with all the local
communities that are there.
And usually those, they have
meetups every so and so often.
And you can join one
of those meetups,
or you can also find them on
Twitter, for example, and ask
them when the next meetup is,
if it's not scheduled already.
And if there is no
community around you,
the best place to
start is literally just
put yourself out
there and sit together
with a couple of
people, talk about it,
and do that more
and more frequently.
DAN GALPIN: Yeah.
LYLA FUJIWARA: And this--
DAN GALPIN: In this-- in the
particular case of Accra,
there actually there
is a meetup page--
LYLA FUJIWARA: A post.
Awesome.
DAN GALPIN: --where
you group on, so--
LYLA FUJIWARA: Do they
have a meetup coming up?
DAN GALPIN: They-- I don't know.
That's a good-- that's
a different question.
LYLA FUJIWARA: Well, I guess--
[LAUGHS]
DAN GALPIN: Looks like it.
LYLA FUJIWARA: In
a second, we'll
be able to answer that question.
DAN GALPIN: There was an event
just a couple of weeks ago.
So it looks like it's active.
LYLA FUJIWARA: It's active.
So yeah.
I guess one of the questions I
was going to ask is you guys,
you've definitely been
involved in G-- you've both
been involved in GDG groups.
BEN WEISS: Yes
LYLA FUJIWARA: So maybe a
little above and beyond,
but did you start your GDG
groups, or did you join on?
BEN WEISS: I did not start it,
but I made it-- after a while,
I converted it to be a GDG.
LYLA FUJIWARA: OK.
BEN WEISS: So it was
a community before.
There were a couple of
people that sat there before
and started doing it,
and I took it over,
and we then converted
it to being a GDG.
LYLA FUJIWARA: So yeah.
I mean, if you have a
group of community members
who are like, hey, we're already
kind of doing GDG type stuff,
how do you then turn
it into a GDG group?
BEN WEISS: So you probably
have the best answer on this,
since you did this
from the get-go.
MURAT YENER: Yeah, I
mean, if you're starting--
and actually, if you
don't have a GDG around,
you can easily start one.
And it's not actually really,
really that complicated.
How I started one was I
was actually coming here,
in Bay Area, to
attend Google I/O,
and I attended a GDG event
a week before Google I/O.
And at the time,
it was called GTUG,
actually, Google
Technology User Group.
BEN WEISS: It was an FLA.
MURAT YENER: [LAUGHS]
BEN WEISS: Four Letter Acronym.
Yeah.
[LAUGHS]
MURAT YENER: And
then, a week after, I
saw the same guys in Google
I/O, and they all remembered me.
I was like, that was really
touching, they remembered me.
And they will remember
what I was talking about.
DAN GALPIN: And you didn't even
have a hat back then, right?
MURAT YENER: Yeah.
LYLA FUJIWARA: [LAUGHS]
MURAT YENER: Yeah, I wasn't
that recognizable, I guess.
[LAUGHTER]
Then I went back,
and I really wanted
to have something like that,
but there was no real community
or any user group event.
I gathered few people.
We started meeting
at coffee shops.
Then more people
started showing up.
My company sponsored to
have a small room, which
was really not much.
Again, we didn't really
need much resources.
But then, we started
meeting there
and things grew large enough
to hold Dev Fest over thousands
of people.
And again, it basically
happened on its own.
I didn't do something--
a lot on my own.
People started showing up.
People stepped in,
organizing stuff.
So don't be shy.
Go ahead, and people
will come next to you.
LYLA FUJIWARA: So--
DAN GALPIN: So from--
LYLA FUJIWARA: Yeah.
DAN GALPIN: From
nothing, I was going
to say, how big is the
Dev Fest this year in--
and projected to be in Istanbul?
MURAT YENER: This year, I am--
I guess they're expecting
over 1,500 people.
BEN WEISS: Wow.
LYLA FUJIWARA: Whoa.
DAN GALPIN: So that's
amazing [INAUDIBLE]..
MURAT YENER: Which is crazy.
DAN GALPIN: Yeah.
MURAT YENER: I
mean, 1,500 people,
even the registration is like--
DAN GALPIN: Yeah, that's--
MURAT YENER: It's crazy.
LYLA FUJIWARA: I guess besides
being put on the GDG website
as an official GDG group,
what do you get from becoming
a sort of official GDG group?
MURAT YENER: What I always
suggest was go and do an event.
So you don't need to be
called an official GDG.
If you want to do it, start your
own, and then contact Google,
or maybe Google people will--
LYLA FUJIWARA: Will
contact you, yeah.
MURAT YENER: --find
you, because we
have regional leads everywhere.
And the main thing is do
something sustainable.
Don't try to organize any
events for a hundred people,
then run out of resources
and stop doing it.
But start slow, small, and--
DAN GALPIN: Yeah,
coffee shops are great.
People love coffee.
LYLA FUJIWARA: Yeah, yeah.
DAN GALPIN: So--
BEN WEISS: And the
thing about community
is it's people that do
things that matter to them.
So every community
can be different.
Where an Istanbul community
comes together with a Dev Fest
with over 1,500 people,
which is amazing,
your community might be small,
but this number of people
usually is driven by the
people that are in the area
that you are in.
So if you have two
or three people
that come together
regularly, and I think
that is the most important bit.
That's what I saw in Berlin.
We come together, and still
do, every last Wednesday
of the month.
And when this
conference here is done,
next week I'll be in Berlin,
as well, to speak at that--
the event there, because it's
awesome to do that as well.
It's still every last
Wednesday of that month.
And I think having
one specific set
time makes it easier
for community members
to show up and do their things.
And over time, people will
then, like Murat said,
show up and create their
own content provided there,
because they feel like
they want to give it back
to that community.
LYLA FUJIWARA: Cool.
DAN GALPIN: So-- and
at the keynote today,
there was some talk about the
Kotlin GDE program, I think.
Can you shed some
light into that?
BEN WEISS: Sure.
So we did have GDEs for
Kotlin for a while now,
but that was tightly
coupled to being an Android
GDE in the first place.
But our investment
in Kotlin is growing,
and so we decided to
decouple that from Android
as a category.
So people that are
not Android GDEs
can now apply to
become a Kotlin GDE.
So for example, that might
be interesting for people
that work on the
web or in a cloud
and don't do anything with
Android in the first place.
DAN GALPIN: Yeah,
I mean, there's
no reason why Kotlin is
only useful on the Android.
BEN WEISS: That's very true.
DAN GALPIN: So.
BEN WEISS: And we've seen
people do that, share
a lot of great content
in-- on Twitter,
for example, that are
very invested in Kotlin
as a language and the
things that you can
do with the language, but
not necessarily as Android,
and we wanted to make
sure that we also
give those people
the possibility
to get the recognition
from us in that case.
LYLA FUJIWARA: Great.
OK.
We have a question--
DAN GALPIN: All right.
LYLA FUJIWARA: --live,
coming in right now.
OK, so--
[LAUGHTER]
--and it's something that I did
actually want to talk about.
So Ali asks, "Are
there any new courses
in Udacity for Android?"
[LAUGHS] Murat, maybe you
wanted to take this one?
DAN GALPIN: [INAUDIBLE]
[LAUGHTER]
MURAT YENER: Last I/O, we
released a fundamental Android
course, and just
today, with this event,
we released the
advanced version.
So we have a new
Udacity course, which
talks more about the advanced
topics we wanted to cover.
DAN GALPIN: What kind of topics?
LYLA FUJIWARA: Yeah.
MURAT YENER: Oh,
there is a bunch of.
It starts with notifications,
maps, testing, what else?
DAN GALPIN: Animation.
LYLA FUJIWARA: Motion.
MURAT YENER: Animations, yeah.
LYLA FUJIWARA: Trying to think
if we're missing anything.
DAN GALPIN: And yeah, log in--
LYLA FUJIWARA: Did
you say log in?
DAN GALPIN: Yeah.
LYLA FUJIWARA: Yeah.
MURAT YENER: Yeah,
log in is also--
LYLA FUJIWARA: So doing
conditional log in.
DAN GALPIN: Yeah.
LYLA FUJIWARA: Yeah.
So that's--
MURAT YENER: There is
Fire-based Cloud Messaging.
LYLA FUJIWARA: Yeah.
DAN GALPIN: Yeah.
LYLA FUJIWARA: And if you're
not familiar with Udacity,
it's an online learning
platform with videos
and interactive
quizzes and things.
So you should be able
to see that live soon.
DAN GALPIN: And we
also have Code--
LYLA FUJIWARA: And it's
completely free, by the way.
DAN GALPIN: Yeah, and
we also have Codelabs up
for most of those
topics as well,
so you can either
learn through video.
If you'd rather learn through
traditional web learning,
you can also do that as well.
BEN WEISS: Or you can come
together within your community
and do those courses together.
LYLA FUJIWARA: Yeah.
DAN GALPIN: Yeah, and it's
actually a really great thing,
as any-- because you guys--
you-- both of you
have done that, right?
Have done Codelabs?
MURAT YENER: Yeah,
that's actually
how study jams started.
We basically take some content--
and it was really amazing,
because although Google
provides some content,
some GDGs decided
to use their own
content, so they either
picked other Codelabs or write
their own apps and work on it.
LYLA FUJIWARA: Yeah.
So they are full boot camp-esque
almost training courses.
DAN GALPIN: And I think that's
one of things, when you're
doing learning on your own, it's
really hard to keep yourself
motivated, but you have
a community around you,
that-- all of a
sudden, you get more
excited about doing
it and learning,
and suddenly, you're working
at Google [INAUDIBLE]..
[LAUGHS] So these things happen.
LYLA FUJIWARA: OK,
so MowiDin asks,
"Is the course in Kotlin?"
Yes.
Kotlin First.
It is all in Kotlin.
DAN GALPIN: Yeah.
We actually have
an advanced Android
app that was written in the
Java programming language,
and so this is a full
update, and a really very,
very substantial
update to the app that
use-- it's also taking
advantage of all
of our new, latest patterns.
LYLA FUJIWARA: All
right, awesome.
OK, so I am going to go to--
actually, Dan, do you
want ask this next one,
or pick the next one?
DAN GALPIN: Sure, yeah.
Oh, yeah.
So it's an interesting question.
What-- this comes
from Bigyan4424.
What are the most
common anti-patterns
in Android application
development?
LYLA FUJIWARA: [LAUGHS]
BEN WEISS: Not following
our guidelines.
[LAUGHTER]
LYLA FUJIWARA: Not
following what Ben says.
DAN GALPIN: Yeah.
BEN WEISS: Well,
it's not just me.
It's a lot of people that--
DAN GALPIN: Yeah.
BEN WEISS: --create content.
We spend a lot of
our time to make sure
that we do stuff in a way
that it's beneficial to you,
as a community, and it's
beneficial that you--
we try and fall into pitfalls
so you don't have to.
And we created, for example,
the Android blueprints,
which is a set of--
which is a repository
with a set of samples
that provides you with
architectural guidance,
for example.
We do have the Udacity courses.
We do have a lot
of these things.
Another thing is--
as an anti-pattern,
is getting stuck in one way.
Just because you have
done it like this,
you will always do it like that.
So I know that we put
out a lot of content
in very quick
succession, sometimes,
but that doesn't mean that
you have to follow everything
on that end.
But don't get stuck
with one API because you
have done it like that.
Make sure that you
expand your horizons.
DAN GALPIN: Yeah.
And I think if you
look at blueprints,
what's great about it is that
it's not just a single pattern.
It actually shows a
whole bunch of patterns.
Well, I guess that's it.
We're out of time.
LYLA FUJIWARA: [LAUGHS]
DAN GALPIN: So we're--
that's going to be have--
going to be the last word.
Thank you both, to Murat
and to Ben for joining us.
LYLA FUJIWARA: Just as a repeat,
you can look up GDG groups
on the GDG website.
GDE program, I also believe,
has a website out there?
BEN WEISS: We have
a website there.
LYLA FUJIWARA: We
mentioned Codelabs, which
are online trading tutorials.
Udacity courses, the new
advanced Android launched.
Anything training-wise
I'm missing?
DAN GALPIN: That sounds
that sounds pretty good.
LYLA FUJIWARA: All right.
Yeah, so we hope that you
take this as inspiration
to get involved in
your local community.
We're going to
take a short break
right now from
#AskAndroid, but we
will be back at 5:10 PDT to
talk to Chris [INAUDIBLE]
and Fred Chung about Android 10.
As always, we are actually
taking your questions live,
so just use the
#AskAndroid hashtag
for a chance to see them
answered right here.
So next up, you're going to
learn about the AndroidX WebKit
library.
[BRIGHT MUSIC PLAYING]
