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]