Empower Apps

In the second part of this interview, Leo and Stewart talk about re-learning stuff, iOS 15 challenges, finding the content for you, WWDC videos, and whether you should spend money on courses.

Show Notes

Guest
Youtube Video - https://youtu.be/gH3QnVHsUAc

Related Episodes

Related Links

Sponsors

Linode
A cloud experience developers love
  • Great for Setting Up a Backend for Your App
  • Variety of VM Configurations and Settings
  • Reasonable Pricing Starting at $5 per month
  • Global Data Centers
  • The Developer Cloud Simplified
Try it today with this special link:
https://www.linode.com/?r=97e09acbd5d304d87dadef749491d245e71c74e7


Check out OrchardNest Today:
https://orchardnest.com

Show Notes

  • Is it just me or a bug?
  • When to upgrade to betas?
  • Challenges learning from documentation
  • Learn SwiftUI or UIKit
  • Learning Limitations of an API

Social Media

Email
leo@brightdigit.com
GitHub - @brightdigit

Twitter
BrightDigit - @brightdigit

Leo - @leogdion

Reddit
Leo - /u/leogdion


LinkedIn
BrightDigit

Leo

Instagram - @brightdigit
Patreon - empowerappshow

Credits

Music from https://filmmusic.io
"Blippy Trance" by Kevin MacLeod (https://incompetech.com)
License: CC BY (http://creativecommons.org/licenses/by/4.0/)
Thanks to our monthly supporters
  • Bertram Eber
  • Edward Sanchez
  • Satoshi Mitsumori
  • Steven Lipton
★ Support this podcast on Patreon ★

Creators & Guests

Host
Leo Dion
Swift developer for Apple devices and more; Founder of BrightDigit; husband and father of 6 adorable kids
Guest
StewartLynch
Focussed on iOS development and helping others improve their coding skills.All Social Links: https://t.co/d046J5k2jb

What is Empower Apps?

An exploration of Apple business news and technology. We talk about how businesses can use new technology to empower their business and employees, from Leo Dion, founder of BrightDigit.

Thank you for joining me for another episode of Empower Apps.

My name is Leo Dion. I'm joined once again by Stewart Lynch.

Stewart, thank you for coming on.

Hey, glad to be here again.

You obviously have a big YouTube channel and you've been doing a lot of work on iOS 15.

What's been your biggest challenge

both learning as well as

teaching others on how to develop in iOS 15?

Well, the biggest challenges is

knowing what is a bug in iOS 15 and what is just my lack of understanding

- on one of the APIs.
- Yeah, I think that’s for a lot of folks.

Yeah, I jumped in right at beta 1. And as we're doing this video we're at 5 right now – beta 5.

And some things just aren't working as I would expected or

for example in the case of async image, there’s as far as I know no caching of that image.

there are missing components that you get excited about and then you realize that

well maybe this isn't as great as what I thought it was going to be.

And other things as well like the FocusState I think is great

but there are some deficiencies there as well.

Have you used the FocusState?

- Yeah, I have.
- Okay.

And it's great because, I mean, I used to you use a

UI application shared thing to set the first responder, right?

Yeah.

The FocusState is great but boy if you...

For example, on a task when your view launches if you try and set the FocusState,

at least I haven't tried this in beta 5 yet, but up until beta 4 the FocusState didn't get set.

So you had to embed that setting of your FocusState inside a DispatchQueue. async after

to delay a slight time.

- Okay.
- And the same thing if you presented a modal sheet.

You had to delay it in order to set that FocusState so it was...

so the view was appearing before

or was appearing afterwards so there was this delay

that confused the hell out of me for a while.

Now, it seems to be working but...

Do you have iOS 15 on your primary device now?

No, I don't. That’s the other thing is that I have it on my iPad but not on my iPhone.

- Okay.
- I'm running everything on the simulator at this point.

So that also limits the things that I want to show that sometimes require a device presentation, right?

I’m not exactly sure when I'm going to jump in.

I’ve got one my maxes on Monterey the other one is still on Big Sur.

Thank god I can run XCode under Big Sur because I wouldn't want to go onto Monterey because

there are definitely some issues with Monterey particularly with my recording software that

- just doesn't work.
- Oh yeah. I haven't even thought of that.

Obviously, I’m on Big Sur. There was one episode I did that was almost lost when it was on beta.

This was a couple of years ago. Luckily, I learned my lesson there.

But like, I put it my...

I updated my phone this week to iOS 15, my primary phone. I updated pretty much everything.

and then I updated my watch because I wanted to test some stuff on watchOS 8.

- I have some watch apps.
- Okay.

So far so good but I haven't really deep dived into a lot of the new iOS 15 features yet.

If anything like...

I don’t know. The one new thing I played around with recently was doxy which I really love.

I had posted a whole site. I deep dived into RSS parsing and all that stuff

so I had put out that library syndicate out for parsing RSS

and got a doxy site out with Netlify.

And like, another thing I learned new to try to figure out how it works and all that stuff

and GitHub actions and all that stuff.

That I really enjoyed doing but I haven't really played around with any of the new SwiftUI stuff.

- What's been like...
- so doxy...

Yeah, go ahead.

No. The doxy that's basically only really usable in frameworks. Isn't it?

- Uhh...
- Like you can't use it. You can't...

apply doxy to... I mean, I was hoping that I'd be able to really build

some nice documentation just for a full app.

You could refactor out part of the application as a framework and then run doxy.

I mean, that would be the way I would go about it. I think that would make sense.

Right.

But there’s also the features with building out tutorials. I haven't gotten into that yet

but you can build out whole tutorials and stuff like that.

That’s why I was excited about that.

- Right.
- But I haven't...

I guess I'm waiting for somebody to do something on that

you know, provide a tutorial that I can jump into and then

- take it from there.
- You mean like a meta tutorial?

A tutorial on building tutorials?

Yeah, sure. Why not?

But, yeah, I'll post a link to the doxy site and the whole repos on GitHub

if you want to take a look, if you want to see how I build the doxy site.

But I like it a lot. It looks really nice.

It looks like Apple documentation but with everything actually filled in.

That's what I really liked about it.

I think that goes back to one of the deficiencies of documentation

you often find, as like you said, either you're not sure it's broken

or there's a bunch of stuff missing.

Right.

It seems that's what you've run into with some of the new stuff.

I assume you mostly have been working with SwiftUI I guess.

- It’s all SwiftUI basically.
- Yeah.

- Yeah.
- Yeah, yeah.

Yeah. In fact, I had to go back and update one of my apps that was in UIKit.

I can't believe how much I’ve forgotten.

I don't know if it's a factor of my age or whatever but...

Forgotten about UIKit?

Yeah.

I’m so in ingrained now in SwiftUI and thinking in SwiftUI.

Yeah, same here.

And going back to UIKit is completely foreign to me.

I haven't even looked at the difficult data sources.

I mean, I did initially when they came out thinking okay I'm going to dig into that as well.

The new collection views and I'm still table view guy, right?

I don’t want to go back to UIKit.

I want SwiftUI to fill in all the gaps and all the pieces because that's...

I don't have that many years left you know.

I got to take advantage of what I've got. And so I'm moving forward and I'm not looking back.

But sometimes I'm forced to go back if I want to update my older apps

especially the ones that are making money so.

Well, yeah or you might have to use the UI hosting controller.

No, sorry, UI view representable often.

- So there's that to fill the gap.
- Yeah, sure.

Yeah, yeah.

Like I’m in the same boat like I...

I hate to say this but I've been doing some Objective C lately

because I'm migrating some old code.

And like, I'm actually doing some of that and being able to support old code at the same time.

Like I've forgotten...

I've forgotten a lot of stuff about Objective C and it was like,

oh right, you need a semicolon at the end of every line. Oh man, I haven't done that in ages.

Yeah.

But yeah, like you said when you wrap your head around a certain mental model

of how things work and then you have to go back to the old way of doing and it's like,

yeah, you do. Even at my age, trust me, I still forget like,

how to manage UI view controllers and do all that stuff.

- It's...
- Yeah.

It's a pivot that you're not used to.

Yeah.

Well, the interesting thing now is that

less and less now when I'm answering questions people are

- back in UIKit.
- Right.

More often than not now it's SwiftUI so

that's better. I don't have to ask the question, “Are you UIKit or SwiftUI?”

Oftentimes it's, “What's UIKit?”

- So shows you how far we’ve come.
- Oh wow! Really?

Yeah, yeah.

- Or essentially that.
- I mean, I don't want to be

unless it’s a really big app obviously.

Like, if it's my app, I don't want to write a UIKit app.

- And it's not like anything against UIKit.
- No.

But like...

But I don't want to have to maintain that in five or ten years

You know, assuming that app is still active, right?

But like, I don't want to have to maintain old UIKit code. I just...

That's not something I enjoy doing. I'd rather work with SwiftUI.

By far the previews I think is one of the biggest advantages and the ability to

just hook up data easily without having to manually do it with MVC.

- It's such a big help.
- Right.

That to me is the biggest selling point starting any new app in SwiftUI.

Certainly makes building sample projects easier.

Yeah, right.

You can just throw them together.

The biggest challenge for me in SwiftUI though is the whole

- navigation scheme.
- Yeah.

Particularly if you have an iPhone app that you want to perform well on an iPad.

I'm used to in UIKit of using split view controllers.

This just makes much more sense to me. Whereas, this

stacked navigation view with the three views that give you that triple navigation

- it doesn't.
- Yeah.

... doesn't. You don’t have as much control over it

- Right.
- as you do with UIKit stuff.

157
So I'm just always hoping that that's something that they're going to address

158
but nothing so far so.

159
- You know...
- I had to do...

160
There was one app where I was using, I needed something like a page review controller

161
and they don't have anything like that in SwiftUI so I ended up...

162
I ended up using, creating a UI view controller representable with a

163
UI page view controller because there was no other way I can do it in SwiftUI.

164
You do it with the tab view not with the paging tab view?

165
Yeah, there's no little dots at the bottom.

166
Oh, the little dots. I see.

167
- Yeah.
- Yeah, how...

168
There's a bunch of other stuff I couldn't do with the tab view.

169
Because that would have been the nice option. But no, I didn't have that choice.

170
Yeah, the...

171
I know, umm...

172
Gee Ramble. He basically will build this navigation out in UIKit

173
- and then...
- Okay.

174
- then everything else in SwiftUI.
- And then hook it up.

175
That’s actually a good idea in a lot of ways. I didn’t thought of that.

176
- Yeah, that makes sense.
- Yeah.

177
Because I have this one big app that I want to convert over to SwiftUI.

178
And that's what's holding me back right now is the whole navigation stuff.

Maybe I should just take the navigation framework and

bolt it on from there.

Yeah.

Well, going back to the topic. One of the things that you find

when you're learning something new is you don't know its limitations.

That's to me the scariest thing is if you're trying to use something

and then you find out you can't do it and you spent all this time learning all the stuff.

I don't know a good way of figuring out if you're going to learn a new API whether that API has limitations.

Because sometimes, like I said, you don't know what you don't know until you deep dive

and then you're like, “Oh whoops! This was a waste of my time.”

Yeah. But also oftentimes is that

it's not going to do it the way that you want to be able to do it.

But that doesn't necessarily mean that there's not another way to accomplish exactly the same thing.

- So, you know...
- Yeah, that's sure.

You really do have to keep an open mind with respect to that, right?

And uh...

I mean I....

I spend at least the first hour of my day every day

going through the people that I follow on Twitter and

going through blog posts. I use a bookmark manager called rainbow... rain...

- Raindrop?
- Raindrop.io

- Yeah, okay.
- Yeah, Raindrop.io.

And everything gets categorized in terms what is it, is it SwiftUI, is it an iOS 15 thing,

or is it dispatch queue type stuff, or concurrency, whatever the topics are.

I just keep on building up this library of different posts and videos.

That, if I, especially if I'm going to do a video

then I’m going to go through every single one of those resources and then just start to

absorb all the different things, and find out

all the different ways that people accomplish one thing or another.

I think that's really important. You got to really keep your mind open

to learn how to do things because there's always more than one way.

In fact, your way may not be the best way, right?

That's a really good idea. I use Bear for my note taking.

I like the idea of tracking videos, blogs, articles, etc.

What was it that I used to use? Was it Delicious?

It was one of those bookmark tracking, bookmark manager apps.

- I used to use that a long time ago.
- I use Wonder Tree.

I think it was initially. But now it's Microsoft native.

But anyway, Raindrop.io was great. It's a...

- I think it might...
- I’ll take a look at that.

Yeah. I did a video on that one as well. I got a video for everything.

But uh...

- Yeah, anyway, I really like...
- How long does it take you to put a video out?

Oh.

- Can I ask that question?
- Depending on...

Yeah, sure. Because it's...

You know, I admire these guys that can whip them together. I can't.

It will generally take me

at least three days to do a single video.

Okay.

- Because I will...
- That's actually not that bad.

That's a lot shorter than me.

- Really?
- Not this episode.

But if I was putting together a tutorial video it tends to take me

a lot longer than three days. So that's awesome.

You’ve got it down to the science so to speak.

Yeah. But it’s a process because I'll...

You know, I'll build a project

then I will

write a script as I build the project again.

Interesting. Okay.

Then, I'll record the video without any audio

following my script.

Then, I'll go and watch the video and edit my script

to match the sequence that I actually did things because sometimes

I do things in a little bit different order.

- Okay.
- Then I'll record the audio.

and then I'll put the two together

and then edit the video and the audio together.

You know, either speeding up or freeze framing to match my content

my audio.

And then, once I've done that then I will go through another run

and do my zooms, and pans, and highlights,

and add my intro, my trailer and then publish it.

- Awesome.
- It's a fairly lengthy process. Yeah.

- That's awesome.
- I never...

I never video and audio at the same time.

- Can't do it.
- Okay.

- Yeah.
- I just can't do it.

I make too many typos.

Well, it's probably a little bit easier that your face is in there, right?

Because then you don't have to think about it.

Oh yeah, that’s why my face is never there.

- That's the secret.
- I just couldn't do it.

There'll be so many edits.

How are we doing on time? I want to make sure.

- I’m fine, but totally up to you.
- Okay.

- Yeah.
- Okay.

I want to talk a little bit more about mentoring.

Yeah.

How...

How do you find a good mentor I guess out there?

Like, what's the best method you think for doing that?

First of all don't be afraid to ask.

Because I think that's one of the biggest things that

particularly new people is that they're afraid to ask questions

because they don't know what they don't know.

And...

I think this is one of the real pluses of the iOS community is that

boy, I mean, it's just fantastic.

mean, you've got some really high profile people

that are willing to give their time to help you out to get to where you want to go.

And uh...

You know, people are picking up mentees

just because that they want to if that person shows an interest.

You know, if you’re going to ask a question from somebody and this is...

I took offense to one young fellow that

asked me a whole number of questions. And I went through a fair amount of time sort of

going through his project, fixing the project up for him.

Documenting what I have done because I want to make sure that he understands what he's done.

Fire it back to them and don't hear back from them.

A week later I messaged him and saying, “Okay, did you get what I sent you?”

Because you never know if things get lost in the ether or whatever.

He says, “Yeah, it worked great.”

And so, you know, pulling the age card I said, “It’s...

proper for you to appreciate somebody. I'm not asking for anything

just acknowledgement that it helped you and that it was done.”

That to me is really important. If anybody helps you,

thank them and give them credit if you're going to use what they help you with.

You know, that's the least that you can do. I think if you do that

then you're more likely to get more feedback from that person or others as well.

- Because you just sort of build that.
- Yeah.

I’m just wondering if this person just wanted the code

- to work and they didn’t even care to learn.
- Oh yeah.

That's what I’m really afraid of. Those situations.

It’s just like, “Stewart, do the work for me. I don’t want to do it. I don’t care to learn.”

Yeah.

Actually, that was interesting. I did a series of well over a year ago on

authenticating with Apple using on Firebase.

- Okay, okay.

It was a six or seven part series.

And at that point I wasn't putting my finished source code up on...

on GitHub. Now, all of my projects you can get the completed code on my repository on GitHub.

But at that point, I hadn't been...

But, you know, it was step by step,

work your way through it, just follow what I'm doing, and you'll get through it.

And then I get this message from this guy saying, “You didn’t...

Can I get the finished code?” And I said, “Well, I haven't really done that because it's got my

info.key in there for that Firebase requires. I have to pull that out and send it to you.”

And he comes back and he says, “So you're just full of yourself.”

You know, and that affects me.

You know that’s called? Oh, what is it? Choosy beggars.

Choosy beggars. It’s like you’re being so nice to them

and it is like, well, you didn't do this exact thing.

They feel like they can get away with that.

I don't take criticism kindly.

I guess that's why I was such a terrible vice principal in high school.

Because you can't please everybody when you're a vice principal, right?

You've got students, teachers, and parents who all think that they're in the right

and everybody expects you to support them, right?

- What are...

- Yeah, go ahead.
- What are some good places to ask exactly?

What do you find are some of the best communities for getting answers?

Well, depending on where you're at. I know a lot of people don't like Facebook.

But there are a number of Facebook groups particularly ones like for example Code with Chris.

Oh, he's on there?

- He has a Facebook group.

Nice.

And he has a number of people now.

I think you had Mikaela Caron on your show not too long ago, right?

- Yup.
- She is one of the moderators of that group now.

I think that’s one of the places where she started because she hasn't been at this for all that long.

- Okay.
- She was in there.

Now she's one of the moderators of that group that answers questions from other people.

And so I think he's got a number of people that are like that.

And I'm always worried about posting my video tutorials on groups that are like

Chris' because that could be seen as me trying to capitalize on his popularity

- or whatever because that's what his business is.
- Yeah.

And so, you know, but before that I was always answering questions there as well.

And that's where I've made some connections with people that I’ve been mentoring is through that particular group.

And now Chris says, “No problem.” I can post my videos because they're just

enhancing what he's doing anyway. I'm not trying to sell a course or anything.

But there are I think I do 5 different groups.

I'll post on Reddit. Although Reddit not so much.

- I don't get a lot of feedback on Reddit.
- Reddit has too much of the ‘oh actually’ crowd I think.

Yeah, absolutely. Oh yeah.

That more than anywhere it is Reddit that I get that.

I'll actually say Reddit does have good content.

But as far as asking a question I agree it's not really meant, it's not really built for it.

- No.
- But as far as posting a video I do think it's a good place.

I think you mentioned Caron. Caron posts on there quite a bit and a few other folks I know.

- Yeah.
- Yeah.

Believe it or not LinkedIn which kind of surprised me.

Oh yeah. I've heard that a lot from folks.

My second largest following is in India

- So um...
- Yeah.

and that kind of surprised me.

Actually, I have a lot of followers that are in many

minority, not minority, almost third world countries. Not that India is a third world country.

That surprises me. People that are underprivileged somewhat

yet they're following my videos and they're asking me questions.

I think we don't realize that there's a huge developer crowd outside of the

I know.

Euro-anglo spheres maybe I can put it or parts of Asia.

- I think there’s a lot of aspiring developers
- Africa too.

who want to learn especially in India.

India is huge. But, I mean, they got this huge community anyway, right?

Yeah.

But in Africa I've got people following me in Africa.

It's interesting thus their whole, the respect that they give me. I’ve been called uncle.

- And I say, “Uncle? What?”
- That's awesome.

Well, that’s a sign of respect. Okay, you can call me uncle.

You should change your channel's name ‘Learning Swift with Uncle Stewart’. I love it.

Yeah. Or ‘sir’. I get that all the time.

‘Sir’, yeah.

It's a totally different from some of the ‘hey dudes’ that you get from North America.

“Hey dude fix my code.”

Yeah, exactly. They are much more appreciative.

But anyway, so if somebody wants my help,

if you show me some respect and appreciate what I do,

I will continue to help you.

- Yeah, be appreciative for sure.
- But if you just take my code and run...

- I think that helps a lot
- Yeah, absolutely.

as opposed to like I said ‘choosy beggars’ who are people who...

Who uh... Yeah, just...

Sometimes when people don't pay much for the content they

can be ruder than if they did pay for the content.

- You know what I mean?
- Right.

I feel that can happen sometimes.

Yeah.

The thing I found helpful is finding, if you have a specific question about a specific API,

you'd be surprised that there are specific forums for that on the web whether that's the Swift forums.

Swift forums is actually really good. I like that.

Or Slack and Discord. I've had got a lot of help with Slack and Discord groups,

and channels, or workspaces, whatever, on a lot of stuff.

I find those communities to be really, really helpful when I have a question about something.

I hate Slack to be honest with you.

- And...
- Why?

The reason is that the company that I worked for 7 years

was a groupware product. I'm sure you probably never heard of it. But they were big in education.

- Okay.
- And...

They were the first to develop this whole threaded message

technology in terms of messaging and keeping things out of email

and limiting it to what they called conferences.

And the reason I ended up working for them is because

we used it in the two school districts that I worked for.

I just maxed out on it because they had a platform that allowed me to build apps on top of it

to access SQL databases and everything.

But that whole concept of

of not having a message that was

that had a quote of every single one in that particular thread in that particular message

and having it all limited in a thread that was easy to go back and forth

to go back and forth in to find out what it was. And great search technology built in.

I just found Slack really confusing and overwhelming

in terms of the content because it wasn't focused enough for me.

- Interesting. Okay.
- Now that I guess will depend on the community, right?

Yeah. Right, right.

That's just my take on it obviously. But uh...

I mean, there's a lot out there if Slack doesn't work for you.

Actually, I'm probably a little bit more like that when it comes to Discord.

Discord to me is a little bit confusing.

But there's always something out there like you said,

if Facebook is your cup of tea definitely check that out.

But you've got to go where the people are.

You've got to find where the people are, right?

Yup, yup.

But, you know, Twitter is also great too.

Yeah, Twitter is a really great community out there.

You don't even have to... You just have to find the right people and like,

you know, my DMs are open. I don't know about yours. But feel free to

ask me a question or post a tweet and send it to me. I'm more than willing to help as well.

Yeah.

You have something on here about content providers. Do you want to talk about that a little bit?

Yeah, just to sort of getting to know which ones match with you I guess is what I was saying.

And I think as your path grows,

who you go to is going to change.

And, you know...

Certainly, Paul Hudson if I'm starting out - 100 days of SwiftUI.

I don't think you can find a better resource to get a complete overview.

But it's not going to make you into a developer. It's going to give you an overview.

You've got to find supplementary resources to allow you to dig down onto a particular topic.

And that's where other content providers can provide you with a particular focus.

And Sean Allen was fantastic for that.

Even back when I was first running out the young

Jared Davidson is it? Jared? Do you know Jared?

- I think so.
- Do you know Jared?

He was just a young kid. He's still young. He's only like 23 or something like that

but he’s had his YouTube channel for forever

You know...

providing a lot of content on particular topics.

Different approach from me but lots of good stuff.

Sean probably was the closest

content provider to me than anybody mainly because where he's coming from.

He doesn't come from an IT background. He's more mature

comes at it. And the way he approaches things are more of a well-rounded explanation of things.

And so for me when I was first starting out watching Paul's content I thought was really good.

Now that I have a better understanding on how to focus myself on things,

I go deeper and I'm focusing more on blogs like,

John Sundell's blogs, or Antoine van der Lee's blogs where you're now digging into specific content

and getting a much deeper understanding. So there are different levels.

Do you understand the patterns of practices so then you can deep dive into those blog posts more

- like, yeah, I get where you're coming from.
- Exactly.

Yeah.

So yeah, it's a...

You really do have to understand what your goal is and...

I think just the whole progression is you start on a particular

person in and learn the fundamentals.

Then, find somebody who's going to offer you a well-rounded course.

I think Sean does a fabulous job on that. He's got a couple of full courses where he doesn't...

I subscribed to his last one on CloudKit because I

wasn't all that sure and confident with CloudKit and synchronizing, and I wanted to get an overview.

I watched that at 1.5 speed.

And as he's developing things, and there I made a big mistake is that as I’m part way through

he's just throwing all the code in saying that he's going to reorganize it later

into an MVVM pattern where he's got everything in his view.

Well, I decided I'm going to do that right now but I'm going to do it my way.

And by the time I get to him I'm on a completely different track so now I'm no longer following Sean.

And sometimes things aren't working. But anyway...

But anyway, if you follow along he's really, really good at that.

Another one is Brian Voong - Let's Build That App

where you can take an app from zero, no starter projects. Let's build it from zero

and let's go down and complete that app and not miss out anything.

And, those are I think you go from

an overview

drill down on specific topics, and then take a look at content

that offers you the full meal deal in a single app.

Not multiple apps. One app.

And then, the other content that I really like is stuff that does a complete overview on one particular API.

And um....

Mohammad Azam, Sharp, he does that.

He’ll take a concept like async concurrency and he'll grab material

from a number of different people and present it in video form.

- That's awesome.
- And work through it completely.

And that gives you a complete overview of something that you can now start to apply to your own.

So it's a real progression as far as I’m concerned in sort of

starting overview, drilling down, getting a more full meal deal and then,

and then going back again and focus on a particular API.

A couple of things. A couple of things. I started watching cooking videos

on YouTube. I've been watching a lot of Binging with Babish.

And one of the things I like is when he goes through a recipe

he'll be honest and say, “I got this from America's Test Kitchen. I got this from Elton Brown.

I got this from Lopez.” I appreciate that.

I appreciate the honesty of being able to cite your sources

because not only it's being gracious obviously. But also if Stewart’s going to do a SwiftUI thing

and he's going to borrow something from Sean Allen, right, or maybe from a Sundell post.

Like, I can then go and I could, “Oh interesting. Sundell talked a little bit more about

how to do pull to refresh." I can now deep dive into that and like...

It's that part too. It helps those of us to learn to want to deep dive into

this particular thing that you showed off or somebody else showed off.

And then, really deep dive more into something that you didn't really focus on

because you were having more of an overview.

Yeah, I like that a lot. I appreciate that very much if Mohammad has been doing that as well.

The other thing you didn't mention when you mentioned videos

is WWDC videos.

- Yeah.

- Yeah, Do you... What's your... I like them.

I use them a lot when I want to just...

Beacause...

Even if they're not perfect I'm getting the actual developers

who built the features perspective on how I'm supposed to be using it.

So for me, whatever shortcomings you might think it has. At least for me

when I watch it it's like, “Oh, this is why Apple does it this way. Okay that's interesting.”

And then now I have the basic overview and then I can jump in and

you know, watch or read another blog post from someone else.

Yeah. This year for me was really big watching the WWDC videos

maybe just because of where I’m at.

So I was able to get far more from them now than I think that I have ever been

- able to in the past.
- Ah okay.

- Okay.
- Because um...

You know, I think they make some assumptions. I think that

probably the more experienced people get way more out of the WWDC videos.

Yeah, okay. That makes sense. That makes sense.

So, yeah, this year was great because I’ve really focused on the iOS 15 features.

The downside is that you don't know...

First of all they're showing you stuff that is maybe one version later than

or two versions later than the first beta.

Yeah, that's true.

And then, by the time you hit the fifth beta that's changed

so the video is no longer using the same syntax, right?

- That can be true, yeah.
- Things do change.

Yeah.

But I found that the Apple documentation has been getting way better recently.

So things are really stepping up right there. But, yeah.

Anything else you wanted to talk about before we close out?

Yeah. I think probably...

More than anything else, the best way to become better at anything is to teach it.

100% yes.

Either create a video to share

something that you've learned that you think is really cool.

Create a video on it and you'll learn way more about it.

Or if you don't have the tools to do a video, write a detailed blog on it.

Or volunteer to speak at a conference on it. That’s what I do.

Yeah, that’s scary.

You know, I've spoken at many conferences but never on iOS development.

It was always on this software that I had used before.

Okay. Yeah, I did 10 talks last year.

- Wow!
- Of course, with COVID it was all

like, I think most of them were by far we are just doing videos

so I definitely learned a lot about video production.

But that to me, like you said, it forces me to learn something, and learn something new.

- So, yeah.
- Well,

like I said when I put together a sample project for a video that I'm going to work on

and then I'll write the script as I'm building it.

Well, the second time I build the app I've changed what my original was because

I've realized in the middle of it that this would be a more efficient way to do this.

And then, when I record the video

something else clicks and I'm doing something else. So as you're explaining...

And that's the other thing too is using the right terminology.

And so I have this...

Jargon is a big part of a good community. It's understanding the right jargon.

Yeah, I totally agree. Going back to asking a question,

sometimes people will ask a question they'll the wrong term, right?

- Yeah.
- And it's like...

And you're not sure what exactly they're talking about

and then you got to help them use the right jargon and stuff like that.

- Yeah, yeah. Totally.
- Yeah, yeah.

Actually, now I have this um...

it's called FiveNotes or something like that. It's just a little menu bar app

that allows me to have certain things up there that if, especially...

You know what I always mix up?

The difference between argument and parameter.

What is the difference?

Today I'm going to learn this.

Well, let me bring up my FiveNotes.

Where is it? Let's see.

The other thing is the difference between brackets, parentheses, and angle brackets.

I think they're all different.

Okay.

Okay. Function parameters are names listed in the function’s definition.

Function arguments are the real values passed to the function.

Oh, okay.

Parameters are initialized to the values of the arguments supplied.

Okay. That’s kind of what I thought it was going to end up being.

So arguments is what you pass into a parameter, right?

- Okay. Yeah, that's sounds about right.
- Yeah, but, you know...

Yeah, well, it is right.

But I often mix them up and I'll talk about, “Okay, well, here's this

function. We're passing this parameter in rather than this argument.”

I want to correct myself so that's just something that I have up in front of me all the time.

Or if I'm explaining code and I'll talk about

these are brackets because in Canada we might call a bracket something different

than you in the United States. I call them curly brackets and you might call them braces, right?

- Right, right.
- You know, what do you call those things?

And so you just have this different terminology. So I've got these little notes up there that

if I'm recording I'm always have to look up and as I'm writing my script

as to make sure I use the right words.

Do you know that name for the left bracket is bra and the name for the right bracket is ket?

- No.
- Totally I didn't realize that.

I looked that up on Wikipedia and I was like that's ridiculous. Now I know.

Yeah, yeah.

What do you think about spending money on content? Should you or shouldn’t you?

When do you think it is worth it?

I think it’s always worth it.

You know, you get what you pay for sure.

Yeah.

There is a lot of free content out there but there's also a lot of really good content.

And um... You know, my YouTube channel is not huge.

I make, you know,

not a lot of money each month on advertisement but every

penny of that advertisement goes into purchasing content or

supporting people through Patreon or whatever

going right back into the community to encourage more.

You know, most of us do this not because we're trying to make money.

But it's nice to get some money out of it out of the deal as well, right?

The money makes it sustainable.

- It does.
- Yeah, right.

And it's starting to allow me to upgrade my technology and be able to

get things just to make it easier for me to continue to do what I'm doing.

Because this is... I've got a pension so I'm not

in it for the money, right? I'm in it because I

I want to keep myself fresh as you say, right?

Yeah, same here. I mean, I'm...

I'm super glad that I'm in the software development world because I have to keep myself fresh.

And like, that's what I'm hoping to do over the next decades is being able to just

constantly learn new stuff and not stay stuck in my ways.

I think you did a great job on this episode of explaining

how to do that and how to learn new stuff.

I appreciate that.

I think this has been an awesome set of good episodes.

Thank you so much, Stewart for coming on.

Well, my pleasure. I really enjoyed it. Thank you.

Where could people find you online?

They can find me on Twitter @stewartlynch; s-t-e-w-a-r-t-l-y-n-c-h.

And YouTube same thing youtube/stewartlynch.

That’s where I’m most active. I have a website creaTECH Solutions.

I'll give you the link. I don't want to read it out. Nobody will remember it.

It's okay.

But um... Yeah, and that sort of gives you...

You can take a look at what apps I've built in case you're interested.

It also has links to all my videos. I actually have a notion page that lists

- all of my...
- I just saw that today.

- That's awesome.
- Yeah.

Yeah. There’s 144 listings on there of which I guess about 136 of them or so are videos

that are currently published and the rest are ones that are either done

or in the can waiting to be published. Because I only release one a week.

I have to stay current you know.

If I released all my videos all at once I'd have nothing to have for a couple of weeks

so I try and limit what I release.

- Keeps me current.
- I totally understand

as somebody who publishes a podcast. So yeah, I get it.

Well, thank you again for coming on.

People can find me on Twitter @leogdion. My company is BrightDigit.

If you can post a review on wherever you're listening.

I'm not going to list all the providers because it keeps getting longer every week.

Or if you're on YouTube like and subscribe.

If you have any questions feel free to hit me up on Twitter.

Thank you for joining me for this show and I really look forward to talking to you again.

Bye everyone.

Bye bye.