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:41 ◼ ► Because literally everything has changed in the time in between when we spoke last to now.
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: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: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: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:44 ◼ ► So we were in the last row of one of the big blocks and then there were still media people behind us.
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:28 ◼ ► And sometimes I will sit with a group of eight and other times I'll sit by myself, basically.
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: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: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:58 ◼ ► Just send a tweet with the hashtag Snell Talk and it may be included for a future episode.
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: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: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: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: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: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: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: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: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:20 ◼ ► You could make a new partition and install install Mojave and upgrade to Catalina inside there.
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: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:53 ◼ ► I have installed the betas on nothing so far, mostly because I've I got home yesterday.
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: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:42 ◼ ► But I guess I should just talk about the thing that I'm most excited about was just iPad OS in general.
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: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: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:56 ◼ ► And we don't think about that when we're using our fingers because we're using our fingers.
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: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: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: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:25 ◼ ► But I think that this is really showing that this is a feature Apple could include in the shipping OS.
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: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: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: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: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: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: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: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:53 ◼ ► The, the, in my mind, like the operating system should be smart enough to deal with that.
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: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: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:19 ◼ ► And I, you know, like even today I needed two Google docs open and I was like, ah, you just wait.
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: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: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: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: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: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: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:24 ◼ ► And I wonder if they're going to have little tweaks over the summer too, because it is a beta.
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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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:57 ◼ ► So then when I open messages next time, it will remind me, "Hey, you should ask JSON this thing."
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: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: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: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: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: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: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:28 ◼ ► So Federico Vittucci interviewed Craig Federighi on App Stories, which is a wonderful 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: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: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: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: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: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: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: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:07 ◼ ► I'm really excited about it, Jason. I think that this is going to make a huge difference.
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: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: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: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: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: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:07 ◼ ► Meanwhile, Marco Arment is off learning Swift. I think finally he realizes he needs to do it.
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:31 ◼ ► And now it feels like another bridge to the future, but not necessarily the future itself.
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: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: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: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:46 ◼ ► I think what this shows, both catalyst and SwiftUI, I think it shows what Apple thinks the future is,
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: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: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: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: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: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:53 ◼ ► I mean, never is a long time, but I'd say there's no plan for Apple to do that anytime.
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: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: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: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: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: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: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: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: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: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: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: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: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:23 ◼ ► But before we do, let me thank our second sponsor, and that's our friends over at Pingdom,
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: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:16 ◼ ► So just go to Pingdom.com/RelayFM right now, and you can sign up for a 14 day free trial.
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: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:52:03 ◼ ► Wiley is the director, tools and technologies product marketing at Apple, and he is Wiley Hodges on Twitter.
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:40 ◼ ► A little while. I mean, certainly there are people who've been around longer, but this is my 19th WWDC.
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: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: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: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: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: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: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: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: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: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: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: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: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:37 ◼ ► I mean the work that we put in scales to huge numbers of people building apps and makes their job easier,
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: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:15 ◼ ► because one of the great demos involving SwiftUI is the idea that you've got a visual representation of an app,
00:59:31 ◼ ► or open a palette of different things you can apply to an object and drag them on and set them,
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:07 ◼ ► And I think as you can see in the demos, they just really perfectly complement each other.
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:24 ◼ ► First, there's amazing documentation, and then you've also got a lot of information in that floating palette,
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:42 ◼ ► I mean, we talk about Swift in the context of something like Swift Playgrounds and people learning to code,
01:01:00 ◼ ► I think it's incredible for beginners, and I think it's incredible for advanced developers.
01:01:09 ◼ ► they're not a fan of graphical tools because they like to get in there and write it themselves,
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: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:45 ◼ ► Which I keep thinking of the productivity of the developers not having to constantly be kind of like,
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: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: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:33 ◼ ► And one of the awesome things about part of the demos we showed at the State of the Union this year
01:03:42 ◼ ► You can actually do things like iterate over a bunch of options and have them appear in that preview,
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: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: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:52 ◼ ► Now, I want to ask about another layer of this about the span of devices in Apple's platforms
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: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: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: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: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:39 ◼ ► and that gives us a lot of extra opportunity to provide better defaults for different platforms,
01:06:47 ◼ ► So things like which font to use or the default colors might be different across platforms,
01:06:53 ◼ ► So the developers that I've been talking to, I actually, there's one developer who said,
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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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:30:04 ◼ ► iTunes, the app, is going away, right? But that's true. But the iTunes store is still there.
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: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: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: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: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: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: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: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.