Unofficial Accidental Tech Podcast transcripts (generated by computer, so expect errors).

546: Re-Crop With the Wisdom of Age

John has only two requests for the Photos team this year.

Episode Description:

Sponsored by:

  • Kolide: Ensuring that if a device isn’t secure, it can’t access your apps. It’s Device Trust for Okta. Learn more and watch the demo today.
  • Trade Coffee: Let’s Coffee Better. Get a free bag of fresh coffee with any Trade subscription.

Become a member for ad-free episodes and our early-release, unedited “bootleg” feed!

MP3 Header

Transcribed using Whisper large_v2 (transcription) + WAV2VEC2_ASR_LARGE_LV60K_960H (alignment) + Pyannote (speaker diaritization).


  1. Deployment target
  2. Hypercritical shirts
  3. DDNS on Synology
  4. Security-camera follow-up
  5. Sponsor: Trade Coffee
  6. Far memory
  7. Required-reason APIs
  8. Sponsor: Kolide
  9. 16,171 thoughts on Photos
  10. Join us!
  11. #askatp: What still needs UIKit?
  12. #askatp: Sony A6700?
  13. #askatp: Getting into social networks
  14. Ending theme
  15. Travel routers
  16. Constant noise

Deployment target

⏹️ ▶️ Marco I do feel really good tonight because earlier today

⏹️ ▶️ Marco I moved my deployment target for my new rewrite of the app from

⏹️ ▶️ Marco iOS 16 to iOS 17. I mean we all knew you would. I know, well, but

⏹️ ▶️ Marco also, okay, part of the rewrite is a new sync protocol that is

⏹️ ▶️ Marco way more efficient both on the client and the server. So I thought I should target

⏹️ ▶️ Marco iOS 16 because like 95% or something of my users are on iOS 16 and above so I’m like if I can

⏹️ ▶️ Marco deploy this to them I can also save a bunch on the server side resource wise and and

⏹️ ▶️ Marco dramatically lighten the load on the servers. So my thinking was if I ship this thing sometime

⏹️ ▶️ Marco this winter I can I can ship it to everybody and dramatically lighten the load on the servers. Well

⏹️ ▶️ Marco in the meantime I made the mistake of looking at my numbers for last fall of like how quickly did people adopt

⏹️ ▶️ Marco iOS 17 last fall out of my user Not, you know, not out of the entire world of iPhone users,

⏹️ ▶️ Marco but just out of my users. You mean iOS 16? Yes, that’s what I meant, sir. And it turned out

⏹️ ▶️ Marco that by December, I had something like 88% by December 1st of

⏹️ ▶️ Marco people who had already installed iOS 16 by then. You know, it hadn’t come out

⏹️ ▶️ Marco like the prior September. So, like, you know, it only took a few months to reach, like, almost 90%

⏹️ ▶️ Marco of adoption on the new OS. And I was looking at my own life, introspectively, and thinking,

⏹️ ▶️ Marco what are the odds that I ship this thing before December 1st? It’s

⏹️ ▶️ Marco basically zero. Like, I cannot imagine that happening. I just cannot imagine

⏹️ ▶️ Marco making that much progress in that much time where I’d have this entire rewrite of the

⏹️ ▶️ Marco app ready to ship only, you know, five months from now or something. Like, it’s just, it’s not gonna

⏹️ ▶️ Marco happen. Look, and I would love if, for some reason, if four and a half months from now

⏹️ ▶️ Marco you hear me on the show complaining, Oh, I can’t believe I can’t ship this rewrite. It’s been done sitting around

⏹️ ▶️ Marco for weeks now and I can’t ship it because my iOS 17 adoption isn’t high enough yet. Listeners, if that

⏹️ ▶️ Marco happens, you can feel free to say I told you so. But there is no chance of that happening

⏹️ ▶️ Marco as far as I can tell. There is no way I ship this entire rewrite by December. I’d be lucky to ship it by

⏹️ ▶️ Marco April, I think. So, maybe not quite that bad, but it just, there is just

⏹️ ▶️ Marco so much in the app. Like, you don’t realize when you have a decade-old

⏹️ ▶️ Marco app, just how much of an app that is. Like, how many

⏹️ ▶️ Marco subsystems there are, how many features there are, how many screens there are. There is so,

⏹️ ▶️ Marco so much. And I don’t have to, look, I can kind of part this and I don’t

⏹️ ▶️ Marco have to rewrite every subsystem, but because of the way I’m modernizing things,

⏹️ ▶️ Marco I will have to rewrite many subsystems and most or all of the UI, which

⏹️ ▶️ Marco is much of the app. Like, the only thing I’m not touching is the audio engine. I’m not rewriting the audio engine, but I am rewriting

⏹️ ▶️ Marco some of the things that interact with the audio engine. So there’s even that, like there’s so much that I have to rewrite

⏹️ ▶️ Marco and all these little tiny behaviors that I have to, you know, rewrite or reconsider and make sure

⏹️ ▶️ Marco I get right. So it is going to be,

⏹️ ▶️ Marco it is still a process. But I decided since there’s no way I’m gonna

⏹️ ▶️ Marco ship it by December 1st and assuming I have a similar curve this fall with my adoption of the new

⏹️ ▶️ Marco OS, if I can ship iOS 17 plus and use all

⏹️ ▶️ Marco of the new observable stuff as I’m writing all my SwiftUI stuff, like I just I converted like two views over

⏹️ ▶️ Marco the observable stuff today, oh my god it’s so much easier and I couldn’t believe it like

⏹️ ▶️ Marco I could get rid of so much crap, so much boilerplate, so much like you know moving values around

⏹️ ▶️ Marco by using that system, oh man it’s so nice. So So I thought, all right, I’m gonna get this done. I’m gonna just

⏹️ ▶️ Marco require iOS 17. And by the time I, you know, I mean, by the time I ship this

⏹️ ▶️ Marco rewrite, it might be time for iOS 18. We’ll see, but hopefully not quite that long.

⏹️ ▶️ Casey Right. Well, I’m glad that progress is being made. You sound like you’re in a good spot insofar

⏹️ ▶️ Casey as you sound chipper about it. And you, you know, you’re not in the doldrums of what have I done? Why am I doing this?

⏹️ ▶️ Casey You know, et cetera.

⏹️ ▶️ Marco, Casey So

⏹️ ▶️ Marco that’s- Oh, that came yesterday when I was working on the widgets. Ah, fair. Cause I am in the meantime, going to

⏹️ ▶️ Marco ship an iOS 17 update for the old codebase that has a new widget for iOS 17.

⏹️ ▶️ Marco Whenever it’s time for that I’ll ship that. And those are I think done.

⏹️ ▶️ Marco It was tricky to… Back when I naively thought I will just

⏹️ ▶️ Marco modify my iOS 16 widgets to work on both? No. That’s

⏹️ ▶️ Marco like… As I started designing it and started looking into like, okay, what does interaction mean? What does

⏹️ ▶️ Marco it mean when the widgets are in all these different new places? You You got the standby mode, you got the beaming into the Mac, you got the iPad lock screen, you got

⏹️ ▶️ Marco the iPad desktop. You had like all these different places widgets go. I’m like, there’s no way

⏹️ ▶️ Marco my existing design works well in all these cases. Like it just doesn’t. And I started modifying it and had all

⏹️ ▶️ Marco these like giant, you know, conditional logic of, okay, well, if you’re on iOS 17, then

⏹️ ▶️ Marco modify this thing this way. But also if you’re on iOS 17, but your background is removed, modify this way. And

⏹️ ▶️ Marco it got so ridiculous. And at the end, I’m just like, you know what? This is impossible to maintain.

⏹️ ▶️ Marco and impossibly complicated, I’m just gonna have a separate set. So I literally like

⏹️ ▶️ Marco renamed all of those widgets to have underscore iOS 16 on the end and

⏹️ ▶️ Marco just copied them and made entirely new ones for iOS 17 and just conditionally, you know,

⏹️ ▶️ Marco render the entire widget from a whole separate class or struct I guess, a whole separate definition

⏹️ ▶️ Marco of widget. And that was much better. Cause the thing is like making them interactive, first

⏹️ ▶️ Marco of all, that changes everything, But you don’t want them interactive everywhere because interaction in standby

⏹️ ▶️ Marco mode is kind of annoying because you have to unlock the phone after you interact

⏹️ ▶️ Marco with it to do anything. So there are certain places where you don’t want interaction or

⏹️ ▶️ Marco it kind of has to be different. It’s a whole thing. Anyway, all this to say, this fall,

⏹️ ▶️ Marco listeners, I would expect many of your apps that have widgets

⏹️ ▶️ Marco are going to completely rewrite them and many of them will require iOS 17 to make this job easier. So

⏹️ ▶️ Marco be ready to adopt iOS 17 quickly. if not for my app, then for all of your other nerdy apps. you

Hypercritical shirts

⏹️ ▶️ Casey Before we move on to follow up, I should mention that if you are currently

⏹️ ▶️ Casey driving or perhaps walking, if you’re mobile at the moment, please

⏹️ ▶️ Casey do yourself a favor. Not even me, do yourself a favor, pull over, step to the side, do whatever you got to do

⏹️ ▶️ Casey and go ahead and go to slash shirt, get yourself a hypercritical

⏹️ ▶️ Casey t-shirt. I think clearly because of the amazing sales job I’m doing right now, I

⏹️ ▶️ Casey will end up getting easily 25% of the profit. I think that’s the agreement that we’ve just reached. So go

⏹️ ▶️ Casey to slash shirt. Get yourself a once every five years hypercritical t-shirt.

⏹️ ▶️ Casey Now is the time. Do not wait. Do not say, oh, I’ll remember. You won’t remember. Go now.

⏹️ ▶️ Casey slash shirt.

⏹️ ▶️ John Only one of these episodes left. Next episode is going to be the final warning, people. Five years.

⏹️ ▶️ Casey There you go. Five whole years. Now is the time. And John, your silence

⏹️ ▶️ Casey is consent. That’s 25% for me. Sounds good. Moving on. Follow up.

DDNS on Synology

⏹️ ▶️ Casey We’ve got some, a lot of people wrote in to remind me of something that I am actually

⏹️ ▶️ Casey actively using, except I almost never use it. Let me explain. I was talking in the after show last week

⏹️ ▶️ Casey about when I had my IP address on my home internet connection change

⏹️ ▶️ Casey out from under me, which happens extremely rarely because you know, this is a connection that’s always

⏹️ ▶️ Casey up, but it does happen from time to time. And it changed out from under me. And I think John, you were talking about,

⏹️ ▶️ Casey you know, dynamic DNS solutions that led us on the rabbit hole of

⏹️ ▶️ Casey or whatever it used to be. Anyways, a lot of people pointed out, including a friend of the show, Spencer,

⏹️ ▶️ Casey and many others, that Synology has its own dynamic DNS setup thing that

⏹️ ▶️ Casey I could and should use. And as it turns out, I do use that. And what you can do is you can have your Synology

⏹️ ▶️ Casey phone home to the Synology server’s website, what have you, and it will update

⏹️ ▶️ Casey the IP address of your Synology. and then you can refer to

⏹️ ▶️ Casey or whatever the case may be, and that will get you back to your Synology.

⏹️ ▶️ Casey That of course would also get me back to my house. It’s not specific to the Synology, it’s

⏹️ ▶️ Casey DNS. It’s just resolving to an IP address. And I should keep that in mind as

⏹️ ▶️ Casey a backup, as a way to get to the house. But for whatever reason,

⏹️ ▶️ Casey I guess because it has Synology in the URL, I think of that as being unique to the Synology. It isn’t unique to Synology.

⏹️ ▶️ Casey Again, it comes to the house. But I think of it that way, and that’s why I’m not using it. However,

⏹️ ▶️ Casey Alex Maznov, who is the author of SwiftBar, which I highly endorse,

⏹️ ▶️ Casey he wrote in and said, speaking about dynamic DNS, Synology not only has a built-in client, but also provides a free service.

⏹️ ▶️ Casey And Alex talked about this. We’ll put a link to this in show notes. But what was interesting was Alex said, then you could add a

⏹️ ▶️ Casey CNAME, such as, pointing to

⏹️ ▶️ Casey on hover, and that’s it. So to recap, what Alex is saying, which is

⏹️ ▶️ Casey a clever idea that I probably wound up doing, is I have hover, my subdomain

⏹️ ▶️ Casey on hover, just become a CNAME. You’ll refer to

⏹️ ▶️ Casey And then I’ve got the best of both worlds, because the kind of backing store, if you will, for the IP address

⏹️ ▶️ Casey is the Synology setup that should always be updated. But I can still continue referring to it as

⏹️ ▶️ Casey I just thought that was interesting. I’m

⏹️ ▶️ John also using the free Synology Dynamic DNS service. And so I was aware that it existed.

⏹️ ▶️ John But what I wasn’t aware of is that if you go to that same place, it’s on your Synology. It’s under Control Panel,

⏹️ ▶️ John and then External Access, and then DDNS. It also supports third-party services.

⏹️ ▶️ John So it’s not just the service that I guess they just run for free for Synology owners.

⏹️ ▶️ John It does a bunch of other ones. It doesn’t include the service that I’ve been freeloading on for 17 years. So

⏹️ ▶️ John that’s not in there, or actually maybe it was, but Hover wasn’t in there for whatever reason. But anyway,

⏹️ ▶️ John a lot of them are supported. And like a lot of these systems, it’s probably pluggable. So you could probably maybe get a plugin for your service

⏹️ ▶️ John or whatever. But the CNAME thing is interesting. I should probably do what you just described,

⏹️ ▶️ John just pick one of my unused domains and map it to the thing. I’ll have to decide whether I’m gonna continue

⏹️ ▶️ John freeloading to continue my 17, I think I should make it to 20 years, I’ve been

⏹️ ▶️ John, Marco freeloading for 20 years, and I can

⏹️ ▶️ John ride into the company and get a tour of the factory or something,

⏹️ ▶️ John, Marco shake hands with the CEO.

⏹️ ▶️ John This person has refused to give us money for 20 years. Here’s your plaque.

⏹️ ▶️ John, Casey Congratulations.

⏹️ ▶️ John We’ll see what I do, but yeah, I should just make an alias from one of my umpteen domains.

Security-camera follow-up

⏹️ ▶️ Casey All right, Marco, I know that you got an overwhelming amount

⏹️ ▶️ Casey of security camera update because John and I got an

⏹️ ▶️ Casey, Marco overwhelming amount of

⏹️ ▶️ Casey security camera updates. Can you tell me what the executive summary is

⏹️ ▶️ Casey for all of this, please?

⏹️ ▶️ Marco Yes. So, first of all, I am vindicated. Everyone has these

⏹️ ▶️ Marco problems with Logitech Circle View cameras. A lot of people wrote

⏹️ ▶️ Marco in, first of all, thank you. of all, wow, we’ve had a lot of people writing with a lot of content and it’s all very

⏹️ ▶️ Marco good and helpful. So thank you very much. Also, I think you can stop now. Anyway,

⏹️ ▶️ Marco it’s been and seriously, thank you very much to everyone who’s written as it’s actually been extremely helpful and really

⏹️ ▶️ Marco quite elaborate. But anyway, so Logitech Circle View cameras, the issues I was having with constant like Wi

⏹️ ▶️ Marco Fi dropouts and connection drops and everything. Everyone has these problems, both with the Circle View

⏹️ ▶️ Marco and the doorbell version of it. It seems like Some people have had good luck putting

⏹️ ▶️ Marco Wi-Fi access points extremely close to them, and it seems like that helps. A few

⏹️ ▶️ Marco people have said that trying to configure their Wi-Fi

⏹️ ▶️ Marco system such that they only ever connect to the same AP occasionally helps,

⏹️ ▶️ Marco but some people said that didn’t help them, some people said it did. So it seems like

⏹️ ▶️ Marco weak and buggy Wi-Fi is their problem, and that if you can somehow make the Wi-Fi to

⏹️ ▶️ Marco them easier for them to handle that seems to improve the error rate.

⏹️ ▶️ Marco And that actually kind of maps, like I mentioned that like the one of them that I have is pretty reliable,

⏹️ ▶️ Marco the bike camera one. And that happens to be about five feet from an AP. So

⏹️ ▶️ Marco that actually makes a lot of sense that why that one would be more reliable than the others, which are a totally

⏹️ ▶️ Marco reasonable distance from APs, but not quite so close. Anyway though, everyone

⏹️ ▶️ Marco wrote in to say, First of all, there are more HomeKit secure video

⏹️ ▶️ Marco cameras than I thought. I linked it in the show notes after the fact, and we’ll link again maybe this time to this iMore

⏹️ ▶️ Marco article that shows every HomeKit secure video camera currently on the market. And

⏹️ ▶️ Marco I also wanna point out, there’s multiple forms of HomeKit cameras. There’s like HomeKit compatible,

⏹️ ▶️ Marco and then separately from that is HomeKit secure video compatible. Those are actually two different levels

⏹️ ▶️ Marco of integration with HomeKit. And a lot of the things people wrote in only were compatible with

⏹️ ▶️ Marco HomeKit in the sense that you could view them in the Home app, but not necessarily secure video, which is their own kind of

⏹️ ▶️ Marco cloud storage and certain other features kind of thing. Anyway, a

⏹️ ▶️ Marco lot of people were written to recommend the Eufy cameras, the E-U-F-Y. This is Anker’s home,

⏹️ ▶️ Marco like smart home kind of brand. And I had Eufy cameras first.

⏹️ ▶️ Marco Listeners may remember, that’s the brand that I kept killing the cameras, I put them outside.

⏹️ ▶️ Marco Much to John’s chagrin. So I had Ufee at first, and they are

⏹️ ▶️ Marco fine. They actually have had a couple of little scandals here and there since then, with

⏹️ ▶️ Marco some security badness here or there. I didn’t love them,

⏹️ ▶️ Marco but they were fine and they are cheap. They have some options that work with HomeKit and

⏹️ ▶️ Marco some options that work with HomeKit Secure Video, some of which are outdoor compatible.

⏹️ ▶️ Marco People say they’re okay. But ultimately, everyone said,

⏹️ ▶️ Marco just get Ubiquiti cameras. Everyone. Like, I had no idea we

⏹️ ▶️ Marco had so many Ubiquiti fans in the audience. And everyone basically said, yes,

⏹️ ▶️ Marco you know, the Wi-Fi cameras and everything are nice and cheap and simple.

⏹️ ▶️ Marco However, if you want reliable cameras, it has to be PoE

⏹️ ▶️ Marco cameras. Power over Ethernet, hardwired, hard-powered cameras. That’s how to make reliable

⏹️ ▶️ Marco home cameras. You can use any PoE cameras, like there’s this brand Amcrest,

⏹️ ▶️ Marco some people recommend it and everything, but everyone basically said, yeah, use Ubiquiti stuff, it’s really good. You

⏹️ ▶️ Marco can also use Synology’s surveillance station with other cameras if you want, but everyone basically

⏹️ ▶️ Marco said Ubiquiti stuff is either as good or better. And then there are a couple of

⏹️ ▶️ Marco ways to get that into HomeKit if you also want. So the recommended setup is

⏹️ ▶️ Marco to run PoE cameras, probably Ubiquiti’s cameras, with Ubiquiti’s recorder and

⏹️ ▶️ Marco stuff like that, using their Protect app, like Nest, that provides 24-7 recording. And

⏹️ ▶️ Marco it’s stored on your local hard drive and inside whatever Ubiquiti appliance you’re using to record

⏹️ ▶️ Marco the video. That’s like the 24-7. But then you can also bridge that into HomeKit

⏹️ ▶️ Marco and possibly HomeKit Secure Video to get those features on top of it. So that

⏹️ ▶️ Marco gives you all the Apple integration. So that way you get the nice notifications from HomeKit,

⏹️ ▶️ Marco You get the motion detection from HomeKit. You get the feature that I’ve actually never used where you

⏹️ ▶️ Marco can have it pop in a picture in picture on your Apple TV if someone’s at your front door camera.

⏹️ ▶️ Marco And kind of show it right there on your Apple TV as a little video doorbell kind of thing. So you can

⏹️ ▶️ Marco do all that with Ubiquiti and other cameras using either HomeBridge

⏹️ ▶️ Marco or the one thing that everyone said I need to try is this app called Scripted,

⏹️ ▶️ Marco S-C-R-Y-P-T-E-D. So scripted with a Y in the middle of it. Scripted apparently

⏹️ ▶️ Marco bridges those kind of systems to HomeKit Secure Video. And

⏹️ ▶️ Marco so this is what I’m going to do. I have stuff on order. It might take a couple of weeks to get it all in here and set it all up and actually

⏹️ ▶️ Marco try it. But this is the setup I’m going to do. I cannot tell you how many people

⏹️ ▶️ Marco wrote in to say, ubiquitous cameras are great, and use them with scripted

⏹️ ▶️ Marco to bridge them into HomeKit. Everyone wrote in to tell me this. And people gave me sample footage,

⏹️ ▶️ Marco People were pointing out people who worked there, people who didn’t work there, people who’ve installed this for many different

⏹️ ▶️ Marco homes, or for clients that they work with, businesses that use it. Everyone

⏹️ ▶️ Marco agreed, Ubiquiti cameras, and then use Krypton.

⏹️ ▶️ John I feel like you have a special case here, though. I was thinking about this while reading through all the email with the people recommending the

⏹️ ▶️ John power over ethernet cameras. I’m not sure if that’s the best solution for you,

⏹️ ▶️ John because I just kept thinking of that ethernet connector out there in the elements, and thinking about that USB. That was USB.

⏹️ ▶️ John about the USB, I know, but I’m thinking about the Ethernet connector that will be on your power

⏹️ ▶️ John, Marco reason phones. And then

⏹️ ▶️ John I was comparing it to the USB-A connector that you showed that had rusted out. The advantage that a wireless

⏹️ ▶️ John one has is it can be completely weather sealed with no nothing plugged into it at all,

⏹️ ▶️ John except for I suppose power, or even that it could be battery power with one of those like magnetic charging base things.

⏹️ ▶️ John I think the Nest cameras have that where it’s like hardwired to a base that inductively charges

⏹️ ▶️ John a magnetically attached thing? Anyway, you’ll find out, but like, the advantage of wireless for you

⏹️ ▶️ John is less rust surface, potentially. Or it could be, no matter what you do, the

⏹️ ▶️ John salt air is gonna destroy this camera in a year anyway, so might as well get cheap ones, but I guess you’ll find out.

⏹️ ▶️ Marco Well, so on that front, what attracts me to the PoE option here is

⏹️ ▶️ Marco you can get like 100 foot ethernet cables and just run them from a safe place.

⏹️ ▶️ Marco And so my physical setup here is, I have like a utility closet where all the networking

⏹️ ▶️ Marco gear is based and that is interior conditioned space. And there is a

⏹️ ▶️ Marco small pipe conduit that runs from that down like to under the house

⏹️ ▶️ Marco and to all the utility areas down there. Is this the water closet or is it a different closet? Different closet.

⏹️ ▶️ John Is there water stored in this one too?

⏹️ ▶️ Marco Yes, actually. You

⏹️ ▶️ John get the water out of the closets with your electronics.

⏹️ ▶️ Marco Well the water’s in gallon jugs on the floor.

⏹️ ▶️ Marco, John Even

⏹️ ▶️ John though you thought the same thing in the other closet and they started to Elite does not store water next to your electronics.

⏹️ ▶️ Marco It’s below the electronics.

⏹️ ▶️ Marco, John Unless we

⏹️ ▶️ Marco had a significant steam situation forming from this water, it would not reach the electronics. You just

⏹️ ▶️ John cannot stop putting indoor things outdoors and storing water next to your electronics in closets.

⏹️ ▶️ Marco Yeah, there’s a chest freezer there too. Is it going to beep them to death? Anyway,

⏹️ ▶️ Marco so the advantage here with Power Release Net is that I can, and this is how all, I have a couple of access

⏹️ ▶️ Marco points that are outdoors as well. And this is how I use them. They’re also powered by PoE. And

⏹️ ▶️ Marco so I basically have long cables that run from the

⏹️ ▶️ Marco inside closet through that conduit to the outside world. And so all I

⏹️ ▶️ Marco have to do is seal the end of the cable that plugs into the camera. And all of these

⏹️ ▶️ Marco cameras are designed to do exactly that. And I can enhance it if I want to. There’s like a little additional boxes

⏹️ ▶️ Marco you can mount them to that are their own kind of sealed little things and you can then- Are they airtight seal? That’s the problem

⏹️ ▶️ Marco for you. You have to airtight seal them. So that’s why I’m looking at these boxes too. So there are different

⏹️ ▶️ Marco options. And somebody recommended, I believe it’s called dialectic grease,

⏹️ ▶️ Marco, John something like that.

⏹️ ▶️ Marco So I bought a tube of that as well to kind of stick like on the connector. So it kind of seals it up that

⏹️ ▶️ Marco way. So I’m going to do all the sealing and everything and see how it goes. I don’t know if it’s going to work. Out here.

⏹️ ▶️ John Can you evacuate the air from the chamber? Because even the small amount of air that you trap inside there is probably filled

⏹️ ▶️ John with salt that is going to corrode things.

⏹️ ▶️ Marco I mean, it is definitely filled with salt. I can’t imagine the static amount of non-moving

⏹️ ▶️ Marco air in there would really be a problem.

⏹️ ▶️ Marco, John The reason I think

⏹️ ▶️ John about this is because the little, the contacts on an Ethernet connector, RJ45 connector, they’re so tiny and

⏹️ ▶️ John delicate compared to the huge contacts on USB-A and your weather defeated the USB-A connector.

⏹️ ▶️ John So I’m thinking

⏹️ ▶️ John, Marco those little tiny contacts on an Ethernet

⏹️ ▶️ John connector don’t stand a chance.

⏹️ ▶️ Marco Well, and the USB-A connector was not just bare in the world, it was inside,

⏹️ ▶️ Marco you can buy on Amazon these little sealed plastic boxes that are made for like if you’re running

⏹️ ▶️ Marco Christmas lights and you have like a cable outside that you want to join with an extension

⏹️ ▶️ Marco cable or something. And so even if you have two outdoor cables or if you plug them into each other, that’s gonna be like a joint that

⏹️ ▶️ Marco can, you know, rust and have problems. So you can buy these like plastic boxes that are made to

⏹️ ▶️ Marco put cable connections into and then they seal up from the elements. That USB-A plug

⏹️ ▶️ Marco from last week or whenever, that was in one of those boxes and it

⏹️ ▶️ Marco, John still got like this.

⏹️ ▶️ John I think you need to start shopping. See, this is getting more towards the boat stuff. find things for people who live on boats, you know

⏹️ ▶️ John what I mean, by the marine equivalent, because that’s your only chance.

⏹️ ▶️ Marco That’s what I look for, like whenever I’m looking for anything that goes outside, like a padlock or something,

⏹️ ▶️ Marco whenever any of that stuff, I always look for marine grade. But the thing is, everyone says

⏹️ ▶️ Marco everything’s marine grade, and then you get it. Yeah, yeah, you gotta

⏹️ ▶️ John actually go to the place where people who own boats shop, and I bet it’s just not on Amazon.

⏹️ ▶️ Marco I don’t think people who own boats have things last forever for them. Think about what boat ownership is

⏹️ ▶️ Marco like. I know,

⏹️ ▶️ Marco, John well,

⏹️ ▶️ John you know, it lasts pretty long. One of my favorite sailing channels that I watch, I’ve been watching for many, many years,

⏹️ ▶️ John they

⏹️ ▶️ John, Casey have a- You watch a sailing channel? Yeah. What do you

⏹️ ▶️ Casey, John not watch?

⏹️ ▶️ Casey My goodness.

⏹️ ▶️ John Yeah, they have a, like a, I think it’s like a five-cylinder Volvo

⏹️ ▶️ John engine in their sailboat for when there’s no wind, connected to a transmission and everything. And like, it’s

⏹️ ▶️ John in a sailboat and they live at sea. So it’s the

⏹️ ▶️ John, Marco worst

⏹️ ▶️ John case scenario. And this thing lasted for years. They just recently replaced some parts and I’m like, how do

⏹️ ▶️ John you have a giant hunk of metal in a sailboat at sea that has lasted you this long.

⏹️ ▶️ John So there must be some way that boat people know how to seal things up so they don’t rot. It’s the same thing, they had solar panels,

⏹️ ▶️ John so they just replaced the solar panels after several years. I’m like, how are those solar panels functioning? Marco can’t keep a USB-A

⏹️ ▶️ John plug functioning outside his house. You’re literally in the middle of the Pacific Ocean with these solar panels, this

⏹️ ▶️ John is a dumb thing. Anyway, so they must know something we don’t. Maybe there’s a lot of dielectric grease on things.

⏹️ ▶️ John I

⏹️ ▶️ John, Marco don’t know. I guess,

⏹️ ▶️ Marco I don’t know. Because I buy stuff that claims to be stainless steel, everything, And then you get

⏹️ ▶️ Marco it, and it’s like, yeah, OK, maybe the main body of the thing is stainless steel. But somewhere, there’s two screws

⏹️ ▶️ Marco that are not, and they rust out instantly. And you can always tell, oh, they didn’t get that one washer in

⏹️ ▶️ Marco stainless steel. There’s always something. There’s some part on everything that is clearly

⏹️ ▶️ Marco just crap metal and it rusts instantly out here, despite everything claiming to be marine

⏹️ ▶️ Marco grade or whatever. So I think marine grade is a bunch of horse crap, personally. In my experience,

⏹️ ▶️ Marco that doesn’t actually lend much credibility to the longevity of a product out here.

⏹️ ▶️ John I don’t think there’s probably no laws governing the use of that phrase. You can put it on anything. Yeah,

⏹️ ▶️ Marco right. It’s like natural flavors. Marine grade. All

⏹️ ▶️ Casey right, so Marco, when you’re buying all this stuff, how are you going about doing that?

⏹️ ▶️ Marco Oh, yes. This is one of the things I wanted to cover. So I mentioned last episode about the

⏹️ ▶️ Marco Ubiquiti router. I was trying to get this router that was out of stock on Ubiquiti’s site, and I ended up

⏹️ ▶️ Marco ordering it from some Amazon scalper for like a $50 premium because I just

⏹️ ▶️ Marco I kind of needed like the internet connections being installed in like two days. So I need it. I need the router. So

⏹️ ▶️ Marco I ended up buying it from them and then about two hours after it shipped from that vendor.

⏹️ ▶️ Marco It was pointed out to me by a few people actually that B&H is a ubiquity retailer

⏹️ ▶️ Marco and they had it in stock for only a $30 premium instead a $60 premium.

⏹️ ▶️ Marco So now I know and I ended up buying all the surveillance stuff from B&H

⏹️ ▶️ Marco because they’re local to us here in New York. They are a wonderful retailer. I’ve

⏹️ ▶️ Marco bought from them forever. I don’t buy everything from them, but I always buy

⏹️ ▶️ Marco things from them that Amazon will either treat poorly

⏹️ ▶️ Marco or that has a high chance of being counterfeited. So things like SD cards or fancy

⏹️ ▶️ Marco cameras. That kind of stuff I always buy from B&H. And if you’re anywhere around New York, shipping

⏹️ ▶️ Marco is extremely fast. It’s basically free overnight shipping. So anyway, it’s wonderful. I recommend

⏹️ ▶️ Marco them as a retailer. So when I learned they were Ubiquiti Retailer, I’m like, oh, done. Now I’m only buying from them.

⏹️ ▶️ Marco So anyway, thanks for pointing that out, everybody. And thank you again. Thank you, everybody, for all your feedback on Ubiquiti

⏹️ ▶️ Marco stuff and on the camera situation. It’s been extremely helpful and hopefully I’ll have more to report that

⏹️ ▶️ Marco front soon.

⏹️ ▶️ Marco We are brought to you this week by Trade Coffee. If you

⏹️ ▶️ Marco want to make great coffee at home, you need freshly roasted beans. And Trade

⏹️ ▶️ Marco Coffee is a wonderful service that makes it simple to discover new coffees from over 55

⏹️ ▶️ Marco top indie roasters and have them shipped to your house on whatever schedule you want.

⏹️ ▶️ Marco So here’s how this works. You go to Trade Coffee and then they curate the selection for you based

⏹️ ▶️ Marco on what you tell them about your taste. So they have a wonderful, sophisticated matching algorithm that curates

⏹️ ▶️ Marco coffee perfect for you. And they have all this deliverable to you with flexible subscription

⏹️ ▶️ Marco plans and a diverse assortment of roasts tailored to whatever your needs and preferences are. They

⏹️ ▶️ Marco have over 450 coffees. So no matter what you need, dark roast, light roast,

⏹️ ▶️ Marco espresso blends, rare roast, whatever it is, they guarantee you’ll find something

⏹️ ▶️ Marco new to love. And whether you’re a nerd like me, or whether you aren’t really sure where to start with fancy coffee,

⏹️ ▶️ Marco they are great because they will guide you through the process and help you be matched to coffees uniquely suited

⏹️ ▶️ Marco to your taste. And so this is delivered all fresh to you, roasted within 48 hours

⏹️ ▶️ Marco and shipped directly to you by their roasters. So it is a great way to get fresh roasted coffee delivered

⏹️ ▶️ Marco at home. However you like it whenever you like it as much as you like it is great. It’s hassle

⏹️ ▶️ Marco free. They have free shipping customizable plans, you can cancel or pause whenever you want.

⏹️ ▶️ Marco So trade makes it super easy to discover better coffee. Upgrade your morning routine

⏹️ ▶️ Marco with better coffee. Right now trade is offering you a free bag of coffee with any subscription

⏹️ ▶️ Marco at drink slash ATP. That’s drink

⏹️ ▶️ Marco slash ATP for a free bag of coffee with any subscription purchase. Once again, drink

⏹️ ▶️ Marco slash ATP. Thank you so much to trade for sponsoring our show.

Far memory

⏹️ ▶️ Casey All right, John, do you want to take us through faraway memory?

⏹️ ▶️ John Sure. This is a little bit of feedback about a suggestion, right? It was an Ask ATP question

⏹️ ▶️ John about what do you think about a Mac Pro that uses like a big RAM disk to make swap

⏹️ ▶️ John faster to make up for the fact that Mac Pro SoCs can’t have a lot of RAM on them. It was a quite

⏹️ ▶️ John elaborate scenario that we discussed in a past episode. And Akshay Narayanan had some information

⏹️ ▶️ John to share about that. It says, your discussion of this topic touched on a research product

⏹️ ▶️ John that I was part of, so I thought I would chime in. John was right to describe the technique as an expansion of the memory hierarchy,

⏹️ ▶️ John and when restricted to low performance personal slash professional computing, which covers everything Apple manufactures,

⏹️ ▶️ John this discussion was correct. You can tell someone’s an academic when they talk about low performance computing,

⏹️ ▶️ John those wimpy little computers you have in your desk that don’t fill entire rooms, right? So actually it continues, however, I

⏹️ ▶️ John wouldn’t be so quick to dismiss this technique in higher performance settings. A recent trend in both academia and industry

⏹️ ▶️ John has been in resource disaggregation. In the specific context of memory, this is sometimes called far

⏹️ ▶️ John memory, which refers to the unbundling of hardware resources from physical computers, almost always servers

⏹️ ▶️ John in a data center, due to hardware restrictions referred to as the memory capacity wall. Basically, the amount

⏹️ ▶️ John of memory that is possible to pack into a single server has an upper bound, and the only way around this is to either

⏹️ ▶️ John store less stuff in memory, this is unacceptably slow for the same reasons regarding page

⏹️ ▶️ John fault handling that John mentioned, or to put the memory somewhere else, which is basically the idea of the ask ATP

⏹️ ▶️ John question was considering. The general rule of thumb is remote memory is faster than local disk.

⏹️ ▶️ John Like any other level in the cache hierarchy, it works pretty well if there’s stuff you need to access all at once before then moving

⏹️ ▶️ John on to another batch of stuff to access all at once. If you need to go pointer chasing through gigabytes of memory on the other hand, this

⏹️ ▶️ John is not likely to play nice. If you’d like to read more, here’s my own paper from 2016 and we’ll put a link in the show

⏹️ ▶️ John notes to that that makes the use of the swap device trick. And there are a couple other papers

⏹️ ▶️ John we’ll link. There’s a Google paper that uses far memory in the sense of compressed pages

⏹️ ▶️ John in the same machine. Mac OS does this, Mac OS, since it was called Mac OS 10 has done this. If you,

⏹️ ▶️ John I think if you go on Activity Monitor, you can look and see, is it which pages are compressed? There’s

⏹️ ▶️ John a way in Mac OS to see which memory is compressed, but Mac OS does this

⏹️ ▶️ John because it is faster and cheaper to compress and decompress the memory as it goes

⏹️ ▶️ John into and out of RAM than it would be to not do that and let it spill over into swap. because like I said,

⏹️ ▶️ John once you hit swap, you’re not reading memory from a memory bus anymore. Now you’re asking

⏹️ ▶️ John the operating system to run a whole bunch of code that invokes the IOS subsystem that reads from disk that goes through the disk

⏹️ ▶️ John driver and it’s just so much slower. So you would think, isn’t that gonna be incredibly inefficient to

⏹️ ▶️ John run compression routines on when you’re reading and writing data from RAM? That turns out to be the

⏹️ ▶️ John most optimal path and that’s what Mac OS does for, I think pretty much all memory. But like I said, I think there’s a way you can tell in the OS

⏹️ ▶️ John which pages are compressed or whatever. And there’s also another paper that

⏹️ ▶️ John tries to figure out how much performance gains there are to be had by using techniques like this. So the idea of far

⏹️ ▶️ John memory is fun, but it really is not particularly relevant to personal computers because they’re talking about

⏹️ ▶️ John a data center with tons and tons of machines in them, and you’re basically using RAM that is not installed

⏹️ ▶️ John on your computer. It’s installed on the computer three racks over, sort of just collecting all that RAM

⏹️ ▶️ John together as one giant pool. Sounds cool. Probably not relevant to the Mac Pro, though.

⏹️ ▶️ Casey Probably not.

Required-reason APIs

⏹️ ▶️ Casey All right. In the last couple of days as we record this on a Sunday night, which is a little unusual,

⏹️ ▶️ Casey we got some news that Apple is in the App Store are going to require developers to describe

⏹️ ▶️ Casey why their apps use certain APIs. This broke just a couple of days ago.

⏹️ ▶️ John I don’t think it was breaking news. I think they said this at WWDC, but nobody noticed because it was one of those sessions that’s

⏹️ ▶️ John boring and nobody looks at.

⏹️ ▶️ Marco It seemed to come out of nowhere. Yeah, I thought it came out of

⏹️ ▶️ John nowhere.

⏹️ ▶️ Marco I

⏹️ ▶️ John vaguely recall. Because it’s in a WWDC session. So it was there. And I think I watched some

⏹️ ▶️ John of that session. I think I recall seeing this, but I kind of like didn’t pay much attention to it. But because it’s been a

⏹️ ▶️ John story on main quote unquote, mainstream Mac websites, now people are noticing again. So it’s not

⏹️ ▶️ John actually news news, but I think what has happened is that the thing they talked about at the WWDC

⏹️ ▶️ John session is now a real thing that you can do. So that’s the news. Like they talked about a WWDC, but I think it didn’t

⏹️ ▶️ John ship until the latest version of Xcode 15 that’s out now.

⏹️ ▶️ Casey Yeah, so we’ll put a summary from nine to five Mac in the show notes, and I believe this is quoting

⏹️ ▶️ Casey from there. As detailed on the Apple developer website, some APIs are now classified as,

⏹️ ▶️ Casey quote, required reason APIs, quote. This means that in order to use them in an app, the developer must describe

⏹️ ▶️ Casey to Apple the purpose of that API in the app. The company explains that the measure aims to crack down on fingerprinting, a technique

⏹️ ▶️ Casey for tracking users across different apps and websites. So if you look at the documentation for this, which will

⏹️ ▶️ Casey be linked in the show notes as well, and I started looking through this the other day when this came out. OK, file timestamp

⏹️ ▶️ Casey APIs. Well, I’m not entirely sure how that gets to fingerprinting, but OK, whatever, that’s

⏹️ ▶️ Casey fine. System boot time APIs. OK, well, that makes sense. Disk space APIs.

⏹️ ▶️ Casey I can get behind that. Yep, sure. Active keyboard APIs. What languages

⏹️ ▶️ Casey are accessible to the user? Yeah, that makes sense. User defaults? What?

⏹️ ▶️ Casey And so very, very at the very bottom is user defaults. Now, if you’re not an iOS developer, user defaults is

⏹️ ▶️ Casey the, I would describe it as like the default place to, that’s overusing the word. This is the

⏹️ ▶️ Casey standard place to store little chunks of information, like the user’s preferences

⏹️ ▶️ Casey for things and stuff like that.

⏹️ ▶️ Marco In fact, on Mac OS, if you look in the library folder and you have a preferences subfolder

⏹️ ▶️ Marco of that, and you have all those com.domain name.whatever.plist files,

⏹️ ▶️ Marco that’s where user defaults are stored on the Mac. It’s that for iOS, basically. And

⏹️ ▶️ Marco it’s a similar storage mechanism there. You just don’t see it. But it’s like those little plist files that have little bits and pieces of

⏹️ ▶️ Marco preference data, usually.

⏹️ ▶️ Casey Yeah, and plist meaning property list. It’s basically an XML, you know, kind of equivalent

⏹️ ▶️ Casey of JSON sort of kind

⏹️ ▶️ John of. And when we say preferences though, we mean like any app that has any kind of setting. Do you want light mode or dark mode?

⏹️ ▶️ John You know, what do you want your default homepage to be in your web browser? What’s the minimum font size? Like

⏹️ ▶️ John literally any setting. If you go into settings and there’s a checkbox or radio button or whatever, on pretty much

⏹️ ▶️ John any Apple platform, you can store that however you want, but in practice, everybody

⏹️ ▶️ John just uses user defaults because it is a system provided framework that is tailored to do exactly that job.

⏹️ ▶️ John You’re not storing huge amounts of data. It’s just settings, just individual settings, just so you know like which

⏹️ ▶️ John checkbox they checked, which thing they picked from whatever.

⏹️ ▶️ Casey Yep. And so basically every iOS app uses this. I mean, I

⏹️ ▶️ Casey am but a small sample size, but all of my apps use it for just a handful of little switches and bits

⏹️ ▶️ Casey and bobs here and there. It’s nothing particularly interesting or exciting, but that’s the obvious place to

⏹️ ▶️ Casey turn. And so now we need to justify the use of something that basically every damn

⏹️ ▶️ Casey app on the planet uses. And I, I’m not entirely clear,

⏹️ ▶️ Casey and maybe you two can shed some light on this. How or why it is that user defaults they feel

⏹️ ▶️ Casey is privacy, you know, risky or maybe privacy leaking. But it seems

⏹️ ▶️ Casey at a glance, not having thought too much about it yet, it seems an odd choice to enforce

⏹️ ▶️ Casey this upon iOS developers, because again, pretty Pretty much every iOS developer

⏹️ ▶️ Casey touches user defaults for at least one or two pieces of data.

⏹️ ▶️ John Yeah, that’s why this has become a story, because like, OK, so you have to give a reason

⏹️ ▶️ John why you use a bunch of these APIs that use fingerprinting. And it’s an example of bad actors ruining it for everybody, because bad

⏹️ ▶️ John actors use things like how much free disk space you have, and in the web browser world, they use

⏹️ ▶️ John what fonts you had installed, all sorts of clever ways to track you without using cookies in the web world,

⏹️ ▶️ John or like the same thing in iOS. They need something to uniquely identify you. And so they try to combine a bunch of information

⏹️ ▶️ John that they think the combination of which will uniquely identify you. And that’s what these APIs

⏹️ ▶️ John are getting restricted. And that’s a bummer, but like, yeah, we understand. Bad actors, we’re in it for everybody.

⏹️ ▶️ John We gotta do this thing. But once they threw user defaults in there, that’s basically saying that,

⏹️ ▶️ John to a reasonable approximation, every developer will have to create one

⏹️ ▶️ John of these required reason API things. It’s this thing in Xcode, you just create a little document,

⏹️ ▶️ John and you gotta enter which APIs you use. It’s all manual, you’re just sort of reporting, saying I use

⏹️ ▶️ John one of these APIs, here’s the API I use and here’s the reason I use it. And Apple has reason

⏹️ ▶️ John codes that say, okay, if you use these APIs, here are the valid reason codes for you. And this is

⏹️ ▶️ John all supported in Xcode, you make the little P list, you tell which API you’re gonna use, you get a little pop-up menu,

⏹️ ▶️ John pick from one of these reasons. So user defaults, there is but one

⏹️ ▶️ John valid reason. It’s CA92.1, they all have little codes, right? CA92.1, this is what

⏹️ ▶️ John it says. Declare this reason to access user defaults

⏹️ ▶️ John to read and write information that is only accessible to the app itself. This reason does not permit

⏹️ ▶️ John reading information that was written by other apps or the system or writing information that can be accessed from

⏹️ ▶️ John other apps. That may sound reasonable to you because it’s like, okay, well, you know, I’m starting

⏹️ ▶️ John preferences for my app. But the thing is, when I read this, I said, the one and only reason

⏹️ ▶️ John that you’re allowed to use user defaults does not cover either one of my two apps

⏹️ ▶️ John that use user defaults. Because my two apps that use user defaults use a feature supported by Apple called

⏹️ ▶️ John App Groups, where you can, if you have two apps made by the same developer, you can say

⏹️ ▶️ John these are both members of the same app group. And that allows them a shared pool

⏹️ ▶️ John of user defaults that is shared between the two apps. If you have some setting that’s relevant to both of them, or if you want

⏹️ ▶️ John one app to know about the settings of another app while still honoring sandboxing

⏹️ ▶️ John and all that, you can use shared user defaults. CA92.1, the one and only reason you’re allowed

⏹️ ▶️ John to use user defaults, does not allow this. It explicitly says, read and write information that is only accessible

⏹️ ▶️ John to the app itself, and that’s not true. Both of my apps write to shared user defaults. They

⏹️ ▶️ John do have their own separate user defaults, but they both write to shared user defaults. So what do you do if you’re in a situation like mine?

⏹️ ▶️ John Well, Apple has a process that says, hey, if you wanna use one of these APIs and one of our existing

⏹️ ▶️ John valid reasons doesn’t cover your thing, you can ask us. Here’s the wording they say. It says, if

⏹️ ▶️ John you have a use case that directly benefits users and isn’t covered by an existing approved reason for one of the APIs,

⏹️ ▶️ John complete and submit this form. And here’s what the form asks you. And I filled out this form. It says, describe

⏹️ ▶️ John your use case. And that’s just a text field. So I basically said, I’ve got two apps. They have a shared user defaults using app groups.

⏹️ ▶️ John I didn’t say, which is a feature you offer Apple?

⏹️ ▶️ John, Casey Like, I don’t know what they’re thinking.

⏹️ ▶️ John Like I think a lot of things use app groups or whatever. And then it says, does your use case require your app

⏹️ ▶️ John or third party SDK to send information derived from this API off the device? No, I answered no to that. I’m not sending

⏹️ ▶️ John any information off devices just for these two apps to share stuff. Does your use case directly benefit

⏹️ ▶️ John people using the app on the device? This is their kind of way of saying, are you using it for advertising? Because the answer to that would be

⏹️ ▶️ John no, right? So I said, yes, it does directly benefit the user because I’m not like,

⏹️ ▶️ John it’s not for advertising. I’m not tracking people. I’m using this to implement my features. Next question,

⏹️ ▶️ John how does the use case directly benefit the people using this app on the device? And that’s a free text field. So

⏹️ ▶️ John I explained at length, here’s what I’m storing. Here’s why I’m storing it.

⏹️ ▶️ John You know, this is what it does. I had certain features that I have to use this system to implement.

⏹️ ▶️ John I didn’t say, and by the way, the reason I have to use this system is every other avenue of cross application

⏹️ ▶️ John communication is closed to me because of sandboxing. Anyway, next question. can

⏹️ ▶️ John your use case be implemented without using this API category? And I had to say, I don’t think

⏹️ ▶️ John so. I tried basically everything that’s available to me. I mean, technically I could use a

⏹️ ▶️ John API that’s like 10 times slower, but you feel it. Like my use cases,

⏹️ ▶️ John my apps need to know what the other is doing. So when you click somewhere, so they don’t like fight with each

⏹️ ▶️ John other. And so they know what each other thing is doing. Like when you click to change to a different application, either

⏹️ ▶️ John by clicking on a window, which front and center would notice, or clicking on an app icon in the Switch Glass

⏹️ ▶️ John app switcher, which Switch Glass would notice, it has to happen instantly. People don’t want like even like a, you know,

⏹️ ▶️ John 10 millisecond extra 10 millisecond lag when they click on a window before it switches applications. It has to be instant.

⏹️ ▶️ John And so I have to have my applications essentially already know everything about each other because they share these user defaults.

⏹️ ▶️ John I don’t read the user defaults in response to a click. My apps already know, they already have in local memory

⏹️ ▶️ John the information they need to make the decision instantly. So that’s what I wrote for this thing. You know, so this

⏹️ ▶️ John is, can your use case be implemented without using the API category? Yes, no, I said, no. And it says, please explain

⏹️ ▶️ John why, and text field, and I explained. And I did all this and wrote this whole big thing up and

⏹️ ▶️ John saved it off to the side because these web forms don’t save your information anywhere. So you better write in a text

⏹️ ▶️ John document first. I’m like, just like, I can’t believe I’m writing to justify the existence of my dinky

⏹️ ▶️ John little applications that do almost nothing, because I dare to use app groups and share settings.

⏹️ ▶️ John And then some kind person in one of the slacks that I’m in and said, oh, by the way, you know this doesn’t apply

⏹️ ▶️ John to the Mac, right? And

⏹️ ▶️ John, Marco I said,

⏹️ ▶️ John no, I didn’t know that. So here’s this note from an Apple URL. It says,

⏹️ ▶️ John you only need to supply the NSPrivacy access API types, which is that PLIST thing.

⏹️ ▶️ John For apps and third-party SDKs on iOS, iPadOS, tvOS, VisionOS, and watchOS.

⏹️ ▶️ John So finally the Mac being ignored pays off because that doesn’t list MacOS.

⏹️ ▶️ John And so I guess I don’t need to do all that. But that said, even if I had known this

⏹️ ▶️ John beforehand, I still would have filled out that form because I am paranoid they’re gonna say, oh yeah, and of course, macOS, we just

⏹️ ▶️ John forgot to list it. And I think this is like the reasons, I think shared

⏹️ ▶️ John user defaults in an app group should be a valid use case. Now I understand how it can be abused.

⏹️ ▶️ John Everything can be abused because, and we’ll talk about this in a little bit, like Steve Trout and Smith wrote in to give us some

⏹️ ▶️ John examples of how user defaults can be abused. But shared user defaults using app groups,

⏹️ ▶️ John that’s not as common as just plain user defaults. But I have to think it’s pretty common. Developers that have more than

⏹️ ▶️ John one app often want to share small bits of information among the suite of applications so

⏹️ ▶️ John they can interoperate. And so there’s like synergy for using them. That’s why I do it. So my apps know

⏹️ ▶️ John about each other. And if you run both of them, so they don’t fight with each other, they synergize to

⏹️ ▶️ John provide, you know, cooperate with each other to provide the behavior that you want. Could that be used to share

⏹️ ▶️ John information? Oh, this app gets some information and then shares it with the other thing. Yeah, of course. But like there’s a million ways to do stuff

⏹️ ▶️ John like that. Especially if your goal is just to exfiltrate information that you don’t need the, you know,

⏹️ ▶️ John millisecond, you don’t wanna shave milliseconds off like I do when I’m trying to provide a responsive experience.

⏹️ ▶️ John So I think they should add another reason that says, you know, ca92.2 that

⏹️ ▶️ John says I’m sharing user preferences among apps in an app group from the same developer.

⏹️ ▶️ John And I took great pains to explain like, This is what I’m sharing. I’m sharing serialized NSRX,

⏹️ ▶️ John which is just a series of floating point numbers, literally X, Y with height. That’s it, floating point numbers,

⏹️ ▶️ John which are, what do they correspond to? The placement of my own app’s user interface on the screen.

⏹️ ▶️ John And I’m sharing a single integer, which is the front and center behavior setting, which is either a one or a two.

⏹️ ▶️ John That’s not personally identifiable information. I’m not exfiltrating your contacts. It’s a bunch of floating point

⏹️ ▶️ John numbers and an integer. And I just want to share them among two of my own applications, and there’s no reason for that. So

⏹️ ▶️ John I’m glad it doesn’t apply to macOS, but I’m also glad that I filled out the form.

⏹️ ▶️ Casey Thank you for your service, John.

⏹️ ▶️ Casey, Marco Yeah,

⏹️ ▶️ Marco so, you know, it’s kind of an interesting policy type that Apple has here. So,

⏹️ ▶️ Marco you know, whenever Apple has reason to tighten security for privacy reasons

⏹️ ▶️ Marco or for security reasons, you know, they’re kind of intertwined sometimes, but whenever they want to tighten

⏹️ ▶️ Marco security and privacy, they basically have two ways that they, two tools at their disposal.

⏹️ ▶️ Marco One is they can use technical measures to just close whatever door is opened. So

⏹️ ▶️ Marco in this case, if people are using certain APIs to try to fingerprint the user, and as I mentioned,

⏹️ ▶️ Marco the important distinction here is what fingerprinting is for is for, say,

⏹️ ▶️ Marco Facebook, to be able to track your usage of different apps and different websites at different times

⏹️ ▶️ Marco to make sure that you are the same person going through all these different requests and apps and usage and everything, so they can

⏹️ ▶️ Marco tell whether their ads worked, so they can associate a purchase down the road with an ad you saw last week

⏹️ ▶️ Marco or whatever. That kind of thing is the most common use for fingerprinting.

⏹️ ▶️ Marco And so what they need is a way for their ad platform and stuff

⏹️ ▶️ Marco to identify you are the same person both when you come from,

⏹️ ▶️ Marco when you’re using your phone in app XYZ over here, and then later on you

⏹️ ▶️ Marco go to the Facebook website using the same phone or use the Facebook app on the same phone and you buy a product or something.

⏹️ ▶️ Marco So they’re trying to associate to make sure that they’re talking to the same person in all those places.

⏹️ ▶️ Marco And the only ways to do that are super creepy and privacy invasive. And that’s basically what tracking is

⏹️ ▶️ Marco based on. And so people figured out a long time ago, as John was saying, like if

⏹️ ▶️ Marco you can look at certain unique properties of the device that tend to narrow it down

⏹️ ▶️ Marco really, really far and can pretty much guarantee that like it’s one person as opposed to a bunch of people.

⏹️ ▶️ Marco So what you do is you combine different data points. So you say, all right, well, a device that had

⏹️ ▶️ Marco this number of bytes of free space and this battery percentage at this time,

⏹️ ▶️ Marco then a minute later, we have on our other app another device that had that exact

⏹️ ▶️ Marco same battery percentage and that exact same number of bytes free, or a very close number of bytes free. It’s

⏹️ ▶️ Marco probably the same person. And so Apple can go and say, all right, you know what? This battery percentage

⏹️ ▶️ Marco API, we don’t actually need to report the super precise battery percentage that people have

⏹️ ▶️ Marco on their phones to apps, because apps don’t need to know that you have 97.537% battery. They

⏹️ ▶️ Marco just need to know that you have a lot of battery.

⏹️ ▶️ John They can also do what the web browsers do, which is lie. Web browsers, this is an old hat in the web browser world.

⏹️ ▶️ John The web browsers used to have all sorts of APIs for determining things like, you know, again, what fonts you have installed, or

⏹️ ▶️ John free space, or your ethernet address. And pretty much every modern web browser,

⏹️ ▶️ John those APIs exist, but they return either garbage data or random data.

⏹️ ▶️ John Like they don’t even, like they’re no longer useful at all for the purpose of, they’re supposed

⏹️ ▶️ John to be there. They can’t remove the APIs, but this is essentially because they would break web pages and stuff.

⏹️ ▶️ John This is basically like removing them. And I think Apple does it with battery presenters too. Not only is it imprecise, I think-

⏹️ ▶️ John They do, that’s why I use that example. Yeah, I think it fuzzes it. I think it’s like, oh, it’s an integer value

⏹️ ▶️ John and we might plus or minus it by one every once in a while. But yeah, but web browsers is like, no, the number we give

⏹️ ▶️ John you has no relation to their battery thing and it’s random every time you pick it. It’s a real war out there

⏹️ ▶️ John for the fingerprinting stuff because it’s a cat and mouse game. Every time someone,

⏹️ ▶️ John you implement one of these technical things, like you can’t actually remove all the APIs from the system because people

⏹️ ▶️ John do sometimes need to know things like how much free disk space there is. For example, an application that’s about to write a file,

⏹️ ▶️ John this is one of the valid use cases. It might wanna say, hey, you’re about to save this file, but before

⏹️ ▶️ John I save it, I checked if you have enough room on your disk and you don’t. So you can’t save it because you don’t have

⏹️ ▶️ John enough disk space, you should delete some stuff. That’s a good application saying, I’m not just gonna try to write it and then fill up your

⏹️ ▶️ John entire disk and then have an IO error and put up an ugly dialogue. I’ll pre-flight it and say, you

⏹️ ▶️ John don’t have enough space. So that’s a valid reason. So they can’t get rid of the free space

⏹️ ▶️ John API or make it lie like in a web browser where it’s like, you have a billion bytes free or whatever,

⏹️ ▶️ John just a random number. So they need some other solution besides the technical because the technical is always

⏹️ ▶️ John gonna be cat and mouse. Every one of those you can actually close, they’ll come up with something else So, you know,

⏹️ ▶️ John they’re highly motivated by money to find a way to fingerprint you.

⏹️ ▶️ Marco And so, and actually, you know, the free disk space is a good example, because I’m gonna have to request that,

⏹️ ▶️ Marco you know, exception for my app, because before Overcast performs a sync and starts downloading new episodes of a

⏹️ ▶️ Marco podcast, it checks, hey, is there like, at least, you know, a hundred megs of free space?

⏹️ ▶️ Marco Something that I can be reasonably sure I’m not gonna fill up the disk by doing this, because bad stuff happens when you fill up

⏹️ ▶️ Marco a disk. Anyway, so they have methods like this, where they can say, all right, technically,

⏹️ ▶️ Marco we can close this hole in some way. So we can either fuzz the API so that it’s still there,

⏹️ ▶️ Marco but it returns, you know, data that’s so imprecise, or so or so generic, or so

⏹️ ▶️ Marco generalized, that many people with a given other set of circumstances will have the

⏹️ ▶️ Marco same value responded here. So that that would be like, you know, I know a while ago with the battery

⏹️ ▶️ Marco percentage API, they just rounded it to the nearest 5%. So you’d have 85%, and then you’d have 80% later.

⏹️ ▶️ Marco So it was just rounded to the nearest five. And I don’t know what they do now. I haven’t looked at it recently. But that’s one example.

⏹️ ▶️ Marco Other examples are like a long time ago, you could

⏹️ ▶️ Marco get the MAC address of various network interfaces of the device. And of course, that’s a pretty firm,

⏹️ ▶️ Marco unique identifier. That was like the dream identifier for these people. And so what they did was they

⏹️ ▶️ Marco modified the API to return all zeros for all MAC addresses that you get on iOS.

⏹️ ▶️ Marco But you can start thinking, by looking at this list, you can see there’s other things that make it hard to fuzz

⏹️ ▶️ Marco some of these. And anyway, so method number one is, fuzz the data or make the API return bad

⏹️ ▶️ Marco or no data, and that closes the hole that way. Or, option two,

⏹️ ▶️ Marco they make you pinky swear. So, and you see, all of iOS,

⏹️ ▶️ Marco and I mean all of Apple’s modern platforms are some combination of these things, but iOS security is based

⏹️ ▶️ Marco upon a certain level of technical security, and a certain level of pinky swearing.

⏹️ ▶️ Marco The problem is when you put these APIs on the pinky swearing side,

⏹️ ▶️ Marco I think that’s where we start to see inconsistent enforcement. We start to see people having pretty

⏹️ ▶️ Marco strong reason to just kind of, you know, a little white lie and just game the system. And you know, and you

⏹️ ▶️ Marco see the same thing like with the privacy nutrition labels in the app store. Like there’s a lot of kind of fuzzing required there.

⏹️ ▶️ Marco And I remember I was talking to some Apple people when they announced the privacy label thing. And I was

⏹️ ▶️ Marco asking, what’s gonna stop people from just lying? What’s gonna stop

⏹️ ▶️ Marco people from just not filling in this correctly or kind of BSing a little bit? And they said,

⏹️ ▶️ Marco well, you’re making a legal statement to Apple with this submission. And so that’s kind of like,

⏹️ ▶️ Marco when you declare that your app follows these privacy guidelines and uses this information, but not this

⏹️ ▶️ Marco information, when you’re filling out the privacy thing on App Store Connect, you are making a legal

⏹️ ▶️ Marco attestation to Apple saying, this is what my app does. So they’re kind of relying on

⏹️ ▶️ Marco good actors, both wanting to do the right thing, but also companies and responsible individuals

⏹️ ▶️ Marco trying to make sure that they’re not gonna have problems with Apple later. And that’s all well and good, and that probably

⏹️ ▶️ Marco does cover a lot of people and a lot of companies. But that’s not good enough if you have

⏹️ ▶️ Marco a technical option on the table. If you can close these doors technically, that’s way better.

⏹️ ▶️ Marco It’s the same principles of like, you know, that the app store, you know, it keeps us safe

⏹️ ▶️ Marco in some ways, but not quite as safe as Apple likes to promote it as,

⏹️ ▶️ Marco because app review is all pinky swear stuff. It’s all,

⏹️ ▶️ Marco I mean, for the most part, they can detect certain rule breaking things technically, but for the most part, all the app review rules

⏹️ ▶️ Marco are very often pinky swear based. You know, maybe Casey and I, you know, we won’t

⏹️ ▶️ Marco want to break the rules. John will never be in the iOS app store, so we don’t have to worry about that. So like,

⏹️ ▶️ Marco we don’t want to make it out of the app store. So we’re gonna follow the rules. But at the really big end, you have companies

⏹️ ▶️ Marco like Facebook or Uber who kind of don’t follow the rules a lot of times, or at least

⏹️ ▶️ Marco try not to follow the rules, because they know, like, what’s Apple gonna do? Kick them off

⏹️ ▶️ Marco the App Store? Probably not. Like, there are certain companies that are so big, Apple kinda

⏹️ ▶️ Marco has to work with them behind the scenes and be like, come on, you gotta do this. They kinda have to do stuff like that because

⏹️ ▶️ Marco they’re gonna have a problem with iPhone owners if you all of a sudden can’t get Facebook on the iPhone. And then

⏹️ ▶️ Marco on the very, very small end, you have developers that either don’t know what these things mean

⏹️ ▶️ Marco or willfully lie because they don’t care. Because what are you gonna do, kick my developer account into the App Store?

⏹️ ▶️ Marco Oh well, I’ll make another one with some other random name, some other random identity or whatever. So

⏹️ ▶️ Marco there’s tiny developers and scammers, just outright scammers who don’t care at all about the developer account,

⏹️ ▶️ Marco hence being a scammer. If they can make some money quickly, they don’t care about the longevity of that account. So

⏹️ ▶️ Marco you have all these other kinds of actors that will, out of ignorance or willfully, ignore

⏹️ ▶️ Marco any of these pinky swear kind of rules. So technical barriers

⏹️ ▶️ Marco are way better. So in cases like this, you gotta look and see why couldn’t they make

⏹️ ▶️ Marco a technical barrier to this? Why did this thing have to be a pinky swear method instead

⏹️ ▶️ Marco of a technical barrier that would actually be just enforced by the system, period? And it’s interesting,

⏹️ ▶️ Marco I think, to try to figure out like, how could someone use this to fingerprint you?

⏹️ ▶️ Marco So if you look through the different APIs, it’s kind of genius, like how

⏹️ ▶️ Marco people would use some of these things. So like file timestamp APIs, creation date, modification date.

⏹️ ▶️ Marco I’m guessing, again, I’m not an expert in this area of like how people fingerprint people, but I’m

⏹️ ▶️ Marco guessing these were used to check maybe certain creation dates of like

⏹️ ▶️ Marco system files that for some reason they had, like their directory entry had to be accessible

⏹️ ▶️ Marco to apps that you know, to third party apps for some reason through the API. So maybe you could check like

⏹️ ▶️ Marco the modification date on some file that’s installed, like when the phone is set up, and then that

⏹️ ▶️ Marco would basically stay that way for like a year until the next OS update or whatever, or the next phone, you know, was dropped

⏹️ ▶️ Marco in the toilet, and they got a new one. That is probably the file timestamp hole there is probably something like

⏹️ ▶️ Marco that. So that’s why they have to, you know, modify that. And that’s why they have to apply pinky swear things

⏹️ ▶️ Marco to that. And they can’t really get rid of file timestamps because lots of apps use those for good reasons.

⏹️ ▶️ Marco So, okay, that makes sense. System uptime. That’s really interesting too

⏹️ ▶️ Marco because if you take one of these super precise timestamp things like mock absolute time,

⏹️ ▶️ Marco you can say, all right, at this time I accessed this API and it was reported that there was

⏹️ ▶️ Marco this kind of uptimes, then you can kind of back solve from that to see what was the boot time of the device.

⏹️ ▶️ Marco Many people hardly ever reboot their phones. You know, unless the battery totally dies,

⏹️ ▶️ Marco but you know most people like your phone, the uptime on your phone is usually pretty long. It’s many

⏹️ ▶️ Marco days if not weeks or months for a lot of people. Basically until a software update or until your battery is totally

⏹️ ▶️ Marco dead. So you could actually use that to at least within a brief window

⏹️ ▶️ Marco fingerprint somebody really accurately to say this person, this device has been up since exactly like

⏹️ ▶️ Marco this nanosecond and that’s a pretty clever way to do it. So okay, that’s

⏹️ ▶️ Marco why that makes sense. You’d have to restrict that disk space. Similar thing in terms

⏹️ ▶️ Marco of like it is a very precise number. This in this case, though, they could probably

⏹️ ▶️ Marco fuzz this API. I don’t know why the disk space API needs to be like,

⏹️ ▶️ Marco byte accurate, necessarily. I mean, I’m sure there’s some some use cases. I don’t

⏹️ ▶️ Marco, John think with

⏹️ ▶️ John APFS. It isn’t, let’s be honest.

⏹️ ▶️ Marco Yeah, that’s Yeah,

⏹️ ▶️ Marco, John that’s very good. Because

⏹️ ▶️ John the concept of free disk space has become about as complicated as the concept of shared memory is on modern Unix

⏹️ ▶️ John things, because there’s so much sharing of pages slash blocks between

⏹️ ▶️ John snapshots and the sealed system volume and swap

⏹️ ▶️ John being changed. I’m actually kind of surprised that free disk space is useful for fingerprinting, because it’s gotta be changing

⏹️ ▶️ John all the time in response to just little, dirty files being written and rewritten and

⏹️ ▶️ John snapshots being made and stuff like that. you know, I guess it’s just one ingredient in the giant stew that’s trying to

⏹️ ▶️ John define your unique identity.

⏹️ ▶️ Marco I mean, I’ll tell you what, like I, having used, like my app has checked free disk space for

⏹️ ▶️ Marco years before Syncs and before downloading files for, you know, the reason I mentioned. And

⏹️ ▶️ Marco that API is incredibly unreliable. Oftentimes I will check it, it will return

⏹️ ▶️ Marco free space, I’ll download the file and all of a sudden, oh, you’re out of space, it’s full, I can’t do it, I don’t know what you’re talking about,

⏹️ ▶️ Marco why’d you even try? Other times it’ll say there is no free space, but there is

⏹️ ▶️ Marco free space. So it’s, it is, I find that very unreliable. And in fact, maybe

⏹️ ▶️ Marco I’ll just stop using it instead of filling out my reason code here. Anyway,

⏹️ ▶️ Marco active keyboard APIs is the other one. Honestly, I don’t know anything about this.

⏹️ ▶️ Casey I think it’s because if you have only English and Italian

⏹️ ▶️ Casey installed, then they can know that, oh, you’re probably Federico Faticci, or, you know, it’s, it’s not

⏹️ ▶️ Casey literally, of course, but it’s one of those components. Like, oh, you only have English and Italian

⏹️ ▶️ Casey installed and your uptime started at 2.15 in the morning six weeks ago. Put those two together

⏹️ ▶️ Casey and suddenly you’re Federico Vaticci. You know what I mean? It’s that sort of a thing. Yeah,

⏹️ ▶️ Casey I feel

⏹️ ▶️ John like it’s like rough geolocation because

⏹️ ▶️ John, Casey you probably have some

⏹️ ▶️ John combination of keyboards available and you’re gonna have like your native language and then like the emoji

⏹️ ▶️ John and then maybe a swipe keyboard. Like it’s just another setup about your phone that might be not

⏹️ ▶️ John unique to you, But it’s one more ingredient pinpoint, one more degree of

⏹️ ▶️ John specificity.

⏹️ ▶️ Marco Then that leaves us with user defaults. And this, as mentioned, this

⏹️ ▶️ Marco is a core API for lots of things. And so you have to wonder, how are people using

⏹️ ▶️ Marco user defaults to do accurate fingerprinting? Because between different apps from different vendors,

⏹️ ▶️ Marco you don’t have a shared sandbox. I don’t really have a good idea about this, but our friend

⏹️ ▶️ Marco Steve Trout and Smith actually posted a pretty interesting bit of information on this.

⏹️ ▶️ Marco So Steve says, user defaults has always been a silent exfiltrator of private data, every framework your

⏹️ ▶️ Marco app can access photos, music, Safari, telephony, etc, generally needs access to its

⏹️ ▶️ Marco own user defaults store, which left tons of side channels for any app to pick up things

⏹️ ▶️ Marco like phone number, email address, real name, recent photo searches, etc. Without any kind of permissions prompt,

⏹️ ▶️ Marco any library you include in your app, like analytics packages can then yoink all of this without you, the app developer, knowing

⏹️ ▶️ Marco about it. And in fact, Steve Troutensmith has actually had credit in some of Apple’s security.

⏹️ ▶️ Marco He linked it to an Apple security note with one of the updates that closed

⏹️ ▶️ Marco security vulnerability that he found and reported to them that was related to this. So basically, I think the way this

⏹️ ▶️ Marco works, suppose you have an app that reads from the music library in some

⏹️ ▶️ Marco way. The framework that you’re accessing, unless it’s running through an XPC service, which many of these things

⏹️ ▶️ Marco aren’t, the framework that you’re accessing has to be able to read its own user defaults

⏹️ ▶️ Marco stuff. But it’s reading it from your app if you’re using the framework directly, not through

⏹️ ▶️ Marco XPC. I think what this would mean is if that framework is not super

⏹️ ▶️ Marco careful about what’s stored in that user default store, then any app can read

⏹️ ▶️ Marco like the music preferences that are exposed through the music library frameworks

⏹️ ▶️ John or whatever. Or they can find it in memory. Like if you’re in the same process, you can do all sorts of sneaky things

⏹️ ▶️ John to wiggle your way down to some piece of memory that the music framework, because, you know, it’s

⏹️ ▶️ John Apple’s framework, but it’s in your memory image of your process. And it just did something and

⏹️ ▶️ John put something in memory. And your program has access to that memory because it’s your process. And so

⏹️ ▶️ John you can, you know, sneakily find it. And that’s actually very difficult to pick up with static analysis, because

⏹️ ▶️ John it’s kind of the halting problem to detect when someone is worming their way over some piece of memory

⏹️ ▶️ John loaded by some framework at runtime, right? And so this, this is a thing where technical

⏹️ ▶️ John barriers, I mean, they would have to put everything in xbc to sort of make it so you it’s not in the same process, but that’s difficult

⏹️ ▶️ John to do. And sometimes there’s efficiency things that make that, you know, inadvisable.

⏹️ ▶️ John So they need to go pinky swear here, because there is no other way to stop no other way to

⏹️ ▶️ John check if an app is doing this.

⏹️ ▶️ Marco I think it makes sense why they’re why they added user defaults to

⏹️ ▶️ Marco this list. But I also think that’s going to be a mess because

⏹️ ▶️ Marco everything uses user defaults.

⏹️ ▶️ John Yeah, I mean, it basically it just means every app they I almost feel like they should have in X code should have just

⏹️ ▶️ John defaulted every single application to say I use user defaults and I use it for the one valid reason

⏹️ ▶️ John code.

⏹️ ▶️ Marco There’s even like built built in, like there’s an app storage property wrapper in

⏹️ ▶️ Marco Swift UI that’s used all over, that uses user defaults. So many things use user defaults. So

⏹️ ▶️ Marco much of Apple’s guidance, so much of their sample projects, so many commonly used

⏹️ ▶️ Marco features and tasks are backed by user defaults, even if you don’t even realize you’re using it. So

⏹️ ▶️ Marco it’s gonna be almost every app that does pretty much anything.

⏹️ ▶️ John Although I think, speaking of app storage and stuff, I think what they mean by this little list

⏹️ ▶️ John is you have to actually type the word user defaults in your code. So even though app storage uses it, I don’t think that

⏹️ ▶️ John would count as you using user defaults. I think you actually have to have the code yourself. So like you don’t get dinged

⏹️ ▶️ John because the music framework uses it or whatever. I think it has to be directly in your code. But like I said,

⏹️ ▶️ John that’s like any app that has any settings uses user defaults. It’s, you know,

⏹️ ▶️ John aside from some weird cross-platform electron type things, like even Marco, even when you had the magazine and the app had no settings, I

⏹️ ▶️ John bet you still use user defaults. Of course

⏹️ ▶️ Marco I did. It isn’t just settings, it’s state. That’s a common place to store little bits of state.

⏹️ ▶️ Marco Like, does the user have this panel expanded? And the next time you launch the app, you’ll want to reshow

⏹️ ▶️ Marco it with the panel expanded. It’s every little

⏹️ ▶️ John bit. That’s what I’m saying, that every single iOS developer is going to have to create this little file

⏹️ ▶️ John and put this reason code into the user defaults. They may need to do additional things, but pretty much everyone needs to do this. And it’s not that

⏹️ ▶️ John big a deal to do this, but it’s what happens when, let’s say, bad actors

⏹️ ▶️ John ruin everything for everybody. Now the entire process of app development has one more little annoying thing.

⏹️ ▶️ John And why? Because of bad people. Because of people abusing these APIs, and we all have to pay the price for

⏹️ ▶️ John it by dutifully filling out one more form that says, yes, we are allowed to

⏹️ ▶️ John have an app.

⏹️ ▶️ Marco In the user default case, I think Apple needs to work harder to make this not necessary for us to do.

⏹️ ▶️ Marco By modifying the systems, by modifying the APIs, by maybe only requiring it for certain types

⏹️ ▶️ Marco of edge cases, like shared group containers. there are certain like you could only require it for

⏹️ ▶️ Marco for certain parts of the API that most legitimate use wouldn’t even go near.

⏹️ ▶️ Marco So like there’s ways to do this that like because what they’re doing right now is they’re gonna make a mockery of

⏹️ ▶️ Marco the user default example here because as you said everyone’s going to it going to add this

⏹️ ▶️ Marco add that little bit but little permission code says yes I swear you know it’s it’s just like you know what

⏹️ ▶️ Marco suppose when you were a you know, a 17 year old trying to

⏹️ ▶️ Marco look at pictures of things on the Internet you weren’t supposed to be looking at and there was there be a link that says click this link if you’re

⏹️ ▶️ Marco over 18 it’s like I mean come on like that doesn’t do anything right these

⏹️ ▶️ Marco attestations for user defaults are gonna do nothing because every

⏹️ ▶️ Marco single developer they’re gonna run into a problem where you know maybe if you upload the binary to App Store Connect

⏹️ ▶️ Marco and it detects that user defaults you don’t have this in it’ll reject it so whatever

⏹️ ▶️ Marco phrase it says on rejection, people are going to paste that into Google or stack overflow. And they’re going to find

⏹️ ▶️ Marco Oh, you got to add this one POS entry with this, you know, it’s good. The POS entry is CA

⏹️ ▶️ Marco zero, c 92.1. Like this doesn’t mean anything like they’re going to see this, and they’re going to copy

⏹️ ▶️ Marco and paste. Okay, I got to do this to submit it, then it works. That’s it. No one’s gonna understand what this means.

⏹️ ▶️ John I think their plan is not to reject based on this initially, I think there’s some sort of period of either six months

⏹️ ▶️ John or a year where they’re just going to yell at you about it. then they’re gonna start rejecting if you don’t

⏹️ ▶️ John do the correct pinky swearing. So they have a phased program to try to get people used to it.

⏹️ ▶️ John So you’re not gonna immediately be rejected by this, but you’re just gonna get scolded. And hopefully that will get you

⏹️ ▶️ John to Google it and enter it or whatever. But that’s why I was saying like Xcode projects, like the sample,

⏹️ ▶️ John you know, when you start a new project and you pick the API, it should just include this by default because you’re gonna use user

⏹️ ▶️ John defaults, right? And so just declare the reason because the reason is so limiting. Like I said, they need

⏹️ ▶️ John to add another reason for shared you know, app groups, because that is a supported feature. But

⏹️ ▶️ John yeah, I mean, if they’re really looking for this, like, it’s so weird to be described

⏹️ ▶️ John as like, well, now we quote unquote have it in writing that you said you were doing X, but really we found out you’re doing Y.

⏹️ ▶️ John Why, Apple? You can reject any app for any reason, and you do. Right? And fingerprinting is

⏹️ ▶️ John already against the rules. Yeah, no, like, but the whole point is like, well, in case we get

⏹️ ▶️ John sued, like, good luck suing Apple for rejecting your app. I think a couple of companies have tried that and it hasn’t

⏹️ ▶️ John worked

⏹️ ▶️ John, Marco out well for them.

⏹️ ▶️ John Thus far, the courts have said, yeah, Apple can do whatever it wants with its own app store. So it

⏹️ ▶️ John seems weird to me that they were like, oh, we wanna have some legal, you know, some legal cover here because we can say, well,

⏹️ ▶️ John you said you were only using your defaults for this, but actually you were sneakily doing that. So we’re allowed to

⏹️ ▶️ John reject you. You can reject them for whatever reason you want. You can reject them because you don’t like their face.

⏹️ ▶️ John, Marco Like it’s,

⏹️ ▶️ John you know, so it’s so weird that they want this, but I kind of understand like, it’s kind of

⏹️ ▶️ John like the rules for the, you know, developer kit for Vision Pro or whatever. You

⏹️ ▶️ John, Marco just

⏹️ ▶️ John wanna say, hey, you said that you agreed to this and you said you were gonna do these things. So basically,

⏹️ ▶️ John if we decide to bring the hammer down, it’s so easy to find a violation. And I feel like

⏹️ ▶️ John lots of good actors are gonna not properly fill out the pinky swear form and their apps are

⏹️ ▶️ John going to technically be in violation because, oh, they forgot this reason code doesn’t

⏹️ ▶️ John cover, Like for my example, if you just read this quickly and didn’t think about it, you’d be like, oh yeah, I’m using

⏹️ ▶️ John user defaults for the usual reason, I’ll put this reason code in. My app would be in violation because I’m actually using

⏹️ ▶️ John a shared, you know, an app group in a shared container. And if, you know, maybe you just didn’t notice that. You’re not doing anything,

⏹️ ▶️ John you know, nefarious with user defaults, you just didn’t realize your use case isn’t covered by the thing and you didn’t fill out that

⏹️ ▶️ John big form to get a new use code or whatever. So, I mean, this is kind of like all of the entitlement

⏹️ ▶️ John things where there’s a list of entitlements for doing stuff that you want, but you can also ask for quote unquote temporary

⏹️ ▶️ John exceptions. Some apps have had temporary exceptions for it’s gotta be close to a decade now, right?

⏹️ ▶️ John, Casey Quote

⏹️ ▶️ John, Marco unquote temporary,

⏹️ ▶️ John because they’re like an important app and Apple wants them to exist. And so here your app can have this temporary exception,

⏹️ ▶️ John but Apple always says, but you know, we’re not saying every app can do this, just you can, cause you submitted

⏹️ ▶️ John a request for it and we like you, we gave you a temporary exception. So now you’re allowed to send Apple events,

⏹️ ▶️ John good for you, but no one else is, don’t use Apple events. This feels a little bit like

⏹️ ▶️ John that. So I don’t know what will come of it. Presumably this will be useful for Apple. It’s one

⏹️ ▶️ John more little thing that we have to deal with. It’s not that big a deal. Again, most of the blame for this is on the bad actors,

⏹️ ▶️ John not on Apple. They’re just trying to find a way to make a system that is less

⏹️ ▶️ John bad. So I feel for Apple in doing this. It’s all the people

⏹️ ▶️ John who have found ways to abuse the system that are ruining it for everybody.

⏹️ ▶️ Casey Yeah, I feel like any time Apple has some sort of thing like this come out,

⏹️ ▶️ Casey we can just ask ourselves, how did Facebook screw us all this time? Because

⏹️ ▶️ Casey from everything I’ve understood and can discern, it seems like at least

⏹️ ▶️ Casey half the time, This is Facebook doing something shorty.

⏹️ ▶️ Marco We are brought to you this week by Collide. If you work in security

⏹️ ▶️ Marco or IT, and your company has Okta, this message is for you. Have you noticed

⏹️ ▶️ Marco that for the past few years, the majority of data breaches and hacks you read about have something in common?

⏹️ ▶️ Marco It’s employees. Hackers absolutely love exploiting vulnerable employee devices

⏹️ ▶️ Marco and credentials, but it doesn’t have to be this way. Imagine a world where only secure

⏹️ ▶️ Marco devices can access your cloud apps. In this world, phished credentials are

⏹️ ▶️ Marco useless to hackers and you can manage every OS, even Linux, from a single dashboard.

⏹️ ▶️ Marco Best of all, you can get employees to fix their own device security issues without creating

⏹️ ▶️ Marco more work for IT. The good news is, you don’t have to imagine this world, you can

⏹️ ▶️ Marco just start using Collide. Collide is a device trust solution for companies

⏹️ ▶️ Marco with Okta, and it ensures that if a device isn’t trusted and secure, it can’t log in

⏹️ ▶️ Marco to your cloud apps. Visit slash ATP to watch a demo

⏹️ ▶️ Marco and see how it works. That’s collide spelled

⏹️ ▶️ Marco slash ATP. Thank you so much to Collide for sponsoring our show.

16,171 thoughts on Photos

⏹️ ▶️ Casey John, I don’t think you need Marco and I for at least the next 20, 30 minutes,

⏹️ ▶️ Casey because I hear you’re using photos a lot and it’s time for our annual topic, the

⏹️ ▶️ Casey John Uses Photos a Lot topic. So what grievances would you like to air today, John?

⏹️ ▶️ John Yeah, this is the time of year when I’m back from my beach vacation and I have literally thousands of photos

⏹️ ▶️ John to deal with and process and put out into little albums for people to see

⏹️ ▶️ John and make my photo book and do all those things that I do. And is the time of year when I use the

⏹️ ▶️ John photos application the most. And any contact with the photos application on the

⏹️ ▶️ John Mac drives me into a rage. And I usually talk about some of it on this podcast.

⏹️ ▶️ John So here this year, I have limited myself to just two things. There’s so there’s so much about the Mac

⏹️ ▶️ John photos application that I would love to change. In fact, I just just this evening,

⏹️ ▶️ John I was ranting to somebody who works at Apple, about the Photos application. And they were

⏹️ ▶️ John giving me some pushback. And they said, oh, you mean the Photos application on the Mac? I’m like, yeah,

⏹️ ▶️ John the real Photos application.

⏹️ ▶️ John, Casey Where you can do

⏹️ ▶️ John all the things, like add keywords and identify faces. The application that hasn’t been updated in like seven

⏹️ ▶️ John years, that one. That’s the one I’m using. Cause we had this disconnect.

⏹️ ▶️ John And I was like, but we changed the Photos application all the time. I’m like, no, the Mac Photos

⏹️ ▶️ John application. and they’d forgotten it even existed and it feels that way. So

⏹️ ▶️ John, Casey here,

⏹️ ▶️ John for this year, 2023, I have but two things to say to the photos team if they’re listening.

⏹️ ▶️ John And honestly, I don’t think there is a Mac photos team. I don’t know if they exist. I love the server side

⏹️ ▶️ John of people who did share to iCloud photo library. Awesome job, that’s mostly the server side of people. I guess there must’ve

⏹️ ▶️ John been some client side people that did the integration, so fine, that works good too. The rest of the application is just like

⏹️ ▶️ John untouched. Boggles my mind that it is untouched. So that’s why I’m really targeting this year at two

⏹️ ▶️ John specific things. One, really, really easy, and one, a little more difficult.

⏹️ ▶️ John And I’m setting aside all the other things that I complained about. First one, I finally broke down and

⏹️ ▶️ John filed this as a feedback this year. Mostly because I thought of the maximally snarky way

⏹️ ▶️ John to file this feedback, but it’s been driving me crazy for the entire eight years that the Mac Photos application

⏹️ ▶️ John exists. It was iPhoto before that, and it was a little bit different, and I remember what it was like back then, but Photos, when it was called Photos

⏹️ ▶️ John on the Mac, it has had this problem. When I edit my photos,

⏹️ ▶️ John pretty much the first thing I do to any photo that I’m editing is crop it

⏹️ ▶️ John to reframe it to, you know, if I didn’t get the framing exactly right, even I’m just trying to rotate the horizon

⏹️ ▶️ John to be level cause I’m really bad at holding the camera level. I’m getting better, but, and I, yes, I do use the thing

⏹️ ▶️ John in the viewfinder that shows the level, but that’s not that accurate and it’s laggy and it’s hard to see. Anyway,

⏹️ ▶️ John cropping, that’s move number one before I start adjusting anything. I don’t edit

⏹️ ▶️ John every photo, but edit a lot of them. When I crop the photo, what I want to

⏹️ ▶️ John happen is for the photo to be a some subset of the size that it is.

⏹️ ▶️ John So here’s the entire frame of the photo and cropping means taking some smaller portion of it and saying, no, this is the photo now.

⏹️ ▶️ John Discard everything that’s outside there. When I do that, I don’t want the aspect

⏹️ ▶️ John ratio of the photo to change. So if the aspect ratio is four by six or three by

⏹️ ▶️ John two, When I crop it, I want to end up with a photo that is still four by

⏹️ ▶️ John six or three by two or five by seven. I don’t want to change it to some weird aspect ratio for multiple reasons.

⏹️ ▶️ John One, consistency. I don’t want to have photos with all sorts of weird aspect ratios. Two,

⏹️ ▶️ John if you’re gonna do prints, they come in standard aspect ratios. If you try to make a print of this weird,

⏹️ ▶️ John long, skinny photo or a tall, thin one, like you want them to be print size. Three, when you’re making

⏹️ ▶️ John books, the book pages come in standard-ish aspect ratios. You can lay out photos on a page and each of those

⏹️ ▶️ John little rectangles is usually one of the several different standard aspect ratios for your photos.

⏹️ ▶️ John I have to think this is common. When you’re cropping a photo, you want it to maintain its aspect ratio.

⏹️ ▶️ John On photos for the Mac, when you hit the C on the keyboard to crop, because you’re using the keyboard

⏹️ ▶️ John commands because you don’t want to keep clicking things, you have to then say, oh and by the way, when I crop this,

⏹️ ▶️ John I want it to maintain the original aspect ratio. And you have to click the word original in the sidebar.

⏹️ ▶️ John And the bug I filed as FB12744158 is titled, I

⏹️ ▶️ John have clicked original aspect ratio 16,171 times. Do

⏹️ ▶️ John you really know that? I counted it using the SQLite database that’s in photos. How

⏹️ ▶️ John, Marco many photos do I have?

⏹️ ▶️ John How many photos do I have that are A, cropped and B, cropped with the original aspect ratio? And the

⏹️ ▶️ John answer is 16,171. Like I heard what you said about the SQLite database,

⏹️ ▶️ Casey but they actually have like columns for these things?

⏹️ ▶️ John It’s a little bit tricky to find, but you can combine it, but you can do like a smart album and then you can combine it with the data from SQLite

⏹️ ▶️ John to get this answer. That’s a minimum estimate because sometimes you crop more than

⏹️ ▶️ John once and change your mind. Sometimes you make it portrait, then landscape, and you decide you wanna change the aspect ratio and change it

⏹️ ▶️ John back. But at minimum, this is what it is. But this is how many are currently cropped to original

⏹️ ▶️ John aspect ratio. And every single time I cropped one of those, I had to click

⏹️ ▶️ John original. because you know what the default is in photos? Freeform, which is,

⏹️ ▶️ John whatever, make it in the aspect ratio you want, just grab the corner of the thing and move it. Now, there are ways around

⏹️ ▶️ John this for trackpad users, PowerBook, PowerBook, laptop users

⏹️ ▶️ John that have trackpads or Mac users who have trackpads. You can go to crop and then pinch and zoom.

⏹️ ▶️ John Then you don’t have to click original because if you pinch and zoom, it will maintain the aspect ratio because it’ll just

⏹️ ▶️ John zoom the picture from within that. but that is much less precise, pinching

⏹️ ▶️ John and zooming, much less precise than grabbing one of the corners of the little crop thingy or whatever. And practically

⏹️ ▶️ John speaking, I don’t have a trackpad and I don’t like trackpads, so I’m setting that aside. So when I did this,

⏹️ ▶️ John because I don’t have a trackpad and don’t use a trackpad to do my editing, I clicked original 16,171

⏹️ ▶️ John times. That’s about a little over 5.2, 5.3 times per day

⏹️ ▶️ John for the past eight years. Obviously, it’s not really like

⏹️ ▶️ John that. What it’s really like is I don’t use photos for a long period of time. And then over the course of three days,

⏹️ ▶️ John I click crop aspect original, crop aspect original, crop aspect original thousands

⏹️ ▶️ John of times. What I would like is for the photos application to

⏹️ ▶️ John declare in their privacy manifest thing or whatever, that they’re going to use the user defaults API. There it is.

⏹️ ▶️ John There it is. And in the user defaults API, they’re going to store an integer value that

⏹️ ▶️ John indicates the last aspect ratio I clicked on when cropping a photo.

⏹️ ▶️ John And you know how many more times I would have to click original? Once. And then every

⏹️ ▶️ John other time I crop, I would hit crop. Original would already be selected because the photos application

⏹️ ▶️ John would have remembered for the past eight years, this person has clicked this 16,000 times.

⏹️ ▶️ John Maybe they want to crop to the original aspect ratio. Maybe they could use machine learning to figure it out.

⏹️ ▶️ John It seems that over the past 16,171 photos this person has cropped, They have chosen original 16,171 times.

⏹️ ▶️ John What should we select as the default aspect ratio? I don’t know. Send it through the model,

⏹️ ▶️ John see what answer we get. I just want this one setting to be saved.

⏹️ ▶️ Marco How much power can we apply towards solving this one problem? We can either store an integer.

⏹️ ▶️ John I’m so tired of clicking this. Remember that I want it to be original.

⏹️ ▶️ John Who doesn’t want it to be original? But I don’t care. I don’t care if I’m literally the only person on the planet who wants

⏹️ ▶️ John the original. I don’t care what you want your default to be. You could have your default be square. I don’t care. Just

⏹️ ▶️ John, Casey remember it.

⏹️ ▶️ John Remember the default aspect ratio that I have selected somewhere. Put

⏹️ ▶️ John it as a value in user defaults, I’m begging you. Eight years, I haven’t complained about this.

⏹️ ▶️ John I think it mentioned that in this program. When is, does anyone use this application

⏹️ ▶️ John to edit photos? Do people crop photos? I don’t, so I found that it’s

⏹️ ▶️ John a snarky bug. I don’t apologize for the snark. It’s been eight years. I want them to remember

⏹️ ▶️ John this setting. I really hope there’s some kind of secret P-list that someone’s gonna tell me, they’re just gonna say defaults,

⏹️ ▶️ John right? You know,, default aspect ratio, you know,

⏹️ ▶️ John integer value five, and it’ll just remember original, but it bothers me. This makes me think that no one

⏹️ ▶️ John uses this program because you can’t use it like in earnest. You can’t use it to edit a thousand photos

⏹️ ▶️ John without noticing that it does not remember your aspect ratio. So that is complaint number one. I would like

⏹️ ▶️ John sometime in the next decade someone to make it remember that I am always going to click

⏹️ ▶️ John original.

⏹️ ▶️ Marco Now, before you move on to the complaint number two, cause I’m sure people are going to write it

⏹️ ▶️ Marco and ask you this. And so I might as well save them the time. Have you ever considered using some other

⏹️ ▶️ Marco photo ingesting app to do like your, your initial first pass and basic cropping and

⏹️ ▶️ Marco everything, and then dumping it into photos to save you some of the steps?

⏹️ ▶️ John No, because here’s, here’s the, Here’s why I’m kind of quote-unquote trapped slash happy to be trapped

⏹️ ▶️ John in photos. Everything I do in photos is non-destructive So when I do that cropping

⏹️ ▶️ John it’s not throwing away the rest of the picture every single thing you do in photos is not destructive I value

⏹️ ▶️ John that a lot because I recrop I go back sometimes I do like summary books of like, you know The past

⏹️ ▶️ John five years of the beach or something and I will re-edit and recrop with like the wisdom of age

⏹️ ▶️ John Like our different tastes or whatever everything you do in photos is non-destructive.

⏹️ ▶️ John Even when you edit an external editor, you can like preserve edits or whatever and be able to revert to the original.

⏹️ ▶️ John So if I use some other program to do the cropping, I don’t know of a way to do that in a

⏹️ ▶️ John way that when I feed it into photos, it continues to be non-destructive. Hmm, okay. So

⏹️ ▶️ John complaint number two, this is more complicated. The other one, by the way, it reminds me of like the story of the,

⏹️ ▶️ John I don’t know, it’s probably apocryphal, whatever it was on Twitter ages ago where someone applied for a job,

⏹️ ▶️ John and in their first two weeks on the job, they went into the repo for the code, they fixed some bug that had been bothering

⏹️ ▶️ John them, and then they gave it two weeks notice.

⏹️ ▶️ John, Casey Yes, yes.

⏹️ ▶️ John, Marco Like

⏹️ ▶️ John that you just basically, because this is the type of thing where, I mean, granted, it’s kind of a fantasy to think that you’re gonna spend

⏹️ ▶️ John two weeks fixing this, because even if you are a new employee at Apple, it would probably take you six months to

⏹️ ▶️ John get this through the bureaucratic process to be in the thing, but implementation-wise, it’s literally

⏹️ ▶️ John saving a user default. I could implement this in Mac photos if you sent me the

⏹️ ▶️ John source code. I 100% could do it. I am confident I could do it. And then, you know,

⏹️ ▶️ John you’d have to herd it through the release process and it would come out in Mac OS, you know,

⏹️ ▶️ John whatever is it gonna be after Sonoma. If you’re lucky, if it isn’t already too late to get it into that release,

⏹️ ▶️ John and you have to justify it to some high up person like, why are we changing Mac photos? We haven’t changed that app in eight years.

⏹️ ▶️ John Is this a strategic thing? Someone wants to add a user default? We have too many settings already. No, no, no. I understand

⏹️ ▶️ John the difficulty. Like I understand what it’s like in big companies. It’s hard to do this, but technically speaking,

⏹️ ▶️ John I could implement it. So I should get a job at Apple, fix this and then quit. But that seems like a lot

⏹️ ▶️ John of effort. It would be great if someone could just pick up this feedback and just do it. Second

⏹️ ▶️ John one. Second one is kind of a medical point that we’ve talked about before, but it was really

⏹️ ▶️ John bothering me in this year’s run through photos. For

⏹️ ▶️ John whatever reason, I think it’s probably because something was being wonky and I did the thing where you hold down

⏹️ ▶️ John command and option when you launch photos on the Mac and it says, do you want me to rebuild your photos library?

⏹️ ▶️ John I think I did that recently-ish. I’m not sure why. If that’s

⏹️ ▶️ John not the cause, then maybe it’s something else. But every once in a while, the people detection

⏹️ ▶️ John in photos on the Mac loses its way and kind of forgets

⏹️ ▶️ John what you think it once knew. I know more recently, Apple has been syncing

⏹️ ▶️ John the faces you affirmatively identify. You say, yes,

⏹️ ▶️ John this is my wife. It will remember that you said that and sync it across all your devices so you don’t

⏹️ ▶️ John have to say it again elsewhere. That didn’t used to be the case. So I think it’s probably retaining

⏹️ ▶️ John my affirmative answers, but what it seems to lose is, okay, based on your affirmative answers of,

⏹️ ▶️ John you know, who your son is, who your daughter is, who your wife, all these people are, I’ll figure out using

⏹️ ▶️ John facial recognition all the other pictures of them. You didn’t affirmatively identify it as them, but based on the ones you

⏹️ ▶️ John did identify, I can figure out this is also your son. Sometimes it seems to forget some

⏹️ ▶️ John of that. And certainly if you import thousands of new photos, it has to go over those photos and say,

⏹️ ▶️ John based on what you’ve told me, let me go through these photos and A, find all the faces

⏹️ ▶️ John in them, which is task number one, and B, of all the faces that I found, do any of those faces

⏹️ ▶️ John belong to people that you’ve previously identified so I can group them in. And when

⏹️ ▶️ John I gather my thousands of photos from vacation and edit them and favorite them and keyword

⏹️ ▶️ John them and do all that stuff, one of the things I also wanna do is have sort of sub smart

⏹️ ▶️ John albums like Long Island 2023 Favorites of My Daughter because I’m

⏹️ ▶️ John arranging a page in a photo book or something. That’s a smart album that you can make using the power of photos.

⏹️ ▶️ John For that to work, Photos on the Mac has to have done those two things, found all the faces of my

⏹️ ▶️ John new photos and identify which ones are my daughter. And when I’m editing photos, like I’m loading them on my

⏹️ ▶️ John laptop at the beach and then when I come home, I start up my Mac

⏹️ ▶️ John and they all sync there and everything gets loaded up. And probably a day or

⏹️ ▶️ John two after I’m back, I’m like, okay, now it’s time for me to start doing my photo editing, make my

⏹️ ▶️ John albums, make my book. And I was thwarted this year because my little smart albums that

⏹️ ▶️ John I would make to help me sort of arrange things for the book had no idea who was in any of the photos.

⏹️ ▶️ John And I’m like, why is, you know, favorites of my daughter from Long Island 2023 have zero photos in it? And

⏹️ ▶️ John I went and looked through my photos from Long Island and I’m like, nut, you can turn on a thing in Mac Photos that will put circles

⏹️ ▶️ John around people’s faces. You can view like where it found the faces. And it hadn’t found faces in any of my photos.

⏹️ ▶️ John And I’m faced with that situation that we’re all kind of faced with in Mac OS and Mac apps and many

⏹️ ▶️ John apps that Apple makes, which is, all right, what do I do

⏹️ ▶️ John now? Like, what I wanted to say was, Apple Photos,

⏹️ ▶️ John find faces. Do that now,

⏹️ ▶️ John, Casey because I can’t

⏹️ ▶️ John do the thing that I wanna do until you find faces. And lots of things like this

⏹️ ▶️ John are sort of like, you don’t have to worry about that. There’s no button to find faces. It will just find them for

⏹️ ▶️ John you. Don’t worry about when it will find them. Don’t worry about how we’ll find them. In fact, we’ll find

⏹️ ▶️ John them at a low priority, only when you’re plugged into battery and this, like there’s all the sorts of conditions and

⏹️ ▶️ John you don’t have to worry about it. Well, I do have to worry about it. If I have thousands of photos where you

⏹️ ▶️ John haven’t found the faces, let alone identified who’s in them and it’s blocking my work. So what I would like to say is,

⏹️ ▶️ John right now on my plugged in desktop computer, use every single resource in the system to

⏹️ ▶️ John find faces and identify. Use all the cores, use all the GPU, use everything. I’m literally not

⏹️ ▶️ John gonna be doing anything else on my computer. You have the full power of this mighty Intel Mac

⏹️ ▶️ John Pro to right now identify all the faces on these thousands of photos. Do it now. Excuse me,

⏹️ ▶️ Casey excuse me. Once mighty

⏹️ ▶️ Casey, John Intel Mac Pro. It’s still mighty, but it still has the highest

⏹️ ▶️ John potential GPU capability of any

⏹️ ▶️ John, Marco Mac. Potential.

⏹️ ▶️ John And it can hold the most RAM. Just do it now. But there is no do

⏹️ ▶️ John it now button. And so you end up on Google and what you will find on Google are tons and tons

⏹️ ▶️ John of results for how do I make Mac photos identify my faces right now, right now,

⏹️ ▶️ John right now. And there’s all sorts of, you know, witchcraft and superstition

⏹️ ▶️ John about how to do it. I’ll link to one of the pages and it’s like,

⏹️ ▶️ John you can, you know, okay, so restart your computer because that’s always step number one.

⏹️ ▶️ John Log in, launch photos to get the photos demons to run, launch activity monitors and search

⏹️ ▶️ John for photos so you can see them. So you want to see photo, cloud library D, photo library D, photo analysis

⏹️ ▶️ John D, but then quit photos because photos can’t be running when it identifies faces. Photos will say

⏹️ ▶️ John something like, we will identify faces when you’re not using the application, but that language makes people debate

⏹️ ▶️ John on the internet. Does that mean photos can be running, but I’m not using it? Or should photos be quit?

⏹️ ▶️ John Or will it only run if photos is, the app is running, but I’m not using it? Or will

⏹️ ▶️ John it also run when photos is quit? and people are like, oh, okay, well, the photo analysis D demon won’t launch until you launch

⏹️ ▶️ John photos once, but then quit photos. And some people are like, you gotta remove all login items, right? There’s

⏹️ ▶️ John just all sorts of just like reckons people have about what is

⏹️ ▶️ John the precise set of conditions? Oh, make sure photos isn’t open on your iPad or your phone either with the same Apple ID,

⏹️ ▶️ John make sure multiple accounts aren’t logged in. And I was doing all these things. I’m like, please, because

⏹️ ▶️ John I’m like everyone else. I’m an activity monitor and I’m trying to say, Photo analysis D, why are you using 0% CPU?

⏹️ ▶️ John Am I looking at the wrong daemon? Is it really photo library D that I should be looking

⏹️ ▶️ John at? But I would search for photo or cloud and they’d all be using 0% CPU. There’s nothing

⏹️ ▶️ John going on on my system. Everything is logged out. I’m logged into a single account with

⏹️ ▶️ John nothing else running and I’m just like, please, please analyze faces. Please analyze for

⏹️ ▶️ John days. I’m trying to get this thing to analyze. And then sometimes I’ll come back and I’m like, photo analysis

⏹️ ▶️ John D is using 60% CPU. Oh, it’s down to zero again. Was that a fluke? And

⏹️ ▶️ John you’ll come back to the people library and it will say, sometimes it’ll say, you have 10,000 more photos to analyze,

⏹️ ▶️ John come back later and they’ll probably be done. But I’m like, it took me like

⏹️ ▶️ John three days of just delicately trying to arrange the world so that

⏹️ ▶️ John my Mac felt like it was safe for it to analyze faces in my photos. As opposed to having a

⏹️ ▶️ John button somewhere in settings that says, analyze the faces right now.

⏹️ ▶️ John That’s what I want. And this is not a good user experience because if you aren’t willing

⏹️ ▶️ John to Google the world and figure out how you have to get everything just so, so it feels comfortable

⏹️ ▶️ John enough to analyze faces, you would never know. Like you would think this feature doesn’t even

⏹️ ▶️ John exist. And for this, during this time, that’s literally the only thing I wanted

⏹️ ▶️ John to do on my computer. I wanted to make my photo book. I wanted to make these smart albums. I wanted to do this thing

⏹️ ▶️ John and I couldn’t do it because my computer, which was otherwise idle, refused to do

⏹️ ▶️ John the thing I wanted it to do, all in service of having this magical, don’t worry about it, behind

⏹️ ▶️ John the scenes, I’ll do this whenever you want, like I won’t drain your battery, don’t worry, I’ll do it when I

⏹️ ▶️ John feel safe. I just wanted to do it right now. So that’s complaint number two. And it’s a meta complaint because

⏹️ ▶️ John it’s true across tons of Apple’s applications where they want it to be a magical user experience where you don’t have to

⏹️ ▶️ John worry your pretty little head about it. But sometimes I just want a button to do it. That’s why we always talk about the sync button

⏹️ ▶️ John in messages as this amazing thing. I mean, it doesn’t work all the time or whatever, but just to have some kind

⏹️ ▶️ John of button that says, do the thing now, the thing that you’re afraid to do because you think it’s gonna drain my battery

⏹️ ▶️ John or make my system slow or whatever, do it now. And then maybe a button to cancel it, you know,

⏹️ ▶️ John or whatever, like, call me crazy. Like, I feel like we’ve gone backwards in technology with this whole magical,

⏹️ ▶️ John I’ll, you know, I’ll do it behind the scenes and you don’t have to worry about it. Sometimes it needs to be done right now. So

⏹️ ▶️ John that’s number two. So number one, remember the aspect ratio I want. That’s a single user setting.

⏹️ ▶️ John And number two, some way for me to tell Photos to do this

⏹️ ▶️ John and all the many other things that Photos claims to do for you in the background transparently so you don’t

⏹️ ▶️ John have to worry about it. Just that, John. Two things, just two things this year. Not even

⏹️ ▶️ John gonna talk about the info window and how it is incredibly hostile to all forms of user input.

⏹️ ▶️ John How kind of

⏹️ ▶️ Marco you.

⏹️ ▶️ Casey Yeah. I’m sorry. I’m sorry for your for your troubles.

⏹️ ▶️ Casey And I don’t know. I I don’t do a lot of these editing things that you

⏹️ ▶️ Casey do in photos, which probably makes my pictures not as great as yours. But nevertheless,

⏹️ ▶️ Casey I can see how that would be incredibly, incredibly frustrating. And I am deeply amused that you went spelunking through

⏹️ ▶️ Casey the SQLite database in order to answer this question for yourself.

⏹️ ▶️ John That’s just to make a snarkier feedback. You know, that wasn’t really part of the process. I did eventually analyze all my

⏹️ ▶️ John photos, by the way, after I think it was three days of trying to arrange the world. It’s kind of like,

⏹️ ▶️ John you know, I’m trying to think of an analogy of like, just, you know, the stereotypical thing where there’s a bunch

⏹️ ▶️ John of guys in a movie are trying to pee, but they can’t pee if someone’s watching them or they need to have water running or whatever. Like that whole,

⏹️ ▶️ John it almost was like in my computer. It’s like, I can’t do it if you’re watching me, leave the room and don’t have any other apps running. And

⏹️ ▶️ John then I’ll think about analyzing. Oh, no, you scared it away again.

Join us!

⏹️ ▶️ Marco We are sponsored this week by ATP membership. Please consider becoming

⏹️ ▶️ Marco a member today. You know, the ad market has its ups and downs, and this

⏹️ ▶️ Marco is a down. If I’m honest, this is a big down this year. And membership is

⏹️ ▶️ Marco always there for us. Membership is a constant for us, and we are massively appreciative

⏹️ ▶️ Marco of our members. Please consider joining as a member, and you really will support the show in an even

⏹️ ▶️ Marco better way. Now, if you can’t do it, that’s cool. Keep listening. and that supports us too. If you can

⏹️ ▶️ Marco join as a member, we strongly encourage it. So here’s what you get. First of all, you get an ad-free version of the show,

⏹️ ▶️ Marco which, you know, just like this, same feed, same production and everything, but ad-free. You also get the bootleg

⏹️ ▶️ Marco version, which a lot of people enjoy. The bootleg comes out right after we finish recording, so about, usually

⏹️ ▶️ Marco about 12 hours or so, maybe a little more, before the regular release version. So you get an early release,

⏹️ ▶️ Marco it’s totally raw and unedited, so it doesn’t have, like, chapters and stuff, but it does have Casey swearing,

⏹️ ▶️ Marco and everyone loves that, right? It has our title selection process, any bits and bobs that we cut out for the final

⏹️ ▶️ Marco version, that’s all in the bootleg. A lot of people love that. Occasionally, there’s other benefits as well. So a couple times a year,

⏹️ ▶️ Marco when we do the big merch sales, we’ll give a merch discount to members and stuff like that. But really, what you’re paying for, for the most part,

⏹️ ▶️ Marco is the bootleg feed, the ad-free feed, and supporting the show. So if that interests you,

⏹️ ▶️ Marco It’s $8 a month, or a couple other currency

⏹️ ▶️ Marco options, a couple other plans, but it’s basically eight bucks a month. ATP that FM slash join. We would

⏹️ ▶️ Marco love it if you supported us as a member. And hey, if not, we’re still cool. Again, keep listening. We love that too. But

⏹️ ▶️ Marco if you can join us as a member, we’d really appreciate it. Thank you so much. And back to to the show.

#askatp: What still needs UIKit?

⏹️ ▶️ Marco All

⏹️ ▶️ Casey right, let’s do some Ask ATP. Aaron

⏹️ ▶️ Casey Bushnell writes, what in your Swift UI apps still needs UIKit to create the experience

⏹️ ▶️ Casey you want? I want to stick to Swift UI as much as possible, but it feels like there’s still a lot missing.

⏹️ ▶️ Casey One example, using focus state to focus an input when a sheet is presented is still not as instant

⏹️ ▶️ Casey as UIKit’s become first responder. For me, I’m pretty sure I’m not even using this anymore,

⏹️ ▶️ Casey But the one place that I can think of off the top of my head, I think it’s

⏹️ ▶️ Casey the only place I’m using UIKit, is speaking of spelunking, the internet’s favorite spelunker,

⏹️ ▶️ Casey Guy Rambaud, helped me figure out a way to determine if the search field is focused

⏹️ ▶️ Casey or not. But as I think Marco and I talked about just a couple of weeks ago, that is coming in iOS 17. It’s

⏹️ ▶️ Casey just not there in 16. And I’m pretty sure that’s the only place I’m using UIKit in

⏹️ ▶️ Casey Call Sheet. But Marco, what are you doing in Overcast? I know you’ve said that

⏹️ ▶️ Casey there’s been some times in the new rewrite that you’ve considered dropping down to

⏹️ ▶️ Casey UIKit. Are you actually doing that at all? Or did you just think about it and then abandon ship?

⏹️ ▶️ John Well, actually, Casey is the only one who can actually answer this question because neither Marco nor I have

⏹️ ▶️ John quote unquote, SwiftUI apps. He

⏹️ ▶️ John, Casey has UIKit apps

⏹️ ▶️ John and I have AppKit apps and we use SwiftUI, but only Casey, if I’m correct here, right? has

⏹️ ▶️ John the actual, the SwiftUI app lifecycle thing. Like that’s what you have, right Casey?

⏹️ ▶️ Casey That’s right, that’s right. That’s definitely right for

⏹️ ▶️ Marco call sheet. Actually, John, that’s not correct for me. I have a SwiftUI app.

⏹️ ▶️ Marco Really?

⏹️ ▶️ John You went full fledged to the, you know, the SwiftUI app lifecycle thing? No wonder it’s taking you forever. No, it’s

⏹️ ▶️ John not overcast. Oh, that’s right. You

⏹️ ▶️ Marco got that, what is it, the Tide thing? I have my Fire Island driving app. Yeah, that is all SwiftUI,

⏹️ ▶️ Marco except since I wrote it last year and it had to be compatible with iOS 15 and 16. Wait, why?

⏹️ ▶️ Marco I

⏹️ ▶️ Casey thought you were installing it for like three people.

⏹️ ▶️ Marco Yeah, and two of them had iOS 15. That’s why, because it’s like, you know, it’s

⏹️ ▶️ Marco not all like tech nerds, it’s like real people. Users ruin

⏹️ ▶️ Marco, John everything.

⏹️ ▶️ Marco Yeah, anyway, so that is almost all SwiftUI, except I have to wrap all the

⏹️ ▶️ Marco MapKit stuff, because that was like, I think SwiftUI just got MapKit now with iOS 17, or at least maybe 16,

⏹️ ▶️ Marco but anyway, so I had to wrap all that stuff. So I had to drop down to UIKit for tons

⏹️ ▶️ Marco and tons and tons of the map stuff, and that honestly really sucked. But if

⏹️ ▶️ Marco I were running that app from scratch today, I wouldn’t need UIKit probably for anything anymore.

⏹️ ▶️ Marco And I think that’s where I am with my rewrite, which you didn’t ask, but I’m gonna tell you

⏹️ ▶️ Marco anyway. I am actually using entirely SwiftUI, I think, for pretty much everything.

⏹️ ▶️ Marco There’s been occasionally a time where I’ll run into some issue like, How do I style

⏹️ ▶️ Marco the, you know, how do I apply my font, which is not the system default font, it has a few tweaks,

⏹️ ▶️ Marco I use sf-rounded, and I use the alternative four, six, and nine glyphs. So I need

⏹️ ▶️ Marco like, for part of my interface to look correct, I have to be able to customize the font.

⏹️ ▶️ Marco Sometimes I’ll have an issue with SwiftUI, like all right, well, how do I customize the font of this navigation bar

⏹️ ▶️ Marco title, or you know, something like that. Occasionally I’ve had to dip into UIKit to

⏹️ ▶️ Marco style certain appearance attributes like that. But then, like a month or two later, I’ll find

⏹️ ▶️ Marco some way to do it where I don’t need that anymore, and then I’ll take it out. So right now, I have, I think, either

⏹️ ▶️ Marco almost nothing or nothing that’s UIKit in the current build of the app. But, you know,

⏹️ ▶️ Marco it peaks in here and there, but I’m trying very hard to not need it. That being said, you know, for

⏹️ ▶️ Marco the questioner here, it depends a lot on what your app is doing. Like, you know, last year,

⏹️ ▶️ Marco when I had to make an app that uses MapKit, Well, I didn’t really have much of a choice. I kind of had to use UIKit

⏹️ ▶️ Marco there. And so I think, obviously, it depends what your app is doing. But if your app is doing something

⏹️ ▶️ Marco that can be done in 100% SwiftUI, it’s generally

⏹️ ▶️ Marco recommended, I think, these days, that you do it in SwiftUI, if the rest of your app is obviously in SwiftUI

⏹️ ▶️ Marco mindset.

⏹️ ▶️ John Yep. Even though I’m not using UIKit, I’ll answer this from the AppKit perspective. My app is an AppKit app. My

⏹️ ▶️ John main UI is SwiftUI. But in some cases where I could

⏹️ ▶️ John have used one or the other, for example, the context menus, I have right-click menus on my little things. You can

⏹️ ▶️ John do that in SwiftUI, and I did it in SwiftUI using the SwiftUI native like context menu pop-up

⏹️ ▶️ John thingy, and it looked and behaved terribly on the Mac. And so I just, I

⏹️ ▶️ John used Apkit for it because Apkit menus work and they look and work exactly how you would think they

⏹️ ▶️ John would. If you used a Mac, have used the menu bar, you know those menus, I want those menus. And the

⏹️ ▶️ John thing SwiftUI was giving me was not those. So I chose to use AppKit for that context menu

⏹️ ▶️ John even though I could have used SwiftUI. There’s tons of lifecycle stuff. When we talk about lifecycle, we mean like,

⏹️ ▶️ John what is the top level of your code? How do you define, this is my app and these are the parts of my

⏹️ ▶️ John app and here’s where execution begins in the code that I wrote. This is the first line of the code that

⏹️ ▶️ John I wrote that runs in the second and the third. Like that’s what we’re talking about as the lifecycle, kind of like a top level structure.

⏹️ ▶️ John There’s lots of things you can do in an AppKit app that currently don’t have an equivalent place

⏹️ ▶️ John in the quote unquote native Swift UI, like from top to bottom thing. All sorts

⏹️ ▶️ John of callbacks and delegates and stuff like that, that I use to implement functionality in my app that don’t

⏹️ ▶️ John exist in the Swift UI top level thing on the Mac. Another example is my apps have menu bar

⏹️ ▶️ John icons. You can do that in Swift UI, but it’s so much easier for me to do stuff

⏹️ ▶️ John like, oh, but what about when someone option clicks on it? Or what about when they, you know, Like I have

⏹️ ▶️ John access to exactly what’s happening at like the individual click level and all the modifiers

⏹️ ▶️ John and what’s focused and it’s just so much easier to do that from AppKit because in SwiftUI since it’s all declarative,

⏹️ ▶️ John someone has to have thought about wanting that information at this point to make it

⏹️ ▶️ John accessible. Whereas AppKit, it’s all imperative and I can just go get that information wherever I want it. And in fact, there’s tons

⏹️ ▶️ John of callbacks for everything you can possibly imagine in AppKit because it’s like a 40 year old API or whatever the hell it is.

⏹️ ▶️ John So I continue to use AppKit for all those things

⏹️ ▶️ John that haven’t made it into SwiftUI yet and for all the obscure, I mean not

⏹️ ▶️ John that obscure, but they’re kind of obscure because my apps are not normal apps that just have, it’s not

⏹️ ▶️ John a document-based app with a bunch of windows and saving things, it’s weird. And for weird apps like that,

⏹️ ▶️ John falling down to AppKit makes a lot of sense. And I imagine it’s similar on UIKit. If you’re doing something out of the ordinary,

⏹️ ▶️ John SwiftUI probably hasn’t gotten around implanting your thing, but UIKit probably has some kind

⏹️ ▶️ John of hook or callback or delegate method or completion handler or something that does what you want.

⏹️ ▶️ Casey Indeed.

#askatp: Sony A6700?

⏹️ ▶️ Casey David Campbell writes, what does John think about the Sony a6700? I sat

⏹️ ▶️ Casey out the last upgrade opportunity and I am about to click buy on an a6700. Well, sorry, David, this probably

⏹️ ▶️ Casey took way too long, but nevertheless, to replace my a6300. Just curious about his thoughts. I’ll be using it much like John

⏹️ ▶️ Casey does, family vacations and outings. I have a few Sony lenses, so I’m feeling locked into the ecosystem. Is

⏹️ ▶️ Casey it still a good camera when I feel like pulling out the quote unquote big camera, or should I

⏹️ ▶️ Casey jump to Canon?

⏹️ ▶️ John So it’s not, it’s actually kind of timely. The a6700 just came out. This, the

⏹️ ▶️ John a6 something, something, something thousand line of cameras are Sony’s APS-C

⏹️ ▶️ John cameras. So the sensor is smaller than full frame and the cameras are also smaller. It was the first

⏹️ ▶️ John Sony that I really got into. I had a series on them. I had the, I had the a6300, then upgraded to the 6600 and the 6700 is the new one.

⏹️ ▶️ John And that’s what they’re asking about. All these cameras

⏹️ ▶️ John still just have APS-C sensors. The reason I, you know, cause they’ve been upgrading them. The reason

⏹️ ▶️ John I use these APS-C ones is because when I want my long lens for the beach,

⏹️ ▶️ John if I want an equivalent zoom distance on a full frame camera, the lenses are huge,

⏹️ ▶️ John, Marco just

⏹️ ▶️ John massive and so heavy and so big and so expensive.

⏹️ ▶️ John Whereas on a smaller sensor, you can, so you get double whammy. One, the lenses

⏹️ ▶️ John are smaller. They’re just physically smaller. Their diameter is smaller, they weigh less, they’re not

⏹️ ▶️ John as long, they’re smaller lenses. And two, when you get a lens that says like mine,

⏹️ ▶️ John 350 millimeter maximum zoom, that’s 350 millimeter at full frame. With an

⏹️ ▶️ John APS-C sensor, what is it like a 1.5 times multiplier? There’s some, it’s more zoomed

⏹️ ▶️ John in that. Yeah, 1.6. Yeah, it’s more zoomed in than even that. So when I

⏹️ ▶️ John want to shoot people in the ocean waves and they are far out from the shore,

⏹️ ▶️ John APS-C cameras are really great because I mean, I wouldn’t wanna buy,

⏹️ ▶️ John try buying a high quality, you know, what is the equivalent of 350 times 1.6, can’t

⏹️ ▶️ John do the math in my head, try to find a full frame zoom lens like that,

⏹️ ▶️ John that’s good quality, that’s a huge amount of money, and then try carrying that in the hot sun

⏹️ ▶️ John for a long period of time. It’s too big, it’s just too big. Maybe I’ll eventually

⏹️ ▶️ John get to there. I look at them all the time and then I look at how much they weigh, how big they are, and I’m like,

⏹️ ▶️ John no. So, I think the APS-C camera size and this line

⏹️ ▶️ John of cameras is still worth having. I do wish that they would make the sensors a little bit

⏹️ ▶️ John better. They increased the megapixels a little bit. They made the sensor a little bit better. It’s the same sensor they’ve

⏹️ ▶️ John used in a lot of their video cameras. So what have they done from the 6600 to the 6700? 6600 was the previous top of the line,

⏹️ ▶️ John and it’s got in-body stabilization, and it’s got the best

⏹️ ▶️ John motion tracking stuff and the most features and it uses the big battery,

⏹️ ▶️ John which I think is the most important feature. It uses the big battery from the full frame camera, so the battery lasts forever because

⏹️ ▶️ John this is a smaller camera, but with the battery from the big camera, it’s kind of like the 15 inch

⏹️ ▶️ John MacBook Air. So the 6600 is great. The 6700, to

⏹️ ▶️ John me, for my purposes, is not a pure win because they made it thicker,

⏹️ ▶️ John like the body is thicker, which kind of cuts into the, oh, this is a small camera. It doesn’t weigh that much more,

⏹️ ▶️ John but it is visibly substantially thicker. They also made the handle bigger, so I guess that’s good if you

⏹️ ▶️ John want a bigger grip on it, but they made it thicker. The sensor is a little bit better,

⏹️ ▶️ John but a lot of the features they added are for video. I don’t care about video.

⏹️ ▶️ John If you don’t care about video with your camera, I feel like the 6700 is,

⏹️ ▶️ John I mean, I’m not gonna say it’s not a good deal, but I would think

⏹️ ▶️ John hard about whether you should get the 6700 over the 6600 if you don’t care about video because you’re getting a thicker

⏹️ ▶️ John camera that takes slightly better pictures, but in exchange

⏹️ ▶️ John for like, it costs more money, it’s bigger. I don’t know, it’s tough. The

⏹️ ▶️ John one thing that I pushed the 6700 over is they further improve the autofocus

⏹️ ▶️ John system and the tracking and all that. And the 6700 has their, I don’t know, everybody

⏹️ ▶️ John brands everything with AI, but their AI subject detection, which is better than the 6600. It

⏹️ ▶️ John can find birds and insects and people and animals, and it’s really good about following them, and it’ll

⏹️ ▶️ John follow people even when their heads are turned, their backs turned to you, and they turn back, like it’ll keep focused on them the

⏹️ ▶️ John whole time. That is better on the 6700. But it’s not compelling

⏹️ ▶️ John me to upgrade, and if I was buying a camera straight out now, I would think a lot about getting 6600 instead

⏹️ ▶️ John of 6700, just because all the features they added to this

⏹️ ▶️ John thing that have to do with video, I do not care about. And I don’t know, I guess

⏹️ ▶️ John I would probably go with it just for the AI motion tracking thing, but I say this not having actually held it in my hand. I

⏹️ ▶️ John might be disappointed in the extra thickness. So think about the 6600, hold the 6700. If you can handle the extra

⏹️ ▶️ John size and weight, even if you don’t care about video,

⏹️ ▶️ John just get it for the better tracking I guess.

#askatp: Getting into social networks

⏹️ ▶️ Casey Ben Gunsberger writes, every time you talk about your use of platforms like Twitter

⏹️ ▶️ Casey or Mastodon or Threads, I’m sorry, X, or Mastodon or Threads. Oh,

⏹️ ▶️ Casey, Marco God.

⏹️ ▶️ Casey It feels like I’m using a totally different service. I’ve tried multiple times to get value out of them, but every time it’s the same cycle.

⏹️ ▶️ Casey I log on and mostly see a lot of very low-quality comments from people with nothing interesting to say.

⏹️ ▶️ Casey Then I manage to find a few people I respect and try to join interesting conversations but get no responses or feedback,

⏹️ ▶️ Casey including from ATP. Sorry. Then I give up and go back to one-way communication,

⏹️ ▶️ Casey such as podcasts, newsletters, RSS Flipboard, et cetera. Maybe I just haven’t persevered enough, but I

⏹️ ▶️ Casey hear people talking about the great discussions and friendships they’ve experienced on these platforms, and I can’t work out why

⏹️ ▶️ Casey my experience is so different. I totally sympathize with what Ben

⏹️ ▶️ Casey is saying, although it certainly sounds like you’re not coming to this with a terribly open mind.

⏹️ ▶️ Casey It’s hard to discern that from what you’re saying, but that’s kind of the vibe I got. I can

⏹️ ▶️ Casey probably speak for the three of us. We get a surprising amount of mentions on

⏹️ ▶️ Casey Mastodon and previously on Twitter. I mean X. And—

⏹️ ▶️ Casey, Marco No, when we

⏹️ ▶️ Marco were there, it was called Twitter, damn it.

⏹️ ▶️ Casey Fair enough, fair enough. I have not used X. Same. So anyways, when you get—in

⏹️ ▶️ Casey the same way that we get probably 100 emails a day or something like that, when you’re getting 100

⏹️ ▶️ Casey mentions a day, you’re just not going to respond to all of them. it doesn’t mean that

⏹️ ▶️ Casey something that you tweeted, tooted, xed at us wasn’t good or interesting or useful. It

⏹️ ▶️ Casey just means that we don’t have time to reply to everything. I can only speak for the three of us in that regard. But generally,

⏹️ ▶️ Casey the way I’ve made inroads into clicks or social circles,

⏹️ ▶️ Casey even in these social networks, is by just participating in the conversations.

⏹️ ▶️ Casey And even if you are perhaps jumping in on a conversation between

⏹️ ▶️ Casey the three of us hosts, perhaps somebody else makes an interesting point to one of us that you happen

⏹️ ▶️ Casey to see, and then you comment to them. Oh, that was a really good point. And so on and so forth. And then over time

⏹️ ▶️ Casey you start to realize, you know, Oh, I, I, I spoke to that guy or that girl or that person,

⏹️ ▶️ Casey whatever. I spoke to them, uh, you know, three weeks ago and we shared that one witty story or whatever the case

⏹️ ▶️ Casey may be. It’s not that dissimilar from real life. And so I think to some degree, yeah, you might have to persevere more.

⏹️ ▶️ Casey And to some degree you might have to open your mind a little more, but That’s just my two cents. John

⏹️ ▶️ Casey was just talking a lot, so let’s start with Marco.

⏹️ ▶️ Marco Hi, this is Marco. I think the key to

⏹️ ▶️ Marco getting into a social network and getting into communities is to not expect

⏹️ ▶️ Marco the world immediately, but to be persistent. In a

⏹️ ▶️ Marco community, people who show up and who are consistently

⏹️ ▶️ Marco putting out interesting good or kind thoughts tend to get found

⏹️ ▶️ Marco and tend to get integrated into the community over time. But it might take a little while. You know, it might take

⏹️ ▶️ Marco some persistence. It might take, you know, making some posts here and there that not a lot of people see for a while

⏹️ ▶️ Marco and you just kind of keep at it. And like good people, good content

⏹️ ▶️ Marco tends to be found. But it just might take a while. And it’s a little bit harder

⏹️ ▶️ Marco now in the fragmented world of you know the the random you

⏹️ ▶️ Marco know Twitter spin-offs basically all these like different communities that have like broken off of Twitter or communities that have

⏹️ ▶️ Marco that pre-existing Twitter like Macedon but have been invaded by Twitter refugees and are now effectively

⏹️ ▶️ Marco you know Twitter break off communities. It was different like it was much easier on

⏹️ ▶️ Marco Twitter when that was the big game in town when quote everybody was

⏹️ ▶️ Marco just in one place. It was just Twitter. And that’s one of the greatest powers that Twitter

⏹️ ▶️ Marco had back before the doofus bought it and ruined it, is that it was the one place where

⏹️ ▶️ Marco so many people were. You could assume, like if you wanted to have a conversation with

⏹️ ▶️ Marco any media personality, any celebrity, any famous person, any content

⏹️ ▶️ Marco creator, any company, like you could be reasonably sure they

⏹️ ▶️ Marco were probably on Twitter and you’d go look and you’d probably find them. That is gone

⏹️ ▶️ Marco now and it’s fragmented now and it’s going to remain fragmented for the foreseeable future as we’ve talked about. And

⏹️ ▶️ Marco so it’s harder now in the sense that now you might need to go to multiple places to try to

⏹️ ▶️ Marco develop communities or audiences or whatever. And it would probably help

⏹️ ▶️ Marco most to specialize to one. Rather than kind of bouncing between a bunch of different places,

⏹️ ▶️ Marco I would say stick on one and kind of try to get in, you know, try to establish yourself there.

⏹️ ▶️ Marco And the problem is there, it’s kind of hard to know which one right now. And there’s been so much

⏹️ ▶️ Marco turbulence in the last 10, 12 months in terms of all

⏹️ ▶️ Marco the different services that, you know, well, Twitter’s ruins. And now where are we going to go? Oh, let’s try

⏹️ ▶️ Marco Mastodon. And now, oh, hey, look, there’s Blue Sky. Oh, now look, there’s threads. Oh, my God. Like, and there’s all these things going

⏹️ ▶️ Marco on everywhere. And there is no clear winner yet. And there might never be one. Or

⏹️ ▶️ Marco it might be a very long time. Twitter is still around even though now it’s renamed and it’s progressively

⏹️ ▶️ Marco getting worse, but it’s still there. There’s still a bunch of people there. Mastodon is still very much around

⏹️ ▶️ Marco and still doing great and that’s where I spend most of my time. Threads is still booming like crazy

⏹️ ▶️ Marco and everyone’s using it now, but there’s also still Mastodon. BlueSky, I think,

⏹️ ▶️ Marco probably doesn’t have a great future ahead of it, but it’s still there and there’s still a community there.

⏹️ ▶️ Marco So now there’s a whole bunch of places and it’s kind of hard to know which one to invest in. So it can be a little

⏹️ ▶️ Marco tricky, but I can tell you, like, you know, from somebody who has the privilege of having the audience

⏹️ ▶️ Marco on these platforms, kind of, you’re seeking the experience that I have to some degree, and I can tell you,

⏹️ ▶️ Marco first of all, that was built up over time by doing exactly this. It was built up over the last, you know, 15

⏹️ ▶️ Marco years or whatever it’s been, just putting out good stuff on a regular basis, or at least putting out stuff

⏹️ ▶️ Marco on a regular basis. I know it wasn’t all good, but putting out stuff on a regular basis, and over time,

⏹️ ▶️ Marco that develops communities and audiences. When I look through the mentions for an account, or

⏹️ ▶️ Marco when I look through emails, I don’t respond to most of them because, as Casey was saying, sometimes we

⏹️ ▶️ Marco get a lot. Like, you know, an example, this ubiquity camera topic, or the home security

⏹️ ▶️ Marco camera topic, that we’ve gotten so much feedback. There are so many emails that have been

⏹️ ▶️ Marco incredibly detailed, helpful things, and I’ve responded to some, but

⏹️ ▶️ Marco it’s been a lot. And so there’s a lot that I’m not responding to. However, when

⏹️ ▶️ Marco I see the same name pop up every few weeks, I’ll see

⏹️ ▶️ Marco somebody write an email with the same name, I’ll start to remember some of those names. Or on

⏹️ ▶️ Marco Twitter or MassiveOn or whatever Twitter-like service I’m on this semester,

⏹️ ▶️ Marco I’ll recognize people’s usernames and I’ll start recognizing, oh hey, it’s them again. I remember them

⏹️ ▶️ Marco and I remember their stuff. When you are persistent, not like overbearing, not responding

⏹️ ▶️ Marco to every single thing, But like when you are consistently, you

⏹️ ▶️ Marco know, having good feedback or good interaction in some way or posting good stuff yourself,

⏹️ ▶️ Marco that does tend to pick up traction eventually. And it might take a little while, but it does pick up traction

⏹️ ▶️ Marco eventually. And I would actually say on one level, because we haven’t really settled on where necessarily

⏹️ ▶️ Marco we’re gonna be long-term in a lot of cases yet, on one level, it’s hard to know where to invest your time. And that

⏹️ ▶️ Marco makes this kind of thing more difficult. On the other level, every time one of these

⏹️ ▶️ Marco new services launches, all of us who go try it out, go find

⏹️ ▶️ Marco new people to follow. Because that’s not only an opportunity to do that, because it’s all brand new,

⏹️ ▶️ Marco and it’s a kind of fresh, unclaimed ground, and freshly formed audiences that haven’t

⏹️ ▶️ Marco collected into stars and galaxies yet, and it’s just like, everyone’s kind of floating around after the

⏹️ ▶️ Marco Big Bang. So there’s a lot of opportunity when services change

⏹️ ▶️ Marco to get new audiences and new communities formed. So

⏹️ ▶️ Marco even though it’s a little hard to know where to focus your energy, which one of these communities to invest in right

⏹️ ▶️ Marco now, or which multiple of these communities to invest in right now, it is also a huge opportunity

⏹️ ▶️ Marco to establish yourself. It’s like changing schools. You’re establishing yourself with new people,

⏹️ ▶️ Marco new environment, so there’s a lot of opportunity there. But ultimately this boils down to

⏹️ ▶️ Marco put good stuff out there And eventually it does tend to be found.

⏹️ ▶️ Casey John?

⏹️ ▶️ John So Ben mentions a couple different things here. One is just seeing like random comments from people. That’s what I feel like

⏹️ ▶️ John is one of the reasons the chronological timeline is not, and you know, not the best for most people.

⏹️ ▶️ John Because if you show up on a service and you’re like, and it’s chronological timeline,

⏹️ ▶️ John who should I follow? Like sometimes they’ll suggest somebody you should follow, or maybe you try to find some of your

⏹️ ▶️ John friends or you follow them, but it’s a pretty meager experience because you’re like, okay, I thought of three people to

⏹️ ▶️ John follow and either one of them seem to be either awake right now or using the service at all. So my

⏹️ ▶️ John timeline has like nothing in it. Should I follow a famous person

⏹️ ▶️ John now? Like it just, that feels empty. And then, so Ben says, you know, they find

⏹️ ▶️ John a few people they respect and try joining those conversations and don’t get any response. I’ve followed

⏹️ ▶️ John the person who is the reason that I get into podcasting. I followed that person for 16 years on Twitter.

⏹️ ▶️ John I read all of their tweets, because I’m a timeline completionist. I would respond when I thought I had something

⏹️ ▶️ John interesting to say. I’ve never gotten a response from that person.

⏹️ ▶️ John, Marco Never. 16 years.

⏹️ ▶️ John So that’s the problem with finding, you know,

⏹️ ▶️ John important or famous people and saying, I’m going to follow them and participate in their conversations. Because

⏹️ ▶️ John of the volume, it’s just impossible for those people to guarantee

⏹️ ▶️ John that you’re going to get any kind of response. I mean, again, with the amount of email we get,

⏹️ ▶️ John you know, if you looked at the total amount in our mailboxes, it’s like, oh, that’s not that much. But if we responded to every single one of those

⏹️ ▶️ John emails, all we would do all day from when we woke up and went to sleep is respond to listener

⏹️ ▶️ John email. That would be our whole day. Like, that’s nothing else. You know, you’d stop for meals and go to the bathroom,

⏹️ ▶️ John but you’d just be answering email. Because giving a good answer to an email, a good, thoughtful answer to a very

⏹️ ▶️ John long, well-thought-out email requires that. Nevermind like follow-up emails and responses or whatever.

⏹️ ▶️ John So I mean, talk to Merlin about it. It’s important to, you know, manage your time and maybe perhaps think about

⏹️ ▶️ John which emails require response. What do you have time to respond? You know, that’s why

⏹️ ▶️ John the person I followed the 16 year never replied to me. They don’t hate me. They don’t even know who I am. They get

⏹️ ▶️ John lots of replies. Famous people, like real famous people, like celebrities or whatever. I forget about our little nerd

⏹️ ▶️ John circles, but like famous people get too much stuff. So if you’re gonna go on

⏹️ ▶️ John a service and find, you know, people who are either little F famous

⏹️ ▶️ John or big F famous and think you’re going to reply with something witty to them and suddenly you’ll

⏹️ ▶️ John be involved in the conversation, that’s probably not gonna happen. It doesn’t reflect anything on you and doesn’t

⏹️ ▶️ John reflect anything on them. It’s just a numbers game. They can’t possibly, real celebrities, can’t even look at

⏹️ ▶️ John all their replies, no matter what service they’re on. Even if you’re like, it’s the first day that Blue Sky is

⏹️ ▶️ John here and a famous sci-fi author is on Blue Sky, maybe you’ll get like one response because

⏹️ ▶️ John there’s five people on the service, but that’s it. So don’t pin your hopes on becoming buddy buddy

⏹️ ▶️ John with someone famous. It has nothing to do with you, it has nothing to do with them, it’s just about volume.

⏹️ ▶️ John So how do you go about finding people? First of all, this is what algorithmic timelines

⏹️ ▶️ John are for. For services that offer them, especially services that offer ones that work in some reasonable

⏹️ ▶️ John way, and I think threads does kind of work in a reasonable way, use the algorithmic timeline to discover

⏹️ ▶️ John subgroups that you might be interested in. hopefully that do not involve celebrities or anybody with

⏹️ ▶️ John tons of followers. There is gonna be some period of time where you’re either mostly listening

⏹️ ▶️ John or trying to find the groups where you fit in. And the way you sort of

⏹️ ▶️ John become part of that group is by having something,

⏹️ ▶️ John I was gonna say having something to offer because everyone has something to offer, but like whatever

⏹️ ▶️ John it is that you are interested in, that you know about that is, you know, a thing

⏹️ ▶️ John that you, that everyone’s got something that they’re, you know, whatever it is, it’s like, I know everything about this

⏹️ ▶️ John particular reality show on TV. I mean, you might think it’s dumb, but there will become a time when

⏹️ ▶️ John someone in some group is having a conversation about that and you’ll be like, you know what? I’ve seen every episode of

⏹️ ▶️ John that show and I’ve re-watched the seasons that I like 17 times. And now it’s my time to shine.

⏹️ ▶️ John And I can be helpful, useful, provide information that people didn’t know, have an informed

⏹️ ▶️ John opinion, you know, like whatever thing you’re good at, if you, you know, you want to be

⏹️ ▶️ John able to do the thing that you’re good at and offer the things that you have to offer, and that’s

⏹️ ▶️ John how you’ll stand out in a conversation. And you don’t know when that’s gonna be. You may be super interested,

⏹️ ▶️ John like I’m super interested in cars, but if someone’s talking about Formula One, I don’t have anything to offer

⏹️ ▶️ John in that conversation. I like cars, I just am not into Formula One. And so if the

⏹️ ▶️ John famous people that I respect talking about Formula One, I can’t provide any value to that conversation.

⏹️ ▶️ John And if I tried to, they’re not going to remember me because I’m not providing anything that is memorable.

⏹️ ▶️ John So part of this process of finding, you know, of making the services valuable is finding

⏹️ ▶️ John the group where you are a valued and valuable member. And there’s a million different ways

⏹️ ▶️ John to do that. It can be about hobbies, it can be about, you know, where you live, it can be about the fact that

⏹️ ▶️ John you just got married and you’re involved with a group of other people who just got married, like, there’s

⏹️ ▶️ John so many ways you can bin yourself, that’s the magic of the internet. And in those sub groups,

⏹️ ▶️ John where you have something to offer, you will become an important notable valued member

⏹️ ▶️ John of that by what you offer to the group. Don’t enter a sub group

⏹️ ▶️ John about Formula One, if you’ve never seen Formula One, you will not become a valued member of that group unless you want to get into

⏹️ ▶️ John Formula One, in which case, read that group for a year. And on year two, you’re gonna be like, you know what,

⏹️ ▶️ John I know a lot about Formula One now and I can participate

⏹️ ▶️ John, Casey in these

⏹️ ▶️ John conversations, you know? So it takes time. But I feel like that’s the thing that people

⏹️ ▶️ John miss. And I think about the people who have become people that we know in our

⏹️ ▶️ John nerd subgroups. All of us at one point were not in this nerd subgroup that we’re in.

⏹️ ▶️ John We were not in it at all. And we entered into it somehow by

⏹️ ▶️ John offering something that was found to be valuable. Here’s an example. underscore

⏹️ ▶️ John David Smith that we talk about on the program a lot. He came into this nerd circle kind of

⏹️ ▶️ John around the same time that we were entering into it as well. The first time I remember seeing him

⏹️ ▶️ John was in the IRC chat room from my hypercritical podcast. He was underscore

⏹️ ▶️ John David Smith in the chat room. And the reason I recognize his name, even though it’s probably like one of the most

⏹️ ▶️ John common names

⏹️ ▶️ John, Marco in English language, David

⏹️ ▶️ John Smith. There’s a lot of them in the world, I think, was because he was always

⏹️ ▶️ John in the chat room and he always used underscore David Smith. And the things he said in the chat room

⏹️ ▶️ John were smart and interesting because he turns out he knows stuff about you know, the stuff we were talking

⏹️ ▶️ John about, Apple and technology stuff. At that, when I first started

⏹️ ▶️ John seeing his name, I didn’t know he was an app developer. I didn’t know he made iOS apps, right? I didn’t know him from anybody.

⏹️ ▶️ John I think he was in the chat room of Marco’s podcast as well. Build and analyze on 5x5.

⏹️ ▶️ John Where else was he? He would like, you would, If you were involved in the tech podcast world and

⏹️ ▶️ John they had a chat room, chances are you’d see someone named underscore David Smith in there. Eventually we learned

⏹️ ▶️ John that he did make Mac apps and he had a website and he would tweet things and he would blog about it and he would talk about his apps and eventually

⏹️ ▶️ John met him in person and became friends with them. And it’s like, he was, first he was nobody

⏹️ ▶️ John and then he was a name you saw and then he was a name you remembered and then he was somebody who was offering things. In fact,

⏹️ ▶️ John a lot of people would, I bet if you listen to ADP, you know there’s some people like, not just Steve Stratton Smith, but some people you’ve heard

⏹️ ▶️ John who’ve offered feedback in the followup section. You’ve heard their names over many years in ATP and we

⏹️ ▶️ John know their names because we know they listen to the show and they send us tons of feedback and they send

⏹️ ▶️ John us 500 things of feedback but they get three on the show. But that’s three spread across three years and you hear that

⏹️ ▶️ John same name once a year for three years, you’re like, hmm, this person, I recognize their name. And maybe

⏹️ ▶️ John if you were at WWDC and you were talking about ATP, you’d be like, oh, I recognize your name because they said it on in the

⏹️ ▶️ John feedback section or when they were talking about followup or, you know, an Ask ATP.

⏹️ ▶️ John And then you have something to talk to them about. And why are they in the Ask ATP? Why are they in follow-up?

⏹️ ▶️ John Because they’re offering answers to questions that we asked on the show, things we didn’t know, or asking

⏹️ ▶️ John interesting questions that we think are things that other people might want to hear about. That will happen

⏹️ ▶️ John in social media as much as it does on podcasts, as much as it does in chat rooms. It’s just that it’s not

⏹️ ▶️ John going to happen instantly. and you have to know where

⏹️ ▶️ John and who you should be talking with and where you’re interested in participating and where you have something

⏹️ ▶️ John to offer. And if you don’t have something to offer today, like I said, you can lurk there, which used to be a thing in news

⏹️ ▶️ John then, you would lurk in the news group for like, you know, several months before you even put your first post in to

⏹️ ▶️ John get up to speed. Because if you’re interested in something, you eventually will become knowledgeable about it

⏹️ ▶️ John and be able to participate in the conversation in a way you couldn’t in the beginning. So I know it’s frustrating

⏹️ ▶️ John to not just instantly be like, oh, here’s a circle of people and they welcome me and we’re all having fun together,

⏹️ ▶️ John but that’s tough to do. And the final thing I’ll say is, almost all of these little circles that we’re talking

⏹️ ▶️ John about are a little Apple nerd circle and the sub circles or whatever. Most of these, the way these tend

⏹️ ▶️ John to form is not by looking at an existing circle of famous people and joining it. If

⏹️ ▶️ John that was true, I’d be in a circle with David Pogue and John Dvorak. I am not in a circle with those people.

⏹️ ▶️ John Not because they’re bad people or anything, But my dream reading Mac magazines is like, I’m gonna

⏹️ ▶️ John talk to those visionary people who write on the back page of these Mac magazines. Reality, I

⏹️ ▶️ John was never going to be in circles with them. Instead, I formed circles with a bunch of people who were quote unquote,

⏹️ ▶️ John nobodies, who became somebodies over the course of 15 years of hanging out with each other. There’s

⏹️ ▶️ John this thing of like, oh, I see the people who are currently popular or famous and I wanna join

⏹️ ▶️ John them. When in reality, you should be finding other people who are not popular and famous just like

⏹️ ▶️ John you and make your own circles with them because you will be the next popular and famous people. Like that’s how

⏹️ ▶️ John it works. Like everyone wants to look towards the famous people, find the other people who are your

⏹️ ▶️ John current peers in experience or knowledge or whatever, join with them. It doesn’t

⏹️ ▶️ John feel, it’s like, oh, but I’d much rather be talking with these famous people. It’s like, yeah, but like that’s

⏹️ ▶️ John not gonna happen, right? John Dvorak never answered any of my letters and he’s actually kind of a jerk. David

⏹️ ▶️ John Puck’s cool though. Very rarely do you like meet your heroes

⏹️ ▶️ John and become incorporated into little circles with them. What actually happens is you form your circles with your own people. So

⏹️ ▶️ John I would suggest apply less value to the current fame of people and

⏹️ ▶️ John believe that you and your non-famous, quote unquote regular people friends

⏹️ ▶️ John have just as much value because you do and make your own circles. And like that’s

⏹️ ▶️ John the way to be happy on the internet I feel like.

⏹️ ▶️ Marco Thanks to our sponsors this week, Trade, Coffee, and Collide. And thanks to our members

⏹️ ▶️ Marco who support us directly. You can join us at slash join. and we will talk to you

⏹️ ▶️ Marco next week.

Ending theme

⏹️ ▶️ John Now the show is over, they didn’t even mean to begin Cause

⏹️ ▶️ John it was accidental, oh it was

⏹️ ▶️ Casey accidental

⏹️ ▶️ John John didn’t do any research, Marco and Casey wouldn’t let him Cause

⏹️ ▶️ John it was accidental, oh

⏹️ ▶️ Casey it was accidental And you can find the

⏹️ ▶️ John show notes at And if you’re into

⏹️ ▶️ John Twitter,

⏹️ ▶️ Marco you can follow them at C-A-S-E-Y-L-I-S-S

⏹️ ▶️ Marco So that’s Casey Liss, M-A-R-C-O-A-R-M, Auntie

⏹️ ▶️ Marco Marco Armin, S-I-R-A-C-U-S-A-C-R-A-Q-U-S-A

⏹️ ▶️ John It’s accidental,

⏹️ ▶️ Casey they didn’t mean to

⏹️ ▶️ John Accidental, check podcast so long

Travel routers

⏹️ ▶️ Casey So, you know, a week or two ago was the last week. I don’t know. Time is a blur right now. Last week I was at the beach

⏹️ ▶️ Casey and I did something very, well, maybe unusual. I don’t know.

⏹️ ▶️ Casey So late last year, I think it was, I was watching a video that a friend of the

⏹️ ▶️ Casey show, Quinn Nelson, did on YouTube about, I think it was like really good

⏹️ ▶️ Casey gift ideas for the holidays or something like that. I’ll dig it up and put it in the show notes.

⏹️ ▶️ Casey And Quinn had suggested, among many other things, that he really

⏹️ ▶️ Casey likes this one travel router. It has a really god-awful name because,

⏹️ ▶️ Casey of course, it’s a little teeny tiny travel router. And the idea is

⏹️ ▶️ Casey you can bring that and you can perhaps, if you’re at, say, a beach house,

⏹️ ▶️ Casey you can plug that either into their router or even replace the beach house’s router and

⏹️ ▶️ Casey use that instead. And then it’s a known quantity. And that works out really

⏹️ ▶️ Casey nicely because then all of your devices. You don’t need to input

⏹️ ▶️ Casey some new SSID and some new password. You can either use literally

⏹️ ▶️ Casey the exact same SSID and password as you have at your house, or you can use some other known thing

⏹️ ▶️ Casey that all of your devices are familiar with, and so on and so forth.

⏹️ ▶️ John What if the Beach House router is locked in a shed, Casey?

⏹️ ▶️ John, Casey Yeah, well,

⏹️ ▶️ Casey that is… Well, it might actually, because one of the things, because this is specifically a travel router,

⏹️ ▶️ Casey one of the things that it does is it will, I forget the technical term for it, but it will basically

⏹️ ▶️ Casey re, like, I want to say repost, that’s not the word I’m looking for, I’m sorry, I’m very tired,

⏹️ ▶️ Casey but it will take like captive Wi-Fi, and you can spoof a MAC address of

⏹️ ▶️ Casey the router if you want to, but it’ll take like a Wi-Fi connection and rebroadcast

⏹️ ▶️ Casey that as, you know, a different SSID and so on and so forth. There’s a term for this, which I’m

⏹️ ▶️ Casey failing to think of.

⏹️ ▶️ Marco You know, you can log in to the captive thingy through it, and then it rebroadcasts from that?

⏹️ ▶️ Marco How does that work?

⏹️ ▶️ Casey Well, no. So what you would do is you would log in on your Mac, figure out your Mac’s Mac address.

⏹️ ▶️ Casey That’s a lot of Macs all in one

⏹️ ▶️ Casey, John spot.

⏹️ ▶️ Casey You would figure out your Macintosh computer’s media access control address.

⏹️ ▶️ Marco What processor might that Macintosh computer have in it? It might

⏹️ ▶️ Marco, Casey be the…

⏹️ ▶️ Casey It might be a M1 maximum,

⏹️ ▶️ Casey, Marco but

⏹️ ▶️ Casey anyway, so the point is, it will then rebroadcast Wi-Fi and whatnot.

⏹️ ▶️ Casey And one of the neat things that this particular travel router does is that it will

⏹️ ▶️ Casey also, if you so choose, it can, at the router level, connect to

⏹️ ▶️ Casey a WireGuard access point. So what I did at the beach was, I brought

⏹️ ▶️ Casey this router and then I plugged it in so it was, you know, double-natted, but it doesn’t matter

⏹️ ▶️ Casey because there was nothing coming into this router. I just needed to get out. So, I plugged this router

⏹️ ▶️ Casey into their router because it was not locked away. And then I turned

⏹️ ▶️ Casey on the WireGuard client. And so, that meant that not only is

⏹️ ▶️ Casey it extremely unlikely that the owner of the house, I mean, not that they would, but the owner of the house could

⏹️ ▶️ Casey snoop any of the stuff that I was doing. But even More importantly, I have my pie hole. Hi,

⏹️ ▶️ Casey Marco. I have my pie hole

⏹️ ▶️ Casey, Marco available to me. It’s still funny. All these, it’s

⏹️ ▶️ Marco like, I know, I know. It’s like how like, you know, like butt jokes are always funny, no matter how old you are, no matter how mature you are,

⏹️ ▶️ Marco like butts are funny. Similarly, the pie hole, that’s just always a funny name. I know,

⏹️ ▶️ Casey I know. So anyway, so I had that, you know, already all available on the,

⏹️ ▶️ Casey on the travel router and so on and so forth. They were on the network when we were at the, at the beach house. But

⏹️ ▶️ Casey one of the very interesting things that I was quite proud of myself for coming up with this idea

⏹️ ▶️ Casey was just probably not that unique, but I was excited that I thought of it. Um, I am, and

⏹️ ▶️ Casey I think we’ve talked about this plenty of times in the past. I am one of those people that is kind

⏹️ ▶️ Casey of a nut job about always having some sort of music playing. I really don’t like exceedingly

⏹️ ▶️ Casey quiet places. It’s not that I can’t do it. I just don’t like it. So, basically,

⏹️ ▶️ Casey anytime I’m conscious, I’m either listening to a podcast, usually in headphones, or music,

⏹️ ▶️ Casey oftentimes from our Sonos system that we have in the house. Well, it occurred to me,

⏹️ ▶️ Casey I have two portable Sonos speakers. I have a Move and a Roam. The Roam is like sort of kind of small

⏹️ ▶️ Casey like a jam box, and the Move is quite bigger, quite a bit bigger. Well, if I set the travel

⏹️ ▶️ Casey router up to use the same SSID and password as I have at home, hypothetically, I should be able

⏹️ ▶️ Casey to take my two portable speakers and put one on each floor of this

⏹️ ▶️ Casey two-story beach house and they should just think they’re at home. And

⏹️ ▶️ Casey so I plugged in my travel router. I plugged in the, or I put the two travel

⏹️ ▶️ Casey speakers, roaming speakers, whatever on their little charging bases, started them up. And just

⏹️ ▶️ Casey like that, that that’s, I got a two speaker Sonos system with

⏹️ ▶️ Casey pretty much no configuration at the Beach House. And I was very excited about it and it made me very happy.

⏹️ ▶️ Marco I’m surprised that that works as well, especially, you know, something like, like I know the Sonos speakers that’s, you know,

⏹️ ▶️ Marco they have wifi and some of them support

⏹️ ▶️ Marco, John Bluetooth,

⏹️ ▶️ Marco but

⏹️ ▶️ Marco, John usually

⏹️ ▶️ Marco they kind of need to be on their wifi network, at least for setup and even sometimes after that,

⏹️ ▶️ Marco like it’s a whole thing. So that’s

⏹️ ▶️ Marco, Casey actually,

⏹️ ▶️ Marco that’s pretty impressive that it works.

⏹️ ▶️ Casey Yeah, and it worked really, really well. Okay, so I can’t find Quinn’s video. I’m gonna have to try to find it for the show notes after I’m done

⏹️ ▶️ Casey recording. But the travel router is the GL.inet, GL-MT1300

⏹️ ▶️ Casey barrel VPN wireless little travel router, connect to a hotel Wi-Fi and captive portal, USB 3.0, three

⏹️ ▶️ Casey gigabit ports, range extender, access point, not access, but access point, pocket-sized

⏹️ ▶️ Casey micro SD slot ready to set up. Asses point? A-S-S-E-S-S, assess

⏹️ ▶️ Casey, John point. Oh, assess point. People aren’t familiar with

⏹️ ▶️ John this bit. He was just reading the product name.

⏹️ ▶️ John, Casey Yeah, that is the product name on Amazon.

⏹️ ▶️ Casey So anyway, but this thing, I, this is super cool. I really like it. And then we actually had brought this to

⏹️ ▶️ Casey Disney when we went in January and it just so happened, we won the

⏹️ ▶️ Casey hotel room lottery in Disney world. Because in our hotel room in

⏹️ ▶️ Casey Disney world, surprisingly not in the ceiling or on the ceiling or anything like that

⏹️ ▶️ Casey in the hotel room at Disney world. I can dig up a photo. Cause I took a photo of it. Cause I was so happy about it. there

⏹️ ▶️ Casey was the wireless access point for that block of rooms near us.

⏹️ ▶️ Casey And not only that, but it had a live Ethernet port.

⏹️ ▶️ Casey Whoa! Right? It was amazing! So here

⏹️ ▶️ Casey it was, I could just plug this router via Ethernet directly into a

⏹️ ▶️ Casey hotel access point. Because if you know anything about any hotel, but particularly Disney

⏹️ ▶️ Casey hotels, The Wi-Fi is often trash because it is way overloaded, but

⏹️ ▶️ Casey I didn’t need to worry about that because I had Ethernet baby because we won the hotel room lottery and I was

⏹️ ▶️ Casey very excited about that. But anyway, this little travel router, I’ll put a link in the show notes to

⏹️ ▶️ Casey the Amazon link. Now, this GL-iNet company has many different flavors of this same router.

⏹️ ▶️ Casey You know, there’s lots and lots and lots of different configurations that you can get. This is just

⏹️ ▶️ Casey the one I happened on. I honestly don’t remember how I landed on this particular one. But yeah,

⏹️ ▶️ Casey if you’re going places with any sort of regularity, not even regularity, but if you’re going places for like an extended

⏹️ ▶️ Casey length of time, like a week plus, I really, really enjoyed having this. It’s a super nerdy, super dorky,

⏹️ ▶️ Casey super kind of ridiculous, over the top thing to have. I’m really glad I had it. and worked out nicely.

Constant noise

⏹️ ▶️ John I said, your story makes me think of Secret Weird Things in the spirit of Reconcilable Differences.

⏹️ ▶️ John Yeah, yeah.

⏹️ ▶️ John, Marco I’m thinking

⏹️ ▶️ John in my head, if I did a poll, like what’s your reckon about how many people

⏹️ ▶️ John are like Casey and want like music playing or audio playing, and how many people don’t?

⏹️ ▶️ John How do you think that would break down? I guess for the US, let’s say.

⏹️ ▶️ Marco Well, I mean, so two things. Number one, similar question, but TV, I think you get a lot of

⏹️ ▶️ Marco different results.

⏹️ ▶️ Marco, John Oh, that’s true. I’m saying

⏹️ ▶️ John like regardless of source, regardless of the source of the sound, it’s like sound, like something

⏹️ ▶️ John other than just, you know, a sound playing from something or not sound playing. Because Casey

⏹️ ▶️ John is very strongly in the sound playing camp. And I, for example, I’m very strongly in the not sound playing camp. And

⏹️ ▶️ John everyone can feel like can bend themselves, even if they’re not strongly at one point or the other. Like, I don’t think a lot of people are kind of in the

⏹️ ▶️ John middle. You kind of, you know, so I would, and my first instinct, of course,

⏹️ ▶️ John me being, you know, everyone thinks like, oh, whatever I do is normal. That’s the whole point of the whole secret weird things So

⏹️ ▶️ John I’m thinking, surely Casey is an outlier. But then I think, but if you did that poll, would he be in the

⏹️ ▶️ John majority?

⏹️ ▶️ John, Marco And how big a majority would it be?

⏹️ ▶️ Marco Well, because part one is like, what kind of noise do you want to have? Many

⏹️ ▶️ Marco people consider it no big deal at all, and nothing out of the ordinary.

⏹️ ▶️ Marco As soon as they arrive home, they flip the TV on, and the TV is playing, just playing

⏹️ ▶️ Marco ambiently, constantly. That’s a very

⏹️ ▶️ Marco, John common

⏹️ ▶️ John thing. Back in the day when I was a kid, people had radios, kitchen radios, right? You’d have a radio in your kitchen

⏹️ ▶️ John and it would just be on when you’re home. Right,

⏹️ ▶️ Marco so a lot of people love having some kind of ambient media playback somewhere in

⏹️ ▶️ Marco their house all the time whenever they’re there. I personally, I don’t give a crap about

⏹️ ▶️ Marco TV for the most part, but I love music and podcasts. And so whenever I’m, if

⏹️ ▶️ Marco I’m like around the house, and especially like, it’s interesting, like when I am alone in the house, I always want

⏹️ ▶️ Marco something playing. When my family is home, we often have silence.

⏹️ ▶️ Marco And part of that is because I don’t want the pressure of choosing the music. You can’t

⏹️ ▶️ Marco, John agree on what to say,

⏹️ ▶️ Marco yeah. But anyway, but yeah, if I’m alone and

⏹️ ▶️ Marco I’m going to make lunch for myself or have some coffee, I will definitely play

⏹️ ▶️ Marco either music or a podcast. That being

⏹️ ▶️ Marco, John said, though.

⏹️ ▶️ John You’re in the Casey thing. But I feel like that would bin you into the Casey camp. So now we’re at 66% of the US is

⏹️ ▶️ John like Casey and 33%

⏹️ ▶️ John, Marco is like me, judging by ATP.

⏹️ ▶️ John Well, and John, and as you know,

⏹️ ▶️ Marco ATP does not just represent the US, we represent the entire world. As

⏹️ ▶️ Marco, John the world always lets us know,

⏹️ ▶️ Marco whenever we state anything and they accuse us of being US-centric, well no, we will represent the

⏹️ ▶️ Marco whole world now, everyone. We are 66% of everyone. Anyway, to answer your, another

⏹️ ▶️ Marco part of this though, Casey, is that this was one of the great surprises that I learned when developing Overcast

⏹️ ▶️ Marco at some point when I put analytics about output devices, a lot of people are

⏹️ ▶️ Marco fine to just listen to their phone speaker for both podcasts and also for music.

⏹️ ▶️ Marco And that was a surprise. And by the way, that destroys your battery. If you listen to a lot of podcasts

⏹️ ▶️ Marco or music out loud on your phone’s built-in speakers and you get terrible battery life, that’s why.

⏹️ ▶️ Marco It murders the battery more than having the screen on. If you’re playing music loud,

⏹️ ▶️ Marco it destroys it. Anyway, I find in a lot of cases, like that’s fine. Like, you know, especially like if I’m in a hotel,

⏹️ ▶️ Marco I never turn on the hotel TV, ever. Like, I just, I don’t.

⏹️ ▶️ Marco Sometimes if I can move out of the way, I’ll move out of the way. Like, I just, I don’t, I

⏹️ ▶️ Marco, John never use. I’m trying not to touch the hotel TV. Yeah, I

⏹️ ▶️ Marco know, I know the Merlin, man’s assumption. It certainly comes into play

⏹️ ▶️ Marco, John there. This is about

⏹️ ▶️ Marco the

⏹️ ▶️ John remote, but I’m thinking about the TV itself. They always look kind of icky.

⏹️ ▶️ Marco Well, yeah, but it’s certainly, the remote’s probably touched more than the TV itself. Anyway,

⏹️ ▶️ Marco and you know the TV can fit in fewer places. But. Wow. It’s man’s

⏹️ ▶️ Marco, Casey assumption.

⏹️ ▶️ Marco Oh,

⏹️ ▶️ Casey, Marco Marco, why? But a

⏹️ ▶️ Marco lot of times I will just, I’ll use my phone to play like, you know, music as I’m getting dressed or something.

⏹️ ▶️ Marco Like it’s not, our phones are surprisingly less crappy than we would

⏹️ ▶️ Marco think. Like actually just for, also in this department, last night,

⏹️ ▶️ Marco for the first time I think ever, I watched a TV show in

⏹️ ▶️ Marco bed on my phone with AirPods in. This is something that’s extremely

⏹️ ▶️ Marco common for many people to do and for

⏹️ ▶️ Marco, John whatever reason.

⏹️ ▶️ John It is extremely

⏹️ ▶️ John, Marco common. Yeah, I know John, you do this,

⏹️ ▶️ John right? I mean, I use my iPad most of the time, but I will watch a YouTube video on my phone sometimes. I mean, here’s the thing,

⏹️ ▶️ John I do it for such a weird reason, me being me, my phone has an OLED screen. It has way better blacks

⏹️ ▶️ John than my

⏹️ ▶️ John, Marco iPad. That’s what I

⏹️ ▶️ Marco was gonna say. So this is the first time I’ve ever watched a show like on my phone in bed with

⏹️ ▶️ Marco AirPods. We have those stupid Samsung frame TVs, which are terrible

⏹️ ▶️ Marco TVs. Like, they’re okay as visual objects in the room. As TVs, like image

⏹️ ▶️ Marco quality wise, they’re horrific. They’re just really basic and not

⏹️ ▶️ Marco very good LCD TVs. They don’t have any even fancy dynamic backlighting,

⏹️ ▶️ Marco at least the one I have from a couple years ago. It’s just, it’s a very basic LCD TV. So like

⏹️ ▶️ Marco the black levels are terrible and it’s nothing like an OLED. And every time I see an

⏹️ ▶️ Marco OLED, I’m like, oh God, it’s so much better. Why do we have these stupid Samsung frames?

⏹️ ▶️ Marco And of course the answer is, you know, OLEDs would have ridiculous burn-in if they tried to do what the frames do

⏹️ ▶️ Marco with their static idle image anyway.

⏹️ ▶️ John By the way, LG’s OLEDs do that. They have a, just like the frame where it shows artwork and stuff,

⏹️ ▶️ John the LG OLEDs actually do that. So, I mean, you’re right about burn-in, but it doesn’t stop manufacturers from offering

⏹️ ▶️ John that.

⏹️ ▶️ Marco Do they just like shift the picture around?

⏹️ ▶️ John, Marco They

⏹️ ▶️ John do, but it doesn’t help that much. Like how much are they shifting it? They do have pixel shift, they do have pixel refresh. The

⏹️ ▶️ John LGs are somewhat resilient to burn in, but you can’t fight city hall.

⏹️ ▶️ John You’re gonna leave it up all the time. It’s gonna burn in.

⏹️ ▶️ Marco Anyway, so I was watching some stupid show, like some bad Apple TV Plus show, and by

⏹️ ▶️ Marco the way, usually Apple TV Plus shows are good, which is why it stuck out, this one was bad. So I

⏹️ ▶️ Marco was watching the show and it blew me away, first of all, how much better

⏹️ ▶️ Marco it looked on my little phone screen than on my giant Samsung frame TV because it’s an OLED.

⏹️ ▶️ Marco, John OLED

⏹️ ▶️ John iPads, coming soon. You know I’m gonna scoop one of those up.

⏹️ ▶️ Marco Oh yeah, right? And then second of all, I was blown away how good

⏹️ ▶️ Marco it sounded with my AirPods Pro. It had a full surround mix,

⏹️ ▶️ Marco and this is not like an action, it’s like a dialogue based show, but I could tell it was a surround mix. It

⏹️ ▶️ Marco sounded incredible.

⏹️ ▶️ John You gotta turn that stuff off, Mark.

⏹️ ▶️ Marco No, not even the positional thing. I wasn’t doing the thing where it comes from the phone.

⏹️ ▶️ John See, you have to turn off in every single app, and every single app that you use with your AirPods on your

⏹️ ▶️ John phone, you have to go to the spatial audio thing and pick, I turn it off. You can do fixed or position

⏹️ ▶️ John or off, and you might wanna think about turning it off.

⏹️ ▶️ Marco No, honestly, for TV shows, I’m gonna leave it on. It’s incredible. And it kind of got me

⏹️ ▶️ Marco thinking like maybe I should probably think about surround sound setups again. But

⏹️ ▶️ Marco, John it really did sound really good.

⏹️ ▶️ John You’re pushing way off of the topic that I wanted to get the answer to, which is, what’s your guess? US population percentage,

⏹️ ▶️ John KC or non-KC?

⏹️ ▶️ Marco Oh, so are we

⏹️ ▶️ John including TV? Yes, anything that makes noise. Phones, TVs, radios,

⏹️ ▶️ John anything. Sonos, literally anything. Do they need to have sound playing or not?

⏹️ ▶️ Marco I’m gonna say if we’re talking, if we rule out kids, which is like US adults,

⏹️ ▶️ Marco I’m gonna say probably 60, 70%. It’s probably a lot. Casey,

⏹️ ▶️ Marco what do you think?

⏹️ ▶️ Casey It’s really tough. It’s tough for me for a couple of reasons. One, I think

⏹️ ▶️ Casey I’m the way I am as with everyone else because of my upbringing, right? Like my dad always had music

⏹️ ▶️ Casey playing, always, always, always. And my mom tended to, if dad wasn’t playing music, like maybe he was

⏹️ ▶️ Casey at work or whatever, Mom tended to have the TV on that she was casually watching.

⏹️ ▶️ Casey Like it’s not the sort of thing where she would just have it on as noise, but she tended to have the TV on

⏹️ ▶️ Casey whenever there was something going on. I’m sorry, there was nothing going on. And so one way or another, both parents,

⏹️ ▶️ Casey constant noise. Well, I mean, that’s a little pejorative, but constant.

⏹️ ▶️ Casey, John That’s how I would describe it.

⏹️ ▶️ Casey Oh yeah, yeah, yeah. Constant noise going on in the background. And so I’m the way I am, presumably, right?

⏹️ ▶️ Casey Because that’s what I grew up with. Aaron, very, very much not that way.

⏹️ ▶️ Casey And I think the reason that part of the reason we are a music all the time family is because Aaron doesn’t

⏹️ ▶️ Casey typically care what I play. She’ll listen to basically anything. And I don’t just play one band

⏹️ ▶️ Casey over and over and over and over and over again, Marco and

⏹️ ▶️ Casey, Marco so,

⏹️ ▶️ Casey Oh, all right, we’re making progress. Um, so anyway, so, um, so yeah, so for me, like it’s

⏹️ ▶️ Casey all I’ve ever known. And so to me, having a house that’s silent is just unusual and weird.

⏹️ ▶️ Casey But that being said, to actually answer your question, I would guess

⏹️ ▶️ Casey somewhere in the 30 to 40% range have either a TV or music playing. If you

⏹️ ▶️ Casey, John don’t,

⏹️ ▶️ Casey I think so. Because I feel like an oddball. I feel like an oddball that I always

⏹️ ▶️ Casey have to have something on.

⏹️ ▶️ John I think you just always feel like an oddball.

⏹️ ▶️ Casey, John Well, there is that as well.

⏹️ ▶️ John I think you’re in the majority. My personal experience is when you go to someone else’s house,

⏹️ ▶️ John and I notice it because it is, not going to say it’s offensive to me, but I

⏹️ ▶️ John don’t like it, so I notice it. I notice it when it’s there. It’s like if

⏹️ ▶️ John you went in someone’s house and you were ankle deep in Jell-O, you would notice the houses where you’re ankle deep in Jell-O and the

⏹️ ▶️ John houses where you’re not. Other people would be like, they don’t even notice, it’s just there, but you’re like, oh, ankle deep in

⏹️ ▶️ John Jell-O again. So I think you are safely in the majority. And I would, I was going to say 75, 25.

⏹️ ▶️ John Really? Yeah, because one thing I’ve learned from my secret weird

⏹️ ▶️ John thing surveys is whatever is like, is that A, I’m almost never in the majority. And

⏹️ ▶️ John B, your personal experience of just meeting people in life tends to be

⏹️ ▶️ John borne out by the percentages. Like you’d be like, like in the thing with the cup in the bathroom, a little

⏹️ ▶️ John survey of the group of people. we were in a room with like, you know, 10 people, five or 10 people, that

⏹️ ▶️ John ended up being basically the percentage of like the thousands of people in the poll, you know?

⏹️ ▶️ John And so my experience of being in people’s houses is, yeah, they have the TV on, they have the radio on.

⏹️ ▶️ John I’ve seen people playing things on their phone. And you know, it’s modified by like what Marco said, it’s like, if you have a multi-person

⏹️ ▶️ John household, there’s less of that because you don’t wanna, you know, people can’t agree on what they wanna

⏹️ ▶️ John play, so sometimes you default to nothing and there’s just ambient noise from the people there. But I think Marco’s example is great

⏹️ ▶️ John And if I had to pull it, I would say, if you’re in the house yourself, do you put on some audio,

⏹️ ▶️ John radio, television, phone, Sonos, whatever? I think that would be like 75-25,

⏹️ ▶️ John which is yet another case where I have to realize that just. How weird you are. That I am the oddball,

⏹️ ▶️ John, Marco and that

⏹️ ▶️ John I need to stay away from people.

⏹️ ▶️ Marco Well, also, I think some strong driving factors to that also. If that’s true,

⏹️ ▶️ Marco that this is the predominant American choice, Keep in

⏹️ ▶️ Marco mind also, a lot of Americans live alone compared to other places. In

⏹️ ▶️ Marco a lot of other countries and cultures, it’s more common for

⏹️ ▶️ Marco single people to live with their parents still or for if

⏹️ ▶️ Marco you are a parent and your spouse passes away, you move in with your

⏹️ ▶️ Marco kids. I think there’s a lot more larger families in a lot of other places culturally as a norm.

⏹️ ▶️ Marco In America, you have a lot more people who live alone, and Americans are largely

⏹️ ▶️ Marco a little bit paranoid and a little bit scared of being alone. And so I think that combines to

⏹️ ▶️ Marco constant audio, whether it’s TV or music, makes people feel comfort

⏹️ ▶️ Marco that like, oh, there’s other people around, I’m not alone.

⏹️ ▶️ John So when you leave the radio on for your dog when they’re home alone. Do people do that? Yes.

⏹️ ▶️ John You know the thing, people used to say, I have no idea if there’s any value in this, but I’m just telling you what people used to say

⏹️ ▶️ John when I was a kid and they still do. Oh, if you’re leaving the house and your dog is anxious when you’re gone, put on something

⏹️ ▶️ John with human voices, radio, television, or something like that, because that’ll comfort the dog in your absence. Does it actually comfort

⏹️ ▶️ John the dog? I have no freaking idea.

⏹️ ▶️ John, Casey It’s

⏹️ ▶️ John just a thing people said. I’m surprised you haven’t heard that as a

⏹️ ▶️ John, Casey dog owner. Oh, I absolutely have,

⏹️ ▶️ John yeah. Because you would think, you know, like dog owners and like parents, you’ll hear advice from everybody, but that’s the thing people

⏹️ ▶️ John would say. And every time you’re talking about, oh, I like to have audio playing, I think, oh, you’re like a dog who’s home alone.

⏹️ ▶️ Marco I mean, that’s really cute. It doesn’t sound like it would actually help or work.

⏹️ ▶️ John I have no idea if there’s any basis to this, but I know people have A, said it, and B, I know people do it.