PodSearch

Under the Radar

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:37 ◼   ► forward to.

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:51 ◼   ► - Yeah.

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:30 ◼   ► (laughing)

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 ◼   ► - Exactly.

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:46 ◼   ► - Bye.

00:29:47 ◼   ► >> Thank you.