1
00:00:03,600 --> 00:00:06,030
Leo Dion (host): Welcome to
another episode, Empower Apps.

2
00:00:06,150 --> 00:00:07,590
I'm your host, Leo Dion.

3
00:00:07,590 --> 00:00:09,960
Today I'm joined by Antoine van der Lee.

4
00:00:10,650 --> 00:00:12,780
Antoine, thank you so much
for coming back on the show.

5
00:00:13,500 --> 00:00:15,240
Antoine van der Lee (guest):
Thank you for reinviting me over.

6
00:00:15,300 --> 00:00:16,320
It's a pleasure to be here.

7
00:00:18,180 --> 00:00:21,090
Leo Dion (host): It's been a while
in, just in case there's like two

8
00:00:21,090 --> 00:00:24,210
or three people listening to this
podcast who don't know who you are.

9
00:00:24,820 --> 00:00:26,110
Cuz they live under a rock.

10
00:00:26,170 --> 00:00:28,420
Can you go ahead and introduce yourself?

11
00:00:28,840 --> 00:00:29,620
Yeah, totally,

12
00:00:29,620 --> 00:00:29,980
Antoine van der Lee (guest): totally.

13
00:00:30,030 --> 00:00:33,849
Yeah, so I'm probably most known
from my form of my blog called

14
00:00:33,849 --> 00:00:35,980
Swiftly, where I write articles.

15
00:00:36,220 --> 00:00:37,529
I think since 2000.

16
00:00:39,429 --> 00:00:40,029
Every week.

17
00:00:40,399 --> 00:00:42,799
I got my newsletter as
well, sweetly weekly.

18
00:00:42,919 --> 00:00:47,659
And in my day to day job I'm working
at, WeTransfer where I'm a iOS

19
00:00:47,659 --> 00:00:52,009
engineer, making sure that everything
mobile is as perfect as it can be.

20
00:00:53,749 --> 00:00:55,369
Leo Dion (host): How long
have you been at WeTransfer?

21
00:00:56,369 --> 00:00:59,009
Antoine van der Lee (guest): It's
actually gonna be 6 years This.

22
00:01:00,719 --> 00:01:00,929
That's

23
00:01:00,929 --> 00:01:01,619
Leo Dion (host): awesome.

24
00:01:01,739 --> 00:01:05,309
That's, well, isn't that,
that's awesome, . Yeah, that's,

25
00:01:05,699 --> 00:01:07,019
I mean, in a good way though.

26
00:01:07,019 --> 00:01:10,289
Like, they love you, you
like them, so, absolutely.

27
00:01:10,339 --> 00:01:12,164
That's, that's fantastic.

28
00:01:12,284 --> 00:01:12,854
What was I gonna say?

29
00:01:12,854 --> 00:01:16,064
I love WeTransfer, by the way, if
you're ever looking for a way, like

30
00:01:16,064 --> 00:01:17,234
they're not a sponsor or anything.

31
00:01:17,234 --> 00:01:21,580
So  just if you're looking for a really
easy way to transfer a super big file,

32
00:01:21,640 --> 00:01:23,740
like it's the simplest way to do it.

33
00:01:23,740 --> 00:01:29,560
I find whatever Dropbox, I mean,
I'll use Google Drive on occasion,

34
00:01:29,590 --> 00:01:31,539
but that's more for like mm-hmm.

35
00:01:31,750 --> 00:01:34,330
, I think like if you have a shared
folder, but like if you have just

36
00:01:34,390 --> 00:01:35,980
a file you wanna send to someone.

37
00:01:36,520 --> 00:01:36,640
Yeah.

38
00:01:36,640 --> 00:01:38,889
Like, WeTransfer solid.

39
00:01:39,050 --> 00:01:40,580
And it's just super easy to use.

40
00:01:40,880 --> 00:01:41,180
Antoine van der Lee (guest): Yeah.

41
00:01:41,200 --> 00:01:44,921
As, as, as long as the listeners know
that it's not about money transfers, you

42
00:01:44,926 --> 00:01:46,790
know, we, we get people applying for the.

43
00:01:48,030 --> 00:01:48,310
Right.

44
00:01:48,710 --> 00:01:51,080
We ask them, why do you
wanna work for WeTransfer?

45
00:01:51,150 --> 00:01:54,911
And they say like, yeah, yeah, I've
been using we for years to transfer my

46
00:01:54,916 --> 00:01:56,500
money and you know, and I wanna work

47
00:01:56,500 --> 00:01:57,100
Leo Dion (host): for the company.

48
00:01:57,310 --> 00:01:58,750
They do this in an interview.

49
00:01:59,850 --> 00:02:01,220
Antoine van der Lee (guest):
They, they, that's amazing.

50
00:02:01,220 --> 00:02:02,680
They do that when they apply for a job.

51
00:02:02,680 --> 00:02:05,530
And I'm like, how can you transfer
money if we don't even support it?

52
00:02:05,530 --> 00:02:06,980
So it's all about file

53
00:02:07,220 --> 00:02:07,380
Leo Dion (host): transfers.

54
00:02:08,380 --> 00:02:09,609
And, and NFTs, right?

55
00:02:09,609 --> 00:02:11,470
You can transfer NFTs, right?

56
00:02:11,829 --> 00:02:13,060
Maybe you're doing that this year.

57
00:02:13,780 --> 00:02:15,730
May . You never know.

58
00:02:15,730 --> 00:02:16,450
Sarcastic.

59
00:02:17,655 --> 00:02:18,685
You don't never know.

60
00:02:18,834 --> 00:02:21,234
Assuming there's still a thing in 2023.

61
00:02:21,804 --> 00:02:22,104
Yeah.

62
00:02:22,164 --> 00:02:25,734
So last episode I gave
my solo year in review.

63
00:02:25,734 --> 00:02:30,894
You wrote an article giving your
year in review, and I figure we'd

64
00:02:31,194 --> 00:02:33,414
deep dive a little bit in our.

65
00:02:34,000 --> 00:02:38,410
Mutual year in reviews, but also
kind of talk more because I didn't

66
00:02:38,410 --> 00:02:43,519
really talk a lot about the technical
aspect of how things changed in

67
00:02:43,519 --> 00:02:46,369
the Swift and Apple world in 2022.

68
00:02:47,179 --> 00:02:53,359
But before we begin, I'll just let you
kind of give your quick thoughts on 2022

69
00:02:53,359 --> 00:02:55,519
as far as being a developer in this space.

70
00:02:56,809 --> 00:02:57,619
Yeah, so

71
00:02:58,070 --> 00:02:58,879
Antoine van der Lee (guest): 2020.

72
00:03:00,349 --> 00:03:02,329
Has been quite an amazing year.

73
00:03:02,429 --> 00:03:05,860
Mostly from a personal side of
things to be honest, because I

74
00:03:05,860 --> 00:03:12,010
became a dad in March and I married
my, my wife now in in December.

75
00:03:12,460 --> 00:03:18,370
Altogether quite significant offense
I'd say, but still I had, yes, somehow

76
00:03:18,370 --> 00:03:21,340
if I look back what I achieved from
the technical side of things with

77
00:03:21,340 --> 00:03:23,050
the releases of my side projects.

78
00:03:24,160 --> 00:03:28,140
I, I can't really tell that I had such
major events in my private life as well.

79
00:03:28,775 --> 00:03:30,335
It's, it's been a quite a crazy year.

80
00:03:30,365 --> 00:03:37,775
We had two Swift releases with 5.6, 5.7,
and I remember preparing a talk in June,

81
00:03:38,225 --> 00:03:41,615
two weeks after WWDC and the idea was to.

82
00:03:43,520 --> 00:03:48,020
A topic from, that's kind of like
the whole new thing to talk about.

83
00:03:48,650 --> 00:03:52,880
And if you look back at previous
years, we had major releases

84
00:03:52,940 --> 00:03:57,110
in Swift Package Manager, Xcode
Cloud, Async/Await,  Catalyst.

85
00:03:57,110 --> 00:04:02,059
You know, there, those were kind of
like easy topics to pick for a talk

86
00:04:02,059 --> 00:04:04,030
if you wanna do a talk about WWDC.

87
00:04:04,309 --> 00:04:08,759
And this year I was like, What
is the most obvious one to pick?

88
00:04:08,759 --> 00:04:08,999
Right.

89
00:04:09,600 --> 00:04:10,739
That was an interesting journey.

90
00:04:10,739 --> 00:04:16,740
I, I ended up doing a talk about
opaque types, existential any generics,

91
00:04:17,130 --> 00:04:18,960
and kinda realized which conference

92
00:04:18,960 --> 00:04:19,440
Leo Dion (host): was this?

93
00:04:20,519 --> 00:04:21,450
Several actually.

94
00:04:21,529 --> 00:04:26,130
Antoine van der Lee (guest): I did it
at yeah, quite, quite a few honestly.

95
00:04:26,185 --> 00:04:27,235
That's the thing with the talk, right?

96
00:04:27,240 --> 00:04:28,855
It takes a lot of time to prepare it.

97
00:04:30,219 --> 00:04:35,379
Chances are low, that one Visiting
Fran Kit also visited Ab devcon.

98
00:04:35,409 --> 00:04:35,679
Right.

99
00:04:35,679 --> 00:04:39,699
So yeah, plus if I do my talk
again, it becomes better and better.

100
00:04:40,090 --> 00:04:43,089
And the last version and the
last one I did was in Poland.

101
00:04:43,619 --> 00:04:45,959
Yeah, that was, that was much
better than the first version.

102
00:04:45,964 --> 00:04:46,469
I can tell.

103
00:04:47,469 --> 00:04:47,739
Yeah.

104
00:04:47,769 --> 00:04:51,579
But either way, if I look back,
it feels like really like a year

105
00:04:51,579 --> 00:04:52,929
with, with improvements, right?

106
00:04:52,929 --> 00:04:55,899
So improving the things that we
already have, making them even

107
00:04:55,899 --> 00:04:58,269
better to watch the roads of yeah.

108
00:04:58,299 --> 00:04:59,949
Swift 6 that will hopefully

109
00:04:59,954 --> 00:05:00,639
Leo Dion (host): arrive next year.

110
00:05:02,439 --> 00:05:02,709
Yeah.

111
00:05:02,709 --> 00:05:03,519
Right, right.

112
00:05:03,699 --> 00:05:06,649
Trying to think of what
I've seen on Swift 6.

113
00:05:06,999 --> 00:05:09,309
What was the, there was one
thing I, I just saw recently.

114
00:05:10,059 --> 00:05:10,569
That.

115
00:05:10,809 --> 00:05:14,650
Well, we'll get into it later when we
talk about server side Swift stuff too.

116
00:05:14,679 --> 00:05:16,569
Cause that was a big
thing a few weeks ago.

117
00:05:17,319 --> 00:05:22,110
But Yeah, we also had big improvements
to Swift ui as far as opening

118
00:05:22,110 --> 00:05:24,510
up navigation and layout stuff.

119
00:05:25,110 --> 00:05:30,630
And then one thing, one thing I didn't, I
didn't actually put on our notes, but just

120
00:05:30,659 --> 00:05:35,460
you talking about conferences, it's kind
of here on the other side of the world.

121
00:05:35,510 --> 00:05:39,100
We don't have a lot of
conferences so Bette.

122
00:05:39,885 --> 00:05:43,935
We do now, but last year just the
only conference I remember in the US

123
00:05:43,935 --> 00:05:48,105
was 360iDev and so we talked about
in the last episode they're ending

124
00:05:48,105 --> 00:05:50,055
that, but now this year we have.

125
00:05:51,160 --> 00:05:53,650
You know, a few more new
ones that have grown.

126
00:05:53,655 --> 00:05:54,795
New York Swift.

127
00:05:54,800 --> 00:05:55,075
Yep.

128
00:05:55,125 --> 00:05:55,755
Deep Dish.

129
00:05:55,755 --> 00:05:59,295
Josh is putting together deep
dish and then I guess Toronto

130
00:05:59,354 --> 00:06:01,215
is also coming back again.

131
00:06:01,245 --> 00:06:02,505
I heard that like yesterday.

132
00:06:02,895 --> 00:06:03,135
So.

133
00:06:03,135 --> 00:06:03,224
Nice.

134
00:06:03,705 --> 00:06:04,245
That's good.

135
00:06:04,245 --> 00:06:09,625
Finally, health America has some more
conferences so I kind of envy that you,

136
00:06:09,625 --> 00:06:13,465
you have them, but I'm glad we're growing
more here on the other side of the ocean.

137
00:06:14,710 --> 00:06:15,249
Yeah, but

138
00:06:15,909 --> 00:06:17,229
Antoine van der Lee (guest):
this is a good point, right?

139
00:06:17,340 --> 00:06:21,690
2022 was the first year again
that we had in-person conferences,

140
00:06:21,690 --> 00:06:23,729
or at least many of them.

141
00:06:23,849 --> 00:06:25,920
Cause the year before it was all online.

142
00:06:26,520 --> 00:06:31,590
And honestly that didn't felt as good
as the ones in person where you really

143
00:06:31,590 --> 00:06:33,719
got to meet people, hang out with them.

144
00:06:34,249 --> 00:06:34,549
Yeah.

145
00:06:35,119 --> 00:06:37,279
In terms of conferences, it was a great.

146
00:06:38,279 --> 00:06:39,869
Leo Dion (host): Do you think
things are back to normal?

147
00:06:41,579 --> 00:06:42,839
Well, normal.

148
00:06:42,839 --> 00:06:43,979
As normal as they're gonna be?

149
00:06:44,099 --> 00:06:44,499
Yeah.

150
00:06:44,889 --> 00:06:48,749
Antoine van der Lee (guest): I, I mean,
I guess, I guess what makes it mostly

151
00:06:48,749 --> 00:06:51,209
back to normal is WWDC this year.

152
00:06:51,209 --> 00:06:57,809
If that's going to be as good as it was
a few years back when it was in person,

153
00:06:58,169 --> 00:06:59,729
then I would say it's all back to normal.

154
00:06:59,729 --> 00:07:02,019
But I think the, the.

155
00:07:02,819 --> 00:07:08,579
Different way of working during covid you
know, opened up doors for companies as

156
00:07:08,579 --> 00:07:13,349
well, but as well as for conferences like
wwc where they notice, you know, like the

157
00:07:13,349 --> 00:07:16,559
online format might actually work better.

158
00:07:16,619 --> 00:07:21,089
You know, we, we get so many great
videos that are shorter in time.

159
00:07:21,094 --> 00:07:22,199
They're more to the point.

160
00:07:22,589 --> 00:07:24,659
Everybody can watch them,
everybody can reach them.

161
00:07:25,049 --> 00:07:29,264
But yeah, the one thing that I, I, I
still missed honestly, is, Everybody

162
00:07:29,264 --> 00:07:31,364
from the community gets together and wwc.

163
00:07:31,994 --> 00:07:33,434
I mean, that used to be the thing, right?

164
00:07:33,804 --> 00:07:35,154
You had parties everywhere.

165
00:07:35,154 --> 00:07:38,394
Every evening there was a company hosting
a party where you could go to and such.

166
00:07:39,894 --> 00:07:42,924
I wish that comes back and if that
comes back, then we're back to normal.

167
00:07:43,924 --> 00:07:49,064
Leo Dion (host): Do you, do you think WWDC
will be in person this year at, at the

168
00:07:49,064 --> 00:07:51,645
Antoine van der Lee (guest): minimum
it will be like they did last year.

169
00:07:52,350 --> 00:07:56,070
But yeah, I'm not, not not sure
about you, but at least for me, going

170
00:07:56,070 --> 00:08:02,820
all the way there for just one day,
pretty much, that was a bit too much.

171
00:08:02,909 --> 00:08:05,900
And yeah, it's hard to say
how it'll be this year.

172
00:08:06,900 --> 00:08:07,650
Think about it, right?

173
00:08:07,655 --> 00:08:09,150
If it's back to what it was.

174
00:08:09,599 --> 00:08:11,520
But with the videos, like we are used to.

175
00:08:13,064 --> 00:08:17,205
How will it be to be there every
day, Monday, Tuesday, Wednesday?

176
00:08:17,864 --> 00:08:21,494
You know, watching the sessions in person
while they have the new format, I think.

177
00:08:21,494 --> 00:08:22,484
I think that will be tricky.

178
00:08:22,489 --> 00:08:26,564
So they need to find a new format,
maybe where, where you can watch the

179
00:08:26,564 --> 00:08:29,594
prerecorded sessions in person there.

180
00:08:29,684 --> 00:08:31,604
Kind of like a cinema or something?

181
00:08:31,604 --> 00:08:31,904
Leo Dion (host): I don't know.

182
00:08:31,904 --> 00:08:38,655
I think, yeah, I mean, the thing, the
big thing is, is like Apple, when they

183
00:08:38,655 --> 00:08:44,220
started wwdc, I don't know where, late
nineties maybe, or early two thousands.

184
00:08:44,880 --> 00:08:46,410
They were a different company.

185
00:08:46,850 --> 00:08:50,690
They weren't the mammoth, like biggest
company in the world that they are now.

186
00:08:51,350 --> 00:08:52,310
And so like.

187
00:08:53,375 --> 00:08:57,935
There's a lot of benefit to a lot
of people to just do remote for

188
00:08:58,775 --> 00:09:01,085
like the base content of wwdc.

189
00:09:01,695 --> 00:09:03,465
I do like that they've stretched out.

190
00:09:03,465 --> 00:09:06,105
One thing that we've seen this
year is we've seen more of the

191
00:09:06,105 --> 00:09:10,565
one-on-one appointments and the
slack Q & A say what you will, but.

192
00:09:10,960 --> 00:09:15,600
It's something where like things are
more spread out throughout the year

193
00:09:15,600 --> 00:09:19,080
and it's not just like, here's one week
where you can talk to an Apple developer.

194
00:09:19,080 --> 00:09:19,770
You have more.

195
00:09:20,190 --> 00:09:22,830
It's, it's like, I've had a couple,
I've talked about 'em, I've had a

196
00:09:22,830 --> 00:09:27,440
couple of meetings with folks at Apple
and that's been super helpful for me.

197
00:09:27,890 --> 00:09:29,180
Getting those appointments.

198
00:09:29,240 --> 00:09:33,290
It's not as good as like what it
might have been when WWDC was totally

199
00:09:33,290 --> 00:09:37,400
in person, but at least we're able
to do it more frequently, I guess.

200
00:09:39,205 --> 00:09:39,505
Yeah.

201
00:09:39,505 --> 00:09:39,805
And,

202
00:09:39,810 --> 00:09:40,735
Antoine van der Lee (guest):
and, but this, this one is

203
00:09:41,135 --> 00:09:41,815
interesting as well, right?

204
00:09:41,815 --> 00:09:45,655
Because in a way you could also say
it's better than how it was at top wc.

205
00:09:46,305 --> 00:09:50,415
I re I remember especially the year that
Swift UI was announced, there were so

206
00:09:50,415 --> 00:09:52,545
many big lines for questions about it.

207
00:09:53,025 --> 00:09:56,505
If you look now, you can actually
access all the questions.

208
00:09:56,955 --> 00:09:59,385
That are asked by others in
the select threats, right?

209
00:09:59,475 --> 00:10:03,145
So there are people compiling those
questions in a gate of repository so

210
00:10:03,145 --> 00:10:07,655
you can look them up afterwards, but
it allows you to gain insights that

211
00:10:07,660 --> 00:10:09,695
you would otherwise never, never see.

212
00:10:09,755 --> 00:10:13,055
And I think there, there might
also be the downside that

213
00:10:13,055 --> 00:10:14,255
you can't really go in depth.

214
00:10:14,820 --> 00:10:18,270
Share your screen next to a
developer that works on the

215
00:10:18,270 --> 00:10:19,530
CoreData framework or something.

216
00:10:19,530 --> 00:10:19,860
I dunno.

217
00:10:20,160 --> 00:10:23,700
Yeah, that, those are still things
that, that we missed, but Yeah.

218
00:10:23,730 --> 00:10:26,460
I dunno, there, there there's
better be a balance now, right?

219
00:10:26,460 --> 00:10:28,410
Like they need to find the sweet spot.

220
00:10:29,410 --> 00:10:30,820
Leo Dion (host): Do you
think Here's, here's one.

221
00:10:31,270 --> 00:10:35,170
We're totally going, not on our notes,
but I, I figured I'd ask , especially

222
00:10:35,170 --> 00:10:38,260
considering like there's been a lot of
rumors about a certain Apple product

223
00:10:38,260 --> 00:10:39,640
that people put on their heads.

224
00:10:40,060 --> 00:10:45,610
Do you think we're gonna get any
more in, in person press events

225
00:10:46,990 --> 00:10:51,850
for like, say a March event or a
September event or an October event?

226
00:10:53,425 --> 00:10:56,635
Especially with a product like
that, I can't, I can't see how,

227
00:10:56,635 --> 00:10:59,605
like, how do you show that off?

228
00:10:59,635 --> 00:11:03,055
I guess you could show it off in a
video, but like, it's such a, it's

229
00:11:03,055 --> 00:11:08,725
such a product that you have to feel
and interact and immerse yourself in.

230
00:11:09,445 --> 00:11:09,985
Exactly.

231
00:11:10,135 --> 00:11:10,645
Antoine van der Lee (guest): Exactly.

232
00:11:10,645 --> 00:11:15,445
So I guess they, they would really
benefit from an in-person event at least.

233
00:11:16,380 --> 00:11:19,840
For, for press and media which
they did last year as well, right?

234
00:11:19,840 --> 00:11:22,720
Like press and media was, was invited
as well, I believe, for the keynote.

235
00:11:23,860 --> 00:11:28,810
But yeah, for developers I guess as
well, there must be like a developer.

236
00:11:30,385 --> 00:11:31,585
Or anything similar.

237
00:11:31,765 --> 00:11:35,785
It reminds me as well about the bowling
game with ar when AR was released first.

238
00:11:35,785 --> 00:11:35,995
Right.

239
00:11:35,995 --> 00:11:41,245
You could do a bowling game play
against each other, right, right.

240
00:11:41,245 --> 00:11:41,395
Yeah.

241
00:11:41,395 --> 00:11:42,715
Those, those are the
things you need to do.

242
00:11:43,345 --> 00:11:43,645
Leo Dion (host): Yeah.

243
00:11:44,635 --> 00:11:44,935
Right.

244
00:11:45,325 --> 00:11:46,105
Yeah, exactly.

245
00:11:47,575 --> 00:11:52,735
Okay, so I, I looked over at your top
articles and if I remember correctly,

246
00:11:52,735 --> 00:11:57,275
you had an Async Await article
that was really popular this year.

247
00:11:57,280 --> 00:11:59,675
You had a combined article
that was popular this year.

248
00:12:00,395 --> 00:12:01,325
What was the other one?

249
00:12:01,325 --> 00:12:02,345
I can't remember now.

250
00:12:02,885 --> 00:12:03,245
Do you remember?

251
00:12:03,245 --> 00:12:03,515
I think it

252
00:12:03,515 --> 00:12:05,105
Antoine van der Lee (guest):
was JSON Handling.

253
00:12:06,345 --> 00:12:06,835
Okay.

254
00:12:07,055 --> 00:12:07,985
Just, yeah.

255
00:12:08,165 --> 00:12:08,955
Leo Dion (host): Decoding and.

256
00:12:10,625 --> 00:12:11,555
Yeah, right.

257
00:12:11,585 --> 00:12:15,845
Like advanced co decoding, but like,
it seems like a big thing had been

258
00:12:15,845 --> 00:12:20,375
that people were really interested
in still in Async way and combined.

259
00:12:20,375 --> 00:12:24,935
What's kind of your view of
the relationship between those

260
00:12:24,935 --> 00:12:29,795
two and, and how, how they
work and the ecosystem in 2023?

261
00:12:30,995 --> 00:12:31,565
Yeah, this

262
00:12:31,565 --> 00:12:33,875
Antoine van der Lee (guest):
is a, a hot topic I would say.

263
00:12:35,045 --> 00:12:36,725
Many people wonder.

264
00:12:37,625 --> 00:12:42,245
Whether combined will still be alive in
a few years, especially because we didn't

265
00:12:42,245 --> 00:12:46,865
see any major updates to the combined
framework and this year's release.

266
00:12:48,755 --> 00:12:54,275
I think the, the main point for me is
that if you look at Swifty heavily,

267
00:12:55,295 --> 00:12:58,295
Relies on combined under the hood, right?

268
00:12:58,295 --> 00:13:01,235
Like things like the public property
or the state property, all those

269
00:13:01,235 --> 00:13:05,725
kind property wrappers underneath,
they use combined observable object.

270
00:13:05,725 --> 00:13:12,555
They actually comes with a a publisher in
its definition, the object will change.

271
00:13:13,635 --> 00:13:16,875
So to me it's very clear,
combined is not going anywhere.

272
00:13:16,875 --> 00:13:17,385
And I think the.

273
00:13:18,165 --> 00:13:21,765
They didn't update it this
year, is that it's quite mature.

274
00:13:22,905 --> 00:13:23,895
Combined is nothing new.

275
00:13:23,895 --> 00:13:24,165
Right?

276
00:13:24,165 --> 00:13:26,595
Like we had a Swift,
reactive, Swift for years.

277
00:13:26,835 --> 00:13:31,175
The whole reactive paradigm was
already known or sorted out.

278
00:13:31,175 --> 00:13:36,395
So to me it does make kind of sense that
combine was good from the get go in a way.

279
00:13:36,755 --> 00:13:38,155
So how, how

280
00:13:38,155 --> 00:13:38,705
Leo Dion (host): do they lift together?

281
00:13:38,705 --> 00:13:41,405
What would you look for if you, if
you were gonna look for an update

282
00:13:41,405 --> 00:13:42,595
to combine, what would you look?

283
00:13:43,595 --> 00:13:44,885
Well, I guess

284
00:13:44,985 --> 00:13:46,365
Antoine van der Lee (guest): if
I look into the projects that,

285
00:13:46,455 --> 00:13:48,185
that I work on we would mm-hmm.

286
00:13:48,430 --> 00:13:50,855
often visit the combined extensions.

287
00:13:51,635 --> 00:13:52,445
Austria getup.

288
00:13:52,450 --> 00:13:57,515
It's quite a popular one where it's mostly
just convenience extensions of publishers.

289
00:13:57,905 --> 00:13:59,285
But you can compare it to.

290
00:13:59,985 --> 00:14:02,795
You know, foundation comes with
certain types, but you, you're

291
00:14:02,795 --> 00:14:04,655
still not completely fulfilled.

292
00:14:04,655 --> 00:14:09,545
So you write your own extensions on
strings or, or, or collections or, right.

293
00:14:09,815 --> 00:14:11,165
That's the same with combined.

294
00:14:12,185 --> 00:14:19,775
I don't think I really in a updates in
the core combined framework, to be honest.

295
00:14:20,915 --> 00:14:23,945
It's pretty solid and yeah.

296
00:14:25,175 --> 00:14:27,065
So I didn't really expect
something new there.

297
00:14:28,065 --> 00:14:29,775
Leo Dion (host): I think like,
you kind of hit it on the nose

298
00:14:29,775 --> 00:14:34,085
though, like what, what's kind of
developed out of the community is

299
00:14:34,090 --> 00:14:36,215
kind of what we expect from Apple.

300
00:14:36,220 --> 00:14:40,505
Cuz I'm in the same boat where I'll
u I use Combine quite a bit and I

301
00:14:40,510 --> 00:14:45,485
have the same extensions I have to
put in all my apps because I need

302
00:14:45,485 --> 00:14:50,235
to do a particular thing like, you
know, like, oh, I wanna return an

303
00:14:50,235 --> 00:14:52,875
optional or I need a return, I need to.

304
00:14:53,880 --> 00:14:58,970
Silence and error and just return the
value or or the, so there's that, right?

305
00:14:58,970 --> 00:15:02,960
There's extensions on, on combined,
common, combined methods like a map or a

306
00:15:02,960 --> 00:15:05,660
tri map or whatever, or, or a flat map.

307
00:15:05,690 --> 00:15:10,130
But then there's also, there's, so we had,
you know, when combined came out, we got.

308
00:15:10,525 --> 00:15:14,875
One for notification center,
one for I know I'm gonna forget

309
00:15:14,875 --> 00:15:17,335
this notification Center timer.

310
00:15:17,365 --> 00:15:20,125
And I feel like there's
one other one I'm missing.

311
00:15:20,155 --> 00:15:21,025
Oh, url.

312
00:15:21,235 --> 00:15:21,835
URL session.

313
00:15:21,840 --> 00:15:22,285
Maybe.

314
00:15:22,915 --> 00:15:24,745
I think we got three publishers.

315
00:15:25,285 --> 00:15:25,375
Mm-hmm.

316
00:15:25,715 --> 00:15:27,245
From older APIs.

317
00:15:27,605 --> 00:15:30,885
But There's still a lot of
older APIs that don't have com.

318
00:15:30,945 --> 00:15:34,055
Like you have to like write your own
combined scaffolding for, like, for

319
00:15:34,055 --> 00:15:37,775
instance, I wrote a whole series of
articles in Core location and how to

320
00:15:37,780 --> 00:15:40,115
hook that up into Combine Health Kits.

321
00:15:40,120 --> 00:15:43,505
Common one that I use where
there's, I have to do my own work

322
00:15:43,865 --> 00:15:45,245
to get it to work with Combine.

323
00:15:45,545 --> 00:15:48,395
So I think, yeah, like you said,
those are kind of the missing pieces

324
00:15:48,395 --> 00:15:49,685
where the community can fill those in.

325
00:15:49,685 --> 00:15:50,555
That's fine, but.

326
00:15:51,200 --> 00:15:53,990
You'd think like Apple would kind of
be like, Hey, by the way, here's a,

327
00:15:54,020 --> 00:15:56,090
here's a, here's the Apple way to do it.

328
00:15:56,150 --> 00:15:57,230
You should use this way.

329
00:15:57,730 --> 00:16:01,270
Yeah, I kind of think that's
what's missing in combined.

330
00:16:01,660 --> 00:16:05,020
It's not, it's not like the end
of the world because obviously the

331
00:16:05,020 --> 00:16:06,490
community has filled that in, but.

332
00:16:07,240 --> 00:16:10,270
If there's anything you're gonna expect
from Apple, it'd be those things.

333
00:16:10,510 --> 00:16:14,950
I mean, I do know they have, what's going
back to the whole thing about Async eight?

334
00:16:14,950 --> 00:16:15,430
They do.

335
00:16:16,120 --> 00:16:19,360
I believe that there's some stuff like
even Health Kit where they've moved

336
00:16:19,510 --> 00:16:21,190
some of that over to Async eight.

337
00:16:21,730 --> 00:16:23,830
So I find that interesting.

338
00:16:23,830 --> 00:16:28,480
Whereas they haven't built like
publishers for a lot of those older APIs.

339
00:16:29,350 --> 00:16:29,770
Yeah, but

340
00:16:30,080 --> 00:16:32,050
Antoine van der Lee (guest): I, I
think this comes from the angle, how

341
00:16:32,050 --> 00:16:35,320
Apple looks at use cases for combined.

342
00:16:37,240 --> 00:16:41,620
If, if, if we really come back to your
initial question, like how does Async

343
00:16:41,620 --> 00:16:46,600
live together with combined, I think
there's a certain use case for combined

344
00:16:46,600 --> 00:16:52,720
that that's not really logical to do with
Async, but the way around as well, right?

345
00:16:52,725 --> 00:16:55,930
Like stream of publishing values.

346
00:16:55,935 --> 00:16:58,570
You could use async sequence
as well, but to me that.

347
00:16:59,470 --> 00:17:03,060
Much less naturally versus
a combined streamer.

348
00:17:03,060 --> 00:17:03,810
It's more fairly active.

349
00:17:04,530 --> 00:17:08,790
Yeah, I mean, it makes it just a lot
easier to create like a funnel of, of,

350
00:17:08,980 --> 00:17:13,010
of, you know, operators that handle
the over time you know, deep bouncing

351
00:17:13,010 --> 00:17:14,330
techniques, all those kind of things.

352
00:17:14,330 --> 00:17:18,480
And there is a repository from Apple
that allows you to do all those

353
00:17:18,480 --> 00:17:21,815
kind of operations like sipping
and, and all those kind of things.

354
00:17:23,330 --> 00:17:25,340
It doesn't read naturally to me.

355
00:17:25,420 --> 00:17:29,380
Even the, the asing sequence with
the four loop where the four loop can

356
00:17:30,160 --> 00:17:34,660
run and then it doesn't run for a few
minutes maybe, and then it runs again.

357
00:17:34,750 --> 00:17:38,080
It doesn't feel natural to me
cause it's structured concurrency.

358
00:17:38,080 --> 00:17:43,300
So you expect it to go from top
down, but eventually it would

359
00:17:43,300 --> 00:17:45,910
reach the latest part of your code.

360
00:17:45,910 --> 00:17:48,990
And when Asing sequence,
I feel like we're.

361
00:17:49,720 --> 00:17:50,140
Somewhere.

362
00:17:50,530 --> 00:17:52,000
Whereas with Combine, I totally agree.

363
00:17:52,070 --> 00:17:52,560
Yeah.

364
00:17:52,560 --> 00:17:53,950
With, with combined,
it makes sense, right?

365
00:17:53,950 --> 00:17:56,350
Cause we're used to that
paradigm of a stream

366
00:17:56,350 --> 00:17:57,250
Leo Dion (host): of values over time.

367
00:17:57,550 --> 00:18:01,270
Reacting like a pipeline of,
of, of a stream of data from

368
00:18:01,640 --> 00:18:03,040
multiple sources or Yeah.

369
00:18:03,160 --> 00:18:03,910
Things like that.

370
00:18:04,330 --> 00:18:04,900
Antoine van der Lee (guest): Exactly.

371
00:18:04,900 --> 00:18:09,400
So I, I guess it comes down to, for
me at least, like an aing piece of

372
00:18:09,400 --> 00:18:14,320
code that goes from A to B, but it, it
will go from the beginning till the.

373
00:18:15,895 --> 00:18:18,985
In one in one flow, then
I would use ay weight.

374
00:18:19,615 --> 00:18:19,825
Yeah.

375
00:18:20,155 --> 00:18:21,025
And that, that's how I use

376
00:18:21,025 --> 00:18:21,115
Leo Dion (host): it.

377
00:18:21,125 --> 00:18:21,445
Yeah.

378
00:18:21,445 --> 00:18:21,965
Ay away.

379
00:18:23,335 --> 00:18:23,605
Ay away.

380
00:18:23,665 --> 00:18:29,305
Just to me it makes more sense when you
have a single asynchronous operation that

381
00:18:29,305 --> 00:18:34,495
you're doing, whereas like when you need
to react to a stream of data or you need

382
00:18:34,715 --> 00:18:36,415
to manage multiple streams of data to.

383
00:18:37,675 --> 00:18:43,015
Syncs, I guess, or, or published
properties then combined makes more sense.

384
00:18:43,045 --> 00:18:46,195
I, I, I think that's one of the,
my gaping holes of knowledge that

385
00:18:46,195 --> 00:18:49,705
I'd like to fill this year is
figuring out how Async Stream works.

386
00:18:49,825 --> 00:18:50,315
Yeah.

387
00:18:50,320 --> 00:18:51,955
And kind of getting more
of that perspective.

388
00:18:51,955 --> 00:18:54,715
But it seems like you're, you're kind
of in the same boat as as I am where

389
00:18:54,715 --> 00:18:59,070
it's like I've, we'll talk, you know,
I've jumped into group activities and

390
00:18:59,070 --> 00:19:04,350
group activities is big into Async
Await for managing stuff as it comes in.

391
00:19:04,350 --> 00:19:05,180
And for me, it.

392
00:19:06,120 --> 00:19:06,960
. It doesn't look natural.

393
00:19:06,960 --> 00:19:07,650
Like it doesn't.

394
00:19:07,650 --> 00:19:11,080
I , I still haven't figured
out like I get what's going on.

395
00:19:11,080 --> 00:19:14,600
But like you said, that for Loop is
just, it looks strange to me from what

396
00:19:14,600 --> 00:19:16,850
I expect from an async away process.

397
00:19:17,390 --> 00:19:17,780
Antoine van der Lee (guest): Yeah.

398
00:19:17,780 --> 00:19:20,240
And, but it, it's interesting
what you say, right?

399
00:19:20,240 --> 00:19:23,540
Like you, you still need to wrap your
head around and it's something still

400
00:19:23,545 --> 00:19:24,770
need to figure out bit this year.

401
00:19:25,130 --> 00:19:28,070
It, it could also very well be
something we need to get used to.

402
00:19:28,780 --> 00:19:32,725
When I did my talk on Existential
"any" and  Opaque types.

403
00:19:33,015 --> 00:19:35,745
Generics are now rewritten
using like a "some" keyword.

404
00:19:36,085 --> 00:19:40,725
" Some" is equal to T where
T conforms to protocol.

405
00:19:41,055 --> 00:19:43,665
It's, it's like a short hand
that reads more naturally.

406
00:19:43,670 --> 00:19:45,885
It's e in a way, easier to understand.

407
00:19:46,345 --> 00:19:50,635
But at that point I realize like if
you're like, like a developer that

408
00:19:50,785 --> 00:19:54,895
developed for years, you're used
to the generic syntax getting used

409
00:19:54,895 --> 00:19:56,365
to the new syntax of using opa.

410
00:19:57,640 --> 00:19:59,170
Seems odd because you're not used to it.

411
00:19:59,860 --> 00:20:03,970
But if you're starting today as
an engineer on Swift and you read

412
00:20:04,360 --> 00:20:08,410
Opaque types using the sum keyword,
it might feel much more natural and

413
00:20:08,410 --> 00:20:09,610
you get used to it really quickly.

414
00:20:10,060 --> 00:20:15,520
And that might also apply to
Async way where we are used to

415
00:20:15,550 --> 00:20:16,870
using combined in those cases.

416
00:20:16,870 --> 00:20:18,710
But if you're not aware of how combined.

417
00:20:19,480 --> 00:20:23,110
And you read about async
sequence, you might find that

418
00:20:23,110 --> 00:20:25,100
really natural to yourself.

419
00:20:25,170 --> 00:20:26,790
And, and I find this fascinating, right?

420
00:20:27,030 --> 00:20:28,860
It's kind of like the
tunnel vision we have.

421
00:20:28,920 --> 00:20:30,330
Cause we're used to a certain pattern.

422
00:20:30,720 --> 00:20:33,780
But yeah, maybe it's sometimes good
to step out of it, try it out and

423
00:20:33,780 --> 00:20:35,070
see if it actually works better.

424
00:20:36,010 --> 00:20:38,050
And just accept Yeah, that is different.

425
00:20:38,140 --> 00:20:38,410
Leo Dion (host): Yeah.

426
00:20:39,865 --> 00:20:41,215
Yeah, I totally agree.

427
00:20:41,465 --> 00:20:42,725
Well let's, let's jump into it.

428
00:20:42,725 --> 00:20:48,155
Let's talk a little bit about the
way generics changed this year and

429
00:20:48,160 --> 00:20:49,865
associated types and all that stuff.

430
00:20:50,465 --> 00:20:52,055
We got the new, any key word.

431
00:20:52,115 --> 00:20:55,425
We've already had some, some came
with Swift y because they didn't wanna

432
00:20:55,895 --> 00:20:57,845
have to like specify every single.

433
00:20:58,525 --> 00:21:02,005
Generic type and it makes sense
in that case with our some view.

434
00:21:02,435 --> 00:21:03,665
But any is something different?

435
00:21:03,665 --> 00:21:05,225
You wanna explain the difference?

436
00:21:05,285 --> 00:21:09,455
And how use what, what
purpose I guess it serves.

437
00:21:09,615 --> 00:21:10,105
Yeah.

438
00:21:10,925 --> 00:21:11,075
Yeah.

439
00:21:11,075 --> 00:21:14,775
Antoine van der Lee (guest): So the
reason there's no Swift 6 release is

440
00:21:14,775 --> 00:21:17,585
because Swift team is still working on.

441
00:21:18,045 --> 00:21:23,655
Like, like the final pieces of memory
safety or basically they wanna let us

442
00:21:23,655 --> 00:21:27,255
develop without thinking about all the
difficult things of memory management

443
00:21:27,295 --> 00:21:28,575
and, and all those kinda things.

444
00:21:28,575 --> 00:21:38,435
So we got existential, we got all
those pieces over, make us move to

445
00:21:38,435 --> 00:21:45,425
switch 6 gracefully, existential, any
the, any cured, completely lowercase.

446
00:21:45,760 --> 00:21:47,470
In a way it's not something new.

447
00:21:47,860 --> 00:21:51,220
What it, what it forces you is to think
about the fact that you're using a

448
00:21:51,220 --> 00:21:53,620
protocol that can be of any kinda type.

449
00:21:54,400 --> 00:21:58,450
In other words, for the compiler,
it's, it's hard to predict what

450
00:21:58,450 --> 00:22:02,560
type it'll be, so it can't do any,
you know, memory optimizations

451
00:22:02,565 --> 00:22:04,030
or heap memory optimizations.

452
00:22:04,450 --> 00:22:09,880
Accordingly, if we take the body of
a, I feel when we have to return some

453
00:22:10,090 --> 00:22:17,680
fuel, , the compiler will be able to
determine the exact type at compile time.

454
00:22:18,220 --> 00:22:22,210
It'll be some view stack
or maybe a text element.

455
00:22:22,630 --> 00:22:26,350
And because it knows that it's
gonna be a fee stack, it can

456
00:22:26,410 --> 00:22:30,220
optimize memory allocation for it,
and you get a better performance.

457
00:22:31,660 --> 00:22:35,410
So it's really about, you know, if you
need to use any protocol, that should be.

458
00:22:36,655 --> 00:22:43,315
Like a sign, like maybe I can use
Opaque types instead and be more precise

459
00:22:43,315 --> 00:22:44,725
about the type that's gonna be used.

460
00:22:45,315 --> 00:22:48,795
You'll also get type relations because
the compiler notes which type it will.

461
00:22:50,145 --> 00:22:53,325
And yeah, you get a better
performance overall.

462
00:22:54,555 --> 00:22:55,905
That's a really short summary of what it.

463
00:22:57,840 --> 00:23:00,090
Leo Dion (host): Well, I never
heard the memory allocation story.

464
00:23:00,090 --> 00:23:01,410
That's really interesting.

465
00:23:01,560 --> 00:23:01,980
Like that.

466
00:23:01,980 --> 00:23:05,640
That's a big reasoning
behind the, any keyword.

467
00:23:05,940 --> 00:23:07,650
I've, I started using it mm-hmm.

468
00:23:07,730 --> 00:23:09,960
and then I ended up getting
stuck in a lot of places.

469
00:23:09,965 --> 00:23:10,050
Mm-hmm.

470
00:23:10,490 --> 00:23:13,500
and ended up going back to
just using What's it called?

471
00:23:13,500 --> 00:23:15,060
Constraints on my types.

472
00:23:15,060 --> 00:23:15,120
Yeah.

473
00:23:15,180 --> 00:23:17,160
And sticking with the old way.

474
00:23:17,160 --> 00:23:19,770
So I'm kind of in that boat where
it's like the, any keyword I don't

475
00:23:19,770 --> 00:23:23,100
understand because I'll use it and then
the compiler will be like, yeah, you

476
00:23:23,100 --> 00:23:24,990
can't do this thing because it's an any.

477
00:23:25,480 --> 00:23:28,900
And then I just go back to
using generics and where

478
00:23:28,900 --> 00:23:30,280
constraints and things like that.

479
00:23:30,310 --> 00:23:35,530
Like how have you found, what have you
found the convenience of the, any keyword

480
00:23:35,530 --> 00:23:38,410
and where have you found it useful?

481
00:23:39,355 --> 00:23:41,515
Antoine van der Lee (guest): Yeah, so
the, the tricky part for me is that

482
00:23:41,785 --> 00:23:47,545
so, so Xcode 14 will suggest you in
places to use any keyword as well.

483
00:23:48,235 --> 00:23:52,135
While in many of those cases
you could actually use some.

484
00:23:52,795 --> 00:23:55,855
And with that, Gain a
better, better performance.

485
00:23:55,855 --> 00:23:58,915
And to get back to the performance,
it's, it's a really small hit.

486
00:23:58,915 --> 00:24:00,865
I don't think you'll really notice it.

487
00:24:01,175 --> 00:24:04,775
I, I could send you a link on Swift
forums where it's explained in a bit more

488
00:24:04,780 --> 00:24:06,305
detail for those that are interested.

489
00:24:06,635 --> 00:24:06,755
Okay.

490
00:24:06,855 --> 00:24:10,455
But yeah, nevertheless, I,
I didn't really use any.

491
00:24:11,700 --> 00:24:12,150
That much.

492
00:24:12,150 --> 00:24:12,390
Yeah.

493
00:24:12,870 --> 00:24:16,500
I went over the code base as WeTransfer,
and what I did is I was looking for

494
00:24:16,980 --> 00:24:21,390
kind of like those, those type ratio
types where we had an any experiment

495
00:24:21,390 --> 00:24:26,220
type which would kind of like, yeah,
type, erase the actual experiment,

496
00:24:26,670 --> 00:24:30,250
but it would allow us to pass that
through throughout the globe base.

497
00:24:30,540 --> 00:24:34,650
Yeah, we, we could now replace that with
the lowercase any, and then just reuse

498
00:24:34,650 --> 00:24:36,660
the experiment protocol type that we had.

499
00:24:37,350 --> 00:24:37,740
I think.

500
00:24:39,330 --> 00:24:45,070
Another big improvement is I don't
know this error by mind, but if you

501
00:24:45,070 --> 00:24:46,990
see it, you recognize it for sure.

502
00:24:47,280 --> 00:24:50,220
If you had an associated type
in a protocol and you would use

503
00:24:50,220 --> 00:24:54,180
it as a generic, you would get
like, you can't use this protocol

504
00:24:54,180 --> 00:24:56,520
because it has self constraints.

505
00:24:56,880 --> 00:24:57,870
Some, something like that.

506
00:24:57,900 --> 00:24:58,110
Yeah.

507
00:24:58,650 --> 00:24:58,950
Right.

508
00:24:59,280 --> 00:24:59,430
Yep.

509
00:24:59,430 --> 00:24:59,940
It felt.

510
00:25:01,305 --> 00:25:02,595
Why isn't this working right?

511
00:25:02,595 --> 00:25:03,885
Like it should just work.

512
00:25:03,975 --> 00:25:06,875
And it's what they literally
did in this first session.

513
00:25:06,875 --> 00:25:09,605
They did like it now
suddenly works, right?

514
00:25:09,845 --> 00:25:14,855
They removed that constraint and I think
that opens up more doors than we realize

515
00:25:14,855 --> 00:25:16,805
because it now won't just naturally work.

516
00:25:16,865 --> 00:25:20,135
You don't really realize that
constraint is gone when you use it.

517
00:25:20,185 --> 00:25:23,665
But it'll yeah, allow us
to write more optimized

518
00:25:23,665 --> 00:25:23,905
Leo Dion (host): code.

519
00:25:25,900 --> 00:25:29,830
I have like this talk in the back of my
head about how to use associated types

520
00:25:29,830 --> 00:25:35,590
and generics and, and how, how they
work because they're really useful.

521
00:25:35,900 --> 00:25:39,770
But yeah, I, I can see a lot of now
and probably inter even intermediate

522
00:25:39,775 --> 00:25:43,040
Swift developers just being like,
screw, I don't, I don't want it,

523
00:25:43,040 --> 00:25:45,560
deal with it because of, like you
said, you get things like that.

524
00:25:45,740 --> 00:25:45,860
Yeah.

525
00:25:45,860 --> 00:25:49,010
Where it's like the self, it's
like you can't use it and Yeah.

526
00:25:49,550 --> 00:25:51,230
I, I totally understand
where you're going.

527
00:25:52,025 --> 00:25:52,145
Yeah,

528
00:25:52,955 --> 00:25:54,545
Antoine van der Lee (guest): but
this is, this is a good point, right?

529
00:25:54,545 --> 00:25:58,835
Like for, for those listening that
are like intimidating by the fact

530
00:25:58,835 --> 00:26:02,435
that there's generics and there's
Opaque types, existential any, I

531
00:26:02,435 --> 00:26:05,675
think it's really important to know
that these are just tools in your

532
00:26:05,680 --> 00:26:09,935
tool set that you could use, but it's
definitely not mandatory to use them.

533
00:26:10,305 --> 00:26:13,400
You could write the same code
solutions without generics.

534
00:26:13,510 --> 00:26:15,970
It's a bit more duplicate
code, less reusable, maybe.

535
00:26:16,290 --> 00:26:16,530
Yeah.

536
00:26:16,560 --> 00:26:17,730
But in most cases, that's more.

537
00:26:18,730 --> 00:26:20,770
Leo Dion (host): So let's
talk about one of the apps, I

538
00:26:20,770 --> 00:26:22,270
think, I think you debuted it.

539
00:26:22,270 --> 00:26:25,070
This here is Stock Analyzer.

540
00:26:25,070 --> 00:26:26,900
You wanna talk about your
experience with that?

541
00:26:27,530 --> 00:26:27,980
Yeah.

542
00:26:28,070 --> 00:26:28,370
Antoine van der Lee (guest): Yeah.

543
00:26:28,370 --> 00:26:34,280
So before Stock Analyzer, I always
had that, that eagerness to release

544
00:26:34,280 --> 00:26:35,960
an app on the iOS app store.

545
00:26:36,290 --> 00:26:40,610
That's not per se, developer related,
that's more for the bigger crowd.

546
00:26:40,990 --> 00:26:45,540
And also an app where I can really
jump on new features whenever WWDC

547
00:26:45,565 --> 00:26:47,170
comes with a major iOS update.

548
00:26:47,710 --> 00:26:54,610
And last year, January, I happened to
start looking into stock investments

549
00:26:54,940 --> 00:26:58,900
and naturally I started to learn about
all kinds of ratios, like price to

550
00:26:58,900 --> 00:27:00,790
earnings and all those kinda new metrics.

551
00:27:01,915 --> 00:27:04,975
I didn't really understand and,
and the last thing I wanted to

552
00:27:04,975 --> 00:27:08,245
do is read up on them every month
when I did my monthly investment.

553
00:27:08,245 --> 00:27:08,515
Right.

554
00:27:08,515 --> 00:27:09,765
So okay.

555
00:27:09,915 --> 00:27:13,015
I, I, I guess I started with like an
Excel sheet like everybody does when you

556
00:27:13,015 --> 00:27:18,035
start investing and I, I quickly realized
I need a tool and I want that tool to

557
00:27:18,185 --> 00:27:19,895
tell me like, okay, this is a good.

558
00:27:20,405 --> 00:27:21,155
Price, two earnings.

559
00:27:22,055 --> 00:27:22,325
Right.

560
00:27:22,425 --> 00:27:25,215
And that's when, when I started
thinking about an app, which turned

561
00:27:25,215 --> 00:27:28,635
out to be Stock Analyzer, which
gives you like a score from A to

562
00:27:28,725 --> 00:27:32,355
E, whether or not the rat is good.

563
00:27:32,825 --> 00:27:37,655
In, in theory if everything
is an A, meaning everything is

564
00:27:37,655 --> 00:27:39,615
green you should buy that stock.

565
00:27:39,705 --> 00:27:43,485
That's, that's the id Yeah, I'm, I'm
very much learning stock investment

566
00:27:43,485 --> 00:27:47,755
and, and Stock Analyzer is kinda like a
nice tool side that I can use for both

567
00:27:47,755 --> 00:27:51,760
my stock learning as well as, you know
building new features like, like log

568
00:27:51,760 --> 00:27:53,320
screen widgets and those kinda things.

569
00:27:53,320 --> 00:27:53,710
Last year,

570
00:27:54,710 --> 00:27:58,070
Leo Dion (host): what, what did you
learn out of the experience building

571
00:27:58,170 --> 00:28:01,920
an app or a wider audience that
you didn't know before you started?

572
00:28:02,920 --> 00:28:05,470
Antoine van der Lee (guest):
Well, , it's quite painful actually.

573
00:28:06,925 --> 00:28:08,245
It's a stocks app, right?

574
00:28:08,245 --> 00:28:11,545
And in a way, I'm advising on finance.

575
00:28:12,295 --> 00:28:16,195
And it turned out that Apple is
not really willing to promote or

576
00:28:16,195 --> 00:28:18,115
feature apps that are in that sector.

577
00:28:18,205 --> 00:28:21,905
So some, some are mid, mid 22.

578
00:28:21,905 --> 00:28:24,775
I realized that, which was
which was disappointing.

579
00:28:25,105 --> 00:28:27,115
But that's kind of like
a side story, right?

580
00:28:27,415 --> 00:28:33,355
What, I guess what I, what I, what I
learned is, If you build up an app nicely

581
00:28:33,355 --> 00:28:38,545
with modules and search I got another app
which is also built using a save modules.

582
00:28:39,085 --> 00:28:42,325
Mm-hmm , it, it allows me to
move really fast and, and the

583
00:28:42,745 --> 00:28:43,975
widgets and the other widgets.

584
00:28:43,975 --> 00:28:47,125
I build it quite, quite fast
because I had all that code

585
00:28:47,825 --> 00:28:49,505
ready to be reused in packages.

586
00:28:49,985 --> 00:28:53,465
I wouldn't say that it's per se a
learning from stock analyzer, but it's

587
00:28:53,465 --> 00:28:57,575
at least a learning that I take with
me that for personal side projects.

588
00:28:58,340 --> 00:29:02,990
It pays off even more to have those
packages, your own kinda modules.

589
00:29:03,350 --> 00:29:05,770
It's called the Swiftly sdk, but you

590
00:29:05,770 --> 00:29:05,850
Leo Dion (host): know.

591
00:29:06,850 --> 00:29:08,640
I'm totally like on board with that.

592
00:29:08,640 --> 00:29:12,390
Like all of my apps now are just
basically bunch of Swift packages

593
00:29:12,390 --> 00:29:16,950
connected together with like minimal
code and the actual app base.

594
00:29:17,340 --> 00:29:22,270
So yeah, that's, it's become easier
and easier over the years as Swift

595
00:29:22,275 --> 00:29:24,850
package manager has matured quite a bit.

596
00:29:26,470 --> 00:29:26,710
Yeah.

597
00:29:26,710 --> 00:29:27,070
And, and

598
00:29:27,160 --> 00:29:30,820
Antoine van der Lee (guest): you need to
be prepared for whatever comes next year.

599
00:29:30,820 --> 00:29:31,030
Right.

600
00:29:31,750 --> 00:29:35,050
It's, it's very likely that
we will get another extension.

601
00:29:35,050 --> 00:29:37,480
And you wanna reuse that API layer.

602
00:29:37,600 --> 00:29:37,900
Right.

603
00:29:37,900 --> 00:29:39,240
And if it's all in your Yeah.

604
00:29:39,240 --> 00:29:42,790
In your main project, you need to
go over each file individually, add

605
00:29:42,790 --> 00:29:44,620
them to the target that you created.

606
00:29:44,620 --> 00:29:47,530
You know, it's, it's,
it's painful to maintain.

607
00:29:47,530 --> 00:29:47,590
Yeah.

608
00:29:47,680 --> 00:29:51,910
Whereas if it's a package already,
just include a package and you can go

609
00:29:51,910 --> 00:29:54,580
Leo Dion (host): ahead and, Yeah.

610
00:29:54,580 --> 00:29:55,330
Yeah, totally.

611
00:29:55,950 --> 00:29:59,480
Let's talk about your other big app that
you've been, I mean, I don't know how

612
00:29:59,480 --> 00:30:03,470
old it is, but Rocket Sim, how long, how
long have you been working on Rocket Sim?

613
00:30:03,830 --> 00:30:04,190
Yeah,

614
00:30:04,210 --> 00:30:08,030
Antoine van der Lee (guest): I think,
I think 2018 was version 1.0, which

615
00:30:08,030 --> 00:30:13,190
was a really simple status bar app
where you could execute very basic.

616
00:30:13,910 --> 00:30:15,980
Leo Dion (host): What was the bake,
what did you introduce, I guess,

617
00:30:15,980 --> 00:30:20,820
this year in Rocket Sim and, and
how, how has that experience been?

618
00:30:21,180 --> 00:30:23,250
Just as somebody in the
same space, excuse me.

619
00:30:24,250 --> 00:30:24,490
Yeah.

620
00:30:24,700 --> 00:30:28,690
As someone in the same space who's
been building dev tools, what's,

621
00:30:28,810 --> 00:30:31,900
what kind of have you learned
through your experience with Rocket?

622
00:30:32,875 --> 00:30:33,115
Yeah.

623
00:30:33,115 --> 00:30:33,535
So

624
00:30:33,805 --> 00:30:36,655
Antoine van der Lee (guest): first of
all, I'm, I'm super fortunate to be able

625
00:30:36,655 --> 00:30:42,265
to build a developer tool while I also
have Swiftly targeting developers, right?

626
00:30:42,265 --> 00:30:47,205
So I, I'm, I'm using get up for book
reports and feedback and switch because I

627
00:30:47,205 --> 00:30:50,755
know I got developers they know how Get Up
works and that's, that's super convenient.

628
00:30:50,755 --> 00:30:51,035
Yeah.

629
00:30:51,495 --> 00:30:53,325
It, it's a super fun
project, to be honest.

630
00:30:53,325 --> 00:30:55,835
I'm I'm, I'm building like,
it's a simulator tool, right?

631
00:30:55,835 --> 00:30:59,295
So you can see like a floating
window next to the simulator and it

632
00:30:59,505 --> 00:31:04,015
provides you with all kinda extra
features like recording with touches

633
00:31:04,045 --> 00:31:05,630
recording with landscape support.

634
00:31:06,240 --> 00:31:09,600
Device vessels you can compare
design on top of the simulator.

635
00:31:09,990 --> 00:31:13,170
Over, over the years, I started
to adopt more and more features

636
00:31:13,230 --> 00:31:14,610
also based on use of feedback.

637
00:31:14,670 --> 00:31:18,540
Cause many developers, you know,
they develop every day and they find

638
00:31:18,540 --> 00:31:24,270
themselves doing repetitive tasks,
realizing like, Hey, I, I can improve

639
00:31:24,270 --> 00:31:27,330
the flow and it should be great
if it's, if it's in rocket sync.

640
00:31:28,330 --> 00:31:34,455
Why it's super foreign is because I'm,
I'm, after going into Exco, I run through

641
00:31:34,455 --> 00:31:38,955
all those directories inside the Xcode
app and eventually I found out that

642
00:31:38,955 --> 00:31:41,085
the simulator is built out of slices.

643
00:31:41,655 --> 00:31:46,775
So and it's a funny story actually because
the device bas feature in Rocket Sim is

644
00:31:46,775 --> 00:31:51,275
actually rebuilding the simulator using
the slices that are in the app file.

645
00:31:51,705 --> 00:31:56,145
So I got like a speech few that's
using all those, those slices.

646
00:31:57,420 --> 00:32:02,700
It also means that if, if NewCo version
is out, I directly support a new simulator

647
00:32:03,120 --> 00:32:04,830
because I'm just reusing what they use.

648
00:32:04,830 --> 00:32:06,420
It's like an info list file.

649
00:32:07,620 --> 00:32:07,920
I dunno.

650
00:32:07,920 --> 00:32:11,680
It's, it's super fun and Because,
because I have the, the design comparison

651
00:32:11,680 --> 00:32:15,730
feature, I know exactly where the screen
of the simulator is on your next screen.

652
00:32:16,070 --> 00:32:20,025
And I can do all kinds of things there,
which is why I released Rockets eighth

653
00:32:20,505 --> 00:32:27,075
in May with a grids and a rulers version
where you can show a grid nice, on top of

654
00:32:27,075 --> 00:32:30,275
your app, show rulers to online elements.

655
00:32:30,815 --> 00:32:34,805
And yeah, as we speak, I'm
close to releasing Rocket 9.0.

656
00:32:35,690 --> 00:32:39,550
Super excited about that one, where you
can test post notifications and deep

657
00:32:39,555 --> 00:32:44,080
links using so-called Quick actions,
which we'll show next to your simulator.

658
00:32:44,080 --> 00:32:47,650
So you can directly click on it
and you know, the post notification

659
00:32:47,650 --> 00:32:51,320
will show up or the will be
executed which opens all kinds

660
00:32:51,320 --> 00:32:52,100
Leo Dion (host): of new features.

661
00:32:53,690 --> 00:32:55,100
Is Rocket Sim on the app store?

662
00:32:55,370 --> 00:32:57,050
It's, yeah.

663
00:32:57,260 --> 00:32:57,590
Okay.

664
00:32:57,650 --> 00:32:58,370
Sand Books amazing.

665
00:32:58,370 --> 00:32:59,570
Has it always been on the app store?

666
00:33:00,110 --> 00:33:00,440
Sorry.

667
00:33:02,090 --> 00:33:03,590
Has it always been in the App store?

668
00:33:03,620 --> 00:33:03,860
Yeah.

669
00:33:04,520 --> 00:33:04,760
Antoine van der Lee (guest): Yeah.

670
00:33:04,760 --> 00:33:05,810
So, okay.

671
00:33:05,990 --> 00:33:08,630
I think I didn't really want to
go that route of having to promote

672
00:33:08,630 --> 00:33:12,830
it myself, plus it feels more
secure if it's in the app store.

673
00:33:13,580 --> 00:33:16,190
That was kinda my, my
totally feeling behind it.

674
00:33:16,190 --> 00:33:20,720
And I had a moment where I tried
to switch it out of the app

675
00:33:20,720 --> 00:33:23,120
store because I was just annoyed.

676
00:33:23,510 --> 00:33:26,420
It's, it's really hard
to support a simulator.

677
00:33:27,095 --> 00:33:30,275
When you are sandboxed, right,
you need to use same ctl.

678
00:33:30,765 --> 00:33:33,885
I need to ask access for
all kinds of folders.

679
00:33:34,245 --> 00:33:37,095
Yeah, and if you're not sandboxed,
that opens up the doors.

680
00:33:37,195 --> 00:33:41,155
But then you need to manage updating,
using, using pedal and all those kind

681
00:33:41,155 --> 00:33:43,765
of tools, which was quite a pain.

682
00:33:44,035 --> 00:33:45,145
So I quickly stopped.

683
00:33:46,145 --> 00:33:50,915
Leo Dion (host): One thing I want
to talk about is that you are either

684
00:33:50,915 --> 00:33:56,735
this year or next, or last year,
you worked on doing team licenses.

685
00:33:56,945 --> 00:34:01,085
Speaking of the App store, how does that
work with Rockets Sim and, and what,

686
00:34:01,475 --> 00:34:02,915
like, how, how does that even work?

687
00:34:02,915 --> 00:34:06,485
I don't even understand how you could do
a team of licenses through the app store.

688
00:34:07,115 --> 00:34:07,295
Yeah.

689
00:34:07,295 --> 00:34:07,965
So the app

690
00:34:07,965 --> 00:34:09,615
Antoine van der Lee (guest): store
doesn't support it, obviously, right?

691
00:34:09,615 --> 00:34:12,240
So, How it basically works.

692
00:34:12,240 --> 00:34:17,380
I'm using gibro, and Gibro comes
with a license api and okay.

693
00:34:18,080 --> 00:34:22,490
How, how I compare it is that
you have a Netflix account.

694
00:34:23,180 --> 00:34:25,430
And you bought that
account on netflix.com.

695
00:34:25,860 --> 00:34:28,410
You install the iOS
application and you log in.

696
00:34:28,800 --> 00:34:29,880
You're already premium.

697
00:34:29,940 --> 00:34:31,770
You didn't purchase it
through the app store.

698
00:34:32,200 --> 00:34:36,495
It's kind of the same with with the
license implementation, where the license

699
00:34:36,495 --> 00:34:42,615
key can be activated and it'll use the com
road API to, to validate that according.

700
00:34:44,310 --> 00:34:44,670
Leo Dion (host): Okay.

701
00:34:44,880 --> 00:34:48,330
So basically where you have in-app
purchases, there's a way to activate

702
00:34:48,330 --> 00:34:49,770
the license via Gum Road more.

703
00:34:49,770 --> 00:34:50,130
Exactly.

704
00:34:50,190 --> 00:34:50,520
Okay.

705
00:34:51,550 --> 00:34:53,700
How, how do you like
working with Gum Road?

706
00:34:53,760 --> 00:34:58,680
Did you find out like, yeah, you
work with, or yeah, I think I,

707
00:34:58,680 --> 00:35:00,960
Antoine van der Lee (guest): I, I
looked at different options and Gum

708
00:35:00,960 --> 00:35:03,750
Road was just most known to myself.

709
00:35:04,490 --> 00:35:06,860
I do believe they changed their
pricing this year, which isn't.

710
00:35:08,345 --> 00:35:10,895
In many paper yeah, I dunno.

711
00:35:11,375 --> 00:35:12,185
It works out for me.

712
00:35:12,185 --> 00:35:14,465
And they had a nice API
that's simple to use.

713
00:35:14,465 --> 00:35:16,415
So yeah, for me it worked out.

714
00:35:17,450 --> 00:35:19,520
Leo Dion (host): Yeah, we had
Jordi on the, on the show and

715
00:35:19,520 --> 00:35:21,590
he uses Gum Road quite a bit.

716
00:35:21,620 --> 00:35:21,800
Mm-hmm.

717
00:35:22,040 --> 00:35:26,750
, we never, you know, you never think
about gum road for software necessarily.

718
00:35:26,750 --> 00:35:28,040
It's usually books.

719
00:35:28,250 --> 00:35:28,430
Yeah.

720
00:35:28,490 --> 00:35:30,890
But the way he uses it is really novel.

721
00:35:30,970 --> 00:35:32,170
And, and, and, cool.

722
00:35:32,230 --> 00:35:36,390
So yeah, I was super curious about
your team licenses on gun r gum Road.

723
00:35:37,200 --> 00:35:38,460
Did you buy a new phone this year?

724
00:35:39,450 --> 00:35:40,080
I did not.

725
00:35:40,680 --> 00:35:41,130
Antoine van der Lee (guest): No.

726
00:35:41,550 --> 00:35:41,880
No.

727
00:35:41,940 --> 00:35:42,260
Okay.

728
00:35:44,130 --> 00:35:45,570
No, no, I was happy with my phone.

729
00:35:45,640 --> 00:35:50,310
I, I, I think it wasn't significant,
changed enough for me to say

730
00:35:50,310 --> 00:35:51,600
like, okay, I'll, I'll buy anyone.

731
00:35:52,170 --> 00:35:52,560
Did you

732
00:35:53,490 --> 00:35:53,790
Leo Dion (host): no.

733
00:35:53,795 --> 00:35:54,930
No, I didn't either.

734
00:35:54,930 --> 00:35:58,440
I have an 11 Pro Max and other
than the battery, it's fine.

735
00:35:58,590 --> 00:35:59,340
Totally fine.

736
00:35:59,830 --> 00:36:04,115
Well, the reason I, I wanted to ask, not
just cuz it's what we ask on shows like

737
00:36:04,115 --> 00:36:09,135
this, but like, You did widgets with stock
analyzer, did you look at anything with

738
00:36:09,135 --> 00:36:15,095
like live activities or the dynamic island
as it's called, with either your apps?

739
00:36:15,455 --> 00:36:16,055
Yeah, I,

740
00:36:16,265 --> 00:36:19,205
Antoine van der Lee (guest): I, I
did have like IDs for maybe showing

741
00:36:19,205 --> 00:36:24,435
the stock price constantly or
something, but it didn't really felt.

742
00:36:25,920 --> 00:36:27,360
Really like an add us value.

743
00:36:27,710 --> 00:36:30,350
You know, the, the thing with
side projects, there's only

744
00:36:30,350 --> 00:36:31,400
so much you can do, right?

745
00:36:31,400 --> 00:36:35,480
So you, you need to pick your battles
and for me, life activities wasn't,

746
00:36:35,540 --> 00:36:40,470
wasn't really worth my time and effort in
terms of like the return of investment.

747
00:36:40,920 --> 00:36:43,620
If, if I were to have like an
app word, it makes total sense.

748
00:36:43,620 --> 00:36:45,990
Like, like it does for,
for an Uber or something.

749
00:36:46,380 --> 00:36:46,620
Yeah.

750
00:36:46,620 --> 00:36:49,950
And then I would probably also
find more reason to buy that phone.

751
00:36:50,950 --> 00:36:50,955
. 
Leo Dion (host): Yeah.

752
00:36:50,955 --> 00:36:54,045
I mean, it sounds like Stock
Analyzer is much more analytical.

753
00:36:54,135 --> 00:36:54,225
Mm-hmm.

754
00:36:54,585 --> 00:36:58,035
than just like, oh, I am constantly
looking at the stocks and figuring

755
00:36:58,040 --> 00:37:00,165
out how to, how to say ahead.

756
00:37:00,345 --> 00:37:00,615
Yeah.

757
00:37:00,885 --> 00:37:02,085
So yeah, I totally agree.

758
00:37:02,295 --> 00:37:05,115
And I'm in the same boat where it's
just like, is it worth my time?

759
00:37:05,805 --> 00:37:09,975
Like, you know, will it extend
my app store exposure, I guess?

760
00:37:10,085 --> 00:37:12,515
Or will it be useful to the customers?

761
00:37:12,520 --> 00:37:15,065
Like, yeah, that's kind of the
questions you have to ask when

762
00:37:15,065 --> 00:37:16,295
you have finite amount of.

763
00:37:17,030 --> 00:37:19,010
Antoine van der Lee (guest): That's,
that's the reason you could do it, right?

764
00:37:19,010 --> 00:37:24,600
Like to jump on that boat of the
September official release of iOS 16

765
00:37:25,060 --> 00:37:29,170
be part of all those lists where you,
you'll be listed because you support lock

766
00:37:29,175 --> 00:37:30,940
screen widgets or those kind of lists.

767
00:37:31,510 --> 00:37:31,840
Right.

768
00:37:32,020 --> 00:37:35,470
But yeah, that's, that's where I realize
that I'm not going to be featured

769
00:37:35,470 --> 00:37:37,570
soon cause I'm a financial advisor.

770
00:37:37,900 --> 00:37:39,250
So the, the, the, yeah.

771
00:37:39,250 --> 00:37:39,910
That intent

772
00:37:39,910 --> 00:37:40,330
Leo Dion (host): was lost.

773
00:37:40,330 --> 00:37:40,780
Yeah.

774
00:37:40,785 --> 00:37:40,990
Yeah.

775
00:37:41,470 --> 00:37:43,270
Live activit is not gonna change that.

776
00:37:43,270 --> 00:37:43,630
No.

777
00:37:44,785 --> 00:37:47,425
Well, thing about, I wanted to
touch on, just jumping back on Stock

778
00:37:47,425 --> 00:37:53,765
Analyzer is you wanna do some, you
want to port it to the Mac, the iPad.

779
00:37:54,485 --> 00:37:58,815
Did you say TV in the, I don't know
if you said tv, but you wanted to do a

780
00:37:58,820 --> 00:38:00,825
multi-platform app with Stock Analyzer.

781
00:38:00,825 --> 00:38:04,345
What's your, like, what's your
plan for that and how does that,

782
00:38:04,375 --> 00:38:08,305
how does that work with the way
you've architected the app already?

783
00:38:09,085 --> 00:38:10,045
Yeah, so I think

784
00:38:10,165 --> 00:38:15,835
Antoine van der Lee (guest): the, the
biggest question here is like, so apps

785
00:38:15,865 --> 00:38:19,675
are often iPhone only because they're
still validating their concept, right?

786
00:38:19,705 --> 00:38:22,045
They're still finding out
what, where they wanna be.

787
00:38:22,615 --> 00:38:28,495
And if you expect big UI chases, you don't
wanna do that on all those platforms.

788
00:38:28,495 --> 00:38:32,425
You kind of wanna know like,
okay, this concept works and I can

789
00:38:32,425 --> 00:38:36,595
now focus on making that optimal
for iPad and macros as well.

790
00:38:38,365 --> 00:38:43,615
I guess for, for me, with still analyzing
first, first and foremost, it was about,

791
00:38:43,615 --> 00:38:47,705
you know, building out the concept,
validating that users want to use it and.

792
00:38:48,265 --> 00:38:53,065
Not spending all my time on just
adding iPad or  support first spend

793
00:38:53,065 --> 00:38:56,845
all my time that I have, if I even
have the time to work on stock, analyze

794
00:38:56,935 --> 00:38:58,285
cause of all other things that I do.

795
00:38:58,735 --> 00:39:02,935
Focus on adding extra ratios and, and
financial data and those kind of things.

796
00:39:03,835 --> 00:39:07,095
So for, for this year I believe
that I'm, I'm at a point where I can

797
00:39:07,095 --> 00:39:11,445
start thinking about it and how it
works from an architectural point

798
00:39:11,445 --> 00:39:14,910
of view is I, I got a few options.

799
00:39:14,910 --> 00:39:18,130
I can use Mac catalysts
and I can use POS silicone.

800
00:39:18,470 --> 00:39:20,690
I looked at that POS silicone
and it didn't really felt

801
00:39:20,960 --> 00:39:22,550
that that was the way forward.

802
00:39:23,010 --> 00:39:29,700
I could also use AppD, but I think in
the case of Stock Analyzer, it's gonna

803
00:39:29,700 --> 00:39:31,950
be like a, a window app as well, right?

804
00:39:31,950 --> 00:39:34,060
It's not gonna be like a
status bar app, which is.

805
00:39:34,665 --> 00:39:36,865
To manage when you use catalyst.

806
00:39:37,455 --> 00:39:42,225
I think it makes total sense to, to use
Catalyst combined with an iPad app and,

807
00:39:42,230 --> 00:39:43,890
and build those those two together.

808
00:39:44,760 --> 00:39:48,500
And another thing HIDA, I'm not
sure if he's gonna watch this.

809
00:39:48,560 --> 00:39:51,115
It is a big favor of Whatwe applications.

810
00:39:51,115 --> 00:39:53,485
He's a friend of mine and
he pushes me constantly.

811
00:39:53,485 --> 00:39:54,680
You need to build what I said.

812
00:39:55,070 --> 00:39:58,610
So that's another thing I wanna
explore, because if you have widgets

813
00:39:58,950 --> 00:40:02,600
it should be fairly simple to at
least add complications, complication.

814
00:40:02,930 --> 00:40:03,230
Yeah.

815
00:40:03,380 --> 00:40:05,290
So that could be kind like a nice quick

816
00:40:06,290 --> 00:40:06,780
Leo Dion (host): Yeah.

817
00:40:06,780 --> 00:40:07,020
Yeah.

818
00:40:07,250 --> 00:40:08,470
That's awesome.

819
00:40:08,560 --> 00:40:12,760
I'm looking forward to seeing the
progress and story on that this year.

820
00:40:13,570 --> 00:40:14,290
Let's see.

821
00:40:15,370 --> 00:40:16,390
Do you wanna talk about Server side?

822
00:40:16,390 --> 00:40:16,870
Swift?

823
00:40:17,830 --> 00:40:18,280
I don't know

824
00:40:18,280 --> 00:40:19,540
Antoine van der Lee (guest):
much about it to be honest.

825
00:40:19,540 --> 00:40:22,570
So it'll be really general and I dunno.

826
00:40:22,600 --> 00:40:22,720
Okay.

827
00:40:24,100 --> 00:40:26,320
Leo Dion (host): We'll save that
for the next episode then, because

828
00:40:26,390 --> 00:40:29,320
in the next episode we'll have
Dave Andon who run the Okay.

829
00:40:29,600 --> 00:40:30,920
Swift package index.

830
00:40:30,980 --> 00:40:31,190
Yeah.

831
00:40:31,250 --> 00:40:31,430
Better.

832
00:40:31,450 --> 00:40:35,360
And they, they know much more about
it, so I totally, I totally agree.

833
00:40:35,720 --> 00:40:36,680
That's, that's fine.

834
00:40:37,310 --> 00:40:39,650
Anything else you wanna talk
about, I guess before we close out?

835
00:40:40,650 --> 00:40:41,280
Antoine van der Lee (guest): Maybe, yeah.

836
00:40:41,280 --> 00:40:41,610
I dunno.

837
00:40:41,610 --> 00:40:44,190
Maybe looking ahead to 2
23, that could be something.

838
00:40:45,780 --> 00:40:46,050
Leo Dion (host): Yeah.

839
00:40:46,055 --> 00:40:52,660
What are you, we'll probably have a new
os, like a new totally new platform.

840
00:40:53,350 --> 00:40:58,500
It's looking like what, what's your, how
about your, what's your list for the,

841
00:40:58,560 --> 00:41:01,170
for this year in terms of features you

842
00:41:01,170 --> 00:41:01,290
Antoine van der Lee (guest): mean?

843
00:41:03,120 --> 00:41:04,200
Yeah, yeah, yeah.

844
00:41:05,100 --> 00:41:05,760
Leo Dion (host): For developers?

845
00:41:06,210 --> 00:41:06,600
Yeah, for

846
00:41:06,600 --> 00:41:07,080
Antoine van der Lee (guest): developers.

847
00:41:07,760 --> 00:41:12,240
I, I think it's, you know, like I
had the same question last year and

848
00:41:12,240 --> 00:41:13,950
I already found it hard to answer.

849
00:41:14,220 --> 00:41:18,420
I think the only thing I could really
think of was something I'm constantly open

850
00:41:18,420 --> 00:41:24,840
for is a replacement of core data, and
last year I had the insight that it'll

851
00:41:24,840 --> 00:41:27,960
not be a replacement, but an alternative.

852
00:41:28,845 --> 00:41:34,425
I don't really think they wanna do,
you know, like an official migration

853
00:41:34,425 --> 00:41:37,815
from coordinated to Swift data or
something that's gonna be super risky.

854
00:41:37,815 --> 00:41:37,875
Yeah.

855
00:41:37,905 --> 00:41:41,475
So if you, if you make it like an optin
where develop need to do that themselves

856
00:41:41,480 --> 00:41:44,375
or something, I think it's more logical

857
00:41:44,715 --> 00:41:47,775
Leo Dion (host): or, well, it seems to be
the pattern too with a lot of their stuff.

858
00:41:47,775 --> 00:41:51,745
Whether it's migrating to
Swift or migrating to Swift UI.

859
00:41:51,795 --> 00:41:52,005
Yeah.

860
00:41:52,035 --> 00:41:55,155
Usually it's opt-in type thing
with compatibility, some sort of.

861
00:41:57,150 --> 00:41:59,490
To to have the two talk
to each other, I guess.

862
00:41:59,520 --> 00:41:59,820
Antoine van der Lee (guest): Yeah.

863
00:42:00,030 --> 00:42:00,930
Yeah, exactly.

864
00:42:00,930 --> 00:42:05,520
So, but other than that,
I'm quite fulfilled.

865
00:42:05,580 --> 00:42:09,480
I don't know, I, I think I
also have so much on my roadmap

866
00:42:09,480 --> 00:42:10,710
already to work on that.

867
00:42:10,710 --> 00:42:13,440
I kind, I'm kind like, you know,
I'm not waiting for anything

868
00:42:13,440 --> 00:42:15,720
I've got to do, so I dunno.

869
00:42:15,780 --> 00:42:16,380
How, how about you?

870
00:42:16,380 --> 00:42:18,000
Do you have anything that you expect or.

871
00:42:19,000 --> 00:42:21,970
Leo Dion (host): What I hope
for just kind of bug fixes.

872
00:42:22,180 --> 00:42:22,270
Mm-hmm.

873
00:42:22,470 --> 00:42:25,020
. In the last episode, I talked
about the issues with my apples,

874
00:42:25,290 --> 00:42:26,700
like with my next studio.

875
00:42:26,700 --> 00:42:31,500
Weird little quirky issues that I kind
of don't expect of a machine like this.

876
00:42:31,570 --> 00:42:33,280
I hope Xcode gets better.

877
00:42:33,370 --> 00:42:33,610
Yeah.

878
00:42:33,770 --> 00:42:37,820
I don't know about you, but I'm in having
issues where it'll show me the error

879
00:42:37,820 --> 00:42:42,380
and then it'll hide it right away and
I'll have to like clean and then build

880
00:42:42,380 --> 00:42:44,420
again, which can take a bit longer.

881
00:42:45,150 --> 00:42:47,430
I hope improvements,
apple Watch development.

882
00:42:47,730 --> 00:42:52,530
We have this massive new watch and
people still have issues developing on

883
00:42:52,535 --> 00:42:57,880
it, so I kind of hope we get something,
some improvements in that, that way.

884
00:42:57,880 --> 00:43:02,380
Like even just, and I know it's
not Apple style, but just kind of

885
00:43:03,130 --> 00:43:06,520
revealing a little bit like behind
the curtain what's going on when an

886
00:43:06,520 --> 00:43:10,450
issue does come up so that we have
better ways to, to, to work around it.

887
00:43:11,260 --> 00:43:13,430
I mean, I think that's
kind of, that's kind of it.

888
00:43:13,460 --> 00:43:16,910
Like I feel like they really push
features a lot, but at the same

889
00:43:16,910 --> 00:43:21,440
time, yeah, just sometimes basic
stuff I run into issues with those

890
00:43:21,440 --> 00:43:22,700
would, that would be my wishlist.

891
00:43:22,750 --> 00:43:23,030
Yeah.

892
00:43:23,030 --> 00:43:25,310
Like so quality of life improvements.

893
00:43:25,310 --> 00:43:25,470
Yeah.

894
00:43:25,470 --> 00:43:25,910
My prediction.

895
00:43:26,660 --> 00:43:27,050
Yeah.

896
00:43:27,080 --> 00:43:31,430
I mean, my prediction is probably we're
gonna get the thing that we're gonna put

897
00:43:31,430 --> 00:43:33,680
on our head probably in the next year.

898
00:43:34,640 --> 00:43:36,280
I'm not so sure it's gonna be a.

899
00:43:37,115 --> 00:43:40,895
But, you know, maybe it's gonna
be a slow, slow thing, like the

900
00:43:40,895 --> 00:43:42,665
watch where eventually it picks up.

901
00:43:43,505 --> 00:43:47,705
I still don't, I don't, I don't have
one, so I, I don't understand the

902
00:43:47,705 --> 00:43:49,475
appeal of them, but whatever, we'll see.

903
00:43:50,345 --> 00:43:53,495
I think that we'll probably
get more Apple, silicon stuff.

904
00:43:53,495 --> 00:43:55,145
We'll probably get a Mac Pro this year.

905
00:43:56,315 --> 00:44:00,185
Yeah, I, I don't have a lot
of predictions this year.

906
00:44:00,185 --> 00:44:01,115
I mean, it does seem.

907
00:44:02,255 --> 00:44:03,485
We'll talk about the next episode.

908
00:44:03,485 --> 00:44:05,075
It does seem Apple is
really putting their.

909
00:44:06,575 --> 00:44:09,935
Behind Server Side Swift, they
seem to be using, it seems to

910
00:44:09,935 --> 00:44:11,255
be used by a lot of companies.

911
00:44:11,255 --> 00:44:12,905
It seems like it's really mature now.

912
00:44:13,055 --> 00:44:13,295
Yeah.

913
00:44:13,455 --> 00:44:15,915
And I think that'll
continue, continue to happen.

914
00:44:15,915 --> 00:44:18,375
But of course we'll talk about
that more in the next episode.

915
00:44:18,405 --> 00:44:18,615
Yeah.

916
00:44:18,805 --> 00:44:22,335
And you'll also talk about Swift,
but it seems like it's for real.

917
00:44:22,335 --> 00:44:26,455
It's not, it's not some, something
for, for hackers and people who are

918
00:44:26,455 --> 00:44:28,315
just interested in quirky stuff.

919
00:44:28,375 --> 00:44:28,615
Yeah.

920
00:44:28,685 --> 00:44:30,345
Yeah, that, what do you predict?

921
00:44:30,345 --> 00:44:30,545
I.

922
00:44:31,535 --> 00:44:33,485
Antoine van der Lee (guest): Yeah,
well, you, you just reminded me,

923
00:44:33,485 --> 00:44:38,315
and you'll talk about that with the,
this, you know, the registry, which is

924
00:44:38,315 --> 00:44:40,295
something that's, that's on its way.

925
00:44:40,300 --> 00:44:44,555
But one thing I kind of run
into lately is that things like

926
00:44:44,560 --> 00:44:45,845
fire days, for example, right?

927
00:44:45,845 --> 00:44:50,255
It's a, it's, it's a big repository
with many kinds of packages.

928
00:44:50,645 --> 00:44:55,475
And if you include that in your
project, the whole pository is cloned.

929
00:44:56,045 --> 00:44:56,855
Even though you only.

930
00:44:57,965 --> 00:44:59,465
Maybe one of those packages.

931
00:44:59,465 --> 00:44:59,795
Right.

932
00:45:00,155 --> 00:45:02,645
And, and yeah, and, and
you can sort that out.

933
00:45:02,645 --> 00:45:07,035
There is like a open source solution
where you use binary targets,

934
00:45:07,725 --> 00:45:09,675
but still it feels, it feels odd.

935
00:45:09,675 --> 00:45:13,935
So I think if we have a package
registry, it's naturally solved and

936
00:45:14,325 --> 00:45:17,235
that will make things much faster
in terms of Swift Package Manager.

937
00:45:17,235 --> 00:45:20,385
So I dunno, I really hope
that that kicks off this year.

938
00:45:22,035 --> 00:45:22,215
Leo Dion (host): Yeah.

939
00:45:22,575 --> 00:45:22,905
Yeah.

940
00:45:22,905 --> 00:45:23,415
Agreed.

941
00:45:24,795 --> 00:45:25,665
Anything else you wanna talk about?

942
00:45:26,045 --> 00:45:27,075
We talked about a lot.

943
00:45:27,135 --> 00:45:29,265
Antoine van der Lee (guest):
Yeah, we, we went a lot of routes.

944
00:45:29,265 --> 00:45:31,595
So I think I think it's,
it, it's good like this.

945
00:45:31,600 --> 00:45:35,135
I'm excited for this year to come
and I'm looking forward to release

946
00:45:35,135 --> 00:45:39,665
Rocket to everyone and hopefully
see everyone we see in person.

947
00:45:41,345 --> 00:45:41,555
Leo Dion (host): Yeah.

948
00:45:41,825 --> 00:45:42,095
Yeah.

949
00:45:42,125 --> 00:45:44,085
Thank you so much Antoine,
for coming on the show.

950
00:45:44,085 --> 00:45:44,855
I really appreciate it.

951
00:45:46,115 --> 00:45:46,625
Antoine van der Lee (guest): Thanks, Lori.

952
00:45:46,625 --> 00:45:49,580
Finding me over once again and already
looking forward to coming back in the.

953
00:45:51,470 --> 00:45:51,980
Leo Dion (host): Yes.

954
00:45:51,980 --> 00:45:53,390
Yes, we'll definitely do that.

955
00:45:54,100 --> 00:45:55,450
Where could people find you online?

956
00:45:56,590 --> 00:45:57,970
Yeah, I don't know already.

957
00:45:58,240 --> 00:45:58,570
I'm one

958
00:45:58,570 --> 00:46:00,820
Antoine van der Lee (guest): of the
few that's still trusting Twitter, . I

959
00:46:00,820 --> 00:46:04,110
also don't wanna leave behind my
big audience there, so yeah, you

960
00:46:04,110 --> 00:46:07,410
can find me on Twitter at one lt.

961
00:46:08,745 --> 00:46:12,955
And l I'm pretty sure you're, you'll be
able to put a link in the show notes.

962
00:46:13,255 --> 00:46:13,495
Yeah.

963
00:46:13,495 --> 00:46:15,025
Otherwise, yeah, follow my newsletter.

964
00:46:15,025 --> 00:46:17,845
I think that's the best way to stay
up to date on everything that I

965
00:46:17,845 --> 00:46:20,885
do while you also stay up to date
on everything in the community.

966
00:46:23,030 --> 00:46:25,820
Leo Dion (host): And we'll also have
links to all this stuff we talked about

967
00:46:25,820 --> 00:46:28,250
today and some of the articles you've had.

968
00:46:28,370 --> 00:46:30,620
So yeah, thank you again.

969
00:46:31,310 --> 00:46:34,070
People can find me on
Twitter at Leo g Dion.

970
00:46:34,130 --> 00:46:40,810
My Mastodon, because I have to say that
now in 2023, is at Leo G dion@c.im.

971
00:46:41,400 --> 00:46:42,780
You can also find me on LinkedIn.

972
00:46:42,780 --> 00:46:45,040
If you're watching us on
YouTube, I can subscribe.

973
00:46:45,045 --> 00:46:48,630
Please share it, let people
know about this great episode.

974
00:46:49,140 --> 00:46:52,460
And also if you are listening
to this on whatever podcast

975
00:46:52,460 --> 00:46:54,380
player, I'll ask every episode.

976
00:46:54,380 --> 00:46:54,920
Please review.

977
00:46:55,970 --> 00:46:57,620
And share with others.

978
00:46:57,830 --> 00:46:59,120
Happy New year to everybody.

979
00:46:59,300 --> 00:47:04,490
Welcome to 2023 and I look forward
to talking to you next week with Dave

980
00:47:04,490 --> 00:47:07,100
and Sue on the Swift Package Index.

981
00:47:07,520 --> 00:47:09,800
Riverside, Swift, Swift,
package Manager, all that stuff.

982
00:47:09,800 --> 00:47:12,090
So, Post your questions
as soon as you can.

983
00:47:12,630 --> 00:47:14,580
Thank you so much and talk to you later.

984
00:47:14,700 --> 00:47:15,380
Bye everyone.

985
00:47:15,390 --> 00:47:16,060
Bye-bye.