249: A Bridge to the Future


00:00:00   [Music]

00:00:08   From Relay FM, this is Upgrade, episode 249, and today's show is brought to you by Luna Display, Pingdom and Eero.

00:00:17   If you listen very carefully, you can hear the summer starting to begin, but it is not yet, but it is soon.

00:00:24   My name is Myke Hurley and I am joined by my podcasting partner in crime, Mr. Jason Snell.

00:00:30   Myke, it's hard to believe that a week ago we sat across from each other and now we are back on opposite sides of the world.

00:00:35   It makes me a little sad.

00:00:36   It feels like it was both yesterday and a month ago.

00:00:40   It really does.

00:00:41   Because literally everything has changed in the time in between when we spoke last to now.

00:00:47   Well, it had already changed, but it continues to change.

00:00:50   But anyway, #SnellTalk.

00:00:51   Nobody wants to talk about that one.

00:00:54   Jason, when you were lining up for the WWDC keynote, did you queue with your friends that you wanted to sit with,

00:01:00   or do you jockey for position to get as close to the front as you can?

00:01:04   So the developer line and the media line are different.

00:01:09   The developers are lining up very early in the morning.

00:01:12   I think because they think it's fun or because they want to get a better seat, I'm unclear how much better a seat you get if you come.

00:01:18   Well, I think the only person you need to ask this question to is John Siracusa, because my understanding from all of our friends is nobody wants to wait up that early, but John does.

00:01:25   John does.

00:01:26   It's like a thing.

00:01:27   Anyway, if you have a media badge, you're told to come at 8 for the 10 o'clock event.

00:01:32   And at 8, you get there and they check you in.

00:01:34   And we chatted, a bunch of us chatted outside the convention center, and then we were sort of,

00:01:41   eventually we went up the escalator into another little outside patio where all the media people were, and we chatted some more.

00:01:47   And then they told us to come inside.

00:01:49   And then we stood around and chatted at a meeting point in the convention center.

00:01:55   And then finally they opened the doors.

00:01:56   And when they opened the doors, they basically, all the media people, they're opening the doors for the media people.

00:02:02   And then we go in and are kind of like ushered down a hall, you know, down a row and over and like into a space that is our space.

00:02:13   So, you know, they've got a portion of the seats that are like, this is where we're going to put the media.

00:02:18   And at that point, yeah, so you basically, you could try to sit right next to the door so you could get up as close as possible.

00:02:27   Although I don't think it's going to matter too much whether you're 40 rows ahead or 40 rows back in this enormous space.

00:02:34   But mostly it's sort of like there were a bunch of us who were kind of talking to each other who we figured we would sit together.

00:02:43   And that's basically what happened.

00:02:44   So we were in the last row of one of the big blocks and then there were still media people behind us.

00:02:51   And that was me and Federico and Steven and Dan Morin.

00:02:58   Marco was there.

00:03:01   Dave Hamilton, David Sparks, there was a whole collection of people who were in that little row all next to each other.

00:03:12   And Federico and I kept kind of like giving each other looks as the event went on as various things got announced, which was kind of fun.

00:03:20   So basically, you know, you just kind of try to stay near your friends so that you can all sit together.

00:03:27   But that's about it.

00:03:28   And sometimes I will sit with a group of eight and other times I'll sit by myself, basically.

00:03:32   It sort of depends on who you see and kind of how it goes.

00:03:35   And then the developers go in separately.

00:03:37   So like Casey and John were totally elsewhere because they were in a different line.

00:03:45   There is a second part of this question because Steve says that you queued with your friends and Steve wants to know what is the appropriate use of the word queue?

00:03:52   Is it queue with or wait on queue with?

00:03:55   It's queue with. I hate the phrase wait online.

00:04:01   I hate it. It doesn't make any sense to me.

00:04:03   The line is not on the ground.

00:04:05   I don't get it.

00:04:06   So this is a regionalism in America because if you're in New York, or I guess I should say if you're on New York, because that's what they do there.

00:04:18   They say I'm waiting online.

00:04:19   If you live on New York.

00:04:21   Yeah, if you're on New York, then you wait online.

00:04:25   Whereas I was raised that you waited in line.

00:04:29   You were in a line.

00:04:30   You are one of the parts of the line and you were in it and then you would go to the front of the line, which makes much more sense than waiting on line.

00:04:39   But I have a large segment of my wife's family who's from New York and they all say that.

00:04:43   That in New York, they paint the lines on the ground.

00:04:46   We all know this.

00:04:47   Yeah, and then you wait and you stand on that line.

00:04:49   Yeah, when you're on New York, you should remember that.

00:04:53   Thank you so much to Steve for the Snell Talk question.

00:04:55   You can always submit questions for us to open the show.

00:04:58   Just send a tweet with the hashtag Snell Talk and it may be included for a future episode.

00:05:02   Now we have a really big show today.

00:05:04   Should we say now what's going to close the show?

00:05:08   Just so people know.

00:05:09   Well, last week there were a bunch of podcasts that were released that were interviews with people who work at Apple.

00:05:13   Apple was very aggressive in getting a bunch of people out in front of podcasters this year.

00:05:19   And our episode came out on Monday afternoon right after the keynote, which is a thing that we do.

00:05:25   And so we were not a part of that.

00:05:27   And you might have said to yourself, oh, well, they missed a real chance there to get an interview like they did with Colleen a few months ago about the iMac.

00:05:35   The answer is no, I actually did do an interview with a couple of Apple people about Swift UI.

00:05:41   And that's an interesting conversation about potentially the future of how apps will be developed across all of Apple's platforms.

00:05:48   And we did that on, I want to say Thursday.

00:05:53   And it will be maybe Wednesday.

00:05:55   Wednesday. Anyway, we will have that interview at the end of the show.

00:05:58   Yeah, so we'll talk about it a little bit more when we get to it.

00:06:02   We are in what I have referred to as the WWDC hangover right now.

00:06:07   For sure.

00:06:08   That's how I feel with my jet lag.

00:06:11   So I figured that that's that's the energy I'm bringing to today's episode.

00:06:16   So I kind of wanted to talk a little bit about all of the things that happen from the week between all of the things you find out, all of the things you get excited about, all the things that you get sad about because you realize they don't work the way that you wanted them to.

00:06:31   Because in our last episode, we were in we were more or less in the keynote bubble where we didn't know a lot beyond sort of what Apple had said at the keynote, the big picture stuff, and maybe, you know, a couple hours of people digging around and trying to find things.

00:06:45   So our our information was limited and you and I were then in San Jose for many more days after that.

00:06:51   Plus the whole Internet is kind of pouring over what Apple is doing.

00:06:54   So, you know, a lot has happened in the last in the last week.

00:06:57   So and I think that's part of the WWDC hangover is that you're still processing all of that stuff that there's so much there that it can't be just grasped in a couple of hours.

00:07:09   So what devices have you installed the beta on? What bays are you running right now?

00:07:14   I have so I have a sacrificed iPad Pro.

00:07:19   It's an iPad Pro 10.5.

00:07:21   So the previous generation, you know, touch ID version that I had that is now running iOS 13 just so I can look at it and try it out.

00:07:31   And that's been, you know, fun.

00:07:33   I will occasionally pick it up, as is always true with these early betas, especially, you know, you've got a wiped system that you're running it on.

00:07:41   And it's it's weird because it doesn't have your apps and it doesn't have your settings.

00:07:45   And I don't I haven't restored, you know, apps or settings to it very much yet.

00:07:51   And it really is just a thing to try out some of the new features and all of that.

00:07:55   So I've got that as as as my test system because I'm not going to put it on my regular system.

00:07:59   They have a unprecedented, I would say, for Apple.

00:08:02   They actually have a whole thing saying, if you're just a thrill seeker, don't do it.

00:08:05   Just don't do it on a regular device you count on, which is and we heard throughout the week.

00:08:11   A lot of people, you know, basically people at Apple or people who talk to people at Apple saying, oh, yeah, this is this build is buggy.

00:08:17   We've you know, it that build of the betas is not like built the day before the keynote, right?

00:08:23   It was built weeks ago and they probably fixed a lot of the bugs and there will be another build at some point, if not during the show, then at some point in the next few weeks.

00:08:32   And so, yeah, just I would say that there will be a public beta in July and people should wait for that.

00:08:38   I did on my Mac. I installed on an external drive that I bought specifically to install betas.

00:08:45   I, you know, installed on that, which required me to install Mojave and then update it to Catalina.

00:08:52   But I've got that going.

00:08:54   But I was reminded afterward during a discussion that we had in the relay FM slack that Marco Arment pointed out that with APFS, you can actually just kind of like allocate space and make new volumes and stuff.

00:09:06   And I realized that all of my years using APFS plus have made me basically right off my internal hard drive as being untouchable because that was sort of it was not something you wanted to do.

00:09:19   But apparently now you could do that.

00:09:20   You could make a new partition and install install Mojave and upgrade to Catalina inside there.

00:09:26   And that would work, too.

00:09:27   But I did buy the Samsung SSD just for this purpose.

00:09:30   So I'm for now anyway, I'm going to I'm going to use it that way.

00:09:34   And I haven't spent a lot of time with Catalina because I have to reboot my Mac into it.

00:09:38   And, you know, I've done a little bit there.

00:09:40   I anticipate that at some point I'm going to get an app that that I want to test on it, you know, some some, you know, catalyst app.

00:09:49   And then I will pop into Catalina and spend a little more time.

00:09:53   I have installed the betas on nothing so far, mostly because I've I got home yesterday.

00:10:01   And I did.

00:10:01   You were surrounded by people running betas.

00:10:03   Right.

00:10:03   That's true.

00:10:04   So I've spent a bunch of time with iOS 13 on Federico's iPad Pro because Federico I mean, I look at him and think you're a crazy person.

00:10:14   But I also understand he needs to begin immediately.

00:10:17   Right.

00:10:18   And I actually watched him begin to start taking his notes for his review.

00:10:22   Like he's already begun that process.

00:10:24   So he wants to get going straight away.

00:10:26   So which I can appreciate, but I'm terrified of.

00:10:30   I do really for stuff that we're going to talk about in a minute, I really want to be running 13 now, but I am least going to wait for beta two.

00:10:39   And then I'm going to see where I go from there.

00:10:42   But I guess I should just talk about the thing that I'm most excited about was just iPad OS in general.

00:10:50   But the mouse support, that's I've played with it and it's exactly what I want, Jason.

00:10:56   I was blown away by it, to be honest.

00:11:01   I could not believe how thorough the support is in the system.

00:11:07   It feels very natural to me.

00:11:10   It did not take very long for it to just feel like everything was working.

00:11:15   And you can do everything.

00:11:17   So once you plug in a mouse and it can be by Bluetooth or you can just plug in a mouse via USB or USB-C, depending on how many dongles you have.

00:11:26   I've seen images and videos online of people using like ADB mice.

00:11:30   Like you can.

00:11:30   Yes.

00:11:31   It is kind of extensive.

00:11:32   Somebody did ask me and I am looking forward to trying this.

00:11:35   Will my Wacom tablet work?

00:11:36   I don't know.

00:11:37   Maybe.

00:11:38   I don't know.

00:11:39   Probably not, but I'm going to try it anyway.

00:11:41   So I'm very excited about that.

00:11:43   But I was really surprised that you can do everything.

00:11:47   You can bring down control center, notification center.

00:11:50   You can resize windows and split view.

00:11:54   It was kind of unbelievable.

00:11:57   Like you can do drag and drop.

00:11:58   You know, like you can click and hold and then use the scroll wheel on the mouse to go up and down.

00:12:03   Like there was stuff that we found out that we didn't know.

00:12:05   Like you can program mice buttons to do anything.

00:12:08   You can have a bunch of system gestures.

00:12:11   You can program mice buttons to run shortcuts.

00:12:14   Yeah.

00:12:14   It's wild.

00:12:15   And I'm so excited.

00:12:17   The cursor itself, the cursor size is a tad aggressive.

00:12:21   It's very large.

00:12:22   I like that you can give it a color, but like it's very large.

00:12:26   Yeah, it's huge.

00:12:28   And you can, it's funny because there's a size control that lets you make it larger, but you can't make it smaller.

00:12:33   And that's one of those things that I would, people who are using this feature maybe file a feedback assistant item saying that it should, the minimum size should be smaller.

00:12:44   Because it kind of gets in the way of content in a way that I don't like, and I wish it were smaller.

00:12:49   However, what impresses me about it is how forgiving the touch interface is on iOS.

00:12:56   And we don't think about that when we're using our fingers because we're using our fingers.

00:13:00   But our fingers, the point where our fingers touch the screen is a big blob.

00:13:04   It's bigger than a Mac cursor.

00:13:06   And this has always been the argument is that the Mac wants a level of precision.

00:13:10   You expect a level of precision that just can't be there if you're using a fingertip.

00:13:14   And you see it when you're driving that virtual finger basically using an external point device.

00:13:19   At least for me, I start to think about it in Mac terms and I think, oh man, that's a really big cursor.

00:13:25   That's an awfully big target for whatever I'm trying to click on.

00:13:28   I think is it going to really understand what I'm clicking on?

00:13:31   And the answer is yes, it absolutely does.

00:13:34   And it almost is great to do just to expose the magic of how iOS has to make some very smart assumptions about what you are trying to do

00:13:45   because it was designed around these imprecise fingertips that we're using for its interface.

00:13:51   So like that huge cursor, I would click in places and like, it's not going to do this right.

00:13:56   And it always did it right.

00:13:59   Like always did it right, even though it was this enormous circle that I was driving on the screen.

00:14:05   And that goes to how iOS is a much less precise and more forgiving, the basic touch interface, you know,

00:14:12   pencil is a little bit different, but it's a much more forgiving interface.

00:14:15   And you don't think about it when you're using your fingertips, but you do when you are using the mouse cursor on the screen.

00:14:21   Yep.

00:14:21   And so this is very clear an accessibility feature, right?

00:14:24   Like I get that.

00:14:25   But I think that this is really showing that this is a feature Apple could include in the shipping OS.

00:14:36   And I'm my bet is they will.

00:14:39   I think enough people are going to like this and are going to use this and are going to want to give feedback on it and talk about it and make it a part of their workflow.

00:14:47   That I think going into the future, this will become a part of the operating system.

00:14:51   I mean, who knows that it could remain an accessibility feature and get refined because the fact is if, if only a small percentage of people use it, then, you know, you could, you could treat it as an accessibility feature.

00:15:05   I would also argue, you know, I'm not sure there's much difference, especially if they add a feature that automatically turns on the assistive touch cursor when appointing devices attached, right?

00:15:18   Like then at that point, we're just arguing about how many angels fit on a head of a pin, right?

00:15:23   It's just like, well, I think Federico was telling me you could, you can, you can do that with shortcuts.

00:15:28   With shortcuts, you can have a trigger, but I'm just saying like Apple could build that in and then yes, it would be a feature that's off by default.

00:15:34   But the moment you plug in a mouse, if a cursor shows up, then, you know, we can argue about whether that's an accessibility feature or not.

00:15:41   Uh, the point being, you don't want it to be in the way of people who are not going to attach a pointing device.

00:15:47   But that's, I don't think that's a problem because most people won't attach a pointing device and they never need to see this.

00:15:54   How's, uh, how's files?

00:15:58   You know, I posted a tweet about, uh, that I literally took a screenshot the moment that I did it for the first time where I plugged in, uh, a, uh, uh, an SD card and looked at its contents, uh, you know, like audio files recorded on my Zoom recorder.

00:16:12   And that was, it was great.

00:16:15   Like it was, it felt like the completion of a long journey.

00:16:19   It was weird, like an accomplishment, even though I did, I did nothing.

00:16:23   Um, what you did, Jason, is you stuck to it.

00:16:26   That's what you did.

00:16:27   Yeah, I just kept complaining.

00:16:29   And so what's funny is, so I was using again as iPad pro, so I had to use a lightning adapter and first I use the lightning USB adapter and I tried to attach it to my Zoom recorder as a USB device and have it go.

00:16:40   And that didn't work.

00:16:41   I think it might work on the iPad pro because the iPad pro is better at kind of just emulating a full fledged USB device.

00:16:47   The Zoom recorder got really confused about what it was connecting to and it basically said, forget it.

00:16:51   I don't know what I'm doing.

00:16:52   So what I ended up having to do is using the lightning to SD card adapter and plug the pop the SD card out of the recorder and plugged it in, which is not any more fussy really than attaching my recorder to a USB cord and attaching it to my.

00:17:10   iPad and then, you know, via an adapter, like they're both and then turning it on and putting it in card reader mode.

00:17:17   They're both fiddly.

00:17:18   So it's sort of just a matter of what, what approach you want.

00:17:21   But, um, when I attached using the SD card adapter, it just shows up in files and it's there and it's browsable and you can put in column view and go, you know, tap through until you find the, the, the, the bottom directory that's got the files in it.

00:17:33   And then you can just say like, open these or copy these and it just works like it's, you're plugging in a drive.

00:17:39   I couldn't get SMB to work.

00:17:41   I'm not sure if it's in there in the first beta, but, uh, yeah, it was just, it's just their files in a file system in the files app.

00:17:47   It's that's it.

00:17:47   Let me tell you something I like.

00:17:49   Yes, please.

00:17:50   No eject.

00:17:51   Just take it out.

00:17:52   Just take it out.

00:17:52   Yep.

00:17:53   The, the, in my mind, like the operating system should be smart enough to deal with that.

00:17:57   Right.

00:17:58   100%.

00:17:59   And this feels like, like, I think I would have been kind of mad if stuff like that was still there.

00:18:10   It's like, is there not a way like to just take care of this, you know?

00:18:10   So I really liked that.

00:18:11   It's just like that.

00:18:13   That's just how a computer feels like it should work to me now.

00:18:15   Or is it you should computer, you should work it out.

00:18:18   Don't rely on me.

00:18:19   Humans are going to pull that thing right out.

00:18:21   You just don't, you need to be built to deal with that fact.

00:18:25   Multitasking on iPadOS is really nice.

00:18:29   I liked the multiple windows and spaces stuff.

00:18:33   You know, like when you kind of press down on an icon and you go into AppExpose, you can open new windows from that view in applications.

00:18:41   I saw a tweet going around of a notification being dragged into a window, which was just amazing.

00:18:49   So you could get like a messages notification and you just pull it down.

00:18:53   That's one of those things that Federico mocked up in his, one of his like interface concepts was dragging something out of notification center and it's actually in there.

00:19:01   So I'm, and the, just the more I've been thinking about like the mini iPhone idea of slide over is just brilliant, right?

00:19:08   That you have this like tiny little iPhone and multitasking and everything is all in there and you can swipe between all the windows.

00:19:14   That's going to be so good.

00:19:16   I'm very excited for a lot of this stuff.

00:19:19   And I, you know, like even today I needed two Google docs open and I was like, ah, you just wait.

00:19:26   I'm coming for you Google docs, because you can use it in desktop Safari mostly.

00:19:31   It's not perfect.

00:19:33   For Beta 1, like I opened a Google sheets in desktop in Safari and I was able to select some cells.

00:19:44   Follow me here, select some cells of a spreadsheet and choose command C to copy them and then use the arrow keys to move to a different set of cells and do command V and it pasted them.

00:19:54   A feature that is not available in the app.

00:19:57   No, no, no.

00:19:59   But copying and pasting of text is real tricky in Google docs because Google is also trying to run that path of the interface as well as Apple.

00:20:11   So it's a bit, it's a bit janky in places, but I think with keyboard shortcuts, that's not so much of a problem, but I'm intrigued to see if and how Apple solve the like cursor issues that Google docs seems to be having right now in desktop Safari.

00:20:25   But look, but honestly though, being able to go to docs.google.com and seeing the desktop interface on my iPad is like a godsend.

00:20:34   Yeah.

00:20:35   Like that is a huge thing.

00:20:36   It sounds like they're doing some very Apple is doing very clever things where they're basically looking into the JavaScript and seeing what basically looking forward in time and seeing what happens if you tap on something, if you give it a click event and does nothing happen does.

00:20:51   Is it basically a click or is it like something like a dropdown where you need to actually have a hover state and it's, it's doing that in advance.

00:21:00   In order to determine its behavior, so it's, it's actually kind of intelligently saying, okay, this seems to be an interactive one.

00:21:07   So when you tap here, we're going to have it be a mouse over, uh, rather than, you know, having it be a tap every time or a hover first time because you don't want to wear you suddenly have to tap twice on everything either when it's unnecessary.

00:21:22   So they're doing a lot of very interesting stuff behind the scenes. My understanding is that this was yes of a very carefully put together feature that, uh, you know, now that it's going to be thrown out there in beta, it will be interesting to see how they react to the larger world to doing this and what strange quirks they find.

00:21:41   But, uh, it looks pretty good as a start.

00:21:43   I got to say,

00:21:44   uh, so very Jason Snell tweet go by saying that you've got movable type movable types working fine. Confirm that I guess for you and you and uh, John Gruber.

00:21:53   You're all good.

00:21:54   Yeah. Uh, movable type four is old and it was not really written for like touch devices in mind because it's a very, very old and yet I use it to post things and on my iPad or iPhone, there are a bunch of dropdown menus that if you tap the dropdown, it, uh, treats it as a click instead of just showing you the drop.

00:22:18   It also shows you the dropdown, but then if you don't tap on one of the items in the dropdown really fast, it goes away because it's also trying to load a different page or sometimes the same page and it's a stupid example, but it's a good example.

00:22:29   That is a, that is an interface not written for mobile.

00:22:33   It is written for desktop in, you know, a decade ago plus and, uh, in iOS 13 on the iPad, those dropdown menus work as they're intended as they were intended back then.

00:22:46   And I thought that was a good, it's funny and ridiculous, but it's actually kind of a good example of Apple's, uh, browser stuff doing the right thing and making it feel like a desktop environment.

00:22:58   Um, if you've been playing around with the text edit and gestures at all.

00:23:03   Uh, like the removing of the cursor and the copy and paste.

00:23:09   I have, I have tried it out.

00:23:11   Yeah.

00:23:12   What is your initial thought on it?

00:23:14   Every now and then I'm trying to select text and instead I grabbed the cursor and move the cursor and I don't like that cause I'm not trying to do that.

00:23:21   I'm trying to select text.

00:23:22   So some of that is going to be getting used to it.

00:23:24   And I wonder if they're going to have little tweaks over the summer too, because it is a beta.

00:23:28   They're not done.

00:23:29   Um, I think fundamentally the gesture of, of putting your finger down and selecting text by dragging it out is the right one.

00:23:37   And I'm glad that they're, they're doing that.

00:23:40   Uh, it's, that's the way it should be.

00:23:42   So, you know, I'm optimistic about it.

00:23:45   I think, um, I think it's a, I think it's a more natural set of gestures, but I also think that, that it may, you know, they're going to need to spend some time tweaking it to get it to make sense.

00:23:55   Plus we're all going to have to get trained to understand how it, how it is.

00:23:58   I'm enthusiastic about it.

00:24:00   I'm interested to see what it feels like then to be, um, doing it differently on iOS, on iPhone and iPad.

00:24:10   Right.

00:24:11   Because they are at the moment fundamentally the same.

00:24:14   And I, I wonder if like, am I going to find myself like holding and dragging on the iPhone more, you know, like I wonder what that's going to be like, or if it will be something that I'm able to break in my brain pretty easily.

00:24:26   Like that, that I'm intrigued to see that.

00:24:28   This was a thing that I was thinking about, about this kind of like iPad OS and why, you know, one of the reasons it's so surprising.

00:24:35   One of them is when you look at iOS 12 and you see all the things that they did to try and make the iPad more like the iPhone, you know, like when they, they brought in like, you know, the home indicators there and they moved control center up to the top right hand corner, even though it makes less sense.

00:24:50   And they put the split split status bar in.

00:24:53   It's just kind of interesting that they, they took those steps to try and make them the same the year before they were going to pull them apart in huge ways.

00:25:02   And like text selection being one of them.

00:25:04   It's just interesting to me.

00:25:05   Yeah.

00:25:07   The, I think it remains to be seen whether everything that's been announced for the iPad as part of iPad OS is actually in iOS on the iPhone.

00:25:18   It's just not being emphasized.

00:25:20   My guess is that most of it will be right.

00:25:22   My guess is that it's not one of these things where, sorry, iPhone, you don't get files access and you don't get the new selection behavior and all of that.

00:25:28   I, I would be surprised if there's much that is a totally different behavior set on the iPhone as the iPad.

00:25:36   I think that's not what they want to do.

00:25:39   Um, but I would like them to have the freedom to do that if it, you know, if the size of the device truly makes a difference.

00:25:47   All right.

00:25:49   Today's episode is brought to you in part by our friends over at Luna display.

00:25:53   Everybody loves extra space when they're sitting and working on the Mac and this is what Luna display can give you.

00:25:58   It can make tiresome tasks more enjoyable by removing all of that switching between applications, switching between spaces because you will have an extra space right there for you.

00:26:07   iPads have stunning displays.

00:26:09   You know, why not get a Luna display and be able to extend the screen from your Mac over to iOS.

00:26:14   You can do this just a tiny little dongle that plugs right into your Mac, providing crystal clear image quality, reliable performance and wireless flexibility at the same time.

00:26:23   It works over wifi, but if you don't have access to a stable wifi connection, you can just connect with USB.

00:26:28   And the great thing about Luna display is how portable you will make your setup because you can be productive at the office and studio.

00:26:34   No matter where you are, maybe you're traveling because you'll be able to just carry around maybe a laptop and an iPad and you'll be ready to go.

00:26:40   It is a super smart and easy way to get more screen real estate while on the go.

00:26:45   I have been using a Luna display for a very long time.

00:26:48   I mean, Apple's clearly getting into this game now, but what I know is that my Luna display has been rock solid for me for months.

00:26:54   I mean, I absolutely love this thing.

00:26:56   I have it plugged in to my Mac Mini and every single day I'm using it, I can open up my iPad, connect to my Luna display and I'm ready to go.

00:27:03   So we don't know what the sidecar is going to look like yet, but I know that Luna display is absolutely fantastic.

00:27:09   They're always adding new updates.

00:27:10   They just had a big update over the weekend, providing even better quality than ever before.

00:27:15   Their liquid video engine is fantastic for latency and it's super easy to be able to then use my Mac with keyboard, with my finger, with my Apple pencil.

00:27:24   It really is wonderful.

00:27:26   Listeners of this show can get an exclusive 10% discount on Luna display.

00:27:30   Just go to l-u-n-a-d-i-s-p-l-a-y.com and use the promo code upgradedcheckout.

00:27:37   That is lunadisplay.com and promo code upgradedcheckout for 10% off.

00:27:41   Our thanks to Luna display for their support of this show and Relay FM.

00:27:45   So I've been thinking a lot about reminders.

00:27:49   I have been digging into it a little bit more.

00:27:53   I've been looking at it.

00:27:54   I've been tinkering around with it myself.

00:27:56   I really think that this could possibly be my next task manager.

00:28:01   What would it replace?

00:28:03   Todoist.

00:28:05   Interesting.

00:28:07   Now, the reason for me is, at a fundamental level, there's only a few features that I'm using in Todoist.

00:28:13   I have projects, which are basically lists, and I put things into those lists.

00:28:19   And then I put due dates on things.

00:28:22   That's a fact at a real fundamental level.

00:28:25   That's what I'm doing.

00:28:26   And I just need repeating tasks and I'm good to go.

00:28:30   And really, Reminders has all of that functionality built right into it.

00:28:35   They have kind of nailed the basics.

00:28:37   I'm intrigued to see what the details will be by using it constantly.

00:28:44   But I really want to give it a go because I think it could be possible, and then it will unlock a bunch of system features for me.

00:28:52   So the ability to, for example, assign a message to JSON.

00:28:57   So then when I open messages next time, it will remind me, "Hey, you should ask JSON this thing."

00:29:02   Or the way that it's going to be...

00:29:05   I've never really used location-based stuff, but I'd be more keen to use it when it's tied into the system.

00:29:12   And then Reminders has great hooks into shortcuts, and Siri will be much easier to use.

00:29:19   So I'm going to give it a go, and I want to see if it can work for me in the same way that Notes did.

00:29:25   There are a lot of features that other Notes apps have available for me, but I use the Apple Notes app because it's rock solid.

00:29:33   It's built into the system, and I can take advantage of a bunch of system-level features that way.

00:29:38   The reason to use the stock Apple stuff is generally that they have access to certain kinds of features that just can't be done if you're not the system app from the system vendor.

00:29:49   And so, yeah, I use Reminders just as a really dumb list, so this new version of Reminders, I think that's a real question.

00:29:57   I have some recurring tasks that are in Todoist now that could probably just as easily be in Reminders.

00:30:02   Every now and then I've run into, historically, some weirdness with Reminders where I find that it's not as reliable as I would like,

00:30:10   that I think that I've set a recurring event or remind me on this certain time,

00:30:15   or certainly all that location stuff, just when I tried to use it, it completely failed for me.

00:30:20   It just would never remind me when I said, "Remind when I leave" or "Remind when I arrive," it just wouldn't do it.

00:30:27   So it's been a little while. I may likewise try to push it a little bit, whereas I sort of am currently in just this state where I accept Reminders for what it is at a very basic level and don't push it,

00:30:41   because the last time I tried it disappointed me, but with this new version it might be worth revisiting that.

00:30:47   And it even has something that's really important to me, it has natural language support.

00:30:51   So you can type in what you want and the system will suggest, "Oh, you want to repeat this every Wednesday."

00:30:57   Right, which I like in Fantastical, right? So seeing something like that, depending on how it works, would be great.

00:31:03   Because a lot of apps have it, like Todoist, but Todoist has this really super weird language.

00:31:08   It's not natural language, it's Todoist language support. You have to write it in the way that it wants you to write it, which I've never really liked but have gotten used to.

00:31:15   Yeah, if you don't speak Todoist, then you don't get it.

00:31:18   Exactly, Siri definitely doesn't.

00:31:20   And also, I think the last thing that I wanted to touch on is a thing that I'm really excited about, is shortcuts.

00:31:26   Oh, yeah.

00:31:27   Now, there's this whole thing going on with parameters, which I don't fully understand, but it looks like it's going to be a lot easier and nicer for third-party developers to have things operating inside of shortcuts where they couldn't before.

00:31:42   Yeah, there was all this conversation about Apple events on AppleScript and the equivalent in iOS, so much of it is using various URL patterns.

00:31:54   And the idea seems to be in iOS 13 that shortcuts is letting apps give and take parameters based on their intents, which is basically it's like, as a developer, you say, "I can accept this, I can do this."

00:32:11   And this seems to be where Apple is going, is as a developer, you will lay out what your app can take and can give.

00:32:20   And it's much more complicated than that.

00:32:23   And then within shortcuts, you'll be able to control that, which means it lets you say, "Tell this app to do this thing," without what you used to often have to do, which is send a URL pattern to this app.

00:32:36   And then it reads the URL pattern and it does that thing.

00:32:39   It seems to be like Apple is stepping up where it can be much more direct.

00:32:43   And the other big part of it is that the shortcuts concept has been modified to understand the idea that you might need to ask for more information.

00:32:54   So the apps can ask for information, they can be more interactive, and the shortcuts can as well.

00:32:59   And that allows you to have...

00:33:02   You combine that with triggers and having it be able to run shortcuts at various times, and you're going to be able to get a much more powerful, automated experience because instead of it being, "Press this button to do this thing," it'll be, "Press this button," and if it needs to ask you a question, it will.

00:33:17   And then it will take what you answered and pass that through and get the result that you want, which is a big step forward.

00:33:25   The automation stuff is something that I'm really excited about.

00:33:28   So Federico Vittucci interviewed Craig Federighi on App Stories, which is a wonderful interview.

00:33:33   Yeah, great interview.

00:33:34   Really excellent, and everybody should listen to it, and I'll put it in the show notes so they can.

00:33:38   But Craig kind of referenced HomeKit.

00:33:43   It was kind of interesting the way that he referenced it, but it was kind of just shortcuts of things that you might want to do in your home, and so we've added automation to it, which is a really interesting way to describe it, but I kind of get what he was going for.

00:33:57   But some of the stuff that you can do in automating shortcuts is kind of incredible.

00:34:02   So you can have them run at times of day, and different types of shortcuts work differently.

00:34:07   Some shortcuts will just run, but some of them require a notification to pop up, and you have to select it.

00:34:14   I assume it's something to do with whether it needs interaction or not, but I'm keen to kind of really dig into what the differences are.

00:34:23   But one of the ones that excites me the most is whenever you open an application, you can set an app.

00:34:29   Like, whenever I open X app, run this shortcut.

00:34:32   That's really cool for me when it comes to stuff like time tracking.

00:34:36   Yeah, it's funny. You and I had a conversation where you were like, "I don't know, how would you use that trigger?"

00:34:40   And I said, "Imagine you open an app, and it knows to either ask you, or it knows what project you're on when you're using that, and automatically fires off a time tracking trigger."

00:34:51   Like, "Oh, this app is only for this job." And it just fires that off.

00:34:56   Or it says, "Hey, Myke, what you doing? What are you working on?"

00:35:01   Hey, buddy.

00:35:02   And you answer it, and it does its thing. Yeah, exactly right.

00:35:04   Because it's noticing that you might forget, but now it's being triggered when you launch the app, and so it's going to ask you.

00:35:09   The automation will ask you.

00:35:10   And some of the arrive and leave type stuff.

00:35:13   So imagine every time you leave home, it could do stuff to your device, right? So you could turn on low power mode or whatever whenever you leave your home, if you wanted to do that.

00:35:24   I'm really excited for this. I'm very excited for what they've put in, in this kind of new version.

00:35:31   And I'm also very excited for where this could end up going.

00:35:35   This feels like, especially the automation stuff, I really wanted it, but I didn't think we were going to get it, honestly.

00:35:42   And I feel like what they have put in to a version one of this feature is pretty complete.

00:35:49   There's a lot in here, especially when it comes to opening an app.

00:35:55   That's the one that I'm the most happy about, or maybe the most surprised about, because it feels very full at that point.

00:36:03   Every time I open this app, it reminds me to run this shortcut, or just run it.

00:36:07   I'm really excited about it, Jason. I think that this is going to make a huge difference.

00:36:11   Time's a big one, too, in context. Or things related to that.

00:36:15   One of the big complaints was always like, if I set an alarm, and then I, you know, when the alarm is turned off by me, I want my morning routine to run.

00:36:26   And you should be able to do stuff like that now. Or when I'm going to bed, I want the evening routine to run.

00:36:31   And again, time and context should be able to let you do all that stuff, which is, that's great.

00:36:37   This is one of those areas where some of this stuff is going to be down to how it's implemented in apps.

00:36:43   And there was a lot of evangelism from Apple on stage during WWDC, in shortcut sessions, about all the things you could do to your app to extend it.

00:36:54   And how, you know, you pick up Siri shortcuts, and you pick up user automation through the shortcuts app.

00:37:01   And they're all merged together now. And the idea there is that basically, your intents, these things where you're saying, here's what my app can do,

00:37:09   like, that's the power of your app being kind of exported to whoever wants to use it.

00:37:16   And that's, you know, what Apple is saying is, that's really exciting. You should do this.

00:37:22   So part of this story will be when we get betas or in the fall when the shipped updates happen in the final version of the software,

00:37:32   where, you know, over the summer it'll be hit and miss because a lot of the stuff will just be built for iOS 12.

00:37:38   But once iOS 13 is shipping, all these apps are going to come in, and that's going to make it even more powerful

00:37:45   because then we're going to have the apps that are built to take advantage of some of this stuff, and that will be just a whole other level.

00:37:53   So one of the things that was quite key, especially as the week went on, is that WWDC this year had a lot of focus on the future.

00:38:03   It's kind of like the future of all of the platforms. It's broken down into Catalyst and SwiftUI.

00:38:10   But they're kind of telling two different stories of the future, but potentially are moving towards the same area.

00:38:18   Let's talk about Catalyst a little bit. How are you thinking about this right now?

00:38:25   Well, you know, right now in the short term I'm really excited, and I hope that the iOS developers I know who are going to be working on Catalyst versions of their apps will hook me up this summer

00:38:35   because I would love to try those apps. I want to see what it's like, and I want to talk to them about the process that they have to go through to make a good Mac app.

00:38:44   Am I going to get a beta of something that runs on the Mac but isn't a good Mac app?

00:38:48   And that might be a fun thing to give feedback as one of the early users of a Mac version of an iOS app to say, "Here's what it should probably do."

00:38:57   It's going to be an interesting summer as we all kind of explore together what's the expectation on a Mac versus the expectation on an iPad.

00:39:07   So the challenge is that a lot of these iOS developers have a lot of other things to work on this summer too.

00:39:14   Everything else that's new in iOS 13, iPadOS 13.

00:39:17   And so there's going to be some tough prioritization that has to happen this summer too, like our friend James Thompson and PCALC.

00:39:27   James has done some investigation and found that he can get PCALC from iOS running on the Mac, but it's missing some pieces that the Mac version has.

00:39:36   And he doesn't want to regress the features, so he's going to have to do some investigation.

00:39:42   He's going to have to think about it.

00:39:43   But that said, there's a whole bunch of other stuff going on that he needs to worry about and he's going to need to prioritize.

00:39:49   And my guess is he's going to prioritize a lot of other stuff over Catalyst because he already has a working Mac app.

00:39:54   A different developer might have a different view of it, but they're going to have to juggle, sort of like, "Am I supporting new features or am I bringing my app to the Mac?"

00:40:03   Or both, and "How do I prioritize and which one do I do first?" and all of that.

00:40:07   Meanwhile, Marco Arment is off learning Swift. I think finally he realizes he needs to do it.

00:40:13   So that's kind of funny too, Swift and SwiftUI.

00:40:16   So, you know, there's a lot of stuff going on this summer, but I think Catalyst, like, you know, it's interesting because Catalyst is kind of,

00:40:26   we went into the WWDC viewing Catalyst as the future of Apple's app development.

00:40:31   And now it feels like another bridge to the future, but not necessarily the future itself.

00:40:39   It feels very much like a stopgap.

00:40:42   Yeah, I mean, it is, I wouldn't want to say stopgap in the sense of, like, it's kind of a quick and dirty thing because I don't think it's that.

00:40:52   I think it's a huge move for the next few years for the Mac, but SwiftUI feels like the, you know, what Apple views as the promised land.

00:41:05   Which is there's a future where all apps for all Apple platforms are written in Swift and, you know, the interfaces are built in SwiftUI.

00:41:13   And as we'll hear in the interview later in this episode, you know, right now, that's not the case.

00:41:17   You can mix and match SwiftUI stuff, you can put SwiftUI and Swift code into existing apps that are not written with Swift and SwiftUI, and that's fine.

00:41:26   So you can mix and match.

00:41:28   And that's, Apple's often very good during transitions at doing this, which is you make it easy, pick it up in pieces,

00:41:36   make it be that for the user and even for the developer, it doesn't feel quite like a jarring transition.

00:41:43   It just sort of feels smooth, but in the end you look back a few years and realize you're not anywhere near where you were originally.

00:41:51   It's just, you didn't notice it, but everything changed.

00:41:54   And, you know, SwiftUI feels like that's the point.

00:41:58   Apple's pointing at that spot and saying, that's where we're going.

00:42:02   But also not, what it's not doing is saying everybody drop everything and just start using SwiftUI and there's going to be a complete break.

00:42:12   That sounds like, you know, Apple doesn't want to do that.

00:42:14   And because so much code is invested in UIKit, which is iOS apps, and then the Mac couldn't do that before, you know,

00:42:26   catalyst becomes this interim step, which is, you know, don't worry about doing a Mac version and an iOS version.

00:42:32   Your iOS skills will let you reach the Mac and then from there start building things in Swift and SwiftUI,

00:42:39   at which point you will ultimately be able to deploy those on every Apple platform.

00:42:46   I think what this shows, both catalyst and SwiftUI, I think it shows what Apple thinks the future is,

00:42:55   which is maybe different operating systems in a singular app platform.

00:43:00   Right, like these are just two different ways to get there.

00:43:03   And I expect that they would like this future to be sooner rather than later.

00:43:10   So they're giving catalyst now because they know it's going to take time for SwiftUI to catch on because it requires developers to learn a new language.

00:43:20   So that's going to take a lot of time.

00:43:22   And redo their apps, which, you know, most developers are not going to redo their apps or certainly they're not going to redo their apps immediately.

00:43:28   I'm reminded of in the Carbon and Cocoa transition and the, you know, PowerPC to Intel transition, all these,

00:43:37   like BB Edit has been around since the days of the 68K Mac in classic Mac OS.

00:43:42   And I still use BB Edit today.

00:43:44   And what has happened is over the course of many, many, many years, the app keeps changing and adapting.

00:43:51   And there was never a moment where old BB Edit got thrown out and there was a new version that was new BB Edit.

00:43:58   That just never happened.

00:43:59   It just kept progressing.

00:44:01   And I think that's the way Apple likes it is they want you to move along.

00:44:05   They don't want you to lag behind, but they want you to progress in a way that from a customer standpoint,

00:44:09   and they know realistically from a developer standpoint, you know, very few of them are going to say,

00:44:13   "Well, I'm just throwing away my old app and I'll build a new app and the new thing."

00:44:17   So they want to provide that kind of like just a continuum over time of, you know, gradual change that leads to the destination.

00:44:29   And you mentioned, you know, like the idea of a unified operating system or, you know, is that the goal here?

00:44:34   I'd say a unified app platform using unified tools.

00:44:38   But I would say that the addition of the concept of iPad OS this year actually says that there will never be an Apple OS.

00:44:49   I wouldn't say never, but I would say it's less likely to happen in the near future.

00:44:53   I mean, never is a long time, but I'd say there's no plan for Apple to do that anytime.

00:44:59   Like maybe it'll happen because they'll change their mind.

00:45:01   But I'd say philosophically today's Apple is saying we are going to unify our platforms as much as we can, but every device is different.

00:45:12   An Apple TV, an Apple Watch, an iPhone, an iPad, a Mac, they're different forms and we want them to be a lot alike.

00:45:22   And the iPad is the great example. Why call it iPad OS?

00:45:25   It's because an iPad is not an iPhone.

00:45:27   Even if they're really running basically the same OS, Apple wants people thinking about how does this work on iPad?

00:45:34   How does this work on Mac? How does it work on iPhone? How does it work on Apple Watch?

00:45:38   And view it at that level because that's how psychologically you get away from one-size-fits-all thinking, which Apple doesn't like.

00:45:50   Like Apple doesn't, I got a question over the weekend which is like, you know, has Apple done anything to make running iPhone-only apps better on the iPad?

00:45:56   And my answer was no, because Apple doesn't want to do anything to make life easier for people who refuse to write the iPad version of their app.

00:46:04   They are getting to the point where they're going to start kicking apps out of the store if they can't adapt to different sizes of screen.

00:46:12   Because at some point, you know, Apple's point is you can't do one-size-fits-all.

00:46:17   You have to do the work to stretch across the platforms.

00:46:21   And, you know, so is it one OS? Well, no, but it wouldn't surprise me if we go out five years or ten years,

00:46:30   Mac OS and iOS and iPad OS are all much more the same than they are different.

00:46:37   But as long as there's a difference in form like there is between the iPad and the iPhone, then, you know, I think Apple wants to lean into that difference and to say,

00:46:47   "Yes, iPad OS is not the iPhone, it's different and you need to think about it differently."

00:46:53   So I would say both on stage and kind of like in the media, like including I guess in this episode,

00:47:00   SwiftUI kind of sucked the air out of the room from Catalyst, you know?

00:47:05   For sure.

00:47:06   Because we were all expecting one thing and we got another.

00:47:09   Yeah.

00:47:10   But I would say from talking to developers, there doesn't seem to be a change in people's desire to adopt Catalyst and have their iPad apps running on the Mac.

00:47:21   Like I don't think that Catalyst is going to change the feeling that a lot of people have as to whether they were going to do it or not anyway.

00:47:30   Because as we said, right, like you can believe in SwiftUI as the future and as a developer, you can be like,

00:47:36   "All right, I want to learn this, I want to get going on it."

00:47:39   But it's going to be a lot easier, I think, for a developer to bring their iPad app to the Mac than it will be for them to redo their entire application, right?

00:47:47   Like in SwiftUI and make that a thing that you're going to do.

00:47:50   So I think the funny thing is that we were expecting something for so long and now it's here, it was kind of overshadowed a little bit.

00:48:00   But I'm still very confident that come September, there's going to be, or October, whenever Catalina will release,

00:48:06   I think we're going to see a lot of Mac apps installed.

00:48:10   Oh, yeah, I think for sure. And the message to developers really is, here's the bridge that lets you take your knowledge of iOS development and get it onto the Mac.

00:48:19   And then also, here's this new stuff, SwiftUI, which you can start using now as you bring stuff over to the Mac,

00:48:26   because it'll work on the Mac and it'll work on iOS and it'll work on the watch.

00:48:29   And you can start learning that now too, but the problem Catalyst solves is requiring developers with a big investment in code and knowledge from iOS,

00:48:42   basically being barred from the Mac. And Catalyst solves that problem.

00:48:47   But in the long run, ideally that problem doesn't matter.

00:48:51   And this is a funny thing, if you're a classic Mac app with no iOS equivalent and you start looking at Swift and SwiftUI,

00:49:00   one of the things that is interesting is you can make your Mac app better,

00:49:06   but in the long run you are also building stuff that will go to other platforms in a way that your AppKit stuff won't.

00:49:13   And that's also interesting, because in the long run,

00:49:17   and the arguments I've seen on Twitter about this are fascinating because it's sort of like, "Catalyst is the future."

00:49:22   No, it's not. SwiftUI is the future. And the answer is, yeah, Catalyst is the near future. SwiftUI is the farther off future.

00:49:29   And Catalyst is not an endpoint for Apple's platforms, but it is going to be something that is around for a long time,

00:49:37   because there are so many iOS apps, there's so many apps written in UIKit, using the UIKit stuff,

00:49:44   and they will linger for a very, very, very long time. But it's also clear that eventually Apple's goal is that everybody will be using Swift and SwiftUI.

00:49:53   And those things are not incompatible. I think everybody would like a simple story, which is, "Well, the future is Catalyst."

00:50:02   And it's like, "Well, yeah, it is, and it's also SwiftUI."

00:50:05   So we're talking about SwiftUI and Catalyst in the future and new technologies from Apple.

00:50:09   I think this would be a perfect time, actually, to play that interview that I did last week.

00:50:14   All right. I tell you what, let's take a break. We'll thank Pingdom, then we can introduce it, and then we'll play it out for people

00:50:20   so we can let people know what's coming up. How does that sound?

00:50:22   Sounds good.

00:50:23   But before we do, let me thank our second sponsor, and that's our friends over at Pingdom,

00:50:27   the company who make website performance monitoring super easy.

00:50:30   Everybody loves a fast website, and Pingdom are helping to keep your favorite sites online.

00:50:35   Netflix, Amazon, Spotify, Relay FM, Slack, these are just some of the companies who trust Pingdom to take care of their website monitoring.

00:50:42   Because websites are complicated.

00:50:44   But it's really important to know if your website is just up or down, right? Like is everything completely broken or not?

00:50:51   But Pingdom can do more than that. It can monitor any site transaction, because websites these days are full of different dependencies.

00:50:58   So Pingdom can monitor your user registrations, your logins, your checkout functionality, and so much more.

00:51:03   They care about making sure that you have the smoothest website experience possible, and if disaster strikes, they want you to be the first to know.

00:51:11   All Pingdom needs is the URL that you want to monitor to get started. That is it.

00:51:16   So just go to Pingdom.com/RelayFM right now, and you can sign up for a 14 day free trial.

00:51:21   No credit card required. Give it a go and see how great it is.

00:51:24   One something that I also love, by the way, is that we get a report every week, and it's like, this is how fast your website was.

00:51:30   I love stuff like that. It's just really good to know.

00:51:32   So go to Pingdom.com/RelayFM right now and get that 14 day free trial, and use the code "upgrade" at checkout, and you'll get a huge 30% off your first invoice.

00:51:41   Our thanks to Pingdom for their support of this show and all of RelayFM.

00:51:45   Okay, should we say this is an exclusive upgrade interview, Jason?

00:51:49   Nobody else was there. So it was just me.

00:51:52   That's how exclusive works.

00:51:53   I think that's a worldwide upgrade only podcast exclusive.

00:51:57   I love it.

00:51:58   Let me tell you who these guys are. So I interviewed Wiley Hodges and Josh Schaffer.

00:52:03   Wiley is the director, tools and technologies product marketing at Apple, and he is Wiley Hodges on Twitter.

00:52:12   And Josh Schaffer is the head of Apple's iOS UI frameworks team.

00:52:16   So he's sort of a proud parent of Swift UI.

00:52:21   And I got to talk to them at the McHenry Convention Center in Apple's little podcast studio that they set up at the end of the hall on Wednesday of last week.

00:52:30   And yeah, here's the interview.

00:52:33   So Wiley, what's your story? What's your Apple history?

00:52:37   I'm told that you've been here at Apple a while.

00:52:40   A little while. I mean, certainly there are people who've been around longer, but this is my 19th WWDC.

00:52:47   Although only my 17th in a row because I did have a brief stint away from Apple.

00:52:51   But I originally came to Apple back in 1997 by way of the next acquisition.

00:52:55   Oh wow. Wow. So you've been involved in OS stuff most of that time?

00:53:01   OS, developer tools, a few other areas, AR briefly. So it's been a lot of fun.

00:53:06   Awesome. Awesome. And Josh, what about you? What's your Apple story?

00:53:10   I've been at Apple about almost 15 years now.

00:53:13   And yeah, I came back, I came to Apple at the time when we were just starting the Intel transition.

00:53:18   I've been thinking about all of Apple's big transitions lately because, you know, there are different chip transitions, there are OS transitions, and there are developer tool transitions.

00:53:28   And I get the feeling like we're in a moment, I mean, let's not talk about future directions, but a moment of transition in a lot of areas.

00:53:37   We see it with something like Catalyst, where you're sort of transitioning what platforms developers can target.

00:53:44   And we're here to talk about SwiftUI, which seems like it's another tool in the toolbox, but it also feels a little like a transition too.

00:53:53   Would you describe it that way, or is it just another tool for developers?

00:53:57   At this point I'd say it's a really great tool for developers.

00:54:00   One of the things that I would hope developers get out of all of this is that this isn't replacing AppKit, UIKit.

00:54:08   So when I asked that question, Josh started to get a little bit of a wince, like, "Mmm, transition is not the..."

00:54:14   I mean, I think you heard the reaction in the keynote hall.

00:54:18   "You're not trying to build a wall here and say, 'Everybody go over the wall. Leave your... Abandon the ships.'"

00:54:22   Yeah, no burning boats required. If you want to burn your boat, you know, it's a really nice place to go.

00:54:27   Right, but you want to give developers the option. So, okay, let's back up and start at the beginning of this.

00:54:32   And we'll get to what SwiftUI is and what it does, but I wanted to start by asking, "Why create SwiftUI? What problem is it solving?"

00:54:43   When we created Swift, we had this vision that we wanted to make development...

00:54:48   I think the words we used at the time were "fast, modern, and interactive, and safe."

00:54:52   And so we wanted to make a super-fast language that had all the greatest, latest modern features,

00:54:57   that eliminated entire categories of programming errors, and that had this really great interactive experience for developers,

00:55:03   like a scripting language would have. And we delivered the language that did that,

00:55:07   and it was entirely about integrating with our existing frameworks.

00:55:10   And our frameworks and tools still had some ground to cover if they were going to fully deliver on that interactive promise.

00:55:16   And so I think what I see in SwiftUI is actually delivering on the rest of that promise that started with Swift back in 2014.

00:55:25   Yeah, I think its focus on declarative programming is really a thing that just lets you focus on what you want to put on screen,

00:55:31   instead of worrying so much about how to get it there.

00:55:33   You know, if you think about an analogy of, "We're sitting right here, and if you wanted to get to San Francisco,

00:55:39   I would have to give you a set of directions to get there."

00:55:42   And if you would have to follow them in a specific order, and if you ever varied from that order, you would end up in the wrong place.

00:55:47   And UI programming has always been kind of like that. You have something on screen right now,

00:55:52   and the job of a UI programmer is to change what's there into another state and get it to that other place,

00:55:57   using a set of directions that you give to the computer.

00:55:59   And SwiftUI is instead as if I just gave you the address that you want to get to, and you called a cab.

00:56:04   It's way easier.

00:56:06   Wow, that's a good analogy. I like that.

00:56:07   Is some of the background here that even though you introduced Swift,

00:56:12   a lot of the general assumptions were inherited from an era where things were C and Objective-C,

00:56:19   and this is an ability to kind of recast it in a way so that it's more holistically Swift-like?

00:56:25   Would that be a fair way to describe it?

00:56:27   I think it's a part of it. I would note that we've been doing a lot over the last few years to make our actual

00:56:33   AppKit and UIKit frameworks more Swift-y themselves for Swift programmers.

00:56:38   Certainly this represents something that is pure native Swift, and so a whole different level of that.

00:56:43   Yeah, in fact, in iOS 12 you saw actually a very large adjustment to the UIKit API and Swift to make it more Swift-y.

00:56:51   It's something that is still very important to us and we've continued to invest in as well.

00:56:55   So in the keynote, there was that example slide with the large block of code and then the much, much smaller block of code.

00:57:03   Getting back to you saying, "I'm going to call a cab to take me to San Francisco,"

00:57:07   but I was struck by how much more simple and natural it felt,

00:57:13   and that's got to lead to productivity for your developers to not have to think about intricate details

00:57:20   in order to do something that's fairly simple and they know the result that they want to get.

00:57:24   Yeah, I mean one of my favorite things about working on user interface frameworks,

00:57:27   which is where I've spent most of my time, is that as we develop new technologies and work on improving the APIs,

00:57:35   we can make developers' lives so much easier.

00:57:37   I mean the work that we put in scales to huge numbers of people building apps and makes their job easier,

00:57:43   and then that scales to making apps that their customers get way better,

00:57:47   because something that starts with, "We can improve an API in our office,"

00:57:51   just really does impact the lives of everybody using all the apps that we all create.

00:57:55   Now one of the questions that came up when this was announced was,

00:57:58   "How much is this a new way of writing apps and how much of this is another tool in the toolbox?"

00:58:03   And it sounds like if you're a developer who's got an existing app

00:58:06   and you want to do a portion of it using SwiftUI, it's not a problem.

00:58:11   You can mix and match. You can start adding this in.

00:58:14   You don't have to sort of throw out your work and start again.

00:58:17   You can start using SwiftUI immediately.

00:58:20   Is that accurate?

00:58:21   Absolutely. It totally coexists with your existing AppKit, UIKit, and WatchKit code.

00:58:26   You can do as little as a single view in an app,

00:58:29   and of course you can rewrite your entire app if you want to,

00:58:31   and I'm sure there's a lot of people busy rewriting apps right now.

00:58:34   When we think about things like scripting and trying to imagine,

00:58:38   it's more metaphors of layers of an operating system.

00:58:41   Behind the scenes here, is this an extra layer of abstraction?

00:58:45   I mean, SwiftUI is definitely, you're going to get a fully native app when you use it.

00:58:48   I mean, you get the same controls on screen.

00:58:50   You're getting something that is the same result as if you had written it yourself using UIKit,

00:58:56   but saving you the work of having to create all those intermediate steps to explain how to get it all there.

00:59:01   You were making tools to enable apps.

00:59:04   You're the toolmakers for the people who then you create this base,

00:59:08   and then all of these people rush in and use these tools to make all these apps.

00:59:12   I want to talk about the tool part of this,

00:59:15   because one of the great demos involving SwiftUI is the idea that you've got a visual representation of an app,

00:59:22   and you've got code, and you can go back.

00:59:25   You can either write code and see it immediately shown on screen,

00:59:28   or you can click on elements on the screen,

00:59:31   or open a palette of different things you can apply to an object and drag them on and set them,

00:59:37   and then you're still seeing all of that happen live in code.

00:59:40   So can you talk a little bit about how SwiftUI as a concept of code that you write

00:59:48   works with this idea of building developer tools?

00:59:51   Because this isn't just, "Here are some words you can use."

00:59:53   This is a whole system with the ability to see your code become real as you type it.

01:00:00   Yeah, I mean, one of our core goals was to make sure that while we were building a really great API,

01:00:04   we also had a set of tools that were deeply integrated with it.

01:00:07   And I think as you can see in the demos, they just really perfectly complement each other.

01:00:12   The tools expose the things that you can do in the code very directly,

01:00:17   and they can even be used as a mechanism to learn the code so that later if you want to write it by hand.

01:00:21   That's what struck me, is that if you're looking around in that--

01:00:24   First, there's amazing documentation, and then you've also got a lot of information in that floating palette,

01:00:30   where, you know, "Oh, this is a--"

01:00:31   If you can search for a property that you would like to apply, and you drag it onto the item,

01:00:37   you now see the syntax of what that is.

01:00:40   So it strikes me as being a--

01:00:42   I mean, we talk about Swift in the context of something like Swift Playgrounds and people learning to code,

01:00:46   but this is a level up from that, where it's learning how to--

01:00:51   you know, the details of what's available for app developers.

01:00:55   It looks like it's going to be a very good tool for beginning programmers, too.

01:01:00   I think it's incredible for beginners, and I think it's incredible for advanced developers.

01:01:03   I mean, I've watched people start to use it who swear that they just like coding,

01:01:09   they're not a fan of graphical tools because they like to get in there and write it themselves,

01:01:13   and even they still love the new tools because it helps you do things like discover

01:01:19   some of the other options available that you can set on a particular object,

01:01:24   and you don't have to remember the full set of all the ones that are there,

01:01:28   and if there's one that you don't use that frequently, it's easy to find.

01:01:31   I think the other thing that's important about the way the tools are built is that

01:01:34   when you edit the visual UI design stuff, you're not editing some opaque representation of a UI that gets translated later.

01:01:43   It's the code.

01:01:44   And so the developers who love getting in the code are excited because

01:01:48   now these tools aren't hiding from them what's going on in the code.

01:01:51   In fact, it's right there plainly for them to see.

01:01:54   And it's something that scales with your level of skill. It's a great way to get started,

01:01:58   but you don't then age out of it and stop being able to have it be a productive environment.

01:02:03   It sticks with you and really can be a great tool for your entire programming experience.

01:02:08   Another way to differentiate a couple of the different states in the developer tools is

01:02:11   you've got this live preview, and then you've also got the ability to go in and run it in place,

01:02:18   and then you can also take it out to a device beyond that, which is, I think, really interesting.

01:02:22   One of the great demos that I saw is the idea that you can build multiple instances of that preview

01:02:28   in the little debugging block at the bottom, and that seems so clever because you can give slightly different statuses,

01:02:36   like is dark mode on or not, and then you end up literally with two iPhones that you can scroll and say,

01:02:42   "Okay, how does it look here and how does it look there?"

01:02:45   Which I keep thinking of the productivity of the developers not having to constantly be kind of like,

01:02:50   "Now let's put it in dark mode and see what happens. Now let's go back."

01:02:53   It's just sort of like it's there, and then you can flip over into the full-on where you're building it

01:02:58   and running it in the simulator. So you've got these multiple steps, which I guess that strikes me as being

01:03:04   just all minutes and ultimately hours and days saved by developers because they don't have to keep round-tripping it

01:03:12   to the simulator or to the phone.

01:03:15   Yeah, I think as much time as people are going to save with writing less code, they're going to save easily,

01:03:20   just as much just in productivity from being able to see these multiple states.

01:03:24   And when you make an edit, you can so quickly tell if the change that you made is doing the right thing

01:03:29   in all these different configurations. It's really fast.

01:03:33   And one of the awesome things about part of the demos we showed at the State of the Union this year

01:03:38   was that because the code can define the previews, you can use code.

01:03:42   You can actually do things like iterate over a bunch of options and have them appear in that preview,

01:03:46   which is incredibly powerful for developers.

01:03:49   One of the concepts that comes up a lot is this dogfooding idea, the idea that one of the best ways to build new tools

01:03:55   is to use the tools yourselves because then you find out, "Oh, it doesn't do this, it does do that."

01:04:00   How is Apple using SwiftUI?

01:04:03   I mean, it was very important to us that while we were building it, we used it ourselves too,

01:04:07   and there's a number of places that were doing that. But one of the ones that I think is most interesting

01:04:11   that you've already seen is the developer tool itself.

01:04:15   All of the popovers with the inspectors and the canvas for all the previews,

01:04:20   all of that was also written in SwiftUI.

01:04:22   Wow, that's great. And I assume that there are other apps, whether you want to detail them or not, it's fine.

01:04:27   But I assume that you heard from a lot of developers inside Apple with feedback about SwiftUI.

01:04:35   Would that be safe to say?

01:04:36   I think the people who've seen it were very excited to use it,

01:04:39   and certainly there are some other places in the system where it's been employed.

01:04:43   And then there are probably other developers who didn't know SwiftUI even existed

01:04:46   and will now be excited to use it.

01:04:48   That's quite possible.

01:04:49   That's quite possible. That's fair enough.

01:04:52   Now, I want to ask about another layer of this about the span of devices in Apple's platforms

01:05:00   and the span of devices that are touched by SwiftUI.

01:05:03   As it was said on stage, you can use SwiftUI to build apps for Apple Watch, for iPhone and iPad and Mac and Apple TV as well.

01:05:12   Right.

01:05:13   So how do you go about first off building a tool that's flexible enough to deal with a tiny watch screen

01:05:20   and an enormous iMac, let's say, or Mac Pro with Pro Display.

01:05:26   Were there special challenges there?

01:05:30   How does a developer, it's not like you can write one code block and say, "Well, there it's solved on the Mac and on the Apple Watch."

01:05:37   But how do you deal with these different platforms all happening within SwiftUI?

01:05:42   Well, I think the compositional approach that we have in this API really lends itself well to this kind of thing

01:05:47   because it lets you build these smaller pieces that you then compose together to build progressively bigger things.

01:05:52   And it's because they're easily composed together in these small pieces that can be taken on their own,

01:05:58   it's a lot easier to take whatever appropriate piece of that you have and move it into different configurations on different platforms.

01:06:06   So if you had, for example, a table view cell that made a lot of sense on the iPhone and also made sense on the Mac,

01:06:12   you could share that really easily even if the context it appeared in was different.

01:06:16   So you share the pieces.

01:06:17   Is there something too about the more abstracted nature of it saying this is an item, this is a text item with a headline and a color

01:06:24   and that you're not, that doesn't fundamentally say one platform, it's just this abstracted item?

01:06:31   Definitely. I mean, part of the declarative nature is the minimal specification.

01:06:36   You're just describing the smallest amount necessary to get what you want,

01:06:39   and that gives us a lot of extra opportunity to provide better defaults for different platforms,

01:06:44   even if that wouldn't be exactly the same on each platform.

01:06:47   So things like which font to use or the default colors might be different across platforms,

01:06:51   even if the code used to generate them is the same.

01:06:53   So the developers that I've been talking to, I actually, there's one developer who said,

01:06:58   "I kind of want to tear up my app and write it again now just for fun."

01:07:03   Like, I don't have to, but I kind of want to just because of the kind of excitement of seeing this new approach.

01:07:11   You know, other developers probably not going to do that, but have you gotten to talk to people here at the conference about SwiftUI?

01:07:18   And how has that reception been?

01:07:20   I've certainly heard similar feedback, and I've had the same feeling myself.

01:07:22   I have an app I write for myself just for my own purposes, and I long ago rewrote it because it was too hard to not do that.

01:07:30   It was so much fun.

01:07:32   Of course, that's just for me, so.

01:07:34   Josh has groupies now, you know, and definitely we've been hearing from a lot of developers exactly what you said, you know.

01:07:39   Well, and I know we don't want to have the message come across, "It's time to rewrite your app," because that's not it.

01:07:44   But it's more like the enthusiasm for this of like, "Oh, imagine," and there is a giddy thrill you get in taking that,

01:07:50   you know, scrolling eight pages of code and turning it into one page of code, right?

01:07:55   It's work, but it's also kind of, as a developer, I would think, kind of thrilling to be like, "Look what I just did."

01:08:01   Well, and remember, as a developer, those are also lines of code you're not maintaining in the future.

01:08:06   And so there is—

01:08:08   It looks more readable to me, too.

01:08:09   Absolutely. Absolutely.

01:08:11   Which is great because I heard somebody say last night, and I'd never thought of this before, was it Craig?

01:08:18   It might have been Craig that code is read far more than it's written, that, you know, writing the code and having it execute is important.

01:08:26   But so much of the importance of the code is the legibility so that when somebody else wanders in or you wander in six months later, you go, "What is happening here?"

01:08:35   And SwiftUI looked to me, again, as an outsider, but it looked way more like understandable and readable in not just in length, but sort of like in the way that things are phrased.

01:08:46   Yeah, absolutely. I'm maybe not the best at writing comments in my code, and generally that has historically made me feel guilty.

01:08:54   With SwiftUI, I think it helps to swage a lot of my kills.

01:08:57   A little less guilty because you should be able to—

01:08:59   Please still write comments.

01:09:00   Please do still write comments.

01:09:02   You probably should still write comments.

01:09:03   Don't follow my model. I'm just writing it for myself.

01:09:05   So with Swift, five years ago, right, we get Swift, and it has been evolving over time.

01:09:11   And it went through this phase of sort of like there was a first version, and then there was a big version two with changes, and Swift seems to have really matured in the last couple of years.

01:09:21   Where does SwiftUI go from here? Do you view this as being like the first year of Swift where it's like, "This is a great start, and you'll see all of the places we're going to go next"?

01:09:34   Or is it more like, "No, we've already got the Swift Foundation, and this is—are you done? Do you walk away now?" Or is this just the beginning with SwiftUI?

01:09:43   And Josh dropped the mic, actually.

01:09:45   That's right. I'm out of here.

01:09:46   I think—and I'll let Josh elaborate on this, too—but I think it's fair to say that it's like Swift in the sense that you're definitely going to see continued development and evolution of what's happening here.

01:09:57   There's going to be great feedback from the developers, and there's also just work that we still want to get to in the project.

01:10:03   The thing I would say is different is that Swift as a language, we were prepared to evolve in some very basic ways.

01:10:10   Even over the summer after we announced it, we made some pretty significant changes to the Swift language in response to what developers were telling us.

01:10:17   And I think the sort of extent of those changes and the impact of those changes probably isn't going to be the same in terms of SwiftUI just because we have a language that's in a fairly mature state, as you noted.

01:10:28   Yeah, I mean, we know there's a long list of things that we're still very excited to do.

01:10:32   I think it's an incredibly capable framework already, but there's no end of the great ideas we have for how to move it forward and improve it.

01:10:41   So we're definitely—there's a lot of things that we'll continue to work on.

01:10:46   But like Wiley said, we wanted to, for this first release, focus really strongly on making sure that the fundamentals were really solid.

01:10:54   Do you expect that this summer, as this beta goes on, you will get feedback that you need to address immediately?

01:11:03   Or do you think it's more a long-term, sort of like, "We want to hear how people are using this"?

01:11:07   Because that was one—like you said about Swift, that in the beta, the beta process sometimes is there to make changes before you ship it.

01:11:15   Is it that kind of process here, or is it more that you just want as part of your process of developing SwiftUI to get feedback from developers?

01:11:23   I mean, I think we always know for everything that we put out at WWDC that there'll be feedback that we'll get that we're going to be excited to hear.

01:11:30   And we very often do change things throughout the beta period.

01:11:35   And there is an element with the Swift language that I should probably note that we have, with the announcement of SwiftUI,

01:11:42   submitted some proposals to the Swift language community that are now being discussed and debated within that community.

01:11:49   And there may be some small changes to the language that come out of what those proposals entail.

01:11:54   So, we're not—I wouldn't say we're done with that process at all.

01:11:58   We actually really value the input of the community on that.

01:12:01   And that said, we also think we have some really solid proposals, and had already gotten some great feedback on some related proposals before.

01:12:08   Okay, so also thinking about future makes me want to ask a question that I've heard from a few people now, which is complexity of interfaces.

01:12:17   So, I've definitely heard app developers say their concern with something like SwiftUI is that it's going to be really great at building a lot of stuff that is more standard,

01:12:27   which sometimes takes more work than it should, that they want to focus on other stuff, and that they're going to save time, and that's great.

01:12:33   But there are also questions about, you know, how complex can I make my interface with SwiftUI before it sort of says, "This is too much. You need to use other tools."

01:12:47   Is that a wall that they might hit, or is SwiftUI really sort of like, "You can go as deep as you want"?

01:12:52   Well, I certainly agree with them that it's going to be incredible for building standard things.

01:12:56   Yeah, and I've heard that loud and clear, that there are a lot of people who think, "Wow, this thing that took me hours will not take me minutes."

01:13:01   But there's no question in my mind that it also scales really well to building more complex things and stuff that's not a little bit more off the beaten path.

01:13:08   I mean, the set of tools here can do all kinds of things, and there's a ton of customization and flexibility available too.

01:13:16   I think it's often the case for people that haven't worked in this kind of more declarative environment that it's harder to wrap your head around initially the fact that it is as flexible as what you're used to.

01:13:26   But I think that's true of anything where somebody's used to doing one thing and hasn't yet.

01:13:31   Change is hard.

01:13:32   Well, and some declarative environments are more limited, and I think that may also frame some of the thinking here.

01:13:37   But I know from my own perspective, and this is colored by what I saw internally before we actually ever announced SwiftUI,

01:13:42   some of the first examples I saw were actually much more complex custom UI that kind of blew me away with how little code was required to build them.

01:13:49   So it's absolutely something that's going to scale to much, much more, and even just looking at, frankly, the canvas for previews in Xcode 11 and the kinds of capabilities we've done there,

01:13:59   they kind of go beyond the examples we've shown, which necessarily are kind of where you start in building a SwiftUI app, not where we think is the ultimate destination for every developer.

01:14:08   Yeah, I think these standard things also make great initial demos to show because it's stuff that we all have in common.

01:14:13   We've all written a table view so everyone can relate to what the experience is and really understand the benefit.

01:14:20   I love asking people who work at Apple about the future because on one level, let's not talk about the future, but on another level,

01:14:28   you guys obviously did not introduce this for us to never speak of it again.

01:14:33   In five years, I would imagine at WWDC, if we're all fortunate enough to be here in five years, right,

01:14:39   that lots and lots of slides on lots of different stages are going to be about with Swift code and SwiftUI.

01:14:45   Like this is a big, Apple didn't do this kind of on a lark.

01:14:50   This is a big deal and it's a major way that app development is going to work across Apple's platforms going forward.

01:14:57   That's the idea here is that you're not deprecating anything.

01:15:01   You're not saying stop writing in these other ways.

01:15:04   But is it fair to say that this is something that you would expect would be, you know,

01:15:09   see I'm trying to thread that needle of talking about the future without saying abandon your ships again.

01:15:14   The future is bright and it doesn't exist, right? That would be the official Apple line.

01:15:17   That's excellent. Excellent. Right? Because this is a big deal and I would imagine that you want developers to pick up the torch here and start running with it.

01:15:24   And in two or three years even that so many of the examples of the apps and that the best practices for writing apps like everybody's talking about using Swift and SwiftUI.

01:15:32   You know, I've somewhat waggishly said in the past that my dream for, you know,

01:15:37   WWC in another 10 or 15 years is that my daughter who's 11 now is standing in a long line at the women's room complaining about Swift and SwiftUI.

01:15:47   Now that's obviously, you know, being a little silly. But I do think this is a long thing.

01:15:52   These adoption cycles are measured in years and, you know, we're, I think,

01:15:57   just at a point where Swift is beginning to hit its stride as a language and SwiftUI is a really exciting start for something that is going to go on for quite some time.

01:16:05   I know you don't want to talk about the future, but I will say that I have seen Apple executives frame SwiftUI and Swift in the context of generational changes in development tools versus something like, you know, the C and Objective C era.

01:16:20   So that's a that's a that's kind of a lot to live up to because you're building you're building. It's not just for this year, it's for a long period of time that people are going to be learning and building with these tools.

01:16:30   Is that how do you feel? No pressure, Josh. I'm excited to see where we go.

01:16:36   I think there actually is one thing about SwiftUI and the tools integration that we haven't talked a lot about, but that I think people are going to be thrilled about, even in the short term, if they're not yet adopting SwiftUI this year, which is all of the tools for these live previews that we've looked at.

01:16:47   While you do need to use SwiftUI to set them up to get the preview in place, it really is compiling and running your code.

01:16:53   So it works with your existing UI kit and app kit code as well. And you can do the same kind of live iteration on your existing app, even if you aren't yet quite adopting SwiftUI.

01:17:03   Yeah, it doesn't do quite everything that SwiftUI would do there, but it's a really powerful set of tools for UI kit.

01:17:08   Good point. The selection and pop up menus that give you all the more editing features are specific to SwiftUI.

01:17:16   But the actual canvas and live previews to see the results are available for existing.

01:17:21   And I've definitely seen comments already from UI kit developers who are really excited about what that's giving them.

01:17:25   And I should say, I didn't mention it before, except in passing, I have heard from a lot of people who develop Apple Watch apps who are extremely excited about SwiftUI because their perception is that this is what they've wanted in terms of tools to build watch apps for the last few years, which is kind of cool.

01:17:42   Like they feel like the watch in the early days, you know, the hardware was amazing and yet also really limited and power limited and originally coming from the phone and all of that.

01:17:52   And with the independence of the watch and these tools, I've heard from multiple watch developers who said, oh, yeah, this is what I want in terms of being able to develop watch apps.

01:18:01   So that's cool, too, that this week, you know, most of the demos were iPhones, but I think Apple Watch developers are really excited about SwiftUI, too.

01:18:08   Yeah, I mean, there's no question that the flexibility that you're going to have now on Apple Watch for user interface creation with this is quite a bit more.

01:18:15   Yeah, right. And they're excited to be able to take advantage of that.

01:18:17   Yeah, I mean, you've got independence, you've got the store, you've got SwiftUI. This is a year when watchOS development is hitting its stride in a big way.

01:18:23   Yeah, so that's good. That's good, too. Well, thank you both. I know that these moments don't come along that often.

01:18:31   And while it's very technical, I know developers really want to know about this stuff. And I think the users are also kind of fascinated to see how Apple keeps pushing things forward.

01:18:39   That's part of the DNA of Apple is trying to innovate and come up with new ways of doing things.

01:18:44   And Swift, you know, I was sitting next to excited developers the moment Swift was announced and the smiles on their faces were pretty amazing to see.

01:18:52   And, you know, SwiftUI, it's been a similar reaction where people have been enthusiastic about it.

01:18:57   So I know it's a big step to let your thing out into the wild at last.

01:19:01   Very exciting.

01:19:02   Very exciting. It's been fun to see the reaction and I'm really excited to talk to more people about it.

01:19:06   Well, thank you both for being here and talking to me in San Jose. I appreciate it.

01:19:10   Thank you, Jason.

01:19:11   Thanks very much. It's been fun.

01:19:13   So that was great. That was really great, Jason. I think you did a wonderful job.

01:19:16   And it was super interesting to hear from those guys. Again, people I never heard from before. I like that Apple's doing this.

01:19:22   You know, we had Colleen Novelli, who was, Colleen's going to come up later on in the episode actually.

01:19:27   But we had her on the show a while ago and then all throughout last week and now into this week, we're hearing from many new people on various podcasts.

01:19:36   Many relay FM shows, in fact, which is wonderful.

01:19:38   I really enjoyed listening to the way that they were framing SwiftUI, kind of in the way that we were talking about it too, that even the people building it understand that this is not the be all end all right now.

01:19:56   Right? That this is a tool that a developer can implement and they can use it as much as they want to, but they don't have to give in completely to it.

01:20:06   You know, like, and I also liked how they said, but, but you can because complex apps can be made in it.

01:20:12   So it seems like it's pretty encompassing and I'm excited to see what the future of this is, especially from people who seem to also be so enthusiastic about it was really nice.

01:20:21   Yeah. Yeah. They are, you know, obviously well-trained in not wanting to do that thing where like, like Wiley said, you know, you don't have to burn the boats, right?

01:20:32   Like they want to be excited about the new thing without striking fear in the hearts of the users of the old thing, because their message is really, this is a new thing.

01:20:42   We think it's going to be great. It is powerful. It's not just for baby apps, it's for everything, but you don't have to, you don't have to throw away your old code.

01:20:50   You can adopt it in pieces. You can learn it as you go.

01:20:54   And you can, you know, you can gradually pick it up and use it. And I think unstated there is that yes, in the future at some point, this is going to be the way to do this, but Apple doesn't want to come across and, and really kind of like sour the taste of this by saying, this is the new thing.

01:21:12   The old thing is dead. They're like, no, no, no, no, no, no. The old thing is still there and you can learn the new thing.

01:21:17   And I think that they were really careful to make that point because what they don't want is for developers to get defensive and say, why are you taking away my old thing that I know so well?

01:21:25   They're like, no, you got your old thing. And then here's a great new thing that will save you time.

01:21:29   It's good for you learn this and it'll be awesome. And, uh, you know, and, and span across from little tiny Apple watch all the way up to a giant Mac pro.

01:21:42   However, that is not the end of today's episode because an episode of upgrade.

01:21:47   Exactly. And everyone's been saying people were stopping me, Jason, in the, in the halls in San Jose.

01:21:53   I don't know what was saying. Where was hashtag ask upgrade last week. And I'm like, don't worry.

01:21:57   It'll be, I didn't bring my lasers to San Jose. You, they, you know, they're, they're very, it's very expensive and heavy equipment.

01:22:03   You can't just move that around. Willy nilly. Indeed.

01:22:06   Today's episode is also brought to you by Eero. The folks over at Eero built the wifi system that they wish that everybody could have in their homes, right?

01:22:14   A fast, reliable connection in every room and out to the backyard too. It starts with the second gen Eero device.

01:22:20   It has three five gigahertz radios allowing for increased speed and range, and it sits flat on any surface connecting over ethernet or wirelessly.

01:22:29   Then you can also expand the coverage throughout your entire home by adding in Eero beacons, which are devices that plug directly into your wall, allowing you to reach every single corner of your home.

01:22:39   The single router model just doesn't work anymore. Wifi waves don't go through walls very well.

01:22:44   And with Eero, you can install an enterprise grade wifi system in your home in just a few minutes.

01:22:49   The Eero app lets you manage your network directly from the palm of your hand so you can see how many devices are connected and the speed of your internet.

01:22:56   And Eero updates automatically so you have the latest features and security updates at all times.

01:23:02   Now I know Jason over there in California, the weather is changing, it's getting nice and warm, which makes me expect that you'll be working from outside a lot more these days.

01:23:10   I already have been, yes. This is the season where I'm working in the backyard.

01:23:14   I've got an iPad out there and I want to be on my home wifi.

01:23:19   Also, got to keep the lawn watered and I have a smart controller for my irrigation and it needs a wifi connection.

01:23:28   And I thought, oh no, I'm putting this on the far corner of the house. It's not going to be on the wifi that's going to be an issue.

01:23:34   It's not an issue because my Eero network's got it covered.

01:23:37   And so wherever I am in the footprint of my house and the backyard and all of that, the wifi is solid.

01:23:46   You can get free overnight shipping by going to Eero.com, that's E-E-R-O.com.

01:23:51   Check out, select overnight shipping and then enter the code AHOY and it will be free.

01:23:56   That's A-H-O-Y. So it's Eero.com, select overnight shipping and use the code AHOY to get that for free.

01:24:02   Our thanks to Eero for their support of this show and Relay FM.

01:24:05   And it is time for the triumphant return of #AskUpgrade.

01:24:10   I was expecting the lasers to be much more significant. I thought it would get backed up, but I guess lasers don't work like that.

01:24:17   No, they don't.

01:24:18   No, they do not. So we all learned something today.

01:24:20   Mark asks, do you think that this year's WWDC announcements will also bring great Mac apps like the previously referenced BB Edit to iPad OS?

01:24:29   You know, it doesn't really go in that direction.

01:24:32   I think what I implied in the last segment is potentially true, which is a lot of great Mac apps over time will continue to evolve like BB Edit has evolved.

01:24:44   And if BB Edit evolves to the point where it can go to iPad, then that's great.

01:24:51   But I think it will be a very long time because it's got a long legacy of stuff that only runs on Mac.

01:24:57   And so I think that's going to be a harder thing to do.

01:24:59   But in the long sweep of history, what we've seen is that BB Edit is a good example of an app that just continues to adapt and change to whatever technologies Apple is doing.

01:25:08   And so could we all wake up in five years and discover that BB Edit now runs on an iPad? Maybe. It could happen.

01:25:14   Yeah, SwiftUI seems like the way that that's more likely to happen.

01:25:18   But I still do believe that Catalyst is going to make iPad apps much better because Apple have kind of said that.

01:25:29   That's the whole message is you've got to first make a good iPad app.

01:25:33   Like that's what you got to do. So maybe existing Mac apps, not so much.

01:25:37   But is it going to improve some iPad apps? Definitely.

01:25:40   Could we see some developers abandon their Mac app, make a great iPad app and turn it into a Catalyst app?

01:25:46   Yeah, probably. Twitter kind of did that, but in a kind of weird roundabout way. Ben asks, "With point-to-device support in iPadOS, should or could companies like Bridge make iPad keyboards with built-in trackpads?"

01:26:00   They certainly could, as long as we get some clarity on sort of like how the pairing works and all of that. They certainly could.

01:26:10   I think the question is what percentage of users want that feature and also what does that feature look like?

01:26:16   Because if the feature is hard to turn on and confusing to use and has that big old cursor and all that, it's going to be a much more limited appeal feature than if it's something that is friendlier, where it automatically detects the pointing device and turns itself on and all of those things.

01:26:34   So Bridge makes keyboards with trackpads for Surface, so they certainly could do it and it would probably work.

01:26:42   I think the real question is sort of like what's the desire among users for that feature and how good is that feature in practice?

01:26:53   The desire with this user is very high, but I understand if they want to wait and see is it going to become more integrated or is it going to stay as it is? Is it going to over the beta cycle? Is it going to get easier? We'll find out.

01:27:08   I would very much like it, but I agree. Unless they charged quite a significant premium for it, I don't know if it's going to work out for them in the near term, but I hope so. I hope that they think to themselves, "That wouldn't be too difficult for us to do," and then they just go for it.

01:27:23   Well, I mean, they already did it for the Surface, so it wouldn't take that much to do and I doubt that the trackpad part would be particularly enormously expensive.

01:27:32   But it is a question of like is that something that they're going to want to do or not? I would be very interested in something like that. But I will say I think a lot of the use cases here are not laptop configuration use cases.

01:27:42   There you put it in a stand and you're at a desk. Federico's thing where he mirrors the display on a big monitor, like that's a great example where he will be able to use that big monitor with a trackpad or a mouse.

01:27:56   So there are use cases for this cursor and a subset of those use cases are laptop configuration kind of use cases. But that said, yes, I would be very interested in something like that.

01:28:09   Steve asks, "Do you think there's significance to previous upgrade guest Colleen Novielli presenting the Pro Display XDR on stage last week? Maybe there's some technology shared with a next generation iMac Pro."

01:28:21   So I found out from listening to an interview with the Mac Pro product manager, Doug Brooks, on Mac Power Users, he referenced that Colleen is the product manager for the display, which is why she presented it.

01:28:36   Yeah, I think these roles are multiple products at times, so she's an iMac product manager who is also put in charge of the display.

01:28:46   But I do think that it is good to see that. I think that it is interesting to me, right, at least to be like, does she is in charge of those two product lines? Because you would assume in the future there may be some further synergies there.

01:28:59   Yeah, I feel like that Mac desktops probably is a team that commingles, right? And so therefore the monitor, the Mac Pro, the iMac Pro, and the iMac, and maybe the Mac Mini are all kind of like in a group together, is my guess.

01:29:14   All right, our next question comes from Eric, and this is along a similar line. "Assuming that a new iMac design is coming, which design elements from the Mac Pro or Pro Display do you think could trickle down?"

01:29:23   Boy, well, I mean the reduced bezels is the big one. I think we've all been expecting that, like a reduced bezel. Something that's a little bit tighter in, although I would imagine the iMac is going to still want to have a webcam, which the Pro Display doesn't.

01:29:39   You can add one, but it's not built in. Whether it picks up some of the other look and feel of the Mac Pro, I'm going to guess not.

01:29:46   It feels like that look and feel is very purpose-built for that machine, not for design reasons.

01:29:53   Yeah, I think so. That's my guess.

01:29:56   Mark says, "With iTunes going away, where will we be able to buy content?"

01:30:01   iTunes is not going away, and you can still buy content.

01:30:04   iTunes, the app, is going away, right? But that's true. But the iTunes store is still there.

01:30:12   If you want to look at how that looks, the TV app is an example of it, right?

01:30:17   The iTunes store is gone, but TV is where the store lives, and that's kind of like what's happening with music.

01:30:22   Yeah, and the music app on the Mac, you can show or hide the iTunes store. It's an option.

01:30:28   Based on your history, if you're an Apple Music subscriber, it doesn't show it by default, although you can show it.

01:30:36   If you're not, it does show it by default. So it's still there. Apple is still selling media, just like Amazon is still selling media.

01:30:42   It's another revenue stream for them, but they feel like it's not the more common use case now, so it's kind of moved to the side.

01:30:50   But there are a lot of articles about iTunes going away that misunderstood what that meant.

01:30:57   Similarly, Gareth wants to know what's happening to iTunes on Windows, and the funny thing is, it's staying around.

01:31:05   It's nothing, is the answer.

01:31:07   Which is kind of hilarious that the iTunes app now will only exist on Windows, which I think is kind of wonderful.

01:31:13   I actually found out, I mean this makes sense, but I didn't know it was the case, that Apple Music, like the iCloud Music Library stuff, that's all on Windows as well.

01:31:22   I was kind of surprised, I mean it makes sense, but it's been so long since I've heard anybody mention.

01:31:28   I feel like I've heard more people mention iTunes for Windows in the last week than I have in the last two years.

01:31:33   But it turns out, it's still around, still alive and kicking, which is I think kind of wonderful.

01:31:39   And finally today, Alexander asks, on the new iPadOS home screen, how does it handle portrait vs landscape icon arrangement?

01:31:46   The thing that I hate right now the most is that my icons move around, how do widgets work in portrait as well?

01:31:52   Good news.

01:31:55   Oh yeah? Give us the good news.

01:31:57   Yeah, it's a grid, and I think it's a 6x6.

01:32:03   6x6, 6x6 wide at least.

01:32:05   Yeah, basically when you turn it from portrait to landscape, the icons don't reshuffle, they stay the same. They get tighter when you're in vertical orientation, and they get looser when you're in horizontal, but they remain together in rows and columns, they don't get confused, which is really great.

01:32:24   And the widgets, do the widgets stay in place?

01:32:27   Yeah, so the widgets go away I believe in portrait, and they're there in landscape, I think that's what they do.

01:32:32   Yeah, I also noticed that the widgets go away if you swipe to a new screen, so second screen and go back, you have to bring them back in again when you're in the first screen.

01:32:40   I would really like a way to fix that. They say pin.

01:32:44   Yeah, I think there's a setting and it doesn't work quite right, and I would not be surprised if that's a beta thing, because you should be able to say always show the widgets on page 1 instead of having to get to page 1 and then swipe again to get the widgets to come back.

01:32:56   I always just want the widgets there now.

01:32:58   On page 1, right.

01:33:02   Yeah, I just want them always there, because that just feels like a logical thing for me, that's where they just live. The widgets look great on the iPadOS.

01:33:08   They do. They've looked great for a while, but they're just hidden away, so now they're not going to be hidden. It's great.

01:33:13   Very excited about that.

01:33:14   Alright, if you want to send in a question for us to answer and help you out at the end of the show, just send out a tweet with the hashtag #AskUpgrade, and your question may be included on a future episode. I want to extend my thanks to Wiley Hodges and Josh Shaffer for the interview as well with the SwiftUI team. Very, very cool of them to lend their time for us, and Jason did a great job putting all that together.

01:33:38   If you want to find Jason online, go to SixColors.com, go to Twitter as well as @JasonL there, and I am @imike, I am @yke.

01:33:47   Thanks again to our sponsors this week, Eero, Pingdom, and Luna Display. We'll be back next week, episode 250 of Upgrade.

01:33:55   250. It's a very special episode. The question is, will we usher in the summer of fun or not? And I don't think we know yet.

01:34:02   Nobody knows. The summer comes for you, Jason.

01:34:04   Well, if we don't know, who does?

01:34:06   No one. This is it. Nobody knows.

01:34:08   Big number. 250.

01:34:09   So we're very excited about that. We're not going to be celebrating the show like we did at episode 200, because we did that like a year ago, but it will be a special episode because the number will be great.

01:34:19   And plus, every episode of Upgrade is special, isn't that right, Jason Snell?

01:34:22   Super special.

01:34:23   Super special.

01:34:24   Yes, sir, Myke Hurley.

01:34:25   As always, thanks so much for listening. Until then, say goodbye, Jason Snell.

01:34:28   Goodbye, everybody.

01:34:29   [Music]

01:34:35   [Music]