491: Salmon and SwiftUI
  
   
 
 
	 00:00:00
     ◼
      
     ► 
     - Oh, I have a very tense neck and shoulder situation 
     
     
  
 
 
	 00:00:05
     ◼
      
     ► 
     going on this week because I've been doing Swift UI. 
     
     
  
 
 
 
	 00:00:13
     ◼
      
     ► 
     So I'm trying, I should get a list together. 
     
     
  
 
 
	 00:00:17
     ◼
      
     ► 
     So with DubDub this year, they gave me all sorts of gifts. 
     
     
  
 
 
	 00:00:22
     ◼
      
     ► 
     They gave me a photo picker because the one I'm using 
     
     
  
 
 
	 00:00:25
     ◼
      
     ► 
     right now is the UI kit one, which you can't launch 
     
     
  
 
 
	 00:00:28
     ◼
      
     ► 
     from SwiftUI and I have this utter pile of hacks 
     
     
  
 
 
	 00:00:30
     ◼
      
     ► 
     to get that to work. 
     
     
  
 
 
	 00:00:32
     ◼
      
     ► 
     They gave me a native photo picker. 
     
     
  
 
 
	 00:00:33
     ◼
      
     ► 
     They gave me a native drawer, which is on Masquerade, 
     
     
  
 
 
	 00:00:37
     ◼
      
     ► 
     it's the thing where you select what emoji you wanna use. 
     
     
  
 
 
	 00:00:39
     ◼
      
     ► 
     They gave me a native one of those. 
     
     
  
 
 
	 00:00:41
     ◼
      
     ► 
     And there was some, oh, they gave me a native 
     
     
  
 
 
	 00:00:43
     ◼
      
     ► 
     screenshotting mechanism, which is between just the three 
     
     
  
 
 
	 00:00:46
     ◼
      
     ► 
     of us, how you actually export an image from Masquerade, 
     
     
  
 
 
	 00:00:49
     ◼
      
     ► 
     as I just screen capture, which I know is not the way 
     
     
  
 
 
	 00:00:51
     ◼
      
     ► 
     I should be doing it, but I'm not here to argue 
     
     
  
 
 
	 00:00:52
     ◼
      
     ► 
     about that right now. 
     
     
  
 
 
	 00:00:53
     ◼
      
     ► 
     Anyway, of those three things-- 
     
     
  
 
 
	 00:00:55
     ◼
      
     ► 
     - Wait, what? 
     
     
  
 
 
	 00:00:56
     ◼
      
     ► 
     Is the maximum resolution? 
     
     
  
 
 
	 00:00:57
     ◼
      
     ► 
     is the resolution it is on your screen? 
     
     
  
 
 
	 00:00:59
     ◼
      
     ► 
     - No, no, because it's at 3x. 
     
     
  
 
 
	 00:01:02
     ◼
      
     ► 
     So yes-ish. - Yes, though, 
     
     
  
 
 
	 00:01:04
     ◼
      
     ► 
     that is how you've been doing it. 
     
     
  
 
 
	 00:01:04
     ◼
      
     ► 
     - Yes, so yes-ish. 
     
     
  
 
 
	 00:01:06
     ◼
      
     ► 
     I'm not here to argue about that right now. 
     
     
  
 
 
	 00:01:09
     ◼
      
     ► 
     So anyway. - You need to fix that. 
     
     
  
 
 
	 00:01:11
     ◼
      
     ► 
     - On the list. 
     
     
  
 
 
	 00:01:12
     ◼
      
     ► 
     So anyway, concentrate, concentrate. 
     
     
  
 
 
	 00:01:14
     ◼
      
     ► 
     So the photo picker thing, 
     
     
  
 
 
	 00:01:16
     ◼
      
     ► 
     the photo picker thing gives you a SwiftUI image view, 
     
     
  
 
 
	 00:01:20
     ◼
      
     ► 
     which is useless if you wanna do any sort of manipulation 
     
     
  
 
 
	 00:01:23
     ◼
      
     ► 
     of the image. 
     
     
  
 
 
	 00:01:26
     ◼
      
     ► 
     because I need a UI image instead of just a Swift UI image. 
     
     
  
 
 
	 00:01:30
     ◼
      
     ► 
     And the officially blessed way to do that 
     
     
  
 
 
	 00:01:32
     ◼
      
     ► 
     is this new transferable protocol 
     
     
  
 
 
	 00:01:34
     ◼
      
     ► 
     where it'll give you a URL 
     
     
  
 
 
	 00:01:35
     ◼
      
     ► 
     where the file is sitting in the file system 
     
     
  
 
 
	 00:01:37
     ◼
      
     ► 
     for you to copy to your own sandbox and do something with, 
     
     
  
 
 
	 00:01:40
     ◼
      
     ► 
     except that in all the beta seeds so far, 
     
     
  
 
 
	 00:01:42
     ◼
      
     ► 
     it gives you the URL and the file's already fricking gone 
     
     
  
 
 
	 00:01:44
     ◼
      
     ► 
     by the time you get the URL. 
     
     
  
 
 
 
	 00:01:47
     ◼
      
     ► 
     The screenshotty thing doesn't work 
     
     
  
 
 
	 00:01:49
     ◼
      
     ► 
     and that's mostly a Casey problem. 
     
     
  
 
 
	 00:01:51
     ◼
      
     ► 
     That's not terribly interesting, 
     
     
  
 
 
	 00:01:52
     ◼
      
     ► 
     but it's another thing that doesn't work 
     
     
  
 
 
	 00:01:53
     ◼
      
     ► 
     the way I want it to. 
     
     
  
 
 
	 00:01:54
     ◼
      
     ► 
     And the drawer, the way it works is it's presenting a sheet, 
     
     
  
 
 
	 00:01:59
     ◼
      
     ► 
     a modal sheet, not taking over the entire screen. 
     
     
  
 
 
	 00:02:03
     ◼
      
     ► 
     My drawer can't be modal because you're supposed 
     
     
  
 
 
	 00:02:05
     ◼
      
     ► 
     to interact with both the drawer and the backing view 
     
     
  
 
 
	 00:02:07
     ◼
      
     ► 
     that launched the drawer. 
     
     
  
 
 
	 00:02:09
     ◼
      
     ► 
     So of the three things that I so desperately wanted 
     
     
  
 
 
	 00:02:12
     ◼
      
     ► 
     and seemed like Christmas in June just for Casey, 
     
     
  
 
 
	 00:02:15
     ◼
      
     ► 
     none of them are working right now 
     
     
  
 
 
	 00:02:17
     ◼
      
     ► 
     and I am very sad about it. 
     
     
  
 
 
	 00:02:19
     ◼
      
     ► 
     So with that in mind, Marco, tell me about SwiftUI 
     
     
  
 
 
	 00:02:21
     ◼
      
     ► 
     and how great it is. 
     
     
  
 
 
	 00:02:23
     ◼
      
     ► 
     Where we last left last show. 
     
     
  
 
 
	 00:02:25
     ◼
      
     ► 
     - Our intrepid hero. 
     
     
  
 
 
	 00:02:26
     ◼
      
     ► 
     - Yes, I had come to the realization that 
     
     
  
 
 
	 00:02:29
     ◼
      
     ► 
     if I'm going to continue being a professional 
     
     
  
 
 
	 00:02:31
     ◼
      
     ► 
     iOS developer as my career, 
     
     
  
 
 
	 00:02:34
     ◼
      
     ► 
     it was my responsibility to switch 
     
     
  
 
 
	 00:02:37
     ◼
      
     ► 
     as much as I possibly could to SwiftUI, 
     
     
  
 
 
	 00:02:40
     ◼
      
     ► 
     really dive in eagerly and dive in head first 
     
     
  
 
 
	 00:02:43
     ◼
      
     ► 
     and try to do as much of it as I possibly could. 
     
     
  
 
 
	 00:02:45
     ◼
      
     ► 
     And so my task for this past week has been, 
     
     
  
 
 
	 00:02:50
     ◼
      
     ► 
     I've been kind of juggling a few things. 
     
     
  
 
 
	 00:02:53
     ◼
      
     ► 
     I've been doing some server work, 
     
     
  
 
 
	 00:02:54
     ◼
      
     ► 
     I've been doing a minor Overcast update 
     
     
  
 
 
	 00:02:56
     ◼
      
     ► 
     with the existing code base, 
     
     
  
 
 
	 00:02:56
     ◼
      
     ► 
     and then in the spare time I had between those two things, 
     
     
  
 
 
	 00:02:59
     ◼
      
     ► 
     I was trying to start clean with SwiftUI. 
     
     
  
 
 
	 00:03:03
     ◼
      
     ► 
     I have a brand new project that just basically a test 
     
     
  
 
 
	 00:03:06
     ◼
      
     ► 
     to see can I replicate some of the basics 
     
     
  
 
 
	 00:03:09
     ◼
      
     ► 
     of the Overcast interface with SwiftUI? 
     
     
  
 
 
	 00:03:12
     ◼
      
     ► 
     I mentioned in the past a lot how I feel very burdened 
     
     
  
 
 
	 00:03:16
     ◼
      
     ► 
     and trapped by the amount, the sheer amount 
     
     
  
 
 
	 00:03:20
     ◼
      
     ► 
     of UI code I have. 
     
     
  
 
 
	 00:03:21
     ◼
      
     ► 
     It's a lot of code, it's old code, 
     
     
  
 
 
	 00:03:24
     ◼
      
     ► 
     it is all in a legacy language using legacy frameworks 
     
     
  
 
 
	 00:03:28
     ◼
      
     ► 
     and it is a huge amount of tricks and hacks 
     
     
  
 
 
	 00:03:32
     ◼
      
     ► 
     to try to get exactly what I want to happen. 
     
     
  
 
 
	 00:03:35
     ◼
      
     ► 
     And so my goal with SwiftUI has been, 
     
     
  
 
 
	 00:03:38
     ◼
      
     ► 
     as I'm doing this exploration and my new prototype 
     
     
  
 
 
	 00:03:41
     ◼
      
     ► 
     of how this thing could work, 
     
     
  
 
 
	 00:03:43
     ◼
      
     ► 
     I want as little code as I can. 
     
     
  
 
 
	 00:03:45
     ◼
      
     ► 
     I wanna do things in the cleanest, least complicated way 
     
     
  
 
 
	 00:03:49
     ◼
      
     ► 
     that I can do them. 
     
     
  
 
 
	 00:03:50
     ◼
      
     ► 
     And if I have to give up certain details 
     
     
  
 
 
	 00:03:52
     ◼
      
     ► 
     of how things look or work, as long as it's not too bad, 
     
     
  
 
 
	 00:03:55
     ◼
      
     ► 
     I'm willing to do that. 
     
     
  
 
 
	 00:03:56
     ◼
      
     ► 
     - Which, just to interrupt briefly, 
     
     
  
 
 
	 00:03:57
     ◼
      
     ► 
     I think that this is a very smart and pragmatic way 
     
     
  
 
 
	 00:04:00
     ◼
      
     ► 
     of doing things, which was born, it seems, 
     
     
  
 
 
	 00:04:02
     ◼
      
     ► 
     in no small part from your discussion with Dave 
     
     
  
 
 
	 00:04:05
     ◼
      
     ► 
     on Under the Radar, which was excellent. 
     
     
  
 
 
	 00:04:07
     ◼
      
     ► 
     And I am in full support of this technique. 
     
     
  
 
 
	 00:04:09
     ◼
      
     ► 
     Like, I think this is a really great way 
     
     
  
 
 
	 00:04:10
     ◼
      
     ► 
     for you to dip your toe in, decide whether or not 
     
     
  
 
 
	 00:04:13
     ◼
      
     ► 
     hate it and not have damaged your existing app, you know, into either fork or like you 
     
     
  
 
 
	 00:04:19
     ◼
      
     ► 
     said sounds like you know you start a new project, but one way or another I think this 
     
     
  
 
 
	 00:04:22
     ◼
      
     ► 
     is a really great way to do it and I'm curious to hear how it's going so far because I'm 
     
     
  
 
 
	 00:04:26
     ◼
      
     ► 
     guessing it's not great. 
     
     
  
 
 
	 00:04:27
     ◼
      
     ► 
     So, okay. So first of all and what you just said like you know decide whether I like it 
     
     
  
 
 
	 00:04:33
     ◼
      
     ► 
     or not that's not a question I'm considering. I'm requiring myself to like it. Like I'm 
     
     
  
 
 
	 00:04:39
     ◼
      
     ► 
     I'm going to like this and I'm just going to keep eating it until I like it. 
     
     
  
 
 
	 00:04:42
     ◼
      
     ► 
     I've been there. 
     
     
  
 
 
	 00:04:43
     ◼
      
     ► 
     Me too, and it does eventually work for most things. 
     
     
  
 
 
	 00:04:46
     ◼
      
     ► 
     It's not there on salmon necessarily, but we'll get there. 
     
     
  
 
 
	 00:04:49
     ◼
      
     ► 
     Oh, I just had salmon for dinner tonight. Salmon's great. 
     
     
  
 
 
	 00:04:51
     ◼
      
     ► 
     Anyway, it has a lot of benefits. 
     
     
  
 
 
	 00:04:53
     ◼
      
     ► 
     I'm trying to like it, I'm still working on that one, but I've gotten almost everything else. 
     
     
  
 
 
	 00:04:56
     ◼
      
     ► 
     Salmon and SwiftUI. 
     
     
  
 
 
	 00:04:58
     ◼
      
     ► 
     So first, the first thing I tried was, 
     
     
  
 
 
	 00:05:01
     ◼
      
     ► 
     let me see if I can get what my player currently does now, 
     
     
  
 
 
	 00:05:05
     ◼
      
     ► 
     which is, you know, navigation view, you know, in the main screen, 
     
     
  
 
 
	 00:05:08
     ◼
      
     ► 
     main screen. 
     
     
  
 
 
	 00:05:09
     ◼
      
     ► 
     Below it is this little mini player, when you have a podcast loaded, and you can swipe 
     
     
  
 
 
	 00:05:14
     ◼
      
     ► 
     that mini player up and it expands into the now playing view. 
     
     
  
 
 
	 00:05:18
     ◼
      
     ► 
     Oh, and that's all custom animation in UIKit, isn't it? 
     
     
  
 
 
	 00:05:21
     ◼
      
     ► 
     Yes, that is a custom transition with, I believe it's UI View property animators, I think, 
     
     
  
 
 
	 00:05:26
     ◼
      
     ► 
     are powering that right now, and an interruptible presentation, custom transition stuff. 
     
     
  
 
 
	 00:05:31
     ◼
      
     ► 
     So anyway, it's all that stuff. 
     
     
  
 
 
	 00:05:32
     ◼
      
     ► 
     They introduced all that stuff like five years ago, or geez, probably more 10 years ago. 
     
     
  
 
 
	 00:05:36
     ◼
      
     ► 
     Anyway, I wanted to just replicate that basic thing 
     
     
  
 
 
 
	 00:05:40
     ◼
      
     ► 
     Day one of this was just trying so many different things 
     
     
  
 
 
	 00:05:44
     ◼
      
     ► 
     to replicate that, like being able to drag something up, 
     
     
  
 
 
	 00:05:47
     ◼
      
     ► 
     have a view within it that expands into a new location 
     
     
  
 
 
	 00:05:50
     ◼
      
     ► 
     and position, drag it back down, have it be interruptable. 
     
     
  
 
 
	 00:05:53
     ◼
      
     ► 
     You can not drag it all the way if you want, 
     
     
  
 
 
	 00:05:55
     ◼
      
     ► 
     and have it be full screen when it gets there, 
     
     
  
 
 
	 00:05:58
     ◼
      
     ► 
     not a presented sheet, but an actual full screen cover modal. 
     
     
  
 
 
	 00:06:01
     ◼
      
     ► 
     All these little details of just like, 
     
     
  
 
 
	 00:06:03
     ◼
      
     ► 
     okay, let me just see if I can get this to work. 
     
     
  
 
 
	 00:06:04
     ◼
      
     ► 
     And I kept going through this pattern of, 
     
     
  
 
 
	 00:06:06
     ◼
      
     ► 
     all right, well, I'll try the obvious way. 
     
     
  
 
 
	 00:06:08
     ◼
      
     ► 
     That doesn't work. 
     
     
  
 
 
	 00:06:09
     ◼
      
     ► 
     Do some Google searching, 'cause of course, 
     
     
  
 
 
	 00:06:10
     ◼
      
     ► 
     the documentation is not super helpful. 
     
     
  
 
 
	 00:06:13
     ◼
      
     ► 
     Do some Google searching, find some often ancient blog posts 
     
     
  
 
 
	 00:06:16
     ◼
      
     ► 
     from Swift UI three years ago that's no longer relevant, 
     
     
  
 
 
	 00:06:20
     ◼
      
     ► 
     or things have changed, or names have changed, 
     
     
  
 
 
	 00:06:22
     ◼
      
     ► 
     or parameters have changed, protect the innocent. 
     
     
  
 
 
	 00:06:24
     ◼
      
     ► 
     All the experimentation, eventually the code would balloon 
     
     
  
 
 
	 00:06:28
     ◼
      
     ► 
     up into a giant complex beast that would still actually 
     
     
  
 
 
	 00:06:32
     ◼
      
     ► 
     not really work exactly the way it should, 
     
     
  
 
 
	 00:06:34
     ◼
      
     ► 
     and usually will have at least one deal killer. 
     
     
  
 
 
	 00:06:37
     ◼
      
     ► 
     So when I was doing that part of it, 
     
     
  
 
 
	 00:06:38
     ◼
      
     ► 
     the deal killers were like, as I would drag the sheet up, 
     
     
  
 
 
	 00:06:42
     ◼
      
     ► 
     as soon as it would hit right below the safe area 
     
     
  
 
 
	 00:06:46
     ◼
      
     ► 
     on the top where the notch cuts in, 
     
     
  
 
 
	 00:06:49
     ◼
      
     ► 
     it would snap to the height of the full screen. 
     
     
  
 
 
	 00:06:52
     ◼
      
     ► 
     And so it would like, so as you were dragging it 
     
     
  
 
 
	 00:06:54
     ◼
      
     ► 
     right at that top pixel, it would go from, you know, 
     
     
  
 
 
	 00:06:57
     ◼
      
     ► 
     95%, 200% of the height. 
     
     
  
 
 
	 00:06:59
     ◼
      
     ► 
     And I could not figure out a way to not do that. 
     
     
  
 
 
	 00:07:01
     ◼
      
     ► 
     I tried, how about instead of moving the frame, 
     
     
  
 
 
	 00:07:03
     ◼
      
     ► 
     let's move the offset. 
     
     
  
 
 
	 00:07:04
     ◼
      
     ► 
     Nope, that doesn't work either. 
     
     
  
 
 
	 00:07:05
     ◼
      
     ► 
     There were so many little details like that 
     
     
  
 
 
	 00:07:07
     ◼
      
     ► 
     that I would get it 80% of the way there, 
     
     
  
 
 
	 00:07:10
     ◼
      
     ► 
     but then I would run it to something 
     
     
  
 
 
	 00:07:11
     ◼
      
     ► 
     where I literally couldn't ship this. 
     
     
  
 
 
 
	 00:07:14
     ◼
      
     ► 
     It looks like a bug. 
     
     
  
 
 
	 00:07:16
     ◼
      
     ► 
     If something is less fancy than it used to be, 
     
     
  
 
 
	 00:07:21
     ◼
      
     ► 
     that's fine, I can take that. 
     
     
  
 
 
	 00:07:22
     ◼
      
     ► 
     But if something looks like a bug or acts like a bug, 
     
     
  
 
 
	 00:07:24
     ◼
      
     ► 
     I can't take that. 
     
     
  
 
 
	 00:07:26
     ◼
      
     ► 
     So eventually I gave up, I'm like, you know what, forget it. 
     
     
  
 
 
	 00:07:29
     ◼
      
     ► 
     I'll just present a sheet and call it a day. 
     
     
  
 
 
	 00:07:32
     ◼
      
     ► 
     I'm not gonna do the interactive transition. 
     
     
  
 
 
	 00:07:34
     ◼
      
     ► 
     I'm willing to give up the cool thing 
     
     
  
 
 
	 00:07:37
     ◼
      
     ► 
     where the artwork grows into the new location 
     
     
  
 
 
	 00:07:39
     ◼
      
     ► 
     and shrinks back down. 
     
     
  
 
 
	 00:07:40
     ◼
      
     ► 
     I'm willing to give that up if everything else 
     
     
  
 
 
	 00:07:42
     ◼
      
     ► 
     can be much more clean and simple 
     
     
  
 
 
	 00:07:44
     ◼
      
     ► 
     and maintainable, et cetera. 
     
     
  
 
 
	 00:07:45
     ◼
      
     ► 
     I know it'll be less nice. 
     
     
  
 
 
	 00:07:47
     ◼
      
     ► 
     Oh well, I'm willing to give that up. 
     
     
  
 
 
	 00:07:48
     ◼
      
     ► 
     So eventually I figured out regular presenting 
     
     
  
 
 
	 00:07:51
     ◼
      
     ► 
     of an outplaying thing. 
     
     
  
 
 
	 00:07:53
     ◼
      
     ► 
     All right, next. 
     
     
  
 
 
	 00:07:55
     ◼
      
     ► 
     Theme options. 
     
     
  
 
 
	 00:07:56
     ◼
      
     ► 
     Can I do in the app changing of the tint color live 
     
     
  
 
 
	 00:08:02
     ◼
      
     ► 
     and have it change everything in the whole app? 
     
     
  
 
 
	 00:08:04
     ◼
      
     ► 
     And can I have it change dark mode programmatically? 
     
     
  
 
 
	 00:08:07
     ◼
      
     ► 
     Because I have the option now 
     
     
  
 
 
	 00:08:08
     ◼
      
     ► 
     where you can always run it in dark mode. 
     
     
  
 
 
	 00:08:10
     ◼
      
     ► 
     This is not used by a ton of people, 
     
     
  
 
 
	 00:08:13
     ◼
      
     ► 
     but it's used by enough people that if I remove that, 
     
     
  
 
 
	 00:08:16
     ◼
      
     ► 
     it would be a problem. 
     
     
  
 
 
	 00:08:17
     ◼
      
     ► 
     Like I would hear about it a lot. 
     
     
  
 
 
	 00:08:20
     ◼
      
     ► 
     People would leave one star reviews for years 
     
     
  
 
 
	 00:08:22
     ◼
      
     ► 
     over just that. 
     
     
  
 
 
	 00:08:23
     ◼
      
     ► 
     So I know, like all right, I really need to have a way 
     
     
  
 
 
	 00:08:26
     ◼
      
     ► 
     to override dark mode system-wide with a preference. 
     
     
  
 
 
	 00:08:30
     ◼
      
     ► 
     and again, have that be able to be changed 
     
     
  
 
 
	 00:08:32
     ◼
      
     ► 
     while the app is running and update everything. 
     
     
  
 
 
	 00:08:34
     ◼
      
     ► 
     I have that now in my current system. 
     
     
  
 
 
	 00:08:36
     ◼
      
     ► 
     So, how do I do that? 
     
     
  
 
 
	 00:08:39
     ◼
      
     ► 
     Oh, also, one of my goals during this. 
     
     
  
 
 
	 00:08:42
     ◼
      
     ► 
     So, small code, simple straightforward code, no hacks, 
     
     
  
 
 
	 00:08:46
     ◼
      
     ► 
     and also, trying not to dip back into UI kit 
     
     
  
 
 
	 00:08:50
     ◼
      
     ► 
     if I don't have to. 
     
     
  
 
 
	 00:08:51
     ◼
      
     ► 
     Well, doing this was the first thing that broke that rule 
     
     
  
 
 
	 00:08:57
     ◼
      
     ► 
     because I could not get it to do everything right 
     
     
  
 
 
	 00:09:01
     ◼
      
     ► 
     without using a scene delegate, 
     
     
  
 
 
	 00:09:03
     ◼
      
     ► 
     which is not part of the new architecture. 
     
     
  
 
 
	 00:09:05
     ◼
      
     ► 
     You're not supposed to use those anymore. 
     
     
  
 
 
	 00:09:06
     ◼
      
     ► 
     But I had to eventually make a scene delegate. 
     
     
  
 
 
	 00:09:09
     ◼
      
     ► 
     It's at least Swift. 
     
     
  
 
 
	 00:09:10
     ◼
      
     ► 
     I'm not ducking down to Objective-C yet. 
     
     
  
 
 
	 00:09:13
     ◼
      
     ► 
     It'll happen, I'm sure. 
     
     
  
 
 
	 00:09:16
     ◼
      
     ► 
     It's at least Swift, but I had to use some of UIKit 
     
     
  
 
 
	 00:09:20
     ◼
      
     ► 
     in order to get that part working. 
     
     
  
 
 
	 00:09:22
     ◼
      
     ► 
     And that took like three days 
     
     
  
 
 
	 00:09:23
     ◼
      
     ► 
     just trying to get the theme system working. 
     
     
  
 
 
	 00:09:26
     ◼
      
     ► 
     So eventually I got that. 
     
     
  
 
 
	 00:09:28
     ◼
      
     ► 
     I got tint colors being able to be changed, 
     
     
  
 
 
	 00:09:29
     ◼
      
     ► 
     I got programmatic dark mode control 
     
     
  
 
 
	 00:09:31
     ◼
      
     ► 
     so I can have an always on dark mode or not, 
     
     
  
 
 
	 00:09:33
     ◼
      
     ► 
     and also respond to the system dark mode 
     
     
  
 
 
	 00:09:35
     ◼
      
     ► 
     and not override that and not get stuck in dark mode forever 
     
     
  
 
 
	 00:09:37
     ◼
      
     ► 
     'cause the stupid environment variable 
     
     
  
 
 
	 00:09:39
     ◼
      
     ► 
     gets overwritten without a scene delegate. 
     
     
  
 
 
	 00:09:40
     ◼
      
     ► 
     Like all these little, like, 
     
     
  
 
 
	 00:09:42
     ◼
      
     ► 
     so again, same kind of thing. 
     
     
  
 
 
	 00:09:44
     ◼
      
     ► 
     The code slowly balloons up with hacks. 
     
     
  
 
 
	 00:09:46
     ◼
      
     ► 
     Eventually I figure out, not gonna do this, 
     
     
  
 
 
	 00:09:49
     ◼
      
     ► 
     too many hacks, clear it all back. 
     
     
  
 
 
	 00:09:50
     ◼
      
     ► 
     And then eventually I find a simpler way to do it 
     
     
  
 
 
	 00:09:53
     ◼
      
     ► 
     that might involve some breakage of my purity laws here. 
     
     
  
 
 
	 00:09:55
     ◼
      
     ► 
     So finally, now I've been working on it. 
     
     
  
 
 
	 00:09:58
     ◼
      
     ► 
     I have the now playing just simple present, 
     
     
  
 
 
	 00:10:02
     ◼
      
     ► 
     dismiss, full screen. 
     
     
  
 
 
	 00:10:03
     ◼
      
     ► 
     I have the theme basics. 
     
     
  
 
 
	 00:10:06
     ◼
      
     ► 
     Now let me try to do a three column layout. 
     
     
  
 
 
	 00:10:11
     ◼
      
     ► 
     What I've wanted to do forever is a three column layout 
     
     
  
 
 
	 00:10:16
     ◼
      
     ► 
     for Mac and iPad. 
     
     
  
 
 
	 00:10:18
     ◼
      
     ► 
     And then when you drag the window to be too small for that 
     
     
  
 
 
	 00:10:21
     ◼
      
     ► 
     or when you're running on an iPhone, 
     
     
  
 
 
	 00:10:23
     ◼
      
     ► 
     it collapses into a regular navigation view 
     
     
  
 
 
	 00:10:25
     ◼
      
     ► 
     And Overcast is actually not a three column app, 
     
     
  
 
 
	 00:10:27
     ◼
      
     ► 
     it's actually a two column app with a now playing screen, 
     
     
  
 
 
	 00:10:29
     ◼
      
     ► 
     which makes it even easier. 
     
     
  
 
 
	 00:10:31
     ◼
      
     ► 
     Really, I just need the Navigation View to do two columns. 
     
     
  
 
 
	 00:10:33
     ◼
      
     ► 
     Either the root screen with the podcast 
     
     
  
 
 
	 00:10:37
     ◼
      
     ► 
     or playlist screen on top of it, or next to it. 
     
     
  
 
 
	 00:10:40
     ◼
      
     ► 
     Very simple, this should not be a hard thing. 
     
     
  
 
 
	 00:10:42
     ◼
      
     ► 
     And in fact, that has been a feature 
     
     
  
 
 
	 00:10:44
     ◼
      
     ► 
     of UI Split View forever. 
     
     
  
 
 
	 00:10:49
     ◼
      
     ► 
     Obviously, this should not be a hard thing in SwiftUI, 
     
     
  
 
 
	 00:10:53
     ◼
      
     ► 
     Especially since this year at W2C with iOS 16 
     
     
  
 
 
	 00:10:57
     ◼
      
     ► 
     and the coordinated releases, 
     
     
  
 
 
	 00:10:59
     ◼
      
     ► 
     there is an entirely new navigation stack view 
     
     
  
 
 
	 00:11:03
     ◼
      
     ► 
     and navigation split view pair of APIs. 
     
     
  
 
 
	 00:11:06
     ◼
      
     ► 
     And there's all these new ways to represent 
     
     
  
 
 
	 00:11:08
     ◼
      
     ► 
     how they are presenting their views 
     
     
  
 
 
	 00:11:09
     ◼
      
     ► 
     and representing their paths and everything else, great. 
     
     
  
 
 
	 00:11:12
     ◼
      
     ► 
     They don't work. 
     
     
  
 
 
	 00:11:15
     ◼
      
     ► 
     - Cool. - I keep thinking, 
     
     
  
 
 
	 00:11:17
     ◼
      
     ► 
     usually when you're a programmer 
     
     
  
 
 
	 00:11:20
     ◼
      
     ► 
     and you are using an API in a relatively straightforward way 
     
     
  
 
 
	 00:11:25
     ◼
      
     ► 
     and it's not working, you can almost always blame yourself. 
     
     
  
 
 
	 00:11:28
     ◼
      
     ► 
     It's almost always your fault. 
     
     
  
 
 
	 00:11:29
     ◼
      
     ► 
     And in this case, it might still be. 
     
     
  
 
 
	 00:11:31
     ◼
      
     ► 
     It probably is my fault, 
     
     
  
 
 
	 00:11:33
     ◼
      
     ► 
     but so many little details just break. 
     
     
  
 
 
	 00:11:37
     ◼
      
     ► 
     And this is, again, this is not like my entire app. 
     
     
  
 
 
	 00:11:39
     ◼
      
     ► 
     This is a simple test project 
     
     
  
 
 
	 00:11:40
     ◼
      
     ► 
     that has like three files in it. 
     
     
  
 
 
	 00:11:42
     ◼
      
     ► 
     And I just, and I know it's still a beta 
     
     
  
 
 
	 00:11:44
     ◼
      
     ► 
     and I should file bugs and I'll get to that, but, 
     
     
  
 
 
	 00:11:48
     ◼
      
     ► 
     Like, I keep going back to the W2C videos 
     
     
  
 
 
	 00:11:51
     ◼
      
     ► 
     and how the navigation split view and stack view, 
     
     
  
 
 
	 00:11:53
     ◼
      
     ► 
     and even, I even tried using the old navigation methods. 
     
     
  
 
 
	 00:11:55
     ◼
      
     ► 
     I'm like, well, you know, what if I can do this 
     
     
  
 
 
	 00:11:56
     ◼
      
     ► 
     without requiring iOS 16? 
     
     
  
 
 
	 00:11:58
     ◼
      
     ► 
     That'd be nice. 
     
     
  
 
 
	 00:11:59
     ◼
      
     ► 
     You know, I could deploy it earlier. 
     
     
  
 
 
	 00:12:01
     ◼
      
     ► 
     I'm gonna require iOS 15 in my next update. 
     
     
  
 
 
	 00:12:03
     ◼
      
     ► 
     I'd love to use things that require 15, and that's fine. 
     
     
  
 
 
	 00:12:06
     ◼
      
     ► 
     And I just couldn't get it to work reliably in a good way. 
     
     
  
 
 
	 00:12:12
     ◼
      
     ► 
     And even when I did, like for the parts of it 
     
     
  
 
 
	 00:12:15
     ◼
      
     ► 
     that I could get working reliably, 
     
     
  
 
 
	 00:12:16
     ◼
      
     ► 
     there are so many limitations on the control 
     
     
  
 
 
	 00:12:19
     ◼
      
     ► 
     you get over that. 
     
     
  
 
 
	 00:12:21
     ◼
      
     ► 
     So for instance, one thing that I absolutely want 
     
     
  
 
 
	 00:12:24
     ◼
      
     ► 
     in my split view interface is I want all three columns 
     
     
  
 
 
	 00:12:29
     ◼
      
     ► 
     to always be displaying. 
     
     
  
 
 
	 00:12:33
     ◼
      
     ► 
     And I do not want the little side view collapse-y button 
     
     
  
 
 
	 00:12:37
     ◼
      
     ► 
     in the corner that hides and shows the side view. 
     
     
  
 
 
	 00:12:39
     ◼
      
     ► 
     I don't want that button to exist in the app. 
     
     
  
 
 
	 00:12:41
     ◼
      
     ► 
     I just want all three views to be showing 
     
     
  
 
 
	 00:12:43
     ◼
      
     ► 
     when there's space and when there isn't space. 
     
     
  
 
 
	 00:12:45
     ◼
      
     ► 
     I will put my own layout in there with the regular stacked 
     
     
  
 
 
 
	 00:12:50
     ◼
      
     ► 
     And as far as I can tell, there's no way 
     
     
  
 
 
	 00:12:52
     ◼
      
     ► 
     to tell the new SwiftUI split view thing, 
     
     
  
 
 
	 00:12:55
     ◼
      
     ► 
     don't show that show toolbar button. 
     
     
  
 
 
	 00:12:57
     ◼
      
     ► 
     Like, it's always there, no matter what, 
     
     
  
 
 
	 00:12:59
     ◼
      
     ► 
     as far as I can tell. 
     
     
  
 
 
	 00:13:01
     ◼
      
     ► 
     And you look at UI split view, and there's 
     
     
  
 
 
	 00:13:04
     ◼
      
     ► 
     tons of options for controlling it. 
     
     
  
 
 
	 00:13:06
     ◼
      
     ► 
     And they made this whole thing that's supposed to replace it, 
     
     
  
 
 
	 00:13:08
     ◼
      
     ► 
     and there's like one option. 
     
     
  
 
 
	 00:13:10
     ◼
      
     ► 
     And so anyway, so now I'm like, all right, 
     
     
  
 
 
	 00:13:13
     ◼
      
     ► 
     now I'm going to break my other law. 
     
     
  
 
 
	 00:13:15
     ◼
      
     ► 
     Let me see if I can get this to work with using UI view 
     
     
  
 
 
	 00:13:20
     ◼
      
     ► 
     representable and UI hosting controllers 
     
     
  
 
 
	 00:13:23
     ◼
      
     ► 
     and seeing if I can use a UI split view inside 
     
     
  
 
 
	 00:13:27
     ◼
      
     ► 
     of my otherwise Swift UI layout. 
     
     
  
 
 
	 00:13:30
     ◼
      
     ► 
     And now there's all sorts of complexities with that. 
     
     
  
 
 
	 00:13:32
     ◼
      
     ► 
     And I can't get the safe area insets to work. 
     
     
  
 
 
	 00:13:34
     ◼
      
     ► 
     And it's just-- oh, I am trying so hard to get something 
     
     
  
 
 
	 00:13:40
     ◼
      
     ► 
     that's going to end up hopefully being so little, so simple, 
     
     
  
 
 
	 00:13:43
     ◼
      
     ► 
     and so maintainable code. 
     
     
  
 
 
	 00:13:44
     ◼
      
     ► 
     So if everything ends up being super fragile 
     
     
  
 
 
	 00:13:47
     ◼
      
     ► 
     and really delicate to actually work in and tweak, 
     
     
  
 
 
	 00:13:51
     ◼
      
     ► 
     then am I really achieving that goal? 
     
     
  
 
 
	 00:13:54
     ◼
      
     ► 
     - Yeah, yeah, I think it's hard for me to tell, 
     
     
  
 
 
	 00:13:59
     ◼
      
     ► 
     when I complain a moment about SwiftUI, 
     
     
  
 
 
	 00:14:01
     ◼
      
     ► 
     it's hard for me to tell if I'm just holding it wrong. 
     
     
  
 
 
	 00:14:05
     ◼
      
     ► 
     And I mean that kind of genuinely, 
     
     
  
 
 
	 00:14:07
     ◼
      
     ► 
     because it is a very different paradigm 
     
     
  
 
 
	 00:14:10
     ◼
      
     ► 
     than what I'm used to. 
     
     
  
 
 
	 00:14:12
     ◼
      
     ► 
     And so the best, and this is gonna turn so many people off 
     
     
  
 
 
	 00:14:15
     ◼
      
     ► 
     and I'm sorry, but just bear with me here. 
     
     
  
 
 
	 00:14:17
     ◼
      
     ► 
     The best recent experience I've had that's similar to this 
     
     
  
 
 
	 00:14:20
     ◼
      
     ► 
     is when I was learning RxSwift or in modern stuff, 
     
     
  
 
 
	 00:14:24
     ◼
      
     ► 
     learning combined. 
     
     
  
 
 
	 00:14:25
     ◼
      
     ► 
     Because it's a very, very different way 
     
     
  
 
 
	 00:14:27
     ◼
      
     ► 
     of going about doing things. 
     
     
  
 
 
	 00:14:29
     ◼
      
     ► 
     Isn't necessarily better, isn't necessarily worse. 
     
     
  
 
 
	 00:14:32
     ◼
      
     ► 
     It's just different. 
     
     
  
 
 
	 00:14:33
     ◼
      
     ► 
     There's advantages to RxSwift and Combine. 
     
     
  
 
 
	 00:14:35
     ◼
      
     ► 
     There's advantages to SwiftUI. 
     
     
  
 
 
	 00:14:37
     ◼
      
     ► 
     It doesn't make it better, doesn't make it worse. 
     
     
  
 
 
	 00:14:39
     ◼
      
     ► 
     It's just different. 
     
     
  
 
 
	 00:14:40
     ◼
      
     ► 
     And when I was learning RxSwift for a long time, 
     
     
  
 
 
	 00:14:45
     ◼
      
     ► 
     to the order of like months, 
     
     
  
 
 
	 00:14:48
     ◼
      
     ► 
     I was trying to accomplish things 
     
     
  
 
 
	 00:14:51
     ◼
      
     ► 
     in the more procedural, traditional way, 
     
     
  
 
 
	 00:14:54
     ◼
      
     ► 
     rather than just really embracing this whole new world 
     
     
  
 
 
	 00:14:57
     ◼
      
     ► 
     that I was trying to dive into. 
     
     
  
 
 
	 00:15:00
     ◼
      
     ► 
     And because of that, 
     
     
  
 
 
	 00:15:01
     ◼
      
     ► 
     a lot of my early RxSwift code was kind of garbage 
     
     
  
 
 
	 00:15:04
     ◼
      
     ► 
     because I wasn't really doing it the RxSwift way. 
     
     
  
 
 
	 00:15:06
     ◼
      
     ► 
     And I wonder, and actually my problem with image renderer, 
     
     
  
 
 
	 00:15:09
     ◼
      
     ► 
     which is the thing that captures the screen, 
     
     
  
 
 
	 00:15:11
     ◼
      
     ► 
     or captures the SwiftUI view. 
     
     
  
 
 
	 00:15:13
     ◼
      
     ► 
     I think that the problems I have with that, 
     
     
  
 
 
	 00:15:15
     ◼
      
     ► 
     as much as I wanna blame Apple, 
     
     
  
 
 
	 00:15:16
     ◼
      
     ► 
     I think that's actually me holding it wrong, 
     
     
  
 
 
	 00:15:17
     ◼
      
     ► 
     and I'm not doing things exactly the way I should be, 
     
     
  
 
 
	 00:15:20
     ◼
      
     ► 
     and that's the problem. 
     
     
  
 
 
	 00:15:21
     ◼
      
     ► 
     And I wonder if, for some of the stuff 
     
     
  
 
 
	 00:15:23
     ◼
      
     ► 
     that you're talking about, 
     
     
  
 
 
	 00:15:24
     ◼
      
     ► 
     and certainly for a lot of the stuff 
     
     
  
 
 
	 00:15:26
     ◼
      
     ► 
     that I'm running into problems with SwiftUI, 
     
     
  
 
 
	 00:15:29
     ◼
      
     ► 
     I wonder if, and I think Dave made this speech 
     
     
  
 
 
	 00:15:31
     ◼
      
     ► 
     to you as well, I wonder if the issue is less with SwiftUI, 
     
     
  
 
 
	 00:15:36
     ◼
      
     ► 
     and more that I'm just too busy thinking in a UI kit way. 
     
     
  
 
 
	 00:15:41
     ◼
      
     ► 
     Even though I'm not doing it deliberately, 
     
     
  
 
 
	 00:15:42
     ◼
      
     ► 
     I'm not doing it consciously, 
     
     
  
 
 
	 00:15:44
     ◼
      
     ► 
     I'm thinking in that old way of thinking 
     
     
  
 
 
	 00:15:46
     ◼
      
     ► 
     and that old style of thinking. 
     
     
  
 
 
	 00:15:47
     ◼
      
     ► 
     And because of that, 
     
     
  
 
 
	 00:15:48
     ◼
      
     ► 
     I'm trying to kind of implicitly replicate UI kit 
     
     
  
 
 
	 00:15:52
     ◼
      
     ► 
     in SwiftUI, which is not the way to do SwiftUI. 
     
     
  
 
 
	 00:15:55
     ◼
      
     ► 
     And David, a really great way of putting this 
     
     
  
 
 
	 00:15:57
     ◼
      
     ► 
     on under the radar. 
     
     
  
 
 
	 00:15:57
     ◼
      
     ► 
     I forget exactly how he phrased it 
     
     
  
 
 
	 00:15:58
     ◼
      
     ► 
     and I won't try to parrot it now 
     
     
  
 
 
	 00:16:00
     ◼
      
     ► 
     'cause I'll ruin his argument. 
     
     
  
 
 
	 00:16:01
     ◼
      
     ► 
     But I don't, and I can't speak for you, Marco. 
     
     
  
 
 
	 00:16:03
     ◼
      
     ► 
     Maybe you are doing it, 
     
     
  
 
 
	 00:16:05
     ◼
      
     ► 
     thinking of things in SwiftUI way and so on and so forth. 
     
     
  
 
 
	 00:16:07
     ◼
      
     ► 
     I don't know, but that's something that I feel 
     
     
  
 
 
	 00:16:09
     ◼
      
     ► 
     I'm running into and that's a problem. 
     
     
  
 
 
	 00:16:10
     ◼
      
     ► 
     But even with all of that said, I do feel like, 
     
     
  
 
 
	 00:16:14
     ◼
      
     ► 
     and the vibe I get from people that are doing 
     
     
  
 
 
	 00:16:17
     ◼
      
     ► 
     a lot of SwiftUI is that yeah, a lot of it, 
     
     
  
 
 
	 00:16:20
     ◼
      
     ► 
     you just can't freaking do. 
     
     
  
 
 
	 00:16:23
     ◼
      
     ► 
     And the tough thing is, it is a big black box. 
     
     
  
 
 
	 00:16:26
     ◼
      
     ► 
     And once you hit the wall or the edge of that big black box, 
     
     
  
 
 
	 00:16:31
     ◼
      
     ► 
     you're screwed. 
     
     
  
 
 
	 00:16:31
     ◼
      
     ► 
     Like, okay, I guess it's UI kit time, baby, 
     
     
  
 
 
	 00:16:34
     ◼
      
     ► 
     Because what other choice do I have? 
     
     
  
 
 
	 00:16:36
     ◼
      
     ► 
     And that's, I understand why that is, 
     
     
  
 
 
	 00:16:38
     ◼
      
     ► 
     given the nature of a declarative, you know, 
     
     
  
 
 
	 00:16:42
     ◼
      
     ► 
     user interface development scheme, language, 
     
     
  
 
 
	 00:16:45
     ◼
      
     ► 
     whatever you want to call it. 
     
     
  
 
 
	 00:16:46
     ◼
      
     ► 
     But that's kind of a problem, right? 
     
     
  
 
 
	 00:16:49
     ◼
      
     ► 
     Especially since we have been trained by Apple, 
     
     
  
 
 
	 00:16:53
     ◼
      
     ► 
     or maybe not by Apple, 
     
     
  
 
 
	 00:16:54
     ◼
      
     ► 
     but certainly third-party developers have made it our thing 
     
     
  
 
 
	 00:16:56
     ◼
      
     ► 
     to have these like super bespoke custom user interfaces. 
     
     
  
 
 
	 00:16:59
     ◼
      
     ► 
     And I know that you've talked, Marco, recently, 
     
     
  
 
 
	 00:17:00
     ◼
      
     ► 
     or at least I believe you have, 
     
     
  
 
 
	 00:17:02
     ◼
      
     ► 
     about how that maybe isn't necessary anymore. 
     
     
  
 
 
	 00:17:03
     ◼
      
     ► 
     and I agree with you, but we want everything to look good 
     
     
  
 
 
	 00:17:06
     ◼
      
     ► 
     and feel good, and it is very hard to make anything look 
     
     
  
 
 
	 00:17:11
     ◼
      
     ► 
     or feel any way that SwiftUI isn't familiar with already. 
     
     
  
 
 
	 00:17:16
     ◼
      
     ► 
     If you wanna make something super custom, 
     
     
  
 
 
	 00:17:18
     ◼
      
     ► 
     it is very difficult. 
     
     
  
 
 
	 00:17:19
     ◼
      
     ► 
     Now there are things that make that better. 
     
     
  
 
 
	 00:17:20
     ◼
      
     ► 
     There's a new layout system, 
     
     
  
 
 
	 00:17:21
     ◼
      
     ► 
     which honestly I haven't really dabbled with yet, 
     
     
  
 
 
	 00:17:23
     ◼
      
     ► 
     and actually might work for you in this case, maybe? 
     
     
  
 
 
	 00:17:26
     ◼
      
     ► 
     - I don't really need the, like the layout is, 
     
     
  
 
 
	 00:17:28
     ◼
      
     ► 
     one of the reasons why I like using SwiftUI for this, 
     
     
  
 
 
	 00:17:31
     ◼
      
     ► 
     I like the idea of it at least, 
     
     
  
 
 
	 00:17:32
     ◼
      
     ► 
     is that having a layout that like, 
     
     
  
 
 
	 00:17:35
     ◼
      
     ► 
     oh, sometimes I have a menu player, sometimes I don't. 
     
     
  
 
 
	 00:17:37
     ◼
      
     ► 
     I have a now playing screen come up 
     
     
  
 
 
	 00:17:39
     ◼
      
     ► 
     and it's arranged in different ways 
     
     
  
 
 
	 00:17:41
     ◼
      
     ► 
     depending on the size of the screen. 
     
     
  
 
 
	 00:17:41
     ◼
      
     ► 
     Like that stuff, SwiftUI makes that super easy. 
     
     
  
 
 
	 00:17:44
     ◼
      
     ► 
     That's why I wanna use it. 
     
     
  
 
 
	 00:17:45
     ◼
      
     ► 
     And there's a lot of other stuff 
     
     
  
 
 
	 00:17:46
     ◼
      
     ► 
     that it makes super easy as well. 
     
     
  
 
 
	 00:17:48
     ◼
      
     ► 
     I'm not even talking about doing stuff 
     
     
  
 
 
	 00:17:49
     ◼
      
     ► 
     that's necessarily that custom. 
     
     
  
 
 
	 00:17:52
     ◼
      
     ► 
     This thing where I have like a stack view 
     
     
  
 
 
	 00:17:54
     ◼
      
     ► 
     or a split view depending on the size, 
     
     
  
 
 
	 00:17:56
     ◼
      
     ► 
     like that theoretically I shouldn't even need 
     
     
  
 
 
	 00:17:58
     ◼
      
     ► 
     to have that distinction. 
     
     
  
 
 
	 00:17:59
     ◼
      
     ► 
     Theoretically, the split view should just do this. 
     
     
  
 
 
	 00:18:02
     ◼
      
     ► 
     Like when it's small, 
     
     
  
 
 
	 00:18:02
     ◼
      
     ► 
     it should just present the phone interface. 
     
     
  
 
 
	 00:18:04
     ◼
      
     ► 
     In practice, in my experience so far, 
     
     
  
 
 
	 00:18:06
     ◼
      
     ► 
     it just doesn't work. 
     
     
  
 
 
	 00:18:08
     ◼
      
     ► 
     But maybe I'm doing like one little wrong thing. 
     
     
  
 
 
	 00:18:13
     ◼
      
     ► 
     But it's very hard to figure that out. 
     
     
  
 
 
	 00:18:16
     ◼
      
     ► 
     And I mean, even simple things like my root list screen, 
     
     
  
 
 
	 00:18:19
     ◼
      
     ► 
     like the first level list screen. 
     
     
  
 
 
	 00:18:21
     ◼
      
     ► 
     Overcast displays two kinds of things on that list screen, 
     
     
  
 
 
	 00:18:24
     ◼
      
     ► 
     playlists and podcasts. 
     
     
  
 
 
	 00:18:26
     ◼
      
     ► 
     And so I have in my little demo, 
     
     
  
 
 
	 00:18:27
     ◼
      
     ► 
     I have two basic structs, playlist and podcast. 
     
     
  
 
 
	 00:18:30
     ◼
      
     ► 
     And so I'm trying to make a list that has two sections, 
     
     
  
 
 
	 00:18:33
     ◼
      
     ► 
     and depending on which one of those you tap, 
     
     
  
 
 
	 00:18:35
     ◼
      
     ► 
     it presents a different detail view for that, 
     
     
  
 
 
	 00:18:38
     ◼
      
     ► 
     'cause it's either showing a playlist or a podcast. 
     
     
  
 
 
	 00:18:40
     ◼
      
     ► 
     So many of these abstractions 
     
     
  
 
 
	 00:18:42
     ◼
      
     ► 
     that are built into the new navigation things 
     
     
  
 
 
	 00:18:45
     ◼
      
     ► 
     either become very messy or totally break 
     
     
  
 
 
	 00:18:48
     ◼
      
     ► 
     when the content in a list can be more than one type. 
     
     
  
 
 
	 00:18:53
     ◼
      
     ► 
     Almost all of these new APIs they've made 
     
     
  
 
 
	 00:18:55
     ◼
      
     ► 
     seem to make that very difficult, 
     
     
  
 
 
	 00:18:57
     ◼
      
     ► 
     and seem to have not been designed with that in mind. 
     
     
  
 
 
	 00:18:59
     ◼
      
     ► 
     - Well that's why you gotta use an enumeration. 
     
     
  
 
 
	 00:19:01
     ◼
      
     ► 
     That's the answer to all problems 
     
     
  
 
 
	 00:19:02
     ◼
      
     ► 
     when it comes to the Swift type system. 
     
     
  
 
 
	 00:19:04
     ◼
      
     ► 
     And I say that only slightly jokingly. 
     
     
  
 
 
	 00:19:06
     ◼
      
     ► 
     I'm snarking right now, 
     
     
  
 
 
	 00:19:08
     ◼
      
     ► 
     but Swift enums are really, really incredible, 
     
     
  
 
 
	 00:19:11
     ◼
      
     ► 
     and you can do some incredibly powerful things with them 
     
     
  
 
 
	 00:19:13
     ◼
      
     ► 
     with little to no quote-unquote overhead to do it. 
     
     
  
 
 
	 00:19:17
     ◼
      
     ► 
     - Yeah, and part of the reason why 
     
     
  
 
 
	 00:19:19
     ◼
      
     ► 
     this has been such a frustrating journey for me 
     
     
  
 
 
	 00:19:20
     ◼
      
     ► 
     is that some of the time I've spent battling this 
     
     
  
 
 
	 00:19:23
     ◼
      
     ► 
     has been battling the language, 
     
     
  
 
 
	 00:19:24
     ◼
      
     ► 
     because a lot of those little details, 
     
     
  
 
 
	 00:19:26
     ◼
      
     ► 
     because I'm not a Swift expert yet, 
     
     
  
 
 
	 00:19:28
     ◼
      
     ► 
     I don't know a lot of these hacks and workarounds. 
     
     
  
 
 
	 00:19:30
     ◼
      
     ► 
     So I'll have a situation where it's like, 
     
     
  
 
 
	 00:19:32
     ◼
      
     ► 
     okay, well I want this binding to be optional. 
     
     
  
 
 
	 00:19:35
     ◼
      
     ► 
     Not to bind to an optional value, 
     
     
  
 
 
	 00:19:38
     ◼
      
     ► 
     but I want the binding itself to be optional. 
     
     
  
 
 
	 00:19:40
     ◼
      
     ► 
     And you can do that, it turns out. 
     
     
  
 
 
	 00:19:42
     ◼
      
     ► 
     You just can't use @binding as the prefix. 
     
     
  
 
 
	 00:19:44
     ◼
      
     ► 
     You have to write out the whole type afterwards. 
     
     
  
 
 
	 00:19:46
     ◼
      
     ► 
     And every time you do that, you gotta look that up. 
     
     
  
 
 
	 00:19:49
     ◼
      
     ► 
     Things like having these two different things, 
     
     
  
 
 
	 00:19:50
     ◼
      
     ► 
     Playlist and Podcast. 
     
     
  
 
 
	 00:19:51
     ◼
      
     ► 
     I had them both inherit from a common protocol. 
     
     
  
 
 
	 00:19:54
     ◼
      
     ► 
     try using a protocol anywhere in SwiftUI, you can't. 
     
     
  
 
 
	 00:19:58
     ◼
      
     ► 
     And some of the, because SwiftUI itself 
     
     
  
 
 
	 00:20:01
     ◼
      
     ► 
     is also such a giant pile of hacks in the Swift language, 
     
     
  
 
 
	 00:20:04
     ◼
      
     ► 
     some of the error messages are comical 
     
     
  
 
 
	 00:20:06
     ◼
      
     ► 
     and they send you in such a weird direction. 
     
     
  
 
 
	 00:20:09
     ◼
      
     ► 
     Like you'll get error messages about things like 
     
     
  
 
 
	 00:20:12
     ◼
      
     ► 
     the initializer can't be called 'cause it's private 
     
     
  
 
 
	 00:20:14
     ◼
      
     ► 
     because a value that SwiftUI expects to be optional 
     
     
  
 
 
	 00:20:17
     ◼
      
     ► 
     wasn't marked optional. 
     
     
  
 
 
	 00:20:19
     ◼
      
     ► 
     Like that has nothing to do with the message. 
     
     
  
 
 
	 00:20:20
     ◼
      
     ► 
     It's just, there are so many little things 
     
     
  
 
 
	 00:20:23
     ◼
      
     ► 
     where I'm just hitting wall after wall after wall. 
     
     
  
 
 
	 00:20:26
     ◼
      
     ► 
     And I'm at the point now where I actually am motivated 
     
     
  
 
 
	 00:20:30
     ◼
      
     ► 
     to keep going, I'm excited to get to my perceived future 
     
     
  
 
 
	 00:20:34
     ◼
      
     ► 
     where I think I can do this all in a relatively clean way 
     
     
  
 
 
	 00:20:37
     ◼
      
     ► 
     and save a bunch of code and update my knowledge 
     
     
  
 
 
	 00:20:39
     ◼
      
     ► 
     and my code base and all this stuff. 
     
     
  
 
 
	 00:20:41
     ◼
      
     ► 
     Like I am sold on the benefits of getting there 
     
     
  
 
 
	 00:20:44
     ◼
      
     ► 
     and I'm just beating my head against the wall constantly 
     
     
  
 
 
	 00:20:47
     ◼
      
     ► 
     along the path there and I've now been beating my head 
     
     
  
 
 
	 00:20:50
     ◼
      
     ► 
     against the wall for like a week, 
     
     
  
 
 
	 00:20:51
     ◼
      
     ► 
     and I have relatively little to show for it so far. 
     
     
  
 
 
	 00:20:56
     ◼
      
     ► 
     All I have is a bunch of ways to do things that don't work, 
     
     
  
 
 
	 00:20:58
     ◼
      
     ► 
     and a few things I got working. 
     
     
  
 
 
	 00:21:01
     ◼
      
     ► 
     But I am still going, I'm still optimistic, 
     
     
  
 
 
	 00:21:03
     ◼
      
     ► 
     I still think this is the right path, but this is hard. 
     
     
  
 
 
	 00:21:07
     ◼
      
     ► 
     And I think Apple is deluding themselves 
     
     
  
 
 
	 00:21:11
     ◼
      
     ► 
     if anybody there thinks that either Swift or SwiftUI 
     
     
  
 
 
	 00:21:16
     ◼
      
     ► 
     is suitable for beginners. 
     
     
  
 
 
	 00:21:19
     ◼
      
     ► 
     - It is so not, like at all. 
     
     
  
 
 
	 00:21:22
     ◼
      
     ► 
     And you know, I think part of the reason 
     
     
  
 
 
	 00:21:24
     ◼
      
     ► 
     I'm finding some of this stuff so difficult 
     
     
  
 
 
	 00:21:25
     ◼
      
     ► 
     is obviously because the way I'm used to doing things 
     
     
  
 
 
	 00:21:28
     ◼
      
     ► 
     is different, and so somebody learning from scratch 
     
     
  
 
 
	 00:21:31
     ◼
      
     ► 
     probably wouldn't have a lot of this baggage that I have. 
     
     
  
 
 
	 00:21:33
     ◼
      
     ► 
     - Oh, that's an interesting point, yeah. 
     
     
  
 
 
	 00:21:35
     ◼
      
     ► 
     - However, there are so many things where 
     
     
  
 
 
	 00:21:38
     ◼
      
     ► 
     here's a common need I have to fix, 
     
     
  
 
 
	 00:21:40
     ◼
      
     ► 
     or here's an error I ran into, how do I fix this? 
     
     
  
 
 
	 00:21:42
     ◼
      
     ► 
     And the answer is so technical, and so language nerdy, 
     
     
  
 
 
	 00:21:46
     ◼
      
     ► 
     and so obtuse and the only thing you can really do 
     
     
  
 
 
	 00:21:49
     ◼
      
     ► 
     is Google for it and hope somebody answered it 
     
     
  
 
 
	 00:21:52
     ◼
      
     ► 
     the right way that you understand. 
     
     
  
 
 
	 00:21:54
     ◼
      
     ► 
     I don't know how anybody expects people 
     
     
  
 
 
	 00:21:57
     ◼
      
     ► 
     to use this language and this framework, 
     
     
  
 
 
	 00:22:01
     ◼
      
     ► 
     which itself is a giant pile of hacks 
     
     
  
 
 
	 00:22:02
     ◼
      
     ► 
     on top of an already complex language, 
     
     
  
 
 
	 00:22:05
     ◼
      
     ► 
     as a beginner to programming. 
     
     
  
 
 
	 00:22:07
     ◼
      
     ► 
     One of the great things, beginner languages 
     
     
  
 
 
	 00:22:10
     ◼
      
     ► 
     should be fairly understandable at a deep level. 
     
     
  
 
 
	 00:22:14
     ◼
      
     ► 
     you should be able to know everything that's going on 
     
     
  
 
 
	 00:22:17
     ◼
      
     ► 
     if you're a beginner and you start asking questions 
     
     
  
 
 
	 00:22:20
     ◼
      
     ► 
     and say, you know, you see like, what does, you know, 
     
     
  
 
 
	 00:22:22
     ◼
      
     ► 
     argc and argv mean in my main function here? 
     
     
  
 
 
	 00:22:25
     ◼
      
     ► 
     You should be able to know that. 
     
     
  
 
 
	 00:22:26
     ◼
      
     ► 
     Like if you ask somebody, they will tell you 
     
     
  
 
 
	 00:22:28
     ◼
      
     ► 
     and you should understand the answer, 
     
     
  
 
 
	 00:22:29
     ◼
      
     ► 
     things should be relatively knowable. 
     
     
  
 
 
	 00:22:31
     ◼
      
     ► 
     You should know, okay, if I write this statement, 
     
     
  
 
 
	 00:22:33
     ◼
      
     ► 
     this is going to happen. 
     
     
  
 
 
	 00:22:34
     ◼
      
     ► 
     I get this error, here's why that happened. 
     
     
  
 
 
	 00:22:36
     ◼
      
     ► 
     If you're learning with Swift and SwiftUI, 
     
     
  
 
 
	 00:22:39
     ◼
      
     ► 
     there is so much, there's such a vast constellation 
     
     
  
 
 
	 00:22:44
     ◼
      
     ► 
     of non-trivially complex topics 
     
     
  
 
 
	 00:22:47
     ◼
      
     ► 
     that you really should know or have some familiarity with 
     
     
  
 
 
	 00:22:50
     ◼
      
     ► 
     because you'll run into these problems all the time 
     
     
  
 
 
	 00:22:52
     ◼
      
     ► 
     and you'll need to know how to do it. 
     
     
  
 
 
	 00:22:54
     ◼
      
     ► 
     This is a very advanced language 
     
     
  
 
 
	 00:22:56
     ◼
      
     ► 
     and a very advanced complicated framework 
     
     
  
 
 
	 00:22:58
     ◼
      
     ► 
     that requires a lot of brain messing. 
     
     
  
 
 
	 00:23:01
     ◼
      
     ► 
     Back when I was learning languages, 
     
     
  
 
 
	 00:23:07
     ◼
      
     ► 
     what was taught in college was Java and then C. 
     
     
  
 
 
	 00:23:12
     ◼
      
     ► 
     I heard from all the professors all the time 
     
     
  
 
 
	 00:23:13
     ◼
      
     ► 
     that the big challenge with where people would drop off 
     
     
  
 
 
	 00:23:17
     ◼
      
     ► 
     was the concept of pointers in C. 
     
     
  
 
 
	 00:23:20
     ◼
      
     ► 
     Because it's a level of indirection. 
     
     
  
 
 
	 00:23:22
     ◼
      
     ► 
     And it makes sense, it's a complex topic 
     
     
  
 
 
	 00:23:25
     ◼
      
     ► 
     for most people who are just learning this stuff 
     
     
  
 
 
	 00:23:27
     ◼
      
     ► 
     and it takes a certain intellectual leap of complexity 
     
     
  
 
 
	 00:23:31
     ◼
      
     ► 
     and of abstraction to understand a pointer 
     
     
  
 
 
	 00:23:34
     ◼
      
     ► 
     and things you can do with pointers 
     
     
  
 
 
	 00:23:35
     ◼
      
     ► 
     and where they are used and how they are used. 
     
     
  
 
 
	 00:23:38
     ◼
      
     ► 
     SwiftUI is full of things like that. 
     
     
  
 
 
	 00:23:41
     ◼
      
     ► 
     There are tons of that type of abstraction 
     
     
  
 
 
	 00:23:44
     ◼
      
     ► 
     or that type of difficult or kind of indirect concept 
     
     
  
 
 
 
	 00:23:50
     ◼
      
     ► 
     And so I don't know how people are going to learn this 
     
     
  
 
 
	 00:23:52
     ◼
      
     ► 
     as beginners and not just hit their heads against the wall 
     
     
  
 
 
	 00:23:55
     ◼
      
     ► 
     all the time. 
     
     
  
 
 
	 00:23:56
     ◼
      
     ► 
     Because what Apple shows in the conference slides 
     
     
  
 
 
	 00:23:59
     ◼
      
     ► 
     is like, oh, this thing is super easy. 
     
     
  
 
 
	 00:24:01
     ◼
      
     ► 
     You just do this, this, and this, 
     
     
  
 
 
	 00:24:02
     ◼
      
     ► 
     and then this wonderful thing pops out. 
     
     
  
 
 
	 00:24:05
     ◼
      
     ► 
     But first of all, what they're doing is very, very trivial. 
     
     
  
 
 
	 00:24:10
     ◼
      
     ► 
     like what they're showing in their examples is very trivial. 
     
     
  
 
 
	 00:24:13
     ◼
      
     ► 
     And then second of all, 
     
     
  
 
 
	 00:24:14
     ◼
      
     ► 
     when you're agreeing with an empty screen 
     
     
  
 
 
	 00:24:16
     ◼
      
     ► 
     and you have to just type code, 
     
     
  
 
 
	 00:24:17
     ◼
      
     ► 
     it's very hard to know what even to type 
     
     
  
 
 
	 00:24:20
     ◼
      
     ► 
     to get what you want without just Googling 
     
     
  
 
 
	 00:24:23
     ◼
      
     ► 
     and finding examples and copy and pasting. 
     
     
  
 
 
	 00:24:25
     ◼
      
     ► 
     And those areas of SwiftUI I think are so entrenched 
     
     
  
 
 
	 00:24:30
     ◼
      
     ► 
     to just the way the language and the framework 
     
     
  
 
 
	 00:24:32
     ◼
      
     ► 
     have developed and are designed from the start. 
     
     
  
 
 
	 00:24:35
     ◼
      
     ► 
     And even the whole concept of declarative UI 
     
     
  
 
 
	 00:24:39
     ◼
      
     ► 
     in the complexity we have of it today 
     
     
  
 
 
	 00:24:41
     ◼
      
     ► 
     is so complicated to get going and to not break. 
     
     
  
 
 
	 00:24:46
     ◼
      
     ► 
     I think people are gonna have a very hard time learning this. 
     
     
  
 
 
	 00:24:50
     ◼
      
     ► 
     I mean, maybe it's just me. 
     
     
  
 
 
	 00:24:51
     ◼
      
     ► 
     Maybe this is 'cause I'm now considered 
     
     
  
 
 
	 00:24:52
     ◼
      
     ► 
     an elderly programmer at age 40. 
     
     
  
 
 
	 00:24:54
     ◼
      
     ► 
     And maybe I'm just too old to learn these new concepts. 
     
     
  
 
 
	 00:24:59
     ◼
      
     ► 
     But I don't think that's entirely it. 
     
     
  
 
 
	 00:25:01
     ◼
      
     ► 
     I mean, that's probably part of it. 
     
     
  
 
 
	 00:25:03
     ◼
      
     ► 
     But I think this is just really hard. 
     
     
  
 
 
	 00:25:05
     ◼
      
     ► 
     And it looks easy. 
     
     
  
 
 
	 00:25:07
     ◼
      
     ► 
     When you see the conference slide code, 
     
     
  
 
 
	 00:25:09
     ◼
      
     ► 
     it looks really easy, and in practice it really isn't. 
     
     
  
 
 
	 00:25:13
     ◼
      
     ► 
     - I just want to point out that my high school age son 
     
     
  
 
 
	 00:25:16
     ◼
      
     ► 
     wrote an app in SwiftUI and put it on the App Store, 
     
     
  
 
 
	 00:25:18
     ◼
      
     ► 
     and it's got a lot of screens and a lot of buttons 
     
     
  
 
 
	 00:25:19
     ◼
      
     ► 
     and stuff on it, and he doesn't know any language. 
     
     
  
 
 
 
	 00:25:24
     ◼
      
     ► 
     He wrote an app and put it in the App Store, 
     
     
  
 
 
	 00:25:25
     ◼
      
     ► 
     does he not know? 
     
     
  
 
 
	 00:25:26
     ◼
      
     ► 
     Like, no one that young mostly knows anything. 
     
     
  
 
 
	 00:25:29
     ◼
      
     ► 
     It's like the first major program he wrote. 
     
     
  
 
 
	 00:25:30
     ◼
      
     ► 
     So, beginners figure it out. 
     
     
  
 
 
	 00:25:32
     ◼
      
     ► 
     That idea of Googling, copying, and pasting 
     
     
  
 
 
	 00:25:34
     ◼
      
     ► 
     can take you a long way. 
     
     
  
 
 
	 00:25:36
     ◼
      
     ► 
     I mean, he's also a Syracuse, so. 
     
     
  
 
 
	 00:25:37
     ◼
      
     ► 
     - Well, that's a fair point. 
     
     
  
 
 
	 00:25:39
     ◼
      
     ► 
     Yeah, we should grade on a curve here. 
     
     
  
 
 
	 00:25:41
     ◼
      
     ► 
     But no, I think you and me are lamenting 
     
     
  
 
 
	 00:25:45
     ◼
      
     ► 
     all the crummy parts of SwiftUI, of which there are many. 
     
     
  
 
 
	 00:25:48
     ◼
      
     ► 
     But I will say, and I think, 
     
     
  
 
 
	 00:25:50
     ◼
      
     ► 
     didn't I say this like last week, 
     
     
  
 
 
	 00:25:51
     ◼
      
     ► 
     that when SwiftUI does work, 
     
     
  
 
 
	 00:25:54
     ◼
      
     ► 
     when you are within the guardrails that SwiftUI lays out, 
     
     
  
 
 
	 00:25:57
     ◼
      
     ► 
     it is pretty fantastic. 
     
     
  
 
 
	 00:26:01
     ◼
      
     ► 
     It's really incredible how quickly you can build 
     
     
  
 
 
	 00:26:04
     ◼
      
     ► 
     a really good looking user interface 
     
     
  
 
 
	 00:26:06
     ◼
      
     ► 
     with not an overabundance of code. 
     
     
  
 
 
	 00:26:09
     ◼
      
     ► 
     And a lot of it just really does work 
     
     
  
 
 
	 00:26:12
     ◼
      
     ► 
     if you stay in the guardrails. 
     
     
  
 
 
	 00:26:15
     ◼
      
     ► 
     But that's the problem, 
     
     
  
 
 
	 00:26:16
     ◼
      
     ► 
     is that those guardrails aren't just guardrails, 
     
     
  
 
 
	 00:26:19
     ◼
      
     ► 
     they're entire, like 500 foot tall brick walls. 
     
     
  
 
 
	 00:26:23
     ◼
      
     ► 
     And getting around them is not easy. 
     
     
  
 
 
	 00:26:25
     ◼
      
     ► 
     Whereas in UIKit, for all the good and bad of UIKit, 
     
     
  
 
 
	 00:26:29
     ◼
      
     ► 
     when you need to jump over a guardrail, 
     
     
  
 
 
	 00:26:31
     ◼
      
     ► 
     it's like you just step right over. 
     
     
  
 
 
	 00:26:33
     ◼
      
     ► 
     Like, oh, there we go, all right, done. 
     
     
  
 
 
	 00:26:35
     ◼
      
     ► 
     Problem solved. 
     
     
  
 
 
	 00:26:36
     ◼
      
     ► 
     Whereas with this, you're like trying to figure out 
     
     
  
 
 
	 00:26:38
     ◼
      
     ► 
     how to like put the little rock-climbing things 
     
     
  
 
 
	 00:26:42
     ◼
      
     ► 
     in between the bricks so you can find a foothold 
     
     
  
 
 
	 00:26:44
     ◼
      
     ► 
     to raise yourself up the 500-foot brick wall 
     
     
  
 
 
	 00:26:46
     ◼
      
     ► 
     that's completely vertical in order to get what you need. 
     
     
  
 
 
	 00:26:49
     ◼
      
     ► 
     It's just, it's so frustrating. 
     
     
  
 
 
	 00:26:51
     ◼
      
     ► 
     I don't know, I feel like I need Underscore 
     
     
  
 
 
	 00:26:54
     ◼
      
     ► 
     to like sit next to me and just smack my hand 
     
     
  
 
 
	 00:26:57
     ◼
      
     ► 
     with like a ruler every time I go to do something 
     
     
  
 
 
	 00:26:59
     ◼
      
     ► 
     that's not the right way. 
     
     
  
 
 
	 00:27:00
     ◼
      
     ► 
     Just be like, whoosh, nope, try again. 
     
     
  
 
 
	 00:27:02
     ◼
      
     ► 
     All right, well what if I did, 
     
     
  
 
 
	 00:27:03
     ◼
      
     ► 
     (imitates whip cracking) 
     
     
  
 
 
	 00:27:04
     ◼
      
     ► 
     Nope, not that either, you know? 
     
     
  
 
 
	 00:27:04
     ◼
      
     ► 
     Like, I just need him next to me. 
     
     
  
 
 
	 00:27:06
     ◼
      
     ► 
     Pair programming is like not my thing. 
     
     
  
 
 
	 00:27:08
     ◼
      
     ► 
     I hate it, I don't like it. 
     
     
  
 
 
	 00:27:09
     ◼
      
     ► 
     I've thought about like going on Twitch 
     
     
  
 
 
	 00:27:12
     ◼
      
     ► 
     and recording myself as I'm writing code 
     
     
  
 
 
	 00:27:13
     ◼
      
     ► 
     and as soon as I think about that, 
     
     
  
 
 
	 00:27:15
     ◼
      
     ► 
     I'm like, nope, nope, nope, nope, nope, nope, nope. 
     
     
  
 
 
	 00:27:17
     ◼
      
     ► 
     That's a terrible decision. 
     
     
  
 
 
	 00:27:19
     ◼
      
     ► 
     But I feel like I need a trusted friend 
     
     
  
 
 
	 00:27:22
     ◼
      
     ► 
     to like sit next to me and show me the way 
     
     
  
 
 
	 00:27:24
     ◼
      
     ► 
     because clearly what I'm doing ain't working. 
     
     
  
 
 
	 00:27:27
     ◼
      
     ► 
     - Well, and the thing is, 
     
     
  
 
 
	 00:27:28
     ◼
      
     ► 
     and I've had those moments where everything 
     
     
  
 
 
	 00:27:30
     ◼
      
     ► 
     is going great and super easy, 
     
     
  
 
 
	 00:27:32
     ◼
      
     ► 
     Like when I had to make my stupid placeholder 
     
     
  
 
 
	 00:27:35
     ◼
      
     ► 
     now playing screen for this little mockup thing 
     
     
  
 
 
	 00:27:37
     ◼
      
     ► 
     I'm working in, I was able to make such a nice screen 
     
     
  
 
 
	 00:27:42
     ◼
      
     ► 
     with so little effort. (laughs) 
     
     
  
 
 
	 00:27:44
     ◼
      
     ► 
     Like it's so good and it was like, 
     
     
  
 
 
	 00:27:47
     ◼
      
     ► 
     oh, let me border this artwork and crop it 
     
     
  
 
 
	 00:27:50
     ◼
      
     ► 
     with Johnny Ive Corners and all this stuff. 
     
     
  
 
 
	 00:27:53
     ◼
      
     ► 
     And it's like perfect, easy, one line, two seconds, 
     
     
  
 
 
	 00:27:56
     ◼
      
     ► 
     done, live previewing, done, done, done, great. 
     
     
  
 
 
	 00:27:58
     ◼
      
     ► 
     Let me pad that, let me, 
     
     
  
 
 
	 00:27:59
     ◼
      
     ► 
     there's a little drop shadow on that, 
     
     
  
 
 
	 00:28:00
     ◼
      
     ► 
     oh, perfect, done, like, I've done all of those things 
     
     
  
 
 
	 00:28:04
     ◼
      
     ► 
     in UIKit in Objective-C, and it's so much harder. 
     
     
  
 
 
	 00:28:08
     ◼
      
     ► 
     And it took so much longer, and it's so much more code. 
     
     
  
 
 
	 00:28:12
     ◼
      
     ► 
     And so that's where I'm trying to get. 
     
     
  
 
 
	 00:28:14
     ◼
      
     ► 
     Like, I can see in the distance, I can see, 
     
     
  
 
 
	 00:28:16
     ◼
      
     ► 
     I hope it's not a mirage, I can see, like, 
     
     
  
 
 
	 00:28:19
     ◼
      
     ► 
     how good SwiftUI can be, and how much value 
     
     
  
 
 
	 00:28:23
     ◼
      
     ► 
     this can deliver to me, but first, 
     
     
  
 
 
	 00:28:25
     ◼
      
     ► 
     I have to, like, make sure that I can get 
     
     
  
 
 
	 00:28:27
     ◼
      
     ► 
     the structure working, and again, I'm trying to do this 
     
     
  
 
 
	 00:28:30
     ◼
      
     ► 
     in the most modern way possible. 
     
     
  
 
 
	 00:28:32
     ◼
      
     ► 
     Like look, if the iOS 16 requiring APIs 
     
     
  
 
 
	 00:28:37
     ◼
      
     ► 
     are the thing I need to do this, fine. 
     
     
  
 
 
	 00:28:39
     ◼
      
     ► 
     Like my prototype is requiring iOS 16 so far 
     
     
  
 
 
	 00:28:42
     ◼
      
     ► 
     just so I don't get any warnings anywhere. 
     
     
  
 
 
	 00:28:43
     ◼
      
     ► 
     I just wanna see what's possible. 
     
     
  
 
 
	 00:28:45
     ◼
      
     ► 
     And you know, I'll decide then. 
     
     
  
 
 
	 00:28:46
     ◼
      
     ► 
     But I want to try to get things to be clean and correct 
     
     
  
 
 
	 00:28:51
     ◼
      
     ► 
     and idiomatic if I can. 
     
     
  
 
 
	 00:28:52
     ◼
      
     ► 
     Like I don't want to be doing a lot of hacks. 
     
     
  
 
 
	 00:28:54
     ◼
      
     ► 
     I don't want to be doing a lot of weird customization. 
     
     
  
 
 
	 00:28:56
     ◼
      
     ► 
     I don't wanna have to use UI kit bridging inside of it 
     
     
  
 
 
	 00:28:59
     ◼
      
     ► 
     to get certain things to work. 
     
     
  
 
 
	 00:29:01
     ◼
      
     ► 
     I want to use only SwiftUI if I can, as much as possible, 
     
     
  
 
 
	 00:29:04
     ◼
      
     ► 
     'cause the whole point of doing this is to pull my code 
     
     
  
 
 
	 00:29:08
     ◼
      
     ► 
     forward 10 years and actually be able to work 
     
     
  
 
 
	 00:29:11
     ◼
      
     ► 
     in that clean modern way like the conference slides do. 
     
     
  
 
 
	 00:29:14
     ◼
      
     ► 
     And just getting there, I'm just hitting so many walls. 
     
     
  
 
 
	 00:29:18
     ◼
      
     ► 
     And parts of it are so good that it motivates me 
     
     
  
 
 
	 00:29:21
     ◼
      
     ► 
     to keep going, and I'm sure a lot of this is, again, 
     
     
  
 
 
	 00:29:24
     ◼
      
     ► 
     just 'cause I'm new at this, but I hope I can get there, 
     
     
  
 
 
	 00:29:28
     ◼
      
     ► 
     because I've seen, I've tasted, 
     
     
  
 
 
	 00:29:32
     ◼
      
     ► 
     do you taste the Promised Land? 
     
     
  
 
 
	 00:29:33
     ◼
      
     ► 
     That sounds kind of gross. 
     
     
  
 
 
	 00:29:35
     ◼
      
     ► 
     - You've seen the Promised Land. 
     
     
  
 
 
	 00:29:36
     ◼
      
     ► 
     - Okay, you've seen the Promised Land. 
     
     
  
 
 
 
	 00:29:38
     ◼
      
     ► 
     I've seen the mirage of how good this can be 
     
     
  
 
 
	 00:29:42
     ◼
      
     ► 
     in my dumb little now playing placeholder screen 
     
     
  
 
 
	 00:29:45
     ◼
      
     ► 
     and I just am trying to get there 
     
     
  
 
 
	 00:29:47
     ◼
      
     ► 
     and it's so, so hard to get there. 
     
     
  
 
 
	 00:29:50
     ◼
      
     ► 
     - Yeah, and it's tough too because, 
     
     
  
 
 
	 00:29:52
     ◼
      
     ► 
     I mean, I've never seen the code for Overcast 
     
     
  
 
 
	 00:29:54
     ◼
      
     ► 
     but just imagining it. 
     
     
  
 
 
	 00:29:56
     ◼
      
     ► 
     the now playing screen in particular to my eyes, 
     
     
  
 
 
	 00:29:59
     ◼
      
     ► 
     like screams Combine and SwiftUI. 
     
     
  
 
 
	 00:30:01
     ◼
      
     ► 
     Like it's a bunch of things, 
     
     
  
 
 
	 00:30:03
     ◼
      
     ► 
     it's a bunch of events happening over time 
     
     
  
 
 
	 00:30:05
     ◼
      
     ► 
     where not a lot of things, 
     
     
  
 
 
	 00:30:07
     ◼
      
     ► 
     well, leaving aside the user input, 
     
     
  
 
 
	 00:30:09
     ◼
      
     ► 
     like not a lot is changing. 
     
     
  
 
 
	 00:30:10
     ◼
      
     ► 
     You just need to update like counters 
     
     
  
 
 
	 00:30:12
     ◼
      
     ► 
     and the state of whether or not you're playing 
     
     
  
 
 
	 00:30:14
     ◼
      
     ► 
     or paused or whatever. 
     
     
  
 
 
	 00:30:15
     ◼
      
     ► 
     Like all of this stuff is just like custom tailor-made 
     
     
  
 
 
	 00:30:19
     ◼
      
     ► 
     for Combine and SwiftUI. 
     
     
  
 
 
	 00:30:20
     ◼
      
     ► 
     Like this is the perfect problem statement 
     
     
  
 
 
	 00:30:22
     ◼
      
     ► 
     for Combine and SwiftUI. 
     
     
  
 
 
	 00:30:23
     ◼
      
     ► 
     But the problem is there's all that other stuff around it, 
     
     
  
 
 
	 00:30:25
     ◼
      
     ► 
     which is important, it's super important. 
     
     
  
 
 
	 00:30:28
     ◼
      
     ► 
     Like I'm not trying to say you're wasting your time 
     
     
  
 
 
	 00:30:30
     ◼
      
     ► 
     or anything, all of the user interface stuff 
     
     
  
 
 
	 00:30:31
     ◼
      
     ► 
     is super important and if you can't get through that hurdle, 
     
     
  
 
 
	 00:30:35
     ◼
      
     ► 
     then it's almost like you failed before you've even begun. 
     
     
  
 
 
	 00:30:38
     ◼
      
     ► 
     And it's too bad because I can see how this would be 
     
     
  
 
 
	 00:30:41
     ◼
      
     ► 
     such a perfect match made in heaven 
     
     
  
 
 
	 00:30:43
     ◼
      
     ► 
     if you can just get there and I don't blame you if you can. 
     
     
  
 
 
	 00:30:45
     ◼
      
     ► 
     - Yeah and this is why I decided to start with 
     
     
  
 
 
	 00:30:48
     ◼
      
     ► 
     what I thought would probably be the hardest part, 
     
     
  
 
 
	 00:30:50
     ◼
      
     ► 
     which is like this big structural navigation. 
     
     
  
 
 
	 00:30:52
     ◼
      
     ► 
     So like where SwiftUI I think shines 
     
     
  
 
 
	 00:30:55
     ◼
      
     ► 
     and has shown, yeah, has shown since it was introduced 
     
     
  
 
 
	 00:30:59
     ◼
      
     ► 
     for the most part is in the design of single screens. 
     
     
  
 
 
	 00:31:03
     ◼
      
     ► 
     When you have just a screen, a view, 
     
     
  
 
 
	 00:31:06
     ◼
      
     ► 
     laying that out with SwiftUI is awesome. 
     
     
  
 
 
	 00:31:08
     ◼
      
     ► 
     Where SwiftUI I think has had a lot of challenges 
     
     
  
 
 
	 00:31:11
     ◼
      
     ► 
     is in navigation, presentation, modal, 
     
     
  
 
 
	 00:31:15
     ◼
      
     ► 
     like all the things where you are changing screens, 
     
     
  
 
 
	 00:31:18
     ◼
      
     ► 
     you are structuring multiple screen things 
     
     
  
 
 
	 00:31:20
     ◼
      
     ► 
     or navigational patterns and directions, 
     
     
  
 
 
	 00:31:22
     ◼
      
     ► 
     That kind of stuff, it has had a very hard time with 
     
     
  
 
 
	 00:31:26
     ◼
      
     ► 
     and I don't yet know if we're out of the woods on that. 
     
     
  
 
 
	 00:31:28
     ◼
      
     ► 
     But I decided, let me start with that 
     
     
  
 
 
	 00:31:30
     ◼
      
     ► 
     because if I can get that right, 
     
     
  
 
 
	 00:31:32
     ◼
      
     ► 
     then I will be much further along 
     
     
  
 
 
	 00:31:35
     ◼
      
     ► 
     on the path towards my goal of being all SwiftUI. 
     
     
  
 
 
	 00:31:38
     ◼
      
     ► 
     I would love if, whenever this crazy UI project is done, 
     
     
  
 
 
	 00:31:43
     ◼
      
     ► 
     maybe, I don't know, a year from now, 
     
     
  
 
 
	 00:31:45
     ◼
      
     ► 
     I would love if I can say this whole new branch of the app 
     
     
  
 
 
	 00:31:49
     ◼
      
     ► 
     now that's using this is all SwiftUI. 
     
     
  
 
 
	 00:31:52
     ◼
      
     ► 
     That would be great, I would love to get there. 
     
     
  
 
 
	 00:31:54
     ◼
      
     ► 
     I don't know that I can yet. 
     
     
  
 
 
	 00:31:56
     ◼
      
     ► 
     I mean, and you know, all might have an asterisk like, 
     
     
  
 
 
	 00:31:59
     ◼
      
     ► 
     you know, the AirPlay view doesn't have a SwiftUI thing, 
     
     
  
 
 
	 00:32:01
     ◼
      
     ► 
     so I had to wrap that, but you know, other, 
     
     
  
 
 
	 00:32:02
     ◼
      
     ► 
     like, for the most part, I want as much of it as possible 
     
     
  
 
 
	 00:32:05
     ◼
      
     ► 
     to be SwiftUI, 'cause that's the goal here. 
     
     
  
 
 
	 00:32:09
     ◼
      
     ► 
     And so, and again, I'm willing to give up certain details 
     
     
  
 
 
	 00:32:12
     ◼
      
     ► 
     of how things look and work in order to get there. 
     
     
  
 
 
	 00:32:16
     ◼
      
     ► 
     But I gotta find out if what I want is even possible. 
     
     
  
 
 
	 00:32:19
     ◼
      
     ► 
     And so far, it's just wall after wall after wall. 
     
     
  
 
 
	 00:32:23
     ◼
      
     ► 
     But I have made some progress. 
     
     
  
 
 
	 00:32:26
     ◼
      
     ► 
     And so I'm happy about that. 
     
     
  
 
 
	 00:32:27
     ◼
      
     ► 
     And I'm motivated to keep going. 
     
     
  
 
 
	 00:32:29
     ◼
      
     ► 
     Sounds like when you wanted to make an app with no setting 
     
     
  
 
 
 
	 00:32:32
     ◼
      
     ► 
     I feel like you need to be a little bit 
     
     
  
 
 
	 00:32:33
     ◼
      
     ► 
     looser on these edicts that you put before yourself. 
     
     
  
 
 
	 00:32:36
     ◼
      
     ► 
     Making an app with the navigation skeleton 
     
     
  
 
 
	 00:32:38
     ◼
      
     ► 
     entirely in UIKit but all your views are SwiftUI, 
     
     
  
 
 
	 00:32:41
     ◼
      
     ► 
     that's perfectly fine. 
     
     
  
 
 
	 00:32:43
     ◼
      
     ► 
     It will cause you fewer headaches. 
     
     
  
 
 
	 00:32:44
     ◼
      
     ► 
     And you can so easily convert that down the line, 
     
     
  
 
 
	 00:32:46
     ◼
      
     ► 
     because every one of those SwiftUI views is easy to take 
     
     
  
 
 
	 00:32:49
     ◼
      
     ► 
     and shove into a Swift UI thing. 
     
     
  
 
 
	 00:32:51
     ◼
      
     ► 
     That's her point. 
     
     
  
 
 
	 00:32:52
     ◼
      
     ► 
     - I mean, that's my fallback ultimately. 
     
     
  
 
 
	 00:32:54
     ◼
      
     ► 
     If I have to, like that's why today I started playing 
     
     
  
 
 
	 00:32:56
     ◼
      
     ► 
     with the just embedding a UI split view. 
     
     
  
 
 
	 00:32:58
     ◼
      
     ► 
     Like if I have to do that fine, 
     
     
  
 
 
	 00:33:01
     ◼
      
     ► 
     I would just really rather not. 
     
     
  
 
 
	 00:33:03
     ◼
      
     ► 
     Like if I can-- 
     
     
  
 
 
	 00:33:04
     ◼
      
     ► 
     - And you'd be making an upgrade 
     
     
  
 
 
	 00:33:05
     ◼
      
     ► 
     'cause you'd be getting rid of all the objective C code 
     
     
  
 
 
	 00:33:06
     ◼
      
     ► 
     and doing it in Swift and you think that's not a big deal, 
     
     
  
 
 
	 00:33:08
     ◼
      
     ► 
     it's like well, who cares? 
     
     
  
 
 
	 00:33:09
     ◼
      
     ► 
     You know, UIKit in Swift versus UIKit in Objective-C, 
     
     
  
 
 
	 00:33:12
     ◼
      
     ► 
     it's so much less code, it's so much nicer, 
     
     
  
 
 
	 00:33:13
     ◼
      
     ► 
     you'll be very happy. 
     
     
  
 
 
	 00:33:14
     ◼
      
     ► 
     I think you should just do that. 
     
     
  
 
 
	 00:33:16
     ◼
      
     ► 
     - Sure, and again, like, 
     
     
  
 
 
	 00:33:17
     ◼
      
     ► 
     and I wrote the Objective-C code 10 years, 
     
     
  
 
 
	 00:33:20
     ◼
      
     ► 
     eight years ago, whatever it was, 
     
     
  
 
 
	 00:33:21
     ◼
      
     ► 
     I wrote that a long time ago where some of that, 
     
     
  
 
 
	 00:33:24
     ◼
      
     ► 
     first of all, I've gotten better as a programmer, 
     
     
  
 
 
	 00:33:25
     ◼
      
     ► 
     so some of that I would just write better. 
     
     
  
 
 
	 00:33:27
     ◼
      
     ► 
     Second of all, a lot of it now has newer methods 
     
     
  
 
 
	 00:33:30
     ◼
      
     ► 
     that would use less code no matter which language 
     
     
  
 
 
	 00:33:32
     ◼
      
     ► 
     I'm doing it in. 
     
     
  
 
 
	 00:33:33
     ◼
      
     ► 
     So I could say things there, but ultimately, 
     
     
  
 
 
	 00:33:36
     ◼
      
     ► 
     anything that I'm, if I'm at this level here, 
     
     
  
 
 
	 00:33:40
     ◼
      
     ► 
     doing basics of navigation structure, 
     
     
  
 
 
	 00:33:42
     ◼
      
     ► 
     if I have to wrap UIKit and call into it from SwiftUI 
     
     
  
 
 
	 00:33:46
     ◼
      
     ► 
     and stuff or vice versa, to me that is technical debt. 
     
     
  
 
 
	 00:33:49
     ◼
      
     ► 
     That I know I'll have to repay that down the road 
     
     
  
 
 
	 00:33:52
     ◼
      
     ► 
     at some point if I leave it in. 
     
     
  
 
 
	 00:33:53
     ◼
      
     ► 
     So let me take a bit of extra time now and see, 
     
     
  
 
 
	 00:33:57
     ◼
      
     ► 
     can I get away without this? 
     
     
  
 
 
	 00:33:59
     ◼
      
     ► 
     Can't like, what can I do here? 
     
     
  
 
 
	 00:34:01
     ◼
      
     ► 
     Can I maybe not wrap this? 
     
     
  
 
 
	 00:34:03
     ◼
      
     ► 
     And then I can see, you know, 
     
     
  
 
 
	 00:34:06
     ◼
      
     ► 
     I'm willing to spend some time up front now 
     
     
  
 
 
	 00:34:09
     ◼
      
     ► 
     and have one very ranty podcast pre-show 
     
     
  
 
 
	 00:34:12
     ◼
      
     ► 
     to avoid possibly having to rewrite this stuff 
     
     
  
 
 
	 00:34:14
     ◼
      
     ► 
     in three to five years. 
     
     
  
 
 
	 00:34:17
     ◼
      
     ► 
     We are sponsored this week by the Stack Overflow Podcast. 
     
     
  
 
 
	 00:34:22
     ◼
      
     ► 
     This was one of the first podcasts I ever listened to. 
     
     
  
 
 
	 00:34:26
     ◼
      
     ► 
     It was something I would walk to work, 
     
     
  
 
 
	 00:34:28
     ◼
      
     ► 
     back when I worked at Tumblr in Manhattan, 
     
     
  
 
 
	 00:34:30
     ◼
      
     ► 
     and I was walking to work listening to this on my iPod 
     
     
  
 
 
	 00:34:33
     ◼
      
     ► 
     before I even had an iPhone. 
     
     
  
 
 
	 00:34:34
     ◼
      
     ► 
     And it's such a great podcast, 
     
     
  
 
 
	 00:34:36
     ◼
      
     ► 
     and it really went through the history of the site. 
     
     
  
 
 
	 00:34:38
     ◼
      
     ► 
     And now, they have matured and moved on so much, 
     
     
  
 
 
	 00:34:41
     ◼
      
     ► 
     So over a dozen years, the Stack Overflow Podcast 
     
     
  
 
 
	 00:34:45
     ◼
      
     ► 
     has continued to explore what it means to be a developer 
     
     
  
 
 
	 00:34:49
     ◼
      
     ► 
     and how the art and practice of software engineering 
     
     
  
 
 
	 00:34:51
     ◼
      
     ► 
     is changing our world. 
     
     
  
 
 
	 00:34:53
     ◼
      
     ► 
     And they cover everything you might think 
     
     
  
 
 
	 00:34:55
     ◼
      
     ► 
     for a developer podcast, Rails to React, Java to Node. 
     
     
  
 
 
	 00:34:59
     ◼
      
     ► 
     Stack Overflow Podcast hosts important conversations 
     
     
  
 
 
	 00:35:02
     ◼
      
     ► 
     and fascinating guests that will help you understand 
     
     
  
 
 
	 00:35:04
     ◼
      
     ► 
     how technology is made and where it's headed. 
     
     
  
 
 
	 00:35:07
     ◼
      
     ► 
     It's hosted by Ben Popper, Matt Kiernanter, 
     
     
  
 
 
	 00:35:10
     ◼
      
     ► 
     Cassidy Williams and Ciora Ford, 
     
     
  
 
 
	 00:35:12
     ◼
      
     ► 
     and it is your home for all things code. 
     
     
  
 
 
	 00:35:15
     ◼
      
     ► 
     With new episodes dropping twice a week, 
     
     
  
 
 
	 00:35:17
     ◼
      
     ► 
     check out the Stack Overflow podcast. 
     
     
  
 
 
	 00:35:18
     ◼
      
     ► 
     This is a great podcast, it's been there forever, 
     
     
  
 
 
	 00:35:21
     ◼
      
     ► 
     basically, in podcasting terms. 
     
     
  
 
 
	 00:35:23
     ◼
      
     ► 
     Now that I kind of feel old now, 
     
     
  
 
 
	 00:35:24
     ◼
      
     ► 
     but the Stack Overflow podcast is just great. 
     
     
  
 
 
	 00:35:27
     ◼
      
     ► 
     We all love Stack Overflow, it's an amazing site 
     
     
  
 
 
	 00:35:29
     ◼
      
     ► 
     and amazing resource for programmers. 
     
     
  
 
 
	 00:35:30
     ◼
      
     ► 
     And the podcast is what you'd expect from them, 
     
     
  
 
 
	 00:35:33
     ◼
      
     ► 
     from the team that made that. 
     
     
  
 
 
	 00:35:35
     ◼
      
     ► 
     It is that good. 
     
     
  
 
 
	 00:35:36
     ◼
      
     ► 
     So check it out yourself, Stack Overflow podcast. 
     
     
  
 
 
	 00:35:39
     ◼
      
     ► 
     It's available in every podcast app. 
     
     
  
 
 
	 00:35:41
     ◼
      
     ► 
     Wherever you get your podcasts, 
     
     
  
 
 
	 00:35:43
     ◼
      
     ► 
     go get the Stack Overflow podcast. 
     
     
  
 
 
	 00:35:45
     ◼
      
     ► 
     Subscribe today. 
     
     
  
 
 
	 00:35:46
     ◼
      
     ► 
     Thank you so much to the Stack Overflow podcast 
     
     
  
 
 
	 00:35:48
     ◼
      
     ► 
     for talking in my ears for a very long time, 
     
     
  
 
 
	 00:35:51
     ◼
      
     ► 
     over a very long time. 
     
     
  
 
 
	 00:35:52
     ◼
      
     ► 
     It's just wonderful. 
     
     
  
 
 
	 00:35:53
     ◼
      
     ► 
     And for sponsoring our show. 
     
     
  
 
 
	 00:35:55
     ◼
      
     ► 
     - All right, let's start the show. 
     
     
  
 
 
	 00:36:00
     ◼
      
     ► 
     Very quickly, there is an alternative piehole workaround. 
     
     
  
 
 
	 00:36:03
     ◼
      
     ► 
     Last week I had spoken about how I'd gotten a tip-- 
     
     
  
 
 
	 00:36:05
     ◼
      
     ► 
     - Still funny. 
     
     
  
 
 
	 00:36:06
     ◼
      
     ► 
     - Still funny. 
     
     
  
 
 
	 00:36:07
     ◼
      
     ► 
     a tip about how Safari will occasionally stall as it's ostensibly going and doing things with 
     
     
  
 
 
	 00:36:13
     ◼
      
     ► 
     iCloud private relay and you can uncheck the hide my stuff in the Safari preferences to get it to 
     
     
  
 
 
	 00:36:19
     ◼
      
     ► 
     work better. A lot of people wrote in and said that you could add, and I'll put this in the show notes, 
     
     
  
 
 
	 00:36:23
     ◼
      
     ► 
     block_icloud_pr=false in pihole-ftl.conf and supposedly that'll fix all your problems for 
     
     
  
 
 
	 00:36:32
     ◼
      
     ► 
     for all of your clients across your network. 
     
     
  
 
 
	 00:36:35
     ◼
      
     ► 
     I tried this and perhaps here again, 
     
     
  
 
 
	 00:36:37
     ◼
      
     ► 
     I'm falling back on user error, 
     
     
  
 
 
	 00:36:38
     ◼
      
     ► 
     but for what it's worth, it did not work for me. 
     
     
  
 
 
	 00:36:42
     ◼
      
     ► 
     So your mileage may vary, 
     
     
  
 
 
	 00:36:43
     ◼
      
     ► 
     but it is something you can check out 
     
     
  
 
 
	 00:36:45
     ◼
      
     ► 
     and I will put a link in, 
     
     
  
 
 
	 00:36:46
     ◼
      
     ► 
     or I'm not gonna put a link in the show notes, 
     
     
  
 
 
	 00:36:47
     ◼
      
     ► 
     but I will put the relevant stuff in the show notes. 
     
     
  
 
 
	 00:36:50
     ◼
      
     ► 
     So you might wanna give that a shot. 
     
     
  
 
 
	 00:36:53
     ◼
      
     ► 
     Hey Marco, you wanna talk about SwiftUI? 
     
     
  
 
 
 
	 00:36:56
     ◼
      
     ► 
     - That's a great way to speed through a show. 
     
     
  
 
 
 
	 00:36:59
     ◼
      
     ► 
     - It'll be really quick. 
     
     
  
 
 
	 00:37:00
     ◼
      
     ► 
     I just have a few minutes of content on SwiftUI. 
     
     
  
 
 
	 00:37:02
     ◼
      
     ► 
     - Yeah, well actually I didn't put this in here, 
     
     
  
 
 
	 00:37:04
     ◼
      
     ► 
     I think Jon did. 
     
     
  
 
 
	 00:37:04
     ◼
      
     ► 
     So Jon, tell us about switching between SwiftUI's 
     
     
  
 
 
	 00:37:06
     ◼
      
     ► 
     HStack and VStack. 
     
     
  
 
 
	 00:37:07
     ◼
      
     ► 
     - Yeah, we should talk about SwiftUI's topic, 
     
     
  
 
 
	 00:37:09
     ◼
      
     ► 
     we don't cover enough on the show. 
     
     
  
 
 
 
	 00:37:13
     ◼
      
     ► 
     This is, last week I was complaining about SwiftUI, 
     
     
  
 
 
	 00:37:16
     ◼
      
     ► 
     and mentioned one of the problems I was having 
     
     
  
 
 
	 00:37:19
     ◼
      
     ► 
     and the various hacks I was using to work around it, 
     
     
  
 
 
	 00:37:21
     ◼
      
     ► 
     and like clockwork, Swift by Sundell, 
     
     
  
 
 
	 00:37:24
     ◼
      
     ► 
     the great website that has lots of good tips on Swift 
     
     
  
 
 
	 00:37:26
     ◼
      
     ► 
     and SwiftUI, posted an article that has a solution 
     
     
  
 
 
	 00:37:30
     ◼
      
     ► 
     to my problem, which was I wanted to, you know, 
     
     
  
 
 
	 00:37:33
     ◼
      
     ► 
     sometimes I want to use a VStack, 
     
     
  
 
 
	 00:37:34
     ◼
      
     ► 
     sometimes I want to use an HStack, 
     
     
  
 
 
	 00:37:37
     ◼
      
     ► 
     and this was all before a view that fits or whatever. 
     
     
  
 
 
	 00:37:40
     ◼
      
     ► 
     And I tried writing something myself 
     
     
  
 
 
	 00:37:42
     ◼
      
     ► 
     that would switch between them, it was a pain, 
     
     
  
 
 
	 00:37:44
     ◼
      
     ► 
     so I ended up just doing a conditional, which is not ideal, 
     
     
  
 
 
	 00:37:46
     ◼
      
     ► 
     'cause then I have to, you know, copy the code into a sub, 
     
     
  
 
 
	 00:37:49
     ◼
      
     ► 
     and then, anyway. 
     
     
  
 
 
	 00:37:49
     ◼
      
     ► 
     But he's got an article on how to do just that, 
     
     
  
 
 
	 00:37:54
     ◼
      
     ► 
     and I ended up writing something a little bit different 
     
     
  
 
 
	 00:37:56
     ◼
      
     ► 
     than what he made, because my needs 
     
     
  
 
 
	 00:37:57
     ◼
      
     ► 
     are a little bit different. 
     
     
  
 
 
	 00:37:58
     ◼
      
     ► 
     So now in my app I have a thing called HStack or VStack that I call instead of calling VStack 
     
     
  
 
 
	 00:38:05
     ◼
      
     ► 
     and HStack in conditionals. 
     
     
  
 
 
	 00:38:07
     ◼
      
     ► 
     So I was happy about that and if you were wondering how to do it, check out the article. 
     
     
  
 
 
	 00:38:11
     ◼
      
     ► 
     All right, so you said that you have some improvements about conditionals in your if 
     
     
  
 
 
	 00:38:17
     ◼
      
     ► 
     modifier and I'd like to know about that, but before we do, I'd like everyone, if it's 
     
     
  
 
 
	 00:38:22
     ◼
      
     ► 
     safe and if you can, and maybe Marco put a screenshot in the chapter art. 
     
     
  
 
 
	 00:38:27
     ◼
      
     ► 
     If you could please click the link to the gist 
     
     
  
 
 
	 00:38:30
     ◼
      
     ► 
     that John has provided. 
     
     
  
 
 
	 00:38:33
     ◼
      
     ► 
     What in the name of Zeus's butthole is going on? 
     
     
  
 
 
	 00:38:37
     ◼
      
     ► 
     - I don't use cuddled elses. 
     
     
  
 
 
	 00:38:38
     ◼
      
     ► 
     I think we've talked about it before. 
     
     
  
 
 
	 00:38:39
     ◼
      
     ► 
     Cuddled elses are bad. 
     
     
  
 
 
	 00:38:41
     ◼
      
     ► 
     - You are a monster. 
     
     
  
 
 
	 00:38:42
     ◼
      
     ► 
     Look at line six and seven. 
     
     
  
 
 
	 00:38:43
     ◼
      
     ► 
     - Cuddled elses are very, very bad. 
     
     
  
 
 
	 00:38:46
     ◼
      
     ► 
     - What is this insanity? 
     
     
  
 
 
	 00:38:47
     ◼
      
     ► 
     If you're gonna do it this way, 
     
     
  
 
 
	 00:38:49
     ◼
      
     ► 
     then you should put the open bracket from line four 
     
     
  
 
 
	 00:38:52
     ◼
      
     ► 
     on its own line and the open bracket from line seven 
     
     
  
 
 
	 00:38:54
     ◼
      
     ► 
     on its own line. - I used to do it that way, 
     
     
  
 
 
	 00:38:55
     ◼
      
     ► 
     but I slowly got converted over the years 
     
     
  
 
 
	 00:38:56
     ◼
      
     ► 
     to doing it this way. 
     
     
  
 
 
	 00:38:58
     ◼
      
     ► 
     - So you've chosen the worst of all worlds. 
     
     
  
 
 
	 00:39:00
     ◼
      
     ► 
     - No, this is just normal. 
     
     
  
 
 
	 00:39:01
     ◼
      
     ► 
     This is the bog standard fat part of the bell curve. 
     
     
  
 
 
	 00:39:06
     ◼
      
     ► 
     Everybody formats their code like this. 
     
     
  
 
 
 
	 00:39:08
     ◼
      
     ► 
     - Cuddled elses. 
     
     
  
 
 
	 00:39:09
     ◼
      
     ► 
     - No, you're a monster. 
     
     
  
 
 
	 00:39:10
     ◼
      
     ► 
     - Yes, cuddled elses are weird and nobody, 
     
     
  
 
 
	 00:39:12
     ◼
      
     ► 
     and I can tell you having a long career in development 
     
     
  
 
 
	 00:39:14
     ◼
      
     ► 
     in many different languages, 
     
     
  
 
 
	 00:39:15
     ◼
      
     ► 
     nobody wanted to do BSD braces like I did. 
     
     
  
 
 
	 00:39:17
     ◼
      
     ► 
     And I held onto them for a really long time 
     
     
  
 
 
	 00:39:19
     ◼
      
     ► 
     for about half my career, 
     
     
  
 
 
	 00:39:20
     ◼
      
     ► 
     but then eventually I was defeated by everybody else 
     
     
  
 
 
	 00:39:22
     ◼
      
     ► 
     who wanted to do Kano. 
     
     
  
 
 
	 00:39:23
     ◼
      
     ► 
     - Wait, which one is BSD braces? 
     
     
  
 
 
	 00:39:24
     ◼
      
     ► 
     - BSD braces is where the open and the close 
     
     
  
 
 
	 00:39:26
     ◼
      
     ► 
     on the same column. 
     
     
  
 
 
	 00:39:27
     ◼
      
     ► 
     - Oh yeah, okay, yeah, I used to be devouted that as well, 
     
     
  
 
 
	 00:39:29
     ◼
      
     ► 
     and I also lost that fight. 
     
     
  
 
 
	 00:39:31
     ◼
      
     ► 
     - I couldn't hold onto that, I was defeated by the masses. 
     
     
  
 
 
	 00:39:33
     ◼
      
     ► 
     - Yep, yep, yep. - It was just too much. 
     
     
  
 
 
	 00:39:35
     ◼
      
     ► 
     But then the K and R is what you see here, 
     
     
  
 
 
	 00:39:36
     ◼
      
     ► 
     where the open one comes after the if, 
     
     
  
 
 
	 00:39:38
     ◼
      
     ► 
     and the closed one is online by itself. 
     
     
  
 
 
	 00:39:40
     ◼
      
     ► 
     And no, no cuddled elses. 
     
     
  
 
 
	 00:39:41
     ◼
      
     ► 
     Cuddled elses are in the vast minority, 
     
     
  
 
 
	 00:39:43
     ◼
      
     ► 
     and they're bad, and you should not use them. 
     
     
  
 
 
	 00:39:45
     ◼
      
     ► 
     - Okay. - Disagree. 
     
     
  
 
 
	 00:39:46
     ◼
      
     ► 
     - Do me a favor, do me a favor, listeners. 
     
     
  
 
 
	 00:39:48
     ◼
      
     ► 
     If you think cuddled elses are okay, 
     
     
  
 
 
	 00:39:51
     ◼
      
     ► 
     @Syracuse on Twitter, you go ahead and tell him 
     
     
  
 
 
	 00:39:53
     ◼
      
     ► 
     how wrong he is, because he is very wrong. 
     
     
  
 
 
	 00:39:56
     ◼
      
     ► 
     - And to be clear, this is when the closed brace 
     
     
  
 
 
	 00:39:59
     ◼
      
     ► 
     of the previous, of the if clause is on the same line 
     
     
  
 
 
	 00:40:01
     ◼
      
     ► 
     as the else and the open brace. 
     
     
  
 
 
	 00:40:02
     ◼
      
     ► 
     So it goes closed brace, else, open brace, 
     
     
  
 
 
	 00:40:04
     ◼
      
     ► 
     all in one line, right? 
     
     
  
 
 
	 00:40:06
     ◼
      
     ► 
     - Correct. - I know people like it, 
     
     
  
 
 
	 00:40:07
     ◼
      
     ► 
     but they're in the minority and they're wrong, so oh well. 
     
     
  
 
 
	 00:40:10
     ◼
      
     ► 
     - No, Jon, no, this is insanity. 
     
     
  
 
 
	 00:40:13
     ◼
      
     ► 
     Either go with BSD or cuddle the elses, 
     
     
  
 
 
	 00:40:16
     ◼
      
     ► 
     don't do this halfway nonsense, this is bananas. 
     
     
  
 
 
	 00:40:19
     ◼
      
     ► 
     - They need to feel loved, Jon. 
     
     
  
 
 
 
	 00:40:21
     ◼
      
     ► 
     - It's not halfway, it's just the normal way. 
     
     
  
 
 
	 00:40:23
     ◼
      
     ► 
     I'm telling you, having read so many other people's code 
     
     
  
 
 
	 00:40:27
     ◼
      
     ► 
     and worked with so many different programmers, 
     
     
  
 
 
	 00:40:29
     ◼
      
     ► 
     literally thousands of other programmers I have worked with 
     
     
  
 
 
	 00:40:32
     ◼
      
     ► 
     and looked at their code over the course of my career, 
     
     
  
 
 
	 00:40:34
     ◼
      
     ► 
     and I can tell you that the style you see here 
     
     
  
 
 
	 00:40:36
     ◼
      
     ► 
     is the most common across all languages, 
     
     
  
 
 
	 00:40:38
     ◼
      
     ► 
     all time, all decades, ever, ever. 
     
     
  
 
 
	 00:40:40
     ◼
      
     ► 
     Everything else that deviates from that 
     
     
  
 
 
	 00:40:43
     ◼
      
     ► 
     is an idiosyncrasy that is in the minority. 
     
     
  
 
 
	 00:40:45
     ◼
      
     ► 
     - Well, of the tens of programmers I've ever worked with 
     
     
  
 
 
	 00:40:48
     ◼
      
     ► 
     or seen their code, they disagree. 
     
     
  
 
 
	 00:40:51
     ◼
      
     ► 
     - Yeah, I have been a professional developer 
     
     
  
 
 
	 00:40:53
     ◼
      
     ► 
     for almost 20 years, I have never in my life 
     
     
  
 
 
	 00:40:56
     ◼
      
     ► 
     seen this monstrosity that I'm looking at right now. 
     
     
  
 
 
	 00:40:59
     ◼
      
     ► 
     Not once. - It's all over 
     
     
  
 
 
	 00:41:00
     ◼
      
     ► 
     Apple's codes, not everyone calls it Cuddled Elses. 
     
     
  
 
 
	 00:41:01
     ◼
      
     ► 
     - No it is not, no it is not. 
     
     
  
 
 
	 00:41:03
     ◼
      
     ► 
     It's either, what did you call it? 
     
     
  
 
 
	 00:41:04
     ◼
      
     ► 
     BSD or it's Cuddled Elses. 
     
     
  
 
 
	 00:41:06
     ◼
      
     ► 
     It's this in between. - You saw BSD and Apple code, 
     
     
  
 
 
	 00:41:07
     ◼
      
     ► 
     I don't see that anywhere. 
     
     
  
 
 
	 00:41:08
     ◼
      
     ► 
     - No, what did you call it? 
     
     
  
 
 
	 00:41:09
     ◼
      
     ► 
     What's the, yeah, oh, the, yeah, BSD. 
     
     
  
 
 
	 00:41:11
     ◼
      
     ► 
     - Yeah, BSD braces, where they open and close 
     
     
  
 
 
	 00:41:12
     ◼
      
     ► 
     are on some common refill, I and F. 
     
     
  
 
 
	 00:41:15
     ◼
      
     ► 
     - Yeah, I don't think I see that in Apple's code necessarily 
     
     
  
 
 
	 00:41:17
     ◼
      
     ► 
     but the only things I've seen reliably, professionally 
     
     
  
 
 
	 00:41:21
     ◼
      
     ► 
     is either BSD or Cuddled Elses. 
     
     
  
 
 
	 00:41:22
     ◼
      
     ► 
     This nonsense, I cannot stand it. 
     
     
  
 
 
	 00:41:25
     ◼
      
     ► 
     I cannot abide. 
     
     
  
 
 
	 00:41:26
     ◼
      
     ► 
     Anyway, moving on. 
     
     
  
 
 
	 00:41:27
     ◼
      
     ► 
     Tell me about your awful looking 
     
     
  
 
 
	 00:41:29
     ◼
      
     ► 
     but otherwise functional if modifier. 
     
     
  
 
 
	 00:41:31
     ◼
      
     ► 
     - Yeah, so last week I had a little if modifier. 
     
     
  
 
 
	 00:41:33
     ◼
      
     ► 
     It's like in the desperation of Swift UI. 
     
     
  
 
 
	 00:41:35
     ◼
      
     ► 
     You can't get it to do what you want. 
     
     
  
 
 
	 00:41:36
     ◼
      
     ► 
     You just need some way to do one thing 
     
     
  
 
 
	 00:41:39
     ◼
      
     ► 
     and then something else 
     
     
  
 
 
	 00:41:39
     ◼
      
     ► 
     and you can't just write straight up code 
     
     
  
 
 
	 00:41:40
     ◼
      
     ► 
     because that big chain of modifiers 
     
     
  
 
 
	 00:41:42
     ◼
      
     ► 
     is not regular Swift code. 
     
     
  
 
 
	 00:41:45
     ◼
      
     ► 
     It is in fact a chain of calls. 
     
     
  
 
 
	 00:41:47
     ◼
      
     ► 
     What can you do there? 
     
     
  
 
 
	 00:41:49
     ◼
      
     ► 
     Well, you can make an if modifier and say, 
     
     
  
 
 
	 00:41:50
     ◼
      
     ► 
     I'm tired of dealing with this. 
     
     
  
 
 
	 00:41:51
     ◼
      
     ► 
     I can't figure out how to make this work. 
     
     
  
 
 
	 00:41:52
     ◼
      
     ► 
     I'm just going to make a .if modifier, 
     
     
  
 
 
	 00:41:54
     ◼
      
     ► 
     and it's really easy to do that. 
     
     
  
 
 
	 00:41:55
     ◼
      
     ► 
     And I posted a code for that last week. 
     
     
  
 
 
	 00:41:57
     ◼
      
     ► 
     So a couple of people said you can 
     
     
  
 
 
	 00:41:59
     ◼
      
     ► 
     make that code more efficient so you 
     
     
  
 
 
	 00:42:01
     ◼
      
     ► 
     don't have to wrap everything in any view 
     
     
  
 
 
	 00:42:04
     ◼
      
     ► 
     if you just use the view builder directive. 
     
     
  
 
 
	 00:42:06
     ◼
      
     ► 
     So that's the new version that we're talking about here. 
     
     
  
 
 
	 00:42:08
     ◼
      
     ► 
     You can take a look at it. 
     
     
  
 
 
	 00:42:09
     ◼
      
     ► 
     We'll put a link in the show notes. 
     
     
  
 
 
	 00:42:10
     ◼
      
     ► 
     It's basically the same as the code 
     
     
  
 
 
	 00:42:11
     ◼
      
     ► 
     of last week with just a couple of extra view builder 
     
     
  
 
 
	 00:42:13
     ◼
      
     ► 
     annotations and no more any view wrapping for stuff. 
     
     
  
 
 
	 00:42:16
     ◼
      
     ► 
     But the real problem is that any time you 
     
     
  
 
 
	 00:42:19
     ◼
      
     ► 
     do this type of conditional, Swift UI 
     
     
  
 
 
	 00:42:21
     ◼
      
     ► 
     has a more difficult time figuring out 
     
     
  
 
 
	 00:42:24
     ◼
      
     ► 
     how to animate between states because it can't sort of see 
     
     
  
 
 
	 00:42:28
     ◼
      
     ► 
     into the if, right? 
     
     
  
 
 
	 00:42:30
     ◼
      
     ► 
     And the return value from the if is different, 
     
     
  
 
 
	 00:42:32
     ◼
      
     ► 
     depending on which branch takes or whatever. 
     
     
  
 
 
	 00:42:34
     ◼
      
     ► 
     And so the suggestion for many people 
     
     
  
 
 
	 00:42:35
     ◼
      
     ► 
     was don't do that instead. 
     
     
  
 
 
	 00:42:38
     ◼
      
     ► 
     Lots of SwiftUI directives, if you pass them nil or something, 
     
     
  
 
 
	 00:42:42
     ◼
      
     ► 
     they basically become no ops. 
     
     
  
 
 
	 00:42:44
     ◼
      
     ► 
     And so then you just do like a ternary operator 
     
     
  
 
 
	 00:42:46
     ◼
      
     ► 
     or something within the argument list 
     
     
  
 
 
	 00:42:48
     ◼
      
     ► 
     and say if some condition is set, nil. 
     
     
  
 
 
	 00:42:50
     ◼
      
     ► 
     otherwise do the thing. 
     
     
  
 
 
	 00:42:51
     ◼
      
     ► 
     And then you just have a regular chain with no conditionals 
     
     
  
 
 
	 00:42:54
     ◼
      
     ► 
     and each one of those, each thing in the chain, 
     
     
  
 
 
	 00:42:56
     ◼
      
     ► 
     you just have like, you know, some argument or something 
     
     
  
 
 
	 00:42:58
     ◼
      
     ► 
     that says should this be a no op 
     
     
  
 
 
	 00:43:00
     ◼
      
     ► 
     or should it actually do something? 
     
     
  
 
 
	 00:43:01
     ◼
      
     ► 
     And Swift finds it easier to transition between states 
     
     
  
 
 
	 00:43:04
     ◼
      
     ► 
     if you do that. 
     
     
  
 
 
	 00:43:05
     ◼
      
     ► 
     So I played with this. 
     
     
  
 
 
	 00:43:07
     ◼
      
     ► 
     I did actually end up expunging all of the .ifs 
     
     
  
 
 
	 00:43:09
     ◼
      
     ► 
     from my entire code base. 
     
     
  
 
 
	 00:43:11
     ◼
      
     ► 
     And I have to say, after I finished that, 
     
     
  
 
 
	 00:43:13
     ◼
      
     ► 
     the code is less clear. 
     
     
  
 
 
	 00:43:15
     ◼
      
     ► 
     Like I can squint at it and say, yeah, 
     
     
  
 
 
	 00:43:17
     ◼
      
     ► 
     this used to be a thing where I did if this 
     
     
  
 
 
	 00:43:20
     ◼
      
     ► 
     this big long of modifiers, right? 
     
     
  
 
 
	 00:43:22
     ◼
      
     ► 
     And now it is just this big long thing of modifiers. 
     
     
  
 
 
	 00:43:24
     ◼
      
     ► 
     But every modifier is a different way 
     
     
  
 
 
	 00:43:27
     ◼
      
     ► 
     to tell it to be a no op. 
     
     
  
 
 
	 00:43:30
     ◼
      
     ► 
     Some of them don't have any good way 
     
     
  
 
 
	 00:43:31
     ◼
      
     ► 
     to tell them to be a no op, 
     
     
  
 
 
	 00:43:32
     ◼
      
     ► 
     so you have to do these weird hacks, right? 
     
     
  
 
 
	 00:43:34
     ◼
      
     ► 
     If you looked at my code now, 
     
     
  
 
 
	 00:43:36
     ◼
      
     ► 
     it would be hard for you to tell, 
     
     
  
 
 
	 00:43:37
     ◼
      
     ► 
     especially if I spread the lines out a little bit, 
     
     
  
 
 
	 00:43:39
     ◼
      
     ► 
     it would be hard for you to tell 
     
     
  
 
 
	 00:43:41
     ◼
      
     ► 
     what used to be in an if. 
     
     
  
 
 
	 00:43:42
     ◼
      
     ► 
     It is, it makes less sense, it reads less clearly 
     
     
  
 
 
	 00:43:45
     ◼
      
     ► 
     than before when it was .if 
     
     
  
 
 
	 00:43:47
     ◼
      
     ► 
     and then a whole bunch of stuff indented or whatever. 
     
     
  
 
 
	 00:43:49
     ◼
      
     ► 
     So that's a little disappointing, but all that said, 
     
     
  
 
 
	 00:43:52
     ◼
      
     ► 
     and I don't know the details of why the .if 
     
     
  
 
 
	 00:43:54
     ◼
      
     ► 
     confuses SwiftUI, but I do know more than I ever wanted 
     
     
  
 
 
	 00:43:57
     ◼
      
     ► 
     to know about how SwiftUI behaves when transitioning 
     
     
  
 
 
	 00:44:02
     ◼
      
     ► 
     between states where it can't figure out 
     
     
  
 
 
	 00:44:05
     ◼
      
     ► 
     what the relationship between the states is. 
     
     
  
 
 
	 00:44:07
     ◼
      
     ► 
     I don't wanna talk more about dev stuff 
     
     
  
 
 
	 00:44:10
     ◼
      
     ► 
     'cause we already had a big dev conversation, 
     
     
  
 
 
	 00:44:11
     ◼
      
     ► 
     but briefly, I basically got a list 
     
     
  
 
 
	 00:44:14
     ◼
      
     ► 
     and then I've got, it changes state to a list 
     
     
  
 
 
	 00:44:16
     ◼
      
     ► 
     with either one more item or one fewer item. 
     
     
  
 
 
	 00:44:18
     ◼
      
     ► 
     And to a human, it's really easy to see what changed. 
     
     
  
 
 
	 00:44:20
     ◼
      
     ► 
     Oh, what changed? 
     
     
  
 
 
	 00:44:21
     ◼
      
     ► 
     This item was added. 
     
     
  
 
 
	 00:44:21
     ◼
      
     ► 
     Oh, what changed? 
     
     
  
 
 
	 00:44:22
     ◼
      
     ► 
     This item was removed, right? 
     
     
  
 
 
	 00:44:23
     ◼
      
     ► 
     So you would think that any kind of animation 
     
     
  
 
 
	 00:44:26
     ◼
      
     ► 
     between those states, it'd be really simple 
     
     
  
 
 
	 00:44:28
     ◼
      
     ► 
     to say something about, oh, the thing that was added, 
     
     
  
 
 
	 00:44:30
     ◼
      
     ► 
     I want it to slowly fade in, 
     
     
  
 
 
	 00:44:32
     ◼
      
     ► 
     or I want it to grow from being small to big, right? 
     
     
  
 
 
	 00:44:35
     ◼
      
     ► 
     But SwiftUI, especially given the mess 
     
     
  
 
 
	 00:44:37
     ◼
      
     ► 
     I've already had to make with it, 
     
     
  
 
 
	 00:44:38
     ◼
      
     ► 
     has no idea how those states relate to each other. 
     
     
  
 
 
	 00:44:40
     ◼
      
     ► 
     So it does some random animation. 
     
     
  
 
 
	 00:44:42
     ◼
      
     ► 
     It's like, what are you even doing, right? 
     
     
  
 
 
	 00:44:44
     ◼
      
     ► 
     Because in reality, what I'm giving it to, 
     
     
  
 
 
	 00:44:47
     ◼
      
     ► 
     especially with things passed by value, 
     
     
  
 
 
	 00:44:48
     ◼
      
     ► 
     it's getting an entirely new list. 
     
     
  
 
 
	 00:44:50
     ◼
      
     ► 
     It just so happens that the new list is exactly the same 
     
     
  
 
 
	 00:44:52
     ◼
      
     ► 
     as the old list with the exception of one item, 
     
     
  
 
 
	 00:44:54
     ◼
      
     ► 
     but SwiftUI can't figure that out. 
     
     
  
 
 
	 00:44:56
     ◼
      
     ► 
     So what I ended up doing, 
     
     
  
 
 
	 00:44:57
     ◼
      
     ► 
     speaking of things that are less clear than they were, 
     
     
  
 
 
	 00:44:59
     ◼
      
     ► 
     is the diffing that the SwiftUI does is a diffing for you. 
     
     
  
 
 
	 00:45:02
     ◼
      
     ► 
     You just give it the list and it will be able to diff them 
     
     
  
 
 
	 00:45:05
     ◼
      
     ► 
     and know what's changed or whatever. 
     
     
  
 
 
	 00:45:07
     ◼
      
     ► 
     That works great until you wanna animate it 
     
     
  
 
 
	 00:45:09
     ◼
      
     ► 
     and then you realize it has no idea about this. 
     
     
  
 
 
	 00:45:11
     ◼
      
     ► 
     So now I have to do the diffing outside of the SwiftUI. 
     
     
  
 
 
	 00:45:15
     ◼
      
     ► 
     I have my model, and instead of my model being real simple, 
     
     
  
 
 
	 00:45:18
     ◼
      
     ► 
     like, oh, here's SwiftUI, here's the list of things. 
     
     
  
 
 
	 00:45:20
     ◼
      
     ► 
     Oh, here's a new list of things. 
     
     
  
 
 
	 00:45:22
     ◼
      
     ► 
     And it's the same as the old list, my plus or minus one. 
     
     
  
 
 
	 00:45:24
     ◼
      
     ► 
     Works great until you animate it. 
     
     
  
 
 
	 00:45:25
     ◼
      
     ► 
     Now what I have to do is on the outside, 
     
     
  
 
 
	 00:45:28
     ◼
      
     ► 
     take the old list and the new list, 
     
     
  
 
 
	 00:45:29
     ◼
      
     ► 
     and figure out how to mutate the old list 
     
     
  
 
 
	 00:45:31
     ◼
      
     ► 
     so that it looks like the new list 
     
     
  
 
 
	 00:45:33
     ◼
      
     ► 
     so that SwiftUI isn't confused about how it changed 
     
     
  
 
 
	 00:45:35
     ◼
      
     ► 
     because it is literally the same objects 
     
     
  
 
 
	 00:45:37
     ◼
      
     ► 
     except for the one I added or the one I removed. 
     
     
  
 
 
	 00:45:39
     ◼
      
     ► 
     And that was extremely frustrating. 
     
     
  
 
 
	 00:45:41
     ◼
      
     ► 
     It made my code much uglier, 
     
     
  
 
 
	 00:45:43
     ◼
      
     ► 
     And the whole idea of, like, you know, 
     
     
  
 
 
	 00:45:45
     ◼
      
     ► 
     SwiftUI's internals diffing the data structures 
     
     
  
 
 
	 00:45:46
     ◼
      
     ► 
     and animating them, 
     
     
  
 
 
	 00:45:48
     ◼
      
     ► 
     apparently if you do enough fancy stuff, 
     
     
  
 
 
	 00:45:50
     ◼
      
     ► 
     SwiftUI gets confused about what's what 
     
     
  
 
 
	 00:45:51
     ◼
      
     ► 
     and can't animate between the states. 
     
     
  
 
 
	 00:45:53
     ◼
      
     ► 
     So that was part of why I totally removed this .if thing 
     
     
  
 
 
	 00:45:56
     ◼
      
     ► 
     from my code to see if that was the problem. 
     
     
  
 
 
	 00:45:58
     ◼
      
     ► 
     Nope, that wasn't the problem. 
     
     
  
 
 
	 00:45:59
     ◼
      
     ► 
     But anyway, I left it removed. 
     
     
  
 
 
	 00:46:01
     ◼
      
     ► 
     But if you're interested, 
     
     
  
 
 
	 00:46:02
     ◼
      
     ► 
     there's a bunch of other links we'll put in the show. 
     
     
  
 
 
	 00:46:05
     ◼
      
     ► 
     It's about why that .if conditional is not a great idea. 
     
     
  
 
 
	 00:46:09
     ◼
      
     ► 
     And then there's also a link to a WWDC 2021 session 
     
     
  
 
 
	 00:46:13
     ◼
      
     ► 
     that talks about the internals 
     
     
  
 
 
	 00:46:14
     ◼
      
     ► 
     that explains this a little bit. 
     
     
  
 
 
	 00:46:16
     ◼
      
     ► 
     - Yeah, and I think the short-shore version is 
     
     
  
 
 
	 00:46:18
     ◼
      
     ► 
     because these are all not pass by reference, 
     
     
  
 
 
	 00:46:21
     ◼
      
     ► 
     but pass by value, 
     
     
  
 
 
	 00:46:22
     ◼
      
     ► 
     it just has to like look at the structure of everything 
     
     
  
 
 
	 00:46:25
     ◼
      
     ► 
     in order to figure out, okay, what's the same, 
     
     
  
 
 
	 00:46:27
     ◼
      
     ► 
     what's different? 
     
     
  
 
 
	 00:46:28
     ◼
      
     ► 
     And with this if modifier, you're changing the structure. 
     
     
  
 
 
	 00:46:31
     ◼
      
     ► 
     You know, what's being returned is a different type 
     
     
  
 
 
	 00:46:33
     ◼
      
     ► 
     than what it would have been otherwise. 
     
     
  
 
 
	 00:46:35
     ◼
      
     ► 
     And that's what screws everything up. 
     
     
  
 
 
	 00:46:36
     ◼
      
     ► 
     So yeah, that objective-c.io post is really good 
     
     
  
 
 
	 00:46:39
     ◼
      
     ► 
     John, tell me about macOS support lifetime. 
     
     
  
 
 
	 00:46:41
     ◼
      
     ► 
     Should I get my tinfoil hat out? 
     
     
  
 
 
	 00:46:43
     ◼
      
     ► 
     -We talked about this, I think, last week, 
     
     
  
 
 
	 00:46:45
     ◼
      
     ► 
     about macOS Ventura dropping support for older Macs, 
     
     
  
 
 
	 00:46:49
     ◼
      
     ► 
     and, you know, how -- what's the worst-case scenario? 
     
     
  
 
 
	 00:46:52
     ◼
      
     ► 
     Like, you could have bought a Mac recently, 
     
     
  
 
 
	 00:46:54
     ◼
      
     ► 
     and now you can't even upgrade to the latest OS. 
     
     
  
 
 
	 00:46:57
     ◼
      
     ► 
     So, Ars Technica did a good article 
     
     
  
 
 
	 00:46:59
     ◼
      
     ► 
     about what has it been like over the past few decades 
     
     
  
 
 
	 00:47:03
     ◼
      
     ► 
     in terms of support for OS updates. 
     
     
  
 
 
	 00:47:05
     ◼
      
     ► 
     If you buy a Mac, how long after you buy a Mac 
     
     
  
 
 
	 00:47:08
     ◼
      
     ► 
     How long after you buy that Mac can you continue to install the latest version of Mac OS? 
     
     
  
 
 
	 00:47:12
     ◼
      
     ► 
     And they did some graphs here and the graphs are pretty unsurprising if you take a look 
     
     
  
 
 
 
	 00:47:19
     ◼
      
     ► 
     If you know any Apple history you'll see it's basically two humps like a camel. 
     
     
  
 
 
	 00:47:21
     ◼
      
     ► 
     There's a big hump and then a dip and then another hump, right? 
     
     
  
 
 
	 00:47:24
     ◼
      
     ► 
     What's going on with that dip around 2005-ish? 
     
     
  
 
 
	 00:47:27
     ◼
      
     ► 
     That was the Intel transition. 
     
     
  
 
 
	 00:47:29
     ◼
      
     ► 
     And so now fast forwarding to modern day, we're going through the ARM transition now. 
     
     
  
 
 
	 00:47:34
     ◼
      
     ► 
     It doesn't surprise me that there's a dip. 
     
     
  
 
 
	 00:47:36
     ◼
      
     ► 
     The big dip in 2005 was not just Intel transition, 
     
     
  
 
 
	 00:47:39
     ◼
      
     ► 
     but also 32-bit to 64-bit. 
     
     
  
 
 
	 00:47:40
     ◼
      
     ► 
     So it's kind of a double whammy around that same 
     
     
  
 
 
	 00:47:43
     ◼
      
     ► 
     couple year span there. 
     
     
  
 
 
	 00:47:44
     ◼
      
     ► 
     So we're still dipping now. 
     
     
  
 
 
	 00:47:46
     ◼
      
     ► 
     And if you want to know what the values are, 
     
     
  
 
 
	 00:47:47
     ◼
      
     ► 
     like the low of from introduction for Mac's release 
     
     
  
 
 
	 00:47:51
     ◼
      
     ► 
     between 1998 and 2026, the low of 4.13 years 
     
     
  
 
 
	 00:47:56
     ◼
      
     ► 
     is how long you got Mac up, 
     
     
  
 
 
	 00:47:57
     ◼
      
     ► 
     how long you could install the latest version of macOS. 
     
     
  
 
 
	 00:48:00
     ◼
      
     ► 
     And the high is around like 8.13 years or whatever. 
     
     
  
 
 
	 00:48:04
     ◼
      
     ► 
     So I don't think it's surprising that the ARM transition 
     
     
  
 
 
	 00:48:07
     ◼
      
     ► 
     is cutting off some Macs. 
     
     
  
 
 
	 00:48:08
     ◼
      
     ► 
     I think it is, 
     
     
  
 
 
	 00:48:09
     ◼
      
     ► 
     I mean, you would say it was disappointing, 
     
     
  
 
 
	 00:48:12
     ◼
      
     ► 
     but honestly, as someone who, 
     
     
  
 
 
	 00:48:13
     ◼
      
     ► 
     I mean, I'm still using an Intel Mac now, 
     
     
  
 
 
	 00:48:15
     ◼
      
     ► 
     I would much prefer Apple to concentrate entirely 
     
     
  
 
 
	 00:48:18
     ◼
      
     ► 
     on ARM Macs and not worry about Intel Macs 
     
     
  
 
 
	 00:48:22
     ◼
      
     ► 
     after a reasonable point. 
     
     
  
 
 
	 00:48:23
     ◼
      
     ► 
     And if you look at the levels that we're approaching 
     
     
  
 
 
	 00:48:25
     ◼
      
     ► 
     these days, it's not even down to the levels 
     
     
  
 
 
	 00:48:28
     ◼
      
     ► 
     it was during the Intel transition. 
     
     
  
 
 
	 00:48:29
     ◼
      
     ► 
     It's just lower than it was. 
     
     
  
 
 
	 00:48:31
     ◼
      
     ► 
     We went a couple of years where there was no, 
     
     
  
 
 
	 00:48:34
     ◼
      
     ► 
     you know, where macOS didn't drop any supported Macs, 
     
     
  
 
 
	 00:48:37
     ◼
      
     ► 
     and now we're kind of catching up for lost time here. 
     
     
  
 
 
	 00:48:39
     ◼
      
     ► 
     So I don't think it's that bad, 
     
     
  
 
 
	 00:48:40
     ◼
      
     ► 
     but if you wanna look at the details in a bunch of graphs, 
     
     
  
 
 
	 00:48:42
     ◼
      
     ► 
     check out the article. 
     
     
  
 
 
	 00:48:43
     ◼
      
     ► 
     - Good talk. 
     
     
  
 
 
	 00:48:46
     ◼
      
     ► 
     All right, do you wanna tell me about the benefits 
     
     
  
 
 
	 00:48:47
     ◼
      
     ► 
     of IPv6, please, and thank you. 
     
     
  
 
 
	 00:48:48
     ◼
      
     ► 
     - It's a long time ago when we were, 
     
     
  
 
 
	 00:48:50
     ◼
      
     ► 
     I think Marco was asking, 
     
     
  
 
 
	 00:48:51
     ◼
      
     ► 
     do I have to understand IPv6? 
     
     
  
 
 
	 00:48:52
     ◼
      
     ► 
     Why would I wanna do that? 
     
     
  
 
 
	 00:48:54
     ◼
      
     ► 
     You know, maybe you're-- 
     
     
  
 
 
	 00:48:55
     ◼
      
     ► 
     - I'm too busy breaking my brain with Swift UI. 
     
     
  
 
 
	 00:48:57
     ◼
      
     ► 
     I need to like kick some stuff out. 
     
     
  
 
 
	 00:48:58
     ◼
      
     ► 
     I need to evict some things out of my cache. 
     
     
  
 
 
	 00:49:01
     ◼
      
     ► 
     Yeah, should I add this? 
     
     
  
 
 
	 00:49:05
     ◼
      
     ► 
     Is this something I need to add? 
     
     
  
 
 
	 00:49:07
     ◼
      
     ► 
     What benefits are there other than being able to talk 
     
     
  
 
 
	 00:49:09
     ◼
      
     ► 
     to other clients that use IPv6? 
     
     
  
 
 
	 00:49:11
     ◼
      
     ► 
     And Dan Chandler wrote in to say, 
     
     
  
 
 
	 00:49:12
     ◼
      
     ► 
     "IPv6 has a number of features that greatly enhance 
     
     
  
 
 
	 00:49:14
     ◼
      
     ► 
     the security of online communications. 
     
     
  
 
 
	 00:49:16
     ◼
      
     ► 
     When IPv4 was created, it was assumed 
     
     
  
 
 
	 00:49:18
     ◼
      
     ► 
     that only a small number of systems 
     
     
  
 
 
	 00:49:19
     ◼
      
     ► 
     would ever be connected and that at some level, 
     
     
  
 
 
	 00:49:21
     ◼
      
     ► 
     trust would be assumed. 
     
     
  
 
 
	 00:49:22
     ◼
      
     ► 
     IPv6 addresses the reality of today's internet 
     
     
  
 
 
	 00:49:24
     ◼
      
     ► 
     as a hostile environment. 
     
     
  
 
 
	 00:49:25
     ◼
      
     ► 
     IPv6 is much more secure than IPv4 for a lot of reasons." 
     
     
  
 
 
	 00:49:28
     ◼
      
     ► 
     And I'll put a link in the show notes 
     
     
  
 
 
	 00:49:29
     ◼
      
     ► 
     that lists some of those reasons. 
     
     
  
 
 
	 00:49:30
     ◼
      
     ► 
     Here's just a couple of them from that article. 
     
     
  
 
 
	 00:49:32
     ◼
      
     ► 
     Mandatory use of IPsec, authentication header, 
     
     
  
 
 
	 00:49:35
     ◼
      
     ► 
     which provides authentication for data integrity 
     
     
  
 
 
	 00:49:37
     ◼
      
     ► 
     for the entire IPv6 packet. 
     
     
  
 
 
	 00:49:39
     ◼
      
     ► 
     If an endpoint receives a packet with specific source address, 
     
     
  
 
 
	 00:49:41
     ◼
      
     ► 
     it can be assured that a packet did indeed 
     
     
  
 
 
	 00:49:43
     ◼
      
     ► 
     come from that IP address. 
     
     
  
 
 
	 00:49:44
     ◼
      
     ► 
     This may sound weird to you 
     
     
  
 
 
	 00:49:45
     ◼
      
     ► 
     if you don't know how IPv4 works, 
     
     
  
 
 
	 00:49:47
     ◼
      
     ► 
     but the idea that you can just lie 
     
     
  
 
 
	 00:49:49
     ◼
      
     ► 
     and say that the source of this packet is not what it was 
     
     
  
 
 
	 00:49:53
     ◼
      
     ► 
     is a thing you can do, 
     
     
  
 
 
	 00:49:54
     ◼
      
     ► 
     because if you don't have any kind of data integrity 
     
     
  
 
 
	 00:49:57
     ◼
      
     ► 
     where you can prove that you are, 
     
     
  
 
 
	 00:49:59
     ◼
      
     ► 
     that the source really is authentic. 
     
     
  
 
 
	 00:50:00
     ◼
      
     ► 
     It's really easy to change that stuff. 
     
     
  
 
 
	 00:50:02
     ◼
      
     ► 
     Well, not really easy, but it's possible, which is scary. 
     
     
  
 
 
	 00:50:05
     ◼
      
     ► 
     And then finally there's a ESP, 
     
     
  
 
 
	 00:50:07
     ◼
      
     ► 
     encapsulating security payload. 
     
     
  
 
 
	 00:50:08
     ◼
      
     ► 
     No one else, not even the intended receiver, 
     
     
  
 
 
	 00:50:10
     ◼
      
     ► 
     can read the content of the communication in transit. 
     
     
  
 
 
	 00:50:13
     ◼
      
     ► 
     So yeah, if you look at this, you see all these features 
     
     
  
 
 
	 00:50:16
     ◼
      
     ► 
     and you think, IPv4 doesn't have those? 
     
     
  
 
 
	 00:50:19
     ◼
      
     ► 
     You can change the source. 
     
     
  
 
 
	 00:50:20
     ◼
      
     ► 
     Anyone can read the content. 
     
     
  
 
 
	 00:50:22
     ◼
      
     ► 
     IPsec is not required. 
     
     
  
 
 
	 00:50:24
     ◼
      
     ► 
     It's kind of like if we were using the web 
     
     
  
 
 
	 00:50:26
     ◼
      
     ► 
     and you never saw HTTPS, not quite the same thing, 
     
     
  
 
 
	 00:50:29
     ◼
      
     ► 
     not quite that bad, but yeah, IPv6 was made late enough 
     
     
  
 
 
	 00:50:34
     ◼
      
     ► 
     that they understood that not having these features 
     
     
  
 
 
	 00:50:36
     ◼
      
     ► 
     is a really bad idea. 
     
     
  
 
 
	 00:50:37
     ◼
      
     ► 
     IPv4 was made more in the sort of academic days 
     
     
  
 
 
	 00:50:41
     ◼
      
     ► 
     where it was assumed that everyone would trust each other 
     
     
  
 
 
	 00:50:43
     ◼
      
     ► 
     and be nice and yeah, they didn't quite understand 
     
     
  
 
 
	 00:50:46
     ◼
      
     ► 
     what the internet would become back then. 
     
     
  
 
 
	 00:50:48
     ◼
      
     ► 
     - We are sponsored this week by Hover, 
     
     
  
 
 
	 00:50:51
     ◼
      
     ► 
     a great place to buy a domain name. 
     
     
  
 
 
	 00:50:54
     ◼
      
     ► 
     Hover is a jumping off point for tons of entrepreneurs. 
     
     
  
 
 
	 00:50:57
     ◼
      
     ► 
     And Hover wants you to start your next business, 
     
     
  
 
 
	 00:51:00
     ◼
      
     ► 
     the same way I do, with a great domain name. 
     
     
  
 
 
	 00:51:03
     ◼
      
     ► 
     They have over 300 domain name extensions 
     
     
  
 
 
	 00:51:05
     ◼
      
     ► 
     to choose from at Hover, so you can build your brand online 
     
     
  
 
 
	 00:51:09
     ◼
      
     ► 
     with exactly what you want to say. 
     
     
  
 
 
	 00:51:11
     ◼
      
     ► 
     No matter what you want to build, 
     
     
  
 
 
	 00:51:12
     ◼
      
     ► 
     there is a domain name waiting for it. 
     
     
  
 
 
	 00:51:14
     ◼
      
     ► 
     Hover has excellent technical support available 
     
     
  
 
 
	 00:51:16
     ◼
      
     ► 
     to help you get started, answer any questions you might have, 
     
     
  
 
 
	 00:51:19
     ◼
      
     ► 
     and this support team doesn't try to upsell you. 
     
     
  
 
 
	 00:51:21
     ◼
      
     ► 
     They just want to get you online and get you going. 
     
     
  
 
 
	 00:51:23
     ◼
      
     ► 
     and they give you all sorts of great stuff with Hover. 
     
     
  
 
 
	 00:51:25
     ◼
      
     ► 
     Free, Whois privacy protection, 
     
     
  
 
 
	 00:51:27
     ◼
      
     ► 
     a super clean and pleasant UI, 
     
     
  
 
 
	 00:51:30
     ◼
      
     ► 
     and they also have monthly sales on popular TLDs. 
     
     
  
 
 
	 00:51:33
     ◼
      
     ► 
     So no wonder Hover is such a popular choice 
     
     
  
 
 
	 00:51:36
     ◼
      
     ► 
     for people starting all kinds of businesses 
     
     
  
 
 
	 00:51:37
     ◼
      
     ► 
     and personal sites. 
     
     
  
 
 
	 00:51:38
     ◼
      
     ► 
     I personally have used Hover for many, many years now, 
     
     
  
 
 
	 00:51:42
     ◼
      
     ► 
     and it's just a pleasant experience 
     
     
  
 
 
	 00:51:44
     ◼
      
     ► 
     to buy management domains there. 
     
     
  
 
 
	 00:51:46
     ◼
      
     ► 
     At no point is it ever fighting you. 
     
     
  
 
 
	 00:51:48
     ◼
      
     ► 
     They have a great search, too. 
     
     
  
 
 
	 00:51:49
     ◼
      
     ► 
     They probably have the best search I've ever seen, 
     
     
  
 
 
	 00:51:51
     ◼
      
     ► 
     'cause sometimes exactly the name you want 
     
     
  
 
 
	 00:51:53
     ◼
      
     ► 
     might not be available, but the search can reveal 
     
     
  
 
 
	 00:51:56
     ◼
      
     ► 
     a lot of possibilities that are available to you. 
     
     
  
 
 
	 00:51:58
     ◼
      
     ► 
     And they just have great search there, 
     
     
  
 
 
	 00:52:00
     ◼
      
     ► 
     great management panel once you get there, 
     
     
  
 
 
	 00:52:02
     ◼
      
     ► 
     great pricing, very competitive. 
     
     
  
 
 
	 00:52:04
     ◼
      
     ► 
     So it's a great domain name registrar. 
     
     
  
 
 
	 00:52:07
     ◼
      
     ► 
     And if you need a domain name for anything, 
     
     
  
 
 
	 00:52:09
     ◼
      
     ► 
     I strongly recommend Hover. 
     
     
  
 
 
	 00:52:10
     ◼
      
     ► 
     They have email stuff as well, I've done that there as well. 
     
     
  
 
 
	 00:52:12
     ◼
      
     ► 
     Great experiences all around for the many years 
     
     
  
 
 
	 00:52:14
     ◼
      
     ► 
     that I've been with them. 
     
     
  
 
 
	 00:52:15
     ◼
      
     ► 
     So get your next domain name and many more 
     
     
  
 
 
	 00:52:18
     ◼
      
     ► 
     at hover.com/atp. 
     
     
  
 
 
	 00:52:20
     ◼
      
     ► 
     You can get a 10% discount with that referral link 
     
     
  
 
 
	 00:52:23
     ◼
      
     ► 
     on all new purchases. 
     
     
  
 
 
	 00:52:25
     ◼
      
     ► 
     Once again, hover.com/ATP for 10% off all new purchases. 
     
     
  
 
 
	 00:52:30
     ◼
      
     ► 
     Make a name for yourself with Hover. 
     
     
  
 
 
	 00:52:33
     ◼
      
     ► 
     - Let's talk about the belated birthday gift 
     
     
  
 
 
	 00:52:41
     ◼
      
     ► 
     that Apple has given Mr. Marco Arment. 
     
     
  
 
 
	 00:52:45
     ◼
      
     ► 
     Marco, how excited are you? 
     
     
  
 
 
	 00:52:47
     ◼
      
     ► 
     Because apparently, Johnny Ive is completely done with Apple 
     
     
  
 
 
	 00:52:50
     ◼
      
     ► 
     and Apple's completely done with Ive. 
     
     
  
 
 
	 00:52:52
     ◼
      
     ► 
     - I've known for a while, well, you know, quote, known. 
     
     
  
 
 
	 00:52:55
     ◼
      
     ► 
     We've heard for a while that Johnny's involvement 
     
     
  
 
 
	 00:52:59
     ◼
      
     ► 
     in actual product design was not even that significant, 
     
     
  
 
 
	 00:53:04
     ◼
      
     ► 
     even when he was still officially working there 
     
     
  
 
 
	 00:53:07
     ◼
      
     ► 
     for the last few years. 
     
     
  
 
 
	 00:53:08
     ◼
      
     ► 
     That basically, like, he, it seemed from most reports 
     
     
  
 
 
	 00:53:12
     ◼
      
     ► 
     that he was really getting burnt out, 
     
     
  
 
 
	 00:53:15
     ◼
      
     ► 
     and also, I think, bored with computers, 
     
     
  
 
 
	 00:53:17
     ◼
      
     ► 
     and as designy people tend to do, 
     
     
  
 
 
	 00:53:19
     ◼
      
     ► 
     you know, that you wanna move on, 
     
     
  
 
 
	 00:53:21
     ◼
      
     ► 
     design new kinds of things at some point. 
     
     
  
 
 
	 00:53:23
     ◼
      
     ► 
     And so apparently, the rumors seem to all be, 
     
     
  
 
 
	 00:53:26
     ◼
      
     ► 
     you know, coalescing on that he was 
     
     
  
 
 
	 00:53:29
     ◼
      
     ► 
     very involved in Apple Park, you know, the building, 
     
     
  
 
 
	 00:53:32
     ◼
      
     ► 
     and lots of little details about the building, 
     
     
  
 
 
	 00:53:34
     ◼
      
     ► 
     and like the furniture, and the door handles, 
     
     
  
 
 
	 00:53:36
     ◼
      
     ► 
     and all this stuff. 
     
     
  
 
 
	 00:53:37
     ◼
      
     ► 
     And that was, I mean, that was years of, you know, 
     
     
  
 
 
	 00:53:41
     ◼
      
     ► 
     involvement there, where he seemed to be stepping away 
     
     
  
 
 
	 00:53:45
     ◼
      
     ► 
     from the products, like, slowly. 
     
     
  
 
 
	 00:53:47
     ◼
      
     ► 
     he was apparently not super involved. 
     
     
  
 
 
	 00:53:51
     ◼
      
     ► 
     And so then by the time that his official announcement 
     
     
  
 
 
	 00:53:55
     ◼
      
     ► 
     that he was actually leaving to go form his own consultancy, 
     
     
  
 
 
	 00:53:58
     ◼
      
     ► 
     by the time that announcement came out, 
     
     
  
 
 
	 00:54:00
     ◼
      
     ► 
     people in the know or people who in the room 
     
     
  
 
 
	 00:54:03
     ◼
      
     ► 
     will seem to already be pretty sure 
     
     
  
 
 
	 00:54:05
     ◼
      
     ► 
     that he wasn't really there that much to begin with 
     
     
  
 
 
	 00:54:08
     ◼
      
     ► 
     by that point. 
     
     
  
 
 
	 00:54:09
     ◼
      
     ► 
     He had checked out, he was burnt out, 
     
     
  
 
 
	 00:54:11
     ◼
      
     ► 
     he wanted new challenges, he didn't seem to care 
     
     
  
 
 
	 00:54:13
     ◼
      
     ► 
     that much about computers anymore, 
     
     
  
 
 
	 00:54:14
     ◼
      
     ► 
     he'd been designing them forever. 
     
     
  
 
 
	 00:54:16
     ◼
      
     ► 
     And I can't blame him, he wants a new thing after all that. 
     
     
  
 
 
	 00:54:19
     ◼
      
     ► 
     Totally understandable. 
     
     
  
 
 
	 00:54:20
     ◼
      
     ► 
     At the time though, Johnny's involvement in the company 
     
     
  
 
 
	 00:54:23
     ◼
      
     ► 
     was fairly important to the company's image 
     
     
  
 
 
	 00:54:25
     ◼
      
     ► 
     and to Wall Street. 
     
     
  
 
 
	 00:54:26
     ◼
      
     ► 
     And in the same way, it was considered 
     
     
  
 
 
	 00:54:29
     ◼
      
     ► 
     a very delicate matter as Steve Jobs' health declined. 
     
     
  
 
 
	 00:54:34
     ◼
      
     ► 
     They were very careful with how they worded that 
     
     
  
 
 
	 00:54:37
     ◼
      
     ► 
     when they revealed certain things to Wall Street 
     
     
  
 
 
	 00:54:39
     ◼
      
     ► 
     and things like that because they knew that 
     
     
  
 
 
	 00:54:41
     ◼
      
     ► 
     a sudden shock about Steve Jobs when he was a CEO 
     
     
  
 
 
	 00:54:44
     ◼
      
     ► 
     would have been taken poorly by the stock market 
     
     
  
 
 
	 00:54:47
     ◼
      
     ► 
     and the press and reputation, maybe the employees even. 
     
     
  
 
 
	 00:54:51
     ◼
      
     ► 
     After Steve passed away and they managed that transition 
     
     
  
 
 
	 00:54:54
     ◼
      
     ► 
     as well as they could given the circumstances, 
     
     
  
 
 
	 00:54:57
     ◼
      
     ► 
     then Johnny was left and Johnny became 
     
     
  
 
 
	 00:55:00
     ◼
      
     ► 
     the celebrity person of Apple 
     
     
  
 
 
	 00:55:03
     ◼
      
     ► 
     to Wall Street and to the press for a while. 
     
     
  
 
 
	 00:55:06
     ◼
      
     ► 
     Never as much as Steve was, 
     
     
  
 
 
	 00:55:08
     ◼
      
     ► 
     but he was still very significant and important 
     
     
  
 
 
	 00:55:10
     ◼
      
     ► 
     in a publicity sense. 
     
     
  
 
 
	 00:55:12
     ◼
      
     ► 
     I think Johnny's exit was very, very padded and cushioned and couched and was very on 
     
     
  
 
 
	 00:55:21
     ◼
      
     ► 
     message to follow this certain planned trajectory that I think overstated his role towards the 
     
     
  
 
 
	 00:55:28
     ◼
      
     ► 
     end by quite a lot. 
     
     
  
 
 
	 00:55:30
     ◼
      
     ► 
     Because I think the reality seems to point to that he wasn't really that involved towards 
     
     
  
 
 
	 00:55:34
     ◼
      
     ► 
     the end of his time there. 
     
     
  
 
 
	 00:55:36
     ◼
      
     ► 
     And I think when he finally did officially leave and go form this company, they had this 
     
     
  
 
 
	 00:55:43
     ◼
      
     ► 
     party announcement like, "Oh, Johnny will continue consulting for Apple. 
     
     
  
 
 
	 00:55:47
     ◼
      
     ► 
     Apple will be the first client of this new company." 
     
     
  
 
 
	 00:55:49
     ◼
      
     ► 
     Or however they worded it. 
     
     
  
 
 
	 00:55:51
     ◼
      
     ► 
     That I don't think was really ever going to be a thing. 
     
     
  
 
 
	 00:55:54
     ◼
      
     ► 
     I think that was solely to continue the very soft exit of Johnny Ive so as not to upset 
     
     
  
 
 
	 00:56:01
     ◼
      
     ► 
     Wall Street and the press and the analysts and everything else. 
     
     
  
 
 
	 00:56:04
     ◼
      
     ► 
     And they did a masterful job of handling that in a way that nobody really freaked out, nobody 
     
     
  
 
 
	 00:56:09
     ◼
      
     ► 
     was ever that surprised by any part of it. 
     
     
  
 
 
	 00:56:12
     ◼
      
     ► 
     And I think this is just the final, like, "Alright, now we're really done." 
     
     
  
 
 
	 00:56:15
     ◼
      
     ► 
     Now he's really 100% gone and no longer involved. 
     
     
  
 
 
	 00:56:20
     ◼
      
     ► 
     Didn't they pay $100 million to his consulting company? 
     
     
  
 
 
 
	 00:56:25
     ◼
      
     ► 
     I mean, that was part of the story, is that it wasn't just like, "Oh, you know, he's leaving 
     
     
  
 
 
	 00:56:28
     ◼
      
     ► 
     to do his own thing and we'll still be working with them." 
     
     
  
 
 
	 00:56:31
     ◼
      
     ► 
     It was actually, we'll still be working with them and we will pay them $100 million to 
     
     
  
 
 
	 00:56:35
     ◼
      
     ► 
     continue to work with us, which, I mean, you could say, boy, that seems like a lot, but 
     
     
  
 
 
	 00:56:39
     ◼
      
     ► 
     then again, Johnny Ive has quite a reputation and a resume, so if you were paying for him 
     
     
  
 
 
	 00:56:42
     ◼
      
     ► 
     starting from nothing, you'd probably pay a similar amount, but to your point, if it 
     
     
  
 
 
	 00:56:46
     ◼
      
     ► 
     really was to just kind of make the exit smooth and he was already kind of checked out, what 
     
     
  
 
 
	 00:56:51
     ◼
      
     ► 
     did that $100 million buy you? 
     
     
  
 
 
	 00:56:53
     ◼
      
     ► 
     I mean, maybe it protected your stock price from going down by a much, much greater amount, 
     
     
  
 
 
	 00:56:58
     ◼
      
     ► 
     monetarily speaking, and absolute values, perhaps, 
     
     
  
 
 
	 00:57:00
     ◼
      
     ► 
     but it just, part of the article is that it seemed like 
     
     
  
 
 
	 00:57:03
     ◼
      
     ► 
     that the people who were still at Apple 
     
     
  
 
 
	 00:57:04
     ◼
      
     ► 
     felt kind of bitter that they're, 
     
     
  
 
 
	 00:57:06
     ◼
      
     ► 
     the outgoing person is getting $100 million 
     
     
  
 
 
	 00:57:08
     ◼
      
     ► 
     when they're not actually doing any of the work 
     
     
  
 
 
	 00:57:11
     ◼
      
     ► 
     and hadn't been for a while even when they were here. 
     
     
  
 
 
	 00:57:13
     ◼
      
     ► 
     - And there's lots of different ways 
     
     
  
 
 
	 00:57:14
     ◼
      
     ► 
     that $100 million thing could have come up. 
     
     
  
 
 
	 00:57:16
     ◼
      
     ► 
     I mean, it could have just been like, you know, 
     
     
  
 
 
	 00:57:18
     ◼
      
     ► 
     part of the transition that Johnny negotiated. 
     
     
  
 
 
	 00:57:21
     ◼
      
     ► 
     I mean, by all accounts, once Steve was gone, 
     
     
  
 
 
	 00:57:26
     ◼
      
     ► 
     Johnny became extremely politically powerful in the company. 
     
     
  
 
 
	 00:57:30
     ◼
      
     ► 
     He basically could do whatever he wanted. 
     
     
  
 
 
	 00:57:32
     ◼
      
     ► 
     And his say mattered a lot. 
     
     
  
 
 
	 00:57:34
     ◼
      
     ► 
     He had tons of clout, tons of weight to his decisions 
     
     
  
 
 
	 00:57:37
     ◼
      
     ► 
     and to his preferences and opinions and everything. 
     
     
  
 
 
	 00:57:39
     ◼
      
     ► 
     I mean, as we've talked about, to a fault. 
     
     
  
 
 
	 00:57:41
     ◼
      
     ► 
     Like that often resulted in bad decisions being made 
     
     
  
 
 
	 00:57:44
     ◼
      
     ► 
     for the products or for the customers. 
     
     
  
 
 
	 00:57:47
     ◼
      
     ► 
     Or maybe for the company in cases like this. 
     
     
  
 
 
	 00:57:49
     ◼
      
     ► 
     And so who knows how he negotiated that 
     
     
  
 
 
	 00:57:51
     ◼
      
     ► 
     or why they decided to do that. 
     
     
  
 
 
	 00:57:53
     ◼
      
     ► 
     I'm sure it was to some degree mutual 
     
     
  
 
 
	 00:57:55
     ◼
      
     ► 
     because of various transitional reasons, 
     
     
  
 
 
	 00:57:58
     ◼
      
     ► 
     but I have a feeling it was always intended 
     
     
  
 
 
	 00:58:01
     ◼
      
     ► 
     to be temporary and transitional, 
     
     
  
 
 
	 00:58:03
     ◼
      
     ► 
     and that the idea was probably never 
     
     
  
 
 
	 00:58:05
     ◼
      
     ► 
     to actually have this go indefinitely into the future. 
     
     
  
 
 
	 00:58:08
     ◼
      
     ► 
     I bet this was a contract for a certain number of years, 
     
     
  
 
 
	 00:58:11
     ◼
      
     ► 
     and I believe they reported it was 
     
     
  
 
 
	 00:58:13
     ◼
      
     ► 
     for a certain number of years, it was up for renewal, 
     
     
  
 
 
	 00:58:15
     ◼
      
     ► 
     and they decided not to renew it. 
     
     
  
 
 
	 00:58:16
     ◼
      
     ► 
     I bet that was always the plan, really. 
     
     
  
 
 
	 00:58:18
     ◼
      
     ► 
     And I don't think that would be a sudden surprise to Johnny. 
     
     
  
 
 
	 00:58:21
     ◼
      
     ► 
     And by the way, and I think you're right, John, 
     
     
  
 
 
	 00:58:23
     ◼
      
     ► 
     The design team now that's there now, 
     
     
  
 
 
	 00:58:27
     ◼
      
     ► 
     led by Evans Hanke, who was formerly, 
     
     
  
 
 
	 00:58:28
     ◼
      
     ► 
     I think she formerly basically ran the studio 
     
     
  
 
 
	 00:58:31
     ◼
      
     ► 
     when Johnny was there too, 
     
     
  
 
 
	 00:58:33
     ◼
      
     ► 
     but he was a level above her, managerially. 
     
     
  
 
 
	 00:58:36
     ◼
      
     ► 
     But I think she'd been doing the work 
     
     
  
 
 
	 00:58:37
     ◼
      
     ► 
     for a while before that. 
     
     
  
 
 
	 00:58:39
     ◼
      
     ► 
     But she and her team deserve full credit 
     
     
  
 
 
	 00:58:43
     ◼
      
     ► 
     for what they've done. 
     
     
  
 
 
	 00:58:44
     ◼
      
     ► 
     They don't need the ghost of Johnny Ive, 
     
     
  
 
 
	 00:58:47
     ◼
      
     ► 
     people thinking that Johnny had anything to do 
     
     
  
 
 
	 00:58:49
     ◼
      
     ► 
     with all these awesome new products that we got, 
     
     
  
 
 
	 00:58:50
     ◼
      
     ► 
     because he probably didn't. 
     
     
  
 
 
	 00:58:52
     ◼
      
     ► 
     Maybe he glanced at the plans at some point, 
     
     
  
 
 
	 00:58:55
     ◼
      
     ► 
     but chances are he didn't have much to do 
     
     
  
 
 
	 00:58:57
     ◼
      
     ► 
     with anything that we see today out of Apple. 
     
     
  
 
 
	 00:59:00
     ◼
      
     ► 
     - You keep saying this, but you're talking 
     
     
  
 
 
	 00:59:01
     ◼
      
     ► 
     about hardware, right? 
     
     
  
 
 
	 00:59:02
     ◼
      
     ► 
     But didn't they change Johnny to be the head 
     
     
  
 
 
	 00:59:05
     ◼
      
     ► 
     of design for hardware and software? 
     
     
  
 
 
	 00:59:08
     ◼
      
     ► 
     - They did, yes. 
     
     
  
 
 
	 00:59:09
     ◼
      
     ► 
     - So who took over the software side of that? 
     
     
  
 
 
	 00:59:11
     ◼
      
     ► 
     - Well, yeah, well that's Alan Dye, 
     
     
  
 
 
	 00:59:13
     ◼
      
     ► 
     and I don't have a lot of nice things to say about Alan Dye, 
     
     
  
 
 
	 00:59:15
     ◼
      
     ► 
     so I'm gonna leave that aside for now. 
     
     
  
 
 
	 00:59:18
     ◼
      
     ► 
     But on the hardware side, their hardware design 
     
     
  
 
 
	 00:59:21
     ◼
      
     ► 
     been excellent in the post-Johnny era, assuming that the Johnny era ended roughly when he 
     
     
  
 
 
	 00:59:25
     ◼
      
     ► 
     officially left the company. 
     
     
  
 
 
	 00:59:27
     ◼
      
     ► 
     Even though, again, it probably was a little bit before that, really. 
     
     
  
 
 
	 00:59:30
     ◼
      
     ► 
     But anyway, assuming that he hasn't had much, if anything, to do with the company since 
     
     
  
 
 
	 00:59:34
     ◼
      
     ► 
     then, the current design team deserves full credit. 
     
     
  
 
 
	 00:59:39
     ◼
      
     ► 
     They don't need to be in any way in people's minds sharing credit with Johnny Ive over 
     
     
  
 
 
	 00:59:44
     ◼
      
     ► 
     what they've done recently. 
     
     
  
 
 
	 00:59:45
     ◼
      
     ► 
     Because they've done amazing work and they deserve to have that be theirs and 100% theirs, 
     
     
  
 
 
	 00:59:50
     ◼
      
     ► 
     some guy who they probably never see anymore who gets a whole bunch of money from the company 
     
     
  
 
 
	 00:59:56
     ◼
      
     ► 
     for some reason up until now only because of his past and not because of anything he's 
     
     
  
 
 
	 01:00:01
     ◼
      
     ► 
     doing in the present. For the current design team, I see totally why they would probably 
     
     
  
 
 
	 01:00:06
     ◼
      
     ► 
     be very in favor of ending this involvement. And even for Johnny Ive, you know, there was 
     
     
  
 
 
	 01:00:11
     ◼
      
     ► 
     a thing in the article that said that Johnny, as part of the agreement, was precluded from 
     
     
  
 
 
	 01:00:15
     ◼
      
     ► 
     from working on competing products. 
     
     
  
 
 
	 01:00:17
     ◼
      
     ► 
     And Johnny loves cars. 
     
     
  
 
 
	 01:00:21
     ◼
      
     ► 
     And Johnny, he doesn't even have some deal 
     
     
  
 
 
	 01:00:23
     ◼
      
     ► 
     like where he's gonna work with Ferrari on something. 
     
     
  
 
 
	 01:00:24
     ◼
      
     ► 
     - I think he already is. 
     
     
  
 
 
	 01:00:25
     ◼
      
     ► 
     - Right, yeah, I think so too. 
     
     
  
 
 
	 01:00:27
     ◼
      
     ► 
     So if that, maybe that was a bit of a friction point there, 
     
     
  
 
 
	 01:00:31
     ◼
      
     ► 
     that if Apple is working on car stuff, 
     
     
  
 
 
	 01:00:33
     ◼
      
     ► 
     they don't want Johnny to be working on cars 
     
     
  
 
 
	 01:00:35
     ◼
      
     ► 
     if he's being contracted by Apple. 
     
     
  
 
 
	 01:00:37
     ◼
      
     ► 
     That makes sense, that's reasonable. 
     
     
  
 
 
	 01:00:40
     ◼
      
     ► 
     And I think Johnny should work with Ferrari, 
     
     
  
 
 
	 01:00:42
     ◼
      
     ► 
     because that is exactly the kind of thing 
     
     
  
 
 
	 01:00:44
     ◼
      
     ► 
     that esteemed high-end designers like him work on. 
     
     
  
 
 
	 01:00:49
     ◼
      
     ► 
     They work on cars that look really cool 
     
     
  
 
 
	 01:00:51
     ◼
      
     ► 
     that pretty much nobody buys, 
     
     
  
 
 
	 01:00:53
     ◼
      
     ► 
     'cause they're not gonna design like the next Toyota. 
     
     
  
 
 
	 01:00:56
     ◼
      
     ► 
     That's neither what they want, 
     
     
  
 
 
	 01:00:58
     ◼
      
     ► 
     nor does Toyota want them. 
     
     
  
 
 
	 01:00:59
     ◼
      
     ► 
     Johnny should design a Ferrari. 
     
     
  
 
 
	 01:01:01
     ◼
      
     ► 
     That is perfect, 'cause that lets him have 
     
     
  
 
 
	 01:01:03
     ◼
      
     ► 
     his creative outlet that he wants 
     
     
  
 
 
	 01:01:05
     ◼
      
     ► 
     and has earned in this new area. 
     
     
  
 
 
	 01:01:08
     ◼
      
     ► 
     It's not gonna be a mass market thing, 
     
     
  
 
 
	 01:01:09
     ◼
      
     ► 
     but it doesn't need to be, that's fine. 
     
     
  
 
 
	 01:01:11
     ◼
      
     ► 
     He and Mark Newsome can work on the next Christmas tree 
     
     
  
 
 
	 01:01:13
     ◼
      
     ► 
     you know, wherever, like, they can do stuff like that. 
     
     
  
 
 
	 01:01:16
     ◼
      
     ► 
     That's great. 
     
     
  
 
 
	 01:01:16
     ◼
      
     ► 
     That's the kind of stuff he probably wants to do now. 
     
     
  
 
 
	 01:01:19
     ◼
      
     ► 
     And so to still be bound by anything from Apple, 
     
     
  
 
 
	 01:01:23
     ◼
      
     ► 
     any restrictions or any, you know, tie to them, 
     
     
  
 
 
	 01:01:26
     ◼
      
     ► 
     is not that great for him either. 
     
     
  
 
 
	 01:01:28
     ◼
      
     ► 
     So I think this makes total sense. 
     
     
  
 
 
	 01:01:30
     ◼
      
     ► 
     Like, this was clearly meant to be a transitional thing 
     
     
  
 
 
	 01:01:34
     ◼
      
     ► 
     to ease anybody's possible fears about Johnny 
     
     
  
 
 
	 01:01:37
     ◼
      
     ► 
     no longer being at Apple. 
     
     
  
 
 
	 01:01:38
     ◼
      
     ► 
     That transition is over and it went great 
     
     
  
 
 
	 01:01:41
     ◼
      
     ► 
     because the stock market didn't seem to care, 
     
     
  
 
 
	 01:01:43
     ◼
      
     ► 
     analysts didn't seem to care, 
     
     
  
 
 
	 01:01:45
     ◼
      
     ► 
     and the new people, well, the people at Apple 
     
     
  
 
 
	 01:01:47
     ◼
      
     ► 
     who took over are doing a fantastic job 
     
     
  
 
 
	 01:01:50
     ◼
      
     ► 
     in the hardware department. 
     
     
  
 
 
	 01:01:51
     ◼
      
     ► 
     So this is all good news as far as I'm concerned. 
     
     
  
 
 
	 01:01:55
     ◼
      
     ► 
     - I think it kind of helped that they had a bunch 
     
     
  
 
 
	 01:01:56
     ◼
      
     ► 
     of really crappy computers during this transition 
     
     
  
 
 
	 01:01:59
     ◼
      
     ► 
     so that now that those are gone, 
     
     
  
 
 
	 01:02:00
     ◼
      
     ► 
     like, you can, you know, things are on an upswing, right? 
     
     
  
 
 
	 01:02:04
     ◼
      
     ► 
     If everything had been fantastic, 
     
     
  
 
 
	 01:02:06
     ◼
      
     ► 
     but then Johnny leaves and then things start going downhill, 
     
     
  
 
 
	 01:02:10
     ◼
      
     ► 
     everyone would be upset instead, 
     
     
  
 
 
	 01:02:11
     ◼
      
     ► 
     what we got was things started to go downhill, Johnny left, and then things started to pick 
     
     
  
 
 
	 01:02:14
     ◼
      
     ► 
     up and now he's gone for good. 
     
     
  
 
 
 
	 01:02:16
     ◼
      
     ► 
     Which I think is, you know, I mean, again, I thought that you're planning, you don't 
     
     
  
 
 
	 01:02:19
     ◼
      
     ► 
     plan to make the butterfly keyboard, right? 
     
     
  
 
 
	 01:02:21
     ◼
      
     ► 
     You don't plan to, you know, not put ports on your computers for years and years, but 
     
     
  
 
 
	 01:02:25
     ◼
      
     ► 
     that's what they ended up doing and it made a lot of people upset. 
     
     
  
 
 
	 01:02:29
     ◼
      
     ► 
     It's interesting with Ferrari or whatever, like, I mean, obviously those companies have 
     
     
  
 
 
	 01:02:33
     ◼
      
     ► 
     a lot of money and there's cachet to them or whatever, but I've spent his entire career 
     
     
  
 
 
	 01:02:38
     ◼
      
     ► 
     making things for the masses. 
     
     
  
 
 
	 01:02:40
     ◼
      
     ► 
     Like, you know, the iPods and iPhones are not niche devices. 
     
     
  
 
 
	 01:02:43
     ◼
      
     ► 
     They sold literally billions of them, right? 
     
     
  
 
 
	 01:02:45
     ◼
      
     ► 
     There's not much more, that's more mass market than the iPod and the iPhone in terms of famous 
     
     
  
 
 
	 01:02:52
     ◼
      
     ► 
     consumer products, right? 
     
     
  
 
 
	 01:02:54
     ◼
      
     ► 
     And in most things I've read about him, especially early in his career, he was actually interested 
     
     
  
 
 
	 01:02:59
     ◼
      
     ► 
     in making something, yes, something nice, but also something nice that regular people 
     
     
  
 
 
 
	 01:03:05
     ◼
      
     ► 
     a lot of his presentation videos where he used to be 
     
     
  
 
 
	 01:03:07
     ◼
      
     ► 
     in his little white world talking about products, 
     
     
  
 
 
	 01:03:10
     ◼
      
     ► 
     you could see how excited he was to like, 
     
     
  
 
 
	 01:03:12
     ◼
      
     ► 
     make something like the, you know, the iMac G4 
     
     
  
 
 
	 01:03:15
     ◼
      
     ► 
     with the Chrome arm thing or whatever and say, 
     
     
  
 
 
	 01:03:18
     ◼
      
     ► 
     "This computer, which isn't even one of our most expensive 
     
     
  
 
 
	 01:03:20
     ◼
      
     ► 
     computers is going to go into the houses of regular people 
     
     
  
 
 
	 01:03:24
     ◼
      
     ► 
     and they're going to have a beautiful object." 
     
     
  
 
 
	 01:03:26
     ◼
      
     ► 
     He got excited about the iPods. 
     
     
  
 
 
	 01:03:27
     ◼
      
     ► 
     Like, we made this iPod using these advanced techniques 
     
     
  
 
 
	 01:03:31
     ◼
      
     ► 
     and look how beautiful it is. 
     
     
  
 
 
	 01:03:32
     ◼
      
     ► 
     And everybody's gonna have one of these. 
     
     
  
 
 
	 01:03:34
     ◼
      
     ► 
     You're just gonna go on the subway 
     
     
  
 
 
	 01:03:35
     ◼
      
     ► 
     and you're gonna see 50 of them, right? 
     
     
  
 
 
	 01:03:36
     ◼
      
     ► 
     And they're all like, 
     
     
  
 
 
	 01:03:38
     ◼
      
     ► 
     that they're all nicer things than the average, you know, 
     
     
  
 
 
	 01:03:42
     ◼
      
     ► 
     even similarly priced product, right? 
     
     
  
 
 
	 01:03:44
     ◼
      
     ► 
     And I feel like he's always been excited about that. 
     
     
  
 
 
	 01:03:46
     ◼
      
     ► 
     If you read some of his, 
     
     
  
 
 
	 01:03:48
     ◼
      
     ► 
     read a couple of his biographies about 
     
     
  
 
 
	 01:03:49
     ◼
      
     ► 
     designing pens and telephones, like not pre-smartphones, 
     
     
  
 
 
	 01:03:53
     ◼
      
     ► 
     and you know, like just everyday objects, 
     
     
  
 
 
	 01:03:54
     ◼
      
     ► 
     but also trying to make them just a little bit nicer 
     
     
  
 
 
	 01:03:57
     ◼
      
     ► 
     than a typical plastic pen. 
     
     
  
 
 
	 01:03:58
     ◼
      
     ► 
     It's still a plastic pen, 
     
     
  
 
 
	 01:03:59
     ◼
      
     ► 
     but it's a plastic pen that, 
     
     
  
 
 
	 01:04:01
     ◼
      
     ► 
     not through expensive materials or manufacturing, 
     
     
  
 
 
	 01:04:03
     ◼
      
     ► 
     but just in your, just this choice of how it's constructed, 
     
     
  
 
 
	 01:04:06
     ◼
      
     ► 
     it's a nicer pen for people to have at a similar price 
     
     
  
 
 
	 01:04:09
     ◼
      
     ► 
     or maybe just a little bit more. 
     
     
  
 
 
	 01:04:11
     ◼
      
     ► 
     So maybe he lost interest in that. 
     
     
  
 
 
	 01:04:12
     ◼
      
     ► 
     Maybe he's like, I've done that, been there, done that. 
     
     
  
 
 
	 01:04:14
     ◼
      
     ► 
     Like I spent my career doing that. 
     
     
  
 
 
	 01:04:16
     ◼
      
     ► 
     I'm not going to make anything more mass market 
     
     
  
 
 
	 01:04:17
     ◼
      
     ► 
     than I've already made. 
     
     
  
 
 
	 01:04:18
     ◼
      
     ► 
     So now I want to make stuff that no one's even heard of 
     
     
  
 
 
	 01:04:21
     ◼
      
     ► 
     just because it interests me. 
     
     
  
 
 
	 01:04:22
     ◼
      
     ► 
     I don't need money anymore. 
     
     
  
 
 
	 01:04:24
     ◼
      
     ► 
     I just want to make weird Ferraris. 
     
     
  
 
 
	 01:04:25
     ◼
      
     ► 
     And by the way, I think that they're working 
     
     
  
 
 
	 01:04:27
     ◼
      
     ► 
     with Ferrari on interiors, not the exteriors 
     
     
  
 
 
	 01:04:30
     ◼
      
     ► 
     'cause Ferrari is weird about the exteriors 
     
     
  
 
 
	 01:04:32
     ◼
      
     ► 
     they you know anyway I don't think he's doing exteriors and I would not want him 
     
     
  
 
 
	 01:04:36
     ◼
      
     ► 
     to because from what I've heard of the Apple car I don't want him designing 
     
     
  
 
 
	 01:04:39
     ◼
      
     ► 
     yeah interior exterior of any car but Ferrari interiors have been a mess so if 
     
     
  
 
 
	 01:04:44
     ◼
      
     ► 
     he can help there that'd be great although I have a feeling that I 
     
     
  
 
 
	 01:04:46
     ◼
      
     ► 
     wouldn't like any car interior that he designed either because I just feel like 
     
     
  
 
 
	 01:04:49
     ◼
      
     ► 
     his current sort of predilections and his taste for design it's not a good fit 
     
     
  
 
 
	 01:04:54
     ◼
      
     ► 
     for what I look for in automobiles it actually kind of is a good fit for the 
     
     
  
 
 
	 01:04:58
     ◼
      
     ► 
     rumored you know the apple car with no steering wheel that's just like this personal transport 
     
     
  
 
 
	 01:05:03
     ◼
      
     ► 
     Jetson bubblemobile I think Johnny I would do a good job on that it's just not something I'm 
     
     
  
 
 
	 01:05:08
     ◼
      
     ► 
     interested in but anyway yeah like him I I feel happy for him I feel happy for apple and I feel 
     
     
  
 
 
	 01:05:14
     ◼
      
     ► 
     happy for Johnny because I think like you said they will both they'll both be free to do what 
     
     
  
 
 
	 01:05:18
     ◼
      
     ► 
     they want everyone who is still at apple designing things um should feel better about you know the 
     
     
  
 
 
	 01:05:25
     ◼
      
     ► 
     with a clean break. 
     
     
  
 
 
	 01:05:26
     ◼
      
     ► 
     There are some points in this article about, 
     
     
  
 
 
	 01:05:28
     ◼
      
     ► 
     not that Johnny was poaching people from Apple, 
     
     
  
 
 
	 01:05:30
     ◼
      
     ► 
     but people were leaving Apple to go work for his company. 
     
     
  
 
 
	 01:05:32
     ◼
      
     ► 
     He's got a lot of friends at Apple, 
     
     
  
 
 
	 01:05:33
     ◼
      
     ► 
     and some other people are at similar stages in their career 
     
     
  
 
 
	 01:05:35
     ◼
      
     ► 
     where they feel like, I've done all these great things, 
     
     
  
 
 
	 01:05:38
     ◼
      
     ► 
     I'm not going to top what I already did 
     
     
  
 
 
	 01:05:40
     ◼
      
     ► 
     in terms of Apple stuff, 
     
     
  
 
 
	 01:05:42
     ◼
      
     ► 
     so it's time for me to move on and do something else. 
     
     
  
 
 
	 01:05:44
     ◼
      
     ► 
     But as far as I'm concerned, let the new people in. 
     
     
  
 
 
	 01:05:47
     ◼
      
     ► 
     I'm ready for new takes on what it means 
     
     
  
 
 
	 01:05:50
     ◼
      
     ► 
     to be an Apple product. 
     
     
  
 
 
	 01:05:52
     ◼
      
     ► 
     And I think we've seen a couple of new takes, 
     
     
  
 
 
	 01:05:53
     ◼
      
     ► 
     albeit from people who were there when Johnny was there, 
     
     
  
 
 
	 01:05:56
     ◼
      
     ► 
     but you gotta have this turnover. 
     
     
  
 
 
	 01:05:58
     ◼
      
     ► 
     You gotta have the fresh blood in every once in a while, 
     
     
  
 
 
	 01:06:02
     ◼
      
     ► 
     otherwise things can stagnate. 
     
     
  
 
 
	 01:06:03
     ◼
      
     ► 
     And that's like the celebrity status of Johnny 
     
     
  
 
 
	 01:06:07
     ◼
      
     ► 
     and Apple's desire to keep him there 
     
     
  
 
 
	 01:06:11
     ◼
      
     ► 
     because of that celebrity status. 
     
     
  
 
 
	 01:06:12
     ◼
      
     ► 
     It's just like keeping Tom and his Edison around 
     
     
  
 
 
	 01:06:15
     ◼
      
     ► 
     or whatever, like someone whose name 
     
     
  
 
 
	 01:06:18
     ◼
      
     ► 
     is in the public consciousness 
     
     
  
 
 
	 01:06:19
     ◼
      
     ► 
     much more than you would think someone 
     
     
  
 
 
	 01:06:20
     ◼
      
     ► 
     in that profession would ever be. 
     
     
  
 
 
	 01:06:23
     ◼
      
     ► 
     They don't know or care what role the person has, 
     
     
  
 
 
	 01:06:24
     ◼
      
     ► 
     they just know the name is associated with it. 
     
     
  
 
 
	 01:06:26
     ◼
      
     ► 
     And so him wanting to leave back in like 2015 or whatever, 
     
     
  
 
 
	 01:06:29
     ◼
      
     ► 
     and then having the folks at Apple 
     
     
  
 
 
	 01:06:32
     ◼
      
     ► 
     just essentially beg him to stay 
     
     
  
 
 
	 01:06:33
     ◼
      
     ► 
     because he provided value, essentially value 
     
     
  
 
 
	 01:06:36
     ◼
      
     ► 
     to the stock price and public reception, 
     
     
  
 
 
	 01:06:38
     ◼
      
     ► 
     that's not a great situation for anybody. 
     
     
  
 
 
	 01:06:39
     ◼
      
     ► 
     Like, I mean, granted, he could have left 
     
     
  
 
 
	 01:06:42
     ◼
      
     ► 
     whenever he wanted, but he listened to his friends at Apple 
     
     
  
 
 
	 01:06:45
     ◼
      
     ► 
     and said, "Okay, I'll stick it out just a little bit longer," 
     
     
  
 
 
	 01:06:47
     ◼
      
     ► 
     but it just seemed like it was miserable for everybody. 
     
     
  
 
 
	 01:06:49
     ◼
      
     ► 
     And I think this extended departure has been too long. 
     
     
  
 
 
	 01:06:52
     ◼
      
     ► 
     But, you know, I also wouldn't turn down $100 million so that Apple could continue to say 
     
     
  
 
 
	 01:06:57
     ◼
      
     ► 
     that they're working with Johnny. 
     
     
  
 
 
	 01:07:00
     ◼
      
     ► 
     Whether they're actually working with him or not, who cares? 
     
     
  
 
 
 
	 01:07:03
     ◼
      
     ► 
     And if he's like, "Oh, I'd love to have that gig. 
     
     
  
 
 
	 01:07:05
     ◼
      
     ► 
     Give me $200 million to do nothing." 
     
     
  
 
 
	 01:07:07
     ◼
      
     ► 
     Well, if you designed the iMac, the iPhone, and the iPod, then you can get $100 million 
     
     
  
 
 
	 01:07:12
     ◼
      
     ► 
     to do nothing. 
     
     
  
 
 
	 01:07:13
     ◼
      
     ► 
     But until then, I probably can't command that kind of price. 
     
     
  
 
 
	 01:07:17
     ◼
      
     ► 
     I'll get right on it. 
     
     
  
 
 
	 01:07:19
     ◼
      
     ► 
     No, I agree with you guys. 
     
     
  
 
 
	 01:07:20
     ◼
      
     ► 
     I think that this is long time coming. 
     
     
  
 
 
	 01:07:23
     ◼
      
     ► 
     I think that it's probably a good thing. 
     
     
  
 
 
	 01:07:25
     ◼
      
     ► 
     And certainly, if the hardware of the last few years, 
     
     
  
 
 
	 01:07:30
     ◼
      
     ► 
     as you've said, Marco, if the hardware of the last few years 
     
     
  
 
 
	 01:07:32
     ◼
      
     ► 
     is any sort of hint, then I think 
     
     
  
 
 
	 01:07:34
     ◼
      
     ► 
     that we're potentially about to see some of Apple's best. 
     
     
  
 
 
	 01:07:39
     ◼
      
     ► 
     I'm a little worried about these unreleased products like AR 
     
     
  
 
 
	 01:07:42
     ◼
      
     ► 
     in the car if it ever ships. 
     
     
  
 
 
	 01:07:43
     ◼
      
     ► 
     But I'm really pleased with this transition. 
     
     
  
 
 
	 01:07:47
     ◼
      
     ► 
     And I think it's gone very well. 
     
     
  
 
 
	 01:07:48
     ◼
      
     ► 
     And it's been great for me. 
     
     
  
 
 
	 01:07:50
     ◼
      
     ► 
     I mean, in so many ways, this is the best time 
     
     
  
 
 
	 01:07:53
     ◼
      
     ► 
     to be an Apple fan in a long time. 
     
     
  
 
 
	 01:07:55
     ◼
      
     ► 
     So I'm really stoked. 
     
     
  
 
 
	 01:07:57
     ◼
      
     ► 
     Let me ask you, John, why is it that we're talking 
     
     
  
 
 
	 01:08:00
     ◼
      
     ► 
     about a gaming monitor next? 
     
     
  
 
 
	 01:08:01
     ◼
      
     ► 
     Why do I care? 
     
     
  
 
 
	 01:08:03
     ◼
      
     ► 
     What's going on? 
     
     
  
 
 
	 01:08:04
     ◼
      
     ► 
     - We've talked about gaming monitors a few times. 
     
     
  
 
 
	 01:08:06
     ◼
      
     ► 
     We've talked about monitors a lot, 
     
     
  
 
 
	 01:08:07
     ◼
      
     ► 
     mostly in the context of Mac monitors. 
     
     
  
 
 
	 01:08:09
     ◼
      
     ► 
     Now Apple finally made a monitor that fulfills the specs 
     
     
  
 
 
	 01:08:12
     ◼
      
     ► 
     that we wanted for a price that is not 
     
     
  
 
 
	 01:08:13
     ◼
      
     ► 
     completely unreasonable. 
     
     
  
 
 
	 01:08:15
     ◼
      
     ► 
     And what, two out of three of us have that one now. 
     
     
  
 
 
	 01:08:17
     ◼
      
     ► 
     I did write, you got one, right, Jomaro? 
     
     
  
 
 
	 01:08:19
     ◼
      
     ► 
     - The studio display, no. 
     
     
  
 
 
	 01:08:21
     ◼
      
     ► 
     - Oh no, in case you got two, that's what I'm thinking. 
     
     
  
 
 
	 01:08:22
     ◼
      
     ► 
     - No, no, no, no, I only have the one. 
     
     
  
 
 
	 01:08:25
     ◼
      
     ► 
     I want a second one, but I only have the one. 
     
     
  
 
 
	 01:08:27
     ◼
      
     ► 
     - It's hard for me to keep track of what you have 
     
     
  
 
 
	 01:08:28
     ◼
      
     ► 
     versus what you are thinking about buying. 
     
     
  
 
 
	 01:08:30
     ◼
      
     ► 
     But anyway, I mean, now that that solved the problem 
     
     
  
 
 
	 01:08:33
     ◼
      
     ► 
     on the Mac side, and in particular, the camera's not great, 
     
     
  
 
 
	 01:08:36
     ◼
      
     ► 
     but at least there's a product in that area. 
     
     
  
 
 
	 01:08:38
     ◼
      
     ► 
     But what I was always looking for and talking about 
     
     
  
 
 
	 01:08:40
     ◼
      
     ► 
     in terms of monitors, because my monitor situation 
     
     
  
 
 
	 01:08:42
     ◼
      
     ► 
     has been solved through the use of excessive money, 
     
     
  
 
 
 
	 01:08:48
     ◼
      
     ► 
     What do I do for my PlayStation monitor? 
     
     
  
 
 
	 01:08:50
     ◼
      
     ► 
     Because I use my PlayStation on a gaming monitor, 
     
     
  
 
 
	 01:08:53
     ◼
      
     ► 
     and I've got an older gaming monitor, which is fine. 
     
     
  
 
 
	 01:08:56
     ◼
      
     ► 
     It's 4K, but it doesn't support HDR. 
     
     
  
 
 
	 01:08:59
     ◼
      
     ► 
     It doesn't support 120 frames per second. 
     
     
  
 
 
	 01:09:01
     ◼
      
     ► 
     And now with the advent of the PlayStation 5, 
     
     
  
 
 
	 01:09:03
     ◼
      
     ► 
     those are features that would be nice to have 
     
     
  
 
 
	 01:09:04
     ◼
      
     ► 
     in a gaming monitor. 
     
     
  
 
 
	 01:09:05
     ◼
      
     ► 
     So I thought when the PlayStation 5 came out, great. 
     
     
  
 
 
	 01:09:08
     ◼
      
     ► 
     I'll just replace my existing 4K monitor 
     
     
  
 
 
	 01:09:11
     ◼
      
     ► 
     with a new 4K monitor that supports 120 frames per second 
     
     
  
 
 
 
	 01:09:15
     ◼
      
     ► 
     And that turned out to be a really difficult thing to find. 
     
     
  
 
 
	 01:09:18
     ◼
      
     ► 
     Talked about it a few times in the show 
     
     
  
 
 
	 01:09:20
     ◼
      
     ► 
     when monitors would be released 
     
     
  
 
 
	 01:09:21
     ◼
      
     ► 
     and we'd see what they're offering. 
     
     
  
 
 
	 01:09:23
     ◼
      
     ► 
     And we talked about it in the context 
     
     
  
 
 
	 01:09:26
     ◼
      
     ► 
     of the Apple Studio display. 
     
     
  
 
 
	 01:09:27
     ◼
      
     ► 
     Like, hey, if I wanted to buy a non-Apple display 
     
     
  
 
 
	 01:09:29
     ◼
      
     ► 
     that has these features, what can I get? 
     
     
  
 
 
	 01:09:31
     ◼
      
     ► 
     Can I get one that's like a 5K version of the XDR? 
     
     
  
 
 
	 01:09:34
     ◼
      
     ► 
     And the answer was not really, or if you could, 
     
     
  
 
 
	 01:09:36
     ◼
      
     ► 
     it was $4,900 instead of 5,000, right? 
     
     
  
 
 
	 01:09:41
     ◼
      
     ► 
     Like they were very expensive. 
     
     
  
 
 
	 01:09:42
     ◼
      
     ► 
     And in the gaming monitors, 4K, 1600 nit, 100% P3, 
     
     
  
 
 
	 01:09:47
     ◼
      
     ► 
     120 hertz gaming monitors basically didn't exist. 
     
     
  
 
 
	 01:09:54
     ◼
      
     ► 
     Or you could find them and they were $3,000, right? 
     
     
  
 
 
	 01:09:58
     ◼
      
     ► 
     And I don't wanna spend, I don't wanna buy a $3,000 monitor 
     
     
  
 
 
	 01:10:02
     ◼
      
     ► 
     for my $400 PlayStation 5 or whatever it is. 
     
     
  
 
 
	 01:10:05
     ◼
      
     ► 
     Like it's a big mismatch and I already spent a lot of money 
     
     
  
 
 
	 01:10:07
     ◼
      
     ► 
     on monitors, so I'm kinda like, well surely monitor tech 
     
     
  
 
 
	 01:10:10
     ◼
      
     ► 
     will advance and we'll be able to find something better. 
     
     
  
 
 
	 01:10:12
     ◼
      
     ► 
     But, you know, years have passed 
     
     
  
 
 
	 01:10:14
     ◼
      
     ► 
     and I watch all these YouTube reviews 
     
     
  
 
 
	 01:10:16
     ◼
      
     ► 
     and there's just not a lot out there 
     
     
  
 
 
	 01:10:18
     ◼
      
     ► 
     that fulfills that criteria. 
     
     
  
 
 
	 01:10:22
     ◼
      
     ► 
     You know, it's just, it almost makes me wish 
     
     
  
 
 
	 01:10:24
     ◼
      
     ► 
     that I could get, well, this probably doesn't get to you, 
     
     
  
 
 
	 01:10:27
     ◼
      
     ► 
     but the MacBook Pro Display, right? 
     
     
  
 
 
	 01:10:31
     ◼
      
     ► 
     1600 nits, it does 120 hertz, right? 
     
     
  
 
 
	 01:10:35
     ◼
      
     ► 
     It's got HDR and it's great. 
     
     
  
 
 
	 01:10:38
     ◼
      
     ► 
     that would be a great gaming monitor, but it's 15 inches. 
     
     
  
 
 
 
	 01:10:42
     ◼
      
     ► 
     And so I don't want a game on a 15 inch monitor, 
     
     
  
 
 
	 01:10:44
     ◼
      
     ► 
     but I look at that tech, I'm like, 
     
     
  
 
 
	 01:10:46
     ◼
      
     ► 
     just put that in a 27 inch 4K screen 
     
     
  
 
 
	 01:10:49
     ◼
      
     ► 
     and I would love to buy it. 
     
     
  
 
 
	 01:10:50
     ◼
      
     ► 
     And no one has done that. 
     
     
  
 
 
	 01:10:51
     ◼
      
     ► 
     Well, for a reasonable price. 
     
     
  
 
 
	 01:10:53
     ◼
      
     ► 
     Again, you can find monitors that do that, 
     
     
  
 
 
	 01:10:55
     ◼
      
     ► 
     but they're very, very expensive. 
     
     
  
 
 
	 01:10:57
     ◼
      
     ► 
     And they're not really made for gaming. 
     
     
  
 
 
	 01:10:58
     ◼
      
     ► 
     They're mostly made for like artists or people who are 
     
     
  
 
 
	 01:11:01
     ◼
      
     ► 
     doing HDR video or whatever. 
     
     
  
 
 
	 01:11:02
     ◼
      
     ► 
     Well, recently Sony, the company that makes the PlayStation 5 
     
     
  
 
 
	 01:11:06
     ◼
      
     ► 
     came out with their own gaming monitor, 
     
     
  
 
 
	 01:11:08
     ◼
      
     ► 
     which is kind of weird, 
     
     
  
 
 
	 01:11:10
     ◼
      
     ► 
     because usually they just leave this to third parties. 
     
     
  
 
 
	 01:11:12
     ◼
      
     ► 
     There's more than enough third-party manufacturers 
     
     
  
 
 
	 01:11:15
     ◼
      
     ► 
     of monitors, there's a whole world of them. 
     
     
  
 
 
	 01:11:17
     ◼
      
     ► 
     But Sony came out with one, 
     
     
  
 
 
	 01:11:18
     ◼
      
     ► 
     and it's styled a little bit like the PlayStation 5, 
     
     
  
 
 
	 01:11:21
     ◼
      
     ► 
     if you look at it, you guys can look at the pictures, 
     
     
  
 
 
	 01:11:23
     ◼
      
     ► 
     we'll put some links in the show notes. 
     
     
  
 
 
	 01:11:25
     ◼
      
     ► 
     It's got a weird kind of front foot, let's call it, 
     
     
  
 
 
	 01:11:30
     ◼
      
     ► 
     that sticks out forward from the monitor. 
     
     
  
 
 
	 01:11:34
     ◼
      
     ► 
     It's like on an angle, 
     
     
  
 
 
	 01:11:35
     ◼
      
     ► 
     And when you move the monitor up and down, 
     
     
  
 
 
	 01:11:36
     ◼
      
     ► 
     it sort of slides up and down this angled foot, 
     
     
  
 
 
	 01:11:39
     ◼
      
     ► 
     kind of like it's going up and down a ski slope, right? 
     
     
  
 
 
	 01:11:41
     ◼
      
     ► 
     So as it gets lower, it also gets closer to you. 
     
     
  
 
 
	 01:11:43
     ◼
      
     ► 
     And as it gets higher, it gets farther away. 
     
     
  
 
 
	 01:11:45
     ◼
      
     ► 
     And then there are two legs that kind of point backwards. 
     
     
  
 
 
	 01:11:47
     ◼
      
     ► 
     It's a very strange looking stand. 
     
     
  
 
 
	 01:11:49
     ◼
      
     ► 
     It looks a little bit like the PlayStation 5, 
     
     
  
 
 
	 01:11:51
     ◼
      
     ► 
     if you know what the PlayStation 5 looks like, 
     
     
  
 
 
	 01:11:52
     ◼
      
     ► 
     especially from the back, if you look at it, 
     
     
  
 
 
	 01:11:53
     ◼
      
     ► 
     it looks a little bit like the PlayStation 5. 
     
     
  
 
 
	 01:11:56
     ◼
      
     ► 
     But it's intended to be a monitor 
     
     
  
 
 
	 01:11:57
     ◼
      
     ► 
     that you use with the PlayStation 5. 
     
     
  
 
 
	 01:11:58
     ◼
      
     ► 
     So here are the specs. 
     
     
  
 
 
	 01:12:00
     ◼
      
     ► 
     27 inch, 4K, it's an IPS LCD. 
     
     
  
 
 
	 01:12:02
     ◼
      
     ► 
     There's people in all the various technologies for LCDs. 
     
     
  
 
 
	 01:12:06
     ◼
      
     ► 
     IPS is not the sort of high-end competitive gaming one. 
     
     
  
 
 
	 01:12:11
     ◼
      
     ► 
     Those, they have monitors that sacrifice image quality 
     
     
  
 
 
	 01:12:14
     ◼
      
     ► 
     for response time. 
     
     
  
 
 
	 01:12:16
     ◼
      
     ► 
     This is not that. 
     
     
  
 
 
	 01:12:17
     ◼
      
     ► 
     IPS does not have the best of the best response time, 
     
     
  
 
 
	 01:12:20
     ◼
      
     ► 
     but it does look better than the more responsive displays. 
     
     
  
 
 
	 01:12:23
     ◼
      
     ► 
     Right, so that's what I always look for. 
     
     
  
 
 
	 01:12:24
     ◼
      
     ► 
     My current LG is an IPS display. 
     
     
  
 
 
	 01:12:26
     ◼
      
     ► 
     VA displays are similar, but like they're not the, 
     
     
  
 
 
	 01:12:29
     ◼
      
     ► 
     you know, the super high-end, I am an esports gamer, 
     
     
  
 
 
	 01:12:32
     ◼
      
     ► 
     I don't care what it looks like. 
     
     
  
 
 
	 01:12:33
     ◼
      
     ► 
     I just want everything to be as fast as possible. 
     
     
  
 
 
	 01:12:35
     ◼
      
     ► 
     - And pretty much every LCD Apple has shipped 
     
     
  
 
 
	 01:12:37
     ◼
      
     ► 
     in recent memory has been IPS. 
     
     
  
 
 
	 01:12:38
     ◼
      
     ► 
     - Yeah, 'cause it looks the best, right? 
     
     
  
 
 
	 01:12:40
     ◼
      
     ► 
     And I'm not a competitive, you know, 
     
     
  
 
 
	 01:12:42
     ◼
      
     ► 
     not a professional gamer. 
     
     
  
 
 
	 01:12:43
     ◼
      
     ► 
     I'd rather have it look good when I'm playing. 
     
     
  
 
 
	 01:12:45
     ◼
      
     ► 
     I want okay response number, I'd rather have it look good. 
     
     
  
 
 
	 01:12:47
     ◼
      
     ► 
     So it's 27 inch, 4K IPS, right? 
     
     
  
 
 
	 01:12:48
     ◼
      
     ► 
     So that's exactly the size of monitor that I want 
     
     
  
 
 
	 01:12:51
     ◼
      
     ► 
     and the kind of screen I want. 
     
     
  
 
 
	 01:12:53
     ◼
      
     ► 
     It has local dimming, which means the backlight 
     
     
  
 
 
	 01:12:55
     ◼
      
     ► 
     is not just one giant light that's on all the time. 
     
     
  
 
 
	 01:12:58
     ◼
      
     ► 
     The backlight has various zones and it turns off zones 
     
     
  
 
 
	 01:13:01
     ◼
      
     ► 
     or turns them down depending on what parts of the image are bright and what parts of 
     
     
  
 
 
	 01:13:04
     ◼
      
     ► 
     the image are dark. 
     
     
  
 
 
	 01:13:07
     ◼
      
     ► 
     As we've discussed in the past, local dimming is not ideal because if you have a star field 
     
     
  
 
 
	 01:13:12
     ◼
      
     ► 
     behind each one of those pinprick stars they have to turn on a very large region of the 
     
     
  
 
 
	 01:13:16
     ◼
      
     ► 
     backlight and so yes the star will be bright but also there will be a little bit of a halo 
     
     
  
 
 
	 01:13:20
     ◼
      
     ► 
     around the star that is also a little bit brighter than it should be because the backlight 
     
     
  
 
 
	 01:13:25
     ◼
      
     ► 
     is broken up into pretty big chunks. 
     
     
  
 
 
	 01:13:27
     ◼
      
     ► 
     So it has 96 zones, which is not that many zones. 
     
     
  
 
 
	 01:13:30
     ◼
      
     ► 
     The Pro Display XDR has 275. 
     
     
  
 
 
	 01:13:33
     ◼
      
     ► 
     Modern monitors and modern TVs can have thousands of zones, 
     
     
  
 
 
	 01:13:37
     ◼
      
     ► 
     or thousands of LEDs anyway. 
     
     
  
 
 
	 01:13:39
     ◼
      
     ► 
     I think we have tens of thousands of LEDs 
     
     
  
 
 
	 01:13:41
     ◼
      
     ► 
     and maybe thousands of zones. 
     
     
  
 
 
	 01:13:42
     ◼
      
     ► 
     Anyway, 96 zones is not a lot, right? 
     
     
  
 
 
	 01:13:45
     ◼
      
     ► 
     In terms of HDR, it has, 
     
     
  
 
 
	 01:13:46
     ◼
      
     ► 
     they use acronyms on monitors, 
     
     
  
 
 
	 01:13:48
     ◼
      
     ► 
     Display HDR 600, which is, I don't know, 
     
     
  
 
 
	 01:13:51
     ◼
      
     ► 
     it's like a marketing term 
     
     
  
 
 
	 01:13:52
     ◼
      
     ► 
     or something that some spec testing can apply with. 
     
     
  
 
 
	 01:13:54
     ◼
      
     ► 
     What it's trying to say kind of is that the brightest things in an HDR scene will be 600 
     
     
  
 
 
 
	 01:14:01
     ◼
      
     ► 
     As measured by testers, they can actually go up to like 700 nits. 
     
     
  
 
 
	 01:14:04
     ◼
      
     ► 
     And that number might ring a bell because the Apple Studio display goes up to 600 nits 
     
     
  
 
 
	 01:14:08
     ◼
      
     ► 
     as well, although Apple does not call it HDR. 
     
     
  
 
 
	 01:14:11
     ◼
      
     ► 
     It's a little bit brighter than your average monitor like what I'm looking at now in the 
     
     
  
 
 
	 01:14:16
     ◼
      
     ► 
     XDR in regular mode where you're just looking at the user interface, it maxes at 500 nits. 
     
     
  
 
 
	 01:14:21
     ◼
      
     ► 
     It only goes to 1600 when it's showing HDR content. 
     
     
  
 
 
	 01:14:25
     ◼
      
     ► 
     Whereas I think the studio display does something similar where it will still max at 500 for 
     
     
  
 
 
	 01:14:30
     ◼
      
     ► 
     looking at the UI but when you see something with an extended brightness it will go up 
     
     
  
 
 
 
	 01:14:35
     ◼
      
     ► 
     But anyway, all this is to say is that this monitor does not hit 1600 nits. 
     
     
  
 
 
	 01:14:39
     ◼
      
     ► 
     It's not super duper bright HDR. 
     
     
  
 
 
	 01:14:41
     ◼
      
     ► 
     But it is a little bit brighter than your average monitor. 
     
     
  
 
 
	 01:14:45
     ◼
      
     ► 
     It's got 144Hz refresh rate and also can do lower refresh as well. 
     
     
  
 
 
	 01:14:50
     ◼
      
     ► 
     It's a variable refresh rate and G-Sync, so you can use it as a PC monitor as well. 
     
     
  
 
 
	 01:14:56
     ◼
      
     ► 
     As a quote unquote one millisecond response time, all of these gaming monitors have a 
     
     
  
 
 
	 01:15:00
     ◼
      
     ► 
     mode where they will overshoot the intended value of the pixel and then back off a little 
     
     
  
 
 
	 01:15:03
     ◼
      
     ► 
     bit to get a better response time. 
     
     
  
 
 
	 01:15:06
     ◼
      
     ► 
     You can, I don't have a good link for this, but if you Google for how LCDs work and how 
     
     
  
 
 
	 01:15:10
     ◼
      
     ► 
     response time works, very often it is faster to go past the color that you want a pixel 
     
     
  
 
 
	 01:15:15
     ◼
      
     ► 
     to B and then back off, then it is go directly from color A 
     
     
  
 
 
	 01:15:18
     ◼
      
     ► 
     to color B on a per pixel basis. 
     
     
  
 
 
	 01:15:21
     ◼
      
     ► 
     They call that overshoot. 
     
     
  
 
 
	 01:15:23
     ◼
      
     ► 
     And various PC monitors will have settings 
     
     
  
 
 
	 01:15:26
     ◼
      
     ► 
     where you can say, how much overshoot do you want? 
     
     
  
 
 
	 01:15:28
     ◼
      
     ► 
     Do you want the maximum response time 
     
     
  
 
 
	 01:15:30
     ◼
      
     ► 
     at the cost of weird artifacts? 
     
     
  
 
 
	 01:15:33
     ◼
      
     ► 
     Briefly, the image looks weird. 
     
     
  
 
 
	 01:15:35
     ◼
      
     ► 
     And then it's hard to see, especially on video, 
     
     
  
 
 
	 01:15:38
     ◼
      
     ► 
     what it's actually doing. 
     
     
  
 
 
	 01:15:39
     ◼
      
     ► 
     But you can choose. 
     
     
  
 
 
	 01:15:40
     ◼
      
     ► 
     You can have it not do any of that 
     
     
  
 
 
	 01:15:41
     ◼
      
     ► 
     and have a slower response time, do a little bit of that 
     
     
  
 
 
	 01:15:43
     ◼
      
     ► 
     and have a little bit faster. 
     
     
  
 
 
	 01:15:44
     ◼
      
     ► 
     but they all want to advertise a one millisecond response 
     
     
  
 
 
	 01:15:47
     ◼
      
     ► 
     time of the pixels. 
     
     
  
 
 
	 01:15:48
     ◼
      
     ► 
     And to get one millisecond, you really 
     
     
  
 
 
	 01:15:49
     ◼
      
     ► 
     have to crank up the overshoot, and it doesn't look great. 
     
     
  
 
 
	 01:15:51
     ◼
      
     ► 
     It has auto HDR tone mapping. 
     
     
  
 
 
	 01:15:53
     ◼
      
     ► 
     This is another problem in the world of television and games. 
     
     
  
 
 
	 01:15:57
     ◼
      
     ► 
     You've got these displays that can display 
     
     
  
 
 
	 01:15:59
     ◼
      
     ► 
     some range of brightness from 0 to 600, 
     
     
  
 
 
	 01:16:02
     ◼
      
     ► 
     or maybe 0 to 1,600 nits. 
     
     
  
 
 
	 01:16:04
     ◼
      
     ► 
     And then you've got content that's mastered for some range 
     
     
  
 
 
	 01:16:07
     ◼
      
     ► 
     of brightness that is different than that. 
     
     
  
 
 
	 01:16:09
     ◼
      
     ► 
     Content can be mastered from 1 to 800 nits, 1 to 1,000, 1 
     
     
  
 
 
 
	 01:16:14
     ◼
      
     ► 
     there's nothing out there that does 4,000 nits, right? 
     
     
  
 
 
	 01:16:16
     ◼
      
     ► 
     But some content is mastered to be, you know, 
     
     
  
 
 
	 01:16:19
     ◼
      
     ► 
     from zero to 4,000 nits. 
     
     
  
 
 
	 01:16:21
     ◼
      
     ► 
     And so, tone mapping has to map from 
     
     
  
 
 
	 01:16:24
     ◼
      
     ► 
     what the content was mastered for 
     
     
  
 
 
	 01:16:25
     ◼
      
     ► 
     and what the display is capable of. 
     
     
  
 
 
	 01:16:27
     ◼
      
     ► 
     And you can get into these weird situations 
     
     
  
 
 
	 01:16:29
     ◼
      
     ► 
     where the monitor will be doing tone mapping, 
     
     
  
 
 
	 01:16:31
     ◼
      
     ► 
     but so will the PlayStation and the tone mapping, 
     
     
  
 
 
	 01:16:33
     ◼
      
     ► 
     there'll be double tone mapping and it'll be all messy. 
     
     
  
 
 
	 01:16:35
     ◼
      
     ► 
     It's a complicated situation. 
     
     
  
 
 
	 01:16:37
     ◼
      
     ► 
     So this one is a monitor from Sony 
     
     
  
 
 
	 01:16:38
     ◼
      
     ► 
     that plugs into a Sony console 
     
     
  
 
 
	 01:16:40
     ◼
      
     ► 
     and presumably they cooperate with each other 
     
     
  
 
 
	 01:16:42
     ◼
      
     ► 
     so that only one of them does a tone mapping 
     
     
  
 
 
	 01:16:43
     ◼
      
     ► 
     that it does it in a way that doesn't 
     
     
  
 
 
	 01:16:45
     ◼
      
     ► 
     look incredibly terrible. 
     
     
  
 
 
	 01:16:47
     ◼
      
     ► 
     And then finally, the most important part 
     
     
  
 
 
	 01:16:49
     ◼
      
     ► 
     of this entire product is the price. 
     
     
  
 
 
 
	 01:16:53
     ◼
      
     ► 
     And that might sound like a lot, 
     
     
  
 
 
	 01:16:55
     ◼
      
     ► 
     but compared to $3,000, it is pretty good. 
     
     
  
 
 
	 01:16:59
     ◼
      
     ► 
     So I feel kind of like this is the Apple Studio display 
     
     
  
 
 
	 01:17:02
     ◼
      
     ► 
     of the gaming monitors. 
     
     
  
 
 
	 01:17:03
     ◼
      
     ► 
     It was a product where nothing like this existed, right? 
     
     
  
 
 
	 01:17:07
     ◼
      
     ► 
     You could either pay $3,000 and get something 
     
     
  
 
 
	 01:17:10
     ◼
      
     ► 
     that's not really designed to be a gaming monitor, 
     
     
  
 
 
	 01:17:12
     ◼
      
     ► 
     Or you could pay 700 and get a gaming monitor 
     
     
  
 
 
	 01:17:15
     ◼
      
     ► 
     that has none of the specs you wanted, right? 
     
     
  
 
 
	 01:17:17
     ◼
      
     ► 
     Now there's this $900 device 
     
     
  
 
 
	 01:17:19
     ◼
      
     ► 
     that like the Apple Studio Display, 
     
     
  
 
 
	 01:17:20
     ◼
      
     ► 
     doesn't have all the specs of the 3000, $4000 things, 
     
     
  
 
 
	 01:17:24
     ◼
      
     ► 
     but it's much better than the gaming monitors 
     
     
  
 
 
	 01:17:28
     ◼
      
     ► 
     that didn't care anything about the things that I care about. 
     
     
  
 
 
	 01:17:32
     ◼
      
     ► 
     How good does it look? 
     
     
  
 
 
	 01:17:32
     ◼
      
     ► 
     How bright does it get? 
     
     
  
 
 
	 01:17:34
     ◼
      
     ► 
     Does it handle high refresh, right? 
     
     
  
 
 
	 01:17:35
     ◼
      
     ► 
     'Cause I didn't want one of those monitors 
     
     
  
 
 
	 01:17:36
     ◼
      
     ► 
     that sacrifices appearance for speed. 
     
     
  
 
 
	 01:17:39
     ◼
      
     ► 
     And those can be pretty expensive anyway, right? 
     
     
  
 
 
	 01:17:41
     ◼
      
     ► 
     The wildcard in this is the Dell Alienware OLED monitor, 
     
     
  
 
 
	 01:17:46
     ◼
      
     ► 
     but that's a curved monitor. 
     
     
  
 
 
	 01:17:47
     ◼
      
     ► 
     It is not 4K, it is not even 16 by nine. 
     
     
  
 
 
	 01:17:50
     ◼
      
     ► 
     So it is not a good fit for the PlayStation at all. 
     
     
  
 
 
	 01:17:53
     ◼
      
     ► 
     I would love to see a, 
     
     
  
 
 
	 01:17:54
     ◼
      
     ► 
     and that's a QD OLED monitor by the way, 
     
     
  
 
 
	 01:17:56
     ◼
      
     ► 
     I would love to see a QD OLED monitor, 
     
     
  
 
 
	 01:17:58
     ◼
      
     ► 
     just like the Sony one. 
     
     
  
 
 
	 01:18:00
     ◼
      
     ► 
     And that product will, you know, 
     
     
  
 
 
	 01:18:03
     ◼
      
     ► 
     be the real king of the gaming monitor space. 
     
     
  
 
 
	 01:18:05
     ◼
      
     ► 
     But for now, I'm excited by the idea 
     
     
  
 
 
	 01:18:07
     ◼
      
     ► 
     that Sony has put this product right in the middle 
     
     
  
 
 
	 01:18:10
     ◼
      
     ► 
     where none existed before to say we have a pretty good monitor 
     
     
  
 
 
	 01:18:13
     ◼
      
     ► 
     with pretty good specs that will absolutely 
     
     
  
 
 
	 01:18:15
     ◼
      
     ► 
     work with your PlayStation for a reasonable-ish price. 
     
     
  
 
 
	 01:18:19
     ◼
      
     ► 
     It looks way better than the monitors 
     
     
  
 
 
	 01:18:22
     ◼
      
     ► 
     that cost less than it. 
     
     
  
 
 
	 01:18:23
     ◼
      
     ► 
     And it looks almost as good as monitors 
     
     
  
 
 
	 01:18:26
     ◼
      
     ► 
     that cost thousands and thousands more. 
     
     
  
 
 
	 01:18:27
     ◼
      
     ► 
     And the stand is a little weird, but I think 
     
     
  
 
 
	 01:18:29
     ◼
      
     ► 
     you can re-summount it anyway. 
     
     
  
 
 
	 01:18:30
     ◼
      
     ► 
     So the reason I want to talk about this 
     
     
  
 
 
	 01:18:32
     ◼
      
     ► 
     is because I think there are parallels to the Apple Studio 
     
     
  
 
 
	 01:18:34
     ◼
      
     ► 
     display, and I'm excited about it. 
     
     
  
 
 
	 01:18:35
     ◼
      
     ► 
     I'm not going to buy it because I'm 
     
     
  
 
 
	 01:18:37
     ◼
      
     ► 
     buying too many expensive things right now, 
     
     
  
 
 
	 01:18:39
     ◼
      
     ► 
     and my monitor is fine, but I'm glad that, 
     
     
  
 
 
	 01:18:43
     ◼
      
     ► 
     I mean maybe they saw the Apple Studio display 
     
     
  
 
 
	 01:18:44
     ◼
      
     ► 
     and said we should introduce a thing 
     
     
  
 
 
	 01:18:46
     ◼
      
     ► 
     that people wanted forever too, 
     
     
  
 
 
	 01:18:47
     ◼
      
     ► 
     or maybe nobody wants this except for me. 
     
     
  
 
 
	 01:18:49
     ◼
      
     ► 
     But, you know, another thing, 
     
     
  
 
 
	 01:18:52
     ◼
      
     ► 
     they introduced a line of products. 
     
     
  
 
 
	 01:18:54
     ◼
      
     ► 
     There is a cheaper monitor coming 
     
     
  
 
 
	 01:18:56
     ◼
      
     ► 
     that is 1080p, 400 nits, 240 hertz, and only $530, 
     
     
  
 
 
	 01:19:01
     ◼
      
     ► 
     and that's probably the one, and no local dimming at all, 
     
     
  
 
 
	 01:19:05
     ◼
      
     ► 
     that's probably the one that's more like, 
     
     
  
 
 
	 01:19:06
     ◼
      
     ► 
     well if you don't care about resolution 
     
     
  
 
 
	 01:19:08
     ◼
      
     ► 
     and then you just want maximum response time by this thing. 
     
     
  
 
 
	 01:19:10
     ◼
      
     ► 
     But this monitor is very exciting to me 
     
     
  
 
 
	 01:19:13
     ◼
      
     ► 
     and I hope I'll either get something like it 
     
     
  
 
 
	 01:19:16
     ◼
      
     ► 
     for my PlayStation 6 or by then I'll be able 
     
     
  
 
 
	 01:19:19
     ◼
      
     ► 
     to get a QT OLED monitor. 
     
     
  
 
 
	 01:19:21
     ◼
      
     ► 
     And by the way, the other thing for people 
     
     
  
 
 
	 01:19:22
     ◼
      
     ► 
     who are wondering what they can game on, 
     
     
  
 
 
	 01:19:24
     ◼
      
     ► 
     televisions are getting smaller, 
     
     
  
 
 
	 01:19:26
     ◼
      
     ► 
     which is an exciting development. 
     
     
  
 
 
	 01:19:28
     ◼
      
     ► 
     We used to look every year 
     
     
  
 
 
	 01:19:29
     ◼
      
     ► 
     like how much bigger televisions are getting, 
     
     
  
 
 
	 01:19:31
     ◼
      
     ► 
     but after a certain point, 
     
     
  
 
 
	 01:19:33
     ◼
      
     ► 
     it was hard to make television smaller, especially at 4K. 
     
     
  
 
 
	 01:19:37
     ◼
      
     ► 
     Nobody wants a small TV. 
     
     
  
 
 
	 01:19:38
     ◼
      
     ► 
     It's hard to sell a small television. 
     
     
  
 
 
	 01:19:40
     ◼
      
     ► 
     It used to be like 42 inch plasma. 
     
     
  
 
 
	 01:19:42
     ◼
      
     ► 
     It was like, wow, you have a giant TV. 
     
     
  
 
 
	 01:19:44
     ◼
      
     ► 
     Try finding a 42 inch TV now. 
     
     
  
 
 
	 01:19:47
     ◼
      
     ► 
     But coincidentally this year, one of the big stories is, 
     
     
  
 
 
	 01:19:50
     ◼
      
     ► 
     I think it's just LG, 
     
     
  
 
 
	 01:19:52
     ◼
      
     ► 
     one of the OLED television manufacturers 
     
     
  
 
 
	 01:19:55
     ◼
      
     ► 
     produced a 42 inch television 
     
     
  
 
 
	 01:19:56
     ◼
      
     ► 
     and people were so excited because that's so small. 
     
     
  
 
 
	 01:19:59
     ◼
      
     ► 
     It's kind of like the iPhone mini, right? 
     
     
  
 
 
	 01:20:00
     ◼
      
     ► 
     Then they don't want to put it in their pocket. 
     
     
  
 
 
	 01:20:02
     ◼
      
     ► 
     But the smallest television used to be able to get 
     
     
  
 
 
	 01:20:05
     ◼
      
     ► 
     like with good picture quality was like 55 inch 
     
     
  
 
 
	 01:20:07
     ◼
      
     ► 
     and then LG came out with a 48 inch 
     
     
  
 
 
	 01:20:10
     ◼
      
     ► 
     and people were using 48 inch OLED televisions 
     
     
  
 
 
	 01:20:13
     ◼
      
     ► 
     as their quote unquote gaming monitor 
     
     
  
 
 
	 01:20:14
     ◼
      
     ► 
     or sometimes as their PC monitor. 
     
     
  
 
 
	 01:20:16
     ◼
      
     ► 
     They'd put it on the desk in front of them 
     
     
  
 
 
	 01:20:18
     ◼
      
     ► 
     and they'd set the, it's a 4K television, right? 
     
     
  
 
 
	 01:20:21
     ◼
      
     ► 
     And they'd be using their PC attached 
     
     
  
 
 
	 01:20:23
     ◼
      
     ► 
     to a giant television, which sounds kind of ridiculous 
     
     
  
 
 
	 01:20:26
     ◼
      
     ► 
     but OLEDs are actually pretty good 
     
     
  
 
 
	 01:20:27
     ◼
      
     ► 
     and if you put the monitor far enough away 
     
     
  
 
 
	 01:20:29
     ◼
      
     ► 
     so you can't see the pixels, it's actually pretty nice. 
     
     
  
 
 
	 01:20:31
     ◼
      
     ► 
     And now they made a 42 inch one 
     
     
  
 
 
	 01:20:33
     ◼
      
     ► 
     And that television is essentially designed for people 
     
     
  
 
 
	 01:20:36
     ◼
      
     ► 
     who want to use it as a gaming monitor on their desk. 
     
     
  
 
 
	 01:20:39
     ◼
      
     ► 
     Still too big for me, not something that I would want to do, 
     
     
  
 
 
	 01:20:41
     ◼
      
     ► 
     but the image quality on a 42 inch LG OLED television, 
     
     
  
 
 
	 01:20:44
     ◼
      
     ► 
     it's so much better than any of these gaming monitors. 
     
     
  
 
 
	 01:20:47
     ◼
      
     ► 
     And the prices are reasonable-ish. 
     
     
  
 
 
	 01:20:50
     ◼
      
     ► 
     It's like, I don't know, it's under $2,000, right? 
     
     
  
 
 
	 01:20:53
     ◼
      
     ► 
     But it's, you know, it's 42 inches 
     
     
  
 
 
	 01:20:55
     ◼
      
     ► 
     and every pixel is lit up individually. 
     
     
  
 
 
	 01:20:57
     ◼
      
     ► 
     And it does HDR like, you know, 
     
     
  
 
 
	 01:20:59
     ◼
      
     ► 
     up to a peak of like 800, 900 nits or something like that. 
     
     
  
 
 
	 01:21:02
     ◼
      
     ► 
     has pretty amazing response time, 
     
     
  
 
 
	 01:21:04
     ◼
      
     ► 
     it supports all the things. 
     
     
  
 
 
	 01:21:05
     ◼
      
     ► 
     So, you know, if that interests you, 
     
     
  
 
 
	 01:21:08
     ◼
      
     ► 
     be aware that that is a thing that's happening. 
     
     
  
 
 
	 01:21:10
     ◼
      
     ► 
     People are using televisions as gaming monitors, 
     
     
  
 
 
	 01:21:12
     ◼
      
     ► 
     and I don't even know what to call it anymore. 
     
     
  
 
 
	 01:21:14
     ◼
      
     ► 
     Is it a gaming monitor, is it a TV? 
     
     
  
 
 
	 01:21:15
     ◼
      
     ► 
     It's technically a TV, 
     
     
  
 
 
	 01:21:16
     ◼
      
     ► 
     but that's not what it's designed for. 
     
     
  
 
 
	 01:21:17
     ◼
      
     ► 
     It even has feet, so they're big enough 
     
     
  
 
 
	 01:21:19
     ◼
      
     ► 
     so that you can put your mouse and keyboard underneath it 
     
     
  
 
 
	 01:21:21
     ◼
      
     ► 
     when it's on your desk. 
     
     
  
 
 
	 01:21:22
     ◼
      
     ► 
     So yeah, if you're in the market for something to use 
     
     
  
 
 
	 01:21:26
     ◼
      
     ► 
     with your Xbox or PlayStation, 
     
     
  
 
 
	 01:21:28
     ◼
      
     ► 
     and you didn't know if there's anything decent to buy, 
     
     
  
 
 
	 01:21:30
     ◼
      
     ► 
     check out the Sony thing. 
     
     
  
 
 
	 01:21:31
     ◼
      
     ► 
     They also came out with some gaming headsets as well. 
     
     
  
 
 
	 01:21:34
     ◼
      
     ► 
     They're basically just like gamified versions 
     
     
  
 
 
	 01:21:37
     ◼
      
     ► 
     of their noise canceling headphones 
     
     
  
 
 
	 01:21:38
     ◼
      
     ► 
     that we're all talking about for using on plane flights 
     
     
  
 
 
	 01:21:40
     ◼
      
     ► 
     back when we used to fly. 
     
     
  
 
 
	 01:21:41
     ◼
      
     ► 
     Only they look like PlayStations. 
     
     
  
 
 
	 01:21:42
     ◼
      
     ► 
     They have a bunch of gaming specific features 
     
     
  
 
 
	 01:21:43
     ◼
      
     ► 
     and those look pretty neat too. 
     
     
  
 
 
 
	 01:21:47
     ◼
      
     ► 
     - You can get two of these 
     
     
  
 
 
	 01:21:47
     ◼
      
     ► 
     and do all your computing on them, Casey. 
     
     
  
 
 
 
	 01:21:50
     ◼
      
     ► 
     - I mean, it is kind of like the Apple Studio Display. 
     
     
  
 
 
	 01:21:52
     ◼
      
     ► 
     It's got very similar specs. 
     
     
  
 
 
	 01:21:54
     ◼
      
     ► 
     It's better than the Apple Studio Display 
     
     
  
 
 
	 01:21:55
     ◼
      
     ► 
     'cause it does high refresh and has local dimming 
     
     
  
 
 
	 01:21:57
     ◼
      
     ► 
     and your studio display doesn't have any of those things. 
     
     
  
 
 
	 01:21:59
     ◼
      
     ► 
     - Yes, that's true. 
     
     
  
 
 
	 01:22:02
     ◼
      
     ► 
     - And it cost $1600. 
     
     
  
 
 
	 01:22:03
     ◼
      
     ► 
     - Also true. 
     
     
  
 
 
	 01:22:05
     ◼
      
     ► 
     - But it's 5K, as we know. 
     
     
  
 
 
	 01:22:07
     ◼
      
     ► 
     - Yes, exactly. 
     
     
  
 
 
	 01:22:08
     ◼
      
     ► 
     - Yep, that's kind of a big deal. 
     
     
  
 
 
	 01:22:10
     ◼
      
     ► 
     - That's kind of a big deal. 
     
     
  
 
 
	 01:22:11
     ◼
      
     ► 
     - I know, I know, I'm just saying, 
     
     
  
 
 
	 01:22:12
     ◼
      
     ► 
     like the Apple Studio is why this does fill this row, 
     
     
  
 
 
	 01:22:14
     ◼
      
     ► 
     but we talked a lot about this. 
     
     
  
 
 
	 01:22:15
     ◼
      
     ► 
     What is Apple gonna do? 
     
     
  
 
 
	 01:22:16
     ◼
      
     ► 
     Is surely, if they want a monitor, 
     
     
  
 
 
	 01:22:17
     ◼
      
     ► 
     it has to at least match the specs of the MacBook Pros, 
     
     
  
 
 
	 01:22:19
     ◼
      
     ► 
     and Apple said, "Nope, doesn't." 
     
     
  
 
 
	 01:22:22
     ◼
      
     ► 
     - Well, we're good. 
     
     
  
 
 
	 01:22:22
     ◼
      
     ► 
     - And it didn't. 
     
     
  
 
 
	 01:22:23
     ◼
      
     ► 
     - We are sponsored this week by Linode, 
     
     
  
 
 
	 01:22:26
     ◼
      
     ► 
     my favorite place to run servers. 
     
     
  
 
 
	 01:22:28
     ◼
      
     ► 
     Visit linode.com/atp, see why Linode is so beloved 
     
     
  
 
 
	 01:22:33
     ◼
      
     ► 
     by so many developers and users like me. 
     
     
  
 
 
	 01:22:35
     ◼
      
     ► 
     So I run a lot of servers, between ATP 
     
     
  
 
 
	 01:22:39
     ◼
      
     ► 
     and my personal website and Overcast, 
     
     
  
 
 
	 01:22:41
     ◼
      
     ► 
     and there's just, there's so, I run so many servers, 
     
     
  
 
 
	 01:22:44
     ◼
      
     ► 
     I think I run something like 30 instances, 
     
     
  
 
 
	 01:22:46
     ◼
      
     ► 
     and I've used a lot of hosts in my time, 
     
     
  
 
 
	 01:22:49
     ◼
      
     ► 
     and I've been with Linode the longest, 
     
     
  
 
 
	 01:22:50
     ◼
      
     ► 
     I moved all my stuff there over time, 
     
     
  
 
 
	 01:22:52
     ◼
      
     ► 
     because it's just the best, I've been with so many hosts 
     
     
  
 
 
	 01:22:55
     ◼
      
     ► 
     that were like, fine, but none of them were really great 
     
     
  
 
 
	 01:22:57
     ◼
      
     ► 
     for this long and Leno just is so they have incredible services to offer. 
     
     
  
 
 
	 01:23:02
     ◼
      
     ► 
     They have all these compute instances, basic ones, 
     
     
  
 
 
	 01:23:05
     ◼
      
     ► 
     specialized things like GPU compute or high memory. 
     
     
  
 
 
	 01:23:08
     ◼
      
     ► 
     They have all these advanced other services like block storage, Kubernetes, 
     
     
  
 
 
	 01:23:13
     ◼
      
     ► 
     their upcoming bare metal release. 
     
     
  
 
 
	 01:23:14
     ◼
      
     ► 
     And they recently launched managed databases for MySQL, 
     
     
  
 
 
	 01:23:18
     ◼
      
     ► 
     Postgres and Mongo. And they're even doing redis later this year. 
     
     
  
 
 
	 01:23:22
     ◼
      
     ► 
     These are simple, reliable, managed databases, 
     
     
  
 
 
	 01:23:26
     ◼
      
     ► 
     high performance database clusters, 
     
     
  
 
 
	 01:23:27
     ◼
      
     ► 
     they take care of a whole bunch of stuff for you. 
     
     
  
 
 
	 01:23:29
     ◼
      
     ► 
     So it's just an amazing product. 
     
     
  
 
 
	 01:23:30
     ◼
      
     ► 
     And all this is backed at Linode by amazing support 
     
     
  
 
 
	 01:23:33
     ◼
      
     ► 
     if you need it. 
     
     
  
 
 
	 01:23:34
     ◼
      
     ► 
     So with other hosts, sometimes you file a ticket, 
     
     
  
 
 
	 01:23:37
     ◼
      
     ► 
     maybe they get to it eventually, 
     
     
  
 
 
	 01:23:39
     ◼
      
     ► 
     and then the person gets to it, 
     
     
  
 
 
	 01:23:40
     ◼
      
     ► 
     and is like, oh, I don't know how to fix this, 
     
     
  
 
 
	 01:23:41
     ◼
      
     ► 
     let me escalate it. 
     
     
  
 
 
	 01:23:42
     ◼
      
     ► 
     That doesn't happen with Linode. 
     
     
  
 
 
	 01:23:43
     ◼
      
     ► 
     They respond quickly, and the person who responds 
     
     
  
 
 
	 01:23:46
     ◼
      
     ► 
     can help you. 
     
     
  
 
 
	 01:23:47
     ◼
      
     ► 
     There's no weird tears to go through or anything like that. 
     
     
  
 
 
	 01:23:49
     ◼
      
     ► 
     And all this is brought to you at an incredible value. 
     
     
  
 
 
	 01:23:52
     ◼
      
     ► 
     This is why I've been with them for so long. 
     
     
  
 
 
	 01:23:54
     ◼
      
     ► 
     Not only is all this stuff great, 
     
     
  
 
 
	 01:23:56
     ◼
      
     ► 
     they're also really cheap. 
     
     
  
 
 
	 01:23:57
     ◼
      
     ► 
     Like for what you get, it's a great value. 
     
     
  
 
 
	 01:23:59
     ◼
      
     ► 
     So see for yourself, see what you can get at Linode. 
     
     
  
 
 
	 01:24:02
     ◼
      
     ► 
     It's a great host to run servers. 
     
     
  
 
 
	 01:24:04
     ◼
      
     ► 
     Visit linode.com/atp, create a free account, 
     
     
  
 
 
	 01:24:07
     ◼
      
     ► 
     and you get $100 in credit. 
     
     
  
 
 
	 01:24:09
     ◼
      
     ► 
     Once again, linode.com/atp, new accounts, get $100 in credit. 
     
     
  
 
 
	 01:24:14
     ◼
      
     ► 
     Thank you so much to Linode for hosting all my servers 
     
     
  
 
 
	 01:24:17
     ◼
      
     ► 
     and for sponsoring our show. 
     
     
  
 
 
	 01:24:23
     ◼
      
     ► 
     All right, let's do some Ask ATP, 
     
     
  
 
 
	 01:24:24
     ◼
      
     ► 
     and Radu Pirovska writes, "My iMac randomly wakes from sleep. 
     
     
  
 
 
	 01:24:28
     ◼
      
     ► 
     "The only thing plugged in is the ethernet cable. 
     
     
  
 
 
	 01:24:30
     ◼
      
     ► 
     "I'm using the Apple keyboard and Apple mouse, 
     
     
  
 
 
	 01:24:32
     ◼
      
     ► 
     "which I started turning off 
     
     
  
 
 
	 01:24:33
     ◼
      
     ► 
     "when I put the computer to sleep. 
     
     
  
 
 
	 01:24:35
     ◼
      
     ► 
     "All Energy Saver options are set to solve this. 
     
     
  
 
 
	 01:24:37
     ◼
      
     ► 
     "Problem still appears. 
     
     
  
 
 
 
	 01:24:40
     ◼
      
     ► 
     So what does Radu do? 
     
     
  
 
 
	 01:24:41
     ◼
      
     ► 
     - Hmm, so John's gonna have the right answer, 
     
     
  
 
 
	 01:24:44
     ◼
      
     ► 
     but my random guess at the answer is 
     
     
  
 
 
	 01:24:48
     ◼
      
     ► 
     either wake on LAN, some kind of network thing, 
     
     
  
 
 
	 01:24:52
     ◼
      
     ► 
     Or it could be like, Apple has various things, 
     
     
  
 
 
	 01:24:56
     ◼
      
     ► 
     like used to be called Power Nap, 
     
     
  
 
 
	 01:24:57
     ◼
      
     ► 
     I don't know what the current version of all this stuff is. 
     
     
  
 
 
	 01:25:00
     ◼
      
     ► 
     Things where the system will wake itself up 
     
     
  
 
 
	 01:25:02
     ◼
      
     ► 
     to do certain tasks or check updates for things. 
     
     
  
 
 
	 01:25:05
     ◼
      
     ► 
     And maybe that's waking up for that reason 
     
     
  
 
 
	 01:25:08
     ◼
      
     ► 
     and something is going wrong in that process 
     
     
  
 
 
	 01:25:10
     ◼
      
     ► 
     where it then wakes the whole computer up for some reason. 
     
     
  
 
 
	 01:25:13
     ◼
      
     ► 
     My third guess is USB devices. 
     
     
  
 
 
	 01:25:17
     ◼
      
     ► 
     Anything plugged into USB seems to be able 
     
     
  
 
 
	 01:25:20
     ◼
      
     ► 
     to do weird things to computers when it doesn't work right. 
     
     
  
 
 
	 01:25:23
     ◼
      
     ► 
     And maybe this is one of those weird things that can do it. 
     
     
  
 
 
	 01:25:25
     ◼
      
     ► 
     - Oh, but supposedly only Ethernet is plugged in. 
     
     
  
 
 
	 01:25:28
     ◼
      
     ► 
     - Oh yeah, the only thing plugged in, eh, hmm. 
     
     
  
 
 
	 01:25:30
     ◼
      
     ► 
     - Oh wait, what about Wake on LAN? 
     
     
  
 
 
	 01:25:31
     ◼
      
     ► 
     Wake on LAN is the same. - Yeah, that's what 
     
     
  
 
 
	 01:25:32
     ◼
      
     ► 
     I was just saying, yeah, some kind of like, 
     
     
  
 
 
	 01:25:33
     ◼
      
     ► 
     yeah, it could be Wake on, I mean, 
     
     
  
 
 
	 01:25:35
     ◼
      
     ► 
     I don't know how Wake on LAN ever worked. 
     
     
  
 
 
	 01:25:37
     ◼
      
     ► 
     I don't know what that is. - It still works. 
     
     
  
 
 
	 01:25:39
     ◼
      
     ► 
     - Does it? - I know it works 
     
     
  
 
 
	 01:25:39
     ◼
      
     ► 
     'cause I have it turned off on the machines 
     
     
  
 
 
	 01:25:40
     ◼
      
     ► 
     I don't want it to work on. 
     
     
  
 
 
	 01:25:41
     ◼
      
     ► 
     It's real important that it be turned off. 
     
     
  
 
 
	 01:25:43
     ◼
      
     ► 
     - All right, so John, as the only one of us 
     
     
  
 
 
	 01:25:44
     ◼
      
     ► 
     I think that actually uses sleep on a regular basis 
     
     
  
 
 
	 01:25:46
     ◼
      
     ► 
     on the computer. 
     
     
  
 
 
	 01:25:47
     ◼
      
     ► 
     What is this? 
     
     
  
 
 
	 01:25:49
     ◼
      
     ► 
     - Are you shutting down? 
     
     
  
 
 
	 01:25:50
     ◼
      
     ► 
     What are you not using sleep for? 
     
     
  
 
 
	 01:25:51
     ◼
      
     ► 
     - Well, I'm like, I throw the mouse in the corner, 
     
     
  
 
 
	 01:25:53
     ◼
      
     ► 
     which is my hot corner to turn the display off, 
     
     
  
 
 
	 01:25:55
     ◼
      
     ► 
     and then I walk away. 
     
     
  
 
 
	 01:25:55
     ◼
      
     ► 
     - Yep, yeah, all right. 
     
     
  
 
 
	 01:25:57
     ◼
      
     ► 
     Anyway, I do sleep my computer. 
     
     
  
 
 
	 01:25:59
     ◼
      
     ► 
     I have experience, not with this particular computer, 
     
     
  
 
 
	 01:26:01
     ◼
      
     ► 
     but in my many years, I have lots of experience 
     
     
  
 
 
	 01:26:03
     ◼
      
     ► 
     battling sleep/wake things. 
     
     
  
 
 
	 01:26:05
     ◼
      
     ► 
     Marco covered most of the bases. 
     
     
  
 
 
	 01:26:06
     ◼
      
     ► 
     Like, the procedure you go through is like, 
     
     
  
 
 
	 01:26:08
     ◼
      
     ► 
     oh, just removing all the peripherals 
     
     
  
 
 
	 01:26:09
     ◼
      
     ► 
     to eliminate sources of, you know, 
     
     
  
 
 
	 01:26:11
     ◼
      
     ► 
     what could possibly be causing it, 
     
     
  
 
 
	 01:26:13
     ◼
      
     ► 
     and you end up in the Mac OS 10 days, 
     
     
  
 
 
	 01:26:14
     ◼
      
     ► 
     you end up looking in the console log, 
     
     
  
 
 
	 01:26:17
     ◼
      
     ► 
     'cause every time your Mac wakes, 
     
     
  
 
 
	 01:26:18
     ◼
      
     ► 
     it will have a wake reason and it will list it 
     
     
  
 
 
	 01:26:20
     ◼
      
     ► 
     and you try to correlate that. 
     
     
  
 
 
	 01:26:21
     ◼
      
     ► 
     And it's just this debugging process I've done many times. 
     
     
  
 
 
	 01:26:24
     ◼
      
     ► 
     I remember doing it like my Power Mac G5, 
     
     
  
 
 
	 01:26:26
     ◼
      
     ► 
     which has lots of weird issues with this. 
     
     
  
 
 
	 01:26:28
     ◼
      
     ► 
     And I would eventually find what it is. 
     
     
  
 
 
	 01:26:29
     ◼
      
     ► 
     Oh, it's this USB hub. 
     
     
  
 
 
	 01:26:31
     ◼
      
     ► 
     Oh, it's this one app doing this thing. 
     
     
  
 
 
	 01:26:32
     ◼
      
     ► 
     You know, there's this thing where you can use 
     
     
  
 
 
	 01:26:34
     ◼
      
     ► 
     in the command line to see what's taking power assertions 
     
     
  
 
 
	 01:26:35
     ◼
      
     ► 
     to stop it from sleeping, what's waking it up. 
     
     
  
 
 
	 01:26:38
     ◼
      
     ► 
     Luckily, you don't have to go through all that stuff 
     
     
  
 
 
	 01:26:41
     ◼
      
     ► 
     that I just described because there is a cool new app 
     
     
  
 
 
	 01:26:43
     ◼
      
     ► 
     called Sleep Aid. 
     
     
  
 
 
	 01:26:44
     ◼
      
     ► 
     that is entirely, I mean, believe it, 
     
     
  
 
 
	 01:26:46
     ◼
      
     ► 
     this is kind of a condemnation of Mac, 
     
     
  
 
 
	 01:26:48
     ◼
      
     ► 
     of Apple's operating system, 
     
     
  
 
 
	 01:26:49
     ◼
      
     ► 
     but the entire purpose of this app 
     
     
  
 
 
	 01:26:51
     ◼
      
     ► 
     is to figure out what the hell is going on 
     
     
  
 
 
	 01:26:53
     ◼
      
     ► 
     with your Mac in sleep. 
     
     
  
 
 
	 01:26:54
     ◼
      
     ► 
     So you leave this app running all the time 
     
     
  
 
 
	 01:26:56
     ◼
      
     ► 
     and it does what I was just describing 
     
     
  
 
 
	 01:26:59
     ◼
      
     ► 
     and puts a GUI on it. 
     
     
  
 
 
	 01:27:00
     ◼
      
     ► 
     It's always watching the console. 
     
     
  
 
 
	 01:27:01
     ◼
      
     ► 
     It's always checking what has power assertions. 
     
     
  
 
 
	 01:27:03
     ◼
      
     ► 
     It does amazing amount of stuff. 
     
     
  
 
 
	 01:27:06
     ◼
      
     ► 
     I don't know if it will solve your sleep problem, 
     
     
  
 
 
	 01:27:08
     ◼
      
     ► 
     but I can tell you when I saw this app, I'm like, 
     
     
  
 
 
	 01:27:10
     ◼
      
     ► 
     they made an app to do that stuff I was doing 
     
     
  
 
 
	 01:27:12
     ◼
      
     ► 
     and it looks great. 
     
     
  
 
 
	 01:27:14
     ◼
      
     ► 
     If I had a sleep problem, this is the first thing I would try. 
     
     
  
 
 
	 01:27:16
     ◼
      
     ► 
     Because trying to describe to someone how they can try 
     
     
  
 
 
	 01:27:20
     ◼
      
     ► 
     to debug this themselves, it's impossible. 
     
     
  
 
 
	 01:27:21
     ◼
      
     ► 
     But you can just say, try this app. 
     
     
  
 
 
	 01:27:24
     ◼
      
     ► 
     Maybe it will help. 
     
     
  
 
 
	 01:27:24
     ◼
      
     ► 
     The app itself is also complicated. 
     
     
  
 
 
	 01:27:26
     ◼
      
     ► 
     Don't think this is a simple app. 
     
     
  
 
 
	 01:27:28
     ◼
      
     ► 
     It is also very complicated. 
     
     
  
 
 
	 01:27:29
     ◼
      
     ► 
     And you have to-- looking at this app 
     
     
  
 
 
	 01:27:31
     ◼
      
     ► 
     and figuring out what it's trying to tell you 
     
     
  
 
 
	 01:27:33
     ◼
      
     ► 
     and what action you can take may be difficult. 
     
     
  
 
 
	 01:27:36
     ◼
      
     ► 
     But it's better than the alternative. 
     
     
  
 
 
	 01:27:37
     ◼
      
     ► 
     So that's my suggestion. 
     
     
  
 
 
	 01:27:39
     ◼
      
     ► 
     Check out Sleep Aid. 
     
     
  
 
 
	 01:27:40
     ◼
      
     ► 
     And if that doesn't work, disconnect everything 
     
     
  
 
 
	 01:27:41
     ◼
      
     ► 
     from your computer forever. 
     
     
  
 
 
	 01:27:42
     ◼
      
     ► 
     if that doesn't work, get a new computer. 
     
     
  
 
 
 
	 01:27:46
     ◼
      
     ► 
     - I've noticed that on my otherwise 
     
     
  
 
 
	 01:27:48
     ◼
      
     ► 
     almost flawless MacBook Pro, it will, 
     
     
  
 
 
	 01:27:51
     ◼
      
     ► 
     every two or three days, it'll just decide 
     
     
  
 
 
	 01:27:53
     ◼
      
     ► 
     to reboot itself for reasons. 
     
     
  
 
 
	 01:27:55
     ◼
      
     ► 
     And I haven't spent the time to debug this yet, 
     
     
  
 
 
	 01:27:58
     ◼
      
     ► 
     but I remember seeing in the little dialogue that pops up, 
     
     
  
 
 
	 01:28:00
     ◼
      
     ► 
     you know, it's Marco's favorite, 
     
     
  
 
 
	 01:28:01
     ◼
      
     ► 
     your computer was shut down because of a problem. 
     
     
  
 
 
	 01:28:04
     ◼
      
     ► 
     But anyways, in the dialogue-- 
     
     
  
 
 
	 01:28:05
     ◼
      
     ► 
     - No, my favorite is the one that says, 
     
     
  
 
 
	 01:28:07
     ◼
      
     ► 
     you shut down your computer-- 
     
     
  
 
 
	 01:28:09
     ◼
      
     ► 
     - Oh, that's right, that's right. 
     
     
  
 
 
	 01:28:10
     ◼
      
     ► 
     - Because it was like, I sure didn't! 
     
     
  
 
 
	 01:28:11
     ◼
      
     ► 
     - Right, right. 
     
     
  
 
 
	 01:28:13
     ◼
      
     ► 
     So anyway, so I've seen like a watchdog timeout 
     
     
  
 
 
	 01:28:15
     ◼
      
     ► 
     of like 120 seconds for something. 
     
     
  
 
 
	 01:28:17
     ◼
      
     ► 
     I can't remember what it is off some of it. 
     
     
  
 
 
	 01:28:19
     ◼
      
     ► 
     - That's the one you see all the time. 
     
     
  
 
 
	 01:28:20
     ◼
      
     ► 
     - Yeah, so I really would love to know why this is happening 
     
     
  
 
 
	 01:28:23
     ◼
      
     ► 
     and every time I submit the report and every time I write, 
     
     
  
 
 
	 01:28:26
     ◼
      
     ► 
     what is your comment for this report? 
     
     
  
 
 
	 01:28:28
     ◼
      
     ► 
     - I was asleep when this happened. 
     
     
  
 
 
	 01:28:29
     ◼
      
     ► 
     - The computer was sitting idle 
     
     
  
 
 
	 01:28:31
     ◼
      
     ► 
     or sometimes the computer was in the midst of shutting down 
     
     
  
 
 
	 01:28:34
     ◼
      
     ► 
     and or rebooting, which is also a time when I get this 
     
     
  
 
 
	 01:28:37
     ◼
      
     ► 
     on next boot, which is super fun. 
     
     
  
 
 
	 01:28:40
     ◼
      
     ► 
     But anyway, I need to try to figure out what that is. 
     
     
  
 
 
	 01:28:42
     ◼
      
     ► 
     So if you've had a similar problem 
     
     
  
 
 
	 01:28:43
     ◼
      
     ► 
     and you have a fix you want to let me know about, 
     
     
  
 
 
	 01:28:45
     ◼
      
     ► 
     please let me know. 
     
     
  
 
 
	 01:28:46
     ◼
      
     ► 
     - Someone in the chat room is saying, 
     
     
  
 
 
	 01:28:47
     ◼
      
     ► 
     how just sleeping in your computer 
     
     
  
 
 
	 01:28:48
     ◼
      
     ► 
     is a recipe for disaster. 
     
     
  
 
 
	 01:28:50
     ◼
      
     ► 
     Let me tell you, I've been using computers this way 
     
     
  
 
 
	 01:28:52
     ◼
      
     ► 
     ever since the dawn of sleep. 
     
     
  
 
 
	 01:28:53
     ◼
      
     ► 
     I do not shut down my computer. 
     
     
  
 
 
	 01:28:55
     ◼
      
     ► 
     When I'm done using it for the day, 
     
     
  
 
 
	 01:28:57
     ◼
      
     ► 
     I put it to sleep, and then when I use it again 
     
     
  
 
 
	 01:28:59
     ◼
      
     ► 
     in the morning, I wake it up. 
     
     
  
 
 
	 01:29:00
     ◼
      
     ► 
     Sleep and wake are great. 
     
     
  
 
 
	 01:29:01
     ◼
      
     ► 
     I have some other computers that never sleep 
     
     
  
 
 
	 01:29:03
     ◼
      
     ► 
     because they're like servers, they're running Plex, 
     
     
  
 
 
	 01:29:05
     ◼
      
     ► 
     they're doing all sorts of other stuff, right? 
     
     
  
 
 
	 01:29:06
     ◼
      
     ► 
     But my main computer, I always put to sleep. 
     
     
  
 
 
	 01:29:09
     ◼
      
     ► 
     That should not be a problem, and in general, it is not. 
     
     
  
 
 
	 01:29:12
     ◼
      
     ► 
     Occasionally it has been. 
     
     
  
 
 
	 01:29:13
     ◼
      
     ► 
     Again, my Power Mac G5 back in the day 
     
     
  
 
 
	 01:29:14
     ◼
      
     ► 
     had real sleep problems, and I think laptops in particular 
     
     
  
 
 
	 01:29:17
     ◼
      
     ► 
     have all sorts of sleep problems. 
     
     
  
 
 
	 01:29:18
     ◼
      
     ► 
     But for desktop computers, 
     
     
  
 
 
	 01:29:21
     ◼
      
     ► 
     the only time I should ever have a problem with this, 
     
     
  
 
 
	 01:29:23
     ◼
      
     ► 
     or the only thing that should kill my uptime 
     
     
  
 
 
	 01:29:24
     ◼
      
     ► 
     is software updates. 
     
     
  
 
 
	 01:29:26
     ◼
      
     ► 
     When I have to update the operating system, 
     
     
  
 
 
	 01:29:27
     ◼
      
     ► 
     that's when I reboot. 
     
     
  
 
 
	 01:29:28
     ◼
      
     ► 
     And in practice, that's pretty much how it works. 
     
     
  
 
 
	 01:29:30
     ◼
      
     ► 
     Like, I only restart, if I'm restarting into Windows 
     
     
  
 
 
	 01:29:34
     ◼
      
     ► 
     to play a Windows game or something, 
     
     
  
 
 
	 01:29:36
     ◼
      
     ► 
     or if there's a software update. 
     
     
  
 
 
	 01:29:38
     ◼
      
     ► 
     There's nothing inherent in computers that says, 
     
     
  
 
 
	 01:29:41
     ◼
      
     ► 
     oh, you have to shut down everyone's 
     
     
  
 
 
	 01:29:42
     ◼
      
     ► 
     so I'll clean everything out. 
     
     
  
 
 
	 01:29:43
     ◼
      
     ► 
     If the operating system is working, 
     
     
  
 
 
	 01:29:44
     ◼
      
     ► 
     and yes, maybe if you have 96 gigs of RAM like I do, 
     
     
  
 
 
	 01:29:47
     ◼
      
     ► 
     everything should be fine. 
     
     
  
 
 
	 01:29:48
     ◼
      
     ► 
     And in practice, it is. 
     
     
  
 
 
	 01:29:50
     ◼
      
     ► 
     So again, I don't vouch for laptops, 
     
     
  
 
 
	 01:29:53
     ◼
      
     ► 
     but I don't think it's a good decision to think that 
     
     
  
 
 
	 01:29:58
     ◼
      
     ► 
     that's never gonna work so I shouldn't try it. 
     
     
  
 
 
	 01:29:59
     ◼
      
     ► 
     It should work, and it does work the majority of the time. 
     
     
  
 
 
	 01:30:03
     ◼
      
     ► 
     Maybe it's 51%. 
     
     
  
 
 
	 01:30:04
     ◼
      
     ► 
     I don't know what the worldwide percentage is, 
     
     
  
 
 
	 01:30:06
     ◼
      
     ► 
     but as far as I'm concerned, 
     
     
  
 
 
	 01:30:07
     ◼
      
     ► 
     I will battle my computer until that is the case, 
     
     
  
 
 
	 01:30:10
     ◼
      
     ► 
     if I have to. 
     
     
  
 
 
	 01:30:11
     ◼
      
     ► 
     That's why I have all the experience 
     
     
  
 
 
	 01:30:12
     ◼
      
     ► 
     fighting weird sleep things, right? 
     
     
  
 
 
	 01:30:13
     ◼
      
     ► 
     If I'm waking up and stuff like that. 
     
     
  
 
 
	 01:30:15
     ◼
      
     ► 
     In fact, like I said, not only do I sleep my thing 
     
     
  
 
 
	 01:30:17
     ◼
      
     ► 
     every night, I have stuff scheduled to wake it up 
     
     
  
 
 
	 01:30:20
     ◼
      
     ► 
     in the middle of the night to do local time machine backups 
     
     
  
 
 
	 01:30:22
     ◼
      
     ► 
     and super duper clones, and then it goes back to sleep. 
     
     
  
 
 
	 01:30:25
     ◼
      
     ► 
     So when I come in the morning, my computer is asleep, 
     
     
  
 
 
	 01:30:27
     ◼
      
     ► 
     but it did stuff usefully during the night, 
     
     
  
 
 
	 01:30:29
     ◼
      
     ► 
     and yes, that's a feature that the Mac has 
     
     
  
 
 
	 01:30:31
     ◼
      
     ► 
     where you can schedule-- 
     
     
  
 
 
	 01:30:32
     ◼
      
     ► 
     - Got up, went to the bathroom. 
     
     
  
 
 
 
	 01:30:34
     ◼
      
     ► 
     - You can schedule wake times. 
     
     
  
 
 
	 01:30:35
     ◼
      
     ► 
     You can tell, you wake up at this time 
     
     
  
 
 
	 01:30:37
     ◼
      
     ► 
     and then go back to sleep at this time. 
     
     
  
 
 
	 01:30:38
     ◼
      
     ► 
     And of course, when it wakes up, 
     
     
  
 
 
	 01:30:40
     ◼
      
     ► 
     I have these little programs that run, 
     
     
  
 
 
	 01:30:42
     ◼
      
     ► 
     they're just Perl scripts that do a bunch of stuff. 
     
     
  
 
 
	 01:30:44
     ◼
      
     ► 
     From those scripts, you can then tell it 
     
     
  
 
 
	 01:30:45
     ◼
      
     ► 
     to go back to sleep when it's done. 
     
     
  
 
 
	 01:30:47
     ◼
      
     ► 
     Like, that's what my computer does all the time, 
     
     
  
 
 
	 01:30:50
     ◼
      
     ► 
     and it's fine, like it does not cause any problems. 
     
     
  
 
 
	 01:30:53
     ◼
      
     ► 
     It shouldn't cause problems. 
     
     
  
 
 
	 01:30:54
     ◼
      
     ► 
     If you have a weird laptop and it does, 
     
     
  
 
 
	 01:30:55
     ◼
      
     ► 
     I'm sorry, you have a desktop. 
     
     
  
 
 
 
	 01:30:58
     ◼
      
     ► 
     - I have so many problems with my 13 inch now. 
     
     
  
 
 
	 01:31:01
     ◼
      
     ► 
     Well, 14, excuse me, now it's 14. 
     
     
  
 
 
 
	 01:31:05
     ◼
      
     ► 
     I have to reboot it every few days for some weird thing. 
     
     
  
 
 
	 01:31:09
     ◼
      
     ► 
     Usually it's like, that is my FaceTime laptop 
     
     
  
 
 
	 01:31:14
     ◼
      
     ► 
     when we do our workouts. 
     
     
  
 
 
	 01:31:16
     ◼
      
     ► 
     Most of the time, if I haven't rebooted it in a few days, 
     
     
  
 
 
	 01:31:19
     ◼
      
     ► 
     it just won't ring for the FaceTime call. 
     
     
  
 
 
	 01:31:22
     ◼
      
     ► 
     The FaceTime call will not come into it for some reason. 
     
     
  
 
 
	 01:31:25
     ◼
      
     ► 
     And I'll have to reboot it for it to receive 
     
     
  
 
 
	 01:31:28
     ◼
      
     ► 
     FaceTime calls reliably. 
     
     
  
 
 
	 01:31:29
     ◼
      
     ► 
     So that's part of my routine now is like, 
     
     
  
 
 
	 01:31:31
     ◼
      
     ► 
     every Monday, Wednesday, and Friday, 
     
     
  
 
 
	 01:31:33
     ◼
      
     ► 
     right before the workout, I reboot my laptop 
     
     
  
 
 
	 01:31:35
     ◼
      
     ► 
     because otherwise it's not reliable. 
     
     
  
 
 
	 01:31:38
     ◼
      
     ► 
     That's the same one that a few weeks ago 
     
     
  
 
 
	 01:31:41
     ◼
      
     ► 
     it started occasionally not accepting power 
     
     
  
 
 
	 01:31:44
     ◼
      
     ► 
     or charging input sometimes until I power it off 
     
     
  
 
 
	 01:31:48
     ◼
      
     ► 
     and power it back on again. 
     
     
  
 
 
	 01:31:50
     ◼
      
     ► 
     So it's having a fun time. 
     
     
  
 
 
	 01:31:53
     ◼
      
     ► 
     Spoiler alert, I ordered a MacBook Air 
     
     
  
 
 
	 01:31:55
     ◼
      
     ► 
     in part because I want to send that laptop in for service 
     
     
  
 
 
	 01:31:59
     ◼
      
     ► 
     and I wanna have something I can use 
     
     
  
 
 
	 01:32:01
     ◼
      
     ► 
     as a spare in the meantime because right now 
     
     
  
 
 
	 01:32:02
     ◼
      
     ► 
     I basically have no spares. 
     
     
  
 
 
	 01:32:04
     ◼
      
     ► 
     I need a spare for both reasons like that, 
     
     
  
 
 
	 01:32:07
     ◼
      
     ► 
     and also I want something I can run the beta on. 
     
     
  
 
 
	 01:32:09
     ◼
      
     ► 
     And as a podcaster, not only am I obligated 
     
     
  
 
 
	 01:32:12
     ◼
      
     ► 
     to buy everything Apple releases, 
     
     
  
 
 
	 01:32:14
     ◼
      
     ► 
     so I can quote talk about it, 
     
     
  
 
 
	 01:32:15
     ◼
      
     ► 
     but also as a podcaster, I'm required not to use 
     
     
  
 
 
	 01:32:18
     ◼
      
     ► 
     a beta version of Mac OS on any computer 
     
     
  
 
 
	 01:32:21
     ◼
      
     ► 
     I ever need to use to record podcasts. 
     
     
  
 
 
	 01:32:23
     ◼
      
     ► 
     And so, I need a spare. 
     
     
  
 
 
	 01:32:26
     ◼
      
     ► 
     - I've got Ventura, but it's on an external disk, 
     
     
  
 
 
	 01:32:28
     ◼
      
     ► 
     and that's the other reason I reboot. 
     
     
  
 
 
	 01:32:30
     ◼
      
     ► 
     I looked at all my uptime notes, and I realized, 
     
     
  
 
 
	 01:32:31
     ◼
      
     ► 
     Oh, I was rebooting a venture to look at stuff before last week's show. 
     
     
  
 
 
	 01:32:35
     ◼
      
     ► 
     Some guy writes, "What do you guys do when someone changes a phone number? 
     
     
  
 
 
	 01:32:38
     ◼
      
     ► 
     I used to delete them, but if I ever search my past conversation, those messages show 
     
     
  
 
 
	 01:32:42
     ◼
      
     ► 
     up as a phone number without a name. 
     
     
  
 
 
	 01:32:44
     ◼
      
     ► 
     I guess this makes sense, since I deleted the number from my friend's contact, it's 
     
     
  
 
 
	 01:32:47
     ◼
      
     ► 
     no longer associated with their name. 
     
     
  
 
 
	 01:32:49
     ◼
      
     ► 
     Since then I used to keep two versions of a contact, one marked deprecated so I wouldn't 
     
     
  
 
 
	 01:32:52
     ◼
      
     ► 
     lose our old conversations. 
     
     
  
 
 
	 01:32:53
     ◼
      
     ► 
     However, iOS is so suggestive about merging contacts now that I can't do this anymore. 
     
     
  
 
 
	 01:32:57
     ◼
      
     ► 
     I've tried labeling phone numbers as old phone, but iOS sometimes sends the message to the 
     
     
  
 
 
	 01:33:01
     ◼
      
     ► 
     the old phone. 
     
     
  
 
 
	 01:33:02
     ◼
      
     ► 
     For months I thought my mom didn't reply to my text messages. 
     
     
  
 
 
	 01:33:05
     ◼
      
     ► 
     Turns out I was messaging her old phone. 
     
     
  
 
 
	 01:33:07
     ◼
      
     ► 
     Is there a way to fix this without losing all the old messages I have with my mom? 
     
     
  
 
 
	 01:33:10
     ◼
      
     ► 
     I gotta be honest with you, I've never had this problem when somebody changes a phone 
     
     
  
 
 
	 01:33:13
     ◼
      
     ► 
     number which almost never happens anymore. 
     
     
  
 
 
	 01:33:15
     ◼
      
     ► 
     I change their phone number in the contact and I have never run into an issue. 
     
     
  
 
 
	 01:33:19
     ◼
      
     ► 
     Am I missing something? 
     
     
  
 
 
	 01:33:20
     ◼
      
     ► 
     I run into this all the time, not just with phone numbers. 
     
     
  
 
 
	 01:33:23
     ◼
      
     ► 
     It's a practice, I feel the same way. 
     
     
  
 
 
	 01:33:25
     ◼
      
     ► 
     So I have, even for myself, just forget about contacts, just for myself, the "me" contact 
     
     
  
 
 
	 01:33:29
     ◼
      
     ► 
     as they call it. 
     
     
  
 
 
	 01:33:31
     ◼
      
     ► 
     everyone has screwed up on their phone by the way. 
     
     
  
 
 
	 01:33:32
     ◼
      
     ► 
     We look at someone's phone and realize their me contact is nonsense and they have a separate 
     
     
  
 
 
	 01:33:35
     ◼
      
     ► 
     contact for themselves. 
     
     
  
 
 
	 01:33:36
     ◼
      
     ► 
     Anyway, I've had many email addresses over my life and I feel like the way contacts should 
     
     
  
 
 
	 01:33:44
     ◼
      
     ► 
     work is I should be able to put every email address I've ever had in contacts so that 
     
     
  
 
 
	 01:33:49
     ◼
      
     ► 
     when I'm looking at mail or something like that, if there's some email from decades ago, 
     
     
  
 
 
	 01:33:54
     ◼
      
     ► 
     it knows that it was me because it says, "Oh, this email address at this company you used 
     
     
  
 
 
	 01:33:57
     ◼
      
     ► 
     to work for dot com. 
     
     
  
 
 
	 01:33:58
     ◼
      
     ► 
     Yeah, that's you. 
     
     
  
 
 
	 01:33:59
     ◼
      
     ► 
     remember it's you because that address is in your contacts. 
     
     
  
 
 
	 01:34:02
     ◼
      
     ► 
     But I would like to be able to tell contacts is, 
     
     
  
 
 
	 01:34:04
     ◼
      
     ► 
     "Hey, these are the addresses that I'm using now 
     
     
  
 
 
	 01:34:07
     ◼
      
     ► 
     "in priority order, and then these are my old addresses." 
     
     
  
 
 
	 01:34:11
     ◼
      
     ► 
     That doesn't seem like rocket science, 
     
     
  
 
 
	 01:34:13
     ◼
      
     ► 
     but contacts on Apple's platforms has no idea about that. 
     
     
  
 
 
	 01:34:16
     ◼
      
     ► 
     You can set them to home or work or old phone or other, 
     
     
  
 
 
	 01:34:18
     ◼
      
     ► 
     but like, I have no idea. 
     
     
  
 
 
	 01:34:21
     ◼
      
     ► 
     For instance, when I type in A-L-E, 
     
     
  
 
 
	 01:34:23
     ◼
      
     ► 
     I try to autocomplete Alex to message him, 
     
     
  
 
 
	 01:34:26
     ◼
      
     ► 
     it always offers me his phone number. 
     
     
  
 
 
	 01:34:28
     ◼
      
     ► 
     And yeah, you can tap through it and pick like his iCloud 
     
     
  
 
 
	 01:34:31
     ◼
      
     ► 
     email address so I can do message or whatever. 
     
     
  
 
 
	 01:34:33
     ◼
      
     ► 
     But it just makes me do that every time. 
     
     
  
 
 
	 01:34:35
     ◼
      
     ► 
     Other people, it suggests their email address. 
     
     
  
 
 
	 01:34:37
     ◼
      
     ► 
     Very often when people are messaging me 
     
     
  
 
 
	 01:34:39
     ◼
      
     ► 
     and in their contacts they have five of my email addresses 
     
     
  
 
 
	 01:34:42
     ◼
      
     ► 
     plus my phone number, what does this suggest to them? 
     
     
  
 
 
	 01:34:44
     ◼
      
     ► 
     Does it suggest my phone number? 
     
     
  
 
 
	 01:34:45
     ◼
      
     ► 
     Does it suggest one of my email addresses? 
     
     
  
 
 
	 01:34:46
     ◼
      
     ► 
     If so, which email address? 
     
     
  
 
 
	 01:34:47
     ◼
      
     ► 
     I have no idea how contacts is choosing 
     
     
  
 
 
	 01:34:49
     ◼
      
     ► 
     between these things. 
     
     
  
 
 
	 01:34:50
     ◼
      
     ► 
     Please, Apple, in your contacts, 
     
     
  
 
 
	 01:34:53
     ◼
      
     ► 
     A, let us mark addresses as like old historical reasons 
     
     
  
 
 
	 01:34:56
     ◼
      
     ► 
     just so it can continue to associate them 
     
     
  
 
 
	 01:34:58
     ◼
      
     ► 
     with our name correctly. 
     
     
  
 
 
	 01:34:59
     ◼
      
     ► 
     And B, let us prioritize the order. 
     
     
  
 
 
	 01:35:02
     ◼
      
     ► 
     Primary email, secondary email. 
     
     
  
 
 
	 01:35:03
     ◼
      
     ► 
     I know you can label the home at work, 
     
     
  
 
 
	 01:35:05
     ◼
      
     ► 
     but that apparently means nothing 
     
     
  
 
 
	 01:35:06
     ◼
      
     ► 
     because I have no idea how it picks. 
     
     
  
 
 
	 01:35:07
     ◼
      
     ► 
     Why does it pick a phone number for my son 
     
     
  
 
 
	 01:35:09
     ◼
      
     ► 
     but the email address for my daughter? 
     
     
  
 
 
	 01:35:10
     ◼
      
     ► 
     They both have phone numbers and email addresses. 
     
     
  
 
 
	 01:35:12
     ◼
      
     ► 
     How is it picking? 
     
     
  
 
 
	 01:35:13
     ◼
      
     ► 
     If I keep repeatedly manually picking email address, 
     
     
  
 
 
	 01:35:15
     ◼
      
     ► 
     will it eventually learn? 
     
     
  
 
 
 
	 01:35:18
     ◼
      
     ► 
     Very frustrating. 
     
     
  
 
 
	 01:35:19
     ◼
      
     ► 
     I feel this pain. 
     
     
  
 
 
	 01:35:20
     ◼
      
     ► 
     To answer the question, no, I don't delete them. 
     
     
  
 
 
	 01:35:21
     ◼
      
     ► 
     I leave them in there because it annoys me 
     
     
  
 
 
	 01:35:23
     ◼
      
     ► 
     if I go through some old email 
     
     
  
 
 
	 01:35:25
     ◼
      
     ► 
     and it doesn't have my name associated with it anymore. 
     
     
  
 
 
	 01:35:27
     ◼
      
     ► 
     It should know that I used to work at oldcompany.com forever. 
     
     
  
 
 
	 01:35:31
     ◼
      
     ► 
     And I don't understand why I should have to lie to it 
     
     
  
 
 
	 01:35:33
     ◼
      
     ► 
     and delete that and have it not know 
     
     
  
 
 
	 01:35:35
     ◼
      
     ► 
     that those email addresses belong to me anymore. 
     
     
  
 
 
	 01:35:37
     ◼
      
     ► 
     - Carl Rosas writes, "With all the talk 
     
     
  
 
 
	 01:35:39
     ◼
      
     ► 
     "about Twitter recently," and I should add 
     
     
  
 
 
	 01:35:41
     ◼
      
     ► 
     that this was sent in a couple of months back, 
     
     
  
 
 
	 01:35:43
     ◼
      
     ► 
     "I'm just curious, what would it take for you 
     
     
  
 
 
	 01:35:44
     ◼
      
     ► 
     "to stop reading Twitter regularly? 
     
     
  
 
 
	 01:35:46
     ◼
      
     ► 
     "What would it take for you to stop posting 
     
     
  
 
 
	 01:35:47
     ◼
      
     ► 
     "to Twitter regularly? 
     
     
  
 
 
	 01:35:48
     ◼
      
     ► 
     "What alternatives would you consider?" 
     
     
  
 
 
	 01:35:50
     ◼
      
     ► 
     Oh, I am addicted to that hell site, 
     
     
  
 
 
	 01:35:53
     ◼
      
     ► 
     There's nothing you can take over my cold dead hands. 
     
     
  
 
 
	 01:35:55
     ◼
      
     ► 
     Now, I honestly don't know. 
     
     
  
 
 
	 01:35:57
     ◼
      
     ► 
     I really don't. 
     
     
  
 
 
	 01:35:58
     ◼
      
     ► 
     Like, it's a reasonable question 
     
     
  
 
 
	 01:35:59
     ◼
      
     ► 
     to which I don't have a good answer. 
     
     
  
 
 
	 01:36:00
     ◼
      
     ► 
     I'm sure some way, somehow, 
     
     
  
 
 
	 01:36:02
     ◼
      
     ► 
     there could be something that breaks 
     
     
  
 
 
	 01:36:04
     ◼
      
     ► 
     that causes me to stop using it. 
     
     
  
 
 
	 01:36:06
     ◼
      
     ► 
     But honestly, as awful as Twitter can be, 
     
     
  
 
 
	 01:36:10
     ◼
      
     ► 
     it's also kind of amazing. 
     
     
  
 
 
	 01:36:12
     ◼
      
     ► 
     This sounds like SwiftUI. 
     
     
  
 
 
	 01:36:13
     ◼
      
     ► 
     So SwiftUI is like Twitter. 
     
     
  
 
 
	 01:36:14
     ◼
      
     ► 
     That's the takeaway from today's episode, everyone. 
     
     
  
 
 
	 01:36:17
     ◼
      
     ► 
     - SwiftUI is way better than Twitter. 
     
     
  
 
 
 
	 01:36:20
     ◼
      
     ► 
     - But I don't know. 
     
     
  
 
 
	 01:36:21
     ◼
      
     ► 
     I feel like I post considerably less often than I used to, which is probably healthy 
     
     
  
 
 
 
	 01:36:29
     ◼
      
     ► 
     But I don't know, I still interact with friends on Twitter. 
     
     
  
 
 
	 01:36:32
     ◼
      
     ► 
     I still get almost all my news from Twitter, which is, again, probably not healthy. 
     
     
  
 
 
	 01:36:38
     ◼
      
     ► 
     I don't know. 
     
     
  
 
 
	 01:36:39
     ◼
      
     ► 
     There's nothing that I've found that has effectively replaced it. 
     
     
  
 
 
	 01:36:44
     ◼
      
     ► 
     And I think there are alternatives I could and would turn to, like micro.blog. 
     
     
  
 
 
	 01:36:50
     ◼
      
     ► 
     But I don't know, I can't wean myself off of it 
     
     
  
 
 
	 01:36:54
     ◼
      
     ► 
     no matter how hard I try. 
     
     
  
 
 
	 01:36:56
     ◼
      
     ► 
     - I'll start with the end of the question 
     
     
  
 
 
	 01:36:57
     ◼
      
     ► 
     and work backwards. 
     
     
  
 
 
	 01:36:58
     ◼
      
     ► 
     What alternatives would you consider? 
     
     
  
 
 
	 01:37:01
     ◼
      
     ► 
     This is kind of the key for me, 
     
     
  
 
 
	 01:37:02
     ◼
      
     ► 
     because we've seen alternatives to Twitter pop up 
     
     
  
 
 
	 01:37:06
     ◼
      
     ► 
     here and there over the years. 
     
     
  
 
 
	 01:37:07
     ◼
      
     ► 
     Most notably, I think, was App.net, 
     
     
  
 
 
	 01:37:09
     ◼
      
     ► 
     and now there's Mastodon and stuff like that. 
     
     
  
 
 
	 01:37:12
     ◼
      
     ► 
     You mentioned Microblog. 
     
     
  
 
 
	 01:37:13
     ◼
      
     ► 
     I think it's not quite an alternative. 
     
     
  
 
 
	 01:37:14
     ◼
      
     ► 
     It's kind of a different thing, 
     
     
  
 
 
	 01:37:15
     ◼
      
     ► 
     but it's in the ballpark, I think. 
     
     
  
 
 
	 01:37:17
     ◼
      
     ► 
     But ultimately, the ones that are more direct replacements, 
     
     
  
 
 
	 01:37:20
     ◼
      
     ► 
     Mastodon and formerly App.net. 
     
     
  
 
 
	 01:37:22
     ◼
      
     ► 
     The reason why App.net didn't work 
     
     
  
 
 
	 01:37:26
     ◼
      
     ► 
     and why I think Mastodon is always gonna be 
     
     
  
 
 
	 01:37:28
     ◼
      
     ► 
     kind of a specialty thing and not really ever 
     
     
  
 
 
	 01:37:31
     ◼
      
     ► 
     a mass market thing or a replacement for Twitter 
     
     
  
 
 
	 01:37:33
     ◼
      
     ► 
     in almost any way for almost anybody 
     
     
  
 
 
	 01:37:35
     ◼
      
     ► 
     is that the network effect is very strong 
     
     
  
 
 
	 01:37:37
     ◼
      
     ► 
     with this kind of thing and you don't really want 
     
     
  
 
 
	 01:37:40
     ◼
      
     ► 
     to leave social network for a much, much, much smaller one 
     
     
  
 
 
	 01:37:45
     ◼
      
     ► 
     for most reasons. 
     
     
  
 
 
	 01:37:47
     ◼
      
     ► 
     Now sometimes you do want that. 
     
     
  
 
 
	 01:37:48
     ◼
      
     ► 
     Sometimes you want like a small group kind of thing, 
     
     
  
 
 
	 01:37:50
     ◼
      
     ► 
     but usually when you want something to be smaller, 
     
     
  
 
 
	 01:37:54
     ◼
      
     ► 
     usually you want it to be private. 
     
     
  
 
 
	 01:37:56
     ◼
      
     ► 
     And so when you think about alternatives to Twitter, 
     
     
  
 
 
	 01:38:00
     ◼
      
     ► 
     for me, I have greatly reduced my Twitter usage 
     
     
  
 
 
	 01:38:03
     ◼
      
     ► 
     in recent years, in part because it's a hellscape, 
     
     
  
 
 
	 01:38:07
     ◼
      
     ► 
     and I'll get to that in a second, 
     
     
  
 
 
	 01:38:08
     ◼
      
     ► 
     but also in part because I've been spending 
     
     
  
 
 
	 01:38:11
     ◼
      
     ► 
     so much more time in private Slack and iMessage groups, 
     
     
  
 
 
	 01:38:15
     ◼
      
     ► 
     And I've been putting more stuff in other social networks 
     
     
  
 
 
	 01:38:18
     ◼
      
     ► 
     like Instagram that are kind of more, 
     
     
  
 
 
	 01:38:20
     ◼
      
     ► 
     like more what I'm going for at that moment. 
     
     
  
 
 
	 01:38:24
     ◼
      
     ► 
     I don't post on TikTok. 
     
     
  
 
 
	 01:38:26
     ◼
      
     ► 
     I do occasionally watch TikTok, 
     
     
  
 
 
	 01:38:28
     ◼
      
     ► 
     but I don't participate in it as a social network 
     
     
  
 
 
	 01:38:31
     ◼
      
     ► 
     in terms of producing. 
     
     
  
 
 
	 01:38:32
     ◼
      
     ► 
     So I'm only producing stuff on Twitter and Instagram. 
     
     
  
 
 
	 01:38:37
     ◼
      
     ► 
     And I've never used Snapchat. 
     
     
  
 
 
	 01:38:39
     ◼
      
     ► 
     I don't think they would let me in. 
     
     
  
 
 
	 01:38:40
     ◼
      
     ► 
     I think I'm too old. 
     
     
  
 
 
	 01:38:41
     ◼
      
     ► 
     And even if they did, I wouldn't know how to use it. 
     
     
  
 
 
	 01:38:43
     ◼
      
     ► 
     I barely understand how to use Instagram at this point. 
     
     
  
 
 
	 01:38:47
     ◼
      
     ► 
     Anyway, so I think what Twitter, 
     
     
  
 
 
	 01:38:52
     ◼
      
     ► 
     where the role Twitter has that I think would be hard 
     
     
  
 
 
	 01:38:56
     ◼
      
     ► 
     for me to replace it is in promoting stuff I do 
     
     
  
 
 
	 01:39:01
     ◼
      
     ► 
     and getting good questions answered from, 
     
     
  
 
 
	 01:39:06
     ◼
      
     ► 
     if I have a question like, 
     
     
  
 
 
	 01:39:07
     ◼
      
     ► 
     hey, why doesn't this thing work in SwiftUI? 
     
     
  
 
 
	 01:39:09
     ◼
      
     ► 
     I know I can post it on Twitter 
     
     
  
 
 
	 01:39:10
     ◼
      
     ► 
     and I can probably get an answer to that. 
     
     
  
 
 
	 01:39:13
     ◼
      
     ► 
     Or when something is happening right now 
     
     
  
 
 
	 01:39:15
     ◼
      
     ► 
     and I wanna know about it, 
     
     
  
 
 
	 01:39:16
     ◼
      
     ► 
     that's a place I know that I can go 
     
     
  
 
 
	 01:39:18
     ◼
      
     ► 
     and get updates constantly flooding in. 
     
     
  
 
 
	 01:39:20
     ◼
      
     ► 
     Now that being said, 
     
     
  
 
 
	 01:39:21
     ◼
      
     ► 
     in my time at Tumblr, 
     
     
  
 
 
	 01:39:24
     ◼
      
     ► 
     I would occasionally hear people complain like, 
     
     
  
 
 
	 01:39:27
     ◼
      
     ► 
     "Oh, Tumblr's really mad today." 
     
     
  
 
 
	 01:39:29
     ◼
      
     ► 
     And what that meant was the people I follow on Tumblr 
     
     
  
 
 
	 01:39:34
     ◼
      
     ► 
     are posting really mad things right now. 
     
     
  
 
 
	 01:39:36
     ◼
      
     ► 
     But that's a very different thing than the entire service. 
     
     
  
 
 
	 01:39:40
     ◼
      
     ► 
     The people you choose to follow 
     
     
  
 
 
	 01:39:42
     ◼
      
     ► 
     and, correspondingly, what you choose to post. 
     
     
  
 
 
	 01:39:45
     ◼
      
     ► 
     You know, people often complain that they're in traffic. 
     
     
  
 
 
	 01:39:49
     ◼
      
     ► 
     They don't usually complain that they are traffic. 
     
     
  
 
 
	 01:39:52
     ◼
      
     ► 
     You know, when you say like, 
     
     
  
 
 
	 01:39:53
     ◼
      
     ► 
     Twitter's only mad right now, 
     
     
  
 
 
	 01:39:54
     ◼
      
     ► 
     well if you're posting, getting all mad, 
     
     
  
 
 
	 01:39:55
     ◼
      
     ► 
     or retweeting everyone else's mad stuff, 
     
     
  
 
 
	 01:39:57
     ◼
      
     ► 
     you're also part of that. 
     
     
  
 
 
	 01:39:58
     ◼
      
     ► 
     Anyway, so backing that up a second, 
     
     
  
 
 
	 01:40:00
     ◼
      
     ► 
     Twitter, when we say like, you know, 
     
     
  
 
 
	 01:40:02
     ◼
      
     ► 
     Twitter is negative or upset or dangerous or whatever, 
     
     
  
 
 
	 01:40:06
     ◼
      
     ► 
     usually what we're talking about is 
     
     
  
 
 
	 01:40:08
     ◼
      
     ► 
     what we've chosen to follow on Twitter. 
     
     
  
 
 
	 01:40:11
     ◼
      
     ► 
     And that's mostly within our control. 
     
     
  
 
 
	 01:40:14
     ◼
      
     ► 
     Now, Twitter's a little bit different in the sense that 
     
     
  
 
 
	 01:40:16
     ◼
      
     ► 
     stuff that you post very easily spreads to other people 
     
     
  
 
 
	 01:40:20
     ◼
      
     ► 
     who maybe you didn't want necessarily for it to spread to, 
     
     
  
 
 
	 01:40:24
     ◼
      
     ► 
     and you can get like piled on from someone else's audience 
     
     
  
 
 
	 01:40:27
     ◼
      
     ► 
     if they retweet your thing, 
     
     
  
 
 
	 01:40:28
     ◼
      
     ► 
     and they have a terrible audience. 
     
     
  
 
 
	 01:40:30
     ◼
      
     ► 
     That happens a lot, especially around things like 
     
     
  
 
 
	 01:40:34
     ◼
      
     ► 
     electronic currency and electronic car makers. 
     
     
  
 
 
	 01:40:37
     ◼
      
     ► 
     In general, Twitter is for the most part 
     
     
  
 
 
	 01:40:40
     ◼
      
     ► 
     what you choose to follow. 
     
     
  
 
 
	 01:40:42
     ◼
      
     ► 
     It's what you're choosing to look at. 
     
     
  
 
 
	 01:40:44
     ◼
      
     ► 
     And you can say like, oh, I have to keep up with the news, 
     
     
  
 
 
	 01:40:48
     ◼
      
     ► 
     like all this stuff going on with politics 
     
     
  
 
 
	 01:40:51
     ◼
      
     ► 
     and world events, it's like, I have to watch this stuff. 
     
     
  
 
 
	 01:40:53
     ◼
      
     ► 
     Well, you actually don't. 
     
     
  
 
 
	 01:40:55
     ◼
      
     ► 
     It is fully within your control. 
     
     
  
 
 
	 01:40:56
     ◼
      
     ► 
     Like if you are being brought down and burnt out 
     
     
  
 
 
	 01:41:00
     ◼
      
     ► 
     and made angry all the time by the political stuff 
     
     
  
 
 
	 01:41:04
     ◼
      
     ► 
     you're seeing on Twitter, you can just unfollow those people. 
     
     
  
 
 
	 01:41:08
     ◼
      
     ► 
     If for political reasons maybe you can't unfollow them, 
     
     
  
 
 
 
	 01:41:11
     ◼
      
     ► 
     You can mute them forever. 
     
     
  
 
 
	 01:41:12
     ◼
      
     ► 
     You can mute them for a month and revisit them. 
     
     
  
 
 
	 01:41:15
     ◼
      
     ► 
     If you use certain clients with more advanced options, 
     
     
  
 
 
	 01:41:18
     ◼
      
     ► 
     like especially Twitterific is really good for this. 
     
     
  
 
 
	 01:41:20
     ◼
      
     ► 
     Twitterific has the Muffle feature and the Mute feature. 
     
     
  
 
 
	 01:41:23
     ◼
      
     ► 
     Tweetbot has a bunch of advanced muting features as well. 
     
     
  
 
 
	 01:41:27
     ◼
      
     ► 
     So you can actually mute or muffle topics or keywords 
     
     
  
 
 
	 01:41:30
     ◼
      
     ► 
     or regular expressions. 
     
     
  
 
 
	 01:41:32
     ◼
      
     ► 
     And so you can customize this experience 
     
     
  
 
 
	 01:41:34
     ◼
      
     ► 
     to not see the things you really don't wanna see, 
     
     
  
 
 
	 01:41:39
     ◼
      
     ► 
     or to minimize them, 
     
     
  
 
 
	 01:41:40
     ◼
      
     ► 
     or to get rid of the most egregious offenders. 
     
     
  
 
 
	 01:41:43
     ◼
      
     ► 
     Most of the problem people have with Twitter 
     
     
  
 
 
	 01:41:47
     ◼
      
     ► 
     is more a problem in the reading sense. 
     
     
  
 
 
	 01:41:50
     ◼
      
     ► 
     The writing sense is a little bit different, 
     
     
  
 
 
	 01:41:51
     ◼
      
     ► 
     but in the reading sense, 
     
     
  
 
 
	 01:41:52
     ◼
      
     ► 
     when you have a problem reading Twitter, 
     
     
  
 
 
	 01:41:54
     ◼
      
     ► 
     that's usually because the people who you're following, 
     
     
  
 
 
	 01:41:58
     ◼
      
     ► 
     it's not making you feel good to read their stuff, 
     
     
  
 
 
	 01:42:00
     ◼
      
     ► 
     or it's a burden on your mind, 
     
     
  
 
 
	 01:42:03
     ◼
      
     ► 
     or it's too invasive in your life. 
     
     
  
 
 
	 01:42:06
     ◼
      
     ► 
     And you can just unfollow those people 
     
     
  
 
 
	 01:42:07
     ◼
      
     ► 
     or mute them or go a different direction. 
     
     
  
 
 
	 01:42:09
     ◼
      
     ► 
     You don't have to worry about making people feel bad. 
     
     
  
 
 
	 01:42:11
     ◼
      
     ► 
     They're not watching, they don't care. 
     
     
  
 
 
	 01:42:12
     ◼
      
     ► 
     If you wanna follow somebody who knows you, 
     
     
  
 
 
	 01:42:15
     ◼
      
     ► 
     chances are they'll never know. 
     
     
  
 
 
	 01:42:16
     ◼
      
     ► 
     Unless they use one of those really sad services 
     
     
  
 
 
	 01:42:19
     ◼
      
     ► 
     that alerts them when people unfollow them, 
     
     
  
 
 
	 01:42:20
     ◼
      
     ► 
     in which case you don't need that person in your life. 
     
     
  
 
 
 
	 01:42:24
     ◼
      
     ► 
     And again, you can also just mute somebody forever 
     
     
  
 
 
	 01:42:27
     ◼
      
     ► 
     if you really quote can't unfollow them. 
     
     
  
 
 
	 01:42:30
     ◼
      
     ► 
     But make it what you wanna see. 
     
     
  
 
 
	 01:42:32
     ◼
      
     ► 
     So if you're seeing too much negativity, 
     
     
  
 
 
	 01:42:34
     ◼
      
     ► 
     which that's where I am, 
     
     
  
 
 
	 01:42:36
     ◼
      
     ► 
     I wanna follow almost no world news right now. 
     
     
  
 
 
	 01:42:40
     ◼
      
     ► 
     And so I just don't, and it's fine. 
     
     
  
 
 
	 01:42:43
     ◼
      
     ► 
     I'm not a Twitter completionist, 
     
     
  
 
 
	 01:42:44
     ◼
      
     ► 
     and I don't read most of my timeline. 
     
     
  
 
 
	 01:42:47
     ◼
      
     ► 
     So normally, like when I, I'll read all my mentions, 
     
     
  
 
 
	 01:42:50
     ◼
      
     ► 
     and then on my main timeline, I'll just scroll to the top 
     
     
  
 
 
	 01:42:53
     ◼
      
     ► 
     and read some stuff here and there. 
     
     
  
 
 
	 01:42:54
     ◼
      
     ► 
     I'm not seeing most of it. 
     
     
  
 
 
	 01:42:56
     ◼
      
     ► 
     That's it, it's fine. 
     
     
  
 
 
	 01:42:57
     ◼
      
     ► 
     Now on the writing side, again, on the writing side, 
     
     
  
 
 
	 01:42:59
     ◼
      
     ► 
     it's very easy to step on a landmine 
     
     
  
 
 
	 01:43:02
     ◼
      
     ► 
     without even realizing it on Twitter 
     
     
  
 
 
	 01:43:03
     ◼
      
     ► 
     and have the whole world explode at you. 
     
     
  
 
 
	 01:43:07
     ◼
      
     ► 
     And so if you are concerned about that, 
     
     
  
 
 
	 01:43:11
     ◼
      
     ► 
     and you probably should be if anybody sees your tweets, 
     
     
  
 
 
	 01:43:13
     ◼
      
     ► 
     if you have any followers at all 
     
     
  
 
 
	 01:43:15
     ◼
      
     ► 
     or if somebody might retweet them who does have followers, 
     
     
  
 
 
	 01:43:18
     ◼
      
     ► 
     if you're concerned about having the world explode at you, 
     
     
  
 
 
	 01:43:22
     ◼
      
     ► 
     don't write anything of substance. 
     
     
  
 
 
	 01:43:24
     ◼
      
     ► 
     Don't write anything on there that is supposed to be a joke, 
     
     
  
 
 
	 01:43:29
     ◼
      
     ► 
     Maybe it's a little subtle. 
     
     
  
 
 
	 01:43:30
     ◼
      
     ► 
     Don't write anything on it that's controversial. 
     
     
  
 
 
	 01:43:32
     ◼
      
     ► 
     Don't write about current controversial events or news. 
     
     
  
 
 
	 01:43:36
     ◼
      
     ► 
     All the negativity there is very easy to avoid. 
     
     
  
 
 
	 01:43:40
     ◼
      
     ► 
     Just don't post. 
     
     
  
 
 
	 01:43:41
     ◼
      
     ► 
     And if you insist on posting, 
     
     
  
 
 
	 01:43:43
     ◼
      
     ► 
     then keep to tech stuff, technical questions. 
     
     
  
 
 
	 01:43:48
     ◼
      
     ► 
     Hey, what's with Swift UI these days? 
     
     
  
 
 
	 01:43:50
     ◼
      
     ► 
     That kind of stuff. 
     
     
  
 
 
	 01:43:52
     ◼
      
     ► 
     Don't engage in the really violent politics 
     
     
  
 
 
	 01:43:56
     ◼
      
     ► 
     and stuff like that. 
     
     
  
 
 
	 01:43:59
     ◼
      
     ► 
     the world provides an infinite supply of awful news 
     
     
  
 
 
	 01:44:01
     ◼
      
     ► 
     and awful people doing awful things. 
     
     
  
 
 
	 01:44:03
     ◼
      
     ► 
     You don't have to feed into it, 
     
     
  
 
 
	 01:44:04
     ◼
      
     ► 
     you don't have to read it all. 
     
     
  
 
 
	 01:44:06
     ◼
      
     ► 
     You're not doing any civic justice 
     
     
  
 
 
	 01:44:09
     ◼
      
     ► 
     or doing your civic duty by reading every single bit 
     
     
  
 
 
	 01:44:13
     ◼
      
     ► 
     of bad commentary about every bad thing 
     
     
  
 
 
	 01:44:14
     ◼
      
     ► 
     that happens in the world. 
     
     
  
 
 
	 01:44:16
     ◼
      
     ► 
     You don't need to do that, that's not your job. 
     
     
  
 
 
	 01:44:18
     ◼
      
     ► 
     And if it's better for your mental health 
     
     
  
 
 
	 01:44:20
     ◼
      
     ► 
     to not be part of that, just don't be part of that. 
     
     
  
 
 
	 01:44:24
     ◼
      
     ► 
     It's easier said than done sometimes. 
     
     
  
 
 
	 01:44:27
     ◼
      
     ► 
     So what it would take for me to leave Twitter 
     
     
  
 
 
	 01:44:31
     ◼
      
     ► 
     would be if that stopped being possible. 
     
     
  
 
 
	 01:44:34
     ◼
      
     ► 
     That if it stopped being possible for me 
     
     
  
 
 
	 01:44:36
     ◼
      
     ► 
     to get only what I wanted out of it and not more. 
     
     
  
 
 
	 01:44:41
     ◼
      
     ► 
     Now I have already left Twitter partially, 
     
     
  
 
 
	 01:44:44
     ◼
      
     ► 
     as I mentioned earlier, in the sense that like, 
     
     
  
 
 
	 01:44:46
     ◼
      
     ► 
     if I have some funny joke to say, 
     
     
  
 
 
	 01:44:48
     ◼
      
     ► 
     or well, if I have something I think might be funny to say, 
     
     
  
 
 
	 01:44:51
     ◼
      
     ► 
     I tend to say that kind of stuff privately these days. 
     
     
  
 
 
	 01:44:53
     ◼
      
     ► 
     Because this is not a good time for humor. 
     
     
  
 
 
	 01:44:56
     ◼
      
     ► 
     Everyone's very sensitive about everything 
     
     
  
 
 
	 01:44:57
     ◼
      
     ► 
     and I don't wanna accidentally step on a landmine 
     
     
  
 
 
	 01:44:59
     ◼
      
     ► 
     and have my entire world explode. 
     
     
  
 
 
	 01:45:00
     ◼
      
     ► 
     So stuff like fun jokes between friends, 
     
     
  
 
 
	 01:45:03
     ◼
      
     ► 
     you know what, Twitter's no longer a fun place, 
     
     
  
 
 
	 01:45:05
     ◼
      
     ► 
     so I'll just say that in private channels. 
     
     
  
 
 
	 01:45:09
     ◼
      
     ► 
     Or stuff that's a little bit more personal, 
     
     
  
 
 
	 01:45:13
     ◼
      
     ► 
     about hey, here's what my family's doing these days, 
     
     
  
 
 
	 01:45:16
     ◼
      
     ► 
     that'll probably go on Instagram, 
     
     
  
 
 
	 01:45:17
     ◼
      
     ► 
     because I have a more kind of family 
     
     
  
 
 
	 01:45:19
     ◼
      
     ► 
     and real life audience over there, 
     
     
  
 
 
	 01:45:22
     ◼
      
     ► 
     so that's probably what would go there. 
     
     
  
 
 
	 01:45:24
     ◼
      
     ► 
     but I'm still using Twitter, 
     
     
  
 
 
	 01:45:27
     ◼
      
     ► 
     I'm just using it more for work stuff. 
     
     
  
 
 
	 01:45:30
     ◼
      
     ► 
     And that's fine. 
     
     
  
 
 
	 01:45:31
     ◼
      
     ► 
     And when you're using it for work stuff, 
     
     
  
 
 
	 01:45:34
     ◼
      
     ► 
     it's fairly boring in a good way. 
     
     
  
 
 
	 01:45:38
     ◼
      
     ► 
     So as long as it's still possible for me 
     
     
  
 
 
	 01:45:41
     ◼
      
     ► 
     to use it for work stuff, 
     
     
  
 
 
	 01:45:42
     ◼
      
     ► 
     and it is still beneficial for my work to do that, 
     
     
  
 
 
	 01:45:46
     ◼
      
     ► 
     I'm gonna keep using it. 
     
     
  
 
 
	 01:45:47
     ◼
      
     ► 
     - What would it take for me to stop reading? 
     
     
  
 
 
	 01:45:50
     ◼
      
     ► 
     I mean, it's simple. 
     
     
  
 
 
	 01:45:51
     ◼
      
     ► 
     It would have to be not delivering value for me, 
     
     
  
 
 
	 01:45:53
     ◼
      
     ► 
     which is a business-y phrase or whatever, 
     
     
  
 
 
	 01:45:55
     ◼
      
     ► 
     it was just like what Margo said, 
     
     
  
 
 
	 01:45:56
     ◼
      
     ► 
     like there are things I get from Twitter 
     
     
  
 
 
	 01:45:58
     ◼
      
     ► 
     and if I could no longer get them 
     
     
  
 
 
	 01:46:00
     ◼
      
     ► 
     or didn't get them from Twitter, I would stop. 
     
     
  
 
 
	 01:46:03
     ◼
      
     ► 
     It's, you know, I'm doing what most people do. 
     
     
  
 
 
	 01:46:05
     ◼
      
     ► 
     It's not like a very complicated decision. 
     
     
  
 
 
	 01:46:06
     ◼
      
     ► 
     It's like, is this a thing where, do I find this valuable? 
     
     
  
 
 
	 01:46:10
     ◼
      
     ► 
     And yes, I find Twitter tremendously valuable. 
     
     
  
 
 
	 01:46:12
     ◼
      
     ► 
     Now, Margo was saying is like, 
     
     
  
 
 
	 01:46:14
     ◼
      
     ► 
     then the reason Rui complains about Twitter 
     
     
  
 
 
	 01:46:16
     ◼
      
     ► 
     is all that advice you gave about like, 
     
     
  
 
 
	 01:46:18
     ◼
      
     ► 
     you know, being careful what you say 
     
     
  
 
 
	 01:46:21
     ◼
      
     ► 
     and avoid saying certain things or whatever, 
     
     
  
 
 
	 01:46:23
     ◼
      
     ► 
     to the extent that you have to do that 
     
     
  
 
 
	 01:46:25
     ◼
      
     ► 
     and to the extent that the possible blowback 
     
     
  
 
 
	 01:46:28
     ◼
      
     ► 
     from being too loose is disproportionate, 
     
     
  
 
 
	 01:46:32
     ◼
      
     ► 
     that's why people think Twitter is a bad place to be 
     
     
  
 
 
	 01:46:34
     ◼
      
     ► 
     because you don't want it to feel like a hostile environment 
     
     
  
 
 
	 01:46:36
     ◼
      
     ► 
     where you have to be very careful 
     
     
  
 
 
	 01:46:39
     ◼
      
     ► 
     that someone doesn't retweet your thing 
     
     
  
 
 
	 01:46:41
     ◼
      
     ► 
     into some section of the internet 
     
     
  
 
 
	 01:46:43
     ◼
      
     ► 
     that would otherwise not know you exist 
     
     
  
 
 
	 01:46:45
     ◼
      
     ► 
     but suddenly decides to dog pile you, right? 
     
     
  
 
 
	 01:46:48
     ◼
      
     ► 
     And Twitter, the company, has been trying to fight against that for a while with varying 
     
     
  
 
 
	 01:46:54
     ◼
      
     ► 
     degrees of success. 
     
     
  
 
 
	 01:46:56
     ◼
      
     ► 
     But that, you know, so that I'm going to say I'm not saying that just because I find Twitter 
     
     
  
 
 
	 01:47:00
     ◼
      
     ► 
     valuable doesn't have problems. 
     
     
  
 
 
	 01:47:01
     ◼
      
     ► 
     It absolutely has problems, right? 
     
     
  
 
 
	 01:47:02
     ◼
      
     ► 
     And the design of the network has at various times exacerbated or helped with those problems 
     
     
  
 
 
	 01:47:06
     ◼
      
     ► 
     and leadership can really help solve them. 
     
     
  
 
 
	 01:47:09
     ◼
      
     ► 
     But I do feel like having been on Twitter for so long now, I have built up a lot of 
     
     
  
 
 
	 01:47:15
     ◼
      
     ► 
     value there in terms of the people who I follow and who follow me. 
     
     
  
 
 
	 01:47:19
     ◼
      
     ► 
     That didn't happen just overnight, right? 
     
     
  
 
 
	 01:47:21
     ◼
      
     ► 
     It took whatever it is, a decade and a half or however long I've been on Twitter, to get 
     
     
  
 
 
	 01:47:26
     ◼
      
     ► 
     that balance right. 
     
     
  
 
 
	 01:47:28
     ◼
      
     ► 
     And the people who follow me are a big part of that value. 
     
     
  
 
 
	 01:47:32
     ◼
      
     ► 
     Whatever I've done to make them follow me, they do see my tweets and sometimes they respond, 
     
     
  
 
 
	 01:47:36
     ◼
      
     ► 
     and that is very valuable to me, and that's not something you can kind of get overnight. 
     
     
  
 
 
	 01:47:39
     ◼
      
     ► 
     So I would never want to give that up unless Twitter became really invaluable to me. 
     
     
  
 
 
	 01:47:42
     ◼
      
     ► 
     But I do want to acknowledge that that's not easy. 
     
     
  
 
 
	 01:47:45
     ◼
      
     ► 
     It's not easy to get to that point. 
     
     
  
 
 
	 01:47:47
     ◼
      
     ► 
     And it kind of sucks that you have to be so aware of the slightly hostile environment. 
     
     
  
 
 
	 01:47:52
     ◼
      
     ► 
     In some ways, Twitter is also a reflection of the current of the world, right? 
     
     
  
 
 
	 01:47:56
     ◼
      
     ► 
     And if the world is in a crappy situation, then so is Twitter. 
     
     
  
 
 
	 01:47:58
     ◼
      
     ► 
     And that kind of makes sense, right? 
     
     
  
 
 
	 01:47:59
     ◼
      
     ► 
     And that's part of the beauty of Twitter is that it is actually a bit of a less filtered 
     
     
  
 
 
	 01:48:06
     ◼
      
     ► 
     mirror of what people are thinking. 
     
     
  
 
 
	 01:48:09
     ◼
      
     ► 
     or let's put it this way, voices that you otherwise 
     
     
  
 
 
	 01:48:11
     ◼
      
     ► 
     would never have heard before, 
     
     
  
 
 
	 01:48:13
     ◼
      
     ► 
     whether they be directly talking to a celebrity 
     
     
  
 
 
	 01:48:16
     ◼
      
     ► 
     or talking to some person in a marginalized group 
     
     
  
 
 
	 01:48:19
     ◼
      
     ► 
     you would never encounter and would have no idea 
     
     
  
 
 
	 01:48:21
     ◼
      
     ► 
     what their respective is, Twitter allows you 
     
     
  
 
 
	 01:48:23
     ◼
      
     ► 
     to make those kinds of connections. 
     
     
  
 
 
	 01:48:25
     ◼
      
     ► 
     But of course, Twitter can also be exploited by bad actors 
     
     
  
 
 
	 01:48:27
     ◼
      
     ► 
     to magnify their bad effects as well. 
     
     
  
 
 
	 01:48:29
     ◼
      
     ► 
     So it's the blessing and the curse of Twitter. 
     
     
  
 
 
	 01:48:31
     ◼
      
     ► 
     Overall, in my life, Twitter is a huge net positive, 
     
     
  
 
 
	 01:48:35
     ◼
      
     ► 
     but I feel like across the entire world, 
     
     
  
 
 
	 01:48:40
     ◼
      
     ► 
     the jury's still out, it's definitely closer to 50/50 
     
     
  
 
 
	 01:48:43
     ◼
      
     ► 
     about the harm caused by Twitter and the value. 
     
     
  
 
 
	 01:48:45
     ◼
      
     ► 
     I still lean more towards the value 
     
     
  
 
 
	 01:48:47
     ◼
      
     ► 
     because I feel like being able, 
     
     
  
 
 
	 01:48:49
     ◼
      
     ► 
     giving a voice to people who didn't have one 
     
     
  
 
 
	 01:48:51
     ◼
      
     ► 
     is probably more than offsets the giving bad actors 
     
     
  
 
 
	 01:48:56
     ◼
      
     ► 
     yet another tool for them to be bad. 
     
     
  
 
 
	 01:49:00
     ◼
      
     ► 
     Because bad actors will always find a way to be bad. 
     
     
  
 
 
	 01:49:01
     ◼
      
     ► 
     They'll invent their own outlet if they have to, 
     
     
  
 
 
	 01:49:04
     ◼
      
     ► 
     Fox News. So Twitter is not entirely to blame for that. But I do enjoy the things I get out 
     
     
  
 
 
	 01:49:09
     ◼
      
     ► 
     of Twitter that I did not get before Twitter. Did I get anywhere really, and still find value in 
     
     
  
 
 
	 01:49:16
     ◼
      
     ► 
     that. And what alternatives would I consider? Like Margot said, it's like, you know, it's network 
     
     
  
 
 
	 01:49:20
     ◼
      
     ► 
     effect, like this network I've built up on Twitter, I would have to rebuild that elsewhere. And that 
     
     
  
 
 
	 01:49:25
     ◼
      
     ► 
     is even assuming everybody, quote unquote, everybody would agree to go to that elsewhere. 
     
     
  
 
 
	 01:49:29
     ◼
      
     ► 
     The alternatives that most people have both considered and used are very tiny subsets of 
     
     
  
 
 
	 01:49:35
     ◼
      
     ► 
     Twitter like a private Slack or a Discord or you know a big iMessage group or whatever. 
     
     
  
 
 
	 01:49:40
     ◼
      
     ► 
     Those are not replacements for Twitter. Those are alternatives to Twitter but it's easy to get them 
     
     
  
 
 
	 01:49:45
     ◼
      
     ► 
     up and running because you just need a handful of people in them. But there's you know to get 
     
     
  
 
 
	 01:49:49
     ◼
      
     ► 
     something like Twitter you'd have to you know somehow get all those people to move over to 
     
     
  
 
 
	 01:49:54
     ◼
      
     ► 
     the other thing or make Twitter go away or Twitter makes itself so bad that everybody leaves and goes 
     
     
  
 
 
	 01:49:58
     ◼
      
     ► 
     somewhere else, but we're not there yet. 
     
     
  
 
 
	 01:50:01
     ◼
      
     ► 
     - And we're not talking about that guy who, you know, 
     
     
  
 
 
	 01:50:04
     ◼
      
     ► 
     we're not talking about that because-- 
     
     
  
 
 
	 01:50:05
     ◼
      
     ► 
     - We'll talk about that if it ever comes to some kind 
     
     
  
 
 
	 01:50:07
     ◼
      
     ► 
     of conclusion, probably in a humorous after show. 
     
     
  
 
 
	 01:50:10
     ◼
      
     ► 
     - Just F that guy, and I hope he loses big. 
     
     
  
 
 
	 01:50:12
     ◼
      
     ► 
     I hope he has to pay them a billion dollars. 
     
     
  
 
 
	 01:50:14
     ◼
      
     ► 
     He deserves it. 
     
     
  
 
 
	 01:50:15
     ◼
      
     ► 
     Anyway, thank you to our sponsors this week. 
     
     
  
 
 
	 01:50:17
     ◼
      
     ► 
     Linode, Hover, and the Stack Overflow podcast. 
     
     
  
 
 
	 01:50:20
     ◼
      
     ► 
     Thank you to our members who support us directly. 
     
     
  
 
 
	 01:50:22
     ◼
      
     ► 
     You can join at atp.fm/join, 
     
     
  
 
 
	 01:50:25
     ◼
      
     ► 
     and we will talk to you next week. 
     
     
  
 
 
	 01:50:27
     ◼
      
     ► 
     Now the show is over, they didn't even mean to begin 
     
     
  
 
 
	 01:50:34
     ◼
      
     ► 
     'Cause it was accidental, oh it was accidental 
     
     
  
 
 
	 01:50:39
     ◼
      
     ► 
     John didn't do any research, Marco and Casey wouldn't let him 
     
     
  
 
 
	 01:50:44
     ◼
      
     ► 
     'Cause it was accidental, oh it was accidental 
     
     
  
 
 
	 01:50:50
     ◼
      
     ► 
     And you can find the show notes at ATP.fm 
     
     
  
 
 
	 01:50:55
     ◼
      
     ► 
     And if you're into Twitter, you can follow them 
     
     
  
 
 
	 01:51:00
     ◼
      
     ► 
     @C-A-S-E-Y-L-I-S-S 
     
     
  
 
 
	 01:51:04
     ◼
      
     ► 
     So that's Kasey Liss M-A-R-C-O-A-R-M 
     
     
  
 
 
	 01:51:09
     ◼
      
     ► 
     Auntie Marco Arment S-I-R-A-C 
     
     
  
 
 
	 01:51:14
     ◼
      
     ► 
     USA, Syracuse, it's accidental 
     
     
  
 
 
	 01:51:19
     ◼
      
     ► 
     They didn't mean to, accidental 
     
     
  
 
 
	 01:51:24
     ◼
      
     ► 
     ♪ We've got no tech broadcast so long ♪ 
     
     
  
 
 
	 01:51:28
     ◼
      
     ► 
     - Since we're apparently in a really good mood tonight, 
     
     
  
 
 
	 01:51:33
     ◼
      
     ► 
     let's talk about something that I'm super excited about. 
     
     
  
 
 
	 01:51:35
     ◼
      
     ► 
     And by excited, I mean, I find to be disgusting. 
     
     
  
 
 
	 01:51:39
     ◼
      
     ► 
     BMW is charging seat heater subscriptions 
     
     
  
 
 
	 01:51:41
     ◼
      
     ► 
     in some parts of the world. 
     
     
  
 
 
	 01:51:42
     ◼
      
     ► 
     This is reported in many places, 
     
     
  
 
 
	 01:51:46
     ◼
      
     ► 
     but this includes the Verge. 
     
     
  
 
 
	 01:51:48
     ◼
      
     ► 
     We'll put a link in the show notes. 
     
     
  
 
 
	 01:51:49
     ◼
      
     ► 
     The Verge writes, "A monthly subscription 
     
     
  
 
 
	 01:51:51
     ◼
      
     ► 
     to heat your BMW's front seats costs $18, 
     
     
  
 
 
	 01:51:53
     ◼
      
     ► 
     with options to subscribe for a year at $180, 
     
     
  
 
 
	 01:51:57
     ◼
      
     ► 
     three years at $300, or pay for unlimited access for $415. 
     
     
  
 
 
	 01:52:02
     ◼
      
     ► 
     Other features that BMW is locking behind subscriptions 
     
     
  
 
 
	 01:52:04
     ◼
      
     ► 
     as per the company's digital UK store 
     
     
  
 
 
	 01:52:06
     ◼
      
     ► 
     include heated steering wheels from $12 a month, 
     
     
  
 
 
	 01:52:08
     ◼
      
     ► 
     the option to record footage from your car's cameras 
     
     
  
 
 
	 01:52:10
     ◼
      
     ► 
     priced at $235 for unlimited use, 
     
     
  
 
 
	 01:52:13
     ◼
      
     ► 
     and the iconic sound support package, 
     
     
  
 
 
	 01:52:15
     ◼
      
     ► 
     which lets you play engine sounds in your car 
     
     
  
 
 
	 01:52:16
     ◼
      
     ► 
     for a one-time fee of $117. 
     
     
  
 
 
	 01:52:19
     ◼
      
     ► 
     In the latter case, BMW notes that, quote, 
     
     
  
 
 
	 01:52:21
     ◼
      
     ► 
     "The hardware for this feature 
     
     
  
 
 
	 01:52:22
     ◼
      
     ► 
     has already been installed in your vehicle during production at no extra cost. How generous. 
     
     
  
 
 
	 01:52:27
     ◼
      
     ► 
     The thing that blows me away about this are the prices. $18 a month for seed heaters? $12 a month 
     
     
  
 
 
	 01:52:36
     ◼
      
     ► 
     for heated steering wheel? Like I know these are expensive vehicles and their whole strategy, 
     
     
  
 
 
	 01:52:41
     ◼
      
     ► 
     which they come out and say, I think Mercedes person just came out and say it, it's like, 
     
     
  
 
 
	 01:52:44
     ◼
      
     ► 
     look, these prices are below the notice of the people who buy our cars because they have a lot 
     
     
  
 
 
	 01:52:47
     ◼
      
     ► 
     of money. But just, you know, I'm sure we all have met people who are very wealthy, but also 
     
     
  
 
 
	 01:52:52
     ◼
      
     ► 
     don't want to pay a lot for this muffler, 
     
     
  
 
 
	 01:52:54
     ◼
      
     ► 
     people feel ripped off. 
     
     
  
 
 
	 01:52:56
     ◼
      
     ► 
     They say that's how much, 
     
     
  
 
 
	 01:52:57
     ◼
      
     ► 
     they're grumbling about paying that much for a Netflix. 
     
     
  
 
 
	 01:52:59
     ◼
      
     ► 
     And you're gonna pay 18 for the seat 
     
     
  
 
 
	 01:53:01
     ◼
      
     ► 
     and 12 for the steering wheel every single month? 
     
     
  
 
 
	 01:53:04
     ◼
      
     ► 
     And to be clear, for the people who don't understand 
     
     
  
 
 
	 01:53:06
     ◼
      
     ► 
     what we're talking about here, 
     
     
  
 
 
	 01:53:07
     ◼
      
     ► 
     you still have to pay for that stuff to be in your car. 
     
     
  
 
 
	 01:53:11
     ◼
      
     ► 
     It's not like they give you the seat heaters for free 
     
     
  
 
 
	 01:53:14
     ◼
      
     ► 
     or the steering wheel heater for free. 
     
     
  
 
 
	 01:53:15
     ◼
      
     ► 
     Like, you're paying for that when you pay for the car. 
     
     
  
 
 
	 01:53:19
     ◼
      
     ► 
     It's not like say, well, we're just shifting the cost, 
     
     
  
 
 
	 01:53:21
     ◼
      
     ► 
     because otherwise if people didn't pay for a BMW, 
     
     
  
 
 
	 01:53:24
     ◼
      
     ► 
     we lose money, that's not what they do, right? 
     
     
  
 
 
	 01:53:25
     ◼
      
     ► 
     So the hardware is there, just so we're clear. 
     
     
  
 
 
	 01:53:28
     ◼
      
     ► 
     The heaters are in the seat, 
     
     
  
 
 
	 01:53:29
     ◼
      
     ► 
     the heaters are in the steering wheel. 
     
     
  
 
 
	 01:53:31
     ◼
      
     ► 
     There's a button somewhere on a touchscreen 
     
     
  
 
 
	 01:53:33
     ◼
      
     ► 
     that when you press it, 
     
     
  
 
 
	 01:53:34
     ◼
      
     ► 
     is supposed to allow electricity to flow to those things, 
     
     
  
 
 
	 01:53:36
     ◼
      
     ► 
     but it will not allow the electricity to flow to those things 
     
     
  
 
 
	 01:53:39
     ◼
      
     ► 
     unless you have an up-to-date paid subscription for them. 
     
     
  
 
 
	 01:53:43
     ◼
      
     ► 
     This is a terrible idea and I hope nobody goes for it 
     
     
  
 
 
	 01:53:47
     ◼
      
     ► 
     and I hope it's a dismal failure 
     
     
  
 
 
	 01:53:49
     ◼
      
     ► 
     because not only do I want this to fail, 
     
     
  
 
 
	 01:53:52
     ◼
      
     ► 
     I can't imagine this becoming the status quo 
     
     
  
 
 
	 01:53:55
     ◼
      
     ► 
     in the car industry because everybody who hears this story 
     
     
  
 
 
	 01:53:58
     ◼
      
     ► 
     viscerally hates it. 
     
     
  
 
 
	 01:54:00
     ◼
      
     ► 
     - I can see where they're coming from 
     
     
  
 
 
	 01:54:02
     ◼
      
     ► 
     because if you look at the full price, 
     
     
  
 
 
	 01:54:05
     ◼
      
     ► 
     you know, the seat heater, 
     
     
  
 
 
	 01:54:06
     ◼
      
     ► 
     if you want a seat heater, unlimited access quote, 
     
     
  
 
 
	 01:54:10
     ◼
      
     ► 
     400 bucks, right? 
     
     
  
 
 
	 01:54:11
     ◼
      
     ► 
     Well, what is the option for heated seats cost in a BMW? 
     
     
  
 
 
	 01:54:14
     ◼
      
     ► 
     It's probably about 400 bucks. 
     
     
  
 
 
	 01:54:16
     ◼
      
     ► 
     - But you're already paying that to get the seat heaters. 
     
     
  
 
 
	 01:54:19
     ◼
      
     ► 
     They want you to pay a second time. 
     
     
  
 
 
	 01:54:21
     ◼
      
     ► 
     - Right, and so I think what we're seeing here, 
     
     
  
 
 
	 01:54:23
     ◼
      
     ► 
     obviously in a regular sale of a regular car, 
     
     
  
 
 
	 01:54:29
     ◼
      
     ► 
     it doesn't cost them $400 to add seat heaters. 
     
     
  
 
 
	 01:54:33
     ◼
      
     ► 
     I think the reality of what we're seeing here 
     
     
  
 
 
	 01:54:34
     ◼
      
     ► 
     is that these options were already costing them 
     
     
  
 
 
	 01:54:38
     ◼
      
     ► 
     almost nothing, and they were just nice, 
     
     
  
 
 
	 01:54:41
     ◼
      
     ► 
     high-profit add-on sales. 
     
     
  
 
 
	 01:54:43
     ◼
      
     ► 
     Lots of the world works that way. 
     
     
  
 
 
	 01:54:44
     ◼
      
     ► 
     Apple does it too. 
     
     
  
 
 
	 01:54:46
     ◼
      
     ► 
     There's high-profit add-on sales. 
     
     
  
 
 
	 01:54:47
     ◼
      
     ► 
     You think those leather cases Apple sells you 
     
     
  
 
 
	 01:54:49
     ◼
      
     ► 
     for 50 or 60 bucks cost anywhere near that for them to make? 
     
     
  
 
 
 
	 01:54:54
     ◼
      
     ► 
     There's always like high profit add-ons, 
     
     
  
 
 
	 01:54:55
     ◼
      
     ► 
     extended warranties, you know, 
     
     
  
 
 
	 01:54:57
     ◼
      
     ► 
     those don't cost people very much. 
     
     
  
 
 
	 01:54:58
     ◼
      
     ► 
     - They call them options in the car, 
     
     
  
 
 
	 01:54:59
     ◼
      
     ► 
     and the Porsche is the king of options. 
     
     
  
 
 
	 01:55:01
     ◼
      
     ► 
     Their options have no connection to what they actually cost, 
     
     
  
 
 
	 01:55:03
     ◼
      
     ► 
     but the whole point of those options is 
     
     
  
 
 
	 01:55:05
     ◼
      
     ► 
     you can buy them or not, and you just pay for them once. 
     
     
  
 
 
	 01:55:07
     ◼
      
     ► 
     And I think the real reason they wanna do this, 
     
     
  
 
 
	 01:55:09
     ◼
      
     ► 
     aside from like recurring revenue is great 
     
     
  
 
 
	 01:55:11
     ◼
      
     ► 
     for the balance sheet or whatever, 
     
     
  
 
 
	 01:55:12
     ◼
      
     ► 
     is that when you sell the car to somebody, 
     
     
  
 
 
	 01:55:14
     ◼
      
     ► 
     when you sell a car that someone paid for 
     
     
  
 
 
	 01:55:16
     ◼
      
     ► 
     like some a bunch of weird options, 
     
     
  
 
 
	 01:55:18
     ◼
      
     ► 
     those options go with the car. 
     
     
  
 
 
	 01:55:19
     ◼
      
     ► 
     The person who buys them from you 
     
     
  
 
 
	 01:55:20
     ◼
      
     ► 
     can use all those options. 
     
     
  
 
 
	 01:55:22
     ◼
      
     ► 
     If you sell a car like this, 
     
     
  
 
 
	 01:55:23
     ◼
      
     ► 
     now BMW has a new person paying for that. 
     
     
  
 
 
	 01:55:26
     ◼
      
     ► 
     Like their revenue that they never would have gotten. 
     
     
  
 
 
	 01:55:29
     ◼
      
     ► 
     BMW would never have gotten part of that car sale. 
     
     
  
 
 
	 01:55:31
     ◼
      
     ► 
     Now when they sell it to somebody else, 
     
     
  
 
 
	 01:55:32
     ◼
      
     ► 
     if that guy wants the seat at his work, 
     
     
  
 
 
	 01:55:33
     ◼
      
     ► 
     it's gotta pay $18 a month, 
     
     
  
 
 
	 01:55:35
     ◼
      
     ► 
     just like you were paying that. 
     
     
  
 
 
	 01:55:37
     ◼
      
     ► 
     And you get to stop paying it 
     
     
  
 
 
	 01:55:38
     ◼
      
     ► 
     and then a new person gets to start paying it. 
     
     
  
 
 
	 01:55:39
     ◼
      
     ► 
     It's, pfft, no. 
     
     
  
 
 
	 01:55:42
     ◼
      
     ► 
     I mean, and since this is all just hardware and software, 
     
     
  
 
 
	 01:55:44
     ◼
      
     ► 
     you know there's gonna be hacks to just get around this 
     
     
  
 
 
	 01:55:46
     ◼
      
     ► 
     or whatever, so now people can be jailbreaking their cars 
     
     
  
 
 
	 01:55:47
     ◼
      
     ► 
     so they can hit their butts? 
     
     
  
 
 
 
	 01:55:49
     ◼
      
     ► 
     - I see why they are trying this. 
     
     
  
 
 
	 01:55:53
     ◼
      
     ► 
     I also think this is a massive failure to read the room 
     
     
  
 
 
	 01:55:58
     ◼
      
     ► 
     because it sounds like a joke about BMW owners. 
     
     
  
 
 
	 01:56:01
     ◼
      
     ► 
     Like this sounds like a parody. 
     
     
  
 
 
	 01:56:02
     ◼
      
     ► 
     This sounds like something that they would never actually do 
     
     
  
 
 
	 01:56:04
     ◼
      
     ► 
     but The Onion would write an article about. 
     
     
  
 
 
	 01:56:06
     ◼
      
     ► 
     So I don't think BMW realizes how this looks to the world. 
     
     
  
 
 
	 01:56:11
     ◼
      
     ► 
     And maybe, I don't know, maybe in certain areas 
     
     
  
 
 
	 01:56:15
     ◼
      
     ► 
     that people don't care. 
     
     
  
 
 
	 01:56:16
     ◼
      
     ► 
     Maybe their customers actually aren't mostly like us. 
     
     
  
 
 
	 01:56:18
     ◼
      
     ► 
     - But that's the thing about rich people though. 
     
     
  
 
 
	 01:56:21
     ◼
      
     ► 
     They want the fancy thing, 
     
     
  
 
 
	 01:56:22
     ◼
      
     ► 
     and they'll pay the Porsche option prices for it, 
     
     
  
 
 
	 01:56:25
     ◼
      
     ► 
     but they don't want to feel 
     
     
  
 
 
	 01:56:26
     ◼
      
     ► 
     like they're being nickeled in time. 
     
     
  
 
 
	 01:56:27
     ◼
      
     ► 
     In many ways, I feel like someone who's buying 
     
     
  
 
 
	 01:56:29
     ◼
      
     ► 
     a fancy car like this would much rather pay five times 
     
     
  
 
 
	 01:56:32
     ◼
      
     ► 
     as much to buy it up front, 
     
     
  
 
 
	 01:56:34
     ◼
      
     ► 
     and then sell the car after three years, 
     
     
  
 
 
	 01:56:36
     ◼
      
     ► 
     than to pay one fifth the price, but pay it monthly. 
     
     
  
 
 
	 01:56:38
     ◼
      
     ► 
     Because one of them feels like a more luxurious experience. 
     
     
  
 
 
	 01:56:41
     ◼
      
     ► 
     Let me pay, or ridiculously overpay for this option. 
     
     
  
 
 
	 01:56:45
     ◼
      
     ► 
     You want the black stitched logos on the headrest. 
     
     
  
 
 
	 01:56:49
     ◼
      
     ► 
     That'll be $7,000, all right? 
     
     
  
 
 
	 01:56:51
     ◼
      
     ► 
     I'll pay you that. 
     
     
  
 
 
	 01:56:52
     ◼
      
     ► 
     I feel like I'm a rich person 
     
     
  
 
 
	 01:56:54
     ◼
      
     ► 
     and buying a rich person thing, right? 
     
     
  
 
 
	 01:56:56
     ◼
      
     ► 
     And then the car will go down in value 
     
     
  
 
 
	 01:56:58
     ◼
      
     ► 
     like 80% in the first year I own it, right? 
     
     
  
 
 
	 01:57:00
     ◼
      
     ► 
     But whatever, that feels like a luxury experience. 
     
     
  
 
 
	 01:57:02
     ◼
      
     ► 
     What doesn't feel like a luxury experience 
     
     
  
 
 
	 01:57:04
     ◼
      
     ► 
     is to take your car home and to be nickeled and dimed 
     
     
  
 
 
	 01:57:06
     ◼
      
     ► 
     for signing up for subscriptions 
     
     
  
 
 
	 01:57:07
     ◼
      
     ► 
     for features that are supposedly in the car. 
     
     
  
 
 
	 01:57:09
     ◼
      
     ► 
     Forget about the absolute values of, 
     
     
  
 
 
	 01:57:10
     ◼
      
     ► 
     yeah, but this is cheaper than the other one. 
     
     
  
 
 
	 01:57:12
     ◼
      
     ► 
     Forget about that. 
     
     
  
 
 
	 01:57:13
     ◼
      
     ► 
     That's not, the sort of luxury experience is not like, 
     
     
  
 
 
	 01:57:17
     ◼
      
     ► 
     let me see where every penny is going. 
     
     
  
 
 
	 01:57:20
     ◼
      
     ► 
     You just want to spend way too much money 
     
     
  
 
 
	 01:57:23
     ◼
      
     ► 
     and get a very nice thing 
     
     
  
 
 
	 01:57:24
     ◼
      
     ► 
     and not have to think about it again. 
     
     
  
 
 
	 01:57:25
     ◼
      
     ► 
     The not having to think about it, 
     
     
  
 
 
	 01:57:27
     ◼
      
     ► 
     that is part of the luxury experience. 
     
     
  
 
 
	 01:57:29
     ◼
      
     ► 
     When I go bring my car to the dealer, 
     
     
  
 
 
	 01:57:30
     ◼
      
     ► 
     I always get a loaner 'cause I have a Mercedes 
     
     
  
 
 
	 01:57:32
     ◼
      
     ► 
     and the loaner is nice. 
     
     
  
 
 
	 01:57:33
     ◼
      
     ► 
     You're paying for all of that 
     
     
  
 
 
	 01:57:35
     ◼
      
     ► 
     when you overpay for your car, right? 
     
     
  
 
 
	 01:57:37
     ◼
      
     ► 
     That feels nice. 
     
     
  
 
 
	 01:57:39
     ◼
      
     ► 
     It feels better to pay more 
     
     
  
 
 
	 01:57:40
     ◼
      
     ► 
     and then to not have to think about it. 
     
     
  
 
 
	 01:57:41
     ◼
      
     ► 
     It's like all-inclusive vacations 
     
     
  
 
 
	 01:57:43
     ◼
      
     ► 
     or other things where you don't wanna have to think about, 
     
     
  
 
 
	 01:57:45
     ◼
      
     ► 
     you know, each little bit, give a little money, 
     
     
  
 
 
	 01:57:47
     ◼
      
     ► 
     give a little money. 
     
     
  
 
 
	 01:57:48
     ◼
      
     ► 
     You just wanna say, here, I'm very wealthy, 
     
     
  
 
 
	 01:57:49
     ◼
      
     ► 
     here's a wad of money up front, 
     
     
  
 
 
	 01:57:51
     ◼
      
     ► 
     and in exchange for that, 
     
     
  
 
 
	 01:57:53
     ◼
      
     ► 
     I don't have to think about this stuff anymore. 
     
     
  
 
 
	 01:57:54
     ◼
      
     ► 
     And that's the opposite of the BMW experience, 
     
     
  
 
 
	 01:57:56
     ◼
      
     ► 
     that it is a less luxurious experience for people, 
     
     
  
 
 
	 01:57:59
     ◼
      
     ► 
     even if it actually saves them money. 
     
     
  
 
 
	 01:58:00
     ◼
      
     ► 
     That's the thing about this, 
     
     
  
 
 
	 01:58:01
     ◼
      
     ► 
     people are gonna do the numbers and say, 
     
     
  
 
 
	 01:58:02
     ◼
      
     ► 
     well, if you do the math, 
     
     
  
 
 
	 01:58:04
     ◼
      
     ► 
     it's much cheaper to own it this way. 
     
     
  
 
 
	 01:58:05
     ◼
      
     ► 
     But it doesn't feel BMW, it doesn't feel Mercedes, 
     
     
  
 
 
	 01:58:08
     ◼
      
     ► 
     it doesn't feel like a luxury experience, 
     
     
  
 
 
	 01:58:10
     ◼
      
     ► 
     even if it is less expensive. 
     
     
  
 
 
	 01:58:11
     ◼
      
     ► 
     So this is terrible for actual regular car companies, 
     
     
  
 
 
	 01:58:16
     ◼
      
     ► 
     Honda, Toyota, Ford, GM. 
     
     
  
 
 
	 01:58:20
     ◼
      
     ► 
     They should never do this because regular people 
     
     
  
 
 
	 01:58:22
     ◼
      
     ► 
     don't have this kind of money to be spending 
     
     
  
 
 
	 01:58:24
     ◼
      
     ► 
     on their steering wheel heater every month. 
     
     
  
 
 
	 01:58:26
     ◼
      
     ► 
     That's ridiculous, right? 
     
     
  
 
 
	 01:58:27
     ◼
      
     ► 
     And then the luxury brands, they shouldn't do it 
     
     
  
 
 
	 01:58:29
     ◼
      
     ► 
     because it's annoying and it subverts their brand. 
     
     
  
 
 
	 01:58:32
     ◼
      
     ► 
     It makes them feel chintzy. 
     
     
  
 
 
	 01:58:33
     ◼
      
     ► 
     It makes them feel like, I don't know, 
     
     
  
 
 
	 01:58:36
     ◼
      
     ► 
     like they're cheating you. 
     
     
  
 
 
	 01:58:37
     ◼
      
     ► 
     It makes you feel ripped off. 
     
     
  
 
 
	 01:58:38
     ◼
      
     ► 
     It makes you feel like, what did I pay all this money for 
     
     
  
 
 
	 01:58:41
     ◼
      
     ► 
     to be treated like this. 
     
     
  
 
 
	 01:58:42
     ◼
      
     ► 
     - Right, 'cause it's so much about pricing and value 
     
     
  
 
 
	 01:58:46
     ◼
      
     ► 
     is perceptual and subjective and more about 
     
     
  
 
 
	 01:58:51
     ◼
      
     ► 
     what people think is the principle of the matter 
     
     
  
 
 
	 01:58:54
     ◼
      
     ► 
     than the actual numbers involved. 
     
     
  
 
 
	 01:58:56
     ◼
      
     ► 
     And we see this with things like app and service pricing 
     
     
  
 
 
	 01:58:59
     ◼
      
     ► 
     in our tech world where people who will spend $1,000 
     
     
  
 
 
	 01:59:03
     ◼
      
     ► 
     on their phone every couple of years 
     
     
  
 
 
	 01:59:05
     ◼
      
     ► 
     will balk at spending $3 a year on an app 
     
     
  
 
 
	 01:59:08
     ◼
      
     ► 
     that does something they use every day. 
     
     
  
 
 
	 01:59:10
     ◼
      
     ► 
     - $2.99, if it was 99 cents, maybe. 
     
     
  
 
 
	 01:59:13
     ◼
      
     ► 
     - Right, there's all the psychology that goes along 
     
     
  
 
 
	 01:59:16
     ◼
      
     ► 
     with pricing and value, and this, I think you're right, 
     
     
  
 
 
	 01:59:19
     ◼
      
     ► 
     not only is it less luxurious to feel like 
     
     
  
 
 
	 01:59:21
     ◼
      
     ► 
     you're being nickeled and dimed for stuff 
     
     
  
 
 
	 01:59:23
     ◼
      
     ► 
     that you think you should deserve, 
     
     
  
 
 
	 01:59:25
     ◼
      
     ► 
     especially since the hardware's already there, 
     
     
  
 
 
	 01:59:27
     ◼
      
     ► 
     but this also, assuming that you ship every car 
     
     
  
 
 
	 01:59:30
     ◼
      
     ► 
     with the hardware in it, and then you can just 
     
     
  
 
 
	 01:59:31
     ◼
      
     ► 
     turn it on for 400 bucks, it breaks the illusion. 
     
     
  
 
 
	 01:59:36
     ◼
      
     ► 
     What you're saying a minute ago, the illusion of 
     
     
  
 
 
	 01:59:39
     ◼
      
     ► 
     you're buying the car and you want that nice option package 
     
     
  
 
 
	 01:59:43
     ◼
      
     ► 
     'cause it gives you that nice luxurious thing that you want 
     
     
  
 
 
	 01:59:45
     ◼
      
     ► 
     or it gives you this cool trim on this piece 
     
     
  
 
 
	 01:59:48
     ◼
      
     ► 
     that looks nicer and feels better 
     
     
  
 
 
	 01:59:49
     ◼
      
     ► 
     and maybe matches your preferred color scheme 
     
     
  
 
 
	 01:59:52
     ◼
      
     ► 
     a little better or whatever else 
     
     
  
 
 
	 01:59:53
     ◼
      
     ► 
     and maybe you get the sunroof and the fancy 
     
     
  
 
 
	 01:59:56
     ◼
      
     ► 
     butt heaters and everything else. 
     
     
  
 
 
	 01:59:58
     ◼
      
     ► 
     When you pay that option price for that, 
     
     
  
 
 
	 02:00:00
     ◼
      
     ► 
     when you make that decision up front, 
     
     
  
 
 
	 02:00:01
     ◼
      
     ► 
     which you're way more likely to do then 
     
     
  
 
 
	 02:00:03
     ◼
      
     ► 
     than you will on a monthly basis later, 
     
     
  
 
 
	 02:00:06
     ◼
      
     ► 
     so I think they won't even sell many of these things anyway, 
     
     
  
 
 
	 02:00:08
     ◼
      
     ► 
     But when you buy that up front in that option package, 
     
     
  
 
 
	 02:00:10
     ◼
      
     ► 
     you are, you're accepting an illusion 
     
     
  
 
 
	 02:00:14
     ◼
      
     ► 
     that these options cost this much money. 
     
     
  
 
 
	 02:00:17
     ◼
      
     ► 
     And it's totally wrong, they don't really cost that much. 
     
     
  
 
 
	 02:00:20
     ◼
      
     ► 
     - It's like Apple and RAM. 
     
     
  
 
 
	 02:00:21
     ◼
      
     ► 
     - Right, exactly, like Apple and all of their spec upgrades 
     
     
  
 
 
	 02:00:23
     ◼
      
     ► 
     basically, you know, you are buying the illusion 
     
     
  
 
 
	 02:00:27
     ◼
      
     ► 
     that okay, you know what, sure, I'll spend the extra 
     
     
  
 
 
	 02:00:30
     ◼
      
     ► 
     couple thousand bucks to get the sunroof 
     
     
  
 
 
	 02:00:32
     ◼
      
     ► 
     and the nice seats or whatever. 
     
     
  
 
 
	 02:00:33
     ◼
      
     ► 
     However, if every vehicle comes with this hardware 
     
     
  
 
 
	 02:00:37
     ◼
      
     ► 
     and you are just paying to unlock it, 
     
     
  
 
 
	 02:00:41
     ◼
      
     ► 
     that totally shatters that illusion. 
     
     
  
 
 
	 02:00:43
     ◼
      
     ► 
     And it makes it seem like you're being ripped off, 
     
     
  
 
 
	 02:00:45
     ◼
      
     ► 
     even though you would have paid 
     
     
  
 
 
	 02:00:47
     ◼
      
     ► 
     the exact same amount of money up front for that feature 
     
     
  
 
 
	 02:00:51
     ◼
      
     ► 
     if you didn't know that the hardware was always there. 
     
     
  
 
 
	 02:00:56
     ◼
      
     ► 
     Like if it was just presented as a hardware option 
     
     
  
 
 
	 02:00:58
     ◼
      
     ► 
     that the hardware is either here or not 
     
     
  
 
 
	 02:00:59
     ◼
      
     ► 
     based on whether you paid this, 
     
     
  
 
 
	 02:01:01
     ◼
      
     ► 
     that maintains the illusion 
     
     
  
 
 
	 02:01:02
     ◼
      
     ► 
     and people are happy to pay for that 
     
     
  
 
 
	 02:01:04
     ◼
      
     ► 
     in most circumstances if they want those things. 
     
     
  
 
 
	 02:01:06
     ◼
      
     ► 
     Whereas, if the hardware's always there 
     
     
  
 
 
	 02:01:08
     ◼
      
     ► 
     and you're just paying to use it, 
     
     
  
 
 
	 02:01:10
     ◼
      
     ► 
     you feel like you're being cheated. 
     
     
  
 
 
	 02:01:12
     ◼
      
     ► 
     - And by the way, car options for the most part 
     
     
  
 
 
	 02:01:14
     ◼
      
     ► 
     are not like that. 
     
     
  
 
 
	 02:01:14
     ◼
      
     ► 
     When you buy the alloy wheels, 
     
     
  
 
 
	 02:01:16
     ◼
      
     ► 
     you don't get them unless you pay for them. 
     
     
  
 
 
	 02:01:18
     ◼
      
     ► 
     If you want the sunroof, 
     
     
  
 
 
	 02:01:19
     ◼
      
     ► 
     it's not like they all come with a sunroof 
     
     
  
 
 
	 02:01:20
     ◼
      
     ► 
     and it gets unlocked or like, 
     
     
  
 
 
	 02:01:21
     ◼
      
     ► 
     oh, it comes with a V8, 
     
     
  
 
 
	 02:01:22
     ◼
      
     ► 
     but we only let you use four of the cylinders. 
     
     
  
 
 
	 02:01:25
     ◼
      
     ► 
     Most car options that are, even the cosmetic ones, 
     
     
  
 
 
	 02:01:29
     ◼
      
     ► 
     if you don't pay for it, you don't get it. 
     
     
  
 
 
	 02:01:31
     ◼
      
     ► 
     Do you want the metallic paint? 
     
     
  
 
 
	 02:01:32
     ◼
      
     ► 
     Well, if you don't pay for the metallic paint for $5,000, 
     
     
  
 
 
	 02:01:34
     ◼
      
     ► 
     you're not getting the metallic paint. 
     
     
  
 
 
	 02:01:35
     ◼
      
     ► 
     It's not under your paint hiding where you can enable it. 
     
     
  
 
 
	 02:01:38
     ◼
      
     ► 
     Even like, oh, do you want the colored piping 
     
     
  
 
 
	 02:01:40
     ◼
      
     ► 
     on your seats? 
     
     
  
 
 
	 02:01:42
     ◼
      
     ► 
     Do you want the contrasting stitching on your steering wheel? 
     
     
  
 
 
	 02:01:45
     ◼
      
     ► 
     That'll be $500. 
     
     
  
 
 
	 02:01:46
     ◼
      
     ► 
     You don't get the contrasting stitching 
     
     
  
 
 
	 02:01:48
     ◼
      
     ► 
     unless you pay that $500. 
     
     
  
 
 
	 02:01:49
     ◼
      
     ► 
     Does contrasting stitching cost $500? 
     
     
  
 
 
	 02:01:51
     ◼
      
     ► 
     No, of course it doesn't, but you don't get it. 
     
     
  
 
 
	 02:01:54
     ◼
      
     ► 
     And for these features, particular stuff like this 
     
     
  
 
 
	 02:01:56
     ◼
      
     ► 
     is like software powered or whatever, 
     
     
  
 
 
	 02:01:57
     ◼
      
     ► 
     well, you can't see the seat heaters, 
     
     
  
 
 
	 02:02:00
     ◼
      
     ► 
     and they aren't that expensive in addition to the seat. 
     
     
  
 
 
	 02:02:02
     ◼
      
     ► 
     But seats are, you know, I was watching one of the, 
     
     
  
 
 
	 02:02:05
     ◼
      
     ► 
     one of my teardown things, seats are among the most expensive things in a car interior. 
     
     
  
 
 
	 02:02:09
     ◼
      
     ► 
     I think one of the things I was watching said the seating in the typical high-end American 
     
     
  
 
 
	 02:02:17
     ◼
      
     ► 
     minivan costs more than the drivetrain, not including the engine, but just the drivetrain. 
     
     
  
 
 
	 02:02:23
     ◼
      
     ► 
     Not the engine itself, but the drivetrain, like the axles, the differential, all that 
     
     
  
 
 
 
	 02:02:27
     ◼
      
     ► 
     The seating costs more than that because if you look at how difficult it is to assemble, 
     
     
  
 
 
	 02:02:31
     ◼
      
     ► 
     how much hand assembly has to be done, how much sewing and stitching and how many parts 
     
     
  
 
 
	 02:02:35
     ◼
      
     ► 
     there are or whatever, in the grand scheme of that, the seat heaters, which are essentially 
     
     
  
 
 
	 02:02:39
     ◼
      
     ► 
     a wire that snakes its way through a flimsy piece of fabric that runs up your seat, right? 
     
     
  
 
 
	 02:02:43
     ◼
      
     ► 
     That costs additional 10, 20 bucks per seat and they sell it to you for, you know, $150 
     
     
  
 
 
	 02:02:50
     ◼
      
     ► 
     per seat, right? 
     
     
  
 
 
	 02:02:51
     ◼
      
     ► 
     So huge margins on those options or whatever, that's the type of thing that they could potentially 
     
     
  
 
 
	 02:02:55
     ◼
      
     ► 
     afford to put in every car and not just not tell you it's there. 
     
     
  
 
 
	 02:02:57
     ◼
      
     ► 
     But I think even for things like steering wheel heaters, I think for the most part they 
     
     
  
 
 
	 02:03:01
     ◼
      
     ► 
     don't put them in the non-heating steering wheels. 
     
     
  
 
 
	 02:03:03
     ◼
      
     ► 
     It's not like they're there and you get them, you know, 
     
     
  
 
 
	 02:03:05
     ◼
      
     ► 
     like they have a non-heated and a heated version. 
     
     
  
 
 
	 02:03:08
     ◼
      
     ► 
     And certainly for in regular non-luxury cars, 
     
     
  
 
 
	 02:03:10
     ◼
      
     ► 
     they have heated and non-heated versions of seats 
     
     
  
 
 
	 02:03:12
     ◼
      
     ► 
     and the non-heated ones don't have the seat heaters in them. 
     
     
  
 
 
	 02:03:14
     ◼
      
     ► 
     But for stuff like this, you know, if it's not visible, 
     
     
  
 
 
	 02:03:17
     ◼
      
     ► 
     they can actually charge you. 
     
     
  
 
 
	 02:03:18
     ◼
      
     ► 
     And then the software ones, 
     
     
  
 
 
	 02:03:20
     ◼
      
     ► 
     those actually make a little bit more sense to me 
     
     
  
 
 
	 02:03:22
     ◼
      
     ► 
     because at the very least there you say, 
     
     
  
 
 
	 02:03:23
     ◼
      
     ► 
     well, paying for software is something we understand. 
     
     
  
 
 
	 02:03:26
     ◼
      
     ► 
     And you know, well, it downloads the software 
     
     
  
 
 
	 02:03:28
     ◼
      
     ► 
     and you pay for it. 
     
     
  
 
 
	 02:03:29
     ◼
      
     ► 
     So technically you don't have it beforehand, 
     
     
  
 
 
	 02:03:30
     ◼
      
     ► 
     but like, fine, you want to charge me your software features 
     
     
  
 
 
	 02:03:32
     ◼
      
     ► 
     you pay for things that have services like Sirius XM, you're paying a monthly fee to 
     
     
  
 
 
	 02:03:36
     ◼
      
     ► 
     get a service from a company, that's a thing we're all familiar with. 
     
     
  
 
 
	 02:03:39
     ◼
      
     ► 
     Even paying for the downloadable engine sounds, that's the punchline in the Verge article, 
     
     
  
 
 
	 02:03:45
     ◼
      
     ► 
     that's like buying a ringtone for your phone, that's all within the realm of, it's dumb 
     
     
  
 
 
	 02:03:50
     ◼
      
     ► 
     purchasing $117 doesn't make sense, but if you like that sound and it's a one time purchase, 
     
     
  
 
 
	 02:03:56
     ◼
      
     ► 
     it's not a big deal. 
     
     
  
 
 
	 02:03:57
     ◼
      
     ► 
     the monthly subscriptions to use features of your car, 
     
     
  
 
 
	 02:04:02
     ◼
      
     ► 
     I really don't think that's gonna fly. 
     
     
  
 
 
	 02:04:04
     ◼
      
     ► 
     I don't think it's gonna fly for BMW. 
     
     
  
 
 
	 02:04:05
     ◼
      
     ► 
     I think it's gonna damage their brand. 
     
     
  
 
 
	 02:04:06
     ◼
      
     ► 
     And I really, really don't think it's gonna fly 
     
     
  
 
 
	 02:04:09
     ◼
      
     ► 
     in like regular people cars. 
     
     
  
 
 
	 02:04:11
     ◼
      
     ► 
     Like it's just, I mean, like you were saying, Marco, 
     
     
  
 
 
	 02:04:13
     ◼
      
     ► 
     they don't even wanna pay 99 cents for an app 
     
     
  
 
 
	 02:04:15
     ◼
      
     ► 
     that they use seven hours a day. 
     
     
  
 
 
	 02:04:16
     ◼
      
     ► 
     You think they're gonna pay $12 a month 
     
     
  
 
 
	 02:04:18
     ◼
      
     ► 
     to heat their steering wheel? 
     
     
  
 
 
 
	 02:04:20
     ◼
      
     ► 
     [Door closes]