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.