269: Preparing for WWDC 2023
00:00:00
◼
►
- Welcome to Under the Radar, a show about independent
00:00:02
◼
►
iOS app development.
00:00:04
◼
►
I'm Mark Warmnt.
00:00:05
◼
►
- And I'm David Smith.
00:00:06
◼
►
Under the Radar is usually not longer than 30 minutes,
00:00:08
◼
►
so let's get started.
00:00:09
◼
►
- So here it is, the pre WWDC episode.
00:00:13
◼
►
Next time we talk on this show, it will be after
00:00:16
◼
►
the WWDC Monday.
00:00:18
◼
►
And so, it'll be like, we'll know everything.
00:00:21
◼
►
All the secrets will be revealed.
00:00:23
◼
►
Maybe we might have even had a chance to like,
00:00:25
◼
►
touch a headset.
00:00:27
◼
►
Every year before WWDC, we do our last minute predictions
00:00:31
◼
►
and kind of advice to people who are either going
00:00:33
◼
►
or planning on watching it online.
00:00:35
◼
►
What to expect and what to do and what we're looking
00:00:38
◼
►
First of all, you're going, right?
00:00:40
◼
►
- Yes, I believe in and so are you.
00:00:42
◼
►
We will both be in Cupertino for the event.
00:00:45
◼
►
Exactly where we will be throughout the week
00:00:47
◼
►
is an ever moving complicated thing,
00:00:49
◼
►
but we will definitely both be there and be there
00:00:50
◼
►
on Monday for the keynote.
00:00:52
◼
►
- Yeah, and I'm so looking forward to this.
00:00:55
◼
►
I'm so happy that we're both able to go.
00:00:58
◼
►
We both were there last year and so we both have
00:01:00
◼
►
a pretty clear idea, I think, of what it will probably
00:01:03
◼
►
be like because I think it will probably be,
00:01:06
◼
►
in many ways, very similar to last year,
00:01:08
◼
►
to their event last year, which I think went very well.
00:01:10
◼
►
The only potential asterisk on it is that it is
00:01:13
◼
►
fairly brief in the sense that it isn't this whole
00:01:16
◼
►
week of sessions anymore in person.
00:01:18
◼
►
It's Monday as one big event and then the rest of the week
00:01:23
◼
►
you're kind of, it's mostly virtual and honestly,
00:01:25
◼
►
again, I'm very happy with that format.
00:01:27
◼
►
I think that format is very good and is actually better
00:01:29
◼
►
than the old format for more people more of the time.
00:01:32
◼
►
- Absolutely.
00:01:33
◼
►
- So, what should people expect?
00:01:35
◼
►
What are you expecting?
00:01:36
◼
►
How is this week gonna go?
00:01:39
◼
►
- Sure, so I think the first thing I would want to
00:01:41
◼
►
sort of just talk about too is I think we're gonna talk
00:01:43
◼
►
a bit about being on site, but I don't think this is,
00:01:45
◼
►
it's probably good to just sort of clarify that most
00:01:47
◼
►
of the advice that we're gonna give applies to everyone
00:01:51
◼
►
because most of the conference, most of the week
00:01:53
◼
►
is still online, that the sessions and the labs
00:01:57
◼
►
and activities and all the things that are happening
00:02:00
◼
►
other than there's a few things that are actually
00:02:02
◼
►
in Cupertino on site, the majority of this will apply
00:02:05
◼
►
to everyone, it's just generally good advice.
00:02:07
◼
►
And secondary to that, I would also encourage anyone
00:02:10
◼
►
who isn't going to be there on site to go to,
00:02:13
◼
►
Apple has put together a page called Beyond WWDC,
00:02:16
◼
►
which includes events that are in person events
00:02:18
◼
►
like all over the world.
00:02:19
◼
►
So if you're in Finland, there's a meetup or an event
00:02:22
◼
►
that's gonna be happening during WWDC week,
00:02:25
◼
►
some of them are like keynote watch parties,
00:02:27
◼
►
some of them are later in the week,
00:02:28
◼
►
there's a wide variety of things in there
00:02:30
◼
►
and I would just encourage you to not feel like,
00:02:32
◼
►
oh, I'm not on person, I couldn't go in person,
00:02:35
◼
►
so there's nothing for me to do.
00:02:37
◼
►
It's like there might be something that could be
00:02:39
◼
►
convenient and close, it could be a nice way
00:02:41
◼
►
to meet some local developers who you don't know otherwise.
00:02:44
◼
►
So I would encourage you, if you aren't on site,
00:02:46
◼
►
to explore your options about that,
00:02:48
◼
►
because it's just a great week, I feel like,
00:02:50
◼
►
to celebrate being part of this community
00:02:53
◼
►
and that can be in person in Cupertino at Apple Park,
00:02:57
◼
►
or that could just as easily be at home in your,
00:02:59
◼
►
whatever country you are, you are in
00:03:01
◼
►
and you can celebrate sort of that community
00:03:04
◼
►
that's a part there.
00:03:05
◼
►
And then I think changing sort of to the,
00:03:08
◼
►
if you are on site, I think there's some advice and things,
00:03:10
◼
►
I think this will be my 15th WWDC, something like that.
00:03:15
◼
►
I think the first time I went in, it was in 2009.
00:03:17
◼
►
- Yep, me too.
00:03:18
◼
►
- So it's like 15 WWDCs, I think I've learned a few things
00:03:22
◼
►
about this process and so I think hopefully
00:03:25
◼
►
I can give some advice for especially if this is
00:03:27
◼
►
your first time coming out to one of these,
00:03:29
◼
►
to kind of what to expect, how to make the most of it,
00:03:32
◼
►
how to not be completely overwhelmed,
00:03:34
◼
►
how to navigate some of the more complicated interpersonal
00:03:37
◼
►
things that can come up as a result of being there.
00:03:41
◼
►
But in general, like starting off thinking about
00:03:43
◼
►
like the actual, some on-site logistics.
00:03:46
◼
►
So one is get your badge the day before if you can.
00:03:50
◼
►
I think you can register on the Monday morning
00:03:53
◼
►
but I always find they have a thing on the Sunday afternoon,
00:03:56
◼
►
I believe it's at Infinite Loop this year,
00:03:59
◼
►
where you can get your badge ahead of time,
00:04:00
◼
►
which is both good so that you just have it
00:04:02
◼
►
and you know if there's gonna be any issues or problems.
00:04:04
◼
►
Like I think you have to bring a government issued ID
00:04:06
◼
►
and so if you didn't have that with you,
00:04:08
◼
►
you have time to go and get it.
00:04:10
◼
►
But also it's just nice to just have that sorted out
00:04:13
◼
►
so Monday morning you can just show up for the event
00:04:15
◼
►
and enjoy it.
00:04:16
◼
►
At the event itself, I would say especially having learned
00:04:18
◼
►
this from last year, it's like it is going to likely,
00:04:21
◼
►
and most of all I think Apple is very much banking on it,
00:04:23
◼
►
going to be sunny and hot.
00:04:25
◼
►
And so have sunscreen, wear a hat, you're gonna need
00:04:29
◼
►
to hydrate, make sure you rest in the shade if you can.
00:04:31
◼
►
Just like take care of yourself because it can be
00:04:33
◼
►
a very long day if you're just like baking in the sun
00:04:36
◼
►
for hours and so just something I would say
00:04:39
◼
►
to kind of be aware of that you need to take care
00:04:42
◼
►
of yourself early so that you can enjoy it to its fullest
00:04:46
◼
►
because I think it goes through 8 p.m. this year
00:04:49
◼
►
and it's like that's gonna be a long day if you don't
00:04:52
◼
►
take care of yourself from the beginning.
00:04:53
◼
►
So just be aware of yourself, wear a hat,
00:04:56
◼
►
put some sunscreen on, drink lots of water
00:04:58
◼
►
and you'll be fine but just be aware of that going into it.
00:05:02
◼
►
- Apple knows that nobody prepares for this.
00:05:03
◼
►
Like last year they gave everyone little like goodie bags
00:05:07
◼
►
and one of the things in the goodie bags
00:05:08
◼
►
was a little bottle of sunscreen.
00:05:10
◼
►
And still most people ignored it and got sunburned.
00:05:13
◼
►
So really they're doing their best, listen to them,
00:05:18
◼
►
they know, they live there, they know how to do California.
00:05:22
◼
►
But yeah it's, the one thing I would suggest
00:05:26
◼
►
if you, especially if you are there in person,
00:05:29
◼
►
do everything, like find every single event
00:05:33
◼
►
or time slot that can be filled with something,
00:05:36
◼
►
put something in it and do it because it's such
00:05:38
◼
►
a short event, it's so compressed.
00:05:40
◼
►
When you had like a week long conference in the past,
00:05:43
◼
►
it was easy to say oh you could take a slot here
00:05:45
◼
►
and there off and take a break or download the betas
00:05:48
◼
►
or whatever, like don't do that here.
00:05:51
◼
►
When you only have like one day or maybe a day
00:05:53
◼
►
and a half of events, do everything.
00:05:56
◼
►
Fill every time slot, go to bed over the night before
00:05:59
◼
►
so you can wake up in time to do all the morning stuff,
00:06:01
◼
►
like everything, do everything.
00:06:03
◼
►
Especially because this year this is a potential
00:06:06
◼
►
platform launch, this is, we might see the headset
00:06:09
◼
►
this year, it sure seems like a all but sure thing
00:06:13
◼
►
that there's gonna be some kind of new hardware platform.
00:06:16
◼
►
The headset is pretty hard to demo virtually.
00:06:19
◼
►
And so if you are there in person, take advantage,
00:06:23
◼
►
go to everything because you never know which
00:06:26
◼
►
of those time slots of whatever event Apple says
00:06:28
◼
►
it's gonna be, might include the opportunity
00:06:31
◼
►
for you to try a headset.
00:06:34
◼
►
So do everything, be present for everything.
00:06:37
◼
►
Schedule every single time slot, every event Apple
00:06:40
◼
►
has a time slot for, plan to be there because
00:06:43
◼
►
you never know what it'll be.
00:06:44
◼
►
- Yeah, I think I would agree with that,
00:06:46
◼
►
with the small caveat of just making sure that you,
00:06:48
◼
►
if you feel at any point that you're overwhelmed,
00:06:51
◼
►
you're tired, you just need a rest, take a rest, it's fine.
00:06:53
◼
►
Like it's fine to have balance but don't feel like
00:06:56
◼
►
oh whatever, I'll just, do it because you need a rest
00:07:00
◼
►
and I need a break, that's fine.
00:07:03
◼
►
But don't just be, just sort of doing something
00:07:05
◼
►
that you could be doing otherwise.
00:07:07
◼
►
Like this is not, especially on that Monday,
00:07:09
◼
►
it's not the day to be like just checking your work email
00:07:13
◼
►
and in your work slack unless you absolutely
00:07:15
◼
►
have to be there.
00:07:16
◼
►
Just say I'm gone for this day, I'm busy,
00:07:19
◼
►
I'm in here, I'm present in this place,
00:07:21
◼
►
I'm doing this thing and that should be your focus
00:07:24
◼
►
is something that I would definitely encourage you
00:07:26
◼
►
to clear your schedule as much as you can
00:07:29
◼
►
to take the maximum advantage of this that you can
00:07:33
◼
►
and then sort of enjoy it from there.
00:07:35
◼
►
- Yeah, so how many test devices you bring in?
00:07:39
◼
►
- So testing devices, I think first is every year
00:07:43
◼
►
there's always the like oh should I install
00:07:44
◼
►
the beta on my phone?
00:07:46
◼
►
It's like well, it's like okay, if you want to be
00:07:48
◼
►
that person, by all means be that person.
00:07:49
◼
►
That's up to you.
00:07:51
◼
►
In 15 years of doing this I would say don't be that person.
00:07:55
◼
►
They're like if you want to do that,
00:07:56
◼
►
that's more power to you but maybe plan ahead,
00:07:58
◼
►
take a testing phone, clear it ahead,
00:08:00
◼
►
make sure that it's ready to go,
00:08:02
◼
►
it's logged into your testing Apple ID,
00:08:04
◼
►
it's ready to go.
00:08:05
◼
►
If you do any Apple Watch development,
00:08:07
◼
►
pair your Apple Watch to that testing phone ahead of time
00:08:10
◼
►
so that the pairing process doesn't take an hour and a half
00:08:13
◼
►
and you're annoyed and frustrated that it doesn't work.
00:08:15
◼
►
If you're doing Apple Watch development,
00:08:17
◼
►
I would say also start wearing that Apple Watch
00:08:20
◼
►
at least a week early.
00:08:21
◼
►
I'm in a two watch club all summer
00:08:24
◼
►
where I wear at least two watches from,
00:08:27
◼
►
I guess it would be next Monday till the end of September.
00:08:30
◼
►
I usually wear two Apple Watches with me
00:08:32
◼
►
and that's just what I do because I want to have one of them
00:08:34
◼
►
with the beta, one of them with my main data
00:08:37
◼
►
but I'm saying wear it ahead of time
00:08:39
◼
►
because if you do anything with health,
00:08:40
◼
►
like having an empty health database
00:08:42
◼
►
will make your development process much less helpful
00:08:45
◼
►
than if you have a week's worth of data
00:08:46
◼
►
that you can start referencing from and looking through.
00:08:49
◼
►
So I would say ideally have a testing watch,
00:08:52
◼
►
have a testing phone, bring them with you,
00:08:54
◼
►
make sure you have everything with you
00:08:55
◼
►
if you are going somewhere,
00:08:57
◼
►
if you're traveling to Cupertino
00:08:58
◼
►
or you're traveling somewhere else domestically for an event
00:09:01
◼
►
that you were able to develop, that you have your laptop.
00:09:06
◼
►
I always travel with a laptop stand, a keyboard and a mouse
00:09:10
◼
►
so that I can ergonomically work in a hotel room.
00:09:12
◼
►
Don't try and have like this big deep work
00:09:16
◼
►
at a tiny little hotel desk in an awkward chair.
00:09:19
◼
►
You're just gonna wreck your body in my experience.
00:09:22
◼
►
And so like I always have to bring the stuff that I need
00:09:24
◼
►
to make that environment ergonomic.
00:09:26
◼
►
And if you do that, I can have a very productive week.
00:09:29
◼
►
I think especially the way that I'm doing it is I'll,
00:09:32
◼
►
I'm going out to help Cupertino for the whole week
00:09:35
◼
►
with the expectation that the latter part of the week,
00:09:37
◼
►
once all the events kind of die down,
00:09:39
◼
►
I'm just gonna be almost having like a coding retreat
00:09:42
◼
►
for the last, for Thursday and Friday.
00:09:44
◼
►
Mostly I'm just gonna be in my hotel room doing work.
00:09:47
◼
►
And so I wanna have things with me to be able to do that
00:09:50
◼
►
and take advantage of the,
00:09:51
◼
►
I can almost like build in a staycation
00:09:54
◼
►
working retreat situation there.
00:09:56
◼
►
And so that's just something that you have to plan ahead
00:09:59
◼
►
if you're gonna have the ergonomics
00:10:01
◼
►
to be able to successfully do that.
00:10:03
◼
►
- Yeah, one more thing on the test devices too
00:10:04
◼
►
before we leave that topic.
00:10:06
◼
►
'Cause this, again, this applies to everyone,
00:10:07
◼
►
whether you're there or not.
00:10:08
◼
►
You're gonna wanna download those betas
00:10:09
◼
►
and put them on a test device.
00:10:11
◼
►
I strongly suggest two little things
00:10:14
◼
►
that have bit me in the past.
00:10:14
◼
►
Number one, have the test devices be signed in
00:10:17
◼
►
to a test Apple ID, not your real Apple ID.
00:10:21
◼
►
Because there are server side and sync components
00:10:24
◼
►
to a lot of these beta features that will be announced.
00:10:27
◼
►
And a lot of times if you use your real Apple ID
00:10:30
◼
►
in the beta environment,
00:10:31
◼
►
then it might do a migration of the data
00:10:33
◼
►
to some new schema or some new format
00:10:36
◼
►
that you can't move back from.
00:10:37
◼
►
And then now your actual good Apple ID data
00:10:41
◼
►
is up to the whims of beta conditions.
00:10:44
◼
►
You don't really want that.
00:10:46
◼
►
Secondly, keep in mind, and this could change at any time,
00:10:49
◼
►
but so far to date, you've been able to undo a beta
00:10:54
◼
►
and go back to the release version
00:10:56
◼
►
on every kind of hardware Apple makes,
00:10:58
◼
►
except the Apple Watch.
00:11:00
◼
►
You can restore a phone back to the non-beta.
00:11:03
◼
►
You can restore a Mac back to the non-beta, I think.
00:11:06
◼
►
But you can definitely do it with phones and iPads.
00:11:08
◼
►
I don't care about Apple TV.
00:11:09
◼
►
I don't know what the deal is over there.
00:11:11
◼
►
But the Apple Watch, you can't restore back
00:11:14
◼
►
to the non-beta version.
00:11:16
◼
►
So whatever you install,
00:11:17
◼
►
and also the Apple Watch has to be paired
00:11:19
◼
►
to a phone, obviously.
00:11:20
◼
►
So whatever phone and watch that you decide
00:11:23
◼
►
to devote to beta use for watch OS,
00:11:25
◼
►
that watch is now gonna be on that version
00:11:27
◼
►
or later forever.
00:11:28
◼
►
Make sure that you're using an extra watch if you can.
00:11:31
◼
►
Otherwise, you're stuck with running that beta
00:11:33
◼
►
even if it gets really bad either during that week
00:11:36
◼
►
or halfway through the summer
00:11:37
◼
►
if there's some really bad beta.
00:11:39
◼
►
You're just stuck with that.
00:11:40
◼
►
And so you might lose reasonable practical access
00:11:43
◼
►
to your watch for a while or whatever the case may be.
00:11:45
◼
►
Or you might not be able to pair it back to your phone
00:11:47
◼
►
if you move your phone back to the release version.
00:11:49
◼
►
So have a spare watch if possible.
00:11:52
◼
►
Other devices you can kind of fudge here or there.
00:11:54
◼
►
The watch you really need, the dedicated one.
00:11:56
◼
►
Also, if you need hardware for this purpose,
00:11:58
◼
►
if you don't have an old watch lying around
00:12:00
◼
►
that'll run the new OS,
00:12:02
◼
►
I can strongly recommend Amazon Refurbs.
00:12:04
◼
►
They're really inexpensive, especially for Apple Watches.
00:12:08
◼
►
Keep in mind the Apple Watches have the same SOC
00:12:11
◼
►
in Series 6, 7, and 8.
00:12:13
◼
►
So if you can pick up a used Series 7,
00:12:17
◼
►
it's probably gonna have totally fine compatibility
00:12:20
◼
►
with the next version of WatchOS, if I had to guess.
00:12:22
◼
►
So it's not that expensive
00:12:25
◼
►
to get a used refurbished Apple Watch for testing.
00:12:28
◼
►
You can do the same thing with iPhones.
00:12:30
◼
►
It's a little bit more expensive for phones
00:12:32
◼
►
but not that much more,
00:12:33
◼
►
especially if you look at the SE models
00:12:35
◼
►
that are made to be inexpensive to begin with.
00:12:36
◼
►
You can get really inexpensive iPhone SEs
00:12:39
◼
►
and low-end versions of iPhones.
00:12:40
◼
►
So definitely worth checking out if you need extra hardware.
00:12:43
◼
►
- Exactly, yep, and I think I would just continue
00:12:46
◼
►
to put in my vote for find a way, if you can,
00:12:48
◼
►
to use a test device.
00:12:50
◼
►
Your future self will thank you.
00:12:52
◼
►
We are brought to you this episode by Indeed.
00:12:55
◼
►
No successful entrepreneur is an island.
00:12:57
◼
►
It takes a core team of trusted advisors
00:12:59
◼
►
to help build a business from the ground up.
00:13:01
◼
►
When it comes to hiring, leave it to the experts.
00:13:03
◼
►
You need Indeed.
00:13:05
◼
►
Indeed is a hiring partner
00:13:06
◼
►
that gets you what you really want,
00:13:08
◼
►
a short list of quality candidates as fast as possible.
00:13:11
◼
►
Simply because you can do it all,
00:13:13
◼
►
attract, interview, and hire, all at Indeed.
00:13:16
◼
►
You don't wanna struggle on your own
00:13:17
◼
►
to find quality candidates and you don't have to.
00:13:19
◼
►
Indeed can help you hire the right people right now.
00:13:22
◼
►
Indeed partners with you on every step of the hiring process
00:13:25
◼
►
so you can find talent with the skills you need
00:13:27
◼
►
through tools like Indeed Instant Match,
00:13:29
◼
►
assessments, and virtual interviews.
00:13:31
◼
►
With Instant Match, as soon as you sponsor a post,
00:13:33
◼
►
you get a short list of quality candidates
00:13:35
◼
►
whose resumes match your job description
00:13:37
◼
►
and you can even invite them to apply right away.
00:13:39
◼
►
Indeed really does make the hiring process so easy.
00:13:43
◼
►
By having all the tools in one place,
00:13:45
◼
►
it takes away so much of what can otherwise
00:13:47
◼
►
be a daunting process.
00:13:48
◼
►
Indeed's data shows that with Instant Match,
00:13:50
◼
►
90% of employers get quality candidates
00:13:53
◼
►
as soon as they sponsor their job post.
00:13:56
◼
►
And candidates are three times more likely to apply
00:13:58
◼
►
than those who just see it in search.
00:14:00
◼
►
So get started right now with a $75 sponsored job credit
00:14:04
◼
►
to upgrade your job post at indeed.com/undertheradar.
00:14:09
◼
►
That's a $75 credit at indeed.com/undertheradar.
00:14:13
◼
►
One last time, indeed.com/undertheradar.
00:14:17
◼
►
Offer valid through December 31st,
00:14:19
◼
►
terms and conditions apply.
00:14:21
◼
►
Need to hire?
00:14:21
◼
►
You need Indeed.
00:14:22
◼
►
Our thanks to Indeed for their support of this show.
00:14:25
◼
►
- So on the actual coding side of things,
00:14:28
◼
►
now that we've got our devices squared away,
00:14:30
◼
►
couple of tips or things to think about,
00:14:31
◼
►
I would encourage everyone to try as best they can
00:14:34
◼
►
to just sort of like establish a clean baseline
00:14:37
◼
►
in the next week in terms of what your starting point
00:14:39
◼
►
is gonna be and then expect that you're likely
00:14:41
◼
►
gonna have these two parallel branches going on all summer
00:14:44
◼
►
where you have your version that you expect to launch
00:14:48
◼
►
in September and then you have your actual
00:14:50
◼
►
like main shipping version that you will likely
00:14:53
◼
►
be updating to some degree over the summer.
00:14:55
◼
►
So just be aware of that and kind of plan for that.
00:14:57
◼
►
- Yeah, don't do all your iOS 17 work in Maine.
00:15:00
◼
►
- No, don't do that.
00:15:01
◼
►
You're just asking for trouble.
00:15:04
◼
►
And then I would say something that I've also found
00:15:05
◼
►
in terms of is also do a lot of your actual,
00:15:08
◼
►
the week of WWDC, I get way more mileage often
00:15:12
◼
►
out of just making little prototype projects
00:15:15
◼
►
to try out a new feature, to explore it,
00:15:18
◼
►
to generate kind of the questions I might have
00:15:20
◼
►
for a lab or a sort of the Slack Q&As.
00:15:24
◼
►
A great way to do that is just rather than trying
00:15:25
◼
►
to like make your, 'cause very often you upgrade
00:15:29
◼
►
your developer tools, you open your main big project
00:15:33
◼
►
and there's gonna be issues.
00:15:34
◼
►
There'll be things that don't compile right,
00:15:36
◼
►
deprecation warnings, like all kinds of things
00:15:38
◼
►
that kind of make it messy.
00:15:39
◼
►
And so instead, do like file a new project
00:15:41
◼
►
and do some exploration and maybe copy paste some code
00:15:43
◼
►
from your main project into it if you need to
00:15:45
◼
►
for some data model stuff or whatever you need to do.
00:15:48
◼
►
But I find trying to minimize the surface area
00:15:51
◼
►
that you are working on the new stuff,
00:15:53
◼
►
especially during that first week can be super helpful
00:15:55
◼
►
'cause it allows you to kind of get,
00:15:58
◼
►
like in many ways the goal for the first week
00:15:59
◼
►
is not to build the features that you are going
00:16:01
◼
►
to ultimately be shipping in September.
00:16:04
◼
►
The goal for that first week is to understand
00:16:06
◼
►
the new stuff well enough to ask good questions
00:16:09
◼
►
that will help accelerate your process over the summer.
00:16:13
◼
►
So do lots of these targeted deep dives into the new stuff.
00:16:16
◼
►
See if, okay, for my app I would probably be using
00:16:19
◼
►
this new feature in this way.
00:16:21
◼
►
Try and build that way.
00:16:22
◼
►
You don't need to build it all.
00:16:23
◼
►
For me, say I'm building a widget in Widgetsmith,
00:16:27
◼
►
it isn't necessarily that I would start to build out
00:16:29
◼
►
like 10 different widget types.
00:16:30
◼
►
I would build like one, this last year
00:16:32
◼
►
with lock screen widgets, it was like my goal
00:16:34
◼
►
was to make sure that I could get a lock screen widget
00:16:37
◼
►
displaying correctly on each of the lock screen
00:16:41
◼
►
widget type families.
00:16:42
◼
►
That was my goal.
00:16:43
◼
►
That was really what I wanted to have happen
00:16:45
◼
►
and that was, so rather than trying to worry about,
00:16:48
◼
►
oh, what if it's a weather widget?
00:16:49
◼
►
What if it's this kind of widget?
00:16:50
◼
►
It's like, nope, just one thing deep dive
00:16:52
◼
►
and then I had a bunch of questions that I could then ask
00:16:54
◼
►
in a lab or in a Slack Q&A and get those questions asked
00:17:00
◼
►
because Friday, the end of day on Friday rolls around
00:17:03
◼
►
and much of that just kind of turns off
00:17:05
◼
►
and this access that is so useful and can be so helpful
00:17:09
◼
►
that we get during W2C goes away.
00:17:11
◼
►
So your main goal with the code is to just find the issues,
00:17:15
◼
►
find the questions, find the problems as quickly as you can
00:17:18
◼
►
and then you can ask those questions
00:17:19
◼
►
and you can get help with them
00:17:20
◼
►
and you can explore what those things are
00:17:22
◼
►
and then you have all the rest of the summer
00:17:24
◼
►
to actually build out the features,
00:17:25
◼
►
to actually be turning this into a product
00:17:27
◼
►
that you can ship to the world in September.
00:17:30
◼
►
But that for those first few days,
00:17:32
◼
►
it's all about understanding.
00:17:33
◼
►
It's less about sort of really creating things
00:17:36
◼
►
that are gonna last.
00:17:36
◼
►
Most of that work I do, I throw away
00:17:38
◼
►
and that is the purpose of that work.
00:17:40
◼
►
It is, that is a feature, not a bug of that situation.
00:17:43
◼
►
- Also, take advantage of the time window that you have
00:17:48
◼
►
to actually get changes made in the APIs and frameworks.
00:17:51
◼
►
So you have much of the summer to get bugs fixed
00:17:56
◼
►
but you only have maybe until July, I would say.
00:18:00
◼
►
I think you have June to get the APIs changed.
00:18:04
◼
►
So if they release some new API and you're like,
00:18:07
◼
►
man, this is actually, this is missing
00:18:10
◼
►
some really important flag or option
00:18:12
◼
►
or if they just restructure this very slightly,
00:18:16
◼
►
it would be a lot more useful.
00:18:18
◼
►
That's the kind of change that they can,
00:18:19
◼
►
they actually will do that kind of change
00:18:21
◼
►
within the month of June usually.
00:18:23
◼
►
After June, it's much harder to get that kind of thing done
00:18:26
◼
►
and you might have to wait until the entire next year
00:18:29
◼
►
and the next year's OSs.
00:18:31
◼
►
So June is the time to file reports and make blog posts
00:18:35
◼
►
and make a stink and reach out to people
00:18:36
◼
►
and go to the labs and everything else
00:18:38
◼
►
if you want the APIs to be adjusted.
00:18:41
◼
►
And then you have a little bit more time in the summer
00:18:43
◼
►
to get the actual bugs fixed.
00:18:45
◼
►
So that's, take advantage.
00:18:47
◼
►
That's one of the main advantages
00:18:48
◼
►
of what Dave was just saying about making
00:18:50
◼
►
like kind of prototypes and playing around with new APIs.
00:18:53
◼
►
A lot of the time, you don't know if the new API
00:18:55
◼
►
is gonna have some kind of weird shortcoming or bug for you
00:18:58
◼
►
until you try to use it for something.
00:19:00
◼
►
And if you wait to integrate it into your main app
00:19:03
◼
►
or your main apps, you might be waiting until July or August
00:19:06
◼
►
before you really run into those problems.
00:19:07
◼
►
And by then, it might be too late to get things changed.
00:19:09
◼
►
So play with the new stuff as soon as you can.
00:19:12
◼
►
This doesn't mean Monday, but necessarily,
00:19:16
◼
►
'cause Monday's gonna be full of events and sessions
00:19:17
◼
►
and everything else, but as soon as you reasonably can,
00:19:20
◼
►
play with those things, especially, as Dave said,
00:19:22
◼
►
if you take advantage of the Slack kind of labs
00:19:26
◼
►
and activity format that they have,
00:19:28
◼
►
that's a really great opportunity,
00:19:29
◼
►
and that's only for that week.
00:19:31
◼
►
- Yeah, I will say, like talking about that,
00:19:32
◼
►
those, I think Apple calls them the activities
00:19:35
◼
►
in their, like on the developer portal website.
00:19:38
◼
►
In the last couple of years they've been doing these,
00:19:41
◼
►
I would say they are starting to become
00:19:42
◼
►
like the real star of the show for me.
00:19:45
◼
►
Like I get so much out of these.
00:19:46
◼
►
And so essentially what this will be is you sign up,
00:19:48
◼
►
they have usually have a couple of kind of topic areas
00:19:51
◼
►
that you can kind of check boxes for, I found.
00:19:53
◼
►
Check all the boxes.
00:19:54
◼
►
All it means is that which rooms in Slack
00:19:57
◼
►
are you going to be sort of admitted into?
00:19:59
◼
►
Like it's not this, you're not committing
00:20:01
◼
►
to anything deep or rich.
00:20:03
◼
►
It's just which rooms would you like to be in?
00:20:05
◼
►
And so I've typically just say basically all the rooms,
00:20:08
◼
►
I'll rather have access to things and be able to read,
00:20:10
◼
►
read things if I want rather than missing out.
00:20:14
◼
►
And then what's great about this format is they,
00:20:16
◼
►
very often they'll have a few kind of event events,
00:20:18
◼
►
which are just kind of more, I don't know,
00:20:21
◼
►
like a chat room discussion kind of thing
00:20:23
◼
►
or a watch-along thing.
00:20:24
◼
►
But the real thing that where it's been super helpful
00:20:27
◼
►
is they have Q&As where imagine, you know,
00:20:31
◼
►
like a WWDC lab, but it's with like 50 to 100 to 1000,
00:20:35
◼
►
who knows how many people are there.
00:20:36
◼
►
And you can ask small questions that you can, you know,
00:20:40
◼
►
that they're able to answer that, you know,
00:20:42
◼
►
would sometimes potentially feel a bit silly
00:20:44
◼
►
to like try and schedule a 30 minute lab slot
00:20:47
◼
►
to ask this one little question,
00:20:49
◼
►
this one little thing that's been bugging you,
00:20:52
◼
►
but it's a great opportunity to ask it.
00:20:53
◼
►
And you ask it in a public way in so far as anyone can
00:20:57
◼
►
benefit from that question.
00:20:58
◼
►
And so I've just learned so much from those sessions,
00:21:01
◼
►
even if I don't have any questions,
00:21:03
◼
►
go and read the sort of transcript of the Q&As afterwards.
00:21:06
◼
►
And then also just, I mean,
00:21:08
◼
►
I'll probably understand that not every question
00:21:09
◼
►
can be answered, both in terms of from a time perspective,
00:21:13
◼
►
but also like just every now and then I feel like
00:21:16
◼
►
there are these people who are asking questions that like,
00:21:18
◼
►
if you ask a question about something in the future,
00:21:21
◼
►
they won't answer it.
00:21:22
◼
►
That is just not the way it works.
00:21:23
◼
►
And asking that question isn't, you know,
00:21:25
◼
►
doing anyone any favors.
00:21:26
◼
►
Don't try and be like, does this mean that, you know,
00:21:28
◼
►
this falls iPhone is gonna have this thing?
00:21:31
◼
►
They're not gonna answer that.
00:21:32
◼
►
That is completely not what that is for.
00:21:35
◼
►
Is if you have a question about like, well, does this,
00:21:37
◼
►
you know, if this was applied in this way,
00:21:39
◼
►
what does that mean?
00:21:40
◼
►
Like they might be able to get you a little bit more
00:21:43
◼
►
kind of help in that, but it's a super important thing,
00:21:46
◼
►
I think, to take advantage of those.
00:21:49
◼
►
And also it's a way to kind of understand
00:21:51
◼
►
if there are bigger issues,
00:21:52
◼
►
if they aren't small questions that are good
00:21:54
◼
►
in that Q&A format, that's when you take it to a lab.
00:21:57
◼
►
That's when you schedule a lab and you know, with a lab,
00:22:00
◼
►
have questions, be prepared for those.
00:22:02
◼
►
I think it's like the amount of benefits you can get
00:22:04
◼
►
from a lab is so directly proportional
00:22:06
◼
►
to the amount of preparation that you put into it
00:22:08
◼
►
to some degree.
00:22:09
◼
►
Like if you have something that some bug
00:22:11
◼
►
that you wanna show, like have your Xcode project,
00:22:14
◼
►
good to be ready to go, you know,
00:22:15
◼
►
make sure that you've run through it as though
00:22:17
◼
►
like you were showing someone else
00:22:18
◼
►
so that if you're reproducing a bug,
00:22:20
◼
►
show, you know, you know how to reproduce it every time,
00:22:22
◼
►
'cause you can just, it's a limited thing.
00:22:24
◼
►
And when the time, you know, when you get to the end of,
00:22:25
◼
►
you know, whatever, you have a 30 minute slot,
00:22:27
◼
►
you get to 300, they really have to go
00:22:29
◼
►
because they're going to someone else's slot.
00:22:31
◼
►
And so be prepared for those, take advantage of them.
00:22:35
◼
►
And then just like pay attention to that.
00:22:37
◼
►
You know, it's like understand that there's gonna be
00:22:39
◼
►
a schedule posted of those kinds of labs
00:22:41
◼
►
and of those things.
00:22:42
◼
►
And if you don't sign up at the right time,
00:22:44
◼
►
you're gonna miss out.
00:22:45
◼
►
And so just pay attention to the schedule.
00:22:47
◼
►
Like I think it's usually released Monday afternoon,
00:22:49
◼
►
Monday evening.
00:22:50
◼
►
And so usually what I'll do is like Monday,
00:22:52
◼
►
I get home from everything,
00:22:53
◼
►
I'm a little bit kind of drained from the day
00:22:55
◼
►
and then I'll just kind of casually just browse the schedule
00:22:58
◼
►
and kind of circle the things that I want to pay attention
00:23:00
◼
►
to later in the week so that I don't miss out.
00:23:02
◼
►
So that if there's something that's happening
00:23:04
◼
►
Tuesday morning, I'm aware of that.
00:23:06
◼
►
And I would just encourage you to kind of be aware
00:23:08
◼
►
of those things because as with all these things,
00:23:10
◼
►
the nice thing, the Slack thing, the nice thing is
00:23:12
◼
►
you can always go back and read the transcript
00:23:14
◼
►
if you were in the room.
00:23:15
◼
►
But for the labs, if there was a, you know,
00:23:17
◼
►
the labs for the technology that you are most interested in
00:23:20
◼
►
is having their labs on Tuesday morning
00:23:22
◼
►
and you need to sign up for it Monday night,
00:23:24
◼
►
pay attention to that.
00:23:25
◼
►
Otherwise you will miss out and it, you know,
00:23:27
◼
►
the opportunity will not present itself
00:23:29
◼
►
potentially for a whole other year.
00:23:31
◼
►
- Yeah, the labs are such a great resource
00:23:33
◼
►
and you know, much of the review you see,
00:23:36
◼
►
you know, the session videos, like you know,
00:23:38
◼
►
a lot of the sample stuff and access,
00:23:40
◼
►
much of that is available whenever you want.
00:23:43
◼
►
So you don't necessarily have to rush to watch
00:23:45
◼
►
every session if that will cause you to miss a lab
00:23:49
◼
►
or you know, an activity, Q and A kind of thing.
00:23:52
◼
►
So you know, sessions are, obviously,
00:23:54
◼
►
sessions will give you content to ask questions about.
00:23:58
◼
►
So you know, it's obviously a balance to be struck.
00:24:00
◼
►
You can't just save all your session watching
00:24:01
◼
►
for the plane ride home or you know, the following week.
00:24:04
◼
►
But you, if push comes to shove
00:24:07
◼
►
and you have to give on something,
00:24:09
◼
►
like you can save this session for later or tomorrow
00:24:12
◼
►
or you can play it at 1.5x later, you know.
00:24:14
◼
►
And meanwhile, then you can go back and attend that lab
00:24:17
◼
►
or attend that activity.
00:24:18
◼
►
- Yeah, exactly.
00:24:19
◼
►
And just, I mean, and I think on the sessions,
00:24:21
◼
►
it's like understand that I very often
00:24:24
◼
►
will skim sessions during the week
00:24:26
◼
►
and with the expectation that I will watch those sessions
00:24:29
◼
►
properly, like with you know, like a mindset
00:24:32
◼
►
that I'm really trying to learn much later on.
00:24:34
◼
►
Like over the summer, I will come back,
00:24:36
◼
►
there are several videos like for key technologies
00:24:38
◼
►
that I have probably watched seven or eight times.
00:24:40
◼
►
Like the initial widgets video,
00:24:42
◼
►
I probably watched seven or eight times.
00:24:43
◼
►
And it's just, that's useful that it exists in a format
00:24:46
◼
►
that I can do that with.
00:24:47
◼
►
But the first watch, I'm just kind of skimming through,
00:24:49
◼
►
oh, this isn't for me, I'll just skip forward.
00:24:51
◼
►
30 seconds, 30 seconds, okay, what's,
00:24:52
◼
►
you know, here's a new chapter.
00:24:54
◼
►
Like just going through with the set of,
00:24:56
◼
►
I'm just trying to let it wash over me so that I'm aware.
00:24:59
◼
►
Like I'm building awareness
00:25:00
◼
►
and then as the summer progresses,
00:25:02
◼
►
I'm building like expertise and knowledge.
00:25:05
◼
►
But that first, the first few weeks,
00:25:06
◼
►
it's just about awareness.
00:25:07
◼
►
Like what are the new things?
00:25:08
◼
►
What are the things I need to explore?
00:25:10
◼
►
What captures my attention?
00:25:11
◼
►
What, you know, prompts questions that I might wanna ask?
00:25:14
◼
►
It's all about that kind of higher level thing
00:25:16
◼
►
to start with and then you have all summer
00:25:18
◼
►
to rewatch it a thousand times
00:25:20
◼
►
and understand how you can really use it
00:25:22
◼
►
and exact syntax of what you would do
00:25:24
◼
►
where the esoteric edge case feature,
00:25:26
◼
►
you know, you have plenty of time for that later.
00:25:29
◼
►
- And definitely like, you know,
00:25:30
◼
►
watch the sessions in complexity order.
00:25:33
◼
►
So, you know, start out with the what's new in blah, blah,
00:25:37
◼
►
blah, you know, like I said,
00:25:38
◼
►
the high level sessions that are kind of overviews
00:25:40
◼
►
of what's new or different in core technologies.
00:25:43
◼
►
You know, what's new in UIKit, what's new in SwiftUI,
00:25:45
◼
►
what's new in the platform, State of the Union obviously.
00:25:48
◼
►
You know, watch those, like start with those
00:25:50
◼
►
because you might learn from those
00:25:53
◼
►
that there is some other topic area
00:25:55
◼
►
that you wouldn't have necessarily watched
00:25:56
◼
►
the dedicated video on otherwise,
00:25:59
◼
►
but you learn the overview from the overview session.
00:26:01
◼
►
Oh, wait a minute, that's a pretty big change
00:26:04
◼
►
in, you know, the debugger or instruments or something.
00:26:07
◼
►
Like, you know, something that like you might have like
00:26:09
◼
►
waited till later or skipped entirely,
00:26:12
◼
►
like for the detail video on that,
00:26:14
◼
►
but the overview session will tell you like,
00:26:17
◼
►
here's an area that you might wanna pay attention to.
00:26:19
◼
►
Also, you know, Apple for all their wonderfulness
00:26:22
◼
►
is not super great at documentation all the time.
00:26:26
◼
►
A lot of times, the little remarks that the presenter makes
00:26:30
◼
►
in the sessions during those overviews
00:26:32
◼
►
or during, you know, during the more detailed ones
00:26:33
◼
►
of course also, but those overview sessions
00:26:35
◼
►
also contain little remarks or little comments
00:26:39
◼
►
that reveal important details about how something works
00:26:43
◼
►
or important changes that are being made under the hood
00:26:46
◼
►
that oh, all of a sudden now, you know,
00:26:47
◼
►
this network call is going to have this other behavior
00:26:50
◼
►
that it didn't have before.
00:26:51
◼
►
That could just be a remark in the overview video.
00:26:54
◼
►
So watch all of those because that's,
00:26:56
◼
►
there's so much value there and yeah, you know,
00:26:59
◼
►
if you're like, you know, not a game developer,
00:27:00
◼
►
you can skip over the game section probably,
00:27:02
◼
►
but like there's usually enough density in there.
00:27:05
◼
►
Those, every one of those overview videos is worth watching.
00:27:08
◼
►
- Yeah, and I think on that, I would also say that
00:27:10
◼
►
even in the areas, it isn't necessarily
00:27:11
◼
►
that some things aren't documented,
00:27:13
◼
►
but it's the, in the session, you will often get the why
00:27:17
◼
►
of why something is done in a particular way
00:27:20
◼
►
in a way that is hard to capture in the documentation.
00:27:22
◼
►
Like when they're documenting something
00:27:24
◼
►
or if you're looking at the API,
00:27:26
◼
►
you'll see like what they did and how to use it,
00:27:29
◼
►
but you don't get why they did it that way.
00:27:31
◼
►
And often you'll have a few sentences
00:27:33
◼
►
at the beginning of a section where they explain
00:27:34
◼
►
kind of what their intent is,
00:27:36
◼
►
why it's structured in a particular way.
00:27:38
◼
►
And that can be super helpful to make sure
00:27:39
◼
►
that you're using it kind of in the direction
00:27:41
◼
►
that they're expecting rather than swimming
00:27:43
◼
►
against the current of it because you're expecting,
00:27:47
◼
►
oh, this is built this way because of this
00:27:49
◼
►
and it may actually be going
00:27:50
◼
►
in a completely different direction
00:27:51
◼
►
and you're misusing it as a result.
00:27:52
◼
►
- So I'm ready.
00:27:54
◼
►
You ready to do this thing?
00:27:56
◼
►
- I think so.
00:27:57
◼
►
I mean, I think now it's like the last thing I can think of
00:27:59
◼
►
is the weird, like, it is a wonderful week,
00:28:02
◼
►
especially if you're gonna be there in town.
00:28:04
◼
►
Like it is, I love being around the people of this community.
00:28:07
◼
►
I've been a community, part of this community
00:28:08
◼
►
for a long time.
00:28:10
◼
►
It's also kind of a weird week sometimes
00:28:11
◼
►
in terms of interpersonally.
00:28:12
◼
►
I find I'm not the most like gregarious, outgoing person,
00:28:16
◼
►
but it's a week where suddenly like many people know
00:28:18
◼
►
who I am and wanna say hi.
00:28:20
◼
►
And that is wonderful and special.
00:28:21
◼
►
And I think it's like super cool to, you know,
00:28:24
◼
►
be recognized in public.
00:28:26
◼
►
Like, I don't even, it's still weird,
00:28:27
◼
►
but it's a thing that happens only at WWDC,
00:28:30
◼
►
but that's where it happens.
00:28:31
◼
►
And I would just say on that score,
00:28:33
◼
►
it's like understand that it's a weird week for us all.
00:28:35
◼
►
Like maybe this isn't our most comfortable thing,
00:28:37
◼
►
but like be patient with people, be kind, be respectful.
00:28:40
◼
►
Don't be too shy though.
00:28:41
◼
►
Like I think some of my early years,
00:28:43
◼
►
I just would kind of keep to myself
00:28:44
◼
►
and wouldn't say anything to anyone.
00:28:45
◼
►
And I was missing out on making new friends.
00:28:48
◼
►
I mean, I think you and I have been
00:28:49
◼
►
for the first time at WWDC.
00:28:51
◼
►
Like it's very much an opportunity to just meet people
00:28:54
◼
►
and to reach out, understand that sometimes people
00:28:57
◼
►
have places to go and you can't, you know,
00:28:58
◼
►
sort of, you can't get into a detailed discussion,
00:29:00
◼
►
but generally it's great to say hi.
00:29:02
◼
►
If you admire someone's work, like I do this all the time
00:29:04
◼
►
as I try and take it as an opportunity
00:29:06
◼
►
to say thank you to people who are doing things
00:29:08
◼
►
that I admire, that I've been inspired by.
00:29:10
◼
►
You know, this is gonna be other developers.
00:29:12
◼
►
These are people within Apple
00:29:13
◼
►
who are working on technologies.
00:29:14
◼
►
And it's like, this is the one, you know,
00:29:16
◼
►
the one day a year with that they can come out
00:29:18
◼
►
and you can say thank you for making this amazing thing.
00:29:21
◼
►
Like it's a wonderful opportunity for that.
00:29:22
◼
►
So take advantage of it if you happen to be there in person.
00:29:24
◼
►
And I'll be wearing a bright blue t-shirt most of the week.
00:29:27
◼
►
So if you see me, say hi.
00:29:29
◼
►
- Yeah, keep in mind, we're all a bunch of nerds.
00:29:31
◼
►
Come up and say hi.
00:29:33
◼
►
We're as awkward as you, don't worry about it.
00:29:36
◼
►
We'll get through it together.
00:29:37
◼
►
- All right, thank you so much for listening everybody.
00:29:39
◼
►
Good luck through WWDC and we will talk to you
00:29:42
◼
►
shortly after the, or during the week in two weeks.
00:29:47
◼
►
>> Thank you.