PodSearch

ATP

420: I Have No Urge to Speak

 

00:00:00 ◼   ► For the pre-flight, the thing that we really need to pre-flight is the pre-show.

00:00:03 ◼   ► Please, two of you, work out which of you has a half an hour of content that you're gonna stick before the time.

00:00:08 ◼   ► With the fun, John, the fun is neither Marco nor I knows who's gonna win.

00:00:15 ◼   ► Right, but see the problem is when you get this, you know, 100 year storm thing where we have 45 minutes before the little modem sound.

00:00:21 ◼   ► So work something out, please.

00:00:24 ◼   ► All right, an anonymous Apple employee writes to make yet another correction. This is turning into the tea, whatever, whatever, whatever feedback.

00:00:31 ◼   ► Another correction with regard to always-on VPNs and work devices and so on.

00:00:36 ◼   ► This anonymous Apple employee writes, "The always-on VPN mentioned on a past episode cannot

00:00:41 ◼   ► (all caps) be implemented on a user-owned iPhone or iPad. That policy can only be applied on supervised devices,

00:00:48 ◼   ► which if you recall is just Apple's fancy word for a corporate-owned iPhone.

00:00:51 ◼   ► You can only supervise an iPhone if the company purchased it through a specific reseller or carrier or

00:00:56 ◼   ► the company takes over the ownership of your phone, which is extremely rare. And this usually only happens with donated devices.

00:01:02 ◼   ► It's a tedious process which requires a full phone erase in multiple steps. In other words, a company cannot snoop your web traffic

00:01:08 ◼   ► unless they own the phone." Moving right along, Julian Torres writes,

00:01:13 ◼   ► "There's a preference in settings on iOS under contacts called short names that allows you to set the system-wide preference.

00:01:20 ◼   ► What was the context for this? I don't recall."

00:01:22 ◼   ► It was like the mom and dad, whether you use their names or their nicknames in your address book and what shows up where.

00:01:27 ◼   ► And I was trying to recall that there was some setting that you could use to control this, but then not all apps honored it.

00:01:31 ◼   ► This, I think, was the setting I was thinking of.

00:01:33 ◼   ► I seem to recall also messing with this setting and expecting it to work on the Mac or there's an equivalent on the Mac.

00:01:40 ◼   ► But it's the type of thing where you can suggest that this is how things show up.

00:01:44 ◼   ► And I bet if you call the right Apple APIs, it honors this setting.

00:01:46 ◼   ► But if you don't and just have or just pulling the contact data directly in your app,

00:01:50 ◼   ► I suppose you could just do whatever you want. But anyway, in case you're wondering, that's where it is in iOS settings.

00:01:55 ◼   ► Good to know.

00:01:57 ◼   ► Alright, my buddy Brian King sent us a link to a talk from Skydio, and I believe Skydio makes drones.

00:02:03 ◼   ► And this talk is like an hour and a half long.

00:02:06 ◼   ► And I was talking to him privately outside of the feedback that he had sent us.

00:02:10 ◼   ► And he said basically just skip around in this video and darn near anywhere

00:02:13 ◼   ► you'll see something cool. And I don't remember exactly what the timestamp was, but at some point they had these drones

00:02:20 ◼   ► following a person like running or cycling or something like that.

00:02:23 ◼   ► I don't remember exactly what it was, but the drone was flying in between power lines. It was

00:02:29 ◼   ► amazing. I do not understand how this could possibly work. It looks like it was somewhere around

00:02:34 ◼   ► between 10 and 15 minutes, I think. Anyways, it is a fascinating video. Yeah, at about 14 minutes

00:02:40 ◼   ► I see it now as I'm jogging through it.

00:02:42 ◼   ► It is really bananas to watch as you see it going above, below, and through these power lines.

00:02:49 ◼   ► Which I assure you as someone who is now an experienced drone pilot, except not really, that is

00:02:54 ◼   ► terrifying to think about doing. And I have pretty much the smallest drone on the market.

00:02:58 ◼   ► So this is extremely, extremely cool. If you watch the entire hour-long video, that's what it's about.

00:03:02 ◼   ► How they do that. You know, all the different sensing that they use to figure out how not to hit things when flying through the air.

00:03:08 ◼   ► It's cool. Alright, moving right along.

00:03:11 ◼   ► We have some follow-outs. The talk show episode 309, Pinkies on the Semicolon. That was where some guy joined

00:03:19 ◼   ► John Gruber on his show, and it was really good.

00:03:22 ◼   ► I wanted to call your attention to it because I really enjoyed it.

00:03:24 ◼   ► It was a really nice overview and kind of history lesson about the Mac.

00:03:27 ◼   ► And I thought it was really, really good and well worth the couple hours that it took to listen.

00:03:32 ◼   ► So well done, whoever that random person was. There was some guy named John

00:03:37 ◼   ► Yakuza. I don't know if you've ever heard of him.

00:03:41 ◼   ► Yeah, it was really good. It was nice to hear John

00:03:45 ◼   ► able to

00:03:47 ◼   ► rant in his giant paragraphs about the Mac. Very hypercritical style. For those listeners out there who miss

00:03:54 ◼   ► hypercritical and who want a show where Casey and I aren't here and it's mostly John ranting in these like large composed

00:04:02 ◼   ► you know arguments. This had a lot of that in it, and I really appreciated that as a listener.

00:04:08 ◼   ► I was just gonna say the opposite that I felt like on that show what I was doing was trying to give the Cliff Notes

00:04:12 ◼   ► versions of what people get an ATP because everything I said on the talk show are things we've discussed in the past in the ATP,

00:04:17 ◼   ► but I have to give the the compressed version because it's just one appearance as opposed to over weeks and months.

00:04:23 ◼   ► So if you're listening to ATP you're getting the the pure uncut stuff,

00:04:27 ◼   ► but if you want the Cliff Notes, you can check out that episode of the talk show.

00:04:30 ◼   ► Well either way, I thought it was very good, and if you're a listener to the show,

00:04:33 ◼   ► and if you don't regularly listen to the talk show you might want to make some time for this one because it's very very good.

00:04:38 ◼   ► All right, John, I think especially has lots of thoughts about Clubhouse. Can you tell me about this John?

00:04:44 ◼   ► Yeah, I've been still hanging out in the Clubhouse as they say. No one said that.

00:04:49 ◼   ► A couple of thoughts and extra bits about Clubhouse.

00:04:54 ◼   ► The first one is, and I forgot to mention this last time, it occurred to me even when I was just first

00:04:59 ◼   ► participating in these Clubhouse rooms,

00:05:01 ◼   ► you know, so that you've got speakers who are quote-unquote "on stage" and they can nominate other people to come up on stage and speak, right?

00:05:07 ◼   ► And the rest of the time

00:05:10 ◼   ► there's an audience, like the way it's presented is the speakers are at the top with their little avatars,

00:05:14 ◼   ► then there's a second section which says it's like people that the speakers follow, and

00:05:18 ◼   ► then there's a third section where the avatars get a little bit smaller, and that's like everybody else, right?

00:05:22 ◼   ► And anybody can be nominated to be a speaker, then they go back down to their thing.

00:05:26 ◼   ► So when you're in a room and someone is talking and you're in the audience,

00:05:30 ◼   ► the total number of things that you can do in the audience are, number one, raise your hand,

00:05:35 ◼   ► which says, "Hey, I would like to be nominated as a speaker to let the people who are speakers know they can pick you

00:05:41 ◼   ► or not," right? Or two, leave the room.

00:05:44 ◼   ► And like when I was down there,

00:05:47 ◼   ► I was thinking of our podcast where we do a thing kind of like Clubhouse where there's a bunch of people right now

00:05:51 ◼   ► who are in a chat room, and

00:05:53 ◼   ► although we can't nominate them to speak on the show, they can talk to each other through text in the chat while we

00:06:00 ◼   ► are on stage, and I find that an incredibly valuable thing.

00:06:03 ◼   ► You know, you can't invite every single person from the audience up to be a speaker in any kind of Clubhouse room.

00:06:10 ◼   ► I haven't seen any that have been like that.

00:06:11 ◼   ► It's always like you nominate the lucky few who get to talk and the rest of the people are just in the chat room, and

00:06:15 ◼   ► they don't get to do anything in Clubhouse.

00:06:20 ◼   ► You know, I'm not saying they should add a text chat, but I feel like it's something I'm used to and would find valuable.

00:06:26 ◼   ► I like the idea that the audience can speak amongst themselves, and that's a huge can of worms as we know.

00:06:30 ◼   ► Not every audience is as well behaved and wonderful as our chat room.

00:06:35 ◼   ► Once you get more than a handful of people in there,

00:06:37 ◼   ► then it just becomes a giant cesspool to see any chat in Twitch or Live Chat in the YouTube stream or anything like that.

00:06:44 ◼   ► So I fully understand the problems, and I'm thinking they're making the right call for this stage in their startup process.

00:06:50 ◼   ► But I have to say that I missed the chat room experience in Clubhouse. Have either one of you done any more

00:06:56 ◼   ► Clubhouse observing slash participating?

00:06:59 ◼   ► Yeah, I think all three of us, or I think maybe it was me and some with Jon and some with Marko, were in a chat.

00:07:05 ◼   ► Shoot, what was that?

00:07:07 ◼   ► Was that the one the Gruber pointed everyone to about like UX design and stuff like that?

00:07:11 ◼   ► Yeah, yes, that's what it was, and it was good. I enjoyed it. I don't

00:07:16 ◼   ► personally see this as something that I would do often, but if somebody whose work I enjoy is

00:07:22 ◼   ► talking about a topic I find interesting, and I'm not also doing something else, which is a lot of ifs, ifs, ifs,

00:07:28 ◼   ► yeah, I think it would be something I would enjoy. And it just so happened at that particular time, you know,

00:07:33 ◼   ► I saw that Jon was doing something, and I enjoyed Jon's work, and

00:07:36 ◼   ► it was something that I thought was interesting, and it ended up being interesting.

00:07:39 ◼   ► And so I popped in for a bit, and I saw both of you guys there at some point or another.

00:07:42 ◼   ► And I definitely enjoyed it, and I was able to do other things simultaneously, not unlike a podcast,

00:07:47 ◼   ► but basically once I joined the room, I closed, or I didn't close the app, I suppose, but I turned off my phone.

00:07:55 ◼   ► I locked my phone and didn't play with my phone anymore.

00:07:58 ◼   ► And I don't know if that's good or bad for Clubhouse,

00:07:59 ◼   ► but it was good for me from a user experience perspective, except that it wasn't very sticky as the

00:08:04 ◼   ► people like to say, in the sense that I wasn't, you know, piddling with the phone at all or with the app at all.

00:08:10 ◼   ► I was just sitting there listening. And yeah, it would have been nice to have a chat room.

00:08:13 ◼   ► This is still a thing that I

00:08:16 ◼   ► have not found compelling, like even when it's people I like, even when, like there's never a time

00:08:25 ◼   ► when I stop wishing it was a podcast in a podcast app. People keep saying, you know,

00:08:31 ◼   ► that people who say things like that are missing the point, and we're not taking advantage of the two-way nature of Clubhouse.

00:08:38 ◼   ► And, you know, and I think, you know, it's worth mentioning too that we're not just picking on this one particular service,

00:08:44 ◼   ► but now we're also gonna be picking on this category of things since everyone's copying them.

00:08:48 ◼   ► First of all, I still don't want to talk on most of these.

00:08:52 ◼   ► I think most people who listen don't want to talk. I think the, you know, John,

00:08:58 ◼   ► I think was being kind just now talking about, you know, the issues of how this kind of two-way communication thing scales.

00:09:05 ◼   ► I think if you've ever been in a conference that had a Q&A where you were like,

00:09:10 ◼   ► there's mics that are passed around or, you know, open mic somewhere out in the auditorium and people can like come up and like

00:09:15 ◼   ► ask a question at certain points or make a comment,

00:09:17 ◼   ► that usually is not very interesting to listen to.

00:09:20 ◼   ► The only people who tend to like Q&A parts of

00:09:24 ◼   ► conferences and stuff are people who want their voices to be heard, who have something to say and they want to say it.

00:09:29 ◼   ► That's very different from

00:09:32 ◼   ► listeners really benefiting strongly from it.

00:09:34 ◼   ► And everybody can point to, you know, some clubhouse they were in

00:09:38 ◼   ► in this period where it's been like super hot and all these like VCs and famous people are trying it out.

00:09:44 ◼   ► Almost everyone can point something and say like, well, look at how valuable this was because, you know, famous or insightful person X

00:09:50 ◼   ► happened to be there and this is amazing that you have access to them and wow, isn't that great?

00:09:55 ◼   ► But the reality is that's temporary and that doesn't scale.

00:09:58 ◼   ► Like it's temporary in the sense that right now all these like VCs and celebrities and stuff are checking this out

00:10:05 ◼   ► because it's the hot new thing amongst these circles.

00:10:08 ◼   ► But they're gonna move on and get bored of it too, just like everyone just like they always do because it's a big world.

00:10:15 ◼   ► There's a lot of stuff that happens.

00:10:16 ◼   ► So they're only gonna be it be there for a short time. In the meantime, the floodgates are going to slowly open and

00:10:22 ◼   ► flood the service with a whole bunch of people who you all don't want to hear from and who are gonna be competing

00:10:28 ◼   ► for

00:10:29 ◼   ► everyone's attention in these rooms that you want to get into and try to make your voice heard.

00:10:33 ◼   ► And so it's gonna just become like more crowded and the signals to noise ratio is going to decrease.

00:10:40 ◼   ► The quality level of the average participant is going to decrease and the whole service

00:10:45 ◼   ► I fear is gonna just turn into like this Q&A at conference kind of thing where

00:10:48 ◼   ► the the two-way nature of it is

00:10:51 ◼   ► it loses a lot of its value because

00:10:56 ◼   ► most of the second way, like most of the way back is is not of

00:11:00 ◼   ► high enough quality that anybody wants to hear it and I think it would just like grind most shows to a halt.

00:11:06 ◼   ► You know, I heard somebody discussing it. I forget who. I'm comparing it to a panel discussion at a conference.

00:11:13 ◼   ► I think that's apt

00:11:15 ◼   ► except panel discussions at conferences usually are the least interesting conference sessions in my opinion and

00:11:20 ◼   ► I kind of find it to be kind of like an easy way out as a conference speaker because you don't have to do a

00:11:24 ◼   ► lot of planning compared to a full-blown like single person talk

00:11:27 ◼   ► and there's less value there. Now imagine the panel discussion format with even less planning and

00:11:34 ◼   ► where half the session is Q&A from the audience and I just don't see how that produces

00:11:41 ◼   ► value for listeners consistently. To me it just seems like an easy way to make a whole bunch of like

00:11:48 ◼   ► bad AM talk radio show quality stuff

00:11:52 ◼   ► but at even greater scale than ever before and that's that's fine

00:11:55 ◼   ► and I'm not gonna say that like good stuff will never come up where you have like, you know

00:11:59 ◼   ► good people like telling their Steve Jobs stories and whatever else like that's gonna occasionally happen, but that's not the norm

00:12:06 ◼   ► even now that's not what's usually going on there and

00:12:09 ◼   ► that's going to become even less of the norm over time as the service scales to more and more

00:12:14 ◼   ► uninteresting people who just want to have their voices heard.

00:12:18 ◼   ► What happened to you being optimistic and not an old curmudgeon and not poo-pooing the new thing?

00:12:23 ◼   ► Remember when you were talking about that? You seemed to have turned over a new leaf with your pessimism.

00:12:27 ◼   ► Yeah, I listened to podcasts again and it was I learned how much better they were.

00:12:31 ◼   ► One thing I'll say to reassure you on the Q&A at a conference point and this is gonna sound bad

00:12:37 ◼   ► but I think it's actually an advantage of Clubhouse. In Clubhouse the speakers

00:12:42 ◼   ► get to pick who asked the question and they know at least something about the people they're picking and you can't see who they're not

00:12:49 ◼   ► picking like so you can't see them going no, no, no, no, yes.

00:12:53 ◼   ► You can't see them checking what your bio says how many followers you have who follows you, right?

00:12:57 ◼   ► 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 and do

00:13:02 ◼   ► in Clubhouse and that people do in Clubhouse.

00:13:04 ◼   ► It's not a random selection of Q&A and even in the worst case like the only big conferences

00:13:10 ◼   ► I go to is you know, I used to go to PAX every year a while back and then of course I go to WWDC and

00:13:15 ◼   ► sometimes I really like the Q&A's. In fact, there was one session at PAX the entire two-hour session was

00:13:22 ◼   ► 100% Q&A now granted in like comedy type shows getting random questions from the audience is part of the fun

00:13:28 ◼   ► but on 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 want

00:13:34 ◼   ► to answer hard questions about the App Store but setting that aside the place where Q&A still exists at WWDC is

00:13:39 ◼   ► in the celebrity lunch sessions where they have someone famous or you know

00:13:44 ◼   ► you know well established in a profession or whatever come up and do a talk not about Apple stuff and

00:13:49 ◼   ► you know again, sometimes the Q&A's there were terrible too, but sometimes they were really good, especially if it's a you know

00:13:55 ◼   ► beloved character as Brelman would say, you know, someone who the audience really

00:14:00 ◼   ► loves and wants to hear things from every single person in line loves the person and gives them nice respectful

00:14:06 ◼   ► hopefully interesting questions and the audience enjoys it so I

00:14:10 ◼   ► know I was still

00:14:12 ◼   ► my main frustration with clubhouse now is still when someone tries to talk to me when the clubhouse is on I pull out one of

00:14:17 ◼   ► my AirPods and the thing doesn't stop

00:14:19 ◼   ► Again, I see last week where I wished for pausing and catching up. But anyway, that's

00:14:25 ◼   ► I'm I'm still investigating clubhouse sounds like Marco may not be investigating much longer, but you know, not everything is for every person

00:14:34 ◼   ► There's tons of things that we all don't do. I don't think Marco plays video games and streams himself

00:14:39 ◼   ► But that is a very popular thing to do despite the fact that Marco doesn't want to do it

00:14:42 ◼   ► Oh, yeah, and that and I mean I'm not saying anything like that. But yeah, I just I just

00:14:45 ◼   ► So far like I like when Grouro joined that that room everybody was talking about I saw and I saw the two of you were

00:14:53 ◼   ► And I'm like, alright fine. I should probably join this and see what this is about

00:14:55 ◼   ► That particular room demonstrated an anti pattern that happens not an I don't know. It's an anti pattern

00:15:01 ◼   ► I don't know what you can do about it

00:15:02 ◼   ► Maybe it's a feature but it's it's an awkward thing that I've seen happen in clubhouse multiple times now in my tiny experience in clubhouse

00:15:08 ◼   ► Which is someone starts a room for an intended purpose

00:15:12 ◼   ► someone

00:15:14 ◼   ► Essentially more famous than them joins the room

00:15:16 ◼   ► joins the audience

00:15:18 ◼   ► they nominate them as a speaker and then all the audience wants to do is ask questions of the person who was just nominated as a

00:15:23 ◼   ► Speaker and that's nobody's fault really but it's a dynamic

00:15:27 ◼   ► That's a little bit awkward and weird because like, you know, if who's running the show and I give a clubhouse would say well

00:15:33 ◼   ► No one's running the show

00:15:34 ◼   ► It's just a big collaborative thing that just is an emergent property of the participants

00:15:38 ◼   ► But sometimes the person who started the rooms thinks they're running the show and then eventually they're not I

00:15:42 ◼   ► Haven't cracked this nut yet and found anything. That was really

00:15:46 ◼   ► That I really thought needed to be that format as opposed to like wow

00:15:52 ◼   ► This was just released as a podcast

00:15:53 ◼   ► I would enjoy this a lot more and it would end it would be a much easier for me to listen to it

00:15:57 ◼   ► It should be a fish concert because they can nominate people to play guitar from the audience and Marco would love it

00:16:02 ◼   ► It's all just collaborative and that's different every time

00:16:04 ◼   ► Maybe I'm just like a snob, but I mostly just want to hear the people who were good like I I want to hear like

00:16:12 ◼   ► Not just like hey, let's incorporate everyone's ideas in this discussion

00:16:16 ◼   ► What about the the kiss guy from the Foo Fighters concert? Am I getting this right?

00:16:20 ◼   ► I need Merlin on the show to tell me if I'm getting these references, right? I don't chat room

00:16:24 ◼   ► Look up kiss guy Foo Fighters. Tell me if I'm right. I don't know

00:16:26 ◼   ► If I had a ticket to the to the Foo Fighters, I wouldn't want them to pick random people from the audience

00:16:33 ◼   ► I want I want to see Dave Grohl like I want like that's that's why I'm going you might like kiss guy

00:16:37 ◼   ► I hope the whole reason this is the meme is it was some I don't know

00:16:40 ◼   ► details right some famous band invited someone up on stage to play guitar and the person was amazing and

00:16:45 ◼   ► The band was amazed by the fact that they were amazing. And anyway, I mean, I'll look it up

00:16:50 ◼   ► But like that first of all, that is probably not the common case

00:16:53 ◼   ► Just trying to make a fish joke as far as I'm concerned. It's a bunch of people noodling around on stage

00:16:58 ◼   ► So who cares they bring us accurate from the audience. That's all I was doing. That's not it. But yeah, okay

00:17:03 ◼   ► I know that's why it's a joke. Okay. Well that went right off the rails like a clubhouse room

00:17:08 ◼   ► Hey, no, if only this that's the thing. It is not enough over talking clubhouse. That's what a clubhouse needs more people talking at once

00:17:15 ◼   ► Yeah, Oh God, and that's the other thing too. Like it

00:17:18 ◼   ► Maybe again, maybe this must just be really wrong for me because what I hear on clubhouse

00:17:23 ◼   ► sounds in both audio quality and communication effectiveness like a conference call

00:17:30 ◼   ► It sounds like I'm just on a conference call. I hate conference calls

00:17:35 ◼   ► I think conference calls are one of the worst communication mechanisms we've ever devised as a species and this service basically is like

00:17:43 ◼   ► Hey jump on any conference call you want. Can everybody hear me?

00:17:48 ◼   ► Wait, no you talk. I think you're muted. Wait now. No John John now you talk. I can hear you typing

00:17:53 ◼   ► You know, I was just gonna say

00:17:55 ◼   ► Why?

00:17:57 ◼   ► Don't know why the two of you are complaining about conference calls. I'm on conference calls all day long

00:18:02 ◼   ► You two are not so you're desensitized. You don't realize how bad no no, it's the opposite. It's like being a desert island with fish

00:18:09 ◼   ► Even more like usually I am very fortunate and that usually I'm not on conference calls

00:18:16 ◼   ► So when I am on one and you know

00:18:18 ◼   ► Our wonderful sponsors and everything almost never make me do anything like this, but occasionally

00:18:24 ◼   ► somebody wants to have a call and

00:18:27 ◼   ► occasionally they can't be talked out of it and occasionally I have to go on a conference call and

00:18:33 ◼   ► Every time I want a conference call. I have a number of opinions

00:18:36 ◼   ► number one is like

00:18:39 ◼   ► Who are all these people on this?

00:18:41 ◼   ► Why did this call have to have seven people on it when only one to two of them are actually talking ever?

00:18:48 ◼   ► During the whole call. I don't even know what the six of these seven people do their job titles seem

00:18:54 ◼   ► Like they don't do anything or that they are redundant

00:18:57 ◼   ► You're missing out on the the great part of the conference call where everybody has to introduce themselves and it takes half an hour, right?

00:19:03 ◼   ► Yeah, exactly

00:19:03 ◼   ► and then and then most of people never talk again, so I didn't need to know that and

00:19:06 ◼   ► Am I supposed to remember what your voice sounds like the whole time? No, so and then

00:19:11 ◼   ► And then like afterwards like alright

00:19:13 ◼   ► The amount of like person hours that it cost to arrange the call then on the call

00:19:19 ◼   ► Then the follow-up email after the call. It's like it must have cost this company like

00:19:24 ◼   ► $20,000 and like what was that worth it that couldn't possibly have been worth that

00:19:30 ◼   ► That could have just been an email. So yeah, I'm not a fan of conference calls in case I guess that wasn't clear

00:19:36 ◼   ► Oh, I had no idea. I don't know

00:19:37 ◼   ► I I'm I think between the two of you guys John. I think you have some some reserved

00:19:44 ◼   ► Enthusiasm for it. It seems I think mine is even more reserved and Marco. I think that you've pretty much

00:19:50 ◼   ► Unequivocally decided it's not for you. And I think any of those conclusions is perfectly reasonable

00:19:55 ◼   ► but we should move along a little bit a gee Rambo did some investigations with regard to the

00:20:02 ◼   ► The spewing and uploading of all of your contacts and so he had a short Twitter thread

00:20:08 ◼   ► And I will read pretty much all of it

00:20:10 ◼   ► Gee says I just had a poke at the clubhouse app with a proxy given the recent concerns about contacts usage

00:20:15 ◼   ► The bad part is that it uploads all of your contacts phone numbers surprise

00:20:18 ◼   ► 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

00:20:24 ◼   ► several pieces of data including email address and picture

00:20:26 ◼   ► The clubhouse only uploaded the phone numbers another problem is that the API used to upload the phone numbers doesn't seem to be using SSL pinning

00:20:34 ◼   ► Also, if they just want to match people based on who they have phone numbers for in contacts, they should use one-way hashes

00:20:40 ◼   ► So that's some technical jargon to say that if there there are ways in which they could do this more safely

00:20:47 ◼   ► But the good news is all they're taking is numeric phone numbers and seemingly nothing else

00:20:51 ◼   ► So it could be worse, but it's still not great. Yeah, I mean they have access to everything

00:20:56 ◼   ► Like the fact that the fact they're just doing phone numbers now unless you're going to constantly monitor or whatever like that could change at any time

00:21:01 ◼   ► Yeah, I just I still don't see how this is anything but a privacy disaster. And by the way

00:21:07 ◼   ► Probably a violation of GDPR also because all those phone numbers that people are uploading those people

00:21:15 ◼   ► Could not and did not consent to the sharing of that data

00:21:20 ◼   ► So it's got to be illegal in the EU for them to even possess this data in the first place

00:21:26 ◼   ► Yeah, I don't know what the GDPR says about data given to other private citizens that you know

00:21:31 ◼   ► What happens to it there if they give it to a company then obviously it's different

00:21:34 ◼   ► But anyway, who knows I'm sure they'll work it out with whatever if this ever gets big

00:21:39 ◼   ► I'm sure they'll work it out with whatever countries they're dealing with stuff in and by the way on the subject of hashing which I also

00:21:44 ◼   ► Brought up on a previous show a couple people on Twitter sent me links to

00:21:47 ◼   ► some

00:21:49 ◼   ► depressing demonstrations that given the limited

00:21:52 ◼   ► Given the limited sort of

00:21:56 ◼   ► Key space of email addresses and the email addresses are constrained. They can't be unlimited length

00:22:02 ◼   ► There's certain characters that are valid. They have a particular format

00:22:04 ◼   ► One way hashes are not quite so one way as you might think they are when it comes to email addresses

00:22:10 ◼   ► Given a little bit of time and effort which is a bummer, but you know, that's life

00:22:13 ◼   ► All right, can you tell me about ephemeral clubhouse? Yeah

00:22:19 ◼   ► The the supposed beauty and promise of clubhouse is that you know, it's not recorded. It's not a podcast

00:22:24 ◼   ► It's you had to be there if you were there great if not

00:22:27 ◼   ► Oh, well this shortly after recorded the show where we mentioned these stories about Steve Jobs clubhouse

00:22:33 ◼   ► It was posted to YouTube

00:22:35 ◼   ► Because it was recorded. I obviously I mean there's nothing you can do to stop people from recording it

00:22:40 ◼   ► I think the clubhouse app strongly discourages it but computers or computers

00:22:45 ◼   ► I'm not quite sure how this recording was made but not only was the stories from Steve Jobs thing recorded

00:22:50 ◼   ► But it was also uploaded to the computer history

00:22:53 ◼   ► Museum sites or sort of you know for as a as a historical artifact

00:22:57 ◼   ► So if you didn't get in on that clubhouse room and want to see it

00:23:00 ◼   ► It's on YouTube link will be in the show notes and related to that. There was a story in ink

00:23:06 ◼   ► website inc.com

00:23:08 ◼   ► It says with the sensational headline clubhouse is recording your conversations

00:23:12 ◼   ► And that's not even its worst privacy problem a little bit sensational but in their terms of service that nobody reads

00:23:18 ◼   ► It does say clubhouse says solely for the purposes of supporting incident investigations

00:23:23 ◼   ► We temporarily record the audio in a room while the room is live if a user reports a trust and safety violation while the room

00:23:28 ◼   ► Is active we retain the audio for the purpose investigating the incident and delete it when the investigation is complete if no incident is reported

00:23:34 ◼   ► In room, then we delete the temporary audio recording when the room ends

00:23:37 ◼   ► So, I mean not that you shouldn't have already been assuming this anyway

00:23:41 ◼   ► But just because the clubhouse app discourages you from recording

00:23:44 ◼   ► It doesn't mean that they're not recording it and you can see based

00:23:47 ◼   ► You know like that they have a thing in

00:23:49 ◼   ► clubhouse where you can report

00:23:51 ◼   ► Like a report a recent speaker if someone comes on stage and says something bad and you want to report them like this is all sort

00:23:56 ◼   ► of reputation and reporting system built into the app which is a good thing and

00:23:59 ◼   ► To sort of adjudicate those they have to have a recording of what went down rather than well

00:24:03 ◼   ► They don't have to but it's it's better to have a recording than to just take someone's word for it that someone did something bad

00:24:08 ◼   ► Or whatever so this makes some sense, but if you

00:24:11 ◼   ► Lest you believe that clubhouse really is completely like a wisp on the wind and it's here and it's gone

00:24:17 ◼   ► Just like all those other things whether it be Instagram stories or snapchat or whatever

00:24:20 ◼   ► You're giving your data to the service provider and they're doing with it

00:24:25 ◼   ► Whatever they want and if you're wondering what they're doing with it, you can read their 800 page

00:24:29 ◼   ► Terms of service and figure it out, but the bottom line is once you give it to them

00:24:33 ◼   ► They are you know, they're who knows what they're doing with it. And if you're uncomfortable with your things being recorded

00:24:40 ◼   ► Don't use clubhouse. But then again, you probably also shouldn't use Instagram stories or snapchat or any other service that records your audio

00:24:46 ◼   ► We are sponsored this week by away

00:24:50 ◼   ► Whether it's a trip to the corner store a weekend away or an extended stay with friends and family

00:24:55 ◼   ► We're all navigating the current reality of travel

00:24:59 ◼   ► But no matter your destination or your style

00:25:02 ◼   ► Aways suitcases bags and accessories all come in a variety of colors sizes and materials to suit your needs and inspire

00:25:10 ◼   ► Your future travels all of a ways suitcases are made to the highest quality

00:25:16 ◼   ► They are designed to last a lifetime with durable

00:25:19 ◼   ► Exteriors that can withstand even the roughest of baggage handlers and if any part of your suitcase ever breaks

00:25:25 ◼   ► Their standout customer service team will arrange to have it fixed or replaced these have lifetime

00:25:30 ◼   ► warranties and all these suitcases are

00:25:33 ◼   ► Incredibly well designed on the inside too

00:25:35 ◼   ► they have an interior organization system that includes things like a built-in compression pad to help you pack more stuff a

00:25:41 ◼   ► Hidden removable laundry bag to separate your dirty clothes from your clean clothes as you travel and they all have four

00:25:47 ◼   ► 360-degree spinner wheels so you can roll them through the airport really easily and lots of maneuverability there and all this is available in a

00:25:55 ◼   ► nice huge variety of

00:25:57 ◼   ► Materials colors and sizes to fit your style and your personality

00:26:01 ◼   ► This is a great line of suitcases and other travel gear at away and you can see for yourself by taking advantage of their

00:26:07 ◼   ► 100-day trial all of their products come with a hundred day trial

00:26:11 ◼   ► So you actually are expected to take it out traveling like take take your new away suitcase out on the road

00:26:18 ◼   ► Live with it travel with it get lost with it for a hundred days

00:26:21 ◼   ► And if you decide it's not for you after that you can return any non personalized item for a full refund

00:26:26 ◼   ► No ifs ands or asterisks and they have free shipping and free returns on all orders of the contiguous us

00:26:33 ◼   ► UK Europe and Canada

00:26:35 ◼   ► So start your hundred day trial and shop the entire away lineup of travel essentials including their best-selling suitcases at away travel

00:26:42 ◼   ► calm slash accidental tech that's away travel calm slash accidental tech. Thank you to away for sponsoring our show

00:26:54 ◼   ► So John you also defected away from clubhouse and you've tried Twitter spaces notice the tried is in scare quotes in this item

00:27:02 ◼   ► Mm-hmm. I tried sure this clubhouse. This is like this is like right after we finished recording

00:27:06 ◼   ► The episode where Marco was saying like, you know

00:27:09 ◼   ► We were debating whether it was gonna be a future we purchased and Marco said is there it's gonna be both

00:27:13 ◼   ► They'll be copied by everybody else. But also maybe they'll get purchased

00:27:15 ◼   ► Twitter very quickly announced a bunch of stuff that they're doing one of which is hey, it's like clubhouse

00:27:23 ◼   ► but on Twitter and

00:27:25 ◼   ► Basically the way I found out about this so I don't use the Twitter official Twitter crime

00:27:30 ◼   ► but occasionally in my third-party client

00:27:32 ◼   ► I come on a tweet that I can't see the features of because Twitter is evil and doesn't allow third-party clients to have access to

00:27:37 ◼   ► All the features so for example polls if you see a poll, I can't see polls than my third-party Twitter client

00:27:42 ◼   ► So if I see a tweet that is a poll and I want to see it

00:27:45 ◼   ► I have to open it in the official client, right?

00:27:47 ◼   ► And so occasionally I do that and so I had I had done that like there was some tweet

00:27:50 ◼   ► I don't remember if it was a poll or not

00:27:51 ◼   ► But something like that that I couldn't see in my third-party Twitter client

00:27:54 ◼   ► So I hopped over to the real client which is just a matter of saying, you know

00:27:57 ◼   ► Open in Twitter open in browser even with the link redirect thing and I ended up in the official Twitter client. I'm so sorry

00:28:03 ◼   ► Yeah, it was tough. I saw a thing. I want to get out of there as fast as possible

00:28:07 ◼   ► I can't make heads or tails that mess and

00:28:09 ◼   ► I think I wanted to either reply or compose a tweet or something like I wanted to do something quickly and I was already in

00:28:14 ◼   ► The Twitter app so I pressed the little like compose button or something like that and it popped up like a constellation

00:28:20 ◼   ► Of three little circles. I

00:28:22 ◼   ► Don't know. I don't know paying attention or wet

00:28:25 ◼   ► But I hit one of the circles or hit something and rather than a tweet compose screen

00:28:29 ◼   ► What happened was I was suddenly in a Twitter space

00:28:33 ◼   ► and I was the host of the Twitter space and

00:28:37 ◼   ► Then apparently Twitter notified everyone who follows me. Hey

00:28:42 ◼   ► John has created a Twitter space Oh delightful

00:28:45 ◼   ► Do you want to come into John's Twitter space and space with him and then so my icon is a little?

00:28:51 ◼   ► My icons in the little Twitter space and then another icon appears and then another icon and then another icon then another icon

00:28:58 ◼   ► Another icon. I'm pretty sure at this point. My mic is live as well

00:29:01 ◼   ► Like because I press because I press there

00:29:03 ◼   ► I'm sorry

00:29:04 ◼   ► I'm in a thing and like my my I think I found like the mute thing or whatever and turn my mic off and

00:29:09 ◼   ► Then I was like because look I didn't know what Twitter spaces was at this point and I'm like

00:29:15 ◼   ► What just it looks so much like clubhouse and like did I accidentally swipe over to the clubhouse?

00:29:19 ◼   ► No, I'm still in the Twitter

00:29:20 ◼   ► Like what even is going on here?

00:29:22 ◼   ► And so the room filled up and I looked around for any other controls

00:29:26 ◼   ► What I would have done speaking of chat room is typed into the chat room and said, sorry everybody

00:29:31 ◼   ► I have no idea what I think I just pressed it to make this thing happen, but

00:29:35 ◼   ► I'm not I didn't do this on purpose and now I have to go so that's what I did

00:29:40 ◼   ► like the room had filled with like a dozen people and like the short period of time very short like

00:29:45 ◼   ► Seconds people had come in because I guess they got like push notifications and then I just bailed so

00:29:50 ◼   ► People who came into my to my Twitter space because I'm somehow in the beta or I don't know

00:29:56 ◼   ► This is a publicly roll out feature. I had no freaking idea. I'm sorry

00:30:00 ◼   ► I apologize for making a space and I apologize for not saying anything and just immediately leaving

00:30:04 ◼   ► This gets to what Marco was saying before was it was it Marco saying like you have no urge to speak

00:30:09 ◼   ► Yeah, any of these things I also this this is gonna sound weird for somebody who literally speaks into a microphone for hours every single

00:30:16 ◼   ► Week and then just revisit to the world

00:30:18 ◼   ► I also have no urge to speak in almost every clubhouse thing that I'm in and

00:30:24 ◼   ► Including these the Twitter space that I accidentally created

00:30:27 ◼   ► I haven't I don't have any urge to speak in that scenario now, and I don't know why that is like I

00:30:32 ◼   ► Obviously I wanted to do podcasting I got into it

00:30:35 ◼   ► You know like it was a thing that I thought about doing and was excited to have the opportunity to do

00:30:40 ◼   ► But just I don't know if it's a different skill set or I just got to get in the right vibe

00:30:44 ◼   ► I just have to try it a few times to get used to it, but so far. I'm

00:30:47 ◼   ► Not enthusiastic about hosting a room and not particularly enthusiastic about participating in a room. I think when it comes to clubhouse

00:30:55 ◼   ► I'm just a lurker and when it comes to Twitter spaces apparently I'm an accidental activator

00:30:59 ◼   ► Cue the theme song yeah

00:31:02 ◼   ► And so Twitter is rolling out some more things that are just tangentially related

00:31:06 ◼   ► We're not gonna have time to go into now

00:31:07 ◼   ► But I figure they're worth mentioning super follows

00:31:09 ◼   ► Which I think is actually a clever name because it makes no sense, but sounds neat

00:31:13 ◼   ► Super follows is where you can charge people to get access to exclusive content on Twitter

00:31:18 ◼   ► Which is interesting does that means Twitter is gonna have to you know get people's payment methods and just you know the whole deal right now

00:31:25 ◼   ► No one pays to use Twitter as far as I know right. I think that's right unless you're you know advertising with them

00:31:31 ◼   ► Yeah, I suppose anyway

00:31:33 ◼   ► And then you can offer them you know bonus content tweets that only they can see a group a newsletter

00:31:40 ◼   ► Who knows this is not a release feature at least not released to me so but but it's Twitter

00:31:46 ◼   ► This was it that like that investor meetings would say we're gonna do a thing where you can charge people to get exclusive content

00:31:51 ◼   ► So let's see how that turns out, but you know hey at least Twitter is trying something and then the final thing is communities

00:31:57 ◼   ► Which is like they show in the screenshot here groups one group called crazy for cats one group called surf girls

00:32:05 ◼   ► Gurlz and plant parents, and I don't know what they're trying to go for here

00:32:10 ◼   ► It's like every time you look at what these things have to squint to say who are they trying to copy so it's like okay?

00:32:14 ◼   ► spaces is a

00:32:16 ◼   ► Clubhouse super follows is patreon

00:32:19 ◼   ► Twitter communities is what like Facebook groups yeah?

00:32:25 ◼   ► No

00:32:27 ◼   ► anyway

00:32:29 ◼   ► Coming soon to a Twitter client that you should never use near you

00:32:32 ◼   ► Yeah, I try periodically to go to the official Twitter client just to see you know what's going on there and

00:32:40 ◼   ► There are a couple things I like about it, but overwhelmingly so much about it. I really dislike and

00:32:47 ◼   ► one of the best examples is

00:32:50 ◼   ► There is no

00:32:52 ◼   ► Sorter I haven't found any sort of idea of state

00:32:56 ◼   ► so I

00:32:58 ◼   ► do try to be a Twitter completionist for a list a private list that I have and

00:33:02 ◼   ► Certainly for my mentions, and it seems like every time I arrive at the official Twitter client. It's just like hmm

00:33:09 ◼   ► We're gonna put you right here. I have no idea. Why you don't have any idea

00:33:13 ◼   ► Why I don't have any idea why but that's where you're gonna start because that sounds fun

00:33:17 ◼   ► And if they just got that right I think it would actually be semi tolerable

00:33:22 ◼   ► I wouldn't say it would be great, but it'd be semi tolerable

00:33:24 ◼   ► But golly every time I go in land there even if I've like even if that was the last

00:33:29 ◼   ► You know Twitter client. I used it's still like oh, yeah

00:33:33 ◼   ► We'll just put you in the middle of nowhere why not and it's very very frustrating

00:33:36 ◼   ► I want to make that pitch like I continue to be shocked every time I

00:33:39 ◼   ► Realize that some person I am acquainted with in my tech nerd circles

00:33:45 ◼   ► Uses the official Twitter client because they'll complain about something like seeing ads or some other thing and their

00:33:51 ◼   ► Official Twitter client if you're listening to this extremely tech nerdy podcast

00:33:54 ◼   ► And you are used Twitter at all and you are using the official Twitter client

00:33:58 ◼   ► And you've never tried a third-party client

00:34:00 ◼   ► I know it's a lot of qualifiers. Please check out a third-party Twitter client for iOS

00:34:05 ◼   ► There are lots of good ones to choose from I use Twitter epic and love it tweetbot is also very good

00:34:08 ◼   ► There are others to choose from it's so much better if you just want a sane reverse chronological

00:34:14 ◼   ► Timeline of tweets in order from the people you follow which sounds like what Twitter should always be

00:34:20 ◼   ► But hasn't been for many many years the official client is janky in many ways

00:34:24 ◼   ► I know you can turn off the algorithmic timeline if you are persistent

00:34:27 ◼   ► But in a third-party client you don't get ads unless they're ads from third-party client itself

00:34:33 ◼   ► Which you can usually pay to get rid of and if you can't use a different third-party client where you can

00:34:36 ◼   ► It's just so much nicer experience like I don't I think very often that if I couldn't use a third-party client

00:34:42 ◼   ► Would I still use Twitter? I would use it a lot less or I would like it a lot less

00:34:46 ◼   ► So if you've never tried it give a third-party client a try

00:34:50 ◼   ► That actually is I think the best reason to use the main client is if you want to use Twitter less

00:34:55 ◼   ► It encourages you to use it last because it stinks it does because it is yeah

00:35:00 ◼   ► It's so like weird to use the main client. You might end up in a space. It's really

00:35:06 ◼   ► It's it's it's quote good. It's it's good if what you want to do is

00:35:12 ◼   ► Be a very light Twitter user very casualties where you just like dip in occasionally

00:35:18 ◼   ► Look at some random crap and then dip out

00:35:21 ◼   ► It's good for that

00:35:22 ◼   ► That's pretty much all it's good for and so if that's what you're going for if you're like currently like super addicted to Twitter

00:35:29 ◼   ► And you're trying to like reduce maybe being a completionist or something else

00:35:34 ◼   ► Then by all means delete every other Twitter app on your phone and just use the main app because it will force you

00:35:39 ◼   ► Into the habit of using Twitter less because it is so bad at being a power user app

00:35:45 ◼   ► Can you try can you speaking of that? Can you both launch the official Twitter app right now and long?

00:35:49 ◼   ► Press on the compose tweet button. I did that earlier. Yeah, so I get three options

00:35:53 ◼   ► I get what appear there three icons and this is very reminiscent of what was it path that did this like radial thing way back

00:35:59 ◼   ► In the day, which is really beautiful social network, even though it was otherwise useless

00:36:03 ◼   ► There's a three lines with a quill which I believe means make a new text tweet

00:36:08 ◼   ► There's a box with gif in the center that presumably means, you know

00:36:13 ◼   ► Make a tweet with an animated gif and then there's like a box with a landscape in it and I presume that means

00:36:18 ◼   ► You know open your photos and tweet a photo and that's all I have

00:36:22 ◼   ► Marco I don't have it installed

00:36:25 ◼   ► I'm not gonna install for this

00:36:28 ◼   ► All right

00:36:28 ◼   ► Anyway, I've got the same first two buttons as Casey but my third button is a diamond made out of dots

00:36:34 ◼   ► And that's the spaces thing

00:36:35 ◼   ► so I just wanted to see if it was rolled out for everybody if I'm just a lucky person, but so instead of the

00:36:41 ◼   ► Upload a photo you have the diamond diamond made out of dots

00:36:45 ◼   ► Which honestly even if I had looked at I would have had no idea what that was going to do

00:36:49 ◼   ► I I there's a part of me that wants to just use the official Twitter client and live the way the

00:36:55 ◼   ► Regular people do and then I use it for ten minutes. I'm just like oh god

00:36:58 ◼   ► It's no regular people shouldn't live though. That's what I'm saying

00:37:01 ◼   ► Like I don't know people that's why I said I made the point to say it on the podcast because like

00:37:05 ◼   ► For regular people might be they don't care but like it's so much better than than the other

00:37:11 ◼   ► Than the official client if you just want like like imagine if when you looked in your email inbox

00:37:17 ◼   ► It just gave you like a random selection of your emails algorithmally chosen

00:37:20 ◼   ► You'd be like, but I just just show me all the emails I got in chronological order. I'll go through them, right?

00:37:24 ◼   ► I don't just try to guess at what I want to see like if that's how you if that is how you want to interact

00:37:29 ◼   ► With Twitter to Marcos point. Maybe you don't maybe you just want it to be like

00:37:32 ◼   ► I'll show me some popular stuff and then I'll bail but if you want to interact with like you interact with

00:37:36 ◼   ► RSS or email a third party Twitter client and even if you don't even if you like the

00:37:41 ◼   ► Timeline just to get rid of ads like and yeah, I know he's like who you didn't just say you can't use polls and stuff

00:37:45 ◼   ► Trust me. You're not missing much most Twitter polls stink

00:37:48 ◼   ► You know and you can always go over to the it's it's the worst

00:37:51 ◼   ► You can't even see the results unless you vote

00:37:53 ◼   ► That's why everyone has to put the just show me the results thing and they limit the number of choices

00:37:57 ◼   ► I tried to do a Twitter poll like sometime this past year and I was so angry that I couldn't put all my options in

00:38:02 ◼   ► Because there was a limit it's like five options or something and I had six for my joke poll

00:38:06 ◼   ► I'm like, oh, well, you just ruined my joke nice thing

00:38:09 ◼   ► Five options whatever the hell it is. I'm not saying this should be a thousand but it should be more than like a handful

00:38:15 ◼   ► We are sponsored this week by Linode my favorite place to run servers

00:38:21 ◼   ► Whether you are working on a personal project or managing your enterprises infrastructure

00:38:25 ◼   ► You deserve simple affordable and accessible cloud computing solutions that allow you to take your project to the next level

00:38:31 ◼   ► Simplify your cloud infrastructure with Linode Linux virtual machines

00:38:35 ◼   ► You can develop deploy and scale your modern applications faster and easier get started today with a hundred dollars in free credit at

00:38:43 ◼   ► linode.com

00:38:45 ◼   ► slash ATP or text ATP to

00:38:48 ◼   ► 474 747 for that instant access to a hundred dollars in free credit Linode is a great web host

00:38:54 ◼   ► I've hosted I think I currently host something like 28 servers there

00:38:58 ◼   ► I've been with them for a long time long long long before they were a sponsor and

00:39:02 ◼   ► They're just they're a great host. They have amazing value

00:39:05 ◼   ► You know if you compare the resource levels and stuff that you get from them compare to anybody else in the business

00:39:10 ◼   ► And I don't think I've ever seen anybody who can consistently beat them

00:39:13 ◼   ► It's it's just really it's a great value for what you pay for what you get and it's just really great

00:39:18 ◼   ► Even at any price like I love their control panel. I love their capabilities

00:39:23 ◼   ► They have all they have 11 data centers

00:39:25 ◼   ► You can stick your servers in they have all different kinds of server capabilities and optimizations for different tasks

00:39:29 ◼   ► If you need they have all sorts of managed additional services like their new s3 compatible object storage

00:39:35 ◼   ► They have managed kubernetes support and there's so much more at Linode great support if you ever need it

00:39:40 ◼   ► I needed it recently and they're just wonderful

00:39:43 ◼   ► Super easy to deal with and the people that you talk to are like the right people

00:39:48 ◼   ► There's never any kind of tears or handoffs to like higher level service. It's just like you're always talking to the right people

00:39:53 ◼   ► It's it's great visit linode.com

00:39:55 ◼   ► Slash ATP and click that create free account button to get started or text ATP to four seven four seven four seven

00:40:03 ◼   ► Get started on Linode today. Thank you to Linode for hosting all my servers and sponsoring our show

00:40:08 ◼   ► So speaking of official clients that are meh and third-party apps that are way better overcast 2021.1 is out

00:40:18 ◼   ► Doesn't just roll off the tongue. Does it? Nope

00:40:22 ◼   ► You gotta give my cool you gotta give cool code names for your releases. This is the

00:40:26 ◼   ► Watch me now release. I don't know come on. Well done. Well done

00:40:29 ◼   ► I you know, I actually I really like I think I first saw this from Curtis Herbert and slopes

00:40:35 ◼   ► And then Marco adopted it shortly thereafter, but I do like this kind of year and then increment version scheme

00:40:43 ◼   ► Which is what I've used for my apps, but no it does not roll off the tongue at all. No

00:40:48 ◼   ► Yeah, and I think I might kind of regret this versioning scheme just because it's so clumsy you got version inflation

00:40:55 ◼   ► You can't go back now

00:40:56 ◼   ► You literally can't like Apple does not allow you to ship a version to the App Store that it's like numerically less than the one

00:41:03 ◼   ► You should be last you use scientific notation

00:41:05 ◼   ► Nine-ninety five

00:41:09 ◼   ► Yeah, I feel like I should just do you know version like alright five thousand dot one

00:41:14 ◼   ► Five thousand dot two you can put an exclamation point and then they'll treat this factorial. Yeah, maybe that's like all the fields in Photoshop

00:41:21 ◼   ► Or you can put in math expressions and it was expand them for you. I don't think Photoshop on a trans factorial now

00:41:26 ◼   ► I just want to go test that and tell us about this Marco the main

00:41:30 ◼   ► Changes in this version of overcast are under the hood stuff that nobody even sees

00:41:35 ◼   ► And then secondly the entire watch app the main goal of this was

00:41:41 ◼   ► Number one modernize a lot of the guts of the app a lot of the like data layer the network layer all that stuff

00:41:47 ◼   ► Because it was all you know seven year old code most of which is still there

00:41:52 ◼   ► but you know modernize it to the point where

00:41:56 ◼   ► Both it could be you know optimized to whatever it needs to be for modern day, but also the driving factor behind it was I

00:42:05 ◼   ► Wanted to rewrite the watch app

00:42:08 ◼   ► to have the same

00:42:10 ◼   ► sync engine and all the you know model and data layers and stuff as the main app because

00:42:16 ◼   ► The watch app was miserably bad at being reliable and at sync and everything else

00:42:24 ◼   ► It was to the point where I knew like, you know phone to watch communication is so unreliable

00:42:30 ◼   ► With with the watch connectivity framework and everything. It's so unreliable. I knew like the key to happiness here is to have the watch

00:42:39 ◼   ► be a first-class sync client that syncs directly to the overcast web service and

00:42:43 ◼   ► Runs all the sync stuff itself and only communicates to the phone

00:42:48 ◼   ► When it comes time to like use the watch as a remote for the phone app

00:42:53 ◼   ► Which is a common use granted probably even the most the most common use but that should be the only communication

00:42:59 ◼   ► It does you know the phone telling it what's playing on the phone the watch telling the phone like hey

00:43:04 ◼   ► the user just hit pause pause the audio whatever that kind of thing but not using the phone app and that communication channel as this like

00:43:11 ◼   ► Way to sync all the data to the watch and all the podcast files

00:43:15 ◼   ► For people who are wanting to listen to stuff directly on the watch without their phone present

00:43:20 ◼   ► Like if they're going on a run or whatever

00:43:21 ◼   ► I knew I had to bring the sync engine over to the watch in order to do this

00:43:27 ◼   ► There were two major

00:43:29 ◼   ► undertakings number one

00:43:33 ◼   ► the watch does not run UI kit and

00:43:35 ◼   ► for the time being at least the watch does not run my audio processing engine and

00:43:41 ◼   ► so all the places in the sync engine and the model layers all the places where

00:43:48 ◼   ► that code was

00:43:51 ◼   ► Intertwined with UI kit or with the audio engine had to be broken up and made you know more orthogonal

00:43:59 ◼   ► So I couldn't have like a little clause in the sync engine as oh well if you know if this is

00:44:05 ◼   ► you know sync this way or if this condition happens in the model layer go tell the audio engine to do this or

00:44:11 ◼   ► Fire this UI notification directly to the UI of the app, you know, I could I had to like break those bonds make the code more

00:44:19 ◼   ► isolated more orthogonal more independent from the other components of the app so that like the sync and model layer could sync itself

00:44:27 ◼   ► Without any UI kit code without any you know tying in with the with the phone app in ways that I couldn't bring over the watch

00:44:34 ◼   ► app

00:44:36 ◼   ► Part two was simply making it more efficient

00:44:38 ◼   ► Because to run the sync engine and everything to run that whole thing the whole data engine on the watch

00:44:44 ◼   ► well, the watch has a way slower processor way less RAM way less storage space and

00:44:50 ◼   ► You are allowed to use way less of those resources before your app gets killed

00:44:56 ◼   ► Background operation on the watch is very limited if you use I think two seconds of CPU time your app gets killed

00:45:03 ◼   ► And and you know again memory is constrained

00:45:06 ◼   ► So it's a it's a much more constrained environment for resources and for what apps are allowed to do and when?

00:45:11 ◼   ► So I had to make everything, you know efficient and it was already pretty close, but it was it took some work and then finally

00:45:18 ◼   ► I wanted to rewrite the watch app in Swift UI for lots of reasons. I mean watch kit is

00:45:25 ◼   ► the worst and Swift UI

00:45:27 ◼   ► While it has many challenges to it is a hell of a lot better than watch kit in so many ways

00:45:36 ◼   ► It's not even close

00:45:37 ◼   ► So, you know, I was willing to tolerate the pain of learning Swift UI and all the weird walls you hit when using Swift UI

00:45:44 ◼   ► compared to the

00:45:46 ◼   ► immense pain I knew from watch kit the that last challenge was to adapt or

00:45:52 ◼   ► rewrite

00:45:54 ◼   ► parts of my almost entirely objective C data layer

00:45:58 ◼   ► to

00:46:00 ◼   ► Be easily integrated into Swift UI which involves in many cases

00:46:05 ◼   ► Just rewriting certain classes in Swift things like the download manager

00:46:09 ◼   ► The sync queue for sync operations like for how those are scheduled stuff like that so that they could then tell the UI

00:46:15 ◼   ► Things like whether sync is in progress what the download state is of an episode. It's you know things like that

00:46:22 ◼   ► It's much much much easier and better to have a lot of that stuff be in Swift classes and so

00:46:30 ◼   ► making the data layer

00:46:33 ◼   ► integrate better or at all with Swift UI

00:46:35 ◼   ► required a lot of rewriting stuff in Swift or writing shims on top of things in Swift, so

00:46:41 ◼   ► That was the main challenge of this of this version is over the last few I think about three or four months or so

00:46:47 ◼   ► rewriting core components in Swift when necessary

00:46:51 ◼   ► bridging things to Swift and making things more Swift friendly when I wasn't rewriting them and then rebuild and then

00:46:57 ◼   ► making all the code

00:46:59 ◼   ► like for syncing everything standalone from the rest of the iOS app so that it could be built and run on the watch and

00:47:06 ◼   ► Making that efficient enough that I didn't get killed constantly

00:47:09 ◼   ► That's what this update was and what users saw was basically like bug fixes and new watch

00:47:17 ◼   ► That's like you know this massive amount of work you know massive amounts of change all of that to basically see

00:47:25 ◼   ► Bug fixes and the watch app is all new

00:47:29 ◼   ► But those you know that's all that's the kind of thing that I really needed and and the watch app was in a really bad

00:47:34 ◼   ► State before this it really didn't work well for a lot of people and so I had to really tackle that and

00:47:39 ◼   ► This allowed me to do a bunch of other stuff like there was a whole thing about I did rewrite all the intent handling

00:47:46 ◼   ► Adopting the new intent handling required me to switch my

00:47:51 ◼   ► old UI app delegate thing to UI scene delegate that the scene delegate API that was launched a few years ago and

00:47:58 ◼   ► I did I decided well

00:48:00 ◼   ► I might as well do that in Swift as well

00:48:02 ◼   ► And then I might as well you know rewrite my app delegate since I have to write it anyway

00:48:06 ◼   ► I might as well rewrite the app delegate in Swift and as any iOS developer can tell you rewriting your app delegate

00:48:10 ◼   ► After a seven year codebase can be terrifying and quite an ordeal

00:48:15 ◼   ► So it's just like there was tons of stuff like that where in order to do some modern thing I had to

00:48:22 ◼   ► Either rewrite something from scratch or at least significantly change it to use a new API

00:48:29 ◼   ► And so that just it just took a lot of time

00:48:32 ◼   ► There's a lot of code modernization to do a lot of rewriting or refactoring or shimming to do

00:48:38 ◼   ► I still even gotten to all of it like part of the reason I was doing all this was to

00:48:43 ◼   ► Prepare myself to do iOS 14 widgets

00:48:45 ◼   ► Which I still frankly don't really want as a user like for it for a podcast app

00:48:52 ◼   ► I don't really think it's going to work the way people think it will

00:48:55 ◼   ► But my customers are demanding that in in moderate numbers, and so I figured I should probably do it

00:49:01 ◼   ► But even you know to do that I had to lay all this groundwork

00:49:03 ◼   ► There's a bunch of changes to car plays abilities in iOS 14 that this version does not tackle yet

00:49:11 ◼   ► But because I just in a time

00:49:13 ◼   ► But that's gonna be something I tackle next and I think a lot of this groundwork is going to help that

00:49:18 ◼   ► Become easier or possible. Wait so slow down

00:49:21 ◼   ► What is it that carplay can do now that it couldn't before for your for your perspective again?

00:49:26 ◼   ► I haven't looked too far into this yet again

00:49:28 ◼   ► I just have enough time

00:49:29 ◼   ► But I think you're able to have a lot more control over the types of UI that you can display then previously you know before

00:49:38 ◼   ► You know the car player piece I have now is built on this older API where you basically

00:49:43 ◼   ► Responded to Apple asking for a tree structure

00:49:47 ◼   ► So it would say all right. What's up? We're on like you know we're on the root screen

00:49:50 ◼   ► What what are the list elements of the root screen give me you know give me the list items

00:49:53 ◼   ► And then it would say all right

00:49:55 ◼   ► Person tapped in this item give me give me the list elements in the next level of the tree or whatever it was very very

00:50:00 ◼   ► Simple like list based thing and then the now playing screen. I had almost no control over

00:50:07 ◼   ► the new carplay API adds

00:50:09 ◼   ► Some ways and again. I don't I don't know to the extent yet

00:50:13 ◼   ► How much but it adds more places where you can customize what the UI actually is including on an out playing screen?

00:50:19 ◼   ► Which which is very important to me because I really want to be able to tackle that in a good way and so

00:50:26 ◼   ► My next major update I intend to have you know

00:50:30 ◼   ► Widgets and carplay redo basically, but that's probably a few months out still

00:50:34 ◼   ► It's a feature request from the chat room for a chapter skip and chapter control and display on the now playing screen

00:50:40 ◼   ► Yeah, and carplay yeah, that's that's certainly on my list. I don't know to what degree that's possibly like there

00:50:45 ◼   ► It's it's always been frustrating with carplay because

00:50:48 ◼   ► Like in in the previous one the one that my current app is based on

00:50:51 ◼   ► You could offer a speed control, but if you did like you you would have to say all right

00:50:58 ◼   ► Here's the list of speed I support and then the only way the user could go through them would be like

00:51:04 ◼   ► Tap the speed icon on the screen and it would then

00:51:06 ◼   ► If for every tap it would go to the next speed and so you'd have to like if you wanted to slow it down by

00:51:11 ◼   ► One you have to tap through every single go through chipmunk. Yeah, okay to go through every single other speed first

00:51:16 ◼   ► It was it was just a terrible experience. Like I tried I did it in beta once

00:51:20 ◼   ► I tried to actually use it that way and it was miserable

00:51:23 ◼   ► And so I didn't even I didn't even ship the speed feature even though I could have easily I just but I disabled it because the

00:51:29 ◼   ► Experience was so bad. So with this new carplay API, I believe we're able to do better things like that

00:51:35 ◼   ► So things like having a better speed picker or having a chapter list and chapter picker

00:51:41 ◼   ► I think will become possible with this new API, but until I actually try it I won't know

00:51:46 ◼   ► What a whether I can do it and then be whether it's shipable or not

00:51:50 ◼   ► 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

00:51:55 ◼   ► Automated testing that work you did to divorce your sync engine from your UI. It probably wouldn't have happened because you would have already had them separated

00:52:03 ◼   ► It's just so you could easily test the sync engine before you wrote the UI just saying not only that not only that but since we're

00:52:08 ◼   ► Beating on Marco now the one of the advantages of having any sort of automated testing is that when you do utterly destructive things like

00:52:15 ◼   ► Destroy your app delegate and move to a scene delegate

00:52:17 ◼   ► Not all of that and maybe even not a ton of it could have been covered by automated tests

00:52:22 ◼   ► but presumably more than zero could have been and in one of the things that I love most about when I do have good test coverage and

00:52:29 ◼   ► Do as I say not as I do I paint this picture like a unit test everything and I don't very far from it, but

00:52:35 ◼   ► When you do have good unit test coverage

00:52:37 ◼   ► What's nice is you can break something in in terms of the you know

00:52:40 ◼   ► the quote-unquote real part of your code and

00:52:42 ◼   ► Then just run your unit tests to make sure they still pass and if they do you have some amount of confidence certainly more than zero

00:52:48 ◼   ► That everything should still work the way it's supposed to and that doesn't replace all the human testing that I'm quite confident Marco did

00:52:54 ◼   ► Because I didn't have any particularly major issues with this update

00:52:58 ◼   ► But nevertheless it does give you some amount of confidence and some amount of flexibility and I guess a parachute

00:53:04 ◼   ► You know over you behind you whatever when you're making these sweeping changes like you did. I wanted to also address one more thing quickly

00:53:11 ◼   ► Underscore my name is T in the chat

00:53:15 ◼   ► Is talking about how I didn't mention the audio engine for the watch app. So when I was writing voice boost 2 last year. I

00:53:22 ◼   ► Specifically wrote it to be like ruthlessly incredibly efficient

00:53:28 ◼   ► with the idea that I want to bring it to the watch and

00:53:32 ◼   ► I rewrote not only the voice boost 2 component and which and therefore, you know smart the smart speed implementation within it, but also

00:53:41 ◼   ► The surrounding audio API at that time. I also switched from the old deprecated a you graph API

00:53:48 ◼   ► to the new currently supported

00:53:51 ◼   ► AV audio engine which has actually lots of problems, but I worked I figured ways around them

00:53:58 ◼   ► and part of the when I did that I

00:54:01 ◼   ► Intentionally stuck with API's that were available on the watch as well

00:54:07 ◼   ► So I have laid almost all of the groundwork to port my audio engine to the watch as well

00:54:14 ◼   ► The only thing I couldn't get to be available on the watch in a way I could use on the phone or at all

00:54:20 ◼   ► Is to have speed control not smart speed

00:54:25 ◼   ► But just like plain old like play this at 1x or 1.5 X whatever that is

00:54:30 ◼   ► Not a public API on the watch in a way that you can use in AV audio engine

00:54:37 ◼   ► the only way those are that's exposed on the watch in public usable API's is

00:54:41 ◼   ► If you make like an AV player or something

00:54:44 ◼   ► But those those API's don't give you the flexibility to process the audio the way my audio engine does

00:54:48 ◼   ► so if I want to run an audio engine with processing on the watch, I

00:54:55 ◼   ► Have to either not offer speed up which no or I have to write my own speed up

00:55:02 ◼   ► Which I've never all the audio processing I've done before I've never written a speed up algorithm. I

00:55:07 ◼   ► intend to tackle that at some point just to try to see if I can do it to an acceptable level of quality I

00:55:13 ◼   ► assume that what the

00:55:16 ◼   ► Apple like version of it is doing is like a

00:55:20 ◼   ► PS ola kind of algorithm or TS ola it's like I've looked at other like what these algorithms are

00:55:27 ◼   ► And I think I could do it slightly reasonably in a way that would be good enough quality for speech on the watch

00:55:33 ◼   ► But it just that's what's holding me back

00:55:35 ◼   ► There is that I can't yet find a way to offer speed ups on the watch

00:55:39 ◼   ► Without in an API where I can process the audio in other ways as well without writing my own speed up algorithm

00:55:45 ◼   ► Which is just a job. I haven't tackled yet

00:55:47 ◼   ► Maybe you should just like change the icon or finally get rid of the custom font just so people could be in an upper

00:55:53 ◼   ► are about your new version

00:55:54 ◼   ► Honestly, I I am very very close to dropping the custom font for

00:56:00 ◼   ► Whatever I do for the like UI redesign that I've been thinking of brainstorming about for five years

00:56:06 ◼   ► And it would be a big change

00:56:09 ◼   ► I remember being indignant that everyone complained the iPhone 4s wasn't a big upgrade because it looked the same on the outside and that is

00:56:15 ◼   ► The eternal curse of people with GUI apps that don't change the GUI people think nothing changed

00:56:21 ◼   ► The reality is my customers are really good. They I've not I haven't gotten a lot of crap from anybody about this like

00:56:28 ◼   ► The there was actually there was there were a couple there was one I think or two

00:56:33 ◼   ► Negative reviews somewhere. I forget whether it was App Store or what but a few people complaining before I had released this

00:56:41 ◼   ► That I hadn't updated the app in like seven months and that's not actually true

00:56:48 ◼   ► It had been about three months, but the last version number was 2020 dot 8

00:56:53 ◼   ► which

00:56:56 ◼   ► Somebody might interpret as August even though it was actually in like November

00:57:00 ◼   ► And so there that is actually a problem with this version number scheme that it kind of looks like year dot month

00:57:07 ◼   ► I thought it was a year

00:57:09 ◼   ► Well, and it just so happened that during most of 2020 like during the first half of 2020

00:57:15 ◼   ► I released about one version a month. Mm-hmm. And so for the flight the first half of the year it matched up pretty well to the

00:57:22 ◼   ► But no, it's not it's just like it's just sequential numbering. It's just whatever whenever it's ready

00:57:27 ◼   ► I you know, I shipped that version like what if I wanted to ship two versions in a month?

00:57:32 ◼   ► I think I was on a version a patch version a day with front and center for the first few weeks that it was out

00:57:39 ◼   ► So I wonder if people thought the last number was the day I released it

00:57:43 ◼   ► Right, so yes that is definitely one one problem with date-based versioning

00:57:47 ◼   ► Is that it sure looks like it's date month instead of just you know your year month instead of just year

00:57:52 ◼   ► But anyway at some point I do intend to do like a larger UI redesign and I'm I've decided throughout all this

00:57:59 ◼   ► I'm going to start tackling that

00:58:01 ◼   ► When I can require iOS 14 and that way I can use a lot more Swift UI stuff

00:58:06 ◼   ► And and a few other niceties and I'm I could probably I mean realistically I could require I was 14 now

00:58:13 ◼   ► but it's not a super great idea if you don't have to yet and

00:58:18 ◼   ► so again a UI redesign is definitely on my list of things to do but because it's not like super pressing and

00:58:25 ◼   ► There's lots of other stuff that is more pressing

00:58:28 ◼   ► it just keeps not getting done and it might be another year or two before I before I even tackle it because

00:58:35 ◼   ► Now that I spent

00:58:37 ◼   ► Four months whatever it's been on

00:58:39 ◼   ► Like under the hood stuff and a very small number of new features

00:58:44 ◼   ► But mostly just under the hood stuff what I want to do next is features like people people been asking for certain features for a long

00:58:50 ◼   ► time so I want to tackle that next as opposed to a

00:58:53 ◼   ► massive UI redesign which I mean it's a podcast app, but the UI doesn't matter that much and

00:58:58 ◼   ► The reality is features matter more to my customers at this point. And so a UI redesign is more like self-serving

00:59:05 ◼   ► I want to do it because I want to do it

00:59:06 ◼   ► But what my customers want is features and so I want to work on that for a little while first

00:59:10 ◼   ► you open the floodgates for feature requests time for my

00:59:13 ◼   ► Semiannual overcast feature requests. I have two of them one easy one hard catch-up mode

00:59:19 ◼   ► No, I'm not gonna go into all that stuff. I do want to do that. By the way

00:59:23 ◼   ► I actually wrote server-side support for catch-up mode, but it's kind of buggy. This is the function on the server that handles

00:59:31 ◼   ► What episodes in a podcast should be shown to you as new is

00:59:35 ◼   ► incredibly

00:59:38 ◼   ► Finicky and incredibly high-stakes if I screw that up the servers explode basically because it's just

00:59:45 ◼   ► massive amounts of volume going through that function and

00:59:48 ◼   ► Massive and it's dealing with the biggest database table in in the in the app by a long shot, which is the table of like

00:59:55 ◼   ► It's the progress of a user within a certain episode

01:00:01 ◼   ► that table is massive and

01:00:03 ◼   ► It's highly optimized and if anything goes wrong with that table or with with the function that that

01:00:10 ◼   ► Determines what to write to that table and more importantly when not to write to that table

01:00:14 ◼   ► things go back very badly and so I haven't wanted to

01:00:18 ◼   ► Tackle that yet because last time I tried tackling it I blew up the servers. It sucked for a few days

01:00:24 ◼   ► I eventually was able to roll it back and I'm like, I don't want to touch it

01:00:29 ◼   ► I'd rather not touch that area of the app because to touch it for this like relatively low needs feature is

01:00:36 ◼   ► A very very high risk and so I'd rather not do it

01:00:40 ◼   ► But someday I'll get there

01:00:41 ◼   ► Well since you brought up that feature my suggestion for how to deal with that is not to screw up your the table you were

01:00:46 ◼   ► just describing but to essentially be able to mark a podcast as

01:00:50 ◼   ► Participating in this special mode and then have your own separate table. That is only for podcast marked in this mode

01:00:56 ◼   ► I know it's annoying to fork the the code and say, okay

01:00:59 ◼   ► Well, if it's one of these podcasts do this, but I'm one of these podcasts do this and now I got to do everything twice

01:01:03 ◼   ► But it will totally save you from hosing your very precious table because like you said, this is a small feature

01:01:07 ◼   ► They can have their own set of tables with their own purpose

01:01:10 ◼   ► for tracking their own metadata just for these kind of podcasts in this weird-ass mode that you can call time shifting mode and

01:01:15 ◼   ► Generalize and you know try to make it so they can support for other features

01:01:18 ◼   ► but I

01:01:19 ◼   ► agree that it's probably not a good idea to take a

01:01:21 ◼   ► Feature that almost no one will use and compromise the entire design of your app and your biggest scariest table

01:01:26 ◼   ► But that's not what I was gonna ask about

01:01:28 ◼   ► Easy features because I have a chance to be employed number one

01:01:30 ◼   ► When sending a clip from overcast very often

01:01:33 ◼   ► I want to send a clip that is that is below the minimum size

01:01:36 ◼   ► The UI will let me squish those two little endpoints together and there's plenty more room to squish them

01:01:40 ◼   ► And I want to when I'm crushing their head. I want to get that thing back together. So whatever the limit is now

01:01:46 ◼   ► It's like what 10 seconds 5 seconds. I don't even know I've never I've never thought of sending a 5-second clip

01:01:51 ◼   ► It's like it's like a send to me

01:01:53 ◼   ► It's always when I want to clip out someone pronouncing a word weird, right?

01:01:56 ◼   ► And I just want to get the word and not the things surrounding it

01:01:58 ◼   ► Whatever the limit now is it's like a centimeter between those two endpoints and you could definitely squish them farther than that

01:02:03 ◼   ► So that seems like an easy one to do throw that one in there

01:02:05 ◼   ► The harder one to do is when I'm making my beautiful hand tailored overcast clips

01:02:10 ◼   ► I often want to zoom in for more accurate

01:02:13 ◼   ► scrubbing with

01:02:14 ◼   ► Placing the endpoints instead of rolling my fat meat finger and sort of like twisting it a little bit then trying to release it from

01:02:19 ◼   ► The screen open up moved after I picked it up and then trying again

01:02:21 ◼   ► Oh, no, but moved because you're trying to make a one-second clip. I know just say it's a minute long clip

01:02:27 ◼   ► I'm just trying to get the end point exactly where I want it

01:02:30 ◼   ► And sometimes the whatever your default zoom the granularity doesn't let me get like this one people have words that are strung together very quickly

01:02:36 ◼   ► I just want to slice right in between the words and I can't get the thing on the right pixel

01:02:40 ◼   ► I know you what I'm asking you is just this is the hard one

01:02:44 ◼   ► It's just slowly make a tiny audio editor inside overcast, but you want to make an audio editor anyway

01:02:48 ◼   ► So might as well work on this now some kind of pinch to zoom feature for the for the timeline so I can get more accurate

01:02:53 ◼   ► So the easy one smaller minimum size the hard one zoom

01:02:57 ◼   ► Maybe just two step zoom zoom in zoom out two levels like start with that

01:03:01 ◼   ► Yeah, the the whole feature of clip sharing I would like to give some attention to here's the challenge there

01:03:07 ◼   ► So the automatic kicking machine is still necessary and the need for it seems to slowly be getting higher

01:03:13 ◼   ► I hate this I noticed that yes, I notice every I watch it every time

01:03:17 ◼   ► It's like it's actually a form of entertainment like is it gonna do it the first time this time? No, it's not and

01:03:21 ◼   ► so and part of the reason it would be hard for me to increase the

01:03:26 ◼   ► granularity of the of the scrummers in part because what the automatic kicking machine does

01:03:31 ◼   ► So for listeners in case you have forgotten

01:03:33 ◼   ► This is the the thing in the overcast clip exporter where the API that

01:03:39 ◼   ► Generates those the the like AV rendering of like I feed it like an animation

01:03:45 ◼   ► Basically, and then it generates a video file from that like a you know

01:03:48 ◼   ► An m4v file from that that API just occasionally hangs the I think it's a V asset exporter or something like that

01:03:53 ◼   ► It just occasionally hangs for no visible reason and it just will hang forever and the solution

01:04:00 ◼   ► It well a way to get around it

01:04:03 ◼   ► is to

01:04:05 ◼   ► just detect when it's just not progressing anymore and

01:04:08 ◼   ► Just cancel that job and start a new one with very slightly different input and see if that works

01:04:14 ◼   ► And so what I do

01:04:16 ◼   ► I called I called that a while back the automatic kicking machine and what I do is every time that it stalls and

01:04:25 ◼   ► It restarts the job. It subtly tweaks the starting and ending timestamp by some tiny random amounts

01:04:32 ◼   ► So it's not enough that you would really notice it. But if I start letting you do very granular

01:04:38 ◼   ► Starting an endpoint or start start point an endpoint editing. You might actually start to notice that

01:04:44 ◼   ► So I don't love that

01:04:45 ◼   ► But I mean if it's if it's small enough that we won't notice it

01:04:48 ◼   ► We won't notice it no matter what like I know what you're saying that it would be a larger like if you so carefully placed it

01:04:53 ◼   ► Now I'm perturbing it, but you're perturbing my placement now

01:04:55 ◼   ► anyway

01:04:55 ◼   ► right sure and all I want to do is get closer to it like presumably your random thing is sort of

01:05:00 ◼   ► Oscillating around the point that was selected and I'm fine with that. That's what you got to do with the stupid kicking machine

01:05:05 ◼   ► I'm fine. I just want a little bit more granularity, right? And so part number two of this comment is

01:05:10 ◼   ► Ultimately, I want to rewrite the clip sharing implementation

01:05:15 ◼   ► To use a whole different method of generating the video to avoid the need for this at all

01:05:19 ◼   ► That whole AV asset exporter thing we're like so right now

01:05:22 ◼   ► I'm basically generating a core animation set of layers and I say I go, you know between points

01:05:28 ◼   ► You know zero and one and the animation make the progress bar go from here to here

01:05:32 ◼   ► At you know points one, two, three, four and five make the timestamps this this this this and this and then you know

01:05:38 ◼   ► Overly this 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

01:05:44 ◼   ► What I want to switch to is a much more complicated way of doing it where I have to generate every frame as an image

01:05:50 ◼   ► And pass it to some other API using all these like different low-level API's

01:05:54 ◼   ► but

01:05:56 ◼   ► The reason I want to do that is first of all, I want to get rid of the automatic kicking machine

01:06:00 ◼   ► second of all, I want to redo the visual layout of

01:06:05 ◼   ► What's being generated to include some kind of like more dynamic?

01:06:09 ◼   ► Animations like a waveform animation and I want to try putting in editable

01:06:14 ◼   ► transcriptions from the iOS

01:06:16 ◼   ► Transcription API when I wrote the feature. I don't think there was an offline running version of the transcription

01:06:23 ◼   ► transcription engine but now there is like an iOS 14 at least there is and so I

01:06:29 ◼   ► would like to rewrite that feature to have

01:06:32 ◼   ► To have it be more visually interesting when people see a clip without this without their sound on

01:06:37 ◼   ► Which is becoming more and more of a thing on social networks

01:06:40 ◼   ► So I want to have some kind of like, you know text be able to roll by

01:06:43 ◼   ► Possibly even use the text in the editing view depending on how that API works how well it works

01:06:48 ◼   ► Yeah, you got you got a lot of people fix miss translations now, that's the key part of that. Sure

01:06:53 ◼   ► Yeah, and that's that's why like it might not end up being very worth it in the output video

01:06:59 ◼   ► But it could it could definitely be worth it in the editor. So anyway, I want to play with that

01:07:03 ◼   ► But so the point is I want to do these things that are basically

01:07:06 ◼   ► Rewriting massive parts of what clip sharing is. However

01:07:11 ◼   ► Here's the problem

01:07:13 ◼   ► Almost nobody uses it. Oh

01:07:15 ◼   ► Really, but the people the people who do use it are both promoting your app and also promoting podcasts

01:07:21 ◼   ► I think it punches above its weight in terms of a feature like you don't necessarily need everyone to use it

01:07:25 ◼   ► but every person who does use it is sending out into the world a thing they enjoyed from a podcast and an overcast logo and

01:07:31 ◼   ► I was thinking of is the main feature that I would love to see on clips

01:07:34 ◼   ► Which I know you probably can't add but it's always worth just looking into it again

01:07:38 ◼   ► It's I always just want to tap on them and get taken to an overcast link to the rest of the episode like basically URLs

01:07:43 ◼   ► Like if you share them on Twitter, there may be some way to hack that in

01:07:47 ◼   ► I know when I do do something in overcast

01:07:50 ◼   ► Don't you have that feature for like chapter art you can tap on it and takes you somewhere or am I miss remembering?

01:07:54 ◼   ► The art. Mmm. Well, I mean chapters can have links

01:07:58 ◼   ► But no, I mean the problem the problem that you're talking about now though is a problem like just in in the sharing

01:08:03 ◼   ► Context I'm already

01:08:06 ◼   ► Putting two items on the pace board like I'm putting the the video and a link

01:08:11 ◼   ► But most apps don't do anything with that most apps just take the video

01:08:15 ◼   ► and so like I'm

01:08:17 ◼   ► Already supplying the data and the only way I know how to get or the only way I'm able to in this context

01:08:21 ◼   ► But most apps don't make it click

01:08:24 ◼   ► I was thinking like in a quick time world where you'd have multiple tracks and one of the tracks would be like a

01:08:28 ◼   ► URL track that a savvy client would understand that is a link. You're right

01:08:34 ◼   ► It's just like I'm thinking of it from sharing purposes and you're right the most things that you share on no matter what you did

01:08:39 ◼   ► They would just say just give me the video and I'm going to show it

01:08:42 ◼   ► But that's what I really want out of sharing

01:08:44 ◼   ► Like when you share a blog post people tap on the link and get the full blog post when you when I share a podcast

01:08:49 ◼   ► I always want be able to I love the fact that it's a clip that they don't have to do anything. Here it is

01:08:53 ◼   ► Here's the clip and you're listening and I love the fact that it's a movie see that past episode

01:08:57 ◼   ► We discussed this just the one missing piece is sometimes people ask me

01:09:00 ◼   ► Hey, what podcast is that from despite the fact that the name of the podcast and logo of the podcast is in the video?

01:09:06 ◼   ► They don't have any way to find it except for going to Google and typing in like accidental tech podcasts

01:09:10 ◼   ► And hopefully then what episode was it?

01:09:11 ◼   ► Oh, I see the episode number and then they have to go through the site, right?

01:09:14 ◼   ► You have all that info right there. You have overcast timestamp URLs all ready to go

01:09:18 ◼   ► it's just a question of how to

01:09:19 ◼   ► Get them out of your app and into the wider world because the reason I use the clips feature as much as I do

01:09:25 ◼   ► Which is not that much but still some is I love to be able to share fun parts of podcasts half

01:09:31 ◼   ► Granted half of my clips that I send her, you know to just friends through messages when someone we know said something funny on a podcast

01:09:36 ◼   ► But I do send them on Twitter as well

01:09:38 ◼   ► Here's this clip from this thing or check out this part of this episode or whatever or I use them as snarky comebacks when people

01:09:44 ◼   ► Complain about something on a podcast that I was on and then I send them a clip addressing whatever their point was and then I

01:09:50 ◼   ► Don't have to reply to them on Twitter. It's like audio replies, but canned I

01:09:53 ◼   ► Like the feature I think is it is super useful for a work has to have in it and not only that but I see tons

01:10:00 ◼   ► Of similar features from people who use other podcast clients including ones with transcription on them

01:10:05 ◼   ► So maybe they have the same problem that you do that

01:10:07 ◼   ► Most people don't use them, but there's enough that I see them and there's enough that I know other people have transcription

01:10:11 ◼   ► So I feel like it's kind of table stakes at this point

01:10:13 ◼   ► So to give you some idea of how many people use this feature

01:10:16 ◼   ► So now don't tell me because I agree with John I love this even though I don't use it that often

01:10:21 ◼   ► I love it

01:10:22 ◼   ► I mean, I think I think overcast problem is it is not particularly discoverable

01:10:25 ◼   ► And I think we talked about that when the future first rolled out. But yeah, I mean, yeah

01:10:28 ◼   ► I mean, it's not really helping but it's you know, it's in the share menu

01:10:31 ◼   ► But no one knows what the share menu is and it's so small

01:10:33 ◼   ► well, but but the share menu is used, you know by a decent amount of people and the

01:10:39 ◼   ► the shares of just links that aren't clips

01:10:43 ◼   ► are

01:10:44 ◼   ► about five times higher than clip shares

01:10:48 ◼   ► Clip sharing is used by about a third as many people as the screen reader voiceover

01:10:55 ◼   ► about a tenth the people as

01:10:57 ◼   ► people who use the website player while logged in and it is used by about a quarter of as many people as

01:11:04 ◼   ► Who are using the Mac app on an m1 Mac?

01:11:07 ◼   ► My goodness, so it's not it's not it's it's just it's not a large portion of the user base

01:11:13 ◼   ► And so, you know if it's something like supporting voiceover is almost no work at all

01:11:18 ◼   ► Which is which is why I'm embarrassed whenever I mess it up, but clip sharing is a ton of work to do that feature

01:11:24 ◼   ► justice and I already have a version of it now that works, okay and

01:11:29 ◼   ► To make it better. I have to like rewrite it basically and so it would be a large amount of

01:11:35 ◼   ► work to make this feature better that almost no one uses and

01:11:42 ◼   ► I think it would be

01:11:44 ◼   ► Probably not time well spent that doesn't mean I won't do it

01:11:48 ◼   ► I do things all the time that are time poorly spent just because I want them to be done

01:11:51 ◼   ► And so I will probably do this at some point, but it's not gonna be a high priority

01:11:55 ◼   ► I would give it more visibility because I feel like it's I you know

01:12:00 ◼   ► I'm maybe it's just me in the circle who travel in but I see a lot of clips shared not just from overcast

01:12:04 ◼   ► Like I said from other podcast apps

01:12:06 ◼   ► So someone's sharing clips from somewhere and if people aren't doing it from overcast that much

01:12:10 ◼   ► Maybe it's because it doesn't occur to people to do it or whatever and granted the editing interface is

01:12:14 ◼   ► Weird and like I understand all the reasons why it would be a narrow thing

01:12:18 ◼   ► But I think it's it's free advertising for your app and it is advertising for podcasts in general

01:12:24 ◼   ► But anyway, if you don't if you bail on all that just make the minimum size smaller. It's really easy to change the number

01:12:29 ◼   ► Well, I'm excited the shift and and I think it certainly seems to be well received I've enjoyed it

01:12:37 ◼   ► I haven't yet gone on a run with just my watch but the the watch app certainly visually seems to be way way way better

01:12:44 ◼   ► So all good things. I

01:12:47 ◼   ► Have one final question for you, though

01:12:49 ◼   ► If you were stranded on a desert island and could only bring swifter objective-c

01:12:53 ◼   ► You bring in these days and I say that obviously to be funny

01:12:57 ◼   ► But you talked a lot about having been porting a lot to Swift and you've kind of made references to that in the past couple

01:13:04 ◼   ► of months

01:13:05 ◼   ► Do you feel like your default state is now Swift or do you still think that you're reaching for objective-c?

01:13:11 ◼   ► first and Swift only in certain circumstances

01:13:13 ◼   ► During this version is when I crossed over like I don't know exactly when it was during this version

01:13:19 ◼   ► that I have now crossed over to the point where

01:13:23 ◼   ► Not only do I write more Swift than not and not only has it become my default

01:13:29 ◼   ► But I've actually started to prefer it

01:13:32 ◼   ► What do you?

01:13:34 ◼   ► Either like about Swift that's making you prefer it or perhaps

01:13:38 ◼   ► Did now you dislike it about objective-c like can you build on that anymore?

01:13:42 ◼   ► I the to quota underscore, you know, let's let's pull in that thread a little bit. Yeah, unpack that a little bit

01:13:48 ◼   ► Yeah, unpack that there you go. Sorry. I got it wrong. You're right. You're right. We'll fix in post. That's what we'll do. I

01:13:53 ◼   ► It's hard to pin it down. I mean some of it is just

01:13:56 ◼   ► Syntactic and API differences, you know just small stuff where like I could save a bunch of keystrokes doing this

01:14:03 ◼   ► That's that's a lot of it if I'm honest some of it is some of the you know

01:14:08 ◼   ► niceties that are afforded by the type system

01:14:11 ◼   ► Things like like dealing with the newms and stuff like that

01:14:14 ◼   ► No, please everyone. Let's agree

01:14:16 ◼   ► But you enumerate things. I know but it's

01:14:20 ◼   ► Car and char again. It's not well, which one you prefer is it car char? I

01:14:28 ◼   ► Say char. Yeah. Yeah, then you don't say char characters. Yeah. All right. I'll enumerate my char characters

01:14:34 ◼   ► Anyway, swifty numbs. Swifty numbs are great. I agree there swifty numbs are frickin amazing

01:14:40 ◼   ► I that's my still to this day might be one of my favorite features of the language

01:14:43 ◼   ► I mean that's that's a just to bring destiny into this because I always must do this is what they call in destiny and in

01:14:48 ◼   ► The gaming world in general like when they do releases for for games that you know

01:14:53 ◼   ► things like their bug fixes and there are new features and there's new content and

01:14:56 ◼   ► The things Marco is talking about so far are what they call in the gaming world quality of life improvements

01:15:01 ◼   ► Like oh, it's easier to get to your inventory screen and you can delete these items and sets of five instead of individually and you know

01:15:07 ◼   ► Like things don't really affect gameplay, but affect things that you do every day

01:15:11 ◼   ► You know sort of the drudgery the chores of whatever task you're trying to accomplish and just making them easier

01:15:18 ◼   ► Even just something as simple as how do I define a class and a bunch of attributes?

01:15:23 ◼   ► Doing that in Swift involves so much less typing and so much less

01:15:26 ◼   ► Navigating in your UI and so much less thinking than an objective C

01:15:30 ◼   ► Even if you know how to do the objective C version like the back of your hand like it's totally instinctive

01:15:35 ◼   ► There's just mechanically more to do than to do the same job. So if I feel like enums and Swift are the same deal

01:15:41 ◼   ► You know you you don't need that feature

01:15:43 ◼   ► You can do the same thing with a bunch of pound defines or constants or static variables or all the other tools that are available

01:15:48 ◼   ► to you in objective C

01:15:50 ◼   ► But Swift has this one tool to do it and it's incredibly powerful and doesn't involve a lot of typing

01:15:55 ◼   ► It's a quality of life improvement and that's setting aside the safety stuff of like run all the different safety things

01:16:00 ◼   ► Just setting all that aside forgetting about like Oh reducing bugs or whatever just the process of typing the code

01:16:05 ◼   ► yeah, like that to me is

01:16:07 ◼   ► where I'm seeing much of the benefit is

01:16:10 ◼   ► Things, you know, not only like little time savers from just you know

01:16:13 ◼   ► Shorter names of everything and stuff like that

01:16:15 ◼   ► but like things like what you said about making classes or making types or making protocols and

01:16:20 ◼   ► Where not only it is it is it, you know less typing in Swift

01:16:25 ◼   ► But because it is just so much simpler and faster to do I do it more

01:16:29 ◼   ► And that that that you know

01:16:32 ◼   ► It changes the way I code changes the way I structure things in certain ways and it makes certain things a lot easier or better

01:16:36 ◼   ► Or it enables thing it enables, you know change to happen faster or it enables me to

01:16:40 ◼   ► To know that something is correct faster. One thing I don't do much

01:16:46 ◼   ► Is the kind of like prefix list lifestyle?

01:16:50 ◼   ► I still name my stuff beginning with OC and I'll tell you why it's not because I'm like

01:16:55 ◼   ► You know being stubborn and bucking the trend or whatever. It's because I search my code. I

01:17:01 ◼   ► do command shift F to find global all the time and

01:17:06 ◼   ► If a class has a generic name without a prefix without my little OC prefix in the front of it

01:17:12 ◼   ► It's harder for me to find references to it

01:17:15 ◼   ► But the other classes won't be in your code when you do command shift F. They're in frameworks

01:17:20 ◼   ► You're not searching them when you do command shift F. No, I know but like

01:17:22 ◼   ► It's it's it's kind of like like the the common or I guess I think the preferred style

01:17:27 ◼   ► Right now for like writing new Swift code and Swift UI code is to not prefix stuff with your own prefix

01:17:33 ◼   ► It's to make everything just generic name like yeah

01:17:36 ◼   ► playlist whatever like say if I if my

01:17:40 ◼   ► Object was called playlist instead of OC playlist and I had and I did a string search for playlist in my entire app

01:17:46 ◼   ► I'm gonna get so many things that aren't

01:17:49 ◼   ► OC playlist commands and objects and there's just certain times when like I use it all the time

01:17:54 ◼   ► and so I I find it very very nice to search that and frankly, I think

01:17:58 ◼   ► Dropping all the prefixes from all the API's might be a mistake for lots of other reasons like even the framework API's

01:18:07 ◼   ► Because it makes it harder to like search Google and Stack Overflow for things like that, too

01:18:10 ◼   ► it makes it makes it so much harder to disambiguate like am I talking about like a

01:18:15 ◼   ► List or am I talking about like, you know an NS list or whatever? I know that's not really a thing but like I

01:18:21 ◼   ► miss having

01:18:24 ◼   ► Those like two-letter prefixes on things because it makes it easier for me to find in my code base

01:18:31 ◼   ► And I know you can do more structured searches for you know

01:18:34 ◼   ► Things like find call hierarchy and stuff like that

01:18:37 ◼   ► But doing just a basic text search is so much faster and easier and I do it all the time and to not have named

01:18:43 ◼   ► Prefix or to not have prefix names makes that harder and makes it less effective

01:18:47 ◼   ► So there's two aspects that one is just the cultural one

01:18:51 ◼   ► Which you said it like the the the culture now and Swift is not to do that whereas an object you see it was to

01:18:56 ◼   ► do that

01:18:57 ◼   ► When I wrote my first Swift app for the Mac

01:19:01 ◼   ► I put well first I wasn't even thinking about it and just typing but then eventually I realized oh

01:19:06 ◼   ► I should probably prefix all these because I was in the objective C mindset

01:19:09 ◼   ► so I did the FNC for front and center right FNC whatever was the class names because I am I am a

01:19:14 ◼   ► Strong proponent, let's say of namespaces in other languages, but the problem my first problem was I had no idea how namespaces worked in Swift. So

01:19:22 ◼   ► I was like do I need to do this is something not gonna work out better safe than sorry FNC in front of all my

01:19:28 ◼   ► Classes, but eventually I learned that that is not in the culture and not strictly necessary according to what everyone else was doing

01:19:35 ◼   ► So my second app switch class, I didn't do that

01:19:37 ◼   ► The prefixes and I have to say I aesthetically prefer not having the prefixes

01:19:42 ◼   ► I understand what you're saying about the search stuff

01:19:44 ◼   ► And I think I'm probably benefiting in my searching when I search for things like the NS prefix sort of getting me out

01:19:51 ◼   ► I'm sure that I'm gonna get a result that has to do with programming if I type in a string

01:19:55 ◼   ► Whereas if it types just string by itself, it's harder

01:19:58 ◼   ► but I have found that adding the word Swift or the framework name like Swift UI as a

01:20:03 ◼   ► Search term in Google and then type it if you type Swift string

01:20:07 ◼   ► Google kind of figures it out within the project. I haven't found it to be that much of a problem that said I

01:20:13 ◼   ► Still don't know how Swift namespacing works. By the way, I I would like to know but apparently not enough for me to look it up

01:20:19 ◼   ► But I have to say that when I wrote switch glass

01:20:23 ◼   ► Totally unprefixed I ran into a namespacing issue for the exactly the reason that Marco said if you name things in a generic way

01:20:31 ◼   ► I think I made a tweet about this like the incredible guts that it took for Swift UI to call one of its classes view

01:20:36 ◼   ► View like oh really view you're just gonna take that name, but of course, it's not like they're taking it forever

01:20:43 ◼   ► It's it is my vague understanding that it is namespaced underneath Swift UI blah blah

01:20:48 ◼   ► but in switch glass as you can imagine I have things in the code that represent the apps that appear in the palette and

01:20:55 ◼   ► I called them app and

01:20:57 ◼   ► That seems fine until I ran into some weird thing with the Swift UI

01:21:02 ◼   ► Preview or an Xcode where they use the same symbol app and it was conflicting with mine and I had to qualify mine

01:21:07 ◼   ► I had to I had a place in my code that just said app that runs perfectly fine in the running app

01:21:12 ◼   ► But in the preview it was flipping out and I could not figure out what it was and then I changed it to switch glass

01:21:17 ◼   ► App and suddenly my thing worked in the preview and I'm like, alright

01:21:20 ◼   ► well

01:21:21 ◼   ► someone needs to

01:21:22 ◼   ► To have a you know

01:21:24 ◼   ► Sit down and talk about what are we doing with namespaces here in Swift because I thought it was perfectly safe for me to call

01:21:28 ◼   ► My stuff app, but apparently that is not true and now I'm a little bit angry and I don't know what to do

01:21:33 ◼   ► Anyway, some day I'll learn how namespacing works and Swift

01:21:36 ◼   ► so this is just this is one of those moments where I know I'm just inviting a bunch of follow-up, but my my

01:21:41 ◼   ► Limited understanding of namespacing and Swift is that basically each module is its own namespace?

01:21:46 ◼   ► Mm-hmm, but outside of that there's really no

01:21:50 ◼   ► Concept of namespacing the closest you can do is have an enumeration that has no cases in it

01:21:56 ◼   ► so you have an enumeration that's just like functions and and

01:21:59 ◼   ► Properties and things of that nature and that sort of kind of gets you there

01:22:04 ◼   ► But it's not like say C sharp or something like that where you can explicitly define a namespace and I miss that and I wish it

01:22:12 ◼   ► Was there and I think that that was an error in early Swift to to not have more explicit namespacing

01:22:19 ◼   ► I've run into this from time to time because

01:22:23 ◼   ► Combine has a print method that is designed to be used as a debugging tool within the context of

01:22:31 ◼   ► a of a chain a

01:22:34 ◼   ► publisher chain

01:22:36 ◼   ► and

01:22:38 ◼   ► Sometimes I'll try to do a you know, a generic Swift print and it'll be like no you're not giving you're not giving it the right

01:22:44 ◼   ► Parameters and so on and so forth and I'm like wait what why is print bro?

01:22:49 ◼   ► Oh, right Swift dot print is what I want in this particular context and it is very frustrating. So I totally hear you

01:22:56 ◼   ► Yeah, I mean coming from languages

01:22:58 ◼   ► I spent most of my time in languages that have global namespaces and I can tell you that's terrible as well

01:23:04 ◼   ► Java tried to do the right thing to fix that by saying we're gonna solve this problem and not have any of these ugly naming

01:23:10 ◼   ► Conflicts, but the price for doing that is Java class names and I don't think anyone wants that

01:23:15 ◼   ► You know like piggybacking on another system to disambiguate calm dot whatever dot, you know, it's just it's gross, right?

01:23:21 ◼   ► So I that's why I was excited about

01:23:24 ◼   ► Swift not having like Oh per module names and it can all work it out or whatever

01:23:28 ◼   ► But the fact that I did this surface to me already again not in my running app

01:23:32 ◼   ► But only in the Swift preview like maybe it's a bug with with Xcode

01:23:36 ◼   ► but either way like I want to not like that my whole point with naming is I want to just do the right thing and

01:23:42 ◼   ► Then never have to worry about it and that's no longer the case now. I have to be careful

01:23:46 ◼   ► Oh you want to name something in your app app?

01:23:48 ◼   ► be careful because there may be some other important part of the machinery of

01:23:51 ◼   ► building your app that it gets angry about that and breaks in a weird way and

01:23:55 ◼   ► No, I'm not so upset by it

01:23:58 ◼   ► They're gonna go back to Marcos thing and prefixing everything because I find that more offensive but it does make does give me a little

01:24:04 ◼   ► Bit of pause when I name my classes and yes before you send feedback

01:24:07 ◼   ► I totally should learn how name spacing works in Swift, but I haven't yet

01:24:10 ◼   ► yeah, another

01:24:12 ◼   ► Great example of this is if you were to use a or to create a widget for an app and use the default names

01:24:20 ◼   ► If I'm not mistaken and Steve Charlton Smith tweeted about this a while ago and then just retweeted himself. So hi Steve

01:24:26 ◼   ► If you name your widget widget

01:24:28 ◼   ► Then it yells at you because that's not allowed because it conflicts with

01:24:32 ◼   ► With some of the Apple stuff and it's in the error message is completely inscrutable as to what's going wrong

01:24:37 ◼   ► And so you eventually when I was first, you know messing around with widgets

01:24:41 ◼   ► I just renamed it to like Casey widget or something like that and then suddenly everything started working and I was deeply frustrated

01:24:47 ◼   ► Yeah, there's a bunch of pitfalls like that in pearl where like half the time

01:24:53 ◼   ► I see some really some someone really scratching their head whether it's at work on the internet of like I cannot figure out why this

01:24:59 ◼   ► Code doesn't work and the answer is like rename your class. They're like what I'm like

01:25:02 ◼   ► You named it test, but let me just you know

01:25:06 ◼   ► You're like you need in one class a one class B and let me tell you about the B name space in pearl

01:25:11 ◼   ► I know this is gonna sound weird but like that's just they're excited to learn the solution, but then they're so angry

01:25:16 ◼   ► I write PHP. Nothing sounds weird. Yeah

01:25:20 ◼   ► Yeah, oh my goodness. All right. So so you do like some things you don't like some other things

01:25:25 ◼   ► What do you miss about about Objective C?

01:25:28 ◼   ► I mean, obviously you were expert level at Objective C and I would say with respect

01:25:32 ◼   ► You're probably not expert level at Swift at this point

01:25:34 ◼   ► But other than that are there specific things that you feel like man, I really miss Objective C's ridiculously awful block syntax

01:25:41 ◼   ► Objection leading the witness

01:25:45 ◼   ► I do miss a lot of the

01:25:50 ◼   ► Simplicity of the language I miss how

01:25:52 ◼   ► Objective C did not make it easy to hide behavior

01:25:57 ◼   ► From from reading code like you could read the code and because it was a fairly small

01:26:02 ◼   ► Language in its syntax and things that it was it was hard to hide

01:26:07 ◼   ► Behavior in ways that couldn't be easily looked into or noticed when reading it. Whereas Swift does not have that

01:26:13 ◼   ► I

01:26:15 ◼   ► also miss a lot of the

01:26:18 ◼   ► the style of like the API

01:26:21 ◼   ► naming and

01:26:24 ◼   ► Search ability and documentation and things like that. I definitely miss the

01:26:28 ◼   ► reliability and speed of the tools and the builds I

01:26:32 ◼   ► Still you know, how many years are we into Swift?

01:26:36 ◼   ► it still doesn't build very quickly and I still occasionally get really weird behaviors that are solved by restarting Xcode and

01:26:43 ◼   ► I think we're a little late for that. Have you tried writing much much smaller apps?

01:26:47 ◼   ► Yeah

01:26:49 ◼   ► My favorite error is the one where it says like this and this is more common in Swift UI

01:26:54 ◼   ► Which of course is much younger and much more of a giant pile of hacks

01:26:58 ◼   ► But my favorite one is the one where it says like this can't be evaluated in a reasonable time

01:27:03 ◼   ► You got to break it up into into subjunks or whatever

01:27:05 ◼   ► Type inference. It's

01:27:08 ◼   ► Yeah, yeah, I'm not gonna say it's non-deterministic, but sometimes it goes off the rails

01:27:13 ◼   ► At least it tells you and doesn't try forever to figure out

01:27:17 ◼   ► Yeah, the type is supposed to be I'm gonna object slightly to your hidden functionality objective C supports pound-defined talk about hiding functionality

01:27:25 ◼   ► Again referencing pearl if you look at the pearl source code

01:27:27 ◼   ► You're like what languages is written in the answer is macros is that it's written in pound-defined macros everywhere

01:27:33 ◼   ► So and you could say well, you shouldn't use pound-defined that way and blah blah blah

01:27:37 ◼   ► But that's exactly the argument people make about say operator overloading

01:27:39 ◼   ► Yes, the feature can be abused to make your code terrible

01:27:42 ◼   ► But don't do that pound-defined is the ultimate feature that can be abused to make your code and completely incomprehensible in doing hidden things

01:27:49 ◼   ► You don't do that because you're a good objective C programmer. I think the same applies to Swift

01:27:53 ◼   ► while this is not unqualified there are things about

01:27:58 ◼   ► header files that I miss

01:28:01 ◼   ► Really? You're a monster. You are a monster. I

01:28:05 ◼   ► like the way that they

01:28:07 ◼   ► very easily make make like a

01:28:10 ◼   ► Public list of like here's how I expect this thing to be called publicly and here it is in ten lines

01:28:15 ◼   ► I feel like as an IDE issue, don't you? Well, maybe but yeah, I mean as opposed to you know in Swift

01:28:20 ◼   ► It's like you have this giant file

01:28:22 ◼   ► That's this entire class and for the functions in it are public

01:28:26 ◼   ► But there's no quick way to see what that is outside of like the drop-down and Xcode

01:28:30 ◼   ► Yeah

01:28:30 ◼   ► Like it would be better if you could like collapse at all and like they could even give a header view that if you can

01:28:35 ◼   ► And say which one is the public API then give give a little view in the navigation that says oh

01:28:40 ◼   ► this is the equivalent of the header and it just those function signatures of the public ones like I

01:28:44 ◼   ► Think that is a surmountable thing because the information is all there and I like the fact that it's all in the file

01:28:49 ◼   ► I like the fact that I don't have to make header files and if you want that view of things

01:28:53 ◼   ► I feel like that's something that code should offer

01:28:56 ◼   ► I find myself in the same situation and that what I don't want to do is like oh

01:29:01 ◼   ► Well, I'll just come up with a naming convention myself and I'll put leading underscores and all the internal ones or some crap like that

01:29:05 ◼   ► because that's gross but

01:29:07 ◼   ► We you know

01:29:08 ◼   ► We all have all the metadata in the language to provide you

01:29:10 ◼   ► Essentially a header view without you having to type one and that's something that would be a nice addition

01:29:15 ◼   ► There is something that's similar to this in Xcode and I've seen it like once it's buried

01:29:21 ◼   ► It's so far down. It might as well be in China and I cannot remember where it is, but there's a way to do

01:29:27 ◼   ► Something like this you can get Xcode to extract something that vaguely looks like a header file

01:29:33 ◼   ► God, I'm looking around right now trying to figure it out and I can't figure it out

01:29:36 ◼   ► So you don't have to be extracted though. You just want it to be like a view

01:29:39 ◼   ► You know what?

01:29:40 ◼   ► I mean like it could be in your sidebar and you click right it's a non editable thing like in the same type of experience

01:29:45 ◼   ► Or like what is it show?

01:29:47 ◼   ► Counterpart. I'm gonna remember the names of these commands and the objective C

01:29:50 ◼   ► Days, but you could switch back and forth from the dot M to the dot H, you know. Oh, yeah

01:29:55 ◼   ► Then there's the mini map that is the next code now, which I actually really like. I always turn that off. Oh, I like it, but

01:30:02 ◼   ► Yeah, there's a shoot. I cannot remember how to do this and it's gonna drive me nuts

01:30:07 ◼   ► Maybe we'll have follow up next week while you wait. I will try to fend off some feedback

01:30:11 ◼   ► And yes, I know it's the C preprocessor that I was referencing and not pound-defined, but I hope everyone is on the same page

01:30:16 ◼   ► No one in the chat room are correct to be yet. I'm a little bit disappointed actually

01:30:23 ◼   ► We are sponsored this week by flat file

01:30:26 ◼   ► One of the worst ways to spend your time is manually formatting customer spreadsheets

01:30:31 ◼   ► Thankfully our friends at flat file have created portal the elegant import button

01:30:36 ◼   ► So your users can confidently import their data without you ever having to format their messy excel files again

01:30:42 ◼   ► Flat file portal is a turnkey data importer for your product that automatically formats validates and transforms

01:30:50 ◼   ► Customer spreadsheets so the data is ready to use in your backend that frees you and your customers from having to manually format

01:30:57 ◼   ► Spreadsheets for hours without needing to build a clunky in-house CSV importer

01:31:02 ◼   ► flat files portal integrates with virtually any

01:31:05 ◼   ► application and minutes can upgrade your customer data onboarding from emailing Excel files back and forth to

01:31:11 ◼   ► Importing even the messiest data correctly and on the first try with flat file portal

01:31:17 ◼   ► Intuitive data imports will be the standard for your customers your engineers and your product teams

01:31:23 ◼   ► If you're interested in testing out flat file portal visit flat file dot IO

01:31:28 ◼   ► That's flat file dot IO. Thank you so much to flat file for sponsoring our show

01:31:33 ◼   ► Alex Guthman writes, I know this has been slightly covered in previous ask ATP's in episode 268 and 381

01:31:43 ◼   ► But do you guys have a non ISP provided DNS server?

01:31:46 ◼   ► If so, which ones to use why Google open DNS cloudflare etc for security or reliability or both?

01:31:52 ◼   ► Well changing the DNS servers on my router improved network reliability or speed or privacy, even though it's not a VPN

01:31:56 ◼   ► So for me, I tried this like many years ago when this was very very cool to use like Google or some other

01:32:04 ◼   ► I forget what else it was, but Google's DNS

01:32:07 ◼   ► Maybe was open DNS and I tried it for a while and the experience I had again many years ago now

01:32:13 ◼   ► was that anything that involves streaming like Netflix or YouTube or something like that was all slower than dirt because

01:32:19 ◼   ► Some way somehow and this is beyond my knowledge

01:32:23 ◼   ► It was apparently through the magic of DNS that they would target me to a server physically near my house

01:32:29 ◼   ► And when I was using a DNS based out of like, California everything slowed down to a crawl

01:32:34 ◼   ► And so I stopped doing this within the span of like a couple of weeks that very well may not be the case

01:32:41 ◼   ► Anymore so I have no idea and when I'll let the guys correct me here in a second

01:32:44 ◼   ► But what I will say is that for maybe a year now, I've been using

01:32:48 ◼   ► Piehole on my local network, which is the most delightful and terrible name in the world. That's PI

01:32:53 ◼   ► H-o-l-e and what this is is a

01:32:56 ◼   ► DNS server that you run on a Raspberry Pi or in Docker and

01:33:00 ◼   ► It has a bunch of block lists that will block things like

01:33:05 ◼   ► Advertisements in some malware and things of that nature and so I have my Raspberry Pi running piehole

01:33:10 ◼   ► And that is my local networks DNS server

01:33:13 ◼   ► But when it doesn't know the answer to something it will just go to my ISP to files as DNS server Marco

01:33:20 ◼   ► What do you do? I just run the files only I just run my SP DNS server. I

01:33:25 ◼   ► have very occasionally tried things like open DNS or like the

01:33:31 ◼   ► Google ones or the cloud flare ones and I

01:33:36 ◼   ► Too have had occasional issues with them and it's never been worth dealing with those issues for the benefit

01:33:43 ◼   ► They provided and so I would I would always switch back after a few weeks or a few days or whatever just back to my ISPs

01:33:49 ◼   ► It's just this this solves problems. I don't have or it introduces problems. I'm not willing to tolerate

01:33:56 ◼   ► Yeah, John

01:34:01 ◼   ► So back in the I guess it may be my cable days when I had cable internet access

01:34:07 ◼   ► The reason I became interested in alternate DNS providers is that my DNS provider through my ISP was garbage

01:34:14 ◼   ► And you know, it's the it's the old

01:34:16 ◼   ► Saying of people who have ever debugged weird problems on the server side. It's always DNS

01:34:22 ◼   ► When you have a DNS problem

01:34:25 ◼   ► You're like what's wrong with my computer? Nothing works

01:34:28 ◼   ► I can't understand if you don't know enough network debugging to immediately check whether your thing is hanging trying to resolve a name

01:34:34 ◼   ► Right, you're like, I don't especially if you can't see the internals of some system

01:34:38 ◼   ► Like everything is not working and something it's in somewhere

01:34:41 ◼   ► It's like trying to look up a name and your stupid ISPs DNS server is not down

01:34:45 ◼   ► It's up but it's giving the world's lowest responses. It's incredibly frustrating. So that's why I started looking into them

01:34:52 ◼   ► it's tricky for

01:34:55 ◼   ► You to tell whether that's happening to you because unless you're literally debugging your own server-side code where you control where you know

01:35:02 ◼   ► Names are converted to IP addresses or whatever

01:35:05 ◼   ► You probably don't know the internal guts of some set-top box or some app that you're using is hanging on DNS

01:35:12 ◼   ► And it's difficult to figure that out

01:35:14 ◼   ► But it could be that in the wide world of crappy ISPs

01:35:18 ◼   ► Especially in the US you too also happen to have a crappy ISP DNS server that you're using and it's causing your browsing experience

01:35:24 ◼   ► To be crap

01:35:25 ◼   ► So I think for the average person if you're nerdy and you want to try this it is worth looking into Cloudflare Google

01:35:31 ◼   ► Open DNS. In fact, I think there's an app at least for the Mac anywhere that does like DNS benchmarking

01:35:36 ◼   ► They will try a bunch of DNS servers and tell you which one is the fastest responding from your location

01:35:41 ◼   ► That doesn't tell you anything about reliability

01:35:43 ◼   ► But at least it can tell you like how fast you get the responses back honestly speed isn't an issue unless you have a garbage

01:35:49 ◼   ► ISP that's waiting, you know seconds to give you your names back which can really hurt things

01:35:54 ◼   ► But that's why I started experimenting with it

01:35:56 ◼   ► And I benchmarked a bunch of them and it turned out the one that was the fastest was one

01:36:01 ◼   ► I hadn't heard of so instead I just tried using the Google one

01:36:03 ◼   ► And when I saw this question, I I left it in here and I intentionally didn't look this up because honestly, I don't know

01:36:11 ◼   ► Which of my computers and devices are using which DNS server? I'm pretty sure some of them are still using Google DNS

01:36:18 ◼   ► But I'm sure I'm also sure that some of them are just using my ISP one because I never configured them, right?

01:36:23 ◼   ► I didn't change my DNS at the router level or anything a lot of times your your your router is your DNS server

01:36:30 ◼   ► You can just specify, you know, ten dot zero dot one dot one or whatever like your main router

01:36:34 ◼   ► It all will also do the DNS things they can just delegate to that

01:36:37 ◼   ► But I'm pretty sure some stuff in my house is using Google DNS and the fact that I don't know

01:36:42 ◼   ► Tells me that I don't have any problem with it because I stream things from everywhere. Everything's fine

01:36:48 ◼   ► They get fast internet speeds. I get fast uploads fast downloads, and I honestly don't know which one I'm using

01:36:53 ◼   ► So I and I think I have files as well and I think the files DNS is fine

01:36:58 ◼   ► Like I didn't this that's not why I was exploring it. I started exploring

01:37:02 ◼   ► I think back when I had like media one which turned into Comcast anyway

01:37:06 ◼   ► For for listeners, I'd say it's worth checking out. But what Casey said about potential of GYP stuff?

01:37:14 ◼   ► I know Google does a bunch of stuff to counteract that where even though you're doing eight dot eight dot eight dot eight

01:37:18 ◼   ► It's not the same for eights that other people are using like it's it's GYP balanced from your lookups

01:37:24 ◼   ► it's you know, they try to be clever about that and things like open DNS and cloudflare for some of our systems to

01:37:29 ◼   ► not have the CDN streaming problem that you have but

01:37:33 ◼   ► You know, there's no guarantee that it'll work for you

01:37:37 ◼   ► So I'd say check it out

01:37:38 ◼   ► 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 fine

01:37:44 ◼   ► Just stick with that

01:37:46 ◼   ► Nathan Roberts writes there are people in the Mac community who dislike electron apps and modern web frameworks

01:37:50 ◼   ► I also dislike when resources are wasted for computing tasks that could be done in a more efficient way

01:37:54 ◼   ► But the history of computing is full of evolution the difference between quote unquote native versus quote unquote web

01:38:00 ◼   ► Becomes intellectual when the software works. Well, see for example visual studio code

01:38:04 ◼   ► Is there a problem with this tech that I don't understand is this an old man yells at cloud situation?

01:38:09 ◼   ► Are we about to get rained on? Yeah, you know, this was actually reasonably well put I

01:38:14 ◼   ► would also say the Visual Studio code is an

01:38:17 ◼   ► Incredibly good example of something that is written in electron that doesn't seem to be it seems it's very much

01:38:24 ◼   ► Visually and in so many ways actually cut from its own cloth

01:38:27 ◼   ► but it doesn't feel like a slow piece of garbage and and so to back up a half-step electron is a

01:38:33 ◼   ► Way to build a native ish app using web frameworks. So slack for example is electron

01:38:40 ◼   ► I believe Skype now is electron and

01:38:43 ◼   ► The guys will probably have more concrete complaints about it

01:38:47 ◼   ► But what I don't like about slack and about Skype is that so much of it feels

01:38:51 ◼   ► so

01:38:53 ◼   ► Not native and so wrong and is missing affordances that I would expect

01:38:58 ◼   ► And I wish I could cite some more specific examples and I can't off the top my head

01:39:03 ◼   ► But there's this there's just a general wrongness to it that

01:39:06 ◼   ► bothers me and in frustrates me and at worst offends me and and I think

01:39:12 ◼   ► Slack for all my complaining about it does mostly get the job done and mostly does a pretty decent job of it

01:39:19 ◼   ► But unlike Visual Studio code where I don't really ever tell I can't even ever tell that I'm using a weird

01:39:27 ◼   ► Mechanism to run this app. It always just feels like something is not right in slack. And that's what's so frustrating about it

01:39:34 ◼   ► I don't know John. Can you be more explicit and concrete about this than I am?

01:39:38 ◼   ► I think you hit on the two the two main complaints and it's not just one about like electron one

01:39:43 ◼   ► One is the speed thing like in general web-based technologies have always liked behind native in terms of speed and responsiveness

01:39:49 ◼   ► But you know computers are getting faster and that is only going to fade with time as Nathan points out, right?

01:39:54 ◼   ► Did you know technology marches on and what some people might say is incredibly inefficient or whatever eventually just becomes trivial and a non-issue

01:40:01 ◼   ► But the second thing is not going to go away based on performance and that is the nativeness

01:40:05 ◼   ► Feeling not in terms of responsiveness

01:40:08 ◼   ► But just like what are the native widgets and how do they work with an electron app?

01:40:12 ◼   ► You will always be at best trying to imitate

01:40:15 ◼   ► the operating systems incarnation of a button a scroll bar a text field or rich text editing field like

01:40:21 ◼   ► Even down to the window in some cases right those things exist, right as of today

01:40:26 ◼   ► Except perhaps in something like Chrome OS or whatever

01:40:30 ◼   ► There are native UI toolkits and native UI controls for menu bars buttons checkboxes scroll bars scrolling view text

01:40:37 ◼   ► everything right and

01:40:39 ◼   ► You can with an electron app. You can either say we're going to make

01:40:44 ◼   ► Our own interface elements out of web stuff out of HTML and CSS and JavaScript and you could try to make them

01:40:51 ◼   ► Look like the OS ones which is a losing battle because the OS keeps moving

01:40:55 ◼   ► You're constantly gonna be chasing it and you're never gonna be exactly like it

01:40:57 ◼   ► So there's the uncanny valley thing or you can do what Visual Studio code and other apps do is say well

01:41:02 ◼   ► I'm not gonna even bother trying to look like the native stuff

01:41:04 ◼   ► I'm gonna look like my own thing and it'll be good and you'll like it

01:41:07 ◼   ► But no one will ever be fooled into thinking it's from it is an OS native and that can work

01:41:13 ◼   ► Except part of the promise of the GUI from the original Mac is if you learn one set of controls and behaviors

01:41:21 ◼   ► That knowledge transfers, right?

01:41:23 ◼   ► 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

01:41:27 ◼   ► Way with respect to selection every time I see a scrolling view it

01:41:30 ◼   ► respects my OS preferences for scrolling and clicking to jump the scroll wheel versus just going to move it and all my you know

01:41:37 ◼   ► swipe gestures and all those stuff like that expectation

01:41:40 ◼   ► Thwarted if you as you have more and more electron apps

01:41:44 ◼   ► That don't use native controls and each one of them has their own idea of what they want to do

01:41:48 ◼   ► Oh, they're gonna try to imitate the OS thing, but they failed to implement this feature

01:41:52 ◼   ► Oh, they're not gonna try it and you have to remember in this app. It works this way

01:41:54 ◼   ► So the complaint about electron the performance complaints may fall by the wayside

01:41:59 ◼   ► But the non-native thing will only fall by the wayside if we ever get to a point where there are more

01:42:05 ◼   ► Essentially more non-native apps than there are native apps

01:42:08 ◼   ► I don't think that we're there yet and even if we were there the non-native apps are not going to all get in a big

01:42:14 ◼   ► You know, you know conference call with each other and decide how they want their widgets to behave

01:42:17 ◼   ► Then you're gonna be back to the bad old days

01:42:19 ◼   ► Everyone deciding how they want their app to work and not having

01:42:23 ◼   ► Like your sort of muscle memory and habits transfer from one out to the other. So I

01:42:27 ◼   ► Wouldn't want to live in that world. I understand that the web is kind of like that now

01:42:32 ◼   ► It's part of what makes websites frustrating that there's so much variance between them

01:42:35 ◼   ► I still kind of like the idea of a GUI with a set of controls that act

01:42:40 ◼   ► Consistently between apps because that makes my computing life easier

01:42:44 ◼   ► the only thing I would add is that there's also just a pretty significant issue about

01:42:50 ◼   ► memory footprint and battery life with a lot of these apps

01:42:53 ◼   ► I actually don't have a huge amount of complaining to do about UI consistency with these apps because

01:43:01 ◼   ► When electron is being used in many cases like I think slack

01:43:06 ◼   ► It's hard to picture like what would a like, you know quote native Mac, you know

01:43:13 ◼   ► Aqua or you know app kit. What what would that look like?

01:43:17 ◼   ► for slack

01:43:20 ◼   ► And I don't know what that like it. I don't think it would work

01:43:23 ◼   ► I think it would end up looking a lot like this and and working a lot like this

01:43:27 ◼   ► And so be a lot of custom stuff anyway

01:43:29 ◼   ► And it's like whether they're rendering custom stuff with a web view or with custom, you know quartz drawing commands

01:43:35 ◼   ► If it's a bunch of custom stuff, it's still gonna you know behave in a custom way. So I don't actually

01:43:42 ◼   ► Have a big problem with a lot of that with with some of these apps

01:43:46 ◼   ► I can give you a specific specific example from slack though, by the way with the native thing

01:43:50 ◼   ► one of the things that frustrates me about slack which I use every day a lot is the interface for

01:43:56 ◼   ► Editing a message right like the little like the hover pop-up thing lets you get the little thing

01:44:01 ◼   ► There's like more actions and you can click edit and you can or you can like add a reaction or whatever

01:44:07 ◼   ► The like the sort of active areas that brings up that UI

01:44:12 ◼   ► it's just so

01:44:14 ◼   ► So like twitchy that I can never quite get the message that I want and if it was a native Mac app

01:44:19 ◼   ► Not just from a technological perspective

01:44:22 ◼   ► But you know

01:44:22 ◼   ► It's if it was a good native Mac app

01:44:24 ◼   ► the developer would spend a lot of time sweating over how that interface feels and they would have per pixel control and

01:44:32 ◼   ► Like they can essentially write custom code

01:44:34 ◼   ► Do the mouse in and out handling and do all sorts of the things that the very best Mac native Mac apps do

01:44:40 ◼   ► Whereas with web technologies, they're just gonna be like, yeah, we've got the the mouse in a mouse out event

01:44:44 ◼   ► Or you know the hover event in our web thing and that's that's sufficient and it makes for a UI that's usable

01:44:51 ◼   ► But feels twitch here to me

01:44:53 ◼   ► So I get what you're saying about like the app would more or less probably look the same and I think slack is a very good

01:44:57 ◼   ► Electron app and in general they do pretty well

01:45:00 ◼   ► like for example

01:45:01 ◼   ► one of the things I tested was I went into the text field and then I hit ctrl a use Emacs key bindings to jump around

01:45:06 ◼   ► in the text field and that totally works mostly because

01:45:09 ◼   ► Apple does a good job of making their web controls like, you know, the the WebKit controls

01:45:13 ◼   ► Support native Mac toolkit type things. So it's not bad. In fact, I really like the slack app, but I don't have trouble

01:45:21 ◼   ► finding places where a

01:45:24 ◼   ► If it was a native Mac app

01:45:26 ◼   ► Even if it more or less look the same that it would behave

01:45:29 ◼   ► Differently in ways that I feel like could be superior just due to the extra control have and again

01:45:35 ◼   ► This is not even talking about consistency because you're right

01:45:37 ◼   ► They're like, well, what would the editing control look like?

01:45:39 ◼   ► There's no there's no like native control for that and you surely wouldn't want a button next to everything

01:45:43 ◼   ► So it would have to be some kind of custom UI

01:45:45 ◼   ► But I feel like it would be a more Mac feeling interaction for the custom UI

01:45:49 ◼   ► maybe I mean, I think a lot of this comes down to

01:45:52 ◼   ► like

01:45:53 ◼   ► Care and craftsperson ship as opposed to like, you know, the the framework they're using to do it

01:45:59 ◼   ► I mean, you know, I look at something like things is my preferred to do app on the Mac on all platforms and

01:46:07 ◼   ► Things has an incredibly highly custom UI. It does not look like app kit

01:46:13 ◼   ► It does not look like aqua. It looks like its own incredibly custom thing

01:46:17 ◼   ► But they wrote it in app kit like it is using the native API's is not it's not a web app at all

01:46:22 ◼   ► I have used other to-do apps

01:46:25 ◼   ► I've tried them that were web apps in you know, or you know that that were web technology based even in their their Mac quote apps

01:46:34 ◼   ► they sucked like they were terrible and that's why I don't use them and

01:46:38 ◼   ► that wasn't an issue of like

01:46:41 ◼   ► It was impossible to make a good Mac UI using web technologies. It was that they just didn't

01:46:48 ◼   ► You could somebody could do it. It is possible and a good Mac UI as things demonstrates doesn't have to be

01:46:56 ◼   ► Exactly, like, you know vanilla aqua controls it can be done in a good way and I think slack gets very close

01:47:03 ◼   ► I think slack as

01:47:05 ◼   ► Electron apps go is a very good one

01:47:07 ◼   ► You know, there are limitations of it being electron app

01:47:10 ◼   ► It does take a comically long amount of time to launch it. It is comically wasteful of resources

01:47:16 ◼   ► They've had to do a ton of work over time to make it slightly less egregious at how much memory and stuff that it burns

01:47:23 ◼   ► but I

01:47:25 ◼   ► think that's that's like the big problem with them is like it's a very electron and and you know using web technologies to do you eyes

01:47:33 ◼   ► a very heavy thing and

01:47:35 ◼   ► So it has to be really worthwhile

01:47:37 ◼   ► Now if you're doing something like slack, which is a very complicated app

01:47:41 ◼   ► I think that might be acceptable if you're doing something like, you know VS code

01:47:47 ◼   ► I've never used VS code

01:47:48 ◼   ► But I know people love it a programmer is text editor is such a massive tool

01:47:53 ◼   ► That if that becomes a heavy thing that you know in in the system, it's not that big of a deal Xcode is damn heavy

01:48:00 ◼   ► I mean, it's you know, ID either are all heavy things. So that's that's what I would categorize

01:48:04 ◼   ► Visual Studio code is it's more of an ID and less of just a text editor and in that respect

01:48:09 ◼   ► Like I would not want Xcode to be written with web technologies. Oh, no, I feel like like I

01:48:14 ◼   ► Not that I'm saying Visual Studio code is a bad idea. I think it's a really good one

01:48:19 ◼   ► but and I understand why it's

01:48:21 ◼   ► Written the way it's written, but I'm also really really good at the Xcode isn't written like that

01:48:26 ◼   ► yeah, and and I'm really really glad that most of my apps that I use are not written like this because

01:48:32 ◼   ► Imagine, you know right now. I I have two such apps open. I have Skype and slack open and

01:48:40 ◼   ► Like I look at my doc and I have like ten other apps open all of which are native except for those two as far as

01:48:47 ◼   ► I know

01:48:48 ◼   ► it would be very inconvenient for the resource level of my system if

01:48:54 ◼   ► Nine of those apps were all electron apps

01:48:57 ◼   ► Like it's one of those things were like if you have one or two of these it's no big deal

01:49:01 ◼   ► But it becomes much heavier it because because they're so heavy it becomes much more burdensome to have

01:49:07 ◼   ► more than a couple of them and so it's not a good idea for most apps to do this and

01:49:12 ◼   ► It's not a good idea to do this

01:49:14 ◼   ► if what you want to do with your app can be easily done with the native frameworks, but

01:49:20 ◼   ► When you look at something like slack and you look at like what they actually need on slack is a

01:49:25 ◼   ► very complicated UI

01:49:28 ◼   ► That is often rendering web content. That is often rendering HTML like for just things like what's you know?

01:49:35 ◼   ► It's it's a giant rich text view that has a lot of embedded images and stuff like that like that

01:49:41 ◼   ► even if you wrote that in

01:49:44 ◼   ► with like app kit and native code you'd probably implement it as

01:49:49 ◼   ► Largely a web view and so like much of your UI would be rendered using web technology

01:49:54 ◼   ► Anyway, like it would be you wouldn't be saving a massive amount of resources by doing it that way

01:50:00 ◼   ► That you would just introduce, you know complexity at the engineering side and slack is this like very complex rich service

01:50:08 ◼   ► that

01:50:10 ◼   ► has to run on every platform and it has to have feature parity constantly on every platform and

01:50:18 ◼   ► So again, like you can see why they do this

01:50:21 ◼   ► I don't love this is the reality of a lot of things these days

01:50:23 ◼   ► but that's why they do it and it makes a lot of sense, but if that's not your if that's if it's not your business needs if

01:50:31 ◼   ► You can get away with using native stuff and it's not that big of a deal to your business

01:50:35 ◼   ► Then by all means it's better and you should but something like slack

01:50:40 ◼   ► I think is electron for good reasons and it doesn't bother me that much with the exception of

01:50:47 ◼   ► Quite how incredibly resource-intensive it is. I should think about getting a Mac with more than 16 gigs of RAM

01:50:53 ◼   ► Brutal

01:50:57 ◼   ► Matt Steiner writes recent Apple car rumors seem to suggest they're working toward an autonomous EV to sell to customers

01:51:03 ◼   ► What do you guys think of the idea of Apple designing an autonomous EV to be used in their own ride-sharing service akin to uber?

01:51:08 ◼   ► Apple controls the hardware and software and can focus on the experience ultra high-end interior ecosystem integration advanced technologies

01:51:15 ◼   ► Without needing to worry about pricing margins dealerships or charging networks somewhere to Waymo

01:51:19 ◼   ► They can focus on their self-driving tech on well-mapped geographies cities ideal for ride-sharing to create a polished system

01:51:26 ◼   ► That doesn't necessarily need to operate everywhere in the way a consumer EV would

01:51:29 ◼   ► May this doesn't really do anything for me personally. Like I just I don't see this as a

01:51:37 ◼   ► Sustainable reasonable model for a business to make decent money

01:51:43 ◼   ► And I just don't I just get by gut alone

01:51:46 ◼   ► I just get the feeling that this is not what Apple's interested in that. It's not they don't want to be uber

01:51:52 ◼   ► They don't want to and most they might want to be uber for like shuffling

01:51:56 ◼   ► Employees between their different buildings in Cupertino, but even then I don't think they're that interested

01:52:01 ◼   ► So yeah

01:52:03 ◼   ► I don't I don't think this is for them this harkens back to the good old days of

01:52:07 ◼   ► Apple rumors where you and where you just you start with the premise that Apple is able to do something that no one else thus

01:52:13 ◼   ► Far has been able to do and then you extrapolate from there

01:52:16 ◼   ► Oh, what if Apple could just do this thing that apparently nobody in the world can do yet?

01:52:19 ◼   ► But like what if Apple could do it because they're super smart then do you think Apple would do that?

01:52:23 ◼   ► If Apple could make hoverboards, they'd probably do it but I think

01:52:27 ◼   ► yeah, the

01:52:29 ◼   ► Making come fully autonomous cars and selling them and saying wouldn't that be great service because you know how to worry about dealers because Apple

01:52:36 ◼   ► Would own all the cars and everything like I see the appeal, but let's start with okay

01:52:39 ◼   ► Well, where are the fully autonomous cars come from?

01:52:41 ◼   ► Assuming Apple Apple will be able to do that where everyone else has failed after decades of trying and they just I mean eventually maybe

01:52:48 ◼   ► But you know, I don't see anything that's that as far as I know Apple has not is not

01:52:53 ◼   ► far ahead of the competition when it comes to

01:52:57 ◼   ► Full autonomy for this type of application now in terms of whether if we start from that premise though and say, okay

01:53:04 ◼   ► Well, so it's something that everybody can do right would Apple want to be in that business?

01:53:08 ◼   ► Because I don't think you can start and say okay

01:53:11 ◼   ► What if Apple was the only one that could do this then wouldn't they want to be in that business?

01:53:15 ◼   ► There's very little that that in the Apple will be able to do that people can't copy, right?

01:53:20 ◼   ► So I said what if Apple is the only one with a smartphone with a touchscreen for a tiny little while?

01:53:24 ◼   ► They were like, you know a smartphone with a good

01:53:27 ◼   ► iPhone caliber touchscreen, but eventually everyone else had one

01:53:31 ◼   ► So Apple had better hope their competitive advantage is not hey

01:53:34 ◼   ► We're the first ones to figure out how to do this because that won't be true for very long

01:53:37 ◼   ► So you have to assume the world is a place where everybody can do this

01:53:41 ◼   ► Google could make the service Amazon can make this service Hertz can make this service

01:53:45 ◼   ► Then is it a business that Apple wants to be in and you got to ask the Tim Cook question

01:53:49 ◼   ► Is this a place where Apple feels like they can make a big impact yada yada, and I would hope

01:53:52 ◼   ► From the perspective from the high-level perspective what Apple would say to itself is not

01:53:59 ◼   ► Not like, you know, is there some buck to be made while we're the first people to do this, but is basically is this type of

01:54:06 ◼   ► product

01:54:08 ◼   ► Going to solve a problem in the world in a way that we want in some respects

01:54:13 ◼   ► yes, like if you could have a set of

01:54:16 ◼   ► autonomous fleet of cars that are shared and in a city environment and

01:54:21 ◼   ► Then pair that with banning people from bringing their own cars

01:54:26 ◼   ► You could reuse existing infrastructure with fewer cars on the street in a more efficient manner

01:54:31 ◼   ► But in other respects if you really want to solve the problem

01:54:35 ◼   ► The solution is not to either add more cars or to have different kinds of cars

01:54:39 ◼   ► But rather to invest in more efficient nicer public transportation

01:54:43 ◼   ► Which carries people, you know far larger number of people more efficiently with less space stuff like that

01:54:48 ◼   ► And I would hope that any Apple thinking about a future product is thinking big picture is the answer more cars

01:54:54 ◼   ► Now I know apples remember to be making a car and I hope they're also asking that question and the reality is cars are

01:55:00 ◼   ► You know a big thing in the entire world right now

01:55:03 ◼   ► so you can't stick your head in the sand and say I'm just gonna ignore cars entirely but

01:55:07 ◼   ► For something like this where you have oh we have autonomy and we have this amazing advanced technology

01:55:12 ◼   ► I would hope that we would think a little bit bigger than let's just do cars but slightly different because

01:55:18 ◼   ► That type of technology enables all sorts of interesting things

01:55:23 ◼   ► Other than simply trying to use our existing road infrastructure slightly more efficiently

01:55:28 ◼   ► Yeah, I I still I mean

01:55:34 ◼   ► There's a lot of smoke where this fire is alleged to be and so I'm pretty sure that

01:55:40 ◼   ► Apple is working on some kind of car or car related thing car related thing as in maybe they're just doing the software

01:55:47 ◼   ► Maybe they're partnering with Hyundai that you know, there's so many rumors. We don't know. Yeah, but like it's Apple

01:55:53 ◼   ► I don't think Apple wants to be in the business of being the partner with

01:55:58 ◼   ► Uber or Hertz to supply them like that's not that's that's like a big b2b deal

01:56:04 ◼   ► Apple sucks at that kind of thing

01:56:05 ◼   ► like they're not gonna make some kind of big sales deal with some other person who's gonna share the

01:56:10 ◼   ► major parts of the responsibility of the like

01:56:13 ◼   ► Customer relationship and a customer experience like they're gonna do their own the whole thing themselves

01:56:17 ◼   ► You're thinking you're thinking Motorola rocker though, and I'm thinking I'm thinking Foxconn

01:56:22 ◼   ► Fair enough. Yeah, that's fair. But I ultimately

01:56:25 ◼   ► This thing we're like, you know, Apple just makes a fleet of cars for you know

01:56:31 ◼   ► Uber or whoever to operate and you don't you don't actually buy them you just get into this car does on my Apple like I

01:56:37 ◼   ► Know not not not not for uber to operate the idea in this question is that Apple would run that service

01:56:42 ◼   ► So Apple would own all the cars like it wouldn't be selling car

01:56:44 ◼   ► Oh, right, it would be selling access to the Apple car transport service

01:56:48 ◼   ► At that point Apple is just like a giant car leasing company and car maintenance company. I mean, they're a taxi service

01:56:53 ◼   ► Yeah, I don't see that

01:56:55 ◼   ► First of all, I don't see that being a business Apple would really want to be in

01:56:59 ◼   ► services revenue

01:57:02 ◼   ► But but secondly I

01:57:04 ◼   ► Still don't know why Apple wants to be in the car business at all

01:57:09 ◼   ► Like I yeah, this doesn't make any sense to me whatsoever. I can tell obviously they're putting a lot of resources into this project

01:57:16 ◼   ► You know, there's so much supporting that now that like it does seem like they do have

01:57:21 ◼   ► Some kind of major car project going and have for some time, but I still just do not see

01:57:27 ◼   ► why Apple wants to or should be in the car business and

01:57:32 ◼   ► even as a huge fan of Apple and an okay fan of cars, I

01:57:39 ◼   ► Don't want an Apple car. I'm not excited about that. I don't think they should be doing any of this

01:57:45 ◼   ► I think this is a massive distraction and I

01:57:47 ◼   ► Have yet to imagine

01:57:51 ◼   ► Why this is a good idea for them to do why they need to do this

01:57:56 ◼   ► Why they need to spend any of their resources doing this why?

01:57:59 ◼   ► Apple can bring something to the table here why they would be even be good at it. I don't see any of that

01:58:05 ◼   ► I don't see anything in Apple's product line

01:58:07 ◼   ► It says like you know, like part of this question is like Apple can control the hardware and software

01:58:11 ◼   ► You can focus on the experience ultra high-end interior ecosystem integration advanced technology. What does that mean?

01:58:17 ◼   ► Can Apple make an ultra high-end car interior?

01:58:22 ◼   ► Maybe but we've never seen that before

01:58:25 ◼   ► But you know what like when they when they launched the Apple watch they had never made an ultra high-end

01:58:30 ◼   ► You know watch band ecosystem before but they managed to make a pretty good one

01:58:34 ◼   ► I wouldn't make maybe not ultra high-end, but they may make a you know, very good watch bands and and you know

01:58:39 ◼   ► a decent watch experience like I suppose they could try this but

01:58:43 ◼   ► Apple like this is so far from the kinds of things they do

01:58:48 ◼   ► You know you mentioned earlier like the Tim Cook thing of like trying to make a you know

01:58:53 ◼   ► Make a real difference and until only tackle the things that they can make a real difference in

01:58:57 ◼   ► It's like they decided not to do Wi-Fi routers like they like why there's so many things that they could do

01:59:03 ◼   ► That would make a real difference to the business. They're already in I

01:59:08 ◼   ► I and they choose not to for you know focus or or resources or whatever a

01:59:13 ◼   ► car

01:59:15 ◼   ► Not let alone even a regular even if you ignore all the magic self-driving stuff that seemingly doesn't exist that it might never exist

01:59:22 ◼   ► Even if you ignore that just making a car

01:59:24 ◼   ► Period even a manually driven one where one is driven by a human

01:59:28 ◼   ► it's so much work and

01:59:31 ◼   ► It's so many specialty skills

01:59:34 ◼   ► And it's so it's it takes so much infrastructure and so much support

01:59:39 ◼   ► massive amounts of design and engineering and just

01:59:43 ◼   ► such a massive distraction

01:59:46 ◼   ► Apple is not known for having a ton of extra engineering and design resources and the ability to multitask incredibly

01:59:53 ◼   ► Well while juggling all their other product lines

01:59:55 ◼   ► Why are they doing this? I still yeah, I have no clue why they're doing this and I

02:00:02 ◼   ► Again unless I mean maybe I'm totally wrong and maybe they're gonna blow us away

02:00:06 ◼   ► You know in five or ten years whenever but it sure looks to me like just a giant

02:00:11 ◼   ► distraction a giant like

02:00:14 ◼   ► massive resource suck that is

02:00:17 ◼   ► Not a good idea strategically for them at all. I don't see what this does for them

02:00:23 ◼   ► I don't see why Apple wants to be a car company or why they should become a car company

02:00:28 ◼   ► No matter what the car even if it's fully autonomous cars or or manually driven cars no matter what kind of car it is

02:00:34 ◼   ► I don't see why Apple needs to or should or would be good at doing this

02:00:39 ◼   ► I'm sure Apple will explain it when they roll out whatever they roll out

02:00:42 ◼   ► But they're really they're really concerning concerning slash interesting thing about this is there

02:00:48 ◼   ► So Apple is seemingly so committed to whatever the heck they're doing in the car space

02:00:52 ◼   ► that when their first run at it sort of I'm gonna say failed but

02:00:58 ◼   ► Didn't work out the way they wanted they didn't abandon the idea

02:01:02 ◼   ► They rebooted it and are making at least a second attempt

02:01:06 ◼   ► We don't know how many other internal restarts there have been but there's been one public restart that we more or less know

02:01:10 ◼   ► So like I mean sure that's the thing in any big company, especially Apple, you know, you try lots of stuff

02:01:15 ◼   ► Sometimes it doesn't work out. But when the car thing didn't work out, they didn't say oh, well, we tried that

02:01:18 ◼   ► It didn't work out. They're trying again

02:01:20 ◼   ► There are they are determined to do whatever it is

02:01:24 ◼   ► They're doing here and you mentioned Wi-Fi routers if and when air tags ever actually come out after however many years being rumored

02:01:31 ◼   ► I'm just gonna look at them and say it's okay

02:01:33 ◼   ► So you're doing air tags, but still no Wi-Fi routers, huh?

02:01:36 ◼   ► You make a big difference in the tile business

02:01:38 ◼   ► But you can't make a difference in the in the Wi-Fi router business to your point about like so many areas in their current

02:01:45 ◼   ► Market where they could make a difference that aren't air tags seems like

02:01:50 ◼   ► Like really or is there so little for you to do that you thought uh-huh. Why don't we do these little tile competitor things?

02:01:56 ◼   ► That'll be I mean not that I air tags are probably being great

02:01:58 ◼   ► I think they're cool and everything but like but not Wi-Fi routers, right but also cars

02:02:03 ◼   ► It's it really is baffling and and I don't I don't want to discourage Apple from

02:02:08 ◼   ► Trying all sorts of different things

02:02:11 ◼   ► But the car thing I feel like eventually it's either got to just be dead for good or they need to ship something

02:02:17 ◼   ► The AR VR glasses is another example. I think that's definitely an area that Apple should be looking in

02:02:21 ◼   ► And I like the idea that they've been working on it for a long time and haven't shipped anything yet because it shows they're not

02:02:26 ◼   ► Just shipping the first random thing they have because we know they've had all sorts of stuff internally

02:02:30 ◼   ► That other companies probably would have shipped because it probably is cool and does a bunch of cool stuff

02:02:34 ◼   ► But they're waiting until they have something decent. So I

02:02:37 ◼   ► hope whenever

02:02:39 ◼   ► Whatever they're doing with the car comes out

02:02:42 ◼   ► That Apple is able to answer at least some of the questions that Marco just posed because if they can't it's not going to be

02:02:47 ◼   ► much of a product interaction

02:02:49 ◼   ► Thanks to our sponsors this week Linode away and flat file

02:02:53 ◼   ► Thank you to our members as well who support us directly you can join at ATP that FM slash join. Thanks everybody

02:03:00 ◼   ► We will talk to you next week

02:03:02 ◼   ► Now the show is over they didn't even mean to begin because it was accidental

02:03:11 ◼   ► Oh it was accidental

02:03:13 ◼   ► John didn't do any research Marco and Casey wouldn't let him because it was accidental

02:03:21 ◼   ► It was accidental

02:03:24 ◼   ► And you can find the show notes at ATP

02:03:28 ◼   ► FM and if you're into Twitter

02:03:32 ◼   ► You can follow them at

02:03:36 ◼   ► As ey l is s so that's Casey lists ma RC o ar m

02:03:43 ◼   ► anti Marco Arman

02:03:46 ◼   ► Sir AC USA, Syracuse

02:04:06 ◼   ► So keeping with the car theme I

02:04:08 ◼   ► Have a group chat that I think I've mentioned before that is myself into

02:04:13 ◼   ► Car enthusiast friends of mine and it's not the two of you

02:04:17 ◼   ► One of them is the guy that recommended the Subaru the BMW

02:04:22 ◼   ► and now has basically a clone of my car except his is the wrong transmission and

02:04:27 ◼   ► we were chatting the three of us the other D and

02:04:31 ◼   ► One of them I forget which one it was made the point

02:04:35 ◼   ► What's the point of Audi?

02:04:38 ◼   ► and

02:04:39 ◼   ► I should have looked back at this conversation preparation for today, but if you want to get something Audi like

02:04:46 ◼   ► Why would you get an Audi when you can get a Volkswagen? That's like

02:04:51 ◼   ► 90% as nice in most cases

02:04:55 ◼   ► but half the price or

02:04:58 ◼   ► if you want to go to the other direction you want something that's obscenely nice and

02:05:04 ◼   ► Just obscenely expensive and get a Porsche. So what's the point now D? I

02:05:09 ◼   ► Mean setting aside the fact that the corporate ownership structure that we have today didn't always exist. And so it wasn't quite as absurd a question

02:05:17 ◼   ► I this whole I think you just basically described market segmentation the whole idea of car

02:05:24 ◼   ► Regular car brands eventually having a luxury brand companion was big in the 90s and is a proven business model

02:05:32 ◼   ► You take your Toyota's and you make them a little bit fancier and you saw him for a no more money and you get a Lexus

02:05:36 ◼   ► You do the same thing with the Nissan and you get Infinities to lesser effect

02:05:40 ◼   ► Take a Honda and you make it a little bit fancier and you get an Acura which is usually a worse car

02:05:45 ◼   ► You should just buy Honda's but like this. Yeah, I'm saying it's it's a proven business model

02:05:50 ◼   ► I think in the case of Volkswagen Audi

02:05:52 ◼   ► The Volkswagen is the regular people brand you take a Volkswagen you make it fancier and you get an Audi and yes

02:05:58 ◼   ► Obviously you're paying more and the margins are higher and you're not getting quote unquote your money's worth if you look at it in terms

02:06:03 ◼   ► Of features and experience or whatever, but that's the that's market segmentation and luxury goods

02:06:07 ◼   ► You always pay proportionally more to get proportionally less

02:06:10 ◼   ► But I don't think there are many people who would say that a really good Audi is not a nicer car than a really good

02:06:16 ◼   ► Volkswagen even if they're literally made on the same platform, so I think it makes just as much sense as you know

02:06:23 ◼   ► Well, I keep citing infinity. I feel bad for them because I think their cars are crappy but

02:06:27 ◼   ► Like what's what's Lexus?

02:06:28 ◼   ► I guess Lexus is the best one because Toyota is a very popular brand sells a lot of cars and

02:06:32 ◼   ► Lexus are acknowledged to be yes

02:06:35 ◼   ► They're just fancy totalist, but guess what's a fancy Toyota is a good car and for people who like Toyota's

02:06:40 ◼   ► But wish they were fancier Lexus is right there for them and there's bigger margins on it

02:06:44 ◼   ► So the point of Audi is the same as the point of Lexus and infinity. Okay, I guess I phrased the question poorly

02:06:49 ◼   ► Why would one buy an Audi?

02:06:52 ◼   ► Rather than I mean other than like completely emotional reasons like I just want to look fancy

02:06:57 ◼   ► It's nicer as they have higher performance. You can get the RS 6 or 7

02:07:02 ◼   ► There's no equivalent

02:07:03 ◼   ► Volkswagen one of those and there's you can get higher performance cars with fancier interiors with more luxury features for way more money

02:07:09 ◼   ► That's a luxury brand right and and Porsche is it's an even higher step above that

02:07:14 ◼   ► So Audi is is like, you know a good choice if you want something fancier from that car family

02:07:22 ◼   ► Than the Volkswagen, but you don't want to go all the way to Porsche

02:07:26 ◼   ► Which is substantially more expensive and has much much more sporting and less luxurious, right?

02:07:31 ◼   ► I don't know if I would say that I

02:07:33 ◼   ► Less luxurious and that the ride quality is harsher

02:07:37 ◼   ► Yeah, maybe I mean it's been a long time since I've been in a Porsche

02:07:41 ◼   ► But I'm not so sure it's quite as harsh in most applications

02:07:45 ◼   ► If you're not getting the performance version of an Audi the ride is gonna be much more comfortable than it is than any Porsche

02:07:51 ◼   ► Yeah, I I can't argue with you, but I'm not so sure that that you should be as confident as you are

02:07:56 ◼   ► Anyway, I don't think I don't know who made this point

02:07:59 ◼   ► But I think it's just if you find Audi pointless

02:08:01 ◼   ► Then you should find all luxury car brands pointless because what's true about is true of all of them

02:08:05 ◼   ► I mean maybe the complaint is that is the Audi's that are too they're too much like the

02:08:09 ◼   ► Volkswagens like if you squint you can see the Volkswagen lurking under the covers, but I don't I don't really buy that

02:08:14 ◼   ► I think Audi's makes cars that appeal to people who like Audi's and I

02:08:19 ◼   ► Find some of them appealing and some of them not to my taste, but I never questioned why the brand exists

02:08:23 ◼   ► It makes perfect sense to me. I

02:08:25 ◼   ► Guess unlike BMW which doesn't really have a cheap brand like I guess kind of sort of mini

02:08:31 ◼   ► If they made that hatchback, you know, he is not cheap. I mean the mini is not cheap. You're exactly right

02:08:37 ◼   ► And yes, the 318 TI I believe it was which our valedictorian drove and it seemed like a piece of garbage

02:08:42 ◼   ► You know, there's no cheap BMW

02:08:45 ◼   ► There's no cheap Mercedes that I'm that I can think of right? So

02:08:49 ◼   ► There's no real equivalent in in Audi's two main competitors

02:08:54 ◼   ► Whereas if if I were to look at an Audi in almost all circumstances, I would almost surely get the equivalent Volkswagen

02:09:02 ◼   ► Oh, yes, there are cases where there is no equivalent Volkswagen

02:09:04 ◼   ► But in almost all cases there are and and that's what I would certainly get because it just seems to me like

02:09:10 ◼   ► Why would one choose an Audi for non emotional reasons? Why would one choose an Audi over the equivalent Volkswagen or

02:09:17 ◼   ► Why are you naming their competitors as being Mercedes and BMW?

02:09:20 ◼   ► It's just geographic competitors. Like, you know, Lexus would say that they're a competitor to Audi

02:09:25 ◼   ► Acura would say that they're a competitor infinity would say just excluding those luxury brands like other, you know

02:09:33 ◼   ► Cadillac would say they're a competitor to Audi and I get I feel like they're just the fact that you know

02:09:38 ◼   ► I think it's an accident history that BMW and Mercedes just grew into these luxury brands and warrants spawned from sort of

02:09:43 ◼   ► Non luxury brands, right? You know, I don't think Mercedes started out as the luxury brand

02:09:49 ◼   ► They are today, but they didn't get spun out of something and the companies that did spin out of being like, you know

02:09:55 ◼   ► the people's car Volkswagen right or

02:09:57 ◼   ► Honda or Toyota or whatever or even things like Ford like

02:10:01 ◼   ► When you come out of a brand that is trying to sell to the mass market you eventually realize the business people say, you know

02:10:06 ◼   ► We can make a little bit more money if we made a fancier version of this car and gave it a different name and so you

02:10:10 ◼   ► Get Cadillac right, you know

02:10:12 ◼   ► You get you get the luxury brand spawning out of a regular brand if you're not

02:10:16 ◼   ► Lucky enough if you want to consider it to be a luxury brand from day one

02:10:20 ◼   ► But if you are like your brand from day one like Porsche

02:10:22 ◼   ► Maybe you'll try to buy Volkswagen because they sell a lot of cars

02:10:24 ◼   ► But that didn't quite work out the way everyone thought it would I

02:10:26 ◼   ► Guess to me. I don't really perceive

02:10:30 ◼   ► the the Japanese

02:10:34 ◼   ► luxury marks marquees marks makers automakers as

02:10:37 ◼   ► As as real direct equivalents because I feel like they're more reliable to do reliable to compete with the German brands. Yes

02:10:45 ◼   ► Yes that and yes, and I feel like they have a very different personality having driven several Japanese cars and admittedly

02:10:54 ◼   ► Not luxury cars, but I've owned a couple of Japanese cars in years past and I've owned a couple German cars now

02:11:00 ◼   ► and I feel like

02:11:03 ◼   ► And I don't know how to

02:11:05 ◼   ► Explain it concretely

02:11:07 ◼   ► But there's a very different attitude to your average Japanese car versus your average German or perhaps even European car because I feel like Aaron's

02:11:14 ◼   ► You know semi Swedish Volvo

02:11:17 ◼   ► Also feels German ish or and so I think I should really be saying you're there you

02:11:22 ◼   ► German I know I'm saying they have it. They have a similar feel in in spirit to them

02:11:30 ◼   ► I mean, there's been a lot of homogenization. I feel like in the luxury car segment like when Lexus first came out

02:11:35 ◼   ► It was so clearly targeting Mercedes

02:11:37 ◼   ► Like just you just look at it and you look at the Mercedes that they were targeting

02:11:41 ◼   ► You're like they just you know

02:11:42 ◼   ► I I can tell who you're competing with and yet despite so clearly targeting Mercedes the original LS 400 could not help but feel

02:11:50 ◼   ► Toy - right it just you just can't help it

02:11:54 ◼   ► It's just you're right you totally right that it's in the culture in the same way that a Cadillac

02:11:57 ◼   ► Despite trying to compete with BMW. There is no question that you're in a Cadillac when you get into one of those things

02:12:03 ◼   ► It's supposed to be in a BMW

02:12:04 ◼   ► So the homogenization has been I feel like in the feature set and maybe even the in sort of internal amenities and aesthetics

02:12:10 ◼   ► but the values represented by the

02:12:13 ◼   ► transmission chassis engine like combination driving experience

02:12:19 ◼   ► Not setting even aside obviously the styling is still radically different from the German brands the American brands the Japanese brands the Swedish brands

02:12:26 ◼   ► The Chinese brands and I think that's part of what makes the auto industry great

02:12:30 ◼   ► But I wouldn't say that eliminates them as competitors from each other like they're going to they're gonna be different

02:12:35 ◼   ► No, I don't mean to imply they're not competitors

02:12:37 ◼   ► I guess what I'm saying is I think in the same way that

02:12:41 ◼   ► Volkswagen Audi and Porsche occupy different spaces in my mind and maybe I'm the only one

02:12:46 ◼   ► the the

02:12:49 ◼   ► European versus Japanese versus American luxury brands. I mean nobody's even said Lincoln yet

02:12:54 ◼   ► But all I think all three of those groups have to your point and to the point

02:12:59 ◼   ► I was trying to make earlier very very different attitudes and feelings and kind of spirit about them

02:13:04 ◼   ► And so even though I agree they are all competitors

02:13:08 ◼   ► I view them as only competing within their little circle like I personally I don't think I would cross shop a BMW in a Cadillac

02:13:15 ◼   ► or a BMW and a Lexus

02:13:18 ◼   ► Whereas I would absolutely cross shop a BMW and Mercedes for example and I would cross shop a Cadillac and a Lincoln and I would

02:13:26 ◼   ► Certainly cross shop in Acura and I would I actually probably cross shop the infinity and and a Lexus

02:13:31 ◼   ► but I don't know it just it seems to me like

02:13:34 ◼   ► Particularly with respect to Volkswagen Auto Group, there's a lot of there's a lot of overlap and I

02:13:42 ◼   ► Don't I can't put my finger on anything that I think Audi does

02:13:47 ◼   ► extraordinarily well

02:13:49 ◼   ► That would make me say yes

02:13:50 ◼   ► I want an Audi now with there are a couple of exceptions and one you pointed out earlier is

02:13:54 ◼   ► There are cars that Audi makes a Volkswagen does not and I don't have anywhere near enough money to afford an RS6

02:14:02 ◼   ► But if I was given infinite money tomorrow

02:14:04 ◼   ► I would bring an RS6 to my desert island because oh my gosh that thing looks so awesome

02:14:09 ◼   ► And even though the correct more correct answer for a you know

02:14:13 ◼   ► Really fast wagon is whatever the current Mercedes wagon is that is certainly the better choice

02:14:18 ◼   ► But god, I love the look of the RS6 so much and I want one so badly

02:14:22 ◼   ► The Audi fast wagons are actually pretty good. Someone posted a link to in the chat room

02:14:28 ◼   ► We'll put it in the show notes to a car wizard video

02:14:30 ◼   ► Showing a more modern Lexus versus the more modern modern Mercedes

02:14:35 ◼   ► I think people do cross shop Lexus and Mercedes and

02:14:38 ◼   ► Lexus apparently continues to a Mercedes styling and features and size and everything

02:14:44 ◼   ► So like I was thinking of the original LS 400 which was what 90s the early 90s and they were nice cars

02:14:50 ◼   ► But it was it was so clearly like just they looked at Mercedes S-class and I said

02:14:55 ◼   ► Let's make the Toyota version of that and here is modern video showing there

02:14:58 ◼   ► Continue to do that and I think that's a good business because if you want a Mercedes

02:15:01 ◼   ► But want it to be more reliable and even more comfortable

02:15:04 ◼   ► Get a Lexus

02:15:07 ◼   ► (door slams)