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

420: I Have No Urge to Speak

Clubhouse, Twitter Spaces, Overcast’s latest update, how Swift is going, whether Electron apps are really that bad, and Apple’s rumored car thing.

Episode Description:

Sponsored by:

  • Flatfile: Spend less time formatting spreadsheet data, and more time using it.
  • Linode: Instantly deploy and manage an SSD server in the Linode Cloud. New accounts get a $100 credit.
  • Away: Start your 100-day trial and shop Away’s entire lineup of travel essentials, including their best-selling suitcases.

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).

Chapters

  1. MDM control over VPNs
  2. Short names in Contacts
  3. Drone obstacle-avoidance
  4. John on The Talk Show
  5. A bit more on Clubhouse
  6. Sponsor: Away
  7. John “tried” Twitter Spaces
  8. Sponsor: Linode
  9. Overcast 2021.1
  10. How’s Swift going?
  11. Sponsor: Flatfile
  12. #askatp: Non-ISP DNS servers
  13. #askatp: Is Electron so bad?
  14. #askatp: Recent Apple Car rumors
  15. Ending theme
  16. Neutral: The point of Audi?

MDM control over VPNs

⏹️ ▶️ John For the pre flight the thing that we really need to pre flight is the pre show Please two of you

⏹️ ▶️ John work out which of you has a half an hour of content that you’re gonna stick before

⏹️ ▶️ Casey John the fun is neither Marco nor I knows who’s gonna win

⏹️ ▶️ John Right, but see the problem is when you get this, you know A hundred year storm thing where we have 45 minutes before

⏹️ ▶️ John the little modem sound so work something out, please

⏹️ ▶️ Casey All right an anonymous Apple employee writes to make yet another correction This is turning into the T whatever, whatever,

⏹️ ▶️ Casey whatever feedback. Another correction with regard to always on VPNs and work devices

⏹️ ▶️ Casey and so on. This anonymous Apple employee writes, the always on VPN mentioned on a past episode

⏹️ ▶️ Casey cannot, all caps, be implemented on a user-owned iPhone or iPad. That policy

⏹️ ▶️ Casey can only be applied on supervised devices, which if you recall is just Apple’s fancy word for a corporate-owned iPhone.

⏹️ ▶️ Casey You can only supervise an iPhone if the company purchased it through a specific reseller or carrier,

⏹️ ▶️ Casey or the company takes over the ownership of your phone, which is extremely rare. And this usually only happens with

⏹️ ▶️ Casey donated devices. It’s a tedious process which requires a full phone erase and multiple steps. In other words,

⏹️ ▶️ Casey a company cannot snoop your web traffic unless they own the phone.

Short names in Contacts

⏹️ ▶️ Casey Moving right along, Julian Torres writes, there’s a preference in settings on iOS under contacts

⏹️ ▶️ Casey called short names that allows you to set the system-wide preference. What was the context for this? I don’t recall.

⏹️ ▶️ Casey It

⏹️ ▶️ John was like the mom and dad, whether you use their

⏹️ ▶️ John, Casey names or their

⏹️ ▶️ John nicknames in your address book and what shows up where. And I was trying to recall that there was some setting that you could use to control this,

⏹️ ▶️ John but then not all apps honored it. This, I think, was the setting I was thinking of. I seem

⏹️ ▶️ John to recall also messing with either, messing with the setting and expecting it to work on the Mac or there’s an equivalent on the Mac, But

⏹️ ▶️ John it’s the type of thing where you can suggest that this is how things show up. And I bet if you call the right Apple APIs,

⏹️ ▶️ John it honors this setting. But if you don’t and just have, or just pulling the contact data directly in your app, I suppose you

⏹️ ▶️ John could just do whatever you want. But anyway, in case you’re wondering, that’s where it is, uh, in iOS settings.

⏹️ ▶️ Casey Yep. Good to know.

Drone obstacle-avoidance

⏹️ ▶️ Casey All right, my buddy Brian King sent us a link to a talk from Skydio.

⏹️ ▶️ Casey And I believe Skydio makes drones. Um, and this talk is like an hour and a half long. And, uh,

⏹️ ▶️ Casey I was talking to him privately outside of the feedback that he had sent us and he said, basically just skip around in this video and

⏹️ ▶️ Casey darn near anywhere. You’ll see something cool. And I don’t remember exactly what the timestamp was, but

⏹️ ▶️ Casey at some point they had these drones following a person like running or cycling

⏹️ ▶️ Casey or something like that. I don’t remember exactly what it was. But the drone was flying in between power lines.

⏹️ ▶️ Casey It was amazing. I do not understand how this could possibly work. Oh, it looks

⏹️ ▶️ Casey like it was somewhere around between 10 and 15 minutes, I think. Anyways, it is a fascinating

⏹️ ▶️ Casey video. Yeah, at about 14 minutes, I see it now as I’m jogging through it. It is really

⏹️ ▶️ Casey bananas to watch as you see it going above, below, and through these power lines, which I assure

⏹️ ▶️ Casey you, as someone who is now an experienced drone pilot, except not really, That is terrifying

⏹️ ▶️ Casey to think about doing, and I have pretty much the smallest drone on the market. So this is extremely, extremely cool.

⏹️ ▶️ John If you watch the entire hour-long video, that’s what it’s about, how they do that. You know, all the different sensing that they use

⏹️ ▶️ John to figure out how not to hit things when flying through the air, it’s

⏹️ ▶️ John, Casey cool.

John on The Talk Show

⏹️ ▶️ Casey All right, moving right along, we have some follow-outs. The talk show,

⏹️ ▶️ Casey episode 309, Pinkies on the Semicolon. That was where some guy joined

⏹️ ▶️ Casey John Gruber on his show, and it was really good, and I wanted to call your attention to it because I really enjoyed it. It was a really

⏹️ ▶️ Casey nice overview and kind of history lesson about the Mac, and I thought it was really, really good and well worth

⏹️ ▶️ Casey the couple of hours that it took to listen. So well done, whoever that random person was.

⏹️ ▶️ Marco There was some guy named John Syracusa. I don’t know

⏹️ ▶️ Marco, John if you guys have heard

⏹️ ▶️ Marco of him. It was really good. It was nice to

⏹️ ▶️ Marco hear John able to rant in his giant paragraphs about

⏹️ ▶️ Marco the Mac, very hypercritical style. For those listeners out there who miss hypercritical

⏹️ ▶️ Marco and who want a show where Casey and I aren’t here and it’s mostly John ranting

⏹️ ▶️ Marco in these large composed arguments, this had a lot of that in it and

⏹️ ▶️ Marco I really appreciated that as a listener.

⏹️ ▶️ John I was just going to say the opposite that I felt like on that show what I was doing was trying to give the cliff notes versions of what

⏹️ ▶️ John people get in ATP because everything I said on the talk show are things we’ve discussed in the past in the ATP but I have to give

⏹️ ▶️ John the compressed version because it’s just one appearance as opposed to over weeks and months.

⏹️ ▶️ John So if you’re listening to ATP, you’re getting the pure uncut stuff but if you want the cliff notes,

⏹️ ▶️ John you can check out that episode of the talk show.

⏹️ ▶️ Casey Well, either way, I thought it was very good and if you’re a listener of the show and if If you don’t regularly listen to the talk show,

⏹️ ▶️ Casey you might want to make some time for this one because it’s very, very good.

A bit more on Clubhouse

⏹️ ▶️ Casey All right, John, I think especially has lots of thoughts about Clubhouse.

⏹️ ▶️ Casey Can you tell me about this, John?

⏹️ ▶️ John Yeah, I’ve been still hanging out in the Clubhouse, as they say. No one says that.

⏹️ ▶️ John A couple of thoughts and extra bits about Clubhouse. The first one is, and I forgot to

⏹️ ▶️ John mention this last time, it occurred to me even when I was just first participating in these Clubhouse

⏹️ ▶️ John rooms, you know, so that you’ve got speakers who are quote unquote on stage and they can nominate other people

⏹️ ▶️ John to come up on stage and speak, right? And the rest of the time, there’s an audience.

⏹️ ▶️ John Like the way it’s presented is the speakers are at the top with their little avatars. Then there’s a second section which says

⏹️ ▶️ John it’s like people that the speakers follow. And then there’s a third section where the avatars get a little bit smaller. That’s like everybody

⏹️ ▶️ John else, right? And anybody can be nominated to be a speaker. Then they go back down to their thing. So when you’re

⏹️ ▶️ John in a room and someone is talking and you’re in the audience, the total

⏹️ ▶️ John number of things that you can do in the audience are number one, raise your hand, which says, hey,

⏹️ ▶️ John I would like to be nominated as a speaker to let the people who are speakers know they they can pick you or not, right?

⏹️ ▶️ John Or to leave the room. And it like when I was down there, I was thinking I was

⏹️ ▶️ John thinking of our podcast where we do a thing kind of like Clubhouse, where there’s a bunch of people right now who are in a chat room.

⏹️ ▶️ John And although we can’t nominate them to speak on the show, they can talk to each other through text

⏹️ ▶️ John in the chat while we are on stage. And I find that an incredibly valuable thing.

⏹️ ▶️ John You know, you can’t invite every single person from the audience up to be a speaker in any kind of

⏹️ ▶️ John clubhouse room. I haven’t seen any that have been like that. It’s always like you nominate the lucky few who get to talk and the rest of the

⏹️ ▶️ John people are just in the chat room. And they don’t get to do anything in clubhouse.

⏹️ ▶️ John I’m not saying they should add a text chat, but I feel like it’s something I’m used

⏹️ ▶️ John to and would find valuable. I like the idea that the audience can speak amongst themselves. And that’s a huge can of worms,

⏹️ ▶️ John as we know. Not

⏹️ ▶️ John, Marco every audience is as well

⏹️ ▶️ John behaved and wonderful as our chat room. Once you get more than a handful of people in there,

⏹️ ▶️ John then it just becomes a giant cesspool. See any chat in Twitch or other, or live chat in the YouTube

⏹️ ▶️ John stream or anything like that. So I fully understand the problems and I’m thinking they’re making the right call for this stage

⏹️ ▶️ John in their startup process. But I have to say that I missed the chat room,

⏹️ ▶️ John the chat room experience in Clubhouse. Have either one of you done any more Clubhouse observing slash participating?

⏹️ ▶️ Casey Yeah, I think all three of us, or I think maybe it was me and some with John and some with Marco were in a

⏹️ ▶️ Casey chat. Shoot, what was that? It

⏹️ ▶️ Casey, Marco was- That the one that

⏹️ ▶️ Marco Gruber joined and pointed everyone to about like UX design and stuff like that.

⏹️ ▶️ Marco, Casey Yes, that’s

⏹️ ▶️ Casey what it was. And it was good, I enjoyed it. I don’t personally see this

⏹️ ▶️ Casey as something that I would do often, but if somebody whose work I enjoy

⏹️ ▶️ Casey is talking about a topic I find interesting and I’m not also doing something else, which is a lot of ifs,

⏹️ ▶️ Casey ifs, ifs, yeah, I think it would be something I would enjoy. And it just so happened that that particular

⏹️ ▶️ Casey time, You know, I saw that John was doing something and I enjoyed John’s work. And it was something that I thought was interesting

⏹️ ▶️ Casey and it ended up being interesting. And so I popped in for a bit and I saw both of you guys there at some point or another. And I definitely

⏹️ ▶️ Casey enjoyed it. Um, and I was able to do other things simultaneously, not unlike a podcast,

⏹️ ▶️ Casey but it basically, once I joined the room, I closed or I didn’t

⏹️ ▶️ Casey close the app, I suppose, but I turned off my phone. I locked my phone and didn’t play with my phone anymore. And I don’t know if that’s good

⏹️ ▶️ Casey or bad for clubhouse, but, uh, it was good for for me from a user experience perspective, except that it wasn’t very

⏹️ ▶️ Casey sticky, as the people like to say, in the sense that I wasn’t, you know, piddling with

⏹️ ▶️ Casey the phone at all or with the app at all. I was just sitting there listening. And yeah, it would have been nice to have a chat room.

⏹️ ▶️ Marco This is still a thing that I have not found compelling.

⏹️ ▶️ Marco Like even when it’s people I like, even when, like there’s

⏹️ ▶️ Marco never a time when I stopped wishing it was a podcast in a podcast app.

⏹️ ▶️ Marco People keep saying that people who say things like that are missing the point, and we’re not

⏹️ ▶️ Marco taking advantage of the two-way nature of Clubhouse. And

⏹️ ▶️ Marco I think it’s worth mentioning, too, that we’re not just picking on this one particular service, but now we’re also going to be

⏹️ ▶️ Marco picking on this category of things, since everyone’s copying them. First of all, I still don’t want to talk

⏹️ ▶️ Marco on most of these. I think most people who listen don’t want to talk.

⏹️ ▶️ Marco I think the, you know, John, I think was being kind just now talking about, you know, the issues of how this kind of

⏹️ ▶️ Marco two-way communication thing scales. I think if you’ve ever been in a conference that had

⏹️ ▶️ Marco a Q&A where you were like, there’s mics that are passed around or, you know, open

⏹️ ▶️ Marco mic somewhere out in the auditorium and people can like come up and like ask a question at certain points or make a comment.

⏹️ ▶️ Marco That usually is not very interesting to listen to. The only people who tend to like Q&A

⏹️ ▶️ Marco parts of conferences and stuff are people who want their voices to be heard, who have something to say and

⏹️ ▶️ Marco they want to say it. That’s very different from listeners really benefiting strongly from

⏹️ ▶️ Marco it. And everybody can point to some clubhouse they were in,

⏹️ ▶️ Marco in this period where it’s been like super hot and all these like VCs and famous people are trying it out.

⏹️ ▶️ Marco Almost everyone can point to something and say like, wow, look at how valuable this was because famous or insightful person

⏹️ ▶️ Marco X happened to be there and this is amazing that you have access to them and wow, isn’t that

⏹️ ▶️ Marco great? But the reality is, that’s temporary and that doesn’t scale. It’s temporary in the sense

⏹️ ▶️ Marco that right now, all these VCs and celebrities and stuff are checking this out because

⏹️ ▶️ Marco it’s the hot new thing amongst these circles. But they’re going to move on and get

⏹️ ▶️ Marco bored of it too, just like they always do, because it’s a big world, there’s a lot of stuff that happens.

⏹️ ▶️ Marco So they’re only going to be there for a short time. In the meantime, the floodgates are going to slowly open

⏹️ ▶️ Marco and flood the service with with a whole bunch of people who you all don’t wanna hear from and who are gonna be

⏹️ ▶️ Marco competing for everyone’s attention in these rooms that you wanna get into

⏹️ ▶️ Marco and try to make your voice heard. And so it’s gonna just become more crowded and

⏹️ ▶️ Marco the signal to noise ratio is going to decrease. The quality level of

⏹️ ▶️ Marco the average participant is going to decrease. And the whole service, I fear, is gonna just turn into this Q&A at conference

⏹️ ▶️ Marco kind of thing where the two-way nature of it It

⏹️ ▶️ Marco loses a lot of its value because most of the second way,

⏹️ ▶️ Marco like most of the way back is not of high enough quality that anybody wants to hear it. And I think

⏹️ ▶️ Marco it would just like grind most shows to a halt. You know, I heard somebody discussing

⏹️ ▶️ Marco it, I forget who, comparing it to a panel discussion at a conference. I

⏹️ ▶️ Marco think that’s apt, except panel discussions at conferences usually are the least interesting conference

⏹️ ▶️ Marco sessions in my opinion. And I kind of find it to be kind of like an easy way out as a conference speaker,

⏹️ ▶️ Marco because you don’t have to do a lot of planning compared to a full-blown single-person talk. And

⏹️ ▶️ Marco there’s less value there. Now imagine the panel discussion format with even less planning,

⏹️ ▶️ Marco and where half the session is Q&A from the audience. And I just don’t see

⏹️ ▶️ Marco how that produces value for listeners consistently. To me,

⏹️ ▶️ Marco it just seems like an easy way to make a whole bunch of like bad AM talk radio

⏹️ ▶️ Marco show quality stuff, but at even greater scale than ever before. And that’s, that’s fine.

⏹️ ▶️ Marco And I’m not going to say that like good stuff will never come up where you have like, you know, good people like telling their Steve Jobs

⏹️ ▶️ Marco stories and whatever else like that’s going to occasionally happen. But that’s not the norm.

⏹️ ▶️ Marco Even now, that’s not what’s usually going on there. And that’s going to become even less of the norm over time

⏹️ ▶️ Marco as the service scales to more and more uninteresting people who just want to have their voices

⏹️ ▶️ Marco heard.

⏹️ ▶️ John What happened to you being optimistic and not an old curmudgeon and not pooh-poohing the new thing? Remember when you

⏹️ ▶️ John were talking about that? You

⏹️ ▶️ John, Marco seemed to have turned over

⏹️ ▶️ John a new leaf with your pessimism.

⏹️ ▶️ Marco Yeah, I listened to podcasts again and it was… I learned how much better they were.

⏹️ ▶️ John One thing I’ll say to reassure you on the Q&A at a conference point, and this is going to sound bad, but

⏹️ ▶️ John I think it’s actually an advantage of Clubhouse. In Clubhouse, the So the speakers

⏹️ ▶️ John get to pick who asks the question and they know at least something about the people they’re

⏹️ ▶️ John picking and you can’t see who they’re not picking. Like, so you can’t see them going, no, no, no, no,

⏹️ ▶️ John yes. You can’t see them checking what your bio says, how many followers you have, who follows you, right?

⏹️ ▶️ John And I suspect, although I don’t know because I have not hosted a room, but I suspect that’s the thing that you can do in Clubhouse

⏹️ ▶️ John and that people do in Clubhouse. It’s not a random selection of Q&A. And even in the worst

⏹️ ▶️ John case, like the only big conferences I go to is, You know, I used to go to PAX every year a while back,

⏹️ ▶️ John and then of course you go to WWDC. And sometimes I really like the Q&As. In fact,

⏹️ ▶️ John there was one session at PAX, the entire two hour session was 100% Q&A. Now,

⏹️ ▶️ John granted in like comedy type shows, getting random questions from the audience is part of the fun. But on

⏹️ ▶️ John the flip side of that, WWDC, like there’s a reason Apple got rid of the Q&A in their sessions, mostly because they didn’t wanna

⏹️ ▶️ John answer hard questions about the App Store. But setting that aside, the place where Q&A still exists at WWDC

⏹️ ▶️ John is in the celebrity lunch sessions where they have someone famous or, you know,

⏹️ ▶️ John well-established in a profession or whatever come up and do a talk not about Apple stuff. And,

⏹️ ▶️ John you know, again, sometimes the Q and A’s there were terrible too, but sometimes they were really good, especially if it’s a, you know,

⏹️ ▶️ John beloved character, as Merlin would say. You know, someone who the audience really

⏹️ ▶️ John loves and wants to hear things from. Every single person in line loves the person and gives them

⏹️ ▶️ John nice, respectful, hopefully interesting questions, and the audience enjoys it. So

⏹️ ▶️ John I was still, my main frustration with Clubhouse now is still when someone tries to talk to me when the Clubhouse

⏹️ ▶️ John is on, I pull out one of my AirPods and the thing doesn’t stop. Again, I see last week where

⏹️ ▶️ John I wished for pausing and catching up. But anyway, that’s,

⏹️ ▶️ John I’m still investigating Clubhouse. Sounds like Marco may not be investigating much longer, but you know, not

⏹️ ▶️ John everything is for every person. There’s tons of things that we all don’t do. I don’t think Marco plays

⏹️ ▶️ John video games and streams himself, but that is a very popular thing to do, despite the fact that Marco doesn’t want to do it.

⏹️ ▶️ Marco Oh, yeah. And I mean, I’m not saying anything about that. But yeah, I just I just so far,

⏹️ ▶️ Marco like I like when it when Guru joined that room and everybody was talking about, I saw and I saw the two of you were like, all

⏹️ ▶️ Marco right, fine, I should probably join this and see what this is about.

⏹️ ▶️ John That particular room demonstrated an anti pattern that happens. I don’t know. It’s an anti pattern. I

⏹️ ▶️ John don’t know what you can do about it. Maybe it’s a feature, but it’s an awkward thing that I’ve seen happen in clubhouse multiple

⏹️ ▶️ John times now in my tiny experience in Clubhouse, which is someone starts a room for

⏹️ ▶️ John an intended purpose. Someone essentially more famous than them joins the room,

⏹️ ▶️ John joins the audience. They nominate them as a speaker and then all the audience wants to do is ask questions of the person

⏹️ ▶️ John who was just nominated as a speaker. And that’s nobody’s fault really, but it’s a dynamic

⏹️ ▶️ John that’s a little bit awkward and weird because like, you know, if who’s running the show and I bet

⏹️ ▶️ John Clubhouse would say, well, no one’s running the show. a big collaborative thing that just is an emergent property of the participants,

⏹️ ▶️ John but sometimes the person who started the rooms thinks they’re running the show and then eventually they’re not.

⏹️ ▶️ Marco I haven’t cracked this nut yet and found anything that was really, that I really thought

⏹️ ▶️ Marco needed to be that format as opposed to like, wow, this was just released as a podcast.

⏹️ ▶️ Marco I would enjoy this a lot more and it would be a much easier for me to listen to it.

⏹️ ▶️ Marco, John There

⏹️ ▶️ John should be a Phish concert because they can nominate people to play guitar from the audience and Marco would love it. It’s all just collaborative.

⏹️ ▶️ John It’s different every time.

⏹️ ▶️ Marco Yeah, maybe I’m just like a snob, but I mostly just wanna hear the people who are good.

⏹️ ▶️ Marco Like I wanna hear like, not just like, hey, let’s incorporate everyone’s

⏹️ ▶️ Marco ideas in this discussion.

⏹️ ▶️ John What about the Kiss Guy from the Foo Fighters concert? Am I getting this right? I need Marilyn on the show to tell me if I’m

⏹️ ▶️ John getting these references right.

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

⏹️ ▶️ John Chat room, look up Kiss Guy, Foo Fighters. Tell me if I’m right. I don’t know.

⏹️ ▶️ Marco If I had a ticket to the to the Foo Fighters, I wouldn’t want them to pick random people from

⏹️ ▶️ Marco the audience. I want I want to see Dave Grohl. Like I want like that’s that’s why

⏹️ ▶️ Marco, John I’m going.

⏹️ ▶️ John You might like Kiss Guy. The hope that the whole reason this is the meme is it was some I don’t know details right

⏹️ ▶️ John some famous band invited someone up on stage to play guitar and the person was amazing and the band was

⏹️ ▶️ John amazed by the fact that they were amazing and anyway. I mean I’ll look it

⏹️ ▶️ Marco up but like that first of all that is probably not the common case. I I was

⏹️ ▶️ John just trying to make a fish joke as far as I’m concerned, just a bunch of people noodling around on stage. So who cares? They

⏹️ ▶️ John, Marco bring a second from the audience. That’s all I was doing. That’s not

⏹️ ▶️ Marco that’s not it. But yeah,

⏹️ ▶️ Marco, John okay. I know. I

⏹️ ▶️ Marco know.

⏹️ ▶️ John That’s why it’s a joke. Okay.

⏹️ ▶️ Casey Well, that went right off the rails like a clubhouse room. Hey,

⏹️ ▶️ John no, if only this that’s the thing. It is not enough over talking clubhouse. That’s what a clubhouse needs. More people

⏹️ ▶️ John talking at once.

⏹️ ▶️ Marco Yeah. Oh, God. And that’s the other thing to like it. Maybe again, maybe this must just be really

⏹️ ▶️ Marco wrong for me because what I hear on clubhouse sounds

⏹️ ▶️ Marco in both audio quality and communication effectiveness like a conference call.

⏹️ ▶️ Marco It sounds like I’m just on a conference call. I hate conference calls. I think conference calls

⏹️ ▶️ Marco are one of the worst communication mechanisms we’ve ever devised as a species and this service

⏹️ ▶️ Marco basically is like, hey, jump on on any conference call you want. Can everybody hear me?

⏹️ ▶️ Marco, John Oh wait, no, you don’t think you’re muted.

⏹️ ▶️ Marco Wait now. No, john john now you talk. Casey, I can hear you

⏹️ ▶️ John typing

⏹️ ▶️ Marco yourself.

⏹️ ▶️ Casey Oh right. You know, I was just gonna say

⏹️ ▶️ John just why like why I don’t know why the two of you are complaining about conference calls. I’m on conference calls

⏹️ ▶️ John all day long.

⏹️ ▶️ Marco You two are not so you’re desensitized. You don’t realize how bad

⏹️ ▶️ Marco, John no,

⏹️ ▶️ John no, it’s not. It’s the opposite. It’s like being in a desert island with fish. Yeah,

⏹️ ▶️ Marco even more. No, like Usually, I am very fortunate in that usually I’m not

⏹️ ▶️ Marco on conference calls. So when I am on one, and you know, our wonderful

⏹️ ▶️ Marco sponsors and everything almost never make me do anything like this, but occasionally

⏹️ ▶️ Marco somebody wants to have a call, and occasionally they can’t be talked out of it, and occasionally

⏹️ ▶️ Marco I have to go on a conference call. And every time I’m on a conference call, I have a number of opinions.

⏹️ ▶️ Marco Number one is like, who are all these people on this? Why did this call

⏹️ ▶️ Marco have to have seven people on it when only one to two of them are actually talking

⏹️ ▶️ Marco ever during the whole call? I don’t even know what the six of these seven people do.

⏹️ ▶️ Marco Their job titles seem like they don’t do anything or that they are redundant.

⏹️ ▶️ John You’re missing out on the great part of the conference call where everybody has to introduce themselves and it takes half an hour.

⏹️ ▶️ Marco Right. Yeah, exactly. And then most of the people never talk again. So I didn’t need to know that. Am I supposed

⏹️ ▶️ Marco to remember what your voice sounds like the whole time? No, so and then And like afterwards like alright

⏹️ ▶️ Marco The amount of like person hours that it cost to arrange the call then

⏹️ ▶️ Marco on the call Then the follow-up email after the call. It’s like that it must have cost this

⏹️ ▶️ Marco company like $20,000 and like what was that worth it that couldn’t possibly have been

⏹️ ▶️ Marco worth that That could have just been an email. So yeah, I’m not a fan of conference calls

⏹️ ▶️ Marco in case I guess that wasn’t clear

⏹️ ▶️ Casey Oh, I had no idea. I don’t know. I’m, I’m, I think between the two of you guys, John, I think you

⏹️ ▶️ Casey have some, some reserved, uh, enthusiasm for it. It seems,

⏹️ ▶️ Casey I think mine is even more reserved and Marco, I think that you’ve pretty much unequivocally decided it’s

⏹️ ▶️ Casey not for you. And I think any of those conclusions is perfectly reasonable. Um, but we should

⏹️ ▶️ Casey move along a little bit. Uh, Guy Rambeau did some investigations with regard to the, uh, the

⏹️ ▶️ Casey spewing and uploading of all of your contacts. And so he had a short

⏹️ ▶️ Casey Twitter thread, and I will read pretty much all of it. Guy says, I just had a poke at the Clubhouse app with

⏹️ ▶️ Casey a proxy, given the recent concerns about contacts usage. The bad part is that it uploads all of your contacts’ phone numbers. Surprise.

⏹️ ▶️ Casey The good part is that it’s the quote unquote only thing it uploads about them. The contacts on my test device were all fake and included

⏹️ ▶️ Casey several pieces of data, including email address and picture. But Clubhouse only uploaded the phone numbers.

⏹️ ▶️ Casey Another problem is that the API used to upload the phone numbers doesn’t seem to be using SSL pinning.

⏹️ ▶️ Casey Also, if they just want to match people based on who they have phone numbers for in contacts, they should use one-way

⏹️ ▶️ Casey hashes. So that’s some technical jargon to say that if there

⏹️ ▶️ Casey are ways in which they could do this more safely, but the good news is all they’re taking is numeric phone numbers

⏹️ ▶️ Casey and seemingly nothing else. So it could be worse, but it’s still not great.

⏹️ ▶️ John Yeah, I mean, they have access to everything. Like the fact that they’re just doing phone numbers now, unless you’re going to constantly

⏹️ ▶️ John monitor on that, but they can change it any time.

⏹️ ▶️ Marco Yeah, I still don’t see how this is anything but a privacy disaster. And by the way,

⏹️ ▶️ Marco probably a violation of GDPR also, because all those phone numbers

⏹️ ▶️ Marco that people are uploading, those people could not and did not consent

⏹️ ▶️ Marco to the sharing of that data. So it’s got to be illegal in the EU

⏹️ ▶️ Marco for them to even possess this data in the first place.

⏹️ ▶️ John I don’t know what the GDPCR says about data given to other private citizens that, you know, what happens to it

⏹️ ▶️ John there. If they give it to a company, then obviously it’s different. But anyway, who knows? I’m sure they’ll work it out with whatever.

⏹️ ▶️ John If this ever gets big, I’m sure they’ll work it out with whatever countries they’re dealing with stuff. And by the way, on the subject

⏹️ ▶️ John of hashing, which I also brought up on a previous show, a couple of people on Twitter sent me links to

⏹️ ▶️ John some depressing demonstrations that given

⏹️ ▶️ John Given the limited sort of key space of email addresses, and the

⏹️ ▶️ John email addresses are constrained, they can’t be unlimited length, there’s certain characters that are valid, they have a particular

⏹️ ▶️ John format, one-way hashes are not quite so one-way as you might think they are when it

⏹️ ▶️ John comes to email addresses, given a little bit of time and effort, which is a bummer, but you know, that’s life.

⏹️ ▶️ Casey All right, can you tell me about Ephemeral Clubhouse?

⏹️ ▶️ John Uh, the, the supposed, uh, beauty and promise of clubhouse is that, you know, it’s not recorded.

⏹️ ▶️ John It’s not a podcast. It’s you had to be there. If you were there, great. If not, Oh, well, uh, this

⏹️ ▶️ John shortly after recorded the show where we mentioned these stories, uh, about Steve jobs, uh, clubhouse,

⏹️ ▶️ John uh, it was posted to YouTube because it was recorded. I obviously, I mean, there’s nothing you

⏹️ ▶️ John can do to stop people from recording it. I think the clubhouse app strongly discourages it, but computers

⏹️ ▶️ John or computers, I’m not quite sure how this recording was made, but not only was the stories from Steve Jobs

⏹️ ▶️ John thing recorded. But it was also uploaded to the Computer History Museum site

⏹️ ▶️ John sort of as a historical artifact. So if you didn’t get in on that Clubhouse room and want

⏹️ ▶️ John to see it, it’s on YouTube. Link will be in the show notes. And related to that, there was a story

⏹️ ▶️ John in Inc. Website, Inc.com, that says with a sensational

⏹️ ▶️ John headline, Clubhouse is recording your conversations. And that’s not even its worst privacy problem. A little bit sensational,

⏹️ ▶️ John but in their terms of service that nobody reads. It does say, Clubhouse says, solely

⏹️ ▶️ John for the purposes of supporting incident investigations, we temporarily record the audio in a room while the room is live.

⏹️ ▶️ John If a user reports a trust and safety violation while the room is active, we retain the audio for the purpose of investigating the incident and then

⏹️ ▶️ John delete it when the investigation is complete. If no incident is reported in a room, then we delete the temporary audio recording

⏹️ ▶️ John when the room ends. So, I mean, not that you shouldn’t have already been assuming this anyway, but

⏹️ ▶️ John just because the Clubhouse app discourages you from recording, it doesn’t mean that they’re not recording it. And

⏹️ ▶️ John you can see based, you know, like they have a thing in Clubhouse where you can report, like a reporter,

⏹️ ▶️ John recent speaker, if someone comes on stage and says something bad and you wanna report them, like there’s this whole sort of reputation and reporting

⏹️ ▶️ John system built into the app, which is a good thing. And to sort of adjudicate those, they have to have a recording of what

⏹️ ▶️ John went down rather than, well, they don’t have to, but it’s better to have a recording than to just take someone’s word for it that someone

⏹️ ▶️ John did something bad or whatever. So this makes some sense, but if you, lest you believe that

⏹️ ▶️ John Clubhouse really is completely like a wisp on the wind and it’s here and it’s gone, just like

⏹️ ▶️ John all those other things, whether it be Instagram stories or Snapchat or whatever, you’re giving your data to

⏹️ ▶️ John the service provider and they’re doing with it whatever they want. And if you’re wondering what they’re doing with it, you can

⏹️ ▶️ John read their 800 page terms of service and figure it out. But the bottom line is, once you give

⏹️ ▶️ John it to them, they are, you know, who knows what they’re doing with it. And

⏹️ ▶️ John if you’re uncomfortable with your things being recorded, don’t use Clubhouse. But then again, you probably also shouldn’t

⏹️ ▶️ John use Instagram stories or Snapchat or any other service that records your audio.

⏹️ ▶️ Marco We are sponsored this week by Away. Whether it’s a trip

⏹️ ▶️ Marco to the corner store, a weekend away, or an extended stay with friends and family, we’re all navigating

⏹️ ▶️ Marco the current reality of travel. But no matter your destination or your style,

⏹️ ▶️ Marco Away’s suitcases, bags, and accessories all come in a variety of colors, sizes, and materials

⏹️ ▶️ Marco to suit your needs and inspire your future travels. All of Away’s

⏹️ ▶️ Marco suitcases are made to the highest quality. They are designed to last a lifetime

⏹️ ▶️ Marco with durable exteriors that can withstand even the roughest of baggage handlers. And

⏹️ ▶️ Marco if any part of your suitcase ever breaks, their standout customer service team will arrange to have it fixed or replaced.

⏹️ ▶️ Marco These have lifetime warranties. And all these suitcases are incredibly well designed

⏹️ ▶️ Marco on the inside too. They have an interior organization system that includes things like a built-in compression

⏹️ ▶️ Marco pad to help you pack more stuff, a hidden removable laundry bag to separate your dirty clothes from your clean

⏹️ ▶️ Marco clothes as you travel. And they all have four 360 degree spinner wheels so you can roll them through

⏹️ ▶️ Marco the airport really easily. Lots of maneuverability there. And all this is available in a nice

⏹️ ▶️ Marco huge variety of materials, colors and sizes to fit your style and your personality.

⏹️ ▶️ Marco This is a great line of suitcases and other travel gear at away. And you can see for yourself

⏹️ ▶️ Marco by taking advantage of their hundred day trial. All of their products come with a 100 day trial.

⏹️ ▶️ Marco So you actually are expected to take it out traveling like take take your new away

⏹️ ▶️ Marco suitcase out on the road, live with it travel with it get lost with it for 100 days. And if you

⏹️ ▶️ Marco decide it’s not for you after that you can return any non personalized item for a full refund.

⏹️ ▶️ Marco No ifs, ands or asterisks. And they have free shipping and free returns on all orders within the contiguous

⏹️ ▶️ Marco US, UK, Europe and Canada. So start your 100 day trial and shop the entire

⏹️ ▶️ Marco Away lineup of travel essentials, including their best-selling suitcases, at awaytravel.com

⏹️ ▶️ Marco slash accidentaltech. That’s awaytravel.com slash accidentaltech. Thank Thank

⏹️ ▶️ Marco you to Away for sponsoring our show.

John “tried” Twitter Spaces

⏹️ ▶️ Casey So John, you also defected away from Clubhouse and you’ve tried Twitter spaces.

⏹️ ▶️ John Notice that tried is in scare quotes in this item. I tried Trudas Clubhouse.

⏹️ ▶️ John This is like this is like right after we finished recording the episode where Marco was saying like

⏹️ ▶️ John we’re debating whether it was going to be a feature or be purchased. And Marco said it’s going to be both. They’ll be copied by everybody else, but

⏹️ ▶️ John also maybe they’ll get purchased. Twitter very quickly announced

⏹️ ▶️ John a bunch of stuff that they’re doing, one of which is, hey, it’s like Clubhouse, but on Twitter.

⏹️ ▶️ John And basically the way I found out about this, so I don’t use the official Twitter client, but

⏹️ ▶️ John occasionally in my third party client, I come on a tweet that I can’t see the features of because Twitter is evil and doesn’t allow

⏹️ ▶️ John third party clients to have access to all the features. So for example, polls, if you see a poll, I can’t

⏹️ ▶️ John see polls in my third party Twitter client. So if I see a tweet that is a poll and I want to see it, I have to open it

⏹️ ▶️ John in the official client, right? And so occasionally I do that. And so I had done that. Like there was some tweet, I don’t remember

⏹️ ▶️ John if it was a poll or not, but something like that that I couldn’t see in my third party Twitter client. So I hopped over to the real client,

⏹️ ▶️ John which is just a matter of saying, you know, open in Twitter, open in browser, even with the link redirect thing.

⏹️ ▶️ John And I ended up in the official Twitter client. I’m so sorry. Yeah, it was tough. I saw a thing. I

⏹️ ▶️ John want to get out of there as fast as possible because I can’t make heads or tails of that mess. And I think I wanted to either reply

⏹️ ▶️ John or compose a tweet or something. Like I wanted to do something quickly and I was already in the Twitter app. So I pressed the little like compose

⏹️ ▶️ John button or something like that. And it popped up like a constellation of three little circles.

⏹️ ▶️ John I don’t know. I don’t know if I was paying attention or what, but I hit one of the circles or hit hit something. And rather than a

⏹️ ▶️ John tweet compose screen, what happened was I was suddenly in a Twitter

⏹️ ▶️ John space and I was the host of the Twitter space. And then

⏹️ ▶️ John apparently Twitter notified everyone who follows me, hey, John has created

⏹️ ▶️ John a Twitter space.

⏹️ ▶️ Casey delightful.

⏹️ ▶️ John Do you want to come into john’s twitter space in space with him and then so my icon

⏹️ ▶️ John is in a little my icons in the little twitter space and then another icon appears and then another

⏹️ ▶️ John icon and then another icon and another icon and another icon. I’m pretty sure at this point my mic is live

⏹️ ▶️ John as well like

⏹️ ▶️ John, Casey because I pre

⏹️ ▶️ John because I pressed it. So I’m in. I’m in a thing and like my mic. I think I found like the mute thing or whatever

⏹️ ▶️ John and turn my mic off and then I was like because look I didn’t know what twitter

⏹️ ▶️ John spaces was at this point. And I’m like, what just it looks so much like clubhouse. I’m like, did I accidentally

⏹️ ▶️ John swipe over to the clubhouse? No, I’m still in the Twitter app. Like what even is going on here? And so

⏹️ ▶️ John the room filled up and I looked around for any other controls. What I would have done speaking of chat room

⏹️ ▶️ John is typed into the chat room and said, sorry, everybody. I have no idea what the heck I just pressed

⏹️ ▶️ John to make this thing happen, but I’m not, I didn’t do this on purpose and now I have to

⏹️ ▶️ John go. So that’s what I did. Like the room had filled with like a dozen people in like the short period of time

⏹️ ▶️ John very short like seconds people had come in because I guess they got like push notifications and then

⏹️ ▶️ John I just bailed. So if you’re one of those people who came into my to my Twitter space because I’m

⏹️ ▶️ John somehow in the beta or I don’t know this is this a publicly rollout feature I had no freaking idea. I’m

⏹️ ▶️ John sorry I apologize for making a space and I apologize for not saying anything and just immediately leaving

⏹️ ▶️ John this gets to what Marco was saying before was it was it Marco saying like you have no urge to speak. Yeah any

⏹️ ▶️ John of these things I also this this is going to sound weird for somebody who literally speaks into a microphone

⏹️ ▶️ John for hours every single week and then distributes it to the world. I also have no urge

⏹️ ▶️ John to speak in almost every clubhouse thing that I’m in and including the the Twitter space

⏹️ ▶️ John that I accidentally created. I haven’t I don’t have any urge to speak in that scenario now

⏹️ ▶️ John and I don’t know why that is like I obviously I wanted to do podcast thing I got into it you know like

⏹️ ▶️ John it was a thing that I thought about doing and was excited to have the opportunity to do but just I

⏹️ ▶️ John don’t I don’t know if it’s a different skill set or I just got to get in the right vibe or I just have to try it a few times to get used to it. But so

⏹️ ▶️ John far I’m not enthusiastic about hosting a room and not particularly

⏹️ ▶️ John enthusiastic about participating in a room. I think when it comes to Clubhouse, I’m just a lurker. And when it comes to Twitter spaces,

⏹️ ▶️ John apparently I’m an accidental activator.

⏹️ ▶️ Casey Cue the theme song.

⏹️ ▶️ John Yeah, and so Twitter is rolling out some more things that are just tangentially related. We’re not gonna have time to go into now, but I

⏹️ ▶️ John figured they’re worth mentioning. Super follows, which I think is actually a clever name because it makes no sense,

⏹️ ▶️ John but sounds neat. Super follows is where you can charge people to get access to

⏹️ ▶️ John exclusive content on Twitter, which is interesting because that means Twitter is gonna have to get people’s

⏹️ ▶️ John payment methods and just the whole deal. Right now, no one pays to use Twitter as far

⏹️ ▶️ John as I know, right?

⏹️ ▶️ Casey I think that’s right, unless you’re advertising with them.

⏹️ ▶️ John Yeah, I suppose. Anyway, and then you can offer them bonus content,

⏹️ ▶️ John tweets that only they can see, a group, a newsletter, Who knows? This

⏹️ ▶️ John is not a release feature, at least not released to me. But it’s Twitter. This was at their

⏹️ ▶️ John investor meetings. They say, we’re going to do a thing where you can charge people to get exclusive content. So let’s see

⏹️ ▶️ John how that turns out. But hey, at least Twitter is trying something. And then the final thing is communities,

⏹️ ▶️ John which is like they show in the screenshot here, one group called Crazy for Cats,

⏹️ ▶️ John one group called Surf Girls, G-U-R-L-Z, and Plant Parents. And

⏹️ ▶️ John I don’t know what they’re trying to go for here. It’s like every time you look at what they think you have to squint and say, who are they trying to copy? So it’s like, okay,

⏹️ ▶️ John spaces is is a clubhouse. Super follows is Patreon.

⏹️ ▶️ John Twitter communities is what like

⏹️ ▶️ John, Marco Facebook groups.

⏹️ ▶️ John, Casey Yeah,

⏹️ ▶️ John no. Anyway, I’m coming soon to a Twitter client that you should never

⏹️ ▶️ John use near you. Yeah,

⏹️ ▶️ Casey yeah. Yeah, I try periodically to go to the official Twitter client just to see, you know, what’s

⏹️ ▶️ Casey going on there. And there are a couple of things I like about it, but overwhelmingly

⏹️ ▶️ Casey so much about it I really dislike. And one of the best examples

⏹️ ▶️ Casey is there is no sort or I haven’t found any sort of

⏹️ ▶️ Casey idea of state. So I do try to be a Twitter completionist for

⏹️ ▶️ Casey a list, a private list that I have and certainly for my mentions. And it seems like every time

⏹️ ▶️ Casey I arrive at the official Twitter client, it’s just like, hmm, going to put you right here.

⏹️ ▶️ Casey I have no idea why. You don’t have any idea why. I don’t have any idea why, but that’s where you’re going to start because that

⏹️ ▶️ Casey sounds fun. And if they just got that right, I think it would actually be semi-tolerable.

⏹️ ▶️ Casey I wouldn’t say it would be great, but it’d be semi-tolerable. But golly, every time I go

⏹️ ▶️ Casey and land there, even if I’ve like, even if that was the last Twitter client I used, it’s

⏹️ ▶️ Casey still like, oh, yeah, we’ll just put you in the middle of nowhere. Why not? And it’s very, very frustrating.

⏹️ ▶️ John Yeah, I want to make that pitch like I continue to be shocked every time I Realize

⏹️ ▶️ John that some person I am acquainted with in my tech nerd circles uses the official

⏹️ ▶️ John Twitter client because they’ll complain about something like seeing ads or some other thing and their official Twitter client

⏹️ ▶️ John if You’re listening to this extremely tech nerdy podcast and you are used Twitter at all and you are using the

⏹️ ▶️ John official Twitter client And you’ve never tried a third-party client. I know it’s a lot of qualifiers. Please

⏹️ ▶️ John check

⏹️ ▶️ John, Marco out a third-party

⏹️ ▶️ John Twitter client for iOS There are lots of good ones to choose from. I use Twitterific and Lovewik. Tweetbot is also very

⏹️ ▶️ John good. There are others to choose from. It’s so much better if you just want a sane reverse chronological

⏹️ ▶️ John timeline of tweets in order from the people you follow, which sounds like what Twitter

⏹️ ▶️ John should always be, but hasn’t been for many, many years. The official client is janky in many ways.

⏹️ ▶️ John I know you can turn off the algorithmic timeline if you are persistent, but in a third-party client

⏹️ ▶️ John you don’t get ads, unless they’re ads from the third-party client itself, which you can usually pay to get rid of, even if you can’t use

⏹️ ▶️ John a different third party client where you can, it’s just so much nicer experience. Like I don’t,

⏹️ ▶️ John I think very often that if I couldn’t use a third party client, would I still use Twitter? I would use it a lot

⏹️ ▶️ John less or I would like it a lot less. So if you’ve never tried it, give a third party client a try.

⏹️ ▶️ Marco That actually is, I think, the best reason to use the main client is if you want to use Twitter

⏹️ ▶️ Marco less.

⏹️ ▶️ John It encourages you to use it less because it stinks.

⏹️ ▶️ Marco It does because it is, yeah, it’s so like weird to use the main

⏹️ ▶️ Marco client, you might end up in a space. It’s really,

⏹️ ▶️ Marco it’s quote good. It’s good if what you wanna do is be a very

⏹️ ▶️ Marco light Twitter user, a very casual Twitter user where you just like dip in occasionally, look at

⏹️ ▶️ Marco some random crap, and then dip out. It’s good for that. That’s pretty much all it’s good for.

⏹️ ▶️ Marco And so if that’s what you’re going for, if you’re like currently like super addicted to Twitter and

⏹️ ▶️ Marco you’re trying to reduce maybe being a completionist or something else, then by

⏹️ ▶️ Marco all means, delete every other Twitter app on your phone and just use the main app because it will force you into the habit

⏹️ ▶️ Marco of using Twitter less because it is so bad at being a power user app.

⏹️ ▶️ John Can you try, speaking of that, can you both launch the official Twitter app right now and long press on the

⏹️ ▶️ John compose tweet button?

⏹️ ▶️ John, Casey I

⏹️ ▶️ Casey did that earlier. Yeah, so I get three options. I get what appear, there are three icons. And this is very reminiscent

⏹️ ▶️ Casey of, what was it, path that did this like radial thing way back in the day, which is really beautiful social

⏹️ ▶️ Casey network, even though it was otherwise useless. There’s a three lines with a quill, which I believe

⏹️ ▶️ Casey means make a new text tweet. There’s a box with GIF in the center that

⏹️ ▶️ Casey presumably means, you know, make a tweet with an animated GIF. And then there’s like a box with a

⏹️ ▶️ Casey landscape in it. And I presume that means, you know, open your photos and tweet a photo. And that’s all I have.

⏹️ ▶️ Marco I don’t have it installed.

⏹️ ▶️ Marco, John I’m not going to install for this. All

⏹️ ▶️ John right. Anyway, I’ve got the same first two buttons as Casey, but my third button is a diamond made

⏹️ ▶️ John out of dots and that’s the spaces thing. So I just wanted to see if it was rolled out for everybody or if I’m just a lucky person. But

⏹️ ▶️ Casey so instead of the upload a photo, you have the diamond

⏹️ ▶️ John diamond made out of dots, which honestly, even if I had looked at, I would have had no

⏹️ ▶️ John, Casey idea what

⏹️ ▶️ John that was going to

⏹️ ▶️ Casey do. I, I, I, there’s a part of me that wants to just use the official Twitter client

⏹️ ▶️ Casey and live the way that regular people do. And then I use it for 10 minutes and I’m just like, Oh God, it’s,

⏹️ ▶️ Casey it’s

⏹️ ▶️ John entirely. Regular people shouldn’t live the way that’s what I’m

⏹️ ▶️ John, Marco saying. Like, I don’t think people, that’s why I

⏹️ ▶️ John said, I made the point to say it on the podcast because like for regular people, maybe they don’t care, but like

⏹️ ▶️ John it’s so much better than, than the other, uh, than the official client. If you

⏹️ ▶️ John just want, like, like imagine if when you looked in your email inbox, it to just give you like a random selection

⏹️ ▶️ John of your emails that were randomly chosen. You’d be like, but I just, just show me all the emails I got in chronological order. I’ll go

⏹️ ▶️ John through them, right? Don’t just try to guess at what I want to see. Like if that’s how you, if that is how

⏹️ ▶️ John you want to interact with Twitter, to Marco’s point, maybe you don’t, maybe you just want it to be like, I’ll show me some popular stuff and then I’ll bail.

⏹️ ▶️ John But if you want to interact with it, like you interact with RSS or email, third-party Twitter

⏹️ ▶️ John client. And even if you don’t, even if you like the algorithmic timeline, just to get rid of ads. Like, and yeah, I know, he’s like, oh, you didn’t

⏹️ ▶️ John just say you can’t use polls and stuff. Trust me, you’re not missing much. Most Twitter polls stink. And

⏹️ ▶️ John you can always go over to the, it’s the worst. You can’t even see the results unless you vote. That’s why everyone has to put the,

⏹️ ▶️ John just show me the results thing. And they limit the number of choices. I tried to do a Twitter poll like sometime this past

⏹️ ▶️ John year, and I was so angry that I couldn’t put all my options in because there was a limit. It’s like five options or something. And I had six

⏹️ ▶️ John for my joke poll. And I’m like, oh, well you just ruined my joke. Nice thing. Five

⏹️ ▶️ John options, whatever the hell it is. I’m not saying there should be a thousand, but it should be more than like a handful.

⏹️ ▶️ Marco We are sponsored this week by Linode, my favorite place to run servers.

⏹️ ▶️ Marco Whether you are working on a personal project or managing your enterprise’s infrastructure, you deserve simple, affordable

⏹️ ▶️ Marco and accessible cloud computing solutions that allow you to take your project to the next level.

⏹️ ▶️ Marco Simplify your cloud infrastructure with Linode’s Linux virtual machines. You can develop, deploy

⏹️ ▶️ Marco and scale your modern applications faster and easier. I started today with $100 in free credit at linode.com

⏹️ ▶️ Marco slash ATP, or text ATP to 474747

⏹️ ▶️ Marco for that instant access to $100 in free credit. Linode is a great web

⏹️ ▶️ Marco host. I’ve hosted, I think I currently host something like 28 servers there. I’ve

⏹️ ▶️ Marco been with them for a long time, long, long, long before they were a sponsor. And they’re just, they’re a great

⏹️ ▶️ Marco host. They have amazing value. You know, if you compare the resource levels and stuff that you get from them

⏹️ ▶️ Marco compared to anybody else in the business, and I don’t think I’ve ever seen anybody who can consistently beat them.

⏹️ ▶️ Marco It’s just really, it’s a great value for what you pay for what you get. And it’s just really great even at any

⏹️ ▶️ Marco price. Like I love their control panel, I love their capabilities. They have 11 data

⏹️ ▶️ Marco centers you can stick your servers in. They have all different kinds of server capabilities and optimizations for different tasks if

⏹️ ▶️ Marco you need. They have all sorts of managed additional services like their new S3 compatible object

⏹️ ▶️ Marco storage. They have managed Kubernetes support and there’s so much more at Linode. Great support

⏹️ ▶️ Marco if you ever need it. I needed it recently and they’re just wonderful. Super easy to deal with and

⏹️ ▶️ Marco the people that you talk to are like the right people. There’s never any kind of tiers or handoffs to

⏹️ ▶️ Marco like higher level service. It’s just like you’re always talking to the right people. It’s great. Visit linode.com

⏹️ ▶️ Marco slash ATP and click that create free account button to get started or text

⏹️ ▶️ Marco ATP to 474747. Get started on Linode today. Thank you to Linode

⏹️ ▶️ Marco for hosting all my servers sponsoring our show.

Overcast 2021.1

⏹️ ▶️ Casey So speaking of official clients that are meh and third party apps that are way better, Overcast 2021.1 is out.

⏹️ ▶️ Casey That doesn’t

⏹️ ▶️ John just roll off the tongue, does it? Nope. You

⏹️ ▶️ John, Casey got to give my cool, you

⏹️ ▶️ John got to give cool code names for your releases. This is the watch me now release.

⏹️ ▶️ Casey I don’t know. Well done. Well done. I actually, I really like, I think I first saw

⏹️ ▶️ Casey this from Curtis Herbert and slopes and and then Marco adopted it shortly thereafter.

⏹️ ▶️ Casey But I do like this kind of year and then increment version scheme, which is

⏹️ ▶️ Casey what I’ve used for my apps. But no, it does not roll off the tongue at all. No.

⏹️ ▶️ Marco Yeah, and I think I might kind of regret this versioning scheme just because it’s so

⏹️ ▶️ Marco clumsy.

⏹️ ▶️ John You got version inflation, you can’t go back now.

⏹️ ▶️ Marco You literally can’t, like Apple does not allow you to ship a version to the app store that is like numerically

⏹️ ▶️ Marco less than the one you shipped

⏹️ ▶️ Marco, John last. Can

⏹️ ▶️ John you use scientific notation? 95. Yeah,

⏹️ ▶️ Marco I feel like I should just do you know, version like all right 5000 dot one

⏹️ ▶️ Marco, John 5000 dot

⏹️ ▶️ John two, you can put an exclamation point and then it’ll treat this factorial. Yeah, maybe that’s

⏹️ ▶️ John like all the fields in Photoshop, or you can put in math expressions and it will just expand them for you. I don’t think Photoshop

⏹️ ▶️ John understands factorial. Now I just want to go test that.

⏹️ ▶️ Casey Tell us about this Marco. The

⏹️ ▶️ Marco main changes in this version of overcast are under the hood stuff that nobody even

⏹️ ▶️ Marco sees. And then secondly, the entire watch app. The main goal of this

⏹️ ▶️ Marco was, number one, modernize a lot of the guts of the app, a lot of the

⏹️ ▶️ Marco like data layer, the network layer, all that stuff, because it was all, you know, seven-year-old

⏹️ ▶️ Marco code, most of which is still there. But you know, modernize it to the point where

⏹️ ▶️ Marco both it could be, you know, optimized to whatever it needs to be for modern day. But

⏹️ ▶️ Marco also the driving factor behind it was I wanted to rewrite the watch app

⏹️ ▶️ Marco to have the same sync engine and all the model and data

⏹️ ▶️ Marco layers and stuff as the main app because the watch app was

⏹️ ▶️ Marco miserably bad at being reliable and at sync and everything else.

⏹️ ▶️ Marco It was to the point where I knew like phone to watch communication is so unreliable

⏹️ ▶️ Marco with the watch connectivity framework and everything. It’s so unreliable. I knew like the key to happiness

⏹️ ▶️ Marco here is to have the watch be a first class sync client that syncs

⏹️ ▶️ Marco directly to the Overcast web service and runs all the sync stuff itself and

⏹️ ▶️ Marco only communicates to the phone when it comes time to like use the watch

⏹️ ▶️ Marco as a remote for the phone app, which is a common use, granted, probably even the most

⏹️ ▶️ Marco common use. But that That should be the only communication it does. The phone telling it what’s playing on the phone,

⏹️ ▶️ Marco the watch telling the phone, like, hey, the user just hit pause, pause the audio, whatever, that kind of thing. But not

⏹️ ▶️ Marco using the phone app and that communication channel as this, like, way to sync

⏹️ ▶️ Marco all the data to the watch and all the podcast files for people who are wanting to listen to stuff

⏹️ ▶️ Marco directly on the watch without their phone present, like if they’re going on a run or whatever. I knew I had to bring the sync engine

⏹️ ▶️ Marco over to the watch. In order to do this, there were two

⏹️ ▶️ Marco major undertakings. Number one, the watch does not

⏹️ ▶️ Marco run UIKit. And for the time being at least, the watch does

⏹️ ▶️ Marco not run my audio processing engine. And so all the places

⏹️ ▶️ Marco in the sync engine and the model layers, all the places where that

⏹️ ▶️ Marco code was intertwined with UIKit or with the audio

⏹️ ▶️ Marco engine had to be broken up and made more orthogonal. So

⏹️ ▶️ Marco I couldn’t have a little clause in the sync engine that says, oh, well, if this

⏹️ ▶️ Marco is synced this way, or if this condition happens in the model layer, go tell the audio engine

⏹️ ▶️ Marco to do this. Or fire this UI notification directly to the UI of the

⏹️ ▶️ Marco app. I had to break those bonds, make the code more isolated,

⏹️ ▶️ Marco more orthogonal, more independent from the other components of the app app so that like the sync and model layer

⏹️ ▶️ Marco could sync itself without any UI kit code, without any you know tying

⏹️ ▶️ Marco in with the with the phone app in ways that I couldn’t bring over the watch app. Part two

⏹️ ▶️ Marco was simply making it more efficient because to run the sync engine and everything to

⏹️ ▶️ Marco run that whole thing the whole data engine on the watch, well the watch has a way slower

⏹️ ▶️ Marco processor, way less RAM, way less storage space, and

⏹️ ▶️ Marco you are allowed to use way less of those resources before your app gets killed. Background

⏹️ ▶️ Marco operation on the watch is very limited. If you use, I think, two seconds of CPU time,

⏹️ ▶️ Marco your app gets killed. And, you know, again, memory is constrained. So it’s a

⏹️ ▶️ Marco much more constrained environment for resources and for what apps are allowed to do and when. So I had

⏹️ ▶️ Marco to make everything, you know, efficient. And it was already pretty close but it was it took some work.

⏹️ ▶️ Marco And then finally I wanted to rewrite the watch app in SwiftUI

⏹️ ▶️ Marco for lots of reasons. I mean WatchKit is the worst and SwiftUI

⏹️ ▶️ Marco while it has many challenges to it is a hell of a lot better than

⏹️ ▶️ Marco WatchKit in so many ways. It’s not even close so you know

⏹️ ▶️ Marco I was willing to tolerate the pain of learning SwiftUI and all the weird walls you hit when using SwiftUI

⏹️ ▶️ Marco compared to the immense pain I knew from WatchKit. That last challenge

⏹️ ▶️ Marco was to adapt or rewrite parts of my

⏹️ ▶️ Marco almost entirely Objective-C data layer to be

⏹️ ▶️ Marco easily integrated into SwiftUI, which involves in many cases just rewriting

⏹️ ▶️ Marco certain classes in Swift. Things like the download manager, the the sync queue for sync operations,

⏹️ ▶️ Marco like for how those are scheduled, stuff like that, so that they could then tell the UI things

⏹️ ▶️ Marco like whether sync is in progress, what the download state is of an episode. It’s, you know, things like

⏹️ ▶️ Marco that. It’s much, much, much easier and better to

⏹️ ▶️ Marco have a lot of that stuff be in Swift classes. And so making the data layer

⏹️ ▶️ Marco integrate better, or at all, with Swift UI required a lot of rewriting stuff in Swift, or writing

⏹️ ▶️ Marco shims on top of things in Swift. So, that was the main challenge of

⏹️ ▶️ Marco this version, is over the last few, I think about three or four months or so, rewriting

⏹️ ▶️ Marco core components in Swift when necessary, bridging things to Swift and making things more Swift-friendly

⏹️ ▶️ Marco when I wasn’t rewriting them, and then making all the code

⏹️ ▶️ Marco for sync and everything standalone from the rest of the iOS app so that it could be built and run

⏹️ ▶️ Marco on the watch, and making that efficient enough I didn’t get killed constantly. That’s what this update

⏹️ ▶️ Marco was. And what users saw was basically like bug fixes and new

⏹️ ▶️ Marco watch. That’s like, you know, this massive amount of work, you

⏹️ ▶️ Marco know, massive amounts of change, all of that, uh, to basically say like

⏹️ ▶️ Marco bug fixes and the watch app is all new, but those, you know, that’s all, that’s the kind of thing that I really needed.

⏹️ ▶️ Marco And, and the watch app was in a really bad state before this. It really didn’t work well for a lot of

⏹️ ▶️ Marco people. And so I had to really tackle that. And this allowed me to do a bunch of other stuff like

⏹️ ▶️ Marco there was a whole thing about I did rewrite all the intent handling, adopting

⏹️ ▶️ Marco the new intent handling required me to switch my

⏹️ ▶️ Marco old UI app delegate thing to UI scene delegate that the scene delegate API that

⏹️ ▶️ Marco was launched a few years ago. And I did I decided, well, I might as well do that in Swift as well. And

⏹️ ▶️ Marco then I might as well rewrite my app delegate, since I have to rewrite it anyway, I might as well rewrite the app delegate in Swift.

⏹️ ▶️ Marco And as any iOS developer can tell you, rewriting your app delegate after a seven year code base can be

⏹️ ▶️ Marco terrifying and quite an ordeal. So it’s just like, there was tons of stuff like that,

⏹️ ▶️ Marco where in order to do some modern thing, I had to

⏹️ ▶️ Marco either rewrite something from scratch, or at least significantly change it to use a new API.

⏹️ ▶️ Marco And so it just took a lot of time. there was a lot of code modernization to do, a lot of

⏹️ ▶️ Marco rewriting or refactoring or shimming to do. I still haven’t even gotten to all of it. Like

⏹️ ▶️ Marco part of the reason I was doing all this was to prepare myself to do iOS 14 widgets,

⏹️ ▶️ Marco which I still frankly don’t really want as a user, like

⏹️ ▶️ Marco for a podcast app, I don’t really think it’s going to work the way people think it will. But my customers

⏹️ ▶️ Marco are demanding that in moderate numbers and so I figured I should probably do it. But even

⏹️ ▶️ Marco to do that, I had to lay all this groundwork. There was a bunch of changes to CarPlay’s abilities

⏹️ ▶️ Marco in iOS 14 that this version does not tackle yet, but because I used it in

⏹️ ▶️ Marco a time, but that’s gonna be something I tackle next. And I think a lot of this groundwork

⏹️ ▶️ Marco is going to help that become easier or possible.

⏹️ ▶️ Casey Wait, so slow down. What is it that CarPlay can do now that it couldn’t before, for your perspective?

⏹️ ▶️ Marco Again, I haven’t looked too far into this yet. Again, I just haven’t had time, But I think you’re able to

⏹️ ▶️ Marco have a lot more control over the types of UI that you can display than previously.

⏹️ ▶️ Marco Before, the CarPlay interface I have now is built on this older API

⏹️ ▶️ Marco where you basically responded to Apple asking for a tree structure.

⏹️ ▶️ Marco So it would say, all right, we’re on the root screen. What are the list elements of the root screen? Give me the list

⏹️ ▶️ Marco items. And then it would say, all right, person tapped in this item, give me the list elements in the next level of the tree

⏹️ ▶️ Marco or whatever. It was a very, very simple list-based thing. And then the Now Playing screen,

⏹️ ▶️ Marco I had almost no control over. The new CarPlay API

⏹️ ▶️ Marco adds some ways. And again, I don’t know to the extent yet how much, but it adds more

⏹️ ▶️ Marco places where you can customize what the UI actually is, including the Now Playing screen, which is

⏹️ ▶️ Marco very important to me, because I really want to be able to tackle that in a good way. And so

⏹️ ▶️ Marco my next major update I intend have you know, widgets and CarPlay redo

⏹️ ▶️ Marco basically, but that’s probably a few months out still.

⏹️ ▶️ John It’s a feature request from the chat room for chapter skip and chapter control and display on the now playing screen.

⏹️ ▶️ Marco Yeah, and CarPlay. Yeah, that’s that’s certainly on my list. I don’t know to what degree that’s possible yet like there. It’s

⏹️ ▶️ Marco it’s always been frustrating with CarPlay because like in the previous one, the one that my current app

⏹️ ▶️ Marco is based on, you could offer speed control. But if you did,

⏹️ ▶️ Marco like you, you would have to say, here’s the list of speeds I support. And then the only way the user

⏹️ ▶️ Marco could go through them would be like, tap the speed icon on the screen and it would then for

⏹️ ▶️ Marco every tap it would go to the next speed. And so you’d have to like, if you wanted to slow it down by one, you

⏹️ ▶️ Marco have to tap through every single go through chipmunk. Yeah, I’ll get you to go through every single other speed first. It was,

⏹️ ▶️ Marco it was just a terrible experience. Like I tried, I did it in beta once, I tried to actually use it that

⏹️ ▶️ Marco way. And it was miserable. And so I didn’t even I didn’t even ship the speed feature even though I could have easily

⏹️ ▶️ Marco I just but I disabled it because the the experience was so bad so with this new CarPlay API

⏹️ ▶️ Marco I believe we’re able to do better things like that so things like having a better speed

⏹️ ▶️ Marco picker or having a chapter list and chapter picker I think will become possible

⏹️ ▶️ Marco with this new API but until I actually try it I won’t know what a whether I can do it and then be

⏹️ ▶️ Marco whether it’s shippable or not

⏹️ ▶️ John so Casey and I have quotas based on our union membership and we have to point out that if you did have any kind of automated

⏹️ ▶️ John testing, that work you did to divorce your sync engine from your UI, probably wouldn’t have happened because

⏹️ ▶️ John you would have already had them separated just so you could easily test the sync engine before you wrote the UI, just saying.

⏹️ ▶️ Casey Not only that, not only that, but since we’re beating on Marco now, one of the advantages of having any

⏹️ ▶️ Casey sort of automated testing is that when you do utterly destructive things like destroy your app delegate and

⏹️ ▶️ Casey move to a scene delegate, not all of that, and maybe even not a ton of it could have been covered

⏹️ ▶️ Casey by automated tests, but presumably more than zero could have been. And one of the things

⏹️ ▶️ Casey that I love most about when I do have good test coverage, and do as I say, not as I do, I paint this

⏹️ ▶️ Casey picture like I unit test everything, and I don’t, very far from it. But when you do have good unit test

⏹️ ▶️ Casey coverage, what’s nice is you can break something in terms of the quote unquote real part of your

⏹️ ▶️ Casey code, and then just run your unit test to make sure they still pass. And if they do, you have some amount of confidence,

⏹️ ▶️ Casey certainly more than zero, that everything should still work the way it’s supposed to. and that doesn’t replace

⏹️ ▶️ Casey all the human testing that I’m quite confident Marco did, because I didn’t have any particularly major

⏹️ ▶️ Casey issues with this update, but nevertheless, it does give you some amount of confidence and

⏹️ ▶️ Casey some amount of flexibility, and I guess a parachute, you know, over you, behind you, whatever, when

⏹️ ▶️ Casey you’re making these sweeping changes like you did.

⏹️ ▶️ Marco I wanted to also address one more thing quickly. Underscore my name is T in the chat,

⏹️ ▶️ Marco is talking about how I didn’t mention the audio engine for the watch app. So when I was writing Voice

⏹️ ▶️ Marco Boost 2 last year, I specifically wrote it to be

⏹️ ▶️ Marco like ruthlessly, incredibly efficient with the idea that I

⏹️ ▶️ Marco want to bring it to the watch. And I rewrote not only the Voice Boost 2

⏹️ ▶️ Marco component and therefore the smart speed implementation within it, but also

⏹️ ▶️ Marco the surrounding audio API. At that time, I also switched from the old deprecated

⏹️ ▶️ Marco AU graph API to the new currently supported

⏹️ ▶️ Marco AV audio engine, which has actually lots of problems, but I figured

⏹️ ▶️ Marco ways around them. And part of the, when I did that, I intentionally

⏹️ ▶️ Marco stuck with APIs that were available on the watch as well. So I have

⏹️ ▶️ Marco laid almost all of the groundwork to port my audio engine to the watch as

⏹️ ▶️ Marco well. The only thing I couldn’t get to be available on the watch in a way I could

⏹️ ▶️ Marco use on the phone or at all is to have speed control.

⏹️ ▶️ Marco Not smart speed, but just like plain old, like play this at 1x or 1.5x or whatever, that

⏹️ ▶️ Marco is not a public API on the watch in a way that you can use in AV audio

⏹️ ▶️ Marco engine. The only way that’s exposed on the watch in public usable APIs

⏹️ ▶️ Marco is if you make like an AV player or something, but those APIs don’t give you the flexibility

⏹️ ▶️ Marco process the audio the way my audio engine does. So if I want to run

⏹️ ▶️ Marco an audio engine with processing on the watch I have to either

⏹️ ▶️ Marco not offer speed up, which no, or I have to write my own speed up,

⏹️ ▶️ Marco which I’ve never… all the audio processing I’ve done before I’ve never written a speed up algorithm.

⏹️ ▶️ Marco I intend to tackle that at some point just to try to see if I can do it to an acceptable level of quality.

⏹️ ▶️ Marco I assume that what the Apple version of it is doing

⏹️ ▶️ Marco is like a PSOLA kind of algorithm or TSOLA. I’ve

⏹️ ▶️ Marco looked at what these algorithms are and I think I could do it slightly reasonably in a way that would

⏹️ ▶️ Marco be good enough quality for speech on the watch. But that’s what’s holding me back there

⏹️ ▶️ Marco is that I can’t yet find a way to offer speed speed ups on the watch in

⏹️ ▶️ Marco an API where I can process the audio in other ways as well without writing my own speed up algorithm, which

⏹️ ▶️ Marco is just a job I haven’t tackled yet.

⏹️ ▶️ John Maybe you should just change the icon or finally get rid of the custom font just so people could be in an uproar about your new version.

⏹️ ▶️ Marco Honestly, I am very, very close to dropping the custom font

⏹️ ▶️ Marco for whatever I do for the UI redesign that I’ve been thinking

⏹️ ▶️ Marco and brainstorming about for five years.

⏹️ ▶️ John I haven’t done it yet. And it would be a big change. I remember being indignant that everyone complained that the iPhone

⏹️ ▶️ John 4S wasn’t a big upgrade because it looked the same on the outside and that is the eternal curse of people with GUI apps that

⏹️ ▶️ John don’t change the GUI, people think nothing changed.

⏹️ ▶️ Marco That’s life. No, and the reality is my customers are really good. I

⏹️ ▶️ Marco haven’t gotten a lot of crap from anybody about this. There was actually,

⏹️ ▶️ Marco there was one, I think, or two negative reviews somewhere. I forget

⏹️ ▶️ Marco whether it was App Store or what, but a few people complaining before I released this

⏹️ ▶️ Marco that I hadn’t updated the app in like seven months.

⏹️ ▶️ Marco And that’s not actually true. It had been about three months, but the last version number

⏹️ ▶️ Marco was 2020.8, which somebody might interpret

⏹️ ▶️ Marco as August, even though it was actually in like November. And so that is actually a problem

⏹️ ▶️ Marco with this version number scheme, that it kind of looks like year dot month.

⏹️ ▶️ Marco I thought it was year dot month. And it just so happened that during most of 2020,

⏹️ ▶️ Marco like during the first half of 2020, I released about one version a month. And so for the

⏹️ ▶️ Marco first half of the year, it matched up pretty well to the month. But no, it’s

⏹️ ▶️ Marco not. It’s just sequential numbering. It’s just whenever it’s ready, I ship

⏹️ ▶️ Marco that version. What if I wanted to ship two versions in a month?

⏹️ ▶️ John I think I was on a version, a patch version a day with Front and Center for the first few weeks that

⏹️ ▶️ John it was out. So I wonder if people thought the last number was the day I released it. Right.

⏹️ ▶️ Marco So yeah, so that is definitely one problem with date based versioning is that it sure looks like it’s date

⏹️ ▶️ Marco month instead of just, you know, or year month instead of just year. But anyway, at some point

⏹️ ▶️ Marco I do intend to do like a larger UI redesign and I’ve decided throughout all of this

⏹️ ▶️ Marco I’m going to start tackling that when I can require iOS 14 and that way I can

⏹️ ▶️ Marco use a lot more Swift UI stuff and and a few other niceties and

⏹️ ▶️ Marco I’m I could probably I mean realistically I could require iOS 14 now

⏹️ ▶️ Marco but it’s not a super great idea if you don’t have to yet and so

⏹️ ▶️ Marco again a UI redesign is definitely on my list of things to do but because it’s not like super pressing

⏹️ ▶️ Marco and there’s lots of other stuff that is more pressing it just keeps not getting done

⏹️ ▶️ Marco and it might be another year or two before I before I even tackle it because now that

⏹️ ▶️ Marco I’ve spent four months whatever it’s been on like under

⏹️ ▶️ Marco the hood stuff and a very small number of new features but mostly just under the hood stuff

⏹️ ▶️ Marco what I want to do next is features like people have been asking for certain features for a long time so I want to

⏹️ ▶️ Marco tackle that next as opposed to a massive UI redesign, which, I mean, it’s a

⏹️ ▶️ Marco podcast app, the UI doesn’t matter that much, and the reality is features matter more to my customers

⏹️ ▶️ Marco at this point, and so a UI redesign is more like self-serving, I wanna do it because I wanna do it,

⏹️ ▶️ Marco but what my customers want is features, and so I wanna work on that for a little while first.

⏹️ ▶️ John So you’ve opened the floodgates for feature requests, time for my semi-annual overcast feature requests.

⏹️ ▶️ John I have two of them, one easy, one hard. Catch-up mode? No, I’m not gonna go into all that stuff.

⏹️ ▶️ Marco I do want to do that by the way. I actually wrote server-side support for catch-up mode, but it’s kind of buggy.

⏹️ ▶️ Marco The function on the server that handles what episodes in a podcast

⏹️ ▶️ Marco should be shown to you as new is incredibly

⏹️ ▶️ Marco finicky and incredibly high stakes. If I screw that up, the servers explode, basically,

⏹️ ▶️ Marco because it’s just massive amounts of volume going through through that function and massive

⏹️ ▶️ Marco and it’s dealing with the biggest database table in the app by a long shot, which is the table

⏹️ ▶️ Marco of like, it’s the progress of a user within a certain

⏹️ ▶️ Marco episode. That table is massive and it’s highly optimized.

⏹️ ▶️ Marco And if anything goes wrong with that table or with, with the function that, that determines

⏹️ ▶️ Marco what to write to that table. And more importantly, when not to write to that table, things go very

⏹️ ▶️ Marco badly. And so I haven’t wanted to tackle that yet because last time

⏹️ ▶️ Marco I tried tackling it, I blew up the servers, it sucked for a few days. I eventually was able to roll

⏹️ ▶️ Marco it back and I don’t want to touch it. I’d rather not touch

⏹️ ▶️ Marco that area of the app because to touch it for this relatively low needs feature

⏹️ ▶️ Marco is a very, very high risk. And so I’d rather not do it, but someday I’ll get there.

⏹️ ▶️ John Well, since you brought up that feature, my suggestion for how to deal with that is not to screw up the table you were just describing,

⏹️ ▶️ John but to essentially be able to mark a podcast as participating in this special

⏹️ ▶️ John mode and then have your own separate table that is only for podcasts marked in this mode. I know it’s annoying

⏹️ ▶️ John to fork the code and say, okay, well, if it’s one of these podcasts, do this, but if one of these podcasts do this, and now I gotta do everything

⏹️ ▶️ John twice, but it will totally save you from hosing your very precious table, because like you said, this is a small feature. They

⏹️ ▶️ John can have their own set of tables with their own purpose for tracking their own metadata just for these kind of podcasts in this weird

⏹️ ▶️ John ass mode that you can call time shifting mode and generalize and try to make it so they can support

⏹️ ▶️ John other features. But I agree that it’s probably not a good idea to take a feature that almost no one will use and compromise

⏹️ ▶️ John the entire design of your app and your biggest, scariest table for

⏹️ ▶️ John, Marco it. But that’s not what I was gonna ask about. I asked

⏹️ ▶️ John about easy features because I have a chance to be input. Number one, when sending a clip from Overcast, very

⏹️ ▶️ John often I wanna send a clip that is below the minimum size the UI will let me squish those

⏹️ ▶️ John two little end points together.

⏹️ ▶️ John, Casey And there’s

⏹️ ▶️ John, Marco plenty more

⏹️ ▶️ John room to squish them when I’m crushing their head. I wanna get that thing back together. So

⏹️ ▶️ John whatever the limit is now, it’s like what? 10 seconds, five seconds? I don’t

⏹️ ▶️ Marco even know. I’ve never thought of sending a five second clip.

⏹️ ▶️ John It’s like a centimeter. It’s always when I wanna clip out someone pronouncing a word weird, right? And I just wanna get

⏹️ ▶️ John the word and not the thing surrounding it. Whatever the limit now is, it’s like a centimeter between those two end points and you could definitely

⏹️ ▶️ John squish them farther than that. So that seems like an easy one to do. Throw that one in there. The harder one to do is,

⏹️ ▶️ John when I’m making my beautiful hand-tailored overcast clips, I often want to zoom in for more

⏹️ ▶️ John accurate scrubbing with placing the end points instead of rolling my fat meat finger and sort of like

⏹️ ▶️ John twisting it a little bit and then trying to release it from the screen. Oh, but no, it moved after I picked it up and then trying again, oh, no, it moved. Well, because you’re

⏹️ ▶️ John trying to make a one second clip. I know, just say it’s a minute long clip. I’m just trying

⏹️ ▶️ John to get the end point exactly where I want it. And sometimes whatever your default zoom, the granularity

⏹️ ▶️ John doesn’t let me get like, this one people have words that are strung together very quickly, I just want to slice right in between

⏹️ ▶️ John the words and I can’t get the thing on the right pixel. I know what I’m asking you is just,

⏹️ ▶️ John this is the hard one, is to slowly make a tiny audio editor inside Overcast, but you wanna make an audio editor anyway, so

⏹️ ▶️ John might as well work on this now. Some kind of pinch to zoom feature for the timeline so I can get more accurate. So the

⏹️ ▶️ John easy one, smaller minimum size. The hard one, zoom, maybe just two step zoom.

⏹️ ▶️ John Zoom in, zoom out, two levels, like start with that.

⏹️ ▶️ Marco Yeah, the whole feature of clip sharing I would like to give some attention to. Here’s the challenge

⏹️ ▶️ Marco there. So the automatic kicking machine is still necessary and the need for it seems

⏹️ ▶️ Marco to slowly be getting higher. I hate this. I noticed that.

⏹️ ▶️ John Yes.

⏹️ ▶️ John, Marco I notice

⏹️ ▶️ John it every, I watch it every time. It’s like, it’s actually a form of entertainment. Like, is it going to do it the first time this time? No, it’s

⏹️ ▶️ Marco not. And so, and part of the reason it’s, it would be hard for me to increase

⏹️ ▶️ Marco the granularity of the, of the scrummers in part, because what the automatic kicking machine

⏹️ ▶️ Marco does. So for listeners, in case you have forgotten, This is the thing in the

⏹️ ▶️ Marco Overcast Clip Exporter where the API that generates the

⏹️ ▶️ Marco AV rendering of like, I feed it an animation basically, and then it generates a video

⏹️ ▶️ Marco file from that, like an M4V file from that. That API just occasionally hangs, I think it’s AV

⏹️ ▶️ Marco Asset Exporter or something like that. It just occasionally hangs for no visible reason

⏹️ ▶️ Marco and it just will hang forever. And the solution, well, a way to get around it,

⏹️ ▶️ Marco is to just detect when it’s just not progressing anymore and just

⏹️ ▶️ Marco cancel that job and start a new one with very slightly different input and see if that works.

⏹️ ▶️ Marco And so what I do, I called that a while back, the automatic kicking machine,

⏹️ ▶️ Marco and what I do is every time that it stalls and

⏹️ ▶️ Marco it restarts the job, it subtly tweaks the starting and ending time stamp by

⏹️ ▶️ Marco some tiny random amounts. So it’s not enough that you would really notice it, but

⏹️ ▶️ Marco if I start letting you do very granular starting an endpoint, or start point and endpoint

⏹️ ▶️ Marco editing, you might actually start to notice that. So I don’t love that.

⏹️ ▶️ John If it’s small enough that we won’t notice it, we won’t notice it no matter what. Like I know what you’re saying, that it would be a

⏹️ ▶️ John larger, like if you so carefully placed it now, I’m perturbing it, but you’re perturbing my placement now anyway, right? Sure.

⏹️ ▶️ John All I want to do is get closer to it. Presumably your random thing is sort of oscillating around the point

⏹️ ▶️ John that was selected, and I’m fine with that. If that’s what you gotta do with the stupid kicking machine, I’m fine. I just want a little bit more granularity

⏹️ ▶️ John on that.

⏹️ ▶️ Marco Right, and so part number two of this comment is, ultimately, I want

⏹️ ▶️ Marco to rewrite the clip sharing implementation to use a whole different method

⏹️ ▶️ Marco of generating the video, to avoid the need for this at all. That whole AV asset exporter thing, where like, so right now,

⏹️ ▶️ Marco I’m basically generating a core animation set of layers, And I say, all right, go between

⏹️ ▶️ Marco points 0 and 1 in the animation, make the progress bar go from here to here. At

⏹️ ▶️ Marco points 1, 2, 3, 4, and 5, make the timestamps this, this, this, this, and this. And then overlay this

⏹️ ▶️ Marco audio in the background under it. I’m able to then pass that to the AV Asset Exporter, and it generates the video for me.

⏹️ ▶️ Marco What I want to switch to is a much more complicated way of doing it, where I have to generate every frame as

⏹️ ▶️ Marco an image and pass it to some other API using all these different low level APIs.

⏹️ ▶️ Marco But the reason I want to do that is, first of all, I want to get rid of the automatic kicking machine.

⏹️ ▶️ Marco Second of all, I want to redo the visual layout of what’s being

⏹️ ▶️ Marco generated to include some kind of more dynamic animations, like a waveform animation,

⏹️ ▶️ Marco and I want to try putting in editable transcriptions from the iOS transcription

⏹️ ▶️ Marco API. When I wrote the feature, I don’t think there was an offline running

⏹️ ▶️ Marco version of the transcription engine, But now there is, like in iOS 14 at least, there

⏹️ ▶️ Marco is. And so I would like to rewrite that feature to have

⏹️ ▶️ Marco it be more visually interesting when people see a clip without their sound on, which

⏹️ ▶️ Marco is becoming more and more of a thing on social networks. So I want to have some kind of text to be able to

⏹️ ▶️ Marco roll by, possibly even use the text in the editing view, depending on how that API

⏹️ ▶️ Marco works, how well it

⏹️ ▶️ Marco, John works.

⏹️ ▶️ John You’ve got to let people fix mistranslations now. That’s the key part of that.

⏹️ ▶️ Marco Sure, yeah. And that’s why it might not end up being very worth it

⏹️ ▶️ Marco in the output video, but it could definitely be worth it in the editor. So anyway, I wanna play with

⏹️ ▶️ Marco that. But so the point is, I wanna do these things that are basically rewriting massive parts

⏹️ ▶️ Marco of what clip sharing is. However, here’s the problem. Almost

⏹️ ▶️ Marco nobody uses it.

⏹️ ▶️ John Oh, really? But the people who do use it are both promoting your app and also promoting podcasts.

⏹️ ▶️ John So I think it punches above its weight in terms of a feature. Like you don’t necessarily need everyone to use it, but every person who

⏹️ ▶️ John does use it is sending out into the world a thing they enjoyed from a podcast and an Overcast logo.

⏹️ ▶️ John And what I was thinking of is the main feature that I would love to see on Clips, which I know you probably can’t add, but it’s always

⏹️ ▶️ John worth just looking into it again. It’s I always just wanna tap on them and get taken to an Overcast link to the rest

⏹️ ▶️ John of the episode, like basically URLs. Like if you share them on Twitter, there may be some way to hack that in.

⏹️ ▶️ John I know when I do something in Overcast, don’t you have that feature for like chapter art and you can tap on it and it takes

⏹️ ▶️ John you somewhere? or am I misremembering?

⏹️ ▶️ Marco The art? Well, I mean, Chapters can have links, but no, I mean, the problem that you’re

⏹️ ▶️ Marco talking about now, though, is a problem, like, just in the sharing context.

⏹️ ▶️ Marco I’m already putting two items on the pasteboard. Like, I’m putting the video

⏹️ ▶️ Marco and the link, but most apps don’t do anything with that. Most apps just take the video.

⏹️ ▶️ Marco And so, like, I’m already supplying the data in the only way that I know how to, or the only way I’m able to in

⏹️ ▶️ Marco this context, but most apps don’t make it clickable. I was

⏹️ ▶️ John thinking like in a QuickTime world where you’d have multiple tracks and one of the tracks would be like a URL track

⏹️ ▶️ John that a savvy client would understand that is a link. You’re right, it’s just like,

⏹️ ▶️ John I’m thinking of it from sharing purposes and you’re right, that most things that you share on, no matter what you did, they would just say, just give

⏹️ ▶️ John me the video and I’m gonna show it. But that’s what I really want out of sharing. Like when you share a blog post, people tap

⏹️ ▶️ John on the link and get the full blog post. When I share a podcast, I always want to be able to,

⏹️ ▶️ John I love the fact that it’s a clip and they don’t have to do anything. Here it is, here’s the clip and you’re listening. And I love the fact that it’s a movie. See that

⏹️ ▶️ John past episode where we discussed this. Just the one missing piece is sometimes people ask me,

⏹️ ▶️ John hey, what podcast is that from? Despite the fact that the name of the podcast and the logo of the podcast is in the video, they don’t have

⏹️ ▶️ John any way to find it except for going to Google and typing in like accidental tech podcast. And hopefully then what episode was it?

⏹️ ▶️ John Oh, I see the episode number and then they have to go through the site, right? You have all that info right there. You have overcast timestamp

⏹️ ▶️ John URLs all ready to go. It’s just a question of how to get them out of your app and into

⏹️ ▶️ John the wider world. Cause the reason I use the clips feature as much as I do, which is not that much, but still some, is

⏹️ ▶️ John I love to be able to share fun parts of podcasts. Half, granted half of my clips that I send are,

⏹️ ▶️ John you know, to just friends through messages when someone we know said something funny on a podcast. But I do send them on Twitter

⏹️ ▶️ John as well. Here’s this clip from this thing, or check out this part of this episode or whatever. Or I use

⏹️ ▶️ John them as snarky comebacks when people complain about something on a podcast that I was on, and then I send them a clip

⏹️ ▶️ John addressing whatever their point was. and then I don’t have to reply to them on Twitter. It’s

⏹️ ▶️ John, Marco like audio

⏹️ ▶️ John replies, but canned. I like the feature, I think it is super

⏹️ ▶️ John useful for our cast to have. And not only that, but I see tons of similar features from people who

⏹️ ▶️ John use other podcast clients, including ones with transcription on them. So maybe they have the same problem that you do,

⏹️ ▶️ John that most people don’t use them, but there’s enough that I see them, and there’s enough that I know other people who have transcription, so I feel like

⏹️ ▶️ John it’s kind of table stakes at this point.

⏹️ ▶️ Marco So to give you some idea of how many people use this feature, so.

⏹️ ▶️ Casey Now don’t tell me, because I agree with John. I love this, even though I don’t use it that often. I

⏹️ ▶️ John love it. I mean, I think Overcast’s problem is that it’s not particularly discoverable. And I think we talked about that when the feature first rolled

⏹️ ▶️ John out. But yeah,

⏹️ ▶️ Marco that’s something I said. Yeah, I mean, that’s not really helping. But it’s in the Share menu. But

⏹️ ▶️ John no one knows what the Share menu is, and it’s so small.

⏹️ ▶️ Marco Well, but the Share menu is used by a decent amount of people. And the

⏹️ ▶️ Marco shares of just links that aren’t clips are about

⏹️ ▶️ Marco five times higher than clip shares. Clip sharing is used by

⏹️ ▶️ Marco about a third as many people as the screen reader voiceover, about a tenth

⏹️ ▶️ Marco the people as people who use the website player while logged in, and it is used

⏹️ ▶️ Marco by about a quarter of as many people as who are using the Mac app on an M1 Mac.

⏹️ ▶️ Casey My

⏹️ ▶️ Marco goodness. It’s not a large portion of the user

⏹️ ▶️ Marco base. And so, if it’s something like supporting voiceover is almost no work at all,

⏹️ ▶️ Marco which is why I’m embarrassed whenever I mess it up. But clip sharing is a ton of work to

⏹️ ▶️ Marco do that feature justice. And I already have a version of it now that works

⏹️ ▶️ Marco okay. And to make it better, I have to rewrite it, basically. And

⏹️ ▶️ Marco so it would be a large amount of work to make this feature

⏹️ ▶️ Marco better that almost no one uses and I think it would be

⏹️ ▶️ Marco probably not time well spent. That doesn’t mean I won’t do it. I do things all the time that are time

⏹️ ▶️ Marco poorly spent just because I want them to be done. And so I will probably do this at some point, but it’s not

⏹️ ▶️ Marco gonna be a high priority.

⏹️ ▶️ John I would give it more visibility because I feel like it’s, maybe it’s just me and the circle of traveling,

⏹️ ▶️ John but I see a lot of clips shared, not just from Overcast, like I said, from other podcast apps. So someone’s sharing

⏹️ ▶️ John clips from somewhere. And if people aren’t doing it from Overcast that much, maybe it’s because it doesn’t occur to people

⏹️ ▶️ John to do it or whatever. And granted, the editing interface is weird. And I understand all the reasons

⏹️ ▶️ John why it would be a narrow thing. But I think it’s free advertising for your app, and it is advertising

⏹️ ▶️ John for podcasts in general. But anyway, if you bail on all that, just make the minimum size smaller.

⏹️ ▶️ John It’s really easy. Just change the number.

⏹️ ▶️ Casey Well, I’m excited this shipped. And I think

⏹️ ▶️ Casey it certainly seems to be well received. I’ve enjoyed it. I haven’t yet gone on a run with just my watch,

⏹️ ▶️ Casey but the watch app certainly visually seems to be way, way, way better. So

⏹️ ▶️ Casey all good things. I have one final question for you though.

How’s Swift going?

⏹️ ▶️ Casey If you were stranded on a desert island and could only bring Swift or Objective-C, what do you bring

⏹️ ▶️ Casey in these days? And I say that, obviously, to be funny, but you talked a lot about having

⏹️ ▶️ Casey been porting a lot to Swift, and you’ve kind of made references to that in the past couple of months.

⏹️ ▶️ Casey Do you feel like your default state is now Swift, or do you still think that you’re reaching

⏹️ ▶️ Casey for Objective-C first and Swift only in certain circumstances?

⏹️ ▶️ Marco During this version is when I crossed over. Like, I don’t know exactly when, but it was during this version

⏹️ ▶️ Marco that I have now crossed over to the point where not only do I

⏹️ ▶️ Marco write more Swift than not, and not only has it become my default, but I’ve actually

⏹️ ▶️ Marco started to prefer it.

⏹️ ▶️ Casey What do you either like about Swift that’s making you prefer it, or perhaps

⏹️ ▶️ Casey now you dislike it about Objective-C? Like, can you build on that anymore? To quote

⏹️ ▶️ Casey Underscore, you know, let’s pull on that thread a little bit.

⏹️ ▶️ Marco Yeah, unpack that a little

⏹️ ▶️ Casey bit. Yeah, unpack that. There you

⏹️ ▶️ Casey, Marco go. Sorry, I got

⏹️ ▶️ Casey it wrong. You’re right. You’re right. We’ll fix it in post.

⏹️ ▶️ Casey, Marco That’s what we’ll do.

⏹️ ▶️ Marco It’s hard to pin it down. I mean, some of it is just syntactic and API differences. Just

⏹️ ▶️ Marco small stuff where, like, I could save a bunch of keystrokes doing this. That’s a lot of it, if I’m honest.

⏹️ ▶️ Marco Some of it is some of the niceties that are afforded by the type system,

⏹️ ▶️ Marco things like dealing with enums and stuff like that.

⏹️ ▶️ John Enums, please. everyone let’s agree.

⏹️ ▶️ Marco But you enumerate things.

⏹️ ▶️ John I know, but it’s, we’re gonna have to go through a car and char again, it’s not, oh.

⏹️ ▶️ John, Casey Well, which one do you

⏹️ ▶️ Casey prefer? Is it car or char? I say char.

⏹️ ▶️ John Yeah. Yeah, then you don’t say characters.

⏹️ ▶️ Marco, John Yeah.

⏹️ ▶️ Marco All right, I’ll enumerate my characters.

⏹️ ▶️ John, Marco Anyway,

⏹️ ▶️ John, Casey Swift

⏹️ ▶️ John Enums are great. Oh, I agree there.

⏹️ ▶️ Casey Swift Enums are fricking amazing. Still to this day, might be one of my favorite features of the language.

⏹️ ▶️ John That’s just to bring destiny into this because I always must do. This is what they call in Destiny and in

⏹️ ▶️ John the gaming world in general. Like when they do releases for games that you know, things like there are bug fixes

⏹️ ▶️ John and there are new features and there’s new content. And the things Marco is talking about so far are what they

⏹️ ▶️ John call in the gaming world quality of life improvements. Like, oh, it’s easier to get to your inventory screen and you

⏹️ ▶️ John can delete these items in sets of five instead of individually. And you know, like things that don’t really affect

⏹️ ▶️ John gameplay but affect things that you do every day. you know, sort of the drudgery, the chores

⏹️ ▶️ John of whatever task you’re trying to accomplish and just making them easier. Even just something as simple as,

⏹️ ▶️ John how do I define a class and a bunch of attributes? Doing that in Swift involves so

⏹️ ▶️ John much less typing and so much less navigating in your UI and so much less thinking than in Objective-C.

⏹️ ▶️ John Even if you know how to do the Objective-C version like the back of your hand, like it’s totally instinctive, there’s just

⏹️ ▶️ John mechanically more to do than to do the same job in Swift. I feel like enums in Swift are the same deal.

⏹️ ▶️ John you know, you don’t need that feature. You can do the same thing with a bunch of pound defines or constants or static variables

⏹️ ▶️ John or all the other tools that are available to you in Objective-C, but Swift has this one tool to

⏹️ ▶️ John do it and it’s incredibly powerful and doesn’t involve a lot of typing. It’s a quality of life improvement. And that’s setting

⏹️ ▶️ John aside the safety stuff of like all the different safety things, just setting all that aside, forgetting about like, oh,

⏹️ ▶️ John reducing bugs or whatever, just the process of typing the code.

⏹️ ▶️ Marco Yeah, like that to me is, where I’m seeing much of the benefit is things,

⏹️ ▶️ Marco not only like little time savers from just shorter names and everything and stuff like that, but like things, like what you

⏹️ ▶️ Marco said about making classes or making types or making protocols, where

⏹️ ▶️ Marco not only is it less typing in Swift, but because it is just so much

⏹️ ▶️ Marco simpler and faster to do, I do it more. And that, you know, it

⏹️ ▶️ Marco changes the way I code, it changes the way I structure things in certain ways, and it makes certain things a lot easier or better, or it

⏹️ ▶️ Marco enables change to happen faster, or it enables me to know that

⏹️ ▶️ Marco something is correct faster. One thing I don’t do much

⏹️ ▶️ Marco is the kind of like prefixless lifestyle. I still name my stuff beginning with

⏹️ ▶️ Marco, John OC, and I’ll tell you

⏹️ ▶️ Marco, Casey why.

⏹️ ▶️ Marco It’s not because I’m like, you know, being stubborn and bucking the trend or whatever. It’s because

⏹️ ▶️ Marco I search my code. I do Command Shift F to find global

⏹️ ▶️ Marco all the time. And if a class has a generic name without a prefix,

⏹️ ▶️ Marco without my little OC prefix in the front of it, it’s harder for me to find references to it.

⏹️ ▶️ John But the other classes won’t be in your code when you do command shift F. They’re in frameworks and you’re not searching

⏹️ ▶️ John them when you do command shift F.

⏹️ ▶️ Marco No, I know, but like, it’s kind of like the common, or I guess I think the preferred style

⏹️ ▶️ Marco right now for like writing new Swift code and Swift UI code is to not prefix stuff with

⏹️ ▶️ Marco your own prefix. It’s to make everything just generic name, like

⏹️ ▶️ Marco, John yeah

⏹️ ▶️ Marco play playlist whatever like if I if my object was called playlist

⏹️ ▶️ Marco instead of OC playlist and I had and I did a string search for playlist in my entire app I’m

⏹️ ▶️ Marco gonna get so many things that aren’t OC playlist commands and objects and there’s

⏹️ ▶️ Marco a certain times when like I use it all the time and so I I find it very very nice to search for that

⏹️ ▶️ Marco and frankly I think dropping all all the prefixes from

⏹️ ▶️ Marco all the APIs might be a mistake for lots of other reasons, like even the framework APIs, because

⏹️ ▶️ Marco it makes it harder to like search Google and Stack Overflow for things like that too. It makes it so much harder to

⏹️ ▶️ Marco disambiguate, like, am I talking about like a list or am I talking

⏹️ ▶️ Marco about like, you know, an NS list or whatever? I know that’s not really a thing, but like, I

⏹️ ▶️ Marco miss having those like two-letter prefixes on things because

⏹️ ▶️ Marco it makes it easier for me to find in my code base. And I know you can do more structured

⏹️ ▶️ Marco searches for, you know, things like find call hierarchy and stuff like that. But doing just a basic

⏹️ ▶️ Marco text search is so much faster and easier. And I do it all the time. And to not have named prefix or to

⏹️ ▶️ Marco not have prefix names makes that harder and makes it less effective.

⏹️ ▶️ John So there’s two aspects that one is just the cultural one, which you said is like the culture now in Swift

⏹️ ▶️ John is not to do that, whereas in Objective-C it was to do that. When I wrote my first

⏹️ ▶️ John Swift app for the Mac, I put, well first I wasn’t even thinking about

⏹️ ▶️ John it and just typing, but then eventually I realized, oh I should probably prefix all of these, because I was in the Objective-C mindset, so I did FNC

⏹️ ▶️ John for front and center, right? FNC whatever, the class names. Because I am a

⏹️ ▶️ John strong proponent, let’s say, of namespaces in other languages. My first problem was I had no

⏹️ ▶️ John idea how namespaces worked in Swift. So I was like, do I need to do this? Is

⏹️ ▶️ John something not going to work? Ah, better safe than sorry. FNC in front of all my classes. But eventually I learned

⏹️ ▶️ John that that is not in the culture and not strictly necessary according to what everyone else was doing. So in my second

⏹️ ▶️ John app, Switch Class, I didn’t do that, the prefixes. And I have to say, I aesthetically prefer

⏹️ ▶️ John not having the prefixes. I understand what you’re saying about the search stuff. And I think I’m probably benefiting

⏹️ ▶️ John in my searching when I search for things like the NS prefix, sort of getting me

⏹️ ▶️ John out of, I’m sure that I’m gonna get a result that has to do with programming if I type NS string, whereas if I

⏹️ ▶️ John type just string by itself, it’s harder. But I have found that adding the word Swift or the

⏹️ ▶️ John framework name like SwiftUI as a search term in Google, and then type it, if you type Swift

⏹️ ▶️ John string, Google kind of figures it out. Within the project, I haven’t found it to be that much of a problem.

⏹️ ▶️ John That said, I still don’t know how Swift namespacing works, by the way. I would like to know,

⏹️ ▶️ John but apparently not enough for me to look it up, right? But I have to say that when I wrote

⏹️ ▶️ John Switch Class, totally unprefixed, I ran into a namespacing issue for exactly

⏹️ ▶️ John the reason that Marco said, if you name things in a generic way, I think I made a tweet about this, like the incredible

⏹️ ▶️ John guts that it took for SwiftUI to call one of its classes view. It’s just called

⏹️ ▶️ John view. Like, oh, really, view? You’re just gonna take that name? But of course, it’s not like they’re taking it forever.

⏹️ ▶️ John It is my vague understanding that it is namespaced underneath SwiftUI, blah, blah, blah. But in Switchglass,

⏹️ ▶️ John as you can imagine, I have things in the code that represent the apps that appear in the palette,

⏹️ ▶️ John and I called them app. And that seems fine until I ran into some

⏹️ ▶️ John weird thing with the SwiftUI previewer in Xcode where they used the same symbol app and it

⏹️ ▶️ John was conflicting with mine, and I had to qualify mine. I had to, I had a place in my code that

⏹️ ▶️ John just said app that runs perfectly fine in the running app, but in the preview it was flipping out and I could not figure

⏹️ ▶️ John out what it was, And then I change it to switchglass.app, and suddenly my thing worked in the preview. And I’m like, all

⏹️ ▶️ John right, well, someone needs to have a sit down and talk about what are

⏹️ ▶️ John we doing with namespaces here in Swift? Because I thought it was perfectly safe for me to call my stuff app, but apparently that is not true.

⏹️ ▶️ John And now I’m a little bit angry and I don’t know what to do. Anyway, someday I’ll learn how namespacing works in Swift.

⏹️ ▶️ Casey So this is just, this is one of those moments where I know I’m just inviting a bunch of followup, but my

⏹️ ▶️ Casey limited understanding of namespacing in Swift is that basically each module is its own namespace.

⏹️ ▶️ Casey But outside of that, there’s really no concept of namespacing. The closest

⏹️ ▶️ Casey you can do is have an enumeration that has no cases in it. So you have an enumeration that’s just

⏹️ ▶️ Casey like functions and properties and things of that nature. And that sort

⏹️ ▶️ Casey of kind of gets you there. But it’s not like, say, C Sharp or something

⏹️ ▶️ Casey like that, where you can explicitly define a namespace. And I miss that, and I wish it was there. And I think

⏹️ ▶️ Casey that that was an error in early Swift to not have more explicit

⏹️ ▶️ Casey namespacing. I’ve run into this from time to time because Combine

⏹️ ▶️ Casey has a print method that is designed to be used as a debugging tool

⏹️ ▶️ Casey within the context of a publisher chain.

⏹️ ▶️ Casey And sometimes I’ll try to do a generic Swift print and it’ll be like, no,

⏹️ ▶️ Casey You’re not giving it the right parameters and so on and so forth. And I’m like, wait, what? Why is print, oh, right.

⏹️ ▶️ Casey Swift.print is what I want in this particular context. And it is very frustrating. So I totally

⏹️ ▶️ Casey hear you.

⏹️ ▶️ John Yeah, I mean, coming from languages, I’ve spent most of my time in languages that have global namespaces. And I

⏹️ ▶️ John can tell you that’s terrible as well. Java tried to do the right thing to fix that

⏹️ ▶️ John by saying we’re gonna solve this problem and not have any of these ugly naming conflicts. but the price

⏹️ ▶️ John for doing that is Java class names, and I don’t think anyone wants that. You know,

⏹️ ▶️ John like piggybacking on another system to disambiguate com dot whatever dot, you know, it’s just, it’s gross, right?

⏹️ ▶️ John So, that’s why I was excited about Swift not having, like, oh, per module names, and it

⏹️ ▶️ John can all work it out or whatever, but the fact that this surfaced to me already, again, not in my running app, but

⏹️ ▶️ John only in the Swift preview, like, maybe it’s a bug with Xcode, but either way, like,

⏹️ ▶️ John I want to not, like, my whole point with naming is, I wanted to just do the right thing and then never have

⏹️ ▶️ John to worry about it. And that’s no longer the case. Now I have to be careful. Oh, you wanna name something in your app app?

⏹️ ▶️ John Be careful because there may be some other important part of the machinery of building your app that it gets angry

⏹️ ▶️ John about that and breaks in a weird way. And now I’m not so upset by it that

⏹️ ▶️ John I’m gonna go back to Marco’s thing and prefixing everything because I find that more offensive, but it does

⏹️ ▶️ John give me a little bit of pause when I name my classes. And yes, before you send feedback, I totally should learn how namespacing

⏹️ ▶️ John works in Swift, but I haven’t yet.

⏹️ ▶️ Casey Yeah, another great example of this is if you were to use

⏹️ ▶️ Casey or to create a widget for an app and use the default names, if I’m not mistaken, and Steve Trout and Smith

⏹️ ▶️ Casey tweeted about this a while ago and then just retweeted himself. So hi, Steve. If you name

⏹️ ▶️ Casey your widget, widget, then it yells at you because that’s not allowed because it conflicts with

⏹️ ▶️ Casey some of the Apple stuff. And the error message is completely inscrutable as to what’s going wrong.

⏹️ ▶️ Casey And so eventually when I was first messing around with widgets, I just renamed it to like

⏹️ ▶️ Casey Casey widget or something like that. And then suddenly everything started working and I was deeply frustrated.

⏹️ ▶️ John Yeah, there’s a bunch of pitfalls like that in Perl where like half the

⏹️ ▶️ John time I see someone really scratching their head, whether it’s at work or on the internet, of like, I cannot figure

⏹️ ▶️ John out why this code doesn’t work. And the answer is like, rename your class. And they’re like, what? I’m like,

⏹️ ▶️ John, Casey just go with it. Just

⏹️ ▶️ John go with it. You named it test. But let me just, you know, you need one class A, one class B, and let me tell you about

⏹️ ▶️ John the B namespace in Perl. I know this is going to sound weird, but like, that’s just, they’re

⏹️ ▶️ John excited to learn the solution but then they’re so angry. I write PHP, nothing

⏹️ ▶️ Marco sounds weird. Yeah.

⏹️ ▶️ Casey Oh my goodness. All right. So, so you do like some things, you don’t like some other things.

⏹️ ▶️ Casey What do you miss about Objective-C? I mean, obviously you were expert level at Objective-C and

⏹️ ▶️ Casey I would say, with respect, you’re probably not expert level at Swift at this point. But other than that, are there specific

⏹️ ▶️ Casey things that you feel like, oh man, I really miss Objective-C’s ridiculously awful block syntax?

⏹️ ▶️ John Objection leading the witness.

⏹️ ▶️ Marco I do miss a lot of the simplicity of the language. I miss how

⏹️ ▶️ Marco Objective-C did not make it easy to hide behavior from

⏹️ ▶️ Marco reading code. You could read the code and because it was a fairly small language

⏹️ ▶️ Marco in its syntax and things like that, it was hard to hide behavior in ways that

⏹️ ▶️ Marco couldn’t be easily looked into or noticed when reading it, whereas Swift does not have that.

⏹️ ▶️ Marco I also miss a lot of the style of

⏹️ ▶️ Marco the API naming and searchability and documentation

⏹️ ▶️ Marco and things like that. I definitely miss the reliability and speed of the tools

⏹️ ▶️ Marco and the builds. How many years are we into Swift?

⏹️ ▶️ Marco It still doesn’t build very quickly, and I still occasionally get really weird behaviors that are solved by restarting

⏹️ ▶️ Marco Xcode. And I think we’re a little late for that.

⏹️ ▶️ John Have you tried writing much, much smaller apps?

⏹️ ▶️ Marco Yeah. My favorite error is the one where it says, and this is more common in SwiftUI, which of

⏹️ ▶️ Marco course is much younger, and much more of a giant pile of hacks. But my

⏹️ ▶️ Marco favorite one is the one where it says, like, this can’t be evaluated in a reasonable time. You gotta break it up into sub chunks

⏹️ ▶️ Marco, John or whatever. Yeah, yeah,

⏹️ ▶️ John, Marco yeah,

⏹️ ▶️ John yeah,

⏹️ ▶️ John, Marco yeah.

⏹️ ▶️ John Type inference, it’s, yeah. Yeah. I’m not gonna say it’s non-deterministic, but

⏹️ ▶️ John sometimes it goes off the rails. At least it tells you and doesn’t try forever to figure out what

⏹️ ▶️ John the type’s supposed to be. I’m gonna object slightly to your hidden functionality. Objective-C supports

⏹️ ▶️ John pound define. Talk about hiding functionality.

⏹️ ▶️ John, Marco Again, referencing

⏹️ ▶️ John Perl, if you look at the Perl source code, you’re like, what languages is written in? The answer is macros.

⏹️ ▶️ John It’s written in pound-defined macros everywhere. And you could say, well, you shouldn’t use pound-defined that way,

⏹️ ▶️ John and blah, blah, blah. But that’s exactly the argument people make about, say, operator overloading. It’s like, yes, the feature can be abused

⏹️ ▶️ John to make your code terrible, but don’t do that. Pound-defined is the ultimate feature that can be abused to make your

⏹️ ▶️ John code completely incomprehensible and doing hidden things. You don’t do that because you’re a good Objective-C programmer.

⏹️ ▶️ John I think the same applies to Swift.

⏹️ ▶️ Marco while this is not unqualified, there are things about header

⏹️ ▶️ Marco files that I miss.

⏹️ ▶️ Casey Really?

⏹️ ▶️ Casey, Marco You’re a monster.

⏹️ ▶️ Casey You are a monster.

⏹️ ▶️ Marco I like the way that they very easily make like a public

⏹️ ▶️ Marco list of like, here’s how I expect this thing to be called publicly and here it is in 10 lines. I

⏹️ ▶️ John feel like it’s an IDE issue, don’t you?

⏹️ ▶️ John, Marco Well maybe, but

⏹️ ▶️ Marco yeah, I mean as opposed to, you know, in Swift it’s like you have this giant file that’s this entire class

⏹️ ▶️ Marco and four of the functions in it are public, but there’s no quick way to see what that is outside of like the

⏹️ ▶️ Marco drop-down in Xcode.

⏹️ ▶️ John Yeah, like it would be better if you could like collapse it all and like they could even give a header view. If you

⏹️ ▶️ John, Casey can annotate

⏹️ ▶️ John, Marco the code to say which one is the public API, then

⏹️ ▶️ John give a little view in the navigation that says, oh this is the equivalent of the header and it just has function

⏹️ ▶️ John signatures of the public ones. Like I think that is a surmountable thing because the information is all

⏹️ ▶️ John there and I like the fact that it’s all in a file and I like the fact that I don’t to make header files. And if you want that

⏹️ ▶️ John view of things, I feel like that’s something that code should offer. I find myself

⏹️ ▶️ John in the same situation. And what I don’t want to do is like, oh, well, I’ll just come up with a naming convention myself. And I’ll

⏹️ ▶️ John put leading underscores and all the internal ones or some crap like that, because that’s gross. But we, you know, we all

⏹️ ▶️ John have all the metadata in the language to provide you essentially a header view without you having to type one.

⏹️ ▶️ John And that’s something that would be a nice addition.

⏹️ ▶️ Casey There is something that’s similar to this in Xcode, and I’ve seen it like once. It’s buried

⏹️ ▶️ Casey so far down, it might as well be in China, and I cannot remember where it is. But there’s a way to

⏹️ ▶️ Casey do something like this. You can get Xcode to extract something that

⏹️ ▶️ Casey vaguely looks like a header file. I’m looking around right now trying to figure it out, and I can’t figure it out.

⏹️ ▶️ Casey, John Yeah,

⏹️ ▶️ John but you don’t want it to be extracted, though. You just want it to be like a view, you know what I mean? Like it could be in your sidebar, and you click

⏹️ ▶️ John, Casey on it,

⏹️ ▶️ John and it’s a non-editable thing, like in the same type of experience. Or like, what is it? Show counterpart?

⏹️ ▶️ John I don’t remember the names of these commands in the Objective C days. But you could switch back and forth

⏹️ ▶️ John from the dot m to the dot h, you know?

⏹️ ▶️ Casey Oh, yeah, yeah. And there’s the mini map that is in Xcode now, which I actually really like.

⏹️ ▶️ John Ugh, I always turn that off.

⏹️ ▶️ Casey Oh, I like it. But yeah, there’s a, shoot, I cannot remember how to do this. And it’s going to

⏹️ ▶️ Casey drive me nuts. Maybe we’ll have follow up next

⏹️ ▶️ Casey, John week.

⏹️ ▶️ John While you wait, I will try to fend off some feedback. And yes, I know it’s the C preprocessor that I was referencing

⏹️ ▶️ John and not pound to find, but I hope everyone is on the same page as me here.

⏹️ ▶️ John No one in the chat room have corrected me yet. I’m a little bit disappointed actually.

⏹️ ▶️ Marco We are sponsored this week by Flatfile. One of the worst

⏹️ ▶️ Marco ways to spend your time is manually formatting customer spreadsheets. Thankfully,

⏹️ ▶️ Marco our friends at Flatfile have created Portal, the elegant import button, so your users can confidently

⏹️ ▶️ Marco import their data without you ever having to format their messy Excel files again.

⏹️ ▶️ Marco Flatfile Portal is a turnkey data importer for your product that automatically formats,

⏹️ ▶️ Marco validates and transforms customer spreadsheets. So the data is ready to use in your back

⏹️ ▶️ Marco end that frees you and your customers from having to manually format spreadsheets for hours

⏹️ ▶️ Marco without needing to build a clunky in house CSV importer. Flat files portal

⏹️ ▶️ Marco integrates with virtually any application and minutes can upgrade your customer data onboarding

⏹️ ▶️ Marco from emailing Excel files back and forth to importing even the messiest data correctly and

⏹️ ▶️ Marco on the first try. With flat file portal, intuitive data imports will be the standard

⏹️ ▶️ Marco for your customers, your engineers and your product teams. If you’re interested in testing out flat

⏹️ ▶️ Marco file portal, visit flat file.io. That’s flat file.io.

⏹️ ▶️ Marco Thank you so much to flat file for sponsoring our show.

#askatp: Non-ISP DNS servers

⏹️ ▶️ Casey Alex Guthman writes, I know this has been slightly covered in previous Ask ATP’s in episode 268 and 381, but

⏹️ ▶️ Casey do you guys have a non-ISP provided DNS server? If so, which ones do

⏹️ ▶️ Casey you use and why? Google OpenDNS, CloudFlare, et cetera, for security or reliability or both? Will changing the DNS servers

⏹️ ▶️ Casey on my router improve network reliability or speed or privacy even though it’s not a VPN? So for me,

⏹️ ▶️ Casey I tried this like many years ago when this was very, very cool to use like

⏹️ ▶️ Casey Google or some other, I forget what else it was, but Google’s DNS, maybe it was open DNS and I tried

⏹️ ▶️ Casey it for a while. And the experience I had again, many years ago now was that

⏹️ ▶️ Casey anything that involves streaming like Netflix or YouTube or something like that was all slower than dirt because

⏹️ ▶️ Casey some way, somehow, and this is beyond my knowledge. Um, it was apparently through

⏹️ ▶️ Casey the magic of DNS that they would target me to a server physically near my house.

⏹️ ▶️ Casey And when I was using a DNS based out of like California, everything slowed down to a crawl. And so I stopped

⏹️ ▶️ Casey doing this within the span of like a couple of weeks. That very well may not be the case

⏹️ ▶️ Casey anymore. So I have no idea. And I’ll let the guys correct me here in a second. But what I will say is that

⏹️ ▶️ Casey for maybe a year now, I’ve been using a Pyhole on my local network, which is the most delightful

⏹️ ▶️ Casey and terrible name in the world. That’s P-I-H-O-L-E. And what this is, is a

⏹️ ▶️ Casey DNS server that you run on Raspberry Pi or in Docker. And it

⏹️ ▶️ Casey has a bunch of block lists that will block things like advertisements and some malware and things of that nature.

⏹️ ▶️ Casey And so I have my Raspberry Pi running Pihole and that is my local networks

⏹️ ▶️ Casey DNS server. But when it doesn’t know the answer to something, it will just go to my ISP to Fios’s

⏹️ ▶️ Casey DNS server. Marco, what do you do?

⏹️ ▶️ Marco I just run the Fios, I just run my ISP’s DNS server. I

⏹️ ▶️ Marco have very occasionally tried things like OpenDNS or like the

⏹️ ▶️ Marco Google ones or the CloudFlare ones. And I too have had occasional

⏹️ ▶️ Marco issues with them and it’s never been worth dealing with those issues for the benefit

⏹️ ▶️ Marco they provided. And so I would always switch back after a few weeks or a few days or whatever,

⏹️ ▶️ Marco just back to my ISPs. It’s just, this solves problems I don’t have

⏹️ ▶️ Marco or it introduces problems I’m not willing to tolerate.

⏹️ ▶️ Casey Yeah, John.

⏹️ ▶️ John So back in the, I guess it may be my cable days when I had cable internet

⏹️ ▶️ John access, the reason I became interested in alternate DNS providers is that

⏹️ ▶️ John my DNS provider through my ISP was garbage. And you know, it’s the old

⏹️ ▶️ John saying of people who have ever debugged weird problems on the server side, it’s always DNS.

⏹️ ▶️ John when you have a DNS problem, you’re like, what’s wrong with my computer? Nothing works,

⏹️ ▶️ John I can’t understand. If you don’t know enough network debugging to immediately check whether your thing is hanging trying to resolve

⏹️ ▶️ John a name, right? You’re like, I don’t, especially if you can’t see the internals of some system, like everything is not

⏹️ ▶️ John working and something is, in somewhere is like trying to look up a name and your stupid ISPs DNS

⏹️ ▶️ John server is not down, it’s up, but it’s giving the world’s slowest responses.

⏹️ ▶️ John It’s incredibly frustrating. So that’s why I started looking into them. It’s tricky for

⏹️ ▶️ John you to tell whether that’s happening to you because unless you’re literally debugging your own server-side

⏹️ ▶️ John code where you control where names are converted into IP addresses or whatever,

⏹️ ▶️ John you probably don’t know the internal guts of some set-top box or some app that you’re

⏹️ ▶️ John using is hanging on DNS and it’s difficult to figure that out. But it could be that in the

⏹️ ▶️ John wide world of crappy ISPs, especially in the US, you too also happen to have a crappy ISP

⏹️ ▶️ John DNS server that you’re using and it’s causing your browsing experience to be crap. So I think for the average person,

⏹️ ▶️ John if you’re nerdy and you wanna try this, it is worth looking into Cloudflare, Google, OpenDNS.

⏹️ ▶️ John In fact, I think there’s an app, at least for the Mac anywhere, that does DNS benchmarking. They will try

⏹️ ▶️ John a bunch of DNS servers and tell you which one is the fastest responding from your location. That doesn’t tell you anything

⏹️ ▶️ John about reliability, but at least it can tell you how fast you get the responses back. Honestly, speed isn’t an issue

⏹️ ▶️ John unless you have a garbage ISP that’s waiting seconds to give you

⏹️ ▶️ John your names back, which can really hurt things. But that’s why I started experimenting with it.

⏹️ ▶️ John And I benchmarked a bunch of them, and it turned out the one that was the fastest was one I hadn’t heard of, so instead I just tried using

⏹️ ▶️ John the Google one. And when I saw this question, I left it in here, and I intentionally

⏹️ ▶️ John didn’t look this up, because honestly, I don’t know which of my computers

⏹️ ▶️ John and devices are using which DNS server. I’m pretty sure some of them are still using Google DNS,

⏹️ ▶️ John but I’m also sure that some of them are just using my ISP one because I never configured them, right? I

⏹️ ▶️ John didn’t change my DNS at the router level or anything. A lot of times your router

⏹️ ▶️ John is your DNS server. You can just specify 10.0.1.1 or whatever. Like your main router will also do the DNS thing

⏹️ ▶️ John so they can just delegate to that. But I’m pretty sure some

⏹️ ▶️ John stuff in my house is using Google DNS. And the fact that I don’t know tells me that I don’t have any

⏹️ ▶️ John problem with it because I

⏹️ ▶️ John, Marco stream

⏹️ ▶️ John things from everywhere. Everything’s fine, I get fast internet speeds, I get fast uploads, fast downloads,

⏹️ ▶️ John and I honestly don’t know which one I’m using. So, and I think I have Fios as well,

⏹️ ▶️ John and I think the Fios DNS is fine. Like I didn’t, that’s not why I was exploring it. I started exploring

⏹️ ▶️ John it, I think back when I had like Media One, which turned into Comcast. Anyway,

⏹️ ▶️ John for listeners I’d say, it’s worth checking out, but what Casey said about potential

⏹️ ▶️ John GUIP stuff, I know Google does a bunch of stuff to counteract that where even though you’re doing 8.8.8.8, it’s

⏹️ ▶️ John not the same 4.8s that other people are using. Like it’s GUI balance from

⏹️ ▶️ John your lookups. It’s, you know, they try to be clever about that. And things like OpenDNS and CloudFlare for

⏹️ ▶️ John some of their systems to not have the CDN streaming problem that you have,

⏹️ ▶️ John but you know, there’s no guarantee that it’ll work for you. So I’d say check it out,

⏹️ ▶️ John but it’s, I think, I feel like it’s less important now than it used to be. And if your ISP DNS is working

⏹️ ▶️ John fine, just stick with that.

#askatp: Is Electron so bad?

⏹️ ▶️ Casey Nathan Roberts writes, there are people in the Mac community who dislike electron apps and modern web frameworks.

⏹️ ▶️ Casey I also dislike when resources are wasted for computing tasks that could be done in a more efficient way. But

⏹️ ▶️ Casey the history of computing is full of evolution. The difference between quote, unquote, native versus quote, unquote, web becomes

⏹️ ▶️ Casey intellectual when the software works well. See, for example, Visual Studio Code. Is there a problem with this tech

⏹️ ▶️ Casey that I don’t understand? Is this an old man yells at cloud situation? Or are we about to get rained on?

⏹️ ▶️ Casey You know, this was actually reasonably well put. I would also say the Visual Studio

⏹️ ▶️ Casey Code is an incredibly good example of something that is written in Electron that doesn’t seem

⏹️ ▶️ Casey to be. It’s very much visually, and in so many ways, actually cut

⏹️ ▶️ Casey from its own cloth, but it doesn’t feel like a slow piece of garbage. So to back up a half

⏹️ ▶️ Casey step, Electron is a way to build a native-ish app

⏹️ ▶️ Casey using web frameworks. So Slack, for example, is Electron. I believe Skype now

⏹️ ▶️ Casey is Electron. The guys will probably have more concrete complaints about

⏹️ ▶️ Casey it, but what I don’t like about Slack and about Skype is that so much of it feels so

⏹️ ▶️ Casey not native and so wrong and is missing affordances that I would expect.

⏹️ ▶️ Casey And I wish I could cite some more specific examples and I can’t off the top of my head, but there’s just a general

⏹️ ▶️ Casey wrongness to it that bothers me and frustrates me and at worst

⏹️ ▶️ Casey offends me. And I think Slack, for all my complaining

⏹️ ▶️ Casey about it, does mostly get the job done and mostly does a pretty decent job of it. But unlike

⏹️ ▶️ Casey Visual Studio Code, where I don’t really ever tell, I can’t even ever tell that I’m

⏹️ ▶️ Casey using a weird mechanism to run this app, it always just

⏹️ ▶️ Casey feels like something is not right in Slack. And that’s what’s so frustrating about it. I don’t know, John,

⏹️ ▶️ Casey can you be more explicit and concrete about this than I am?

⏹️ ▶️ John I think you hit on the two main complaints, and it’s not just one about like Electron. One is

⏹️ ▶️ John the speed thing. Like in general, web-based technologies have always lagged behind native in terms of speed and

⏹️ ▶️ John responsiveness. But you know, computers are getting faster and that is only going to fade with time, as Nathan

⏹️ ▶️ John points out, right? That, you know, technology marches on and what some people might say is incredibly inefficient

⏹️ ▶️ John or whatever eventually just becomes trivial and a non-issue. But the second thing is not gonna go away based on performance, and that is

⏹️ ▶️ John the nativeness feeling, not in terms of responsiveness, but just like what are the native

⏹️ ▶️ John widgets and how do they work? With an Electron app, you will always be at best trying

⏹️ ▶️ John to imitate the operating system’s incarnation of a button, a scroll bar, a text field,

⏹️ ▶️ John a rich text editing field, like even down to the window in some cases, right? Those things exist,

⏹️ ▶️ John right? As of today, except perhaps in something like Chrome OS or whatever, there

⏹️ ▶️ John are native UI toolkits and native UI controls for menu bars, buttons, checkboxes,

⏹️ ▶️ John scroll bars, scrolling view, text, everything, right? And you can,

⏹️ ▶️ John with an Electron app, you can either say we’re going to make our own interface elements

⏹️ ▶️ John out of web stuff, out of HTML and CSS and JavaScript, and you could try to make them

⏹️ ▶️ John look like the OS ones, which is a losing battle because the OS keeps moving, you’re constantly gonna be chasing it, and you’re never

⏹️ ▶️ John gonna be exactly like it, so that’s the uncanny valley thing. Or you can do what Visual Studio Code and other apps do,

⏹️ ▶️ John is say, well, I’m not gonna even bother trying to look like the native stuff, I’m gonna look like my own thing, and it’ll be good and you’ll like

⏹️ ▶️ John it, but no one will ever be fooled into thinking it is an OS native.

⏹️ ▶️ John And that can work except part of the promise of the GUI from the original Mac is

⏹️ ▶️ John if you learn one set of controls and behaviors, that knowledge transfers,

⏹️ ▶️ John right? So every time I’m in a text field, I can use these keyboard shortcuts and I can do these things and it behaves in this way with respect

⏹️ ▶️ John to selection. Every time I see a scrolling view, it respects my OS preferences for scrolling

⏹️ ▶️ John and clicking to jump the scroll wheel versus clicking to move it and all my, you know, swipe gestures

⏹️ ▶️ John and all that stuff. Like that expectation thwarted, if you, as you have more and more

⏹️ ▶️ John electron apps that don’t use native controls and each one of them has their own idea of what they wanna do.

⏹️ ▶️ John Oh, they’re gonna try to imitate the US thing, but they failed to implement this feature or they’re not gonna try it and you have to remember in this

⏹️ ▶️ John app, it works this way. So the complaint about electron, the performance complaints may fall by

⏹️ ▶️ John the wayside, but the non-native thing will only fall by the wayside if we ever get to

⏹️ ▶️ John a point where there are more, essentially more non-native apps than there are native apps, I don’t think

⏹️ ▶️ John that we’re there yet. And even if we were there, the non-native apps are not going to all get

⏹️ ▶️ John in a big conference call with each other and decide how they want their widgets to behave. Then you’re gonna be back to the bad old

⏹️ ▶️ John days of everyone deciding how they want their app to work and not having like your

⏹️ ▶️ John sort of muscle memory and habits transfer from one app to the other. So I wouldn’t wanna live in

⏹️ ▶️ John that world. I understand that the web is kind of like that now. it’s part of what makes websites frustrating, that

⏹️ ▶️ John there’s so much variance between them. I still kind of like the idea of a GUI with a set of controls

⏹️ ▶️ John that act consistently between apps because that makes my computing life easier.

⏹️ ▶️ Marco The only thing I would add is that there’s also just a pretty significant

⏹️ ▶️ Marco issue about memory footprint and battery life with a lot of these apps. I actually

⏹️ ▶️ Marco don’t have a huge amount of complaining to do about UI consistency

⏹️ ▶️ Marco with these apps because when Electron is being used in many cases,

⏹️ ▶️ Marco like I think Slack, it’s hard to picture like what would a

⏹️ ▶️ Marco like, you know, quote, native Mac, you know, Aqua or, you know, AppKit,

⏹️ ▶️ Marco what would that look like for Slack? And I don’t know what that,

⏹️ ▶️ Marco like I don’t think it would work. I think it would end up looking a lot like this and

⏹️ ▶️ Marco working a lot like this and so it would be a lot of custom stuff anyway And it’s like, whether they’re rendering custom stuff with a web view

⏹️ ▶️ Marco or with custom, you know, quartz drawing commands, if it’s a bunch of custom stuff,

⏹️ ▶️ Marco it’s still gonna, you know, behave in a custom way. So I don’t actually

⏹️ ▶️ Marco have a big problem with a lot of that, with some of these apps.

⏹️ ▶️ John I can give you a specific example from Slack though, by the way, with the native thing. One of the things that frustrates me

⏹️ ▶️ John about Slack, which I use every day a lot, is the interface for editing

⏹️ ▶️ John a message, right? the little, like the hover pop-up thing lets you get the little thing, there’s

⏹️ ▶️ John like more actions and you can click edit and you can, or you can like add a reaction or whatever.

⏹️ ▶️ John The, like the sort of active areas that brings up that UI, it’s just

⏹️ ▶️ John so, so like twitchy that I can never quite get the message that I want. And

⏹️ ▶️ John if it was a native Mac app, not just from a technological perspective, but you know, if it was

⏹️ ▶️ John a good native Mac app, the developer would spend a lot of time sweating over how that

⏹️ ▶️ John interface feels, and they would have per pixel control, and like they can essentially write

⏹️ ▶️ John custom code to do the mouse in and out handling and do all sorts of the things that the very best Mac

⏹️ ▶️ John native Mac apps do. Whereas with web technologies, they’re just gonna be like, ah, we’ve got the mouse

⏹️ ▶️ John in and mouse out event, or, you know, the hover event in our web thing, and that’s sufficient.

⏹️ ▶️ John And it makes for a UI that’s usable, but feels twitchier to me. So I get what you’re

⏹️ ▶️ John saying about like the app would more or less probably look the same. and I think Slack is a very good Electron app, and in general they

⏹️ ▶️ John do pretty well. Like for example, one of the things I tested was I went into the text field, and then I hit Control A,

⏹️ ▶️ John use Emacs key bindings to jump around in the text field, and that totally works, mostly because Apple

⏹️ ▶️ John does a good job of making their web controls, like the WebKit controls, support native

⏹️ ▶️ John Mac toolkit type things. So it’s not bad, in fact I really like the Slack app,

⏹️ ▶️ John but I don’t have trouble finding places where

⏹️ ▶️ John if it was a native Mac app, even if it more or less looked the same, that it would behave differently

⏹️ ▶️ John in ways that I feel like could be superior just due to the extra control app. And again, this is not even talking

⏹️ ▶️ John about consistency because you’re right, they’re like, well, what would the editing control look like? There’s no native control

⏹️ ▶️ John for that and you surely wouldn’t want a button next to everything. So it would have to be some kind of custom UI, but I feel like

⏹️ ▶️ John it would be a more Mac feeling interaction for the custom UI.

⏹️ ▶️ Marco Maybe, I mean, I think a lot of this comes down to care and craftspersonship

⏹️ ▶️ Marco as opposed to the framework they’re using to do it. I mean, I look at

⏹️ ▶️ Marco something like Things, which is my preferred to-do app on all platforms,

⏹️ ▶️ Marco and Things has an incredibly highly custom UI. It does not

⏹️ ▶️ Marco look like AppKit, it does not look like Aqua, it looks like its own incredibly custom thing.

⏹️ ▶️ Marco But they wrote it in AppKit. Like it is using the native APIs. It’s not a web app at all.

⏹️ ▶️ Marco I have used other to-do apps, I’ve tried them, that were web apps,

⏹️ ▶️ Marco that were web technology-based, even in their Mac, quote, apps. They

⏹️ ▶️ Marco sucked, they were terrible, and that’s why I don’t use them. And it wasn’t

⏹️ ▶️ Marco an issue of like, it was impossible to make a good Mac UI

⏹️ ▶️ Marco using web technologies. It was that they just didn’t. Somebody could do

⏹️ ▶️ Marco it, it is possible. And a good Mac UI, as things demonstrate, doesn’t have

⏹️ ▶️ Marco to be exactly like vanilla Aqua controls. It can be done in

⏹️ ▶️ Marco a good way. And I think Slack gets very close. I think Slack, as electron apps

⏹️ ▶️ Marco go, is a very good one. There are limitations of it being an electron app.

⏹️ ▶️ Marco It does take a comically long amount of time to launch. It is comically wasteful of resources.

⏹️ ▶️ Marco They’ve had to do a ton of work over time to make it slightly less egregious at how much

⏹️ ▶️ Marco memory and stuff that it burns. But I think that’s like the big

⏹️ ▶️ Marco problem with them is like, it’s a very, Electron and using web technologies to do

⏹️ ▶️ Marco UIs is a very heavy thing. And so it has to be really worthwhile.

⏹️ ▶️ Marco Now if you’re doing something like Slack, which is a very complicated app, I think that might be acceptable.

⏹️ ▶️ Marco If you’re doing something like VS Code, I’ve never used VS Code, but I know people love it.

⏹️ ▶️ Marco A programmer’s text editor is such a massive tool that if that becomes a

⏹️ ▶️ Marco heavy thing in the system, it’s not that big of a deal. Xcode is damn heavy.

⏹️ ▶️ Marco I mean, IDEs are all heavy things.

⏹️ ▶️ John That’s what I would categorize Visual Studio Code is. It’s more of an IDE and less of just a text editor.

⏹️ ▶️ John And in that respect, I would not want Xcode to be written with web technologies.

⏹️ ▶️ John, Marco Oh, no.

⏹️ ▶️ John And like, not that I’m saying Visual Studio Code is a bad idea, I think it’s a really good one.

⏹️ ▶️ John But, and I understand why it’s written the way it’s written, but I’m also really, really

⏹️ ▶️ John glad that Xcode isn’t written like that.

⏹️ ▶️ Marco Yeah, and I’m really, really glad that most of my apps that I use are not written

⏹️ ▶️ Marco like this. Because imagine, you know, right now I have two such

⏹️ ▶️ Marco apps open, I have Skype and Slack open. And I look at my doc

⏹️ ▶️ Marco and I have like 10 other apps open, all of which are native, except for those two as far as I know.

⏹️ ▶️ Marco It would be very inconvenient for the resource level of my system

⏹️ ▶️ Marco if nine of those apps were all electron apps. It’s one of those

⏹️ ▶️ Marco things where if you have one or two of these it’s no big deal, but it becomes much heavier.

⏹️ ▶️ Marco Because they’re so heavy it becomes much more burdensome to have more than a couple of them.

⏹️ ▶️ Marco And so it’s not a good idea for most apps to do this. And it’s not a good idea to do this if

⏹️ ▶️ Marco what you want to do with your app can be easily done with the native frameworks.

⏹️ ▶️ Marco But when you look at something like Slack and you look at what they actually need on Slack is a

⏹️ ▶️ Marco very complicated UI that is often rendering web

⏹️ ▶️ Marco content, that is often rendering HTML, like for just things like what’s, you know,

⏹️ ▶️ Marco it’s a giant rich text view that has a lot of embedded images and stuff like that. Like

⏹️ ▶️ Marco that, even if you wrote that in, with like AppKit and native code,

⏹️ ▶️ Marco you’d probably implement it as largely a web view. And so like

⏹️ ▶️ Marco much of your UI would be rendered using web technology anyway. Like it would be, you wouldn’t be saving

⏹️ ▶️ Marco a massive amount of resources by doing it that way. And you would just introduce,

⏹️ ▶️ Marco you know, complexity at the engineering side. And Slack is this like very complex, rich

⏹️ ▶️ Marco service that has to run on every platform.

⏹️ ▶️ Marco And it has to have feature parity constantly on every platform. And so

⏹️ ▶️ Marco again, like you can see why they do this. I don’t love that this is the reality of a lot of things these days,

⏹️ ▶️ Marco but that’s why they do it and it makes a lot of sense. But if that’s not your business needs,

⏹️ ▶️ Marco if you can get away with using native stuff, and it’s not that big of a deal to your business, then by

⏹️ ▶️ Marco all means, it’s better and you should. But something like Slack, I think

⏹️ ▶️ Marco is electron for good reasons and it doesn’t bother me that much with the exception of

⏹️ ▶️ Marco quite how incredibly resource intensive it is.

⏹️ ▶️ John Should think about getting a Mac with more than 16 gigs of RAM.

⏹️ ▶️ Casey Oh, brutal.

#askatp: Recent Apple Car rumors

⏹️ ▶️ Casey Matt Steiner writes, recent Apple car rumors seem to suggest they’re working toward an autonomous EV to sell

⏹️ ▶️ Casey to customers. What do you guys think of the idea of Apple designing an autonomous EV to be used in their own ride

⏹️ ▶️ Casey sharing service akin to Uber? Apple controls the hardware and software and can focus on the experience, ultra high-end interior,

⏹️ ▶️ Casey ecosystem integration, advanced technologies, without needing to worry about pricing margins, dealerships,

⏹️ ▶️ Casey or charging networks. Similar to Waymo, they can focus their self-driving tech on well-mapped geographies,

⏹️ ▶️ Casey cities ideal for ride sharing, to create a polished system that doesn’t necessarily need to operate everywhere

⏹️ ▶️ Casey in the way a consumer EV would. Uh, meh, this doesn’t really do anything for

⏹️ ▶️ Casey me personally. Like I just, I don’t see this as a sustainable,

⏹️ ▶️ Casey reasonable model for a business to make decent money. Um, I, and I just

⏹️ ▶️ Casey don’t, I just get by, by gut alone, I just get the feeling that this is not what

⏹️ ▶️ Casey Apple’s interested in, that it’s not, they don’t want to be Uber. They don’t want to, and

⏹️ ▶️ Casey most, they might want to be Uber for like shuffling employees between their different buildings

⏹️ ▶️ Casey in Cupertino. But even then, I don’t think they’re that interested. So yeah, I don’t I don’t think this

⏹️ ▶️ Casey is for them.

⏹️ ▶️ John This harkens back to the good old days of Apple rumors where you and where you just you start

⏹️ ▶️ John with the premise that Apple is able to do something that no one else thus far has been able to do. And then you extrapolate

⏹️ ▶️ John from there. Oh, what if Apple could just do this thing that apparently nobody in the world can do yet? But like, what if Apple could do it because

⏹️ ▶️ John they’re super smart, then do you think Apple would do that? If Apple could to make hoverboards, they’d probably do it.

⏹️ ▶️ John But I don’t think, yeah, making fully

⏹️ ▶️ John autonomous cars and selling them and saying, wouldn’t that be a great service? Because you don’t have to worry about dealers, because Apple would

⏹️ ▶️ John own all the cars and everything. Like, I see the appeal, but let’s start with, OK, well, where did the fully autonomous cars come from?

⏹️ ▶️ John, Marco I mean, I guess it’s just

⏹️ ▶️ John assuming Apple will be able to do that, where everyone else has failed after decades of trying. And they just,

⏹️ ▶️ John I mean, eventually, maybe. But I don’t see anything that, as far as I know, Apple

⏹️ ▶️ John is not far ahead of the competition when it comes to full autonomy

⏹️ ▶️ John for this type of application. Now, in terms of whether, if we start from that premise though and say,

⏹️ ▶️ John okay, well, let’s assume this is just a thing that everybody can do, right? Would Apple wanna be in that business? Because I don’t think

⏹️ ▶️ John you can start and say, okay, what if Apple was the only one that could do this? Then wouldn’t

⏹️ ▶️ John they wanna be in that business? There’s very little that Apple will be able

⏹️ ▶️ John to do that people can’t copy, right? who said, what if Apple is the only one with a smartphone with a touchscreen? For a tiny little

⏹️ ▶️ John while, they were, like a smartphone with a good iPhone caliber touchscreen,

⏹️ ▶️ John but eventually everyone else had one. So Apple had better hope their competitive advantage is not, hey, we’re the first ones to figure

⏹️ ▶️ John out how to do this, because that won’t be true for very long. So you have to assume the world is a place

⏹️ ▶️ John where everybody can do this. Google could make this service, Amazon can make this service, Hertz can make this service.

⏹️ ▶️ John Then is it a business that Apple wants to be in? And you got to ask the Tim Cook question, Is this a place where Apple feels like they can make

⏹️ ▶️ John a big impact? Yada, yada. And I would hope from the perspective, from the high level perspective,

⏹️ ▶️ John what Apple would say to itself is not not like a, you know, is there a buck to be made while we’re

⏹️ ▶️ John the first people to do this? But is basically is this type of product

⏹️ ▶️ John going to solve a problem in the world in a way that we want? In some respects, yes.

⏹️ ▶️ John Like if you could have a set an autonomous fleet of cars

⏹️ ▶️ John that are shared in a city environment, and then pair that with banning

⏹️ ▶️ John people from bringing their own cars, you could reuse existing infrastructure

⏹️ ▶️ John with fewer cars on the street in a more efficient manner. But in other respects, if you really want to solve

⏹️ ▶️ John the problem, the solution is not to either add more cars or to have different kinds of cars, but

⏹️ ▶️ John rather to invest in more efficient, nicer public transportation, which carries people, you know,

⏹️ ▶️ John far larger number of people, more efficiently with less space, stuff like that. And I would hope that any Apple

⏹️ ▶️ John thinking about a future product is thinking big picture is the answer. More cars. Now I

⏹️ ▶️ John know Apple’s rumored to be making a car and I hope they’re also asking that question. And the reality is

⏹️ ▶️ John cars are, you know, a big thing in the entire world right now. So you can’t stick your head in the sand

⏹️ ▶️ John and say, Oh, I’m just going to ignore cars entirely. But for something like this where have, oh, we have autonomy

⏹️ ▶️ John and we have this amazing advanced technology. I would hope that we would think a little bit bigger than

⏹️ ▶️ John let’s just do cars, but slightly different because that type of technology enables all sorts

⏹️ ▶️ John of interesting things. Um, other than simply trying to use our existing

⏹️ ▶️ John road infrastructure slightly more efficiently.

⏹️ ▶️ Marco Yeah, I, I still, I mean, there’s a lot of smoke

⏹️ ▶️ Marco where this fire is alleged to be. And so I’m pretty sure that Apple is working

⏹️ ▶️ Marco on some kind of car

⏹️ ▶️ John or car related thing Car related thing as in maybe they’re just doing the software. Maybe they’re partnering

⏹️ ▶️ John with Hyundai that you know, there’s so many rumors We don’t know yet.

⏹️ ▶️ Marco Yeah, but like it’s Apple I don’t think Apple wants to be in the business

⏹️ ▶️ Marco of being the partner with Uber or Hertz to supply them like

⏹️ ▶️ Marco that’s not that’s that’s like a big b2b deal deal, Apple sucks at that kind of thing. They’re not going to make some

⏹️ ▶️ Marco kind of big sales deal with some other person who’s going to share the major parts of the responsibility

⏹️ ▶️ Marco of the customer relationship and customer experience. They’re going to do the whole thing themselves.

⏹️ ▶️ John You’re thinking Motorola Rocker though, and I’m thinking Foxconn. Fair enough. Yeah, that’s

⏹️ ▶️ Marco, John fair.

⏹️ ▶️ Marco But ultimately, this thing where Apple just makes

⏹️ ▶️ Marco a fleet of cars for Uber or whoever to operate and you don’t actually buy them, you

⏹️ ▶️ Marco just get into this car designed by Apple?

⏹️ ▶️ John Not for Uber to operate. The idea in this question is that Apple would run that service, so Apple

⏹️ ▶️ John would own all the cars. It wouldn’t be selling cars

⏹️ ▶️ John, Marco to end users.

⏹️ ▶️ John It would be selling access to the Apple Car Transport Service.

⏹️ ▶️ Marco At that point, Apple’s just like a giant car leasing company and car maintenance company.

⏹️ ▶️ Marco, John I mean, they’re a taxi service.

⏹️ ▶️ Marco Yeah, I don’t see that. First of all, I don’t see that being a business Apple would really

⏹️ ▶️ Marco want to be in.

⏹️ ▶️ Marco, John Services revenue.

⏹️ ▶️ Marco But secondly, I still don’t know why Apple wants to be in the

⏹️ ▶️ Marco car business at all. This doesn’t make any sense to me whatsoever. I

⏹️ ▶️ Marco can tell, obviously they’re putting a lot of resources into this project. There’s so much supporting

⏹️ ▶️ Marco that now that it does seem like they do have some kind of major car project going and

⏹️ ▶️ Marco have for some time. for some time, but I still just do not see why

⏹️ ▶️ Marco Apple wants to or should be in the car business. And

⏹️ ▶️ Marco even as a huge fan of Apple and an okay fan of cars,

⏹️ ▶️ Marco I don’t want an Apple car. I’m not excited about that. I don’t think they should be doing any

⏹️ ▶️ Marco of this. I think this is a massive distraction and I have yet to imagine

⏹️ ▶️ Marco why this is a good idea this is a good idea for them to do, why they need to do this, why they didn’t spend

⏹️ ▶️ Marco any of their resources doing this, why Apple can bring something to the table here, why they would

⏹️ ▶️ Marco even be good at it. I don’t see any of that. I don’t see anything in Apple’s product line. It says

⏹️ ▶️ Marco like, you know, like part of this question is like Apple can control the hardware and software and you can focus on the experience,

⏹️ ▶️ Marco ultra high end interior, ecosystem integration, advanced technology. What does that mean? Can Apple

⏹️ ▶️ Marco make an ultra high-end car interior? Maybe, but we’ve never

⏹️ ▶️ Marco seen that before. But you know, when they launched the Apple Watch, they had never made

⏹️ ▶️ Marco an ultra high-end, you know, watch band ecosystem before, but they managed to make a pretty good one.

⏹️ ▶️ Marco I wouldn’t make, maybe not ultra high-end, but they managed to make, you know, very good watch bands and, you know, a decent watch experience. Like,

⏹️ ▶️ Marco I suppose they could try this, But Apple, this is so

⏹️ ▶️ Marco far from the kinds of things they do. You mentioned

⏹️ ▶️ Marco earlier the Tim Cook thing of trying to make a real difference and to only tackle the things that they can

⏹️ ▶️ Marco make a real difference in. They decided not to do wifi routers.

⏹️ ▶️ Marco There’s so many things that they could do that would make a real difference to the business that they’re

⏹️ ▶️ Marco already in. I, I, and they choose not to for, you know, focus

⏹️ ▶️ Marco or resources or whatever. A car, let alone, even a regular,

⏹️ ▶️ Marco even if you ignore all the magic self-driving stuff that seemingly doesn’t exist, that might never exist,

⏹️ ▶️ Marco even if you ignore that, just making a car, period, even a manually driven one, where

⏹️ ▶️ Marco one is driven by a human, it’s so much work and it’s so many

⏹️ ▶️ Marco specialty skills and it’s so, it’s, it takes so much infrastructure and so

⏹️ ▶️ Marco much support, massive amounts of design and engineering

⏹️ ▶️ Marco and just such a massive distraction. Apple is not known

⏹️ ▶️ Marco for having a ton of extra engineering and design resources and the ability to multitask incredibly well

⏹️ ▶️ Marco while juggling all their other product lines. Why are they doing this? I still,

⏹️ ▶️ Marco I have no clue why they’re doing this. And I, again, unless, I mean, maybe I’m

⏹️ ▶️ Marco totally wrong and maybe they’re gonna blow us away, you know, in five or ten years or whenever, but

⏹️ ▶️ Marco it sure looks to me like just a giant distraction, a giant like

⏹️ ▶️ Marco massive resource suck that is not a good idea strategically

⏹️ ▶️ Marco for them at all. I don’t see what this does for them. I don’t see why Apple wants

⏹️ ▶️ Marco to be a car company or why they should become a car company, no matter what the car, even if it’s fully autonomous

⏹️ ▶️ Marco cars or manually driven cars no matter what kind of car it is, I don’t see

⏹️ ▶️ Marco why Apple needs to or should or would be good at doing this.

⏹️ ▶️ John I’m sure Apple will explain it when they roll out whatever they roll out.

⏹️ ▶️ John, Marco But the the

⏹️ ▶️ John really, the really concerning concerning slash interesting thing about this is they’re

⏹️ ▶️ John so Apple is seemingly so committed to whatever the heck they’re doing in the car space

⏹️ ▶️ John that when their first run at it sort of, I’m gonna say failed, but

⏹️ ▶️ John didn’t work out the way they wanted. They didn’t Abandon the idea they rebooted

⏹️ ▶️ John it and are making at least a second attempt We don’t know how many other internal restarts there have been but there’s been one

⏹️ ▶️ John public restart that we more or less know So like I mean sure that’s the thing in any big company, especially Apple, you

⏹️ ▶️ John know, you try lots of stuff Sometimes it doesn’t work out. But when the car thing didn’t work out they didn’t say oh, well, we tried that it didn’t work

⏹️ ▶️ John out They’re trying again There are they are determined to do whatever

⏹️ ▶️ John it is they’re doing here and you mentioned Wi-Fi routers, if and when air tags ever actually come out

⏹️ ▶️ John after however many years being rumored, I’m just going to look at them and say, okay, so you’re doing air

⏹️ ▶️ John tags, but still no Wi-Fi routers, you can make a big difference in the tile business, but you can’t make a difference

⏹️ ▶️ John in the in the Wi-Fi router business, to your point about like so many areas in their current

⏹️ ▶️ John market where they could make a difference and aren’t air tag seems like, like,

⏹️ ▶️ John really, is there so little for you to do that you you thought, oh, why don’t we do these little tile competitor

⏹️ ▶️ John things, that’ll be fun. I mean, not that, AirTags are probably being great. I think they’re cool and everything, but like, but not wifi

⏹️ ▶️ John routers, right? But also cars, it’s, it really is baffling. And

⏹️ ▶️ John I don’t, I don’t want to discourage Apple from trying all sorts of different things,

⏹️ ▶️ John but the car thing, I feel like eventually it’s either got to just be dead for good or they need to ship something.

⏹️ ▶️ John The AR VR glasses is another example. I think that’s definitely an area that Apple should be looking in. And I like the idea

⏹️ ▶️ John that they’ve been working on it for a long time and haven’t shipped anything yet because it shows they’re not just shipping the first random thing they have

⏹️ ▶️ John because we know they’ve had all sorts of stuff internally that other companies probably would have shipped because it probably

⏹️ ▶️ John is cool and does a bunch of cool stuff. But they’re waiting until they have something decent. So

⏹️ ▶️ John I hope whenever, whatever they’re doing with the car comes out, that Apple is

⏹️ ▶️ John able to answer at least some of the questions that Marco just posed because if they can’t, it’s not gonna be much of a product

⏹️ ▶️ John indirection. Thanks

⏹️ ▶️ Marco to our sponsors this week, Linode, Away, and Flatfile. Thank you to our members

⏹️ ▶️ Marco as well who support us directly. You can join at http.fm.com. Thanks everybody,

⏹️ ▶️ Marco we will talk to you next week.

Ending theme

⏹️ ▶️ John Now the show is over, they didn’t even mean to begin,

⏹️ ▶️ Casey Cause it was accidental, oh it was accidental.

⏹️ ▶️ Casey John didn’t do any

⏹️ ▶️ John research, Marco and Casey wouldn’t let him, Cause it was accidental,

⏹️ ▶️ Casey oh it was accidental. And you can find the show

⏹️ ▶️ John notes at atp.fm And if you’re into

⏹️ ▶️ John Twitter, you can follow them

⏹️ ▶️ Marco at C-A-S-E-Y-L-I-S-S So that’s Casey Liss,

⏹️ ▶️ Marco M-A-R-C-O-A-R-M, and T. Marco Armin,

⏹️ ▶️ Marco S-I-R-A-C-U-S-A-C-R-A-Q-U-S-A

⏹️ ▶️ John It’s accidental, they didn’t mean to.

⏹️ ▶️ John Accidental, check podcast so long.

Neutral: The point of Audi?

⏹️ ▶️ Casey So, keeping with the car theme, I have a group chat that I think I’ve mentioned before

⏹️ ▶️ Casey that is myself and two car enthusiast friends of mine, and it’s not

⏹️ ▶️ Casey the two of you. One of them is the guy that recommended the Subaru,

⏹️ ▶️ Casey the BMW, and now has basically a clone of my car except his is the wrong transmission.

⏹️ ▶️ Casey And we were chatting, the three of us, the the D. And

⏹️ ▶️ Casey one of them, I forget which one it was, made the point, what’s the point of Audi?

⏹️ ▶️ Casey And I should have looked back at this conversation in preparation for today, but if you want

⏹️ ▶️ Casey to get something Audi-like, why would you get an Audi when

⏹️ ▶️ Casey you can get a Volkswagen that’s like 90% as nice in most cases,

⏹️ ▶️ Casey but half the price. Or if you want to go to the other direction, you want

⏹️ ▶️ Casey something that’s obscenely nice and just obscenely expensive,

⏹️ ▶️ Casey then get a Porsche. So what’s the point now?

⏹️ ▶️ John I mean, setting aside the fact that the corporate ownership structure that we have today didn’t always exist.

⏹️ ▶️ John And so it wasn’t quite as a absurd a question. Um, I, this whole,

⏹️ ▶️ John uh, I think you just basically described market segmentation, the whole idea of car, regular

⏹️ ▶️ John car brands eventually having a luxury brand companion was big in the 90s and is

⏹️ ▶️ John a proven business model. You take your Toyotas and you make them a little bit fancier and you sell them for way more

⏹️ ▶️ John money and you get a Lexus. You do the same thing with a Nissan and you get Infinities to lesser effect.

⏹️ ▶️ John Take a Honda and you make it a little bit fancier and you get an Acura, which is usually a worse car. You should just buy Hondas.

⏹️ ▶️ John But like

⏹️ ▶️ John, Casey that… See, I’m saying!

⏹️ ▶️ John It’s a proven business model. I think in the case of a Volkswagen Audi, the Volkswagen is the

⏹️ ▶️ John regular people brand. You take a Volkswagen, you make it fancier and you get an Audi. And yes, obviously you’re paying more

⏹️ ▶️ John and the margins are higher and you’re not getting quote unquote your money’s worth if you look at it in terms of features and experience

⏹️ ▶️ John or whatever. But that’s the that’s market segmentation and luxury goods. You always pay proportionally more to

⏹️ ▶️ John get proportionally less. But I don’t think there are many people who would say that a really good

⏹️ ▶️ John Audi is not a nicer car than a really good Volkswagen, even if they’re literally made on the same platform.

⏹️ ▶️ John So I think it makes just as much sense as, well, I keep citing Infiniti. I feel

⏹️ ▶️ John bad for them because I think their cars are crappy. But like, what’s Lexus, I guess. Lexus is the best one because

⏹️ ▶️ John Toyota is a very popular brand, sells a lot of cars. And Lexus are acknowledged to be, yes, they’re

⏹️ ▶️ John just fancy Toyotas. But guess what’s a fancy Toyota? It’s a good car. And for people who like Toyotas but wish

⏹️ ▶️ John they were fancier, Lexus is right there for them. And there’s bigger margins on it. So the point of Audi is the same

⏹️ ▶️ John as the point of Lexus and Infiniti.

⏹️ ▶️ Casey Well, okay, I guess I phrased the question poorly. Why would one buy an

⏹️ ▶️ Casey Audi rather than, I mean, other than like completely emotional reasons, like I just want to look

⏹️ ▶️ Casey fancy.

⏹️ ▶️ John, Casey You know what I

⏹️ ▶️ John mean? But it’s nicer as they have higher performance. You can get the RS6, RS7. There’s no equivalent Volkswagen

⏹️ ▶️ John one of those. And you can get higher performance cars with fancier interiors, with more luxury features for way

⏹️ ▶️ John more money. That’s

⏹️ ▶️ Marco a luxury brand. Right, and Porsche is an even higher step above that. So

⏹️ ▶️ Marco Audi is like, you know, a good choice if you want something fancier from that car

⏹️ ▶️ Marco family than the Volkswagen, but you don’t want to go all the way

⏹️ ▶️ Marco to Porsche, which is substantially more expensive and has-

⏹️ ▶️ John And much, much more sporting and less luxurious, right? I don’t know if I would say that.

⏹️ ▶️ John Less luxurious in that the ride quality is harsher.

⏹️ ▶️ Casey Yeah, maybe. I mean, it’s been a long time since I’ve been in a Porsche, but I’m not so sure it’s quite

⏹️ ▶️ Casey as harsh in most applications

⏹️ ▶️ Casey, John as you’re painting

⏹️ ▶️ John it. If you’re not getting the performance version of an Audi, the ride is gonna be much more comfortable in it than any Porsche.

⏹️ ▶️ John Yeah.

⏹️ ▶️ Casey I can’t argue with you, but I’m not so sure that you should be as confident as you are.

⏹️ ▶️ John Anyway, I don’t know who made this point, but I think it’s just, if you find Audi pointless, then you should

⏹️ ▶️ John find all luxury car brands pointless, because what’s true of Audi is true of all of them. I mean, maybe

⏹️ ▶️ John, Marco the

⏹️ ▶️ John complaint is the Audis, they’re too much like the Volkswagen’s. Like if you squint, you can see the

⏹️ ▶️ John Volkswagen lurking under the covers, But I don’t really buy that. I think Audi makes

⏹️ ▶️ John cars that appeal to people who like Audis. And I find some of them appealing and some of them not to my taste, but I never

⏹️ ▶️ John question why the brand exists. It makes perfect sense to me.

⏹️ ▶️ Casey I guess, unlike BMW, which doesn’t really have a cheap brand, like, I guess, kind

⏹️ ▶️ Casey of, sort of, MINI-ish.

⏹️ ▶️ Marco They made that hatchback. You remember that? MINI is not cheap.

⏹️ ▶️ Casey I mean, the MINI is not cheap. You’re exactly right. And yes, the 318TI, I believe it was, which our valedictorian

⏹️ ▶️ Casey drove. and it seemed like a piece of garbage. You know, there’s no cheap BMW.

⏹️ ▶️ Casey There’s no cheap Mercedes that I can think of, right? So there’s no

⏹️ ▶️ Casey real equivalent in Audis to main competitors. Whereas

⏹️ ▶️ Casey if I were to look at an Audi, in almost all circumstances, I would almost surely get the equivalent Volkswagen.

⏹️ ▶️ Casey Yes, there are cases where there is no equivalent Volkswagen. But in almost all cases, there are.

⏹️ ▶️ Casey And that’s what I would certainly get. Because it just seems to me like, why would one choose an Audi? For

⏹️ ▶️ Casey non-emotional reasons, why would one choose an Audi over the equivalent Volkswagen?

⏹️ ▶️ Casey, John Or if you want to.

⏹️ ▶️ John Why are you naming their competitors as being Mercedes and BMW? Is it just geographic competitors?

⏹️ ▶️ John Like, you know, Lexus would say that they’re a competitor to Audi.

⏹️ ▶️ John, Marco I think you’re right. Honda

⏹️ ▶️ John would say that they’re a competitor. Infiniti would say, are you just excluding those luxury brands like other? You know,

⏹️ ▶️ John Cadillac would say that they’re a competitor to Audi. I feel like they’re just, the fact that, you know, I think

⏹️ ▶️ John it’s an accident of history that BMW and Mercedes just grew into these luxury brands and weren’t spawned from

⏹️ ▶️ John sort of non-luxury brands. I don’t think Mercedes started out as

⏹️ ▶️ John the luxury brand they are today, but they didn’t get spun out of something. And the companies that did spin out

⏹️ ▶️ John of being like the people’s car, Volkswagen, or Honda, or Toyota, or whatever,

⏹️ ▶️ John or even things like Ford, like when you come out of a brand that is trying to sell to the mass market, you

⏹️ ▶️ John eventually realize the business people say, you know we can make a little bit more money if we made a fancier version of this car and gave it a different

⏹️ ▶️ John name. And so you get Cadillac, right? You know, you get the luxury brand spawning out of a regular

⏹️ ▶️ John brand. If you’re not lucky enough, if you want to consider it, to be a luxury brand from

⏹️ ▶️ John day one. But if you are a luxury brand from day one, like Porsche, maybe you’ll try to buy Volkswagen because they sell a lot of cars. But that didn’t

⏹️ ▶️ John quite work out the way everyone thought it would.

⏹️ ▶️ Casey I guess, to me, I don’t really perceive the Japanese

⏹️ ▶️ Casey luxury marquees, makers, automakers, as

⏹️ ▶️ Casey real direct equivalents. Because I feel like they’re more

⏹️ ▶️ John reliable, too reliable to compete with the German brands.

⏹️ ▶️ Casey, John Yes.

⏹️ ▶️ Casey Yes, that. And yes, and. I feel like they have a very different personality.

⏹️ ▶️ Casey Haven’t driven several Japanese cars, admittedly not luxury cars. But I’ve owned

⏹️ ▶️ Casey a couple of Japanese cars in years past. And I’ve owned a couple of German cars now. And I

⏹️ ▶️ Casey feel like, and I don’t know how to explain it concretely,

⏹️ ▶️ Casey but there’s a very different attitude to your average Japanese car versus your average German, or

⏹️ ▶️ Casey perhaps even European car, because I feel like Aaron’s, you know, semi-Swedish Volvo

⏹️ ▶️ Casey also feels German-ish, and so I think I should really be saying

⏹️ ▶️ Casey, John European. How

⏹️ ▶️ Casey dare

⏹️ ▶️ Casey, John you? Volvos aren’t German.

⏹️ ▶️ Casey No, I’m saying they have a similar feel and spirit to them.

⏹️ ▶️ John I mean, there’s been a lot of homogenization, I feel like, in the luxury car segment. Like, when Lexus first came out, it was

⏹️ ▶️ John so clearly targeting Mercedes. Like, just, you just look at it and you look at the Mercedes that they were

⏹️ ▶️ John targeting, you’re like, they just, you know, I can tell who you’re competing with. And yet, despite

⏹️ ▶️ John so clearly targeting Mercedes, the original LS 400 could not help but feel…

⏹️ ▶️ John Toyota-ish. Right? It just, you just can’t help it. It’s just, you’re right. You’re totally right that it’s in the culture. In the same way that

⏹️ ▶️ John a Cadillac, despite trying to compete with BMW, there is no question that you’re in a Cadillac

⏹️ ▶️ John when you get

⏹️ ▶️ John, Casey into

⏹️ ▶️ John one of those things

⏹️ ▶️ John, Casey as opposed

⏹️ ▶️ John to being in a BMW. So the homogenization has been, I feel like, in the feature set and maybe even in sort

⏹️ ▶️ John of internal amenities and aesthetics, but the values represented by

⏹️ ▶️ John the transmission, chassis, engine, like combination, driving experience,

⏹️ ▶️ John setting even aside, obviously, the styling, is still radically different from the German brands, the American

⏹️ ▶️ John brands, the Japanese brands, the Swedish brands, the Chinese brands. And I think that’s part of what makes the

⏹️ ▶️ John auto industry great. But I wouldn’t say that eliminates them as competitors from each other. Like, they’re going to be different. No, I

⏹️ ▶️ Casey don’t mean to imply they’re not competitors. I guess what I’m saying is, I think in the same way

⏹️ ▶️ Casey that Volkswagen, Audi, and Porsche occupy different spaces, in my mind, and

⏹️ ▶️ Casey maybe I’m the only one, the European versus Japanese versus

⏹️ ▶️ Casey American luxury brands, I mean, nobody’s even said Lincoln yet. But I think all

⏹️ ▶️ Casey three of those groups have, to your point, and to the point I was trying to make earlier, very, very different

⏹️ ▶️ Casey attitudes and feelings and kind of spirit about them. And so even though I agree,

⏹️ ▶️ Casey they are all competitors, I view them as only competing within their little circle.

⏹️ ▶️ Casey Like I personally, I don’t think I would cross shop a BMW and a Cadillac or a BMW and a Lexus.

⏹️ ▶️ Casey Whereas I would absolutely cross shop a BMW and a Mercedes, for example. And I would

⏹️ ▶️ Casey cross shop a Cadillac and a Lincoln, and I would certainly cross shop an Acura And

⏹️ ▶️ Casey I actually probably cross shop the Infiniti and the Lexus. But I don’t know, it just seems to me

⏹️ ▶️ Casey like, particularly with respect to Volkswagen Auto Group,

⏹️ ▶️ Casey there’s a lot of overlap. And I can’t put my

⏹️ ▶️ Casey finger on anything that I think Audi does extraordinarily well that

⏹️ ▶️ Casey would make me say, yes, I want an Audi. Now, there are a couple of exceptions. And one you pointed out earlier

⏹️ ▶️ Casey is there are cars that Audi makes that Volkswagen does not. And I don’t have anywhere

⏹️ ▶️ Casey near enough money to afford an RS6. But if I was given infinite money tomorrow,

⏹️ ▶️ Casey I would bring an RS6 to my desert island because, oh my gosh, that thing looks so awesome. And even

⏹️ ▶️ Casey though the more correct answer for a really fast wagon is whatever the current

⏹️ ▶️ Casey Mercedes wagon is, that is certainly the better choice. But God, I love the look of the RS6

⏹️ ▶️ Casey so much, and I want one so badly.

⏹️ ▶️ John The Audi fast wagons are actually pretty good. Some posted a link in the chat room, we’ll put it in the show notes, to

⏹️ ▶️ John a Car Wizard video showing a more modern Lexus versus a more

⏹️ ▶️ John modern Mercedes. I think people do cross shop Lexus and Mercedes, and Lexus apparently continues

⏹️ ▶️ John to ape the Mercedes styling and features and size and everything. So

⏹️ ▶️ John I was thinking of the original LS 400, which was what, 90s, the early 90s. And they were nice cars. But it

⏹️ ▶️ John, Casey was so clearly like,

⏹️ ▶️ John just they looked at Mercedes S-Class and they said,

⏹️ ▶️ John, Casey Let’s

⏹️ ▶️ John make the Toyota version of that. And here is the modern video showing there. Continue to do that. And I think that’s a good business because

⏹️ ▶️ John if you want a Mercedes, but want it to be more reliable and even more comfortable, get a Lexus.