00:06:10 ◼ ► Last year I was in a very bad place with that and I did not feel good going through the week seeing all the stuff that, "Oh crap, for me to actually use this or to get to the point where I need to be to use this,
00:06:41 ◼ ► I was able to adopt new extension stuff part way through the year because I basically spent the last year paying off old technical debt, migrating which old code to new code and new APIs and stuff.
00:07:42 ◼ ► And I will say, I think it's maybe like a mini tip related to what you're just saying there is I feel like something that I've gotten stuck on in the past is trying to view the WWDC announcements in terms of what I'm going to have to do to my apps to adopt them.
00:07:59 ◼ ► In terms of that, you know, "Oh, I need to pay off this technical debt in order before I could adopt this." Or, "I need to do these things." And I think something that I've found is for the week of WWDC itself, trying to have the mindset that there is no debt to pay off.
00:08:15 ◼ ► Like you're coming in with a fresh app or everything's done and you're all ready to go and trying to view your apps through that perspective because otherwise I found myself getting stuck in these kind of weird, "Oh, I don't know how to adopt this." Or I go and I open up, you know, rather than using a sample project to just test out a feature or an API, I open up my main app and try and do it in there.
00:08:35 ◼ ► There's all kinds of problems and deprecation warnings and things start happening. But for the week of dub-dub, what you should do is instead just try to, your goal there is just to learn the new stuff, not necessarily to worry about what this is actually going to mean.
00:08:50 ◼ ► Where like the Monday after WWDC week where you have to actually do it. Like that's the part where it might be harsh, but if you get stuck there and you then don't have the ability to interact with people in labs or take advantage of some of the things that are available that week, like you've kind of missed out.
00:09:13 ◼ ► That's really smart. So just a little something that I've made that mistake many times. Because it is kind of cool. I mean, it's fun and weird way to feel like I feel like I've done enough WWDCs that I feel I have some degree of competence about saying what to do during these.
00:09:27 ◼ ► Because I think this is going to be 13 for me, I think, 13 or 14 since 2009. And so, yeah, it's a weird thing. But the first thing that I wanted to transition to, I have a whole sort of laundry list of things that I do around WWDC.
00:09:41 ◼ ► And the first thing that I wanted to mention is two things you should have done before the week starts is have a test device plan. So inevitably we are going to get a bunch of new iOS devices.
00:10:11 ◼ ► Mostly because while some years it's fine and some years it isn't, you won't know if it's going to be fine or if it isn't until sort of late in the week after people have done this for a while.
00:10:39 ◼ ► And similarly ahead of time, I think it's important to try to start thinking about questions you may have for labs. So, you know, issues with APIs that you've run into or problems you've had or things you'd like to discuss with a person.
00:10:53 ◼ ► The best time to be gathering that is ahead of the conference, as you're working, as you run into things, have in the back of your mind, is this something that I wish I could ask someone at Apple about?
00:11:10 ◼ ► But if there's anything from the old existing stuff, the time to be gathering the first parts of that list is now, not on the Thursday or Friday of WWDC. You're putting yourself at a disadvantage if you do that.
00:11:24 ◼ ► Yeah, the only thing I'll add on the test devices side is, and it's a very common pattern among other developers I know where we'd be sitting in Moscone Center for past WWDCs in San Francisco and they would announce stuff in the keynote and we'd get beta ones.
00:11:42 ◼ ► Everybody would think, "I'm not going to install the beta this year. I'll wait a few releases until it's safe and then I'll install all my stuff." And then whatever they announce in the keynote, everyone's like, "Oh my god, I've got to have it right now. I have to test this. It's super important to my app or I'm just super curious as a fan or as a member of the press or something."
00:12:00 ◼ ► And then everybody goes down the street to that Apple store that's done down the street from Moscone and San Francisco and they all go buy iPod touches or basic iPads or whatever. I had to do this. So yeah, it does help to have a plan.
00:12:14 ◼ ► But the only downside there is that if you have maybe a cross-platform app, like for me I could theoretically have a need for definitely a phone or iPod touch but maybe also an iPad or an Apple Watch or who knows, an Apple TV. Who knows what they announce?
00:12:33 ◼ ► And so you don't really know what you need to bring if you have a cross-platform app and also they might announce something that's so cool that allows you to make a brand new app. I don't know if you've been familiar with this phenomenon, Dave.
00:13:20 ◼ ► Yeah, but it's just one of the things. Think about it now, I think is the main thing. And so you do have a plan. And it's certainly the advantage of being at home is that it's not like a situation where, "Oh, what am I going to bring to California?"
00:13:32 ◼ ► It's nice that I have all my devices at home and if something comes up that I wasn't expecting, I can certainly go into my cupboard full of old random hardware and hopefully find something or more easily acquire it.
00:14:08 ◼ ► And you don't need it to be perfect because it's just a test device. It can be whatever you need it to be and then you can also use that opportunity to maybe get a different screen size than the thing you usually get.
00:14:18 ◼ ► Just to have even more test coverage in the future. So it's a good opportunity to kind of branch out and pick up some weird cheap variant that you might not have gotten for yourself brand new.
00:14:28 ◼ ► We are brought to you this week by Pingdom from SolarWinds. While you've been listening to this podcast, how would you know if your website had gone down? Maybe customers couldn't click that buy button or fill out your trial form.
00:14:54 ◼ ► Pingdom detects around 13 million outages every month. That's more than 400,000 outages every day. Some of those are occasionally mine because I use it and I've used Pingdom now for I think about a decade, just for a long time.
00:15:13 ◼ ► It doesn't matter if you're a startup or a massive company, you need real time alerts about critical website issues and you can customize how you're alerted, whether it's via SMS or email or your team's collaboration apps.
00:15:53 ◼ ► So now I think we can actually get into the actual week itself and talk through kind of what a virtual W3C is like and I think sort of the various parts of it and ways to take the most advantage of it.
00:16:03 ◼ ► And I think the first thing is obviously on Monday at 10 a.m. Pacific is going to be the keynote. They've announced that and it's not a surprise, but it's good to know that that's the same.
00:16:23 ◼ ► Sometimes I feel like I've spent too much time on a keynote trying to like furiously take notes or things and it's like ultimately the video is going to be available essentially right afterwards so you can go back and reference something if you need to.
00:16:46 ◼ ► Whereas like the State of the Union, which is a few hours later, is in depth and that's something that I feel like taking lots of notes and getting more into the nuts and bolts of it is very appropriate and useful.
00:16:56 ◼ ► But I think I have found that keynote, just sit back and sort of like I watch the keynote on the sofa, I watch the State of the Union at my desk. It's sort of like conceptually the way that I do that usually.
00:17:09 ◼ ► Yeah, I like that because the keynote is much more of a marketing presentation that is partly for developers, partly for the public and the press. And the State of the Union is really like, "Okay developers, now let's get into nitty-gritty. Here's some more stuff and more detail on all this cool stuff and all those things we showed off."
00:17:26 ◼ ► Yeah, and so I think that's just something that would be useful. But obviously the majority of the videos, the content of the conference is going to come in the form of actual session videos. And so after the keynote they'll usually release the new versions of X codes and the new iOS and watchOS versions and all that.
00:17:41 ◼ ► And that's great. Go ahead and download those, start playing with them. But the actual like how to use these new APIs, because it's all well and good if you can get this big API diff that says like, "Here's these new frameworks or here's these new methods."
00:17:57 ◼ ► And what Apple did last year, and I expect based on how they've described it, it'll be similar this year, is Tuesday through Friday in the morning Pacific. I think last year it was about 10 a.m. Pacific, which is just useful to know depending on what your time zone is.
00:18:12 ◼ ► You may need to shift your day earlier or later to accommodate that. But around sometime in the morning Pacific there'll be a big drop of videos. I think they've said there's going to be over 200 this year.
00:18:31 ◼ ► And for those videos, one nice thing about the way the virtual WDC is, their length is very variable. Some of the videos will be just a few minutes long and some of them will be very long, depending on the subject matter and the content.
00:18:43 ◼ ► I love that, by the way. Like, the older WDC, when you go in the session, it's like, well, the session's going to be 40 minutes long, and maybe they might finish early if it's pretty light on content. But you could tell they had to pad some things that just didn't need that much time, so they would pad it with more demos or whatever.
00:19:06 ◼ ► And I think along those lines, some things that I found really helpful. One is that they all come with a full transcript, and this is a great advantage of these being pre-recorded, is there's a full transcript, which is useful. I'm sure if it's difficult for you to hear them.
00:19:22 ◼ ► So I find it super helpful to jump around, and I can search for a topic that I'm interested in and try and find where that's spoken about and go jump to that place. You can listen to them or watch them at two times speed, if you want, or faster or slower, which is something that I find sometimes really helpful to zoom through some content, be like, "I'm not sure if I actually need, there's anything in here for me," and I'll speed it up and just blast through it.
00:19:49 ◼ ► And it's nice that you can jump around, and that's something that was always kind of, you know, or like, you know, or also just give up. And if you start watching a video and you're like, "I don't think this is for me," it's nice to be able to just sort of give up and maybe you'll watch it later, maybe you won't, but it's not like you're standing up in the middle of the session and walking out on someone, which is a little rude.
00:20:07 ◼ ► I found that an app that is super helpful for this, so Guy Rambeau, of spelunking fame, of the Stacktrace podcast fame, he has made a Mac app called WDC.app, which I use every year, and it's tremendous for, lets you just kind of like favor it and keep track of what you've watched and not watched of all the session videos.
00:20:26 ◼ ► I'll have a link to it in the show notes, but I just find it super helpful. You can go and do this in the developer app, you can do it on the website, but I really, you know, I tend to try and sort of watch some amount of every video that has any relevance to me, and so kind of lets me build a little bit of a watch queue and make sure that there's in some video that I've, you know, neglected to see because I just forgot about it or I lost it.
00:20:49 ◼ ► And so I can just sort of like mark the ones that I've watched or the ones that I'm interested in, and if it's something I'm never interested in, I'll just say, you know, mark it as though I've watched it. And then, you know, I can know that I can move on from that one.
00:21:01 ◼ ► Yeah, that's really great because that's one challenge, like, when you do have these just massive drops of everything all at once, it's kind of hard to know, like, all right, where do I start, first of all, and then what I want to watch next. And, you know, when there was like Space Ride the Day, you kind of go through the schedule and like heart certain ones and everything, but now that it's kind of just dumped all at once every day, it's easier to miss stuff.
00:21:21 ◼ ► And it's always worth watching, like, you know, the basic thing is like, you know, what's new in networking or whatever, because like every app uses that, and you never know what you're going to find that is, you know, that's going to be potentially very useful to you.
00:21:34 ◼ ► And not to make this about documentation this week, but, you know, the Apple documentation recently has been so terrible in a lot of ways that it's really nice to watch those videos for anything that might be relevant to you because a lot of times there's really important information in there that never makes it into the app.
00:21:50 ◼ ► That never makes it into the documentation. And just little remarks that the speaker might make or like one bullet point on the slide about some behavior or some limit or, you know, something like that. And it's really good to know that stuff.
00:22:00 ◼ ► Yeah, and I think along those lines too, there's very often a video that is the like outline video for a particular area of the OS. So there might be like a what's new in watchOS, say, and it will give you the high level run through of like what's new in complications, what's new in the apps themselves, what's new in workout processing, what's new in background audio, like whatever that is, like there's often that kind of a video and I always recommend trying to find if there is one of those watch that first rather than necessarily diving into the details.
00:22:29 ◼ ► Because it gives you a good sweeping view and it knows where you look and they'll often have like, you know, if you want to know more about this, go watch, you know, session 607, which is, you know, what's new in complications or something. And that will be a useful just like introduction to it. And so Apple does a little bit of scaffolding for us.
00:22:46 ◼ ► And you're like the state of the union sort of in some ways fans out to a couple of these high level videos, which then go into the detailed ones. And so just something to keep in mind that if you watch if you're all you're watching is the super detailed ones, it may be harder for you to keep track of kind of where this fits into the broader picture of this year.
00:23:01 ◼ ► Next thing Apple announced this year, which I just want to mention was kind of odd, they've said that they're going to do this thing called lounges, which sounds like text based chat, almost with Apple employees. It's kind of unclear as to what exactly this is. But you have to sign up for it on June 1, which is the week before WBC.
00:23:21 ◼ ► So that's just something I wanted to draw people's attention to that a lot of the things if you're going to, you know, sign up for a lab or special event or something, the signups for that are all, you know, starting the week of WBC. But for the lounges, it starts June 1. So sign up for that, I don't really know what to expect. I'm going to try sign up because sounds great. But that's just something that I wanted to point out.
00:23:42 ◼ ► But the main way that you will typically interact with people during the conference at Apple is going to be through the Dev forums and through labs. So you watch all these videos, and you hopefully learn the new API, the things you're excited about. And then you have two ways to directly kind of talk to people at Apple.
00:23:59 ◼ ► The first one is the Dev forums, which the Dev forums are a useful but often frustrating place, the week of WBC. And I think the biggest thing that I would say that they are useful for is if you're hitting something that feels like you're using an API in a way that you think it's supposed to be used, but it isn't working.
00:24:18 ◼ ► And mentioning that in the Dev forums or searching the Dev forums is a place that you kind of get the like, is this happening for everybody or just for me? And it lets you kind of diagnose if you know if you go there and say like, I'm hitting this weird error message when I'm doing this.
00:24:49 ◼ ► And that's just sort of what it is but I have found that at least last year the Dev forums were very actively monitored by the engineers at Apple. Like it seemed like I was getting responses to things from people at Apple somewhat in not like not real time, but in, you know, very very if I had posted a problem, it would be fairly quickly responded to.
00:25:08 ◼ ► Something that isn't necessarily true the rest of the year, but I think the week of W3C I imagine they, you know, they're dedicated and staff and effort to making sure that the people get fast responses to that.
00:25:39 ◼ ► And it's lovely. I've had tremendous value from that over the years and I think last year the biggest concern I had going into a virtual one is that the labs experience wouldn't really be there and it would be kind of a big, you know, sort of the whole from the experience and I found last year the labs were great.
00:25:55 ◼ ► If anything, they were somewhat better because they are scheduled. So typically, at least what they did last year is you submit a request to go to a lab and you have to typically submit a set of questions along with that.
00:26:14 ◼ ► So if you have a very specific question about a specific API, they may be able to have the engineer who wrote that API do a lab with you. And the labs were done I think it was over like WebEx or some very corporate screen sharing video chat tool.
00:26:32 ◼ ► And it was great. I had, you know, I did I think three or four of them last year, and they were, you know, they took as long as they needed, but they were people were very patient and it was, you know, because I'd provided the questions ahead of time, I had exactly the right people there to answer my questions.
00:26:47 ◼ ► And I was able to sort of do a screen sharing, which was really helpful. So I would, you know, I had a couple, but I'd done ahead of time, which I highly recommend is have a sort of example project of the problem that you're running into. In Xcode, all ready to go, you just start your lab, and then you can just sort of do a screen share and you can show them the problem you're having.
00:27:06 ◼ ► And I found that was so helpful for letting them diagnose what the issue was, or giving me advice, and it was able to be very specific. Because if you the more specific your question can be, I think the more specific their answer is going to be able to be. And if you're just kind of giving these, like, it doesn't seem like this API works very well. It's like, well, okay, that's not particularly helpful. So there's not much they can do about it. So but if you can be specific, like in this case, is this expected? Is this something wrong? Or is there some better way to do something? And they're going to be able to do that. And I would say,
00:27:35 ◼ ► I didn't expect there to be a lot of availability for this. But from what I heard, generally speaking, people did not take advantage of the labs nearly as much as they should have last year. And there was lots of, if it wasn't like, oh, they only had 100 slots, and they had 500 people signing up for them. It's like, it sounded like it was the other way around.
00:27:55 ◼ ► So if you have questions, if you want to engage with someone at Apple, like, go ahead and try it. I mean, the worst thing they'll do is they say no, but understand that that's probably at least last year, that was fine. And I will say, though, make sure that you are polite, patient, and realize the limits that the engineers are under, that they're not going to be able to tell you about future hardware, they're not going to be able to tell you things that are happening in the future. And there's limits to what they can talk to talk about.
00:28:19 ◼ ► And so be realistic and understanding about that. And also just be polite. And if the answer is no, and you think it should be yes, understand that that's probably not their choice. It may be something that's being put on them. And so just be polite about that and patient with the understanding that they're engineers for the most part, they're just they're doing their jobs. And so just be respectful of them as a result.
00:28:38 ◼ ► Yeah, to me, like, I think two things about this are very time sensitive. Number one, you know, all the session videos and everything, those are all going to be up for the rest of time. So you like you can you can delay some of those if you need to for time. What is exclusive to this time right now is lab availability. Because like, you can only reach these people at certain times of the year very easily. And the rest of the year, it's much harder. And the attention to which is paid to bug reports.
00:29:05 ◼ ► Like, like, and so focus your time on, like, you know, generating as many bug reports as you can for things that are important to you and your apps, or and or, you know, prepare something very quickly for the labs, because the labs are going to happen that week. And that's it. And so that's that's where you should be focusing as much of your time as possible.
00:29:23 ◼ ► Yeah, I think beyond that, it's just a question of have fun, like, enjoy it. Like I, you know, I've sort of cleared my schedule, I've made sure that in some ways, it's like my parents, my family's expecting that, like, it's almost like I'm going to California, even though I'm not going to California that I'm going to be focused on work. It's like I'm doing a staycation kind of like situation and I expect to just enjoy it and really engage in the week and have fun. And at the end of it, hopefully have learned some things and have some exciting new projects to work on for the summer.