PodSearch

Under the Radar

243: Workplace Christmas

 

00:00:00 ◼   ► Welcome to Under the Radar, a show about independent iOS app development.

00:00:04 ◼   ► I'm Marco Arment. And I'm David Smith. Under the Radar is never longer than 30 minutes,

00:00:08 ◼   ► so let's get started. So we are

00:00:12 ◼   ► rapidly approaching WWDC, and it is

00:00:16 ◼   ► sort of snuck up on me, if I'm honest, where I felt like it was, "Oh, it's coming in June,

00:00:20 ◼   ► it's coming in June," and then all of a sudden it's like, "Wait, it's the end of May."

00:00:24 ◼   ► That means the beginning of June is very soon. And it's not coming in the middle of June,

00:00:28 ◼   ► it's coming basically two seconds after June begins.

00:00:32 ◼   ► When they first announced WWDC, of course I had to add a widget to my home screen

00:00:36 ◼   ► that was a countdown to WWDC. And as of right now, as we're recording,

00:00:40 ◼   ► it's 11 days, 20 hours away from WWDC.

00:00:44 ◼   ► Oh my god, that's so soon.

00:00:48 ◼   ► Which is exciting, which is a very exciting part of the year.

00:00:52 ◼   ► I think, as a developer, this is

00:00:56 ◼   ► the exciting part of the year for me, especially as someone who loves

00:01:00 ◼   ► using the new technology, diving in every year.

00:01:04 ◼   ► I look forward to it, I block off the whole week. This is, in many ways,

00:01:08 ◼   ► my workplace Christmas. This is what I love.

00:01:12 ◼   ► And so the fact that we're just less than two weeks away

00:01:16 ◼   ► is super exciting to me.

00:01:20 ◼   ► This is always the time of the year when I temporarily forget

00:01:24 ◼   ► about all the BS sides of being an Apple developer,

00:01:28 ◼   ► and I just get really excited about what do we have in store for

00:01:32 ◼   ► as you said, workplace Christmas morning. What's going

00:01:36 ◼   ► to define the next year of features

00:01:40 ◼   ► we have available to us, or

00:01:44 ◼   ► even for apps like mine where I have an existing user base

00:01:48 ◼   ► that I can't require all the new stuff yet, usually there's at least something I can do

00:01:52 ◼   ► for people on the new versions of the OS, and usually I can

00:01:56 ◼   ► use it, I can require it usually within a year or two. And so it really gives me

00:02:00 ◼   ► a chance. Right now, I would say now

00:02:04 ◼   ► I'm at the point where I can require iOS 15, and so now I can use all the cool stuff

00:02:08 ◼   ► they announced last year, all the async/await and some of the new UI kit things,

00:02:12 ◼   ► and SwiftUI things, and so I'm just very excited to see this stuff because

00:02:16 ◼   ► I can usually use it fairly soon. And it

00:02:20 ◼   ► kind of tells you where things are going. We might get

00:02:24 ◼   ► some little hints telegraphed to us about future hardware direction, or

00:02:28 ◼   ► future hardware platforms even, if this is going to be the year for the

00:02:32 ◼   ► AR/VR kind of stuff. We might have hints of that dropping, or

00:02:36 ◼   ► an actual announcement. Heck, maybe we'll get a new HomePod.

00:02:40 ◼   ► There's all sorts of things. It could be big stuff, small stuff.

00:02:44 ◼   ► There's so much that could be announced on the

00:02:48 ◼   ► potential hardware front, maybe a Mac Pro. That would be, you know,

00:02:52 ◼   ► this would be a very likely event to have that be announced at. Or it could also

00:02:56 ◼   ► it could be no hardware, and it could be all software, which it sometimes is. And

00:03:00 ◼   ► even that is usually exciting because, frankly, for

00:03:04 ◼   ► developers, the software side usually is more relevant and usually has a

00:03:08 ◼   ► greater impact to our apps and our businesses because usually the software side

00:03:12 ◼   ► is where we can find new markets. Because

00:03:16 ◼   ► new hardware markets are much less common. So yeah,

00:03:20 ◼   ► it's always a fun thing. And

00:03:24 ◼   ► they're doing the mostly remote thing this year,

00:03:28 ◼   ► which, as I've said in previous episodes, I'm a big fan of the way

00:03:32 ◼   ► they've been doing the remote conference the last couple of years. I think it's great, and it's better for almost everyone

00:03:36 ◼   ► in almost every way. But now they're also doing this in-person

00:03:40 ◼   ► thing for a much smaller group, actually in

00:03:44 ◼   ► Cupertino, apparently at the new developer center, which is, that's a new

00:03:48 ◼   ► thing. So even if we don't have new

00:03:52 ◼   ► exciting hardware, we at least have a new exciting venue.

00:03:56 ◼   ► And whatever that, we don't really know much about this developer center yet. We don't know

00:04:00 ◼   ► what kind of ongoing capabilities

00:04:04 ◼   ► is this thing going to have? What's going to be here? Why

00:04:08 ◼   ► are they pushing so hard to have this event in person this year? Those are all

00:04:12 ◼   ► open questions, and the answers are probably pretty exciting

00:04:16 ◼   ► in some cases. So I'm looking forward to it, really.

00:04:20 ◼   ► Yeah, me too. And I think the structure and format, Apple seems

00:04:24 ◼   ► to have, like, the first year went amazing in terms of the

00:04:28 ◼   ► virtual format. And I think they refined it and kind of perfected it last year.

00:04:32 ◼   ► I think I had very few critiques or

00:04:36 ◼   ► problems that I had from my experience last year. And I think, I expect, in many ways, this year

00:04:40 ◼   ► will be very much the same for the majority of people. And even for people for whom

00:04:44 ◼   ► they will be taking part in the in-person part of it,

00:04:48 ◼   ► their experience is going to be, in many ways, the same experience

00:04:52 ◼   ► from a content perspective as just the world at large. Like, it truly

00:04:56 ◼   ► is, in that way, like a worldwide developers conference. Like, it is

00:05:00 ◼   ► very much going to be the content, it's

00:05:04 ◼   ► probably good, just in case this is your first W3C, to get a sense of what's probably going to

00:05:08 ◼   ► happen. It's like, on Monday, they're going to have a keynote where they'll have a, you know,

00:05:12 ◼   ► it sounds like there'll be a pre-recorded video that's, you know, released or

00:05:16 ◼   ► started to be streamed at, I think it's 10 AM Pacific on the Monday.

00:05:20 ◼   ► Then they'll sort of lay the groundwork for what's coming

00:05:24 ◼   ► in the next developer year. Then there'll be

00:05:28 ◼   ► a break for lunch, and then in the afternoon, there'll be the developer state of the union,

00:05:32 ◼   ► which is essentially the same thing, but at a much lower level. So it's

00:05:36 ◼   ► talking about, rather than the original keynote, is the

00:05:40 ◼   ► thing that anybody can watch, that it's intended to be a public event, whereas the state of the union

00:05:44 ◼   ► anyone could watch it technically, in terms of its, I think it's just streamed publicly on

00:05:48 ◼   ► developer.apple.com, but it's not intended for them. It's intended for a technical

00:05:52 ◼   ► audience to really get a sense of, when we said, "This new feature's coming, these

00:05:56 ◼   ► are the libraries, these are the frameworks, this is the technical direction of it."

00:06:00 ◼   ► Then I think at the end of the evening is the Apple Design Awards. And then

00:06:04 ◼   ► from then out, the week looks fairly similar day to day, sort of

00:06:08 ◼   ► Tuesday through Friday, there'll be a collection of videos that gets dropped every

00:06:12 ◼   ► morning that will be

00:06:16 ◼   ► relevant to the new technology. There'll be a schedule to sign up for

00:06:20 ◼   ► labs and design reviews and those kind of touchpoints, and

00:06:24 ◼   ► it kind of just goes from there. There's the things where they do digital lounges,

00:06:28 ◼   ► I think it was last year they called them, where they had these

00:06:32 ◼   ► sort of temporary chat rooms where they would talk about a particular topic and take

00:06:36 ◼   ► questions. And I mean, obviously I'm just basing this on the last two years, but

00:06:40 ◼   ► I think all the indications from the documentation seems to be that it's a similar kind of

00:06:44 ◼   ► a pattern. And I think as someone who really enjoyed that

00:06:48 ◼   ► and got a lot out of it in the last few years, I think the few things I'd say is

00:06:52 ◼   ► it's a good thing to make, the

00:06:56 ◼   ► degree to which you can, make time this week to take advantage of the

00:07:00 ◼   ► opportunities as they present themselves. The labs

00:07:04 ◼   ► are only, they've had a few labs

00:07:08 ◼   ► throughout the year with their new kind of tech talk process,

00:07:12 ◼   ► but being able to talk to an Apple engineer about a particular problem, about something

00:07:16 ◼   ► that you're running into, if you see something new that you're not quite sure how it works, or if you want

00:07:20 ◼   ► to, like, I mean often what I find is super helpful is there's some new thing that you're excited about,

00:07:24 ◼   ► quickly prototype something and then book a lab with that team

00:07:28 ◼   ► to be like, this is what I'm doing, am I doing it right? Like, you can really take advantage

00:07:32 ◼   ► of that because that opportunity just disappears at

00:07:36 ◼   ► 5pm Pacific on Friday, like the door closes on those labs

00:07:40 ◼   ► and who knows when they'll be opened again. So I'd say take advantage of that. And

00:07:44 ◼   ► I think beyond that too is just use it as a week to learn

00:07:48 ◼   ► and to grow and to, the degree to which you are able to, put

00:07:52 ◼   ► aside your other developer work, if you're able to not do

00:07:56 ◼   ► any kind of other more admin-y stuff or, it's not a week

00:08:00 ◼   ► to be working on bug fix updates to your app that aren't pressing and urgent. It's a week to focus

00:08:04 ◼   ► on WWDC, on what you can learn, and that's just

00:08:08 ◼   ► from my experience, you can get a lot out of it. And for me,

00:08:12 ◼   ► having a really productive WWDC sets me up really well for the rest of the year

00:08:16 ◼   ► because it lets me hit the ground running in June to be

00:08:20 ◼   ► working on these new features, working on these new apps. I think I've, the number of times

00:08:24 ◼   ► where I've built an app between WWDC and September 1st,

00:08:28 ◼   ► it's in the many dozens and having a productive WWDC

00:08:32 ◼   ► where I feel like I really got every bit

00:08:36 ◼   ► of an advantage I could from fully engaging into it has

00:08:40 ◼   ► really paid off for me. So I would encourage anybody who has the ability and the time to do that,

00:08:44 ◼   ► like, it's worthwhile to do. And then you just go through

00:08:48 ◼   ► that process and then every day that'll repeat and you just

00:08:52 ◼   ► don't feel like you need to watch every video, don't feel like you need to attend every lab, but

00:08:56 ◼   ► find the things that are exciting to you and follow that excitement, I think is the best advice

00:09:00 ◼   ► that I could give. Yeah, I like that because

00:09:04 ◼   ► again, this is a rare opportunity that we have.

00:09:08 ◼   ► This is the only week of the year or the only few days of the year

00:09:12 ◼   ► when some of these things are available to us, and so take advantage.

00:09:16 ◼   ► I've been doing a lot of server work this last couple of weeks, and I'm really

00:09:20 ◼   ► trying very hard to have that all done because the last thing I want to be doing

00:09:24 ◼   ► in the middle of WWDC is like, "Oh, I have this PHP issue I have to fix on my server."

00:09:28 ◼   ► That's the last thing I want to be thinking about at that moment, you know?

00:09:32 ◼   ► It is unlikely PHP is going to be a major focus of WWDC this year.

00:09:36 ◼   ► While we can't know anything for sure, I think I would not put

00:09:40 ◼   ► PHP on my bingo card. It seems pretty unlikely.

00:09:44 ◼   ► That seems like a safe bet. Alright, we are brought to you

00:09:48 ◼   ► this time by Sourcegraph. So, you've hired a brilliant developer. That's great.

00:09:52 ◼   ► But now you have to get them onboarded. If your company is growing, onboarding new developers

00:09:56 ◼   ► will be a common occurrence, but it's a big undertaking each time. One of the biggest challenges

00:10:00 ◼   ► for new hires is to get them up to speed with the project their new team is working on.

00:10:04 ◼   ► This can be tricky if the codebases your developers are working on are already really big.

00:10:08 ◼   ► Thankfully, Sourcegraph makes it easy to move quickly, even in those big codebases.

00:10:12 ◼   ► Developers know that knowledge is most useful when it's findable.

00:10:16 ◼   ► Centralization is helpful, but given the fact that most companies store knowledge

00:10:20 ◼   ► in at least two different locations, how do you make knowledge accessible to those that need it?

00:10:24 ◼   ► As a code intelligence platform, Sourcegraph gives developers what they need

00:10:28 ◼   ► to drive their own learning over time and in different situations. Teams without

00:10:32 ◼   ► Sourcegraph need to rely on asking colleagues or reviewing out-of-date documentation,

00:10:36 ◼   ► which is cumbersome and time consuming. But with Sourcegraph, every developer

00:10:40 ◼   ► can search across millions of repositories to find specific code, saving time

00:10:44 ◼   ► for themselves and everyone else. So when questions do come up, you know it's the

00:10:48 ◼   ► big stuff that's worthy of the extra time. Sourcegraph was created to make

00:10:52 ◼   ► developers' lives easier, and today they work with leading companies across every industry,

00:10:56 ◼   ► including three out of the five of the top tech companies, plus

00:11:00 ◼   ► PayPal, Uber, Plaid, GE, Reddit, Atlassian, and more.

00:11:04 ◼   ► Visit about.sourcegraph.com to learn more.

00:11:08 ◼   ► That's about.sourcegraph.com to find out why

00:11:12 ◼   ► some of the biggest tech companies in the world use Sourcegraph and to see what it can do

00:11:16 ◼   ► for your company. Or, just click the link in the show notes to let them know that you heard about them

00:11:20 ◼   ► from us. Once again, about.sourcegraph.com. Our thanks

00:11:24 ◼   ► to Sourcegraph for their support of this show and Relay FM.

00:11:28 ◼   ► So I think something that is a traditional thing

00:11:32 ◼   ► for podcasters to do in the run-up to WWDC is to put together a

00:11:36 ◼   ► wish list, put together a kind of their wish casting of "Ooh, what do we

00:11:40 ◼   ► expect? What would we like to see?" You know, you see blog

00:11:44 ◼   ► posts like this just sort of spring up everywhere in the next week or so.

00:11:48 ◼   ► And I think this is not going to be one of those, but I think

00:11:52 ◼   ► I've been thinking a lot about those, and about the

00:11:56 ◼   ► in some ways, I've heard from, I wonder from within at Apple

00:12:00 ◼   ► like there's a sense of frustration where you have these, it's like the time to ask for something, the time

00:12:04 ◼   ► to wish for something was not the week before

00:12:08 ◼   ► whatever's going to be announced. The time to ask for it was a year ago when it could have

00:12:12 ◼   ► actually been worked on and changed. Because I think the

00:12:16 ◼   ► more I've been doing work with Apple, the more I get a sense of they

00:12:20 ◼   ► are just an intentional and patient

00:12:24 ◼   ► company to a degree that I think very few are. That

00:12:28 ◼   ► they are okay with things taking as long as they need

00:12:32 ◼   ► rather than feeling like they need to rush anything out or force something.

00:12:36 ◼   ► There's very little sense of that sort of outside urgency driving their

00:12:40 ◼   ► decision making. It seems much more, it is an internal desire to deliver something

00:12:44 ◼   ► that's good and quality and solid as

00:12:48 ◼   ► that's the driving focus. And so I imagine

00:12:52 ◼   ► the things that are being announced at WBC in

00:12:56 ◼   ► two weeks, those things have been worked on for years.

00:13:00 ◼   ► And committed to years ago. And it's got to be the strangest

00:13:04 ◼   ► thing to be working inside of Apple where they're used to living in the future

00:13:08 ◼   ► essentially. Whereas we see this now, but it started as a project

00:13:12 ◼   ► or it started as something years and years ago.

00:13:16 ◼   ► And I think, A, I really appreciate that as a developer. That I feel like

00:13:20 ◼   ► the majority of the things that Apple ships at WBC

00:13:24 ◼   ► maybe not beta one, but by the end of that summer are very

00:13:28 ◼   ► solid, well thought out realizations from a developer

00:13:32 ◼   ► perspective of developer features. That the API is solid, it doesn't typically

00:13:36 ◼   ► change usually, it is a reasonable thing to dive into

00:13:40 ◼   ► and start to use. And if it's gotten to the point that Apple thinks it's worthy of being shipped

00:13:44 ◼   ► and announced at WBC, it's going to stick around. It's so rare

00:13:48 ◼   ► that Apple ships something and then a year later it gets

00:13:52 ◼   ► completely deprecated and sent away. If they've gotten to the point

00:13:56 ◼   ► that they're going to put it out publicly, there's a certain commitment that they're making

00:14:00 ◼   ► to us to say, "Hey, this is going to stick around." And that patience

00:14:04 ◼   ► I think is just really interesting. And I think something that if you then start

00:14:08 ◼   ► to really pay attention, you can start to... It's like making a prediction,

00:14:12 ◼   ► not coming from a place of a wish list, which is not really a prediction.

00:14:16 ◼   ► It's just like the things I would like. And some of these are just silly, where it's like, I would love

00:14:20 ◼   ► for when I connect my phone to Xcode, it doesn't download watch symbols.

00:14:24 ◼   ► I don't know why it does this, but it's been doing it for the last few months

00:14:28 ◼   ► in Xcode and it drives me crazy. But hopefully that's a bug that's going to be fixed

00:14:32 ◼   ► in Xcode 14. Great. That's a wish I can have.

00:14:36 ◼   ► But in terms of technology, for me I think about widgets or something.

00:14:40 ◼   ► What are the things they could do there? There's any number of things to do there.

00:14:44 ◼   ► But rather than just wishing and thinking about it, I could think, are there technologies or things

00:14:48 ◼   ► that they've been building over the last year? What did we see last year that would

00:14:52 ◼   ► inform what might come next year? And it's like, I would see

00:14:56 ◼   ► in last year's announcements, for example, I think of the timeline

00:15:00 ◼   ► view stuff in SwiftUI, where Apple has created

00:15:04 ◼   ► a sort of constrained mechanism

00:15:08 ◼   ► by which you can provide a live timeline of content

00:15:12 ◼   ► that updates on a schedule that the system controls. That's interesting.

00:15:16 ◼   ► I wonder why you could use that. You could imagine it for dynamic widgets

00:15:20 ◼   ► or dynamic complications. There's lots of situations

00:15:24 ◼   ► where having a technology like this... Watch faces.

00:15:28 ◼   ► Watch faces. Well, let's not push our luck there, Marco. I mean, I could have said

00:15:32 ◼   ► watch faces. I'm just going to go with complications now. No, I'm going to say

00:15:36 ◼   ► this is the year of Linux on the desktop. I mean, watch faces.

00:15:40 ◼   ► Because Mark Urban said there's big changes coming to watchOS, but no one seems to know what those changes are.

00:15:44 ◼   ► So hey, maybe it's custom watch faces. I would love it.

00:15:48 ◼   ► I mean, that would be...

00:15:52 ◼   ► Unfortunately, I'm not sure they're going to be...

00:15:56 ◼   ► If you were next to me when that was announced,

00:16:00 ◼   ► I think the sound I would make is such that you would likely need to cover your ears.

00:16:04 ◼   ► Because I would just explode with joy if custom watch faces were coming

00:16:08 ◼   ► to watchOS. But for now, I will predict dynamic

00:16:12 ◼   ► complications powered by timeline view.

00:16:16 ◼   ► That's the degree to which. And I think that's the kind of feature where it's like, I can see

00:16:20 ◼   ► them laying the groundwork potentially for that now in that technology.

00:16:24 ◼   ► And it's something I would love to be able to do. It's a wish I have.

00:16:28 ◼   ► But I feel like that's the kind of bet where it's betting on them, laying the groundwork,

00:16:32 ◼   ► testing that out. It makes a lot of sense for the always on display stuff,

00:16:36 ◼   ► sure, but it also would make a ton of sense to have a way to, rather than

00:16:40 ◼   ► the current system for complications, having a system that was a bit more dynamic or

00:16:44 ◼   ► a bit more lively. And if that was the case,

00:16:48 ◼   ► that would be amazing and I would love it. And so, it's a different

00:16:52 ◼   ► kind of prediction or a different kind of wish casting.

00:16:56 ◼   ► If you think about it, what have they done in the past that informs the choices or the things that

00:17:00 ◼   ► are wise to wish for in the future? My realistic

00:17:04 ◼   ► guesses on what they might do in an area like that would be more like,

00:17:08 ◼   ► yeah, maybe making complications and widgets a little bit more dynamic or

00:17:12 ◼   ► giving them a little bit more capabilities. My wish casting version is, give me

00:17:16 ◼   ► a custom watch face already. But it's interesting, as I look forward,

00:17:20 ◼   ► I guess this could be considered our predictions episode slightly, as I look forward

00:17:24 ◼   ► and think about what do I want on

00:17:28 ◼   ► all of Apple's platforms? What I want most

00:17:32 ◼   ► is major advances in the watch,

00:17:36 ◼   ► mainly because that's where we need the most help.

00:17:40 ◼   ► The watch, it still holds me back so much. I still want to

00:17:44 ◼   ► do so many more things in the watch that require abilities that

00:17:48 ◼   ► we just don't have there because it's such a constrained environment. Because, you know, relative

00:17:52 ◼   ► to everything else, it's the smallest platform, it's the least

00:17:56 ◼   ► power available platform and it's, I think in most

00:18:00 ◼   ► ways, the youngest platform of all these things that we're doing. And so, there's

00:18:04 ◼   ► the most to be had there. Whereas on the Mac,

00:18:08 ◼   ► first of all, I'm not really much of a Mac developer, but on the Mac

00:18:12 ◼   ► things barely move. Occasionally they redesign the UI

00:18:16 ◼   ► to make things a little bit better, in some ways a little bit worse in other ways, but for the most part, the Mac

00:18:20 ◼   ► doesn't really move that much. So I don't really know what to expect or what to hope for there.

00:18:24 ◼   ► iOS is its own beast.

00:18:28 ◼   ► It's such a massive platform that the opportunity

00:18:32 ◼   ► that they can create with iOS changes is huge.

00:18:36 ◼   ► However, it's also an older and more mature platform and there aren't very many

00:18:40 ◼   ► limits left in iOS that I'm really butting up against in any reasonable way.

00:18:44 ◼   ► In a way that they would actually ever change. There's things that people want

00:18:48 ◼   ► like side loading and stuff like that, but for the most part, like actual

00:18:52 ◼   ► system level capabilities, API capabilities,

00:18:56 ◼   ► various software abilities that we have, there's not much that I wish for

00:19:00 ◼   ► there. Whatever we get, I'm usually happy to get,

00:19:04 ◼   ► but it's not like I'm dying to have anything in particular. And so, on iOS, I think what

00:19:08 ◼   ► makes the biggest difference to most developers

00:19:12 ◼   ► are things like tooling and low-level framework changes.

00:19:16 ◼   ► Where we're not really hoping for, "Oh, I need this, there's

00:19:20 ◼   ► this one kind of app I just can't make because I don't have the right hooks in the system or

00:19:24 ◼   ► this one resource limit is too low or whatever. I need to

00:19:28 ◼   ► have them raise that." No, on iOS, it's mostly like, "Hey, can you make

00:19:32 ◼   ► fewer reasons? I need to reboot my entire Mac to fix an Xcode to phone

00:19:36 ◼   ► connection problem." Like you were saying, I would love, whatever background

00:19:40 ◼   ► demons in Mac OS are required to talk to an iOS device

00:19:44 ◼   ► or a watchOS device through an iOS device, I would love to never have

00:19:48 ◼   ► to reboot my Mac for any development reason except a software update.

00:19:52 ◼   ► I should not have to reboot my Mac to get my phone to properly connect to it.

00:19:56 ◼   ► So hey, let's build all those demons into Xcode so that when you quit Xcode, it functions

00:20:00 ◼   ► the same as rebooting the Mac in that area. That would be

00:20:04 ◼   ► great. And it's tooling things like that. It's like, "Hey, let's make SwiftUI tooling

00:20:08 ◼   ► and error messages better, improvements to the Swift language, the

00:20:12 ◼   ► compiler, improvements to UIKit and the low-level frameworks

00:20:16 ◼   ► and foundation." That kind of thing, that matters

00:20:20 ◼   ► more to most iOS developers at this point because we're not waiting on some

00:20:24 ◼   ► massive wall to be knocked down in the platform itself. Whereas

00:20:28 ◼   ► other things like watchOS, where watchOS is basically a

00:20:32 ◼   ► tiny little city of walls and we would love for them to just knock down any

00:20:36 ◼   ► of them, it would make a huge difference to us. Like, I still don't have reliable downloads

00:20:40 ◼   ► to the watch. Like, background URL downloads, they work sometimes.

00:20:44 ◼   ► But I can't make them work reliably and I constantly get

00:20:48 ◼   ► requests from people saying, "Hey, why are my downloads failing on the watch?" And I can't tell them a good reason.

00:20:52 ◼   ► And that kind of stuff, we've had that kind of stuff solved in iOS for years.

00:20:56 ◼   ► And so it's a very different kind of anticipation

00:21:00 ◼   ► between these platforms. Not to mention the fact that if we actually have

00:21:04 ◼   ► the possibility of a new platform, like if the AR/VR kind of thing,

00:21:08 ◼   ► if that is real and happens this year, and especially if

00:21:12 ◼   ► it happens at this event or if there's some kind of preview at this event, well then we have a

00:21:16 ◼   ► whole new platform that's going to be also probably very constrained at first

00:21:20 ◼   ► and we're going to have to figure out, alright, within these little narrow walls that we have here, what can

00:21:24 ◼   ► we do? And then that's going to be a whole different area of what can we hope for in the future

00:21:28 ◼   ► future walls to be knocked down, etc. So there's all these different dynamics

00:21:32 ◼   ► with different platforms, but I'm looking forward to it because in every case

00:21:36 ◼   ► usually it helps me in some way. Either I have a new capability

00:21:40 ◼   ► I didn't have before, or tooling gets better and that

00:21:44 ◼   ► kind of makes everything better. And I think to your point, I think there's something interesting

00:21:48 ◼   ► when you think about the variance between platforms, how

00:21:52 ◼   ► in the same way that there often be a new technology that's introduced one year that is kind of

00:21:56 ◼   ► manifests itself in different, more concrete ways the following year,

00:22:00 ◼   ► I feel like very often you can see technologies

00:22:04 ◼   ► spreading out from platform to platform, and that what Apple is doing in one

00:22:08 ◼   ► platform, it can inform and kind of give you a sense of what potentially

00:22:12 ◼   ► might be happening in subsequent years. And so I think of widgets

00:22:16 ◼   ► on the iPad in the first year when they appeared there

00:22:20 ◼   ► were very similar to the way that widgets are currently

00:22:24 ◼   ► in Mac OS, where they were constrained to being in the notification center or in the

00:22:28 ◼   ► today view on the iPad. Now the next year, they were freed from

00:22:32 ◼   ► that, and on the iPad you could now put widgets anywhere you want on your home screen.

00:22:36 ◼   ► And I would not be at all surprised if in the next version of the Mac, we have

00:22:40 ◼   ► widgets on your desktop that they've moved, you know, following

00:22:44 ◼   ► that same progression that we see there. And I think there's a similarity

00:22:48 ◼   ► when I think of, say, a new platform, some AR/VR

00:22:52 ◼   ► thing that's widely rumored, or whatever that looked like. I think in some

00:22:56 ◼   ► ways the experience of going from iOS to

00:23:00 ◼   ► watchOS would inform the way that I would approach that platform, and potentially

00:23:04 ◼   ► how Apple would structure that platform. And even in

00:23:08 ◼   ► you could imagine things that are almost sort of comically similar, where

00:23:12 ◼   ► initially, apps in this platform, there's a good chance they'll be hosted

00:23:16 ◼   ► and managed to a large degree on the iPhone, and projected

00:23:20 ◼   ► or manifested onto the device in a way.

00:23:24 ◼   ► Which is exactly what watchOS 1 apps were like, and there's

00:23:28 ◼   ► problems with that, there's things we had to learn.

00:23:32 ◼   ► Oh, sure. But I think it's just interesting to look back and see that kind of a

00:23:36 ◼   ► pattern of something growing over time is

00:23:40 ◼   ► those kind of things become much more consistent. And I think in many ways, the

00:23:44 ◼   ► development experience on a platform like that might be similar to a watch, where

00:23:48 ◼   ► it's more resource constrained, more power constrained, has a

00:23:52 ◼   ► different kind of screen dynamic and interaction model, connectivity

00:23:56 ◼   ► model, whatever those things look like. And in some ways, one of the reasons

00:24:00 ◼   ► I always try and develop for every one of Apple's platforms is that I feel like

00:24:04 ◼   ► it prepares me to be

00:24:08 ◼   ► fluent in the direction Apple is going, such that if a new opportunity

00:24:12 ◼   ► presents itself, whether it's a new platform or it's a new technology, I can take advantage of it

00:24:16 ◼   ► if I choose to. And I feel like the work on the watch that I've done,

00:24:20 ◼   ► I enjoy it, I love working on the watch, it's my favorite platform to develop with,

00:24:24 ◼   ► but it's also really constrained and difficult, which is probably why I like it so much.

00:24:28 ◼   ► But I feel like the work there is a great way to prepare for a future platform

00:24:32 ◼   ► that is, any new thing that's pushing the limit technically

00:24:36 ◼   ► is going to be necessarily resource constrained, it's going to necessarily have APIs that

00:24:40 ◼   ► are less permissive, are going to be less

00:24:44 ◼   ► sort of, are going to have more guardrails up to make sure

00:24:48 ◼   ► that you're not getting yourself in trouble. And so, it's an interesting

00:24:52 ◼   ► thing where the platforms often lead from one to the other, and I feel like iOS is where things

00:24:56 ◼   ► begin, and then they just kind of expand out to iPadOS, WatchOS,

00:25:00 ◼   ► and MacOS kind of out from there.

00:25:04 ◼   ► Yeah, so I'm looking forward to all of this, it's always, as I said,

00:25:08 ◼   ► it's always exciting, and I also wonder,

00:25:12 ◼   ► going back to the conference a little bit, this might be the way they

00:25:16 ◼   ► do all future WWDCs. They might never go

00:25:20 ◼   ► back to a large conference center again, like this, what we see in a week,

00:25:24 ◼   ► or jeez, it's really soon, what we see in like a week and a half,

00:25:28 ◼   ► is... days and nineteen hours. Yeah, right, like, this might be

00:25:32 ◼   ► the first of the new WWDCs, that this is just the way they're always

00:25:36 ◼   ► done. And so, I'm just, I'm very, very excited

00:25:40 ◼   ► to see this, and I really am looking forward to

00:25:44 ◼   ► all of this stuff. Again, this is a fun time of year, this is a time of year where

00:25:48 ◼   ► I put aside all of the App Store politics

00:25:52 ◼   ► side of everything for a couple of weeks so we can really dive into this stuff and really enjoy it.

00:25:56 ◼   ► And I'm looking forward to seeing where this can bring my app.

00:26:00 ◼   ► Different, again, software improvements usually are the most

00:26:04 ◼   ► exciting. Tooling improvements, again, these are areas where

00:26:08 ◼   ► these affect our everyday lives for a while, and occasionally there's a

00:26:12 ◼   ► cost to bear, you know, sometimes whatever they announce sometimes puts

00:26:16 ◼   ► some kind of burden on us, like when they announced the iOS 7, oh, now

00:26:20 ◼   ► there's a system-wide redesign that we have to adapt all of our apps to, or when they added dark mode

00:26:24 ◼   ► support, well now we all have to do dark mode. There's things like that, there's costs

00:26:28 ◼   ► placed on us sometimes that we have to do to keep up with the platforms,

00:26:32 ◼   ► to keep up with the market. But usually the benefits that they introduce

00:26:36 ◼   ► are usually larger. And some years there are no costs, so it's great. Like some years

00:26:40 ◼   ► you kind of get a freebie. So ultimately, this is

00:26:44 ◼   ► an exciting time, and I'm really happy to be here. It kind of feels like, you know, the beginning

00:26:48 ◼   ► of, in the past, the beginning of the new year for Apple. This is our

00:26:52 ◼   ► new developer year, and this is going to define everything we have to do for the next year or so,

00:26:56 ◼   ► and usually it's pretty exciting.

00:27:00 ◼   ► And I think enthusiasm in the week of WDC, at least in my

00:27:04 ◼   ► experience, pays off. It reminds me in a weird way of going

00:27:08 ◼   ► to an amusement park, or going to Disneyland, or going to Disney World, or doing something where

00:27:12 ◼   ► there's an element of kind of, like,

00:27:16 ◼   ► sort of pretending in a certain way that everything's great. Not to ignore

00:27:20 ◼   ► or hide from the realities of, you know, like being an iOS developer can be complicated.

00:27:24 ◼   ► Being an independent developer can be very complicated.

00:27:28 ◼   ► But this week, for these five days, trying to focus

00:27:32 ◼   ► just on the good, just on the positive, on what's new, what's exciting,

00:27:36 ◼   ► that I have found to be so powerful in terms of motivation,

00:27:40 ◼   ► in terms of helping me have a reset in terms of, you know,

00:27:44 ◼   ► the nature of being an independent developer is not always, you know, shiny and

00:27:48 ◼   ► rosy. Sometimes it's really complicated and complicated, and I

00:27:52 ◼   ► look forward to that enthusiasm to say to myself, "It's WDC.

00:27:56 ◼   ► Let's do this. Let's get excited. Let's get hyped for it."

00:28:00 ◼   ► And for the week, really just believe that. Focus on it.

00:28:04 ◼   ► There'll be time for broader introspect,

00:28:08 ◼   ► and there's a time to see what, you know, to focus

00:28:12 ◼   ► on the things that are potentially more challenging or drawbacks, but

00:28:16 ◼   ► this is a week to be excited, to use that excitement to be really productive. Like, I'm

00:28:20 ◼   ► the amount of code I can write in WDC versus a normal week is just

00:28:24 ◼   ► shocking, because I'm excited, because it's interesting, it's exploratory,

00:28:28 ◼   ► and I just, you know, I think for the best, I just really encourage anybody who can

00:28:32 ◼   ► to hold onto that excitement, to get excited for it, to let yourself be

00:28:36 ◼   ► a kid again. Let yourself just enjoy it,

00:28:40 ◼   ► and as a result, you get the reward of setting yourself

00:28:44 ◼   ► up for a really positive year, where you can take advantage of the opportunities this week

00:28:48 ◼   ► and be set up in an excited, motivated way to dive into whatever the next

00:28:52 ◼   ► year looks like, and you never know. You know, some years,

00:28:56 ◼   ► there's not a lot for you, some years there's a ton for you. You never know when you're

00:29:00 ◼   ► going to sit down and start writing an app the week after WDC that ends up just completely

00:29:04 ◼   ► exploding that following September. Like, who knows, it could happen, I can

00:29:08 ◼   ► save my experience. It can happen, and that

00:29:12 ◼   ► experience starts at WDC. This is the week to kind of

00:29:16 ◼   ► that all that begins. They should hire you on the evangelism team.

00:29:20 ◼   ► I mean, I guess that's what I'm doing right now.

00:29:24 ◼   ► I'll just do it on this side of the street rather than that side of the street.

00:29:28 ◼   ► Yeah, I mean, they might be a little bit busier right now anyway, so that's right.

00:29:32 ◼   ► Alright, thank you everybody for listening, and we will talk to you at

00:29:36 ◼   ► WDC in two weeks. Sounds great.

00:29:40 ◼   ► [ Silence ]