PodSearch

ATP

667: Wisdom and Treachery

 

00:00:00   So I bought an iPad, of course.

00:00:01   Of course you did.

00:00:03   What'd you buy?

00:00:04   Take a guess.

00:00:05   The big expensive one with the nanotexture on it with too much SSD space that you're never going to use?

00:00:10   That's right.

00:00:11   And I already returned it.

00:00:13   Oh, no.

00:00:14   Seriously?

00:00:14   Why?

00:00:15   So when I had said in the last couple episodes, I had said that I'd tried one in the store, which is true.

00:00:20   And I was wondering, like, does the pencil texture feel better on it?

00:00:25   And the answer is yes.

00:00:28   But it does not feel $700 better on it.

00:00:32   Basically, the app that I was discussing in the member special, one of the feasibility tests I wanted to do required the OLED screen.

00:00:42   So I was like, all right, let me do some kind of Black Friday deal this year and get myself one of the new iPads.

00:00:47   Except there was no deal on that version, of course.

00:00:50   I was going to say, there's not a lot of Black Friday deals on the one that nobody should buy.

00:00:53   No, there are not.

00:00:55   But anyway, I realized that, like, you know, once I had it, like, in my office for testing against my, you know, old iPad that has the rock, paper, pencil screen protector on it, I realized that even though the nanotexture is better for the pen input, it is not better than the rock, paper, pencil.

00:01:15   It's a continuum that you're optimizing for with that.

00:01:18   Like, the nanotexture, the screen looked better for images on the screen, for video, for content.

00:01:24   Like, the screen looked better, less fuzzy, less distorted than any of the screen protectors.

00:01:30   It also reflected even less light than anything.

00:01:33   Like, you would think those would go hand in hand, but they don't necessarily.

00:01:36   So, nanotexture was significantly better, in my opinion, for everything except pencil use.

00:01:43   Maybe you should wait until you record the next episode of ATP before you return products, because here we have a just-in-time toot from Brian who suggests that you check out pen tips at pen.tips for different tips for the Apple Pencil, I think.

00:01:59   I actually had the nanotexture iPad for about 10 days, I think, and I did try both pen tips and the paper-like Apple Pencil tips, because I thought maybe that combination would be better.

00:02:12   So, basically, there's this whole industry out there of third-party Apple Pencil tips, and they have various goals in mind.

00:02:19   The one that comes with the rock, paper, pencil is a metal little ball, like a ballpoint pen.

00:02:24   But that one, I don't really like that much, to be honest.

00:02:27   When I'm using the rock, paper, pencil, screen protector, I just use a regular Apple Pencil tip.

00:02:30   Or, I tried the pen.tips ones.

00:02:35   Now, they have a bunch of different versions, and I only tried one variant of it.

00:02:39   So, maybe I picked the wrong one, but they're a little bit, like, gummy.

00:02:43   Like, they're a little rubbery.

00:02:45   And so, it actually makes the pen, like, squish.

00:02:47   It makes it feel more like a Sharpie tip.

00:02:51   So, it has, like, a little bit of flex.

00:02:52   I didn't like it for, like, I like to write really small.

00:02:55   I didn't like it for that.

00:02:57   The paper-like Apple Pencil tips, I think, are my favorite.

00:03:00   They are firm, and a little bit, like, fine, almost like a very, very fine sandpaper.

00:03:08   Like, it doesn't feel like it's damaging anything, but it adds a little bit more friction.

00:03:13   Paper-like tip with nanotexture was better than nanotexture alone, but it still didn't even come close to one of the screen films.

00:03:22   So, I instead, I returned that iPad, and I got a nice Black Friday deal from Amazon for the regular kind that was $700 less.

00:03:33   Actually, more than that, because it was on sale.

00:03:35   So, it was, like, $850 less, I believe.

00:03:39   And I just got the new version of the paper-like film, which it still is very difficult to install it perfectly.

00:03:46   But they have this very, like, overwrought kind of amazing system now of, like, you have, like, these different layers of film, and you peel one back, and you peel the other thing back, and you put this thing, and it sticks this thing under it.

00:03:58   And, like, it's quite a system to see.

00:04:00   I still have, like, one dust spec under it, which is annoying, but that's just life, applying these projectors.

00:04:07   But I will say, the Paperlike 3 Protector is better than everything except nanotexture in terms of how clear the screen is.

00:04:15   It is very, very good.

00:04:17   It blew me away how good it was.

00:04:19   And the texture of the Paperlike 3 Protector, along with the Paperlike tip on the pencil, feels fantastic.

00:04:27   So, I would say my quest here is over, and so far, my OLED screen tests have actually gone very well.

00:04:33   Well, that's good, and saving a lot of money coming back to the don't-like-nanotexture camp, at least when it comes to handwriting.

00:04:40   I mean, I love nanotexture for looking at.

00:04:43   When I had that, like, 10-day span of using it, I was, like, you know, bringing it to the coffee shop and everything,

00:04:48   trying to really, like, get into the nanotexture iPad life.

00:04:51   It's great.

00:04:52   I just didn't like the texture when using the Apple Pencil.

00:04:55   So, if that was not one of my primary goals, I would probably stick with it, especially given how relatively infrequently I upgrade iPads.

00:05:04   But it's still very difficult to justify the price.

00:05:07   All right, let's do some follow-up.

00:05:10   macOS Tahoe 26.2 Beta 3 appears to have fixed the Electron slowdown, as per the Shame Electron website, which reads,

00:05:19   quote, good news, this issue appears to be fixed in the latest betas, macOS 26.2.

00:05:23   That's the only report about this that I've seen, but it is from the person who was tracking which apps had this slowdown.

00:05:30   And to remind everybody, the deal was that Electron, the web-based framework that a lot of Mac apps use,

00:05:35   was using a private API that ran afoul of some optimization or something in Tahoe,

00:05:40   and then it caused, like, system-wide slowdowns in Tahoe in the Windows server.

00:05:43   And apps were slowly being updated to use a fixed version of Electron that didn't use this private API

00:05:48   or used it in a different way or something, but that was taking a while.

00:05:50   Now, apparently, somehow, Apple has fixed it.

00:05:54   I only saw theories about what the bug was.

00:05:56   It was, like, overriding some method.

00:05:58   And if you override that method in any way, it defeats some optimization.

00:06:03   They would, like, not repeatedly call it, like, some kind of memoization thing.

00:06:06   I'm not sure what they could have done to fix that.

00:06:08   Did they just, like, rename the API or something and then make the API that everyone else was calling a no-op?

00:06:13   I mean, I guess they could have.

00:06:14   It's all private APIs.

00:06:14   Do whatever you want.

00:06:15   But, yeah, that's the report.

00:06:17   26.2, when it comes out, apparently will make this entire Electron slowdown thing moot

00:06:22   because whether your app has got the new version of Electron or not on 26.2, it won't have this problem.

00:06:28   In theory.

00:06:30   Mark Ehrman says that Tim Cook's departure is maybe not quite as imminent as we thought.

00:06:35   He writes,

00:06:36   The Financial Times published a report with three central claims.

00:06:39   Apple is intensifying succession planning.

00:06:41   Ternus is likely the next CEO.

00:06:43   And Cook is expected to step down between late January and June.

00:06:46   It's a huge deal that the Financial Times did this.

00:06:48   A respected publication should only predict the CEO transition date for a company of Apple's scale with a high level of confidence based on people legitimately in the know.

00:06:56   This is where I have concerns.

00:06:57   Based on everything I've learned in recent weeks, I don't believe a departure by the middle of next year is likely.

00:07:02   In fact, I would be shocked if Cook steps down in time for the famed outline, frame outlined by, in the time frame outlined, excuse me, by the Financial Times.

00:07:10   Some people have speculated that the story was a test balloon orchestrated by Apple or someone close to Cook to prepare Wall Street for a change.

00:07:16   But that isn't the case either.

00:07:18   I believe the story was simply false.

00:07:20   Boom.

00:07:21   I mean, I'm calling out editors again.

00:07:23   Editor, if you see someone put in test balloon, correct it to trial balloon because I think it is a more common phrasing of that idiom.

00:07:31   Anyway, I don't know if Gurman's sources are better than the Financial Times when it comes to these type of things.

00:07:39   I don't recall if he's had, I mean, he did have the Ternus thing early, didn't he?

00:07:43   I forget if he picked that up from somewhere else.

00:07:45   But he's coming right out.

00:07:46   I believe the story was simply false.

00:07:48   Now, he's got an out here because he says, he's basically saying, I think it's false that he's going to leave in the first six months of next year.

00:07:55   So if he leaves at month seven, it's like, see, I was right.

00:07:57   He didn't leave in the first six months.

00:07:58   So it is a very, very narrow claim, but it is a very direct claim, which is that they just blew it.

00:08:05   They don't have the story.

00:08:06   I looked into it.

00:08:07   And, you know, as he says, I would be shocked if Cook steps down in the time frame outlined in the Financial Times.

00:08:12   So we shall see.

00:08:13   Two stakes are in the ground here.

00:08:15   It's a pretty bold call out from Mark Herman, like to basically say, like, they're lying or they're just wrong.

00:08:22   Like, that's where they've got.

00:08:23   They've got bad info.

00:08:24   Again, for authors and the Financial Times is not in the Apple rumors game most of the time.

00:08:28   But he's just what he basically says is, hey, I checked my sources and they say no.

00:08:34   So I think it's bogus.

00:08:35   Yeah, but he also he also called them basically irresponsible.

00:08:37   Like, that was a significant call.

00:08:40   But honestly, it has all of the markings of a controlled leak from Apple.

00:08:45   And I agree.

00:08:46   Basically, the Financial Times has a lot of bylines on this piece.

00:08:50   They are not a sensational publication.

00:08:53   And, you know, I'm guessing they they really double, triple check their sourcing on this.

00:08:58   Meanwhile, Mark Herman does not really have that level of oomph behind his denial.

00:09:04   He's more like, I don't think so.

00:09:06   But that's that's a very different level of authority.

00:09:09   He does say that he essentially checked his sources that, you know, I haven't heard anything about this.

00:09:13   So I think it's just bogus.

00:09:15   But again, the exact wording is like within six months.

00:09:18   I mean, so here's the thing.

00:09:19   If it is actually a trial balloon, it could be that Apple has never planned for Tim Cook to step down in the first six months.

00:09:26   And this is a trial balloon preparing for January 2027 shut down or something.

00:09:30   You know what I mean?

00:09:30   Like, there's still lots of room for both people to be right here, because when you do a trial balloon, you're just trying to soften things up.

00:09:37   That's why it looks, you know, you strategically leak at the Financial Times, you soften things up.

00:09:40   And in your head, in Tim Cook's head, whatever, the plan has always been January 2027, right?

00:09:45   But you get the whole year for it to sort of glide out there and see how it goes.

00:09:48   We'll see.

00:09:48   We've got six months to see.

00:09:50   But this is a rare case where rather than just saying, here's what because Grumman does this a lot.

00:09:56   This is like this person said this or this publication said this.

00:10:00   And then he adds to it with whatever his sources say.

00:10:02   But here he's like, no, no, I don't think that's going to happen.

00:10:05   And it's happened once in a while where he would say, like, somebody else said some product is coming out and I think it's not.

00:10:11   But this one, we'll get the answer in six months, I guess, or seven.

00:10:15   I would guess Grumman's sources are not as high up as whoever is speaking to the Financial Times about this.

00:10:22   That's true.

00:10:23   Grumman's sources, like, look, he has a pretty good track record about a lot of things.

00:10:29   But the things that he has a track record about, I don't think are from sources that seem like they're up at the board level.

00:10:35   Because this would be a board level discussion.

00:10:37   This is, like, who would know about this?

00:10:39   The board.

00:10:40   Well, what about the Ternus thing?

00:10:42   Do you recall if he had the Ternus thing first?

00:10:44   In terms of, like, Ternus being, like, one of the top picks or the top pick?

00:10:48   Yeah.

00:10:48   I think he might have.

00:10:50   Because that's pretty high level.

00:10:52   I mean, sort of, but, like, the number of people who would have heard that is, I think, a very different number than the number of people who would hear about the specific plans that the FT published about and who would leak to the FT about it and who the FT would trust so much to put four different bylines and publish it like that.

00:11:12   Look, Gurman might be right, but I think he has a lot less support behind him when you actually look at, like, you know, what has been laid out here.

00:11:20   I think the FT is probably more likely to be right.

00:11:23   We'll see.

00:11:25   All right.

00:11:25   With regard to Windows gaming on Linux and ARM, Tyler writes, Proton, which is the SteamOS adapter layer for playing Windows games, runs in user space.

00:11:34   And so does any anti-cheat like Valve, EA, or Epic that it uses.

00:11:37   Apex Legends, which is Electronic Arts, did enable Linux support when the Steam Deck launched, but last year blocked it after deciding it was more trouble than it was worth.

00:11:46   User space anti-cheat is always going to be trivial to circumvent, but Linux users are unlikely to tolerate proprietary kernel anti-cheat.

00:11:52   Why is that?

00:11:53   I mean, I don't, I disagree that they're unlikely to tolerate it.

00:11:56   They don't, people who have a Steam Deck don't even know or care that they're running Linux.

00:11:59   So if there's kernel level anti-cheat on your Steam Deck, they won't know or care.

00:12:02   They'll just know that they can play a game that they couldn't play before.

00:12:05   But, you know, there's, I know what they're saying, like, your average person who's, like, building a Linux PC that wants the game on it might be annoyed by having to recompile their kernel with something or add an extension.

00:12:15   I don't even know what putting anti-cheat into the Linux kernel would involve.

00:12:19   So I get the sentiment, but for things like the Steam Deck, that's, I don't think it's a barrier.

00:12:23   All right.

00:12:24   Well, either way, Tyler continues, Valve is stuck between a rock and a hard place with no easy solution.

00:12:27   David Gaw writes, Windows 11 on ARM is mostly indistinguishable from Windows 11 on Intel these days for almost everything thanks to reliable x86 emulation.

00:12:37   The best Snapdragon PC laptops deliver solid performance and MacBook-like battery life.

00:12:42   Parallels has supported Windows ARM on Apple Silicon for a couple years now and mostly seems fine.

00:12:46   I run it on my M2 Pro Mini and it's fine.

00:12:49   It gets better Geekbench CPU scores than my circa 2021 i7-10700K gaming PC.

00:12:55   The one area it does all fall down is, once again, gaming thanks to that absence of high-end GPUs.

00:13:01   So, unfortunately, it's mostly gaming, both PC and Mac, that Apple abandoned with the Apple Silicon transition.

00:13:06   A bunch of people wrote in to say that Windows 11 on ARM on Macs is not that terrible and that Microsoft's latest x86 emulation thing works pretty well.

00:13:16   Because that's what you want.

00:13:16   You want Windows 11 on ARM.

00:13:18   I believe you still can't boot Macs into Windows 11 on ARM, but you can run it in virtualization.

00:13:23   And the x86 emulation, the latest version, should make most x86 Windows applications run decently on Windows 11 on ARM on your ARM-based Mac.

00:13:34   I'm definitely going to try that if and when I get an ARM Mac as my main Mac.

00:13:39   I suppose I could try it now on the other computers, but, you know, that's fine.

00:13:42   My dev machine and my wife's computer, so I'm not going to mess them up too much.

00:13:46   But I'm glad to hear that the progress is being made there.

00:13:49   It just annoys me that, like, I mean, for extremely selfish, entirely selfish reasons, I would love it if the entire Windows PC world moved to ARM.

00:13:57   I think Windows PC users would also enjoy it.

00:14:00   And Microsoft is kind of trying to do that, but it's not happening very quickly.

00:14:04   So I'm impatient to get back to the world where I was, where you could boot Windows natively or run it natively in virtualization and have all Windows software run.

00:14:15   But the Windows world moves slowly.

00:14:18   We are sponsored this episode by Aura Frames.

00:14:22   If you want to give a great gift this holiday season, to me, the best gifts are, like, personal

00:14:28   and have love and thought put into them.

00:14:31   Aura Frames can help you do that.

00:14:33   So here's how this works.

00:14:34   Aura Frames is a company that makes digital picture frames.

00:14:37   Now, yeah, you've seen those before, but most of the ones you've seen have been kind of, eh.

00:14:41   Aura Frames does a really great job in three key areas to me.

00:14:45   Number one, their frames look really nice.

00:14:48   Like, they have just, like, good physical characteristics.

00:14:51   It's something you don't mind having in your house.

00:14:53   Number two, the screens are really nice.

00:14:56   This is not just some cheapo screen.

00:14:58   It's a nice screen.

00:15:00   And number three, the software support behind it.

00:15:04   This is where they really shine.

00:15:06   So they have a fully integrated experience.

00:15:08   Everything's nice and easy to use.

00:15:10   And it's especially optimized if you want to have an Aura Frame that you buy as a gift for someone else.

00:15:16   You can have it connected to you, and you give it to them, and then you can log into Aura and change the pictures on it remotely.

00:15:23   So this is great if you want to, like, share pictures of, like, your kid with their grandparents, maybe.

00:15:27   Or, you know, it's an amazing feature set that they have.

00:15:31   You can keep adding photos anywhere, anytime.

00:15:33   You can also preload photos on it before it ships.

00:15:37   So if you're sending it to somebody and you can't be there in person when they open it, it can have, of course, a gift message, gift note, and everything.

00:15:43   And then they open it up, and it's preloaded with your photos that you want to show them.

00:15:48   It's such a nice gift experience.

00:15:50   Of course, you can share photos and videos right from your phone.

00:15:53   You don't have to, like, go to some weird portal or anything.

00:15:55   Every frame comes packaged in a premium gift box with no price tag.

00:15:59   So this is a holiday hack like no other.

00:16:01   For a limited time, visit AuraFrames.com and get $45 off Aura's best-selling Carver Matte Frames, named number one by Wirecutter, by using promo code ATP at checkout.

00:16:12   That's Aura, A-U-R-A, frames.com, promo code ATP.

00:16:17   This exclusive Black Friday, Cyber Monday deal is their best of the year, so order now before it ends.

00:16:21   Support us for mentioning this at checkout.

00:16:23   Terms and conditions apply.

00:16:25   Thank you so much to Aura Frames for sponsoring our show.

00:16:29   Okay, so our star-crossed lovers are back in the news again.

00:16:34   Johnny Ive and Sam Altman apparently did an interview together, reading from Stevie Bonifield, who is writing for The Verge.

00:16:44   In an interview with Lorraine Powell-Jobs, Sam Altman and Johnny Ive said that they are currently prototyping the first mysterious OpenAI hardware product.

00:16:51   When asked about a time frame, Ive said it could arrive in, quote, less than, quote, two years.

00:16:55   Little has been revealed so far about the OpenAI device in development, but it's rumored to be screen-free and, quote, roughly the size of a smartphone, quote.

00:17:02   Altman described the design as simple in power, as simple and beautiful and playful.

00:17:06   Adding that, there was an earlier prototype that we were quite excited about, but I did not have any feeling of, I want to pick up that thing and take a bite out of it.

00:17:14   And then, finally, we got there all of a sudden.

00:17:18   Fred T. on Mastodon writes, it's definitely an egg, isn't it?

00:17:21   Egg, egg, egg, egg.

00:17:23   It sounds like it.

00:17:24   My word.

00:17:26   I pulled some quotes.

00:17:27   I pulled some quotes from the rest of the interview to support the egg theory.

00:17:29   All right, well, let me read some selected quotes.

00:17:31   Ive says, there's something about when the design gets so simple and beautiful and, like, playful, for lack of a better word.

00:17:38   I mean, there's not a lot of humor in the products that are being designed and made, particularly in this area.

00:17:43   And I really sense very clearly there's a huge desire for us not to take ourselves quite so seriously.

00:17:47   That is pretty f***ing rich coming from Johnny Ive.

00:17:50   Egg, egg, egg.

00:17:51   You should watch this interview.

00:17:55   The way it starts out, like, the pretentiousness is just over the top.

00:18:00   I mean, in many respects, earned, okay?

00:18:03   Like, granted, it's Johnny Ive.

00:18:04   He's not just, like, talking out of his butt like some other people we've seen in presentations.

00:18:07   But they're so, they feel deeply and think deeply about things.

00:18:12   Or at least Johnny does and then Sam pretends to.

00:18:14   And speaking of Sam, I remember in a very early meeting, Johnny said, we're going to make people smile.

00:18:19   We're going to make people feel joy.

00:18:20   Whatever the product does, it has to do that.

00:18:22   And I thought, yeah, yeah, whatever, Johnny.

00:18:24   People just want to be efficient.

00:18:25   It's fine.

00:18:26   But I'm so happy that Johnny pushed on that.

00:18:27   And I didn't realize until things started to come together how much that just doesn't exist in the current set of tech companies.

00:18:32   And how lovely it is to have some whimsy back.

00:18:35   Eggs are whimsical.

00:18:37   I've said, I love solutions that teeter on appearing almost naive in their simplicity.

00:18:41   And I also love incredibly intelligent, sophisticated products that you want to touch.

00:18:46   And you feel no intimidation.

00:18:47   And you want to use almost carelessly.

00:18:49   And you use them almost without thought, that they're just tools.

00:18:52   Teetering like an egg.

00:18:54   Altman said, I hope that when people see it, they say, that's it.

00:18:59   And I've said, yeah, they will.

00:19:01   Yeah, from this description, I actually don't think it's going to be an egg.

00:19:03   But it is funny that lots of things that he said would fit with the egg theory.

00:19:08   I always think of the MacBook Pros just before the current design, like the last Johnny Ive MacBook Pro case design was really a very pretty case design with the tapers and everything.

00:19:22   Not practical.

00:19:23   You know, it made internal packaging a pain before, you know, to get that outward beauty.

00:19:31   But it did look a little bit biteable.

00:19:33   And I feel like I'm just picturing something that's kind of like, I don't know, picture the, like the, because I'm sitting here next to me on the desk, the battery for the Vision Pro, but not shaped like that, not shaped like the sort of rounded rectangular is, but shaped more like the last generation MacBook Pro.

00:19:50   That would be kind of biteable.

00:19:51   It's kind of like, it's like, I don't know how to describe it.

00:19:55   But I can picture a shape that is about the size of a smartphone that has no screen, that is not an egg, that is in fact biteable or looks biteable.

00:20:04   But we'll see.

00:20:04   I mean, this might end up being something really great and something really amazing.

00:20:10   But the impression I've gotten so far is that these two guys are super high on their own supply.

00:20:18   Oh, they are sniffing their own farts so hard.

00:20:20   It's ridiculous.

00:20:21   Well, I mean, Johnny is on his own.

00:20:23   And I think Sam is agreeing.

00:20:25   But both of them, I think, have a lot of that side of them.

00:20:28   Yeah, I mean, he does take a lot of, again, if you watch the interview, he does take a lot of cues from Johnny's demeanor and attitude as sort of the younger, less experienced one, right?

00:20:39   So that relationship, it's like big dog, little dog kind of thing.

00:20:42   And I don't doubt Johnny's sincerity.

00:20:47   Like, I believe he believes the things he believes.

00:20:49   I'm just not convinced that his current interests align with what will make a good product.

00:20:55   But we'll see.

00:20:55   You know, like, I'm not counting him up.

00:20:57   But Sam, every time I hear him talk, I mean, I rarely watch interviews with him.

00:21:01   I'm mostly only seeing him when he's with Johnny talking about this product.

00:21:04   But Sam's party line that has gotten him all these gazillions of dollars of investment is disconnected with my assessment of their technology.

00:21:15   Like, open AI is great.

00:21:18   They're the leader.

00:21:19   Like, you know, AI stuff is great and does all sorts of wonderful things.

00:21:22   But the way he talks about it is like, you know, it's do you have a dragon?

00:21:26   It's like, you don't.

00:21:28   Like, you just, you have something.

00:21:30   It's worth a lot, right?

00:21:31   But just, he talks about it as if it's like, and therefore, you know, suffice it to say, yada, yada, yada, AGI.

00:21:37   Like, he talks about it working the way it could work but has never worked.

00:21:46   And so, when I hear him say things, like, because they, you know, this interview was like, defer to Johnny on design things and ask Sam about AI stuff.

00:21:53   And he just spins out this tapestry of wonder and it's just, all right, all right, Sam.

00:21:58   Okay.

00:21:59   I just, you know, we'll see.

00:22:01   Like, and connecting the two, it's like, if you have that, you know, again, that dragon or that genie in the bottle, whatever, it doesn't matter how awesome the egg you put it in is.

00:22:11   Like, or how crappy the egg you put it in is.

00:22:13   If you've got that, you can put it in a toaster oven and people will love it.

00:22:16   Like, you know, it's, if you have that, it does not matter where it is almost.

00:22:21   It kind of, you know, like just, and you don't need Johnny Ive to sell it.

00:22:25   Whereas, can Johnny take your, you know, so-so chat GPT caliber voice agent and make people want to use it more than they already are by putting it in a pretty egg that they want to bite?

00:22:36   I don't think that will change things.

00:22:37   I think millions of people are already using chat GPT without an egg to bite.

00:22:41   And, and what is, what is the egg going to do other than like, oh, now I can carry it around with me like my phone, but with no screen.

00:22:47   And so I'm, I'm not sure they're barking up the right tree here, but I am fascinated to see what they produce and, uh, and how the world greets it.

00:22:55   But it's, it's all, this is all in Sam's call.

00:22:57   It's all in open AI's court because this product lives or dies based on the thing that lives inside the biteable egg, not the egg itself.

00:23:04   Well, see, this is where I, I think I can see a possible path.

00:23:09   Cause like, if you look at the objective path ahead of them, it's impossible.

00:23:14   You know, the objective path ahead of them is they're trying to sell, we, I mean, again, knowing nothing, nothing about this thing yet, but they're trying to sell another device that you will carry around that is not your phone.

00:23:28   We've seen other people try this.

00:23:31   We, there was a little like playdate, uh, AI thing.

00:23:34   There was all the way up to like, you know, the humane IE pin.

00:23:38   Uh, there, there, there are all these different attempts so far at like makes AI, but hardware to augment slash compete with slash replace maybe your phone.

00:23:49   And what we've seen over and over again is don't bet against the smartphone because most of those things are, they're, they're, they have a premise that people want to use their phones less or people are tired of their phones.

00:24:02   And that, that premise simply is not true.

00:24:03   People love their phones.

00:24:04   Um, and so if you're trying to replace the phone and you're trying to issue a, a technological gadget that is going to have great technical performance in some way, like high features, high functionality,

00:24:19   or incredible convenience or miniaturization, whatever it is, you're probably going to lose because the smartphone is going to beat you on all those fronts.

00:24:26   However, if you instead go the irrational appeal route, you can win there.

00:24:36   Why did everybody buy the little playdate of AI, which I still can't remember the name of rabbit or one.

00:24:41   That's it.

00:24:42   The rabbit.

00:24:42   Yes.

00:24:42   Why did everybody buy the rabbit?

00:24:44   It's not because they thought it was going to probably succeed.

00:24:48   It's because it looked cool and it made them happy and it made them smile.

00:24:51   Why didn't people buy the humane IE pin?

00:24:55   Because everybody at that company seemed like an out of touch D bag and their thing didn't look cool.

00:25:00   Well, that's a strike against the ultimate Ive.

00:25:04   Well, but I think Ive has a better chance of making something that people will, will be irrationally drawn to just because it's cool or it's cute or it's nice or whatever.

00:25:16   Like he, he does have a good skill in that area.

00:25:20   And so that's an area they could like people could choose to buy this thing because it is just cool enough.

00:25:29   Even if it doesn't really compete on logic or specs.

00:25:32   But then what happened to the rabbit hour when everyone bought one because they look cool, but it turns out it didn't work very well.

00:25:37   And so people lost interest.

00:25:38   And that's not, I don't think that would be counted as a success.

00:25:40   And, you know, obviously the numbers would be bigger.

00:25:42   But if, you know, if a billion people buy the, the biteable egg, because it's, they just got to have it.

00:25:47   But then they get it and they realize, oh, this is just chat GPT, chat GPT and a biteable egg.

00:25:50   And they lose interest and go back to using it on their phone.

00:25:52   Well, but keep in mind, like, I think you do have a bit of a blind spot here, John, in that you kind of hate chat GPT.

00:25:59   Most people.

00:26:00   I use it all the time.

00:26:01   Most people love it.

00:26:04   Like most people who use it, love it.

00:26:06   And there's hundreds of millions of people who use it all the time.

00:26:09   I use it today.

00:26:11   So, okay.

00:26:12   So, well, then I think most people maybe like it more than you do.

00:26:16   But the reality is like chat GPT has massive consumer mind share, huge market share in terms of actual AI use.

00:26:23   Like I said, they have a product that people already like and use, but I'm not sure what the hardware is going to bring to that.

00:26:29   They have a huge, you know, brand recognition.

00:26:31   They have massive ability to market something because of their huge consumer brand recognition.

00:26:37   And they're trying to make a device with Johnny Ives.

00:26:40   So it's probably going to at least look cool.

00:26:43   Now, whether it will actually be cool, that's a very different question.

00:26:46   And we don't actually know that.

00:26:47   One thing we know about Johnny Ives is that he is a very good designer who benefits from a really good editor and collaborator.

00:26:56   And Steve Jobs was a great one for him.

00:26:58   They made such amazing things together.

00:27:00   Then when Johnny didn't have as much editing in the Tim Cook era and he kind of got, you know, too much control and not enough pushback on things, his designs weren't as good in terms of becoming actual products.

00:27:14   So we don't actually know what kind of collaborator Sam Altman will be for him.

00:27:20   That actually might be a really great pairing or it could be an awful one.

00:27:23   We won't know until we see the kind of the kinds of things they make.

00:27:27   Certainly, Sam Altman is going to is a different type of personality than Ive has, I think, collaborated with before.

00:27:32   So this could kind of go in a different direction.

00:27:35   But I can see them having a very high likelihood of making something that looks cool and that people will irrationally want to buy because it looks cool and that can be marketed very well.

00:27:46   Now, is that going to be enough to overcome all of the headwinds against it in terms of trying to compete with the smartphone and being a whole separate thing to buy and everything?

00:27:56   Honestly, probably not that those are some pretty large forces against you, but maybe they can make something cool.

00:28:02   I will see how it goes.

00:28:04   I think Sam is too much of a yes man so far.

00:28:07   Like he really just seems to be deferring to Johnny a lot of these things rather than being an editor or his own strong force or whatever.

00:28:13   Again, he just thinks these fantastical things about the things he's got.

00:28:16   They have talked.

00:28:18   We talked about this last time they did that intro or whatever, how they were trying to say, oh, phones, you know, they're they take too much of our time and attention.

00:28:27   Don't you hate your phone?

00:28:28   No.

00:28:29   They likened they likened to using modern, not just phones, but like modern software to like walking around in Times Square where things are blinking in your face and there's lots of things that making demands of you.

00:28:38   And they want it to be they want to make a product that's more calming and chill and relaxing and not just constantly demanding stuff for you.

00:28:45   So, again, a screenless thing that you just talk to in a pleasing way and they want it to know everything about you.

00:28:50   What if you had a thing that knew everything about you and could help you?

00:28:53   And like that's why they spin off into like it, like, you know, a human level, intelligent, personal assistant that knows everything about you and can do all your things for you.

00:29:00   And that doesn't exist as far as we're aware out in the outside world.

00:29:03   And so that product that they're selling seems a bit odd.

00:29:06   But in this particular one, Sam either forgot to stay on message or is pushing back a little bit because they kept asking him like, you know, he kept mentioning the phone and he's like, well, you know, don't get me wrong.

00:29:16   I love my phone.

00:29:17   And a couple of the questions like, what's the most significant product announcement?

00:29:20   And it's like, well, the iPhone is the biggest before or after product in my lifetime.

00:29:23   And they said, what kind of what later on?

00:29:26   They said, what kind of what thing do you love?

00:29:28   What thing do you use every day that you love?

00:29:29   And he said, well, my iPhone.

00:29:30   So for someone who's trying to say we use our phones too much and they're too upsetting, Sam could not stop gushing about his iPhone, his iPhone in particular.

00:29:37   And granted, Johnny's right there and he's buttering out by saying the iPhone is the greatest thing ever made.

00:29:41   And Johnny, you made this great phone and yada, yada.

00:29:44   Never mind that.

00:29:44   Probably the part that Sam is talking about, the big before and after moment, had less to do with the industrial design of the original iPhone and much more to do with the software that was on it, which Johnny had, I'm assuming, almost nothing to do with.

00:29:55   But that's not on message for people use their phones too much.

00:30:00   You should talk to our egg.

00:30:01   Right.

00:30:02   Which was very much the pitch earlier.

00:30:03   And I mean, it's only a 30 minute interview.

00:30:05   You should watch it.

00:30:06   There's some somewhat insufferable stuff about how wonderful San Francisco was in the beginning.

00:30:10   But once you get through that, well, they, you know, just see how many times Sam says that he loves his iPhone.

00:30:16   Right.

00:30:17   Which I feel like they should be nudging about.

00:30:19   And then Lorene Powell Jobs does her, her, her message thing.

00:30:23   And this is like, and of course, you know, lots of that social media stuff has a lot of unintended consequences.

00:30:28   Lots of social media.

00:30:29   And I think she says, and other products have lots of unintended consequences.

00:30:31   And we're like, yeah, you mean like open AI telling people to kill themselves?

00:30:36   No one says that on stage.

00:30:38   They're the three of them have three subtly different messages that they want to put out.

00:30:44   And I wonder how something coherent is going to come out of this.

00:30:47   But it's a wait and see.

00:30:48   In some ways, it is unfair to judge an unreleased product.

00:30:52   We don't know what open AI has got.

00:30:54   Like maybe they've solved some important problem or whatever.

00:30:56   But it just, as I've said in the past, it seems weird to me that they would wait for the egg to do that and not just, you know, put it in chat GPT 5.1 or whatever they're doing.

00:31:05   And by the way, a brief aside, just to give my bona fides or however you pronounce that of using chat GPT.

00:31:12   What did I use chat GPT for earlier today?

00:31:14   I was, for reasons that annoy me, my, well, one of my banks updated all of our account numbers.

00:31:22   So anything that had any kind of like auto pay on a credit card or whatever, you know, direct, you've got to go into all those things and enjoy finding where you can change the auto pay or delete and add a new one.

00:31:33   Or, you know, they changed all our account numbers.

00:31:35   The routing number is the same, but the account numbers changed.

00:31:38   Luckily, not my business stuff, but this is personal stuff.

00:31:40   And I was doing it and you, during the course of doing it, you will encounter pages that are like, okay, you're lucky enough that we have an edit screen, which is rare.

00:31:48   Usually they're just like, oh, delete it and make it to them.

00:31:50   But they had an actual edit screen and here's a text field and it's got a bunch of like asterisks in it or something like a little asterisks.

00:31:56   Anyway, it's not a password field.

00:31:58   Delete that.

00:31:59   And I was going to paste in my new account number because it's account number confirm.

00:32:03   And I had, you know, in a secure note, I can copy and paste it, right?

00:32:07   Nope, copy and paste is disabled on this webpage.

00:32:09   And I got so sick of it.

00:32:10   And I said, ChatGPT, a webpage that doesn't allow copy and paste.

00:32:13   What can I type into the web browser's dev tool console to enable copy and paste?

00:32:16   Because I just wanted the JavaScript code that would like stop the thing that forbids copy and paste.

00:32:22   And ChatGPT gave me a bunch of JavaScript to put into the console, all of which I looked at and understood.

00:32:30   Unfortunately, it did not work.

00:32:31   I'm surprised you're not running stop the madness.

00:32:33   Yeah, I should.

00:32:34   Like, that's what I know.

00:32:35   There are things that just like I was in Chrome.

00:32:37   At the time, I know there's Chrome extensions that explicitly, like I have autocomplete everywhere on that, you know, stops websites from forbidding autocomplete.

00:32:44   And I thought I had one that stops websites from forbidding copy and paste.

00:32:49   And I don't know if stop the madness has a Chrome extension as well as a Safari extension.

00:32:54   But anyway, I was in Chrome at the time.

00:32:55   Here's your problem.

00:32:56   Yep.

00:32:57   No, it's not my problem.

00:32:58   The reason I'm in Chrome is when I'm doing bank stuff, I have no confidence that banks' websites work in Safari.

00:33:03   But I do have confidence they work in Chrome.

00:33:05   It's been a long time since I can remember going to a bank's website that didn't work in Safari.

00:33:09   Your banks are probably better than the ones I'm dealing with.

00:33:12   But anyway, ChatGPT, I use it every day.

00:33:14   I know what it can do.

00:33:15   I know what it can't do.

00:33:16   It does not know everything.

00:33:18   It does not know everything about my life, nor is there a clear pathway to it knowing everything about my life forever.

00:33:24   Like, it annoys me when he talks like that because it's just constant vaporware.

00:33:31   And as you pointed out, Marco, it's vaporware in a situation where there are hundreds of millions of people using a product that they like, but he never wants to talk about that.

00:33:38   He wants to talk about the product that doesn't exist that would be cool if it did exist.

00:33:42   And I agree, it would be cool, but how about just concentrating on the product that you've got and make that one better?

00:33:46   And they are, to be fair.

00:33:47   They do make it better by bits and bits, but there's a gap there.

00:33:51   There's a hype gap between what he talks about and the products his company is shipping.

00:33:55   All right, with regard to the Apple N1 Wi-Fi chip, apparently it makes the older Broadcom chips look kind of stinky.

00:34:03   Andrew Cunningham at ours writes,

00:34:05   Ookla, the folks behind the speed test app and website, have analyzed about five weeks' worth of users' testing data to get an idea of how the iPhone 17 lineup stacks up to the iPhone 16.

00:34:13   Those are the Android phones with Wi-Fi chips from Qualcomm, MediaTek, and others.

00:34:17   While the N1 isn't at the top of the charts, Ookla says that Apple's Wi-Fi chip, quote,

00:34:21   delivered higher download and upload speeds on Wi-Fi compared to the iPhone 16 across every studied percentile and virtually every region, unquote.

00:34:28   Ookla noted that the N1's best performance seemed to improve scores most of all in the bottom 10th percentile performance tests,

00:34:35   implying Apple's custom silicon lifts the floor more than the ceiling.

00:34:39   The iPhone 17 also didn't top Ookla's global performance charts.

00:34:43   Ookla found that the Pixel 10 Pro series slightly edges out the iPhone 17 download speed,

00:34:47   while a Xiaomi 15T Pro with MediaTek Wi-Fi silicon featured better upload speeds.

00:34:55   Still, that's pretty good.

00:34:57   I mean, we spent all this time talking about how are their cell chips doing,

00:35:00   although they're not as good at Qualcomm, blah, blah, blah.

00:35:02   But mostly for the N1, we're like, well, you know, I hope it just works.

00:35:06   But it turns out that it is better than was in the iPhone 16.

00:35:09   So good job, and presumably uses less power.

00:35:12   So good job, Apple, on the N1.

00:35:13   It's testing very well.

00:35:14   Several weeks ago, we were thinking about why the cameras are situated the way they are in the back of the phone

00:35:22   and thinking, oh, maybe they could be separated or whatever the case may be.

00:35:25   And Anonymous, amongst many other people, wrote,

00:35:27   maybe the triangle camera cluster helps keep a stable perspective when switching lenses as the user zooms in.

00:35:32   If the physical sensors are spread across the width of the Pro Max,

00:35:35   there would be a jarring jump when moving from 1x to 4x.

00:35:38   This might also help fusion processing.

00:35:40   I think we brought this up in the past while talking about the stovetop burners.

00:35:44   But yeah, it's worth remembering.

00:35:45   I still think it's worth it.

00:35:46   Like, yes, it will jump.

00:35:48   It jumps now.

00:35:49   It will jump more.

00:35:50   If they separated them, it's not the end of the world.

00:35:52   Like, tons of other phones do it.

00:35:54   The distances are not.

00:35:56   It's not like going from inches to feet.

00:35:58   It is just, you know, less than a centimeter to one or two centimeters.

00:36:02   So I think it's worth it, and I think they should do it.

00:36:04   But this would be one of the tradeoffs.

00:36:06   All right.

00:36:07   And then speaking of bringing out your dead, the UK still wants an iCloud backdoor.

00:36:11   Reading from 9to5Mac from October, the Financial Times reports that the British government did indeed withdraw its initial worldwide order,

00:36:18   but it has now replaced it with another one, applying only to its own citizens.

00:36:21   The Financial Times says the UK government has issued a new order to Apple to create a backdoor into its cloud storage service,

00:36:27   this time targeting only British users' data.

00:36:30   Back to 9to5Mac, the White House has suggested at the time, had suggested at the time, that Britain was completely abandoning its attempt to force Apple's hand.

00:36:37   Now that it has obtained protection for US iCloud users, however, it seems that pressure has been removed.

00:36:43   Financial Times continues, members of the U.S. delegation raised the issue of the request to Apple around the time of Trump's visit,

00:36:50   according to two people briefed on the matter.

00:36:52   However, two senior British government figures said the U.S. administration was no longer leaning on the U.K. government to rescind the order.

00:36:58   Boo.

00:37:00   I'm disappointed to be exactly right to doubt the previous government statements about this and to also doubt their follow-through, but there you have it.

00:37:08   They declared victory when there was none, and the U.K. government still wants something stupid,

00:37:13   and so I'm not sure what Apple's going to do here, but I don't think they're going to be any more particularly inclined to backdoor iCloud just for U.K. citizens.

00:37:24   We are sponsored this episode by PACA.

00:37:29   What's softer than cashmere and warmer than wool?

00:37:32   It's an alpaca hoodie.

00:37:34   PACA makes performance apparel from alpaca fiber, one of the world's most sustainable natural fibers.

00:37:41   Their best-selling hoodie is what I'm wearing right now because it's kind of cold tonight, and I need something a little bit cozy, and that's what the PACA alpaca hoodie is.

00:37:50   It's softer than cashmere and warmer than wool and breathable.

00:37:53   It's lightweight, so it's not too heavy or too hot, but it keeps you nice and cozy.

00:37:58   It doesn't stretch.

00:37:59   It doesn't pill.

00:38:00   It's made to last, and it can adapt to wherever life takes you.

00:38:05   It's thermoregulating.

00:38:06   It's odor-resistant.

00:38:08   It's durable.

00:38:08   So, honestly, I find it great for packing for travel.

00:38:11   Like, if you want something on the airplane, it's a great one for that.

00:38:14   Each PACA hoodie is handcrafted in Peru by artisans who stitch their name into the tag, their personal signature of quality and care.

00:38:22   And it's made sustainably and ethically from traceable alpaca fiber, which supports the communities and artisans in Peru who bring it to life.

00:38:29   Over 100,000 people have already picked up the PACA hoodie, so, honestly, it's pretty great.

00:38:35   You should check it out.

00:38:36   If you've been thinking about leveling up your hoodie game, do it now.

00:38:40   Check it out today.

00:38:40   Right now, during PACA's Black Friday slash Cyber Monday sale, you can get 30% off with the purchase of three items or more.

00:38:47   Go to go.pakaapparel.com slash ATP.

00:38:52   That's go.pakaapparel.com slash ATP.

00:38:57   Go.pakaapparel.com slash ATP.

00:39:00   That'll get you 30% off with the purchase of three items or more.

00:39:04   Thank you so much to PACA for sponsoring our show.

00:39:07   Well, let's do some topics.

00:39:12   Apparently, Apple Fitness Plus is under review.

00:39:15   Yeah, I put this in here because the Mac Pro, you got all this fun about my Mac Pro potentially going bye-bye.

00:39:21   Well, now it's your turn, Casey.

00:39:22   Oh, my God.

00:39:23   German writes, Fitness Plus, the company's app-based Peloton Rival, remains one of its weakest digital offerings.

00:39:29   The $10 a month service suffers from high churn and offers little revenue upside.

00:39:33   Still, Fitness Plus has enough loyalty for its small fan base, hi, that Apple can't simply shut it down without a backlash.

00:39:39   And given how inexpensive it is to operate, there's little incentive for a nearly $4 trillion company to pull the plug, especially if such move would generate negative headlines.

00:39:46   That said, the future of Fitness Plus is under review.

00:39:48   The division is getting new management, with Apple Health head stumbled aside, adding Fitness Plus to her portfolio.

00:39:55   But both she and the group that now reports the service is cheap at EQ, both she and that group will now report the service is cheap at EQ.

00:40:01   With that new arrangement in place, the service will be under fresh pressure to improve results.

00:40:05   Better do more workouts, Casey.

00:40:07   You want to keep that service around?

00:40:08   Yeah, you know, I haven't used Fitness Plus in a while, which is kind of damning given the support.

00:40:12   But I do really, really enjoy it.

00:40:14   I really honestly do.

00:40:15   And typically, as I've said many times in the past, there's a service called Beachbody.

00:40:21   Now it's called Body.

00:40:22   It's terrible.

00:40:23   Yeah, I know.

00:40:24   It was basically an MLM, which they've largely abandoned that, as far as I'm aware.

00:40:30   And you don't have to get involved in the MLM part.

00:40:33   You can just get the fitness videos in a shoe, the supplements, and the pre-workout, and all that other junk that was really gross.

00:40:40   And that's what, you know, Aaron and I always did.

00:40:42   And they're workout videos I really enjoy.

00:40:45   And typically, Aaron and I will go back and forth going through several programs that they have.

00:40:48   And I really like Body.

00:40:50   Again, nay, Beachbody.

00:40:52   And usually, after I finish, like, an eight-week program on that, I'll do a couple of weeks of Fitness Plus to kind of, like, have a palate cleanser.

00:40:59   And I really enjoy Fitness Plus.

00:41:00   I think it's really, really, really good.

00:41:03   But I will be sad, if not surprised, if it goes away.

00:41:06   And it wouldn't surprise me if it goes away.

00:41:08   There's also some news that CNN was pulling out of News Plus because they've got their own pay offering for news stuff.

00:41:14   Yeah, I did see that fly by.

00:41:15   Like, yeah, Fitness Plus makes perfect sense to me.

00:41:19   Like, it's sad that maybe not enough people are using it or whatever.

00:41:21   But it seems like a very Apple-style fitness offering with no real bad parts about it, if you like what they're offering.

00:41:31   Like, you know, it's part of a bundle.

00:41:34   I'm not sure.

00:41:34   Can you buy it separately?

00:41:35   Anyway.

00:41:36   Yeah, yeah.

00:41:36   It's $10 a month.

00:41:37   Yeah.

00:41:37   Well, anyway, it seems fine.

00:41:39   News Plus, on the other hand, has always seemed weird and un-Apple-like because it's filled with terrible ads.

00:41:45   And the app isn't very good and it's in that, you know, thing we talked about last week of Apple not really being known as a web-first company.

00:41:55   So News Plus is an app that lets you read things that are also available on the web, but you're not really reading them on the web.

00:42:02   But there are Apple News URLs, so you can read them on the web, but it will launch the app.

00:42:06   And it's just, what are you, Apple?

00:42:07   And then the terrible ads.

00:42:08   Like, what are you doing?

00:42:09   And then losing CNN.

00:42:10   Like, I still appreciate News Plus for the purposes of this show because I've subscribed to the Apple One bundle.

00:42:16   Otherwise, I wouldn't get News Plus.

00:42:17   But it lets me read, like, the Wall Street Journal without subscribing to the Wall Street Journal because they get the Wall Street Journal articles.

00:42:22   But even that is such a weird dance of, like, you know, find the Wall Street Journal article, it's behind a paywall, and then use the share sheet to open an Apple News, which isn't available.

00:42:30   I think it's not available in the in-app browser, but it is available on Safari.

00:42:33   Anyway, it's confusing and annoying, but it does let me read things that I otherwise would have to pay separately for.

00:42:40   So I appreciate that.

00:42:41   But every time I look at Apple News Plus, I'm like, I can't believe people would open this.

00:42:44   This would be, like, their main news source because it's filled with all the worst ads that you see on the web.

00:42:50   And that's not Apple-like.

00:42:52   But Fitness Plus is Apple-like.

00:42:54   It's just, I don't know, it's so important that out in the chat room, fitness services surely have a lot of churn because, you know, people are dedicated to working out and then, you know, fall out of the habit and then go back and forth, you know.

00:43:08   But it's, I mean, it's the type of thing, the thing that always annoys me about Apple or the current Apple anyway.

00:43:15   Like, let's say, you know, they don't put numbers behind this or whatever, but you might think, oh, well, as long as it's, as long as the money that it brings in exceeds the money that it costs to run it, they'll keep doing it.

00:43:27   But that's not the way a company Apple-sized seems to think, which is, it's not worth our time unless it's going to make us this amount of profit.

00:43:35   Merely being profitable is not sufficient to stay alive, which, you know, again, I think certain things you should do because you think they're an important part of your product before they're not getting to the Mac Pro.

00:43:47   But just like, Apple Fitness Plus seems like an offering that fits in with their online service offering and it is very Apple-like and clean and doesn't have anything gross in it and is a good version of the thing that it's trying to be.

00:44:00   So as long as it's, even if it was losing a little bit of money or breaking email, I would still keep doing it.

00:44:05   But I will also be disappointed it goes away, despite the fact that I've never done Apple Fitness Plus and it doesn't appeal to me at all.

00:44:11   I just think it's a good example of what it's trying to be.

00:44:14   Yeah, and just very, very, very quickly, what I like about it is, first of all, the trainers are, you know, the bubbly, happy Apple trainers you would expect.

00:44:24   Like, they're men and women, they're all different shapes and sizes, and they're really, really enjoyable.

00:44:30   And they're not all American, there's a bunch of Brits, I'm pretty sure there's other nationalities as well that I'm not thinking of, but they're really, really good at what they do.

00:44:40   Additionally, one of the things I like about it is the integration.

00:44:42   So if you have an Apple Watch, then your rings will show, assuming you're doing a workout on your Apple TV, your rings will show right there on the TV and update live as you're doing your workout.

00:44:52   So you can watch your green and your red rings close, which is really nice.

00:44:56   Additionally, if you pause the workout on your watch, it will pause playback on the TV, which is really neat.

00:45:03   Is this earth-shattering?

00:45:04   Absolutely not.

00:45:05   But it's neat, and I like it.

00:45:07   And again, the workouts you can do, like a five-minute core up to, I think they might have a 40-minute something or other, but they have up to like 30-minute HIIT and strength workouts.

00:45:16   And I really like them.

00:45:18   I haven't done, like I said, I haven't done them in a few months now, but I really do like them, and I really think they're really, really well done.

00:45:23   They're very pretty to look at, they're nicely executed, they're accomplishable by people of varying fitness levels, and they always have one person that's like, not remedial, but you know, not working quite as strenuously.

00:45:38   I really do think it's really well executed, and I would be sad if it went away.

00:45:42   I don't know how strong of a position Apple's services are in besides the taxes and fees.

00:45:52   Like, are people absolutely running to the other ones?

00:45:56   Maybe.

00:45:57   It seems like Apple TV Plus, oh, now it's called Apple TV.

00:46:01   It seems like TV is seemingly, I think, doing pretty well.

00:46:06   Yeah, I don't know if TV makes money, but it does make headlines.

00:46:08   They won Oscar, they win Emmys, it is, it buffs the brand, whether or not it makes money.

00:46:15   Yeah, and like the other services that we, like the other kind of content services, News Plus, Arcade, and then Fitness, I don't think they do that much.

00:46:27   Like, we almost never hear about them, it doesn't necessarily mean anything, but like, we don't hear that much about them, but I think it's important for Apple, if they're trying to sell their bundle and their subscription, what they're trying to say is, hey, everybody, come sign up for Apple One, and you get all this cool stuff.

00:46:45   Look at all this cool stuff you get.

00:46:46   And I think in that context, having a fitness service is actually more important than how many people actually end up using the fitness service.

00:46:56   So even if not that many people are using it, I hope Apple can see, like, in the bigger picture, it's nice.

00:47:03   First of all, that's a very aspirational thing.

00:47:06   It's like a gym membership.

00:47:07   Yeah, exactly.

00:47:08   And how to use it, you just got to pay for it.

00:47:10   Exactly.

00:47:11   And a lot of people will pay for it, because they're like, yeah, you know what, if I get the, if I spend the extra six bucks a month to get this whole bundle, compared to the pieces I was going to buy separately, I'll get these few other things.

00:47:22   And yeah, maybe I will start using fitness.

00:47:24   Yeah, that sounds good.

00:47:25   I mean, not this week, but next week, maybe.

00:47:26   All right, sometime.

00:47:26   But that still helps the bundle overall, so.

00:47:29   And it helps Apple show, like, here's a broad selection of different services.

00:47:32   And when you look at, like, what does it cost them to keep it going?

00:47:36   They've already built out the studios.

00:47:39   They've already set everything up.

00:47:41   They've already built the software.

00:47:42   They've already, like, they've already built it all.

00:47:46   The actual cost of them to keep it going is trivial, you know, especially for Apple.

00:47:51   Like, it's trivial, so I hope that they can see in the big picture, like, having the service, even if it doesn't get amazing numbers of direct usage, it does provide a net benefit that might be bigger than that.

00:48:04   And it's costing very little to keep it going.

00:48:07   So I'd say keep it going.

00:48:08   But.

00:48:09   Yeah, I'd agree.

00:48:10   That's why I don't work at Apple's.

00:48:11   Who knows?

00:48:12   And they are cheap.

00:48:13   If they're anything, they are cheap.

00:48:14   Yes, they're very, very cheap.

00:48:17   You don't usually get that rich without being that cheap.

00:48:20   Yep.

00:48:21   All right.

00:48:22   There was a very interesting video that went around a couple of weeks ago, I think.

00:48:25   Fast charging and battery degradation.

00:48:28   So HTX Studio answered or tried to answer the question, is fast charging killing the battery a two-year test on 40 phones?

00:48:35   And so Julie Clover and MacRumors summarized it.

00:48:38   Using six iPhone 12 models, the channel set up a system to drain batteries from 5% and charge them to 100% over and over again.

00:48:46   Three were fast charged and three were slow charged.

00:48:48   Another set of iPhones underwent the same test, but with charging initiated at 30% and stopped at 80%.

00:48:53   So the iPhones were always in that range.

00:48:55   This was done.

00:48:55   I forget the specific hardware they used, but they had a combination of hardware and software that would work together to have the phone tell the hardware,

00:49:03   I need to be charged now or stop charging me.

00:49:04   It was very, very, very clever how this was done.

00:49:07   Anyway, going back to Julie, the results suggest there's minimal additional battery drain from fast charging,

00:49:11   but keeping an iPhone between 30% and 80% charge could be minimally beneficial.

00:49:15   There's such a weird way to test this, you know, because it's kind of like, I guess you would describe it as like integration testing or a system testing,

00:49:22   because they're, you know, they're charging phones, as you noted, like automating the charging of phones.

00:49:27   But like the battery manufacturers know how the batteries perform.

00:49:31   Like they, you know, this lithium ion battery manufacturers are well aware of the, you know, limits of their batteries and how they behave under various scenarios and whether fast charging and slow charging and yada, yada.

00:49:43   Like that's their job done.

00:49:44   But that's just a battery in isolation.

00:49:46   So they're testing the whole system.

00:49:47   Well, you don't care how the battery performs.

00:49:50   You care how your phone performs in the phone is the battery and the thing that converts the voltage and the charging system and the software and the operating system and the case and the heat dissipation and like a million other variables.

00:50:00   So they're trying to test that at the system level.

00:50:02   But even there, it's like, okay, well, where were these phones while they were being charged?

00:50:06   Were they in your pocket?

00:50:07   Were they in your jacket pocket?

00:50:09   Were they on your nightstand?

00:50:10   Like how cold was the weather?

00:50:13   Like it's just, it's all sorts of other variables that affect your phone when you're charging it.

00:50:17   Is it in a sunbeam while it's charging?

00:50:18   Because you put it on your kitchen countertop.

00:50:20   Like there's so much, but like they're just sort of rediscovering the same things that the battery manufacturer could have told them,

00:50:28   which is that fast charging is not as good as slow charging, but the difference isn't that big.

00:50:31   And the battery manufacturers, I'm sure, pride themselves on narrowing that gap further and further because they want to sell a battery to phone makers that can tolerate fast charging without hurting the battery.

00:50:41   Like they want to be able to charge fast.

00:50:43   They want to be able to discharge fast.

00:50:44   They want to be able to do a lot of cycles without losing capacity.

00:50:46   That's how battery manufacturers compete with each other.

00:50:49   And this is just sort of proving that out with modern phones of saying, yep, fast charging hurts the battery more, but the gap isn't that big.

00:50:56   And, you know, the conclusion of the video is what we always say about this, which is like, unless you really need to pinch those pennies on resale and you think your battery life is going to fail, just use your phone.

00:51:06   Just use your phone.

00:51:07   How are you going to use your phone?

00:51:08   How you use your phone is how your battery is going to turn out.

00:51:11   If you constantly use it, you know, you charge it in your pocket.

00:51:14   You do MagSafe charging instead of a wire.

00:51:17   Like you fast charge all the time.

00:51:19   Then that's how you have to use your phone.

00:51:21   And that means your phone's battery is going to be in worse condition after two years than it wouldn't have been otherwise.

00:51:26   But like, what's the alternative to change your entire life around babying the battery?

00:51:29   Just use your phone how you're going to use your phone.

00:51:31   You can be aware, you know, if you're a tech nerd, you can be aware of the things that batteries like and don't like.

00:51:37   But I don't think it's worth changing your life to satisfy the battery.

00:51:42   The phone's job is to be a tool for you, not the other way around.

00:51:46   We are sponsored this episode by Zapier.

00:51:49   You know, these days I'm using AI all over my work, but it's hard to integrate it in.

00:51:54   I'm using it by like using the AI tools in the browser and then, you know, maybe copying and pasting and stuff like that.

00:52:00   That doesn't really help you as much be more efficient at work as you could be.

00:52:04   For that, you need the right tools.

00:52:06   You need Zapier.

00:52:08   Zapier is how you break the hype cycle and stop all the copying and pasting and put AI to work across your company for real.

00:52:16   So Zapier is being used by all sorts of companies to do all sorts of things.

00:52:21   They can do things like streamline their rev ops, streamline their marketing, integrate with sales, help HR and IT issues and so much more.

00:52:29   And that's what I'd be most excited about using it for.

00:52:31   Like if I was trying to integrate this into my company, that's where I would start with those kinds of tools.

00:52:36   Marketing, brainstorming, that kind of stuff, reviewing reports.

00:52:39   It's great for that.

00:52:40   Zapier is how you actually deliver on your AI strategy, not just talk about it.

00:52:45   With Zapier's AI orchestration platform, you can bring the power of AI to any workflow.

00:52:50   So you can do more of what matters.

00:52:52   You connect top AI models like ChatGPT and Claude to the tools that your team already uses.

00:52:58   So you can add AI exactly where you need it.

00:53:00   And then one thing I love about that is that it lets you pick the model.

00:53:03   So like if I'm a really big fan of one of these models, I can just use that one.

00:53:07   And Zapier helps me integrate that into my tools.

00:53:10   So you can have AI-powered workflows, agents, chatbots, or whatever else you can orchestrate it all with Zapier.

00:53:16   And whether you're technical or not, you don't have to be.

00:53:19   It's super easy for everyone to use.

00:53:21   Teams have already automated over 300 million AI tasks using Zapier.

00:53:26   Join the millions of businesses transforming how they work with Zapier and AI.

00:53:30   Get started for free by visiting zapier.com slash ATP.

00:53:35   That's Z-A-P-I-E-R dot com slash ATP.

00:53:40   Thanks to Zapier for sponsoring our show.

00:53:42   Okay, we haven't done Ask ATP in like 34 years.

00:53:48   So we're going to do some Ask ATP.

00:53:50   And we're going to start with Max Velasco-Knot who writes,

00:53:53   Marco, now that you run a restaurant and have a staff, has that affected your tipping culture or tipping preferences, etc., when you dine at other restaurants?

00:54:00   No, because I was already tipping pretty well.

00:54:04   That's – so here's the thing.

00:54:05   If you – the way tips work in restaurants.

00:54:09   In America.

00:54:10   In America, yes.

00:54:11   Good qualification.

00:54:14   Workers in restaurants usually are paid below minimum wage as their base salary because they're expected to make more in tips.

00:54:21   And then that should push them well above the minimum wage in a good restaurant and hopefully at least above it in, you know, kind of a – in like a slow, inexpensive one maybe.

00:54:31   But anyway, these people are on their feet constantly.

00:54:34   When you are a server at a restaurant, you generally don't stop moving during your shift.

00:54:41   You are constantly moving.

00:54:43   It is a hard job.

00:54:44   And if you're a good person, you kind of have also the burden that you have to bring up the average from the bad people.

00:54:53   So this includes both, you know, people who don't tip very well, which there are a lot of them, and people who are just kind of jerks.

00:55:03   So my goal in a service situation like this is not to necessarily be super noticed.

00:55:12   Just I want to make sure that I'm doing what I can to make this person's day a little bit better because there are a lot of people doing the opposite.

00:55:20   You know, my goal is always, you know what, I'm going to be an easy customer.

00:55:25   Also keep in mind, too, like the kinds of things servers get blamed for or praised for oftentimes are not the fault in either direction because the server is like the face of the restaurant to the customer for the most part.

00:55:40   Like that's – the server is usually the only employee that the most customers are interacting with or maybe a host up front for a minute, and the server is the rest of it.

00:55:47   And so the server gets the blame or the praise for everything.

00:55:51   Now, the praise, great, you know, good for them, but they also will get the blame for things like if the food is slow to come out, which is not their fault usually.

00:55:58   Usually it's like, you know, things get really busy.

00:56:01   Maybe the kitchen is backed up a little bit.

00:56:02   Or, you know, if the food tastes good, that's also not the server's fault in either direction, you know.

00:56:09   Servers get a lot of people who, you know, blame them a lot or are rude to them, treat them like subservient humans.

00:56:17   Like there's a lot of people who are rude or worse to restaurant staff.

00:56:22   I like to go the opposite direction.

00:56:25   So I've always been nice and polite.

00:56:28   Even when I had no money, I've always been nice and polite and an easy customer.

00:56:31   Again, even back like in high school, I would still tip reasonably.

00:56:34   You know, I wouldn't – even when I had not that much, if I couldn't afford the tip, I wouldn't go to the restaurant.

00:56:41   That's kind of been my philosophy all the time.

00:56:43   Now, as I've gotten older and I've gotten more money, I've been able to tip better.

00:56:47   Even before we owned the restaurant, it's kind of like in a very, very small form of altruism.

00:56:54   I consider that life has been very good to me.

00:56:58   And I like to leave a nice tip because it seems like paying it forward.

00:57:04   It's like, hey, you know what?

00:57:05   Life's been very good to me.

00:57:06   I kind of got lucky.

00:57:08   I'm going to try to give this person some of that luck, make their day a little bit better.

00:57:14   So, I will leave a ridiculous tip if I can, and that's usually the case.

00:57:18   And so, I'll go 50% maybe for like a restaurant I like a lot or like unless it's like, you know, $1,000.

00:57:25   That might be a little crazy, but like, you know, I'll go – I'll tip well.

00:57:30   And I'm lucky that I can do that.

00:57:33   For those of you out there who can tip well, I suggest you do because chances are if you have that kind of resources yourself, chances are giving that money to the server, they'll make better use of it than you will.

00:57:45   It'll mean more to them than it means to you, and you're making the world a little bit better place, and you're making up a lot for all the people who don't do that because it's a tough job.

00:57:55   They really work their butts off, and I think it's the right thing to do if you can do it.

00:58:01   Yep, couldn't agree more.

00:58:03   John, any thoughts to add?

00:58:04   No, I mean, I don't go out to restaurants that much, but I tend to tip like pragmatically for like delivery food.

00:58:11   I tip with the urgency of me wanting these places to stay in business.

00:58:18   I guess maybe this started during like, you know, the COVID lockdown.

00:58:20   It's like my tipping became much more generous.

00:58:25   I was tipping fine before, but like now, you know, like Marco level tips because it's like I don't want you to go out of business because you're close by to my –

00:58:32   you just opened, you're close by to my house, you deliver to my address, you're prompt, your food is good.

00:58:37   I don't know how many other people are going there, so hopefully this will keep you going.

00:58:41   The tip is not going to the restaurant in that case.

00:58:43   You know that, right?

00:58:44   Well, no, this – these are places that deliver themselves.

00:58:47   They're not using like DoorDash or whatever.

00:58:48   Oh, okay.

00:58:49   Some places actually have their own delivery.

00:58:51   It's hard to believe, but in the place that I live, some places have their own – we just had some of it tonight.

00:58:55   Their actual own delivery where people – probably the kids of the people in the restaurant – deliver whatever.

00:59:00   But it's takeout.

00:59:01   Like there's like what are you – what are you tipping for?

00:59:03   There's a delivery fee.

00:59:04   Like they do charge a delivery fee, but there's also a place for a tip.

00:59:07   And I tip like – I was at a sit-down restaurant and I tip, you know, basically saying, please stay around.

00:59:12   This one sandwich place.

00:59:14   I keep trying to do that, but they're never open when I want a sandwich.

00:59:17   I'm like I can't buy things from you if you're not open.

00:59:19   I don't know how long that place is for this world, but I like their sandwiches.

00:59:22   So, yeah, that's the only thing.

00:59:24   I think COVID lockdown has probably changed my tipping culture to be extremely generous tipping for people I'd never see in person on top of the delivery fee for delivery food.

00:59:34   Eric Jacobson writes, what do you think about using third-party packages in your apps?

00:59:39   I know Marco tries to use packages rarely, if at all, a stance that I find admirable but not exactly pragmatic.

00:59:44   Call Sheet doesn't strike me as something that would need many,

00:59:46   but we've all worked on enough apps to know that unexpected needs are the rule.

00:59:50   Hyperspace, on the other hand, I'm sure could benefit from all sorts of outside work.

00:59:54   I'm not entirely sure how Eric jumped to those conclusions.

00:59:56   I'll start by saying Call Sheet has – shoot, I should have had the project open.

01:00:01   I don't know.

01:00:01   So, I'll go off the top of my head.

01:00:03   Call Sheet has a couple of third-party projects.

01:00:07   There's a Socket project that I use for talking to Plex.

01:00:11   And then I just this week adopted Swift – it's a first-party project, but it's one that you have to bring in using Swift Package Manager.

01:00:24   It's not async algorithms, which is kind of like combine meets async await.

01:00:30   But there's another one that Apple does wherein they have different data structures, and I needed an orderable dictionary for something that's coming out fairly soon.

01:00:39   And so, I pulled that in recently.

01:00:42   But that's, I think, it.

01:00:44   I don't think I'm using anything else.

01:00:46   Marco, you have some pretty strong stances about this.

01:00:49   Oh, let me – I'm sorry.

01:00:50   Before I pitched you, Marco, let me interrupt myself.

01:00:52   Only you would apologize for interrupting yourself.

01:00:56   Well, I told you you were up, and then I said I was a liar.

01:01:01   So, anyway, I don't really have anything against third-party code.

01:01:06   But generally speaking, I've come to land on Marco's side of things, which is I avoid it if reasonably possible.

01:01:14   Not because I think my code is necessarily better or anything like that, but I feel like having 100% ownership over everything that happens in the app is something to aspire to, to the degree that you can using SwiftUI and UIKit and so on and so forth.

01:01:28   And so, generally speaking, if I can just write whatever I need to write, and especially if I have any interest in writing the thing I want to write, generally speaking, I'll just do that.

01:01:39   Now, I could have written an orderable dictionary, but I didn't have any interest in it, and it wouldn't have really served any useful purpose.

01:01:46   And since it was a first-party project, I thought, nah, I'll just suck that in.

01:01:49   But generally speaking, I'm not an absolutist about it, but I do generally try to avoid it now.

01:01:58   Now, Marco, for real this time, what are your thoughts?

01:02:02   Obviously, as discussed before, I do try to avoid using third-party code in my app.

01:02:07   You know, it comes from experience of third-party code having bitten me in the butt much of the time that I have used it.

01:02:14   Not all the time, and I'm not 100% against it, but the barrier is high.

01:02:22   Like, it has to be really worth it, and not using it has to be really bad.

01:02:28   So, if it's – so, for instance, I will discuss it for – in a few minutes, I'm going to be talking about how I had to switch an S3-compatible provider to a different S3-compatible provider on Overcast backend.

01:02:44   And I write my own S3-PHP accessing class.

01:02:48   I wrote it a few years back.

01:02:49   I believe I even posted it to GitHub as a gist or something.

01:02:52   But I wrote it a few years back because I just needed some kind of, like, S3-compatible basic IO library.

01:03:00   And everything out there for PHP that I could find was these, like, you know, usually the official Amazon one or some third-party one that's just, like, this absolutely massive, giant library with hundreds of files, all this complexity that I didn't really need.

01:03:15   And I know, like, you know, for me to do this myself, I know it's not that much code.

01:03:21   It's – I think doing it myself was something like 200 lines of code.

01:03:24   Like, it was not a lot of code.

01:03:26   And just literally a few – like, two weeks ago, I had to look at that code and be like, all right, I have to modify it slightly to be compatible with this other service.

01:03:35   Is this worth it to me?

01:03:37   And you know what?

01:03:39   It really was unpleasant for about two hours.

01:03:42   And then I found what I was doing slightly wrong that one service tolerated and the other service didn't.

01:03:46   And I fixed it.

01:03:47   Now it's fine.

01:03:48   And now I won't have to touch that code again for years.

01:03:51   And meanwhile, that code, because it's so small and I've written it entirely myself, number one, it is just lighter on the servers.

01:03:59   It will literally directly save me money over time.

01:04:02   Number two, I know it.

01:04:06   So if any part of it has to change or if I have to debug a problem, I know all the code.

01:04:11   And it's small enough that even if I have to look at it again, you know, three years from now, when I've definitely – you know, it has definitely fallen out of my L3 cache by then in my mind.

01:04:20   But I'll be able to look at it and figure it out really fast because it's small.

01:04:24   So that's the kind of benefit that I tend to go for when I have a library that I could use someone else's or I can write my own.

01:04:32   Now sometimes the complexity is not worth it.

01:04:36   So like the main third-party library I use on the servers is the Stripe API because dealing with like, you know, Stripe stuff – like I know I don't offer Stripe descriptions for the app, but I do use Stripe to sell my ads on the website.

01:04:50   And so – and dealing with Stripe for that, like it's super easy to use their API and for me to – or for me to use their SDK rather.

01:04:57   And for me to not use their PHP SDK would be a decent amount of work with the feature set that I use.

01:05:04   Now I could do it, but it's – I don't need to.

01:05:07   It's fine.

01:05:08   And that's something that's like – Stripe has proven over time that their SDK is very trustworthy and very low needs.

01:05:17   I don't – like one thing I would not enjoy is if the copy of it that I had needed to be updated frequently.

01:05:25   So far, I forget when I built my Stripe ad system.

01:05:30   I think it was something like eight years ago maybe, nine years ago, seven years ago, something like that.

01:05:35   I think I've had to update the code once in that entire time.

01:05:39   And so again, this is like – it's a low-needs library.

01:05:43   It's a high cost to do it myself.

01:05:48   And I've never had any problems with it.

01:05:50   So I'm okay doing that.

01:05:51   But that has not been the case for things like S3 libraries or things like a lot of the iOS side stuff.

01:05:57   And frankly, on the iOS side, I really don't frequently have a need for third-party code.

01:06:03   Usually the kind of code I'm writing on the iOS side is custom code that only I could write because it's like – it's integrating stuff within my app to other stuff within my app.

01:06:12   I don't have a lot of these like orthogonal problems that I can have one library import to totally solve a problem for me.

01:06:18   I guess I don't have a lot of that.

01:06:19   And if I, for some reason, need something smaller, like give me a function to calculate the tangent between these two triangle points, I'll just ask ChatGPT.

01:06:32   And I'll look at the 10 lines of code that it wrote.

01:06:34   I'll adapt them so they fit and work.

01:06:36   And then it's a 10-line function.

01:06:38   So like I don't have a lot of needs for things that are larger than that, that a third-party library might even exist for.

01:06:47   I come from the web development world and I – ever since the web had any libraries at all to speak of, they have constituted the vast majority of the code.

01:06:57   Like even if you think back in the jQuery days, you'd throw jQuery and then write a paragraph of code.

01:07:01   Well, jQuery is way more than a paragraph of code.

01:07:03   It always has been.

01:07:04   And I know they try to minify themselves and make them small.

01:07:07   But the fact is that, you know, client-side web libraries have grown.

01:07:11   Server-side web libraries, I've written tons of web frameworks in Perl in my career.

01:07:15   Even when I'm using a framework that I wrote myself, still the vast majority of the code is third-party code because of CPAN, the Comprehensive Perl Archive Network, one of the original package management, open source things.

01:07:29   You know, I would build my web frameworks on top of libraries, on top of CPAN modules because that's just the way things were done.

01:07:36   So both client-side and server-side in the web, libraries made up the vast majority of code.

01:07:41   That's not that different from the world on Apple platforms.

01:07:44   It's just we think of it differently because it's like, well, there's the operating system and there's all the frameworks that lead up to the Pinnacle framework, which is UIKit or AppKit or whatever.

01:07:55   But underneath that is frameworks on top of frameworks on top of frameworks on top of libraries on top of the operating system.

01:08:00   None of that is your code, but it's first-party code.

01:08:02   It's not third-party.

01:08:03   But anyway, the vast majority of the code that makes up, quote-unquote, your app is almost certainly not your code.

01:08:08   It's, you know, the operating system and the frameworks, even though it's all first-party.

01:08:12   So I'm very used to the idea that what I'm doing is writing on top of a mountain of someone else's code.

01:08:20   I did enjoy my career as a web developer having the source code to all of that code that I'm writing on top of, which is not true on Apple platforms.

01:08:28   You have some of the source code, but not all of it, which is disappointing.

01:08:32   But all that is to say, I am not allergic to using libraries.

01:08:35   That said, part of the reason we like Apple's platforms is the first-party stuff on frameworks provides you a lot of stuff.

01:08:42   So you're like, it's not like it is in, you know, Perl or, you know, to make the extreme case, like Node.js, where doing almost anything requires importing a jillion libraries, right?

01:08:53   You can just start a project and use UIKit or AppKit or SwiftUI or whatever.

01:08:57   Just use that first-party top-level framework and do a lot of stuff without ever having to go anywhere to a third-party thing.

01:09:05   That said, my apps do have third-party stuff.

01:09:07   Again, I'm not quite sure why hyperspace.

01:09:09   Got the call out for a thing that's going to need third-party libraries.

01:09:12   The only third-party libraries that you use in hyperspace, one library is for, I don't know if you've looked at the UI,

01:09:18   but I do like a thing that imitates like the path bar in the Finder, kind of, where it shows like the,

01:09:24   I had to represent a folder hierarchy without, I didn't want to use a path with slashes because that's not user-friendly if you're not Unix.

01:09:31   So like, how does macOS do it in the Finder?

01:09:33   It shows like, you know, a folder icon, a folder name, and then like a little, you know, arrow or whatever.

01:09:38   Like, I don't know, what do you call it? Is it called the path bar?

01:09:41   I don't know what it's called in the Finder, but they show you a path without making it a Unix path.

01:09:45   So I wanted to make a thing that did that.

01:09:47   And that requires, you know, making a little image and some text and doing truncation and doing wrapping of the images and the text with truncation.

01:09:55   And I wanted to do a thing where if you moused over the truncated ones, it would expand them so you could see the full name on them

01:10:01   and has to flow correctly and overflow if it gets too big.

01:10:04   And that's a fairly complicated thing.

01:10:05   And I implemented that all myself.

01:10:07   And it wasn't fun in SwiftUI to do that.

01:10:10   And then after I implemented myself, I think, I forget if it was after 1.0, but I think it was, I found a third-party library that did exactly that.

01:10:19   I'm like, oh, thank God.

01:10:20   Because it wasn't nice.

01:10:21   I'm not a SwiftUI expert.

01:10:22   And yeah, I got it to work and it was fine.

01:10:25   But I am more than happy to use a third-party, you know, Swift Package Manager package that does re-flowable, like, collections.

01:10:34   But honestly, Apple really needs to up their SwiftUI game to sort of reach parity with, like, UIKit and AppKit with, like, their collection views, you know?

01:10:42   SwiftUI does not have very robust collection views that would make my life a lot easier if they did.

01:10:46   But anyway, there's a library called Flow that's on GitHub that I used and I ripped.

01:10:51   That was glorious.

01:10:52   It deleted all my code, all my stupid custom view layout thing or whatever, and just imported that package and used it.

01:10:58   That's a UI thing.

01:11:00   The other main library I use in Hyperspace is a library to implement the Easter egg.

01:11:07   There's a Hyperspace-themed Easter egg that does some fun graphics.

01:11:10   And I didn't want to write it myself.

01:11:13   And there's a third-party library from a well-known Swift developer teacher in the Swift community who did, like, a fun library to do fun graphics.

01:11:22   I will gladly use that library instead of rolling that by myself.

01:11:25   That's it.

01:11:26   All of the stuff that touches files, that's all my code on top of Apple's frameworks, Unix APIs, all that other stuff.

01:11:35   So no frameworks for any of the actual functionality, just a framework for a UI layout and a framework for an Easter egg.

01:11:41   And then in Swift Glass, Switch Glass, actually in all of these, I'd use, well, not in Hyperspace because Hyperspace does an app purchase because it's free download.

01:11:50   But Switch Glass is paid up front.

01:11:51   And this always annoyed me once I discovered this with Mac development.

01:11:55   If you do a paid up front Mac app and you just write it naively, your app does nothing to make sure that someone actually paid for it.

01:12:06   You have to write some code.

01:12:07   I thought that you got this for free as part of the Mac app store.

01:12:09   Nope, nope, nope, nope.

01:12:11   You have to write some code that says, oh, and by the way, when you're running, make sure someone didn't just copy this to another machine.

01:12:17   Like, make sure it actually is downloaded from the Mac app store.

01:12:20   And does Apple provide code for you to do that?

01:12:22   Not really.

01:12:23   No, not in a good way.

01:12:26   And so there are third party libraries that will check to see that you have the Mac app store receipt and that it's valid and signed and so on and so forth.

01:12:34   And those third party libraries have to keep pace with all whatever Apple does.

01:12:38   Oh, we're changing the algorithm.

01:12:39   We use a different hash or whatever.

01:12:40   I don't want to have to deal with that.

01:12:42   So I just use a library.

01:12:43   Again, it's an open source library that does receipt validation on macOS.

01:12:47   And I use that to make it so that my app cannot be naively copied to another Mac and run in my paid up front app.

01:12:54   Obviously, with hyperspace, where it's in-app purchase, the whole in-app purchase system handles that.

01:12:58   But, yeah, Apple should definitely do a better job there.

01:13:01   But I use that package in Switchglass.

01:13:05   And then it, in turn, uses other packages that are also open source, like Swift crypto and stuff like that.

01:13:10   Anyway, so that's what I use in my Apple apps.

01:13:14   But I'm not allowed to do third party code.

01:13:17   I think of it very much like Marco does, where it's like, do I want to deal with this?

01:13:20   Is this going to change often?

01:13:21   And, you know, the reason I gave the layout example is, like, even if I've already written all the code for it, is that code like the core competency of my app?

01:13:29   No.

01:13:30   It's just something.

01:13:31   It's just a layout that I want to have that I don't even have to have.

01:13:34   I could pick a different layout.

01:13:35   I just wanted to have that one.

01:13:36   But I'm not.

01:13:37   The value of my app doesn't rely on, wow, look at this great layout code he wrote.

01:13:41   No, I will gladly use a library for that.

01:13:43   And then I will be praying for the day when Apple sort of Sherlock's that library and says, oh, you don't need that library anymore because we built it into Swift UI.

01:13:50   And then I'll be able to delete that dependency and just use Apple's first party implementation.

01:13:54   All right.

01:13:55   Nathan writes, I've been thinking about the subfolders in the applications folder, and I'm curious about your thoughts.

01:14:00   I know it might seem a bit unconventional, but I've noticed some apps acting strangely, others refusing to launch, and some just refuse to budge from the root of the applications folder.

01:14:09   I use Spotlight and Alfred, but I've always felt like my applications folder could be more organized and user-friendly.

01:14:14   It's like a cluttered mess that I'm constantly wishing to tidy up.

01:14:17   Have you ever tried organizing your applications folder and subfolders?

01:14:20   What have you found to be the benefits and drawbacks?

01:14:22   Has this ever been a thing on the Mac?

01:14:23   Or should I just give up and pretend it's not there?

01:14:26   This is something I have never once thought about, do not think about, will not think about, do not care about.

01:14:31   Just stop worrying about it, Nathan.

01:14:33   You have many other things to worry about.

01:14:35   Stop worrying about this.

01:14:36   You can answer the question.

01:14:37   Has this ever been a thing on a Mac?

01:14:39   Yes, it absolutely has.

01:14:41   Cue the line that I cannot remember from the intro from the Fellowship of the Ring movie.

01:14:47   Something, something, things were lost because none now live who remember them.

01:14:52   I'm still alive.

01:14:53   I remember.

01:14:54   I used to arrange all my applications into beautifully arranged subfolders with their own custom icons in classic Mac OS.

01:15:04   Because in classic Mac OS, the computer belonged to the user, as did the file names.

01:15:09   You could name things whenever you wanted.

01:15:10   You could put them, mostly, wherever you wanted, with exceptions of certain things having to do with the operating system.

01:15:16   That freedom was lost in the transition to Mac OS X.

01:15:20   Apple tried to do the best they could.

01:15:24   Do applications have to be in applications, the applications folder?

01:15:27   Well, no.

01:15:28   Apple itself ships the utilities folder.

01:15:31   Inside the applications folder is a folder called utilities.

01:15:33   And inside there are applications.

01:15:35   Also, you can make an applications folder in your home directory,

01:15:38   which is so well supported that it will get a little application folder badge.

01:15:41   Because Apple knows that it's going to be there.

01:15:43   It's going to hold over from the next days when you can have local applications, user applications,

01:15:46   network applications, so on and so forth.

01:15:48   So there are a bunch of designated OK spots for applications.

01:15:52   And Apple itself has subfolders in the application folders that they put applications in.

01:15:58   There's also those things in system library core services.

01:16:00   There's applications in lots of different places.

01:16:02   But, as Casey was expressing in his Casey way, the culture on Mac OS X is that applications go in the applications folder.

01:16:13   And Apple encourages you to do this in various ways in the UI.

01:16:16   If you've ever tried to run an application from, like, a disk image or run it from the downloads folder,

01:16:20   sometimes the applications themselves will say,

01:16:22   Hey, I noticed you're running me from not in the applications folder.

01:16:26   Do you want movie there?

01:16:27   And I think there's an OS feature that will, like, translocate them there and say,

01:16:31   Hey, I'm not running an application.

01:16:32   Do you want me to move me there?

01:16:34   Should it make a difference where they are?

01:16:35   Not really.

01:16:37   But, I mean, running it from disk image is bad because disk image is a read-only.

01:16:41   But these days, applications shouldn't be writing things to their own bundles.

01:16:43   But who knows what happens?

01:16:44   But anyway, what has happened is that the culture on Mac OS of applications just expecting to be in the applications folder

01:16:51   has produced a brood of applications,

01:16:56   many of which don't behave correctly when they're not in the applications folder.

01:17:00   I think that is antisocial and bad.

01:17:03   I think applications should behave just fine when they're on the applications folder.

01:17:06   And if they have to be in there for some good, explicable reason,

01:17:09   they should notice when they're not running there and offer to move themselves there.

01:17:14   But that should be a very rare edge case.

01:17:16   Otherwise, they should, like most of Apple's applications, run from anywhere.

01:17:21   Again, System Library Core Services, like, it's not a special folder.

01:17:26   They should run from anywhere.

01:17:27   So I think it's bad that they can't, but some of them do get cranky when they run outside there.

01:17:31   Now, if you want to subdivide, I do have some subfolders.

01:17:34   Like, I have a games subfolder in my applications folder, and there are a bunch of games.

01:17:39   They're all fine.

01:17:40   They all run fine from there.

01:17:41   Again, like, sometimes I have subfolders within subfolders.

01:17:44   Like, most applications will be fine.

01:17:47   But if you're nervous at all, or you have any application that looks like it's misbehaving,

01:17:50   put it into the top-level applications folder.

01:17:52   I've never had anything misbehave in my home directory's applications folder.

01:17:55   So take that for what you will.

01:17:57   Maybe because that's more of a blessed location.

01:17:59   But yeah, it's bad.

01:18:02   It used to be better.

01:18:03   There used to be more flexibility.

01:18:04   But most people don't care where their applications are and don't want to organize them.

01:18:08   And so if you're having any problems, just stick it in applications.

01:18:11   Marco, do you also organize your applications folder?

01:18:14   Of course not.

01:18:17   I don't even open my applications folder.

01:18:19   Yeah, same.

01:18:19   I almost never do.

01:18:20   It's all from search.

01:18:21   Omri Arbiv writes,

01:18:23   I recall an old hypercritical episode in which John said he will always be better than his children in video games.

01:18:28   Now that John's children are in college,

01:18:30   is there any video game that either of them plays better than John?

01:18:33   Have Marco or Casey's kids surpassed their video game skill?

01:18:36   Let's start with me and Marco and end with John on this one,

01:18:40   because I think John will have the most to say.

01:18:41   For me, I can no longer consistently beat Declan in Mario Kart.

01:18:46   That's the only thing that we play semi-regularly together.

01:18:49   We haven't played in a while, though, to be honest.

01:18:51   More often than not, I can beat him,

01:18:54   but there's a handful of tracks that he's better than me on.

01:18:57   I forget which one's off the top of my head,

01:18:59   but generally speaking, I can still whip his butt.

01:19:01   Marco, how's it going with Adam in that department?

01:19:04   There are some games that I am better than him at,

01:19:07   typically games that rely on old platform game mechanics in the 2D world that we grew up in.

01:19:15   Adam and I play a game called Ultimate Chicken Horse that is basically like,

01:19:21   it's like a new party, well, new to me.

01:19:23   It's probably like 15 years old.

01:19:25   But it's like, it's a modern kind of like 2D side-scrolling party game

01:19:30   where you like jump through like difficult scenarios that you make up in a 2D platforming kind of world.

01:19:36   I play that with a Super Nintendo-style controller, and I'm really good at it.

01:19:41   And I can beat him much of the time in that game.

01:19:45   Not all the time, but much of the time in that game.

01:19:46   That's it.

01:19:48   In all other games, he's way better than me.

01:19:52   Like, not even in the same league.

01:19:54   Oh, no.

01:19:55   He's so far ahead of me.

01:19:56   But in that kind of game that relies on like old platforming mechanics,

01:20:00   I'm actually good at that.

01:20:01   So that I can do.

01:20:03   But those, like anything else, anything involving like, certainly combat.

01:20:08   I mean, forget it.

01:20:09   I don't stand a chance.

01:20:10   In general, in life, he's just much faster than me.

01:20:14   Like, his brain works a lot faster than mine.

01:20:16   And he is so, you know, tuned in to video games and how to play video games.

01:20:22   And like, he will spend hours getting good at them and building the skills and getting the muscle memory.

01:20:27   And like, so he's starting from a better place already because he's not only younger than me,

01:20:33   but he's mentally faster and physically faster than me.

01:20:35   But then also, he has so much practice with the games, and he'll go and do the research,

01:20:39   and he'll watch the YouTube videos, and he'll dive into all the stuff.

01:20:41   And so like, any game that we play, he will know everything about it before I've even seen it.

01:20:46   So I don't stand a chance in most games.

01:20:50   Now, we do play games together anyway.

01:20:52   Like, we generally like playing games that are, you know, maybe more co-op style.

01:20:58   Or games that are so simple, like Ultimate Chicken Horse, that it doesn't really matter.

01:21:02   But we can do things like, you know, we've played like the Bloons TD games together,

01:21:07   where just as co-op, we're both playing like the same team,

01:21:10   just trying to beat the big mobs of whatever coming into the tower defense arena.

01:21:14   But yeah, if we're actually playing against each other, he's better than me in every possible way.

01:21:20   All right, John, what's the situation?

01:21:22   I don't remember if I said this on the hypercritical episode, but I hope I did, which is-

01:21:27   I was going to say, it sounds like you.

01:21:28   Yeah, and no, not that.

01:21:30   This particular thing I'm about to say.

01:21:31   I did definitely say that I was going to always be better than my kids.

01:21:34   I don't remember if I explained something that would have helped you two, which is that as you get older and your kids get older,

01:21:44   of course your kids are going to have better reflexes than you.

01:21:47   They're going to be faster.

01:21:48   They will have the advantage of youth.

01:21:51   The reason I said that I will always be better than them is because what I will have is wisdom and treachery and also the psychological barrier of being their dad.

01:22:01   You must play to your strengths.

01:22:03   Your strengths are no longer your reflexes.

01:22:06   You can't lean on that.

01:22:08   You have to use what you have, which is life experience and the ability to ruthlessly betray and be sneaky and use your wisdom and experience.

01:22:19   Now, how is me always being better than my kids working out?

01:22:22   I hope I also said this, which is maybe I didn't foresee this, which is like that we would be interested in different games.

01:22:29   So there are games that my son plays that I have never played and have no interest in, and presumably he's better than me in them.

01:22:34   But I still think that if I did play those games and was interested in them, that I would still beat him.

01:22:40   For the games that we both play equally, I must rely on my wisdom and treasuring to defeat him.

01:22:48   He's pretty close in a lot of them, especially first-person shooters.

01:22:52   I think I'm mostly better just because I make better decisions, which is most of what being good at first-person shooters actually is.

01:22:57   It's not actually reflexes most of the time.

01:22:59   But because his reflexes are so much better than mine, I really have to outthink him to sort of level that playing field.

01:23:05   But it can't happen.

01:23:06   You mentioned like Adam watching all the YouTube videos.

01:23:10   I'm doing that.

01:23:11   I subscribe to so many gaming YouTube channels.

01:23:13   All I do is like half of my YouTube watching is learning things about like Destiny videos.

01:23:19   I subscribe to so many Destiny channels.

01:23:21   Now that I'm playing Ark Raiders, I'm just constantly watching Ark Raiders videos to learn things.

01:23:25   So that is part of sort of being into the games.

01:23:28   And I don't expect him to be better than me in the games that I'm playing and he's not, for example.

01:23:32   So that's sort of the, you know, the calculus there.

01:23:35   The caveat should have been always better than my kids in video games if we both play the game.

01:23:39   But if one of us plays it, the other one does not.

01:23:41   Obviously, it's unfair.

01:23:42   And on that note, recently I was over a friend of mine's house and he suggested that we play.

01:23:48   It's an Apple Arcade game, which luckily we're all Apple Arcade subscribers.

01:23:52   But it basically, you know, network name that tune.

01:23:54   What is it called?

01:23:56   It's not actually a very nice application.

01:24:00   So I'm a little bit annoyed at it.

01:24:01   I think it's called...

01:24:02   I'm so surprised to hear that.

01:24:03   It's called Song Pop Party.

01:24:05   Song Pop is all one word, capital S, capital P, and then a space and then the word party.

01:24:09   It's network name that tune.

01:24:11   And their UI is inscrutable.

01:24:12   Like they have never seen like information architecture is foreign to them.

01:24:16   They have no idea what a hierarchy is.

01:24:18   It's just like, how do I get from here to there and shoot?

01:24:20   You just want to like, I just want to pick a playlist and play the game with these songs.

01:24:25   And it's maddening.

01:24:27   Anyway, it's available on a phone and iPad and you can play it on Apple TV.

01:24:31   And it's just named that tune.

01:24:32   It's multiple choice name that tune.

01:24:33   So everyone gets the app on their phone or whatever.

01:24:35   You should play it on the phone because using the Apple TV remote is a massive disadvantage because it sucks.

01:24:39   And it's multiple choice.

01:24:41   You all hear the song start playing immediately and you have four buttons on the screen.

01:24:46   And you have to press the button that's the right answer.

01:24:48   Sometimes the button that's the right answer is the title of the song.

01:24:51   Sometimes it's the artist.

01:24:52   That's basically the whole game.

01:24:53   It's Apple Arcade.

01:24:54   So there's no in-app purchase.

01:24:55   But you do have to unlock things by earning keys.

01:24:59   It's like, come on, Apple Arcade.

01:25:00   I already pay for you.

01:25:01   There's no in-app purchase.

01:25:02   You're not making any money.

01:25:03   Why are you time-gating these things behind XP?

01:25:05   It's so stupid.

01:25:06   Anyway.

01:25:07   Well, that's just because like, you know, in the same way that like when we were growing

01:25:12   up, arcade games were a thing.

01:25:14   And then a lot of times they would be ported to the home consoles, but they still acted like

01:25:19   arcade games, like where you'd have to, you know, like insert credits or whatever.

01:25:22   Like, they still had like arcade game remnants.

01:25:25   This is like all the Apple Arcade games that were like, you know, ports from regular app store

01:25:31   games.

01:25:31   They all have like remnants of the in-app purchase grinding garbage mechanics that all

01:25:36   these games have now.

01:25:37   Those remnants are still there sometimes.

01:25:40   I'm not sure if this is an Apple Arcade game that existed outside of it, right?

01:25:43   I think it might be is you might get paid based on playtime.

01:25:46   Oh, like an Apple Arcade.

01:25:48   And so there, if you're incentivized to keep people playing your game, then you're going

01:25:50   to lock all the stuff behind like, you know, anyway, I'm not sure the details.

01:25:55   That's annoying.

01:25:56   But if you consider this a game, this is an interesting one to play with your kids.

01:26:00   It's not, granted, it's not really a video game.

01:26:02   It's, it's named that tune, but like, it works exactly how you would expect.

01:26:06   If I pick like the 80s TV show playlist, I will crush everybody.

01:26:12   Right.

01:26:12   But if my kids pick like current music, I have no idea who these people are.

01:26:17   It's, you really, it's really struggled to find a playlist for like a round of the game

01:26:23   that is remotely fair because our cultural differences are so huge.

01:26:28   You can also, by the way, play with strangers.

01:26:30   When you play with strangers, you get to sort of pick like, I'd like this to be the playlist

01:26:34   and it just randomly, every person picks what playlist they wish it was.

01:26:37   And then it randomly picks amongst them.

01:26:38   And like, you know, I'll pick like a Billy Joel.

01:26:41   You can do artist based ones.

01:26:42   I crush pretty much everybody in Billy Joel because the odds of you getting another big,

01:26:46   I'm guessing there's not a fish live performance one.

01:26:48   Well, that might be tricky.

01:26:51   I didn't see fish in there, but you have to unlock the things.

01:26:53   I unlocked Billy Joel and you two and like, I think the police or something.

01:26:57   And I unlocked a bunch of 80s things, including like movie soundtracks and TV show themes.

01:27:03   Although sometimes the TV show themes, they'll play a portion that didn't play at the beginning

01:27:07   of the TV show, which I think is bad and wrong.

01:27:10   Like you should, I know the songs are longer, often longer than they were at the beginning

01:27:13   of the show.

01:27:14   But you can only play the part that played in front of the TV show.

01:27:17   I thought actually a good engagement mechanic might be that the fish playlist starts out

01:27:21   unlocked and you have to rank up to lock it.

01:27:23   Well, no, the fish won't be hard because I don't, I'm not sure if humans choose the excerpt.

01:27:30   You know what I mean?

01:27:31   It's like, if they don't, if you randomly choose an excerpt from a fish song, I think even you

01:27:35   would be challenged.

01:27:36   Yeah.

01:27:36   I mean, there's a lot of them that, you know, once they kind of go off in the wilderness

01:27:39   for a while, you're like, I don't know what the heck this was.

01:27:42   Yeah, they would have, maybe it would be fitting for instead of it being like five

01:27:46   second snippets, the fish ones, they play three minutes of the song.

01:27:48   Yeah.

01:27:48   And still no one knows what the heck it is.

01:27:51   I think this was a careenie 20 minutes ago.

01:27:54   It's multiple choices.

01:27:55   The most fun part is like when, especially when you're playing with like strangers online,

01:27:58   they'll play one and it's clear nobody in the, in the game, in the lobby or whatever has

01:28:03   any idea, but then they'll sing the lyric that is the title and then everyone picks it.

01:28:07   You can see it happening.

01:28:09   That makes me think that it's not, that, that it's not human curated because you should

01:28:13   never pick a snippet that has the title in like where they say the title of the song with

01:28:17   the, you know, Leonardo DiCaprio gif.

01:28:19   Right.

01:28:19   So anyway, um, a network name that tune is a fun game.

01:28:24   I just like draw something.

01:28:25   A network Pictionary is also a fun game idea.

01:28:28   This is a poor implementation of it, but if you have Apple arcade, you get it for free.

01:28:31   And it's an interesting quote unquote video game to play with your kids because there is

01:28:36   very often not that much overlap between the world of your cultural references and the world

01:28:41   of theirs.

01:28:41   Yeah.

01:28:42   I like to show the, the variance in, in gaming selection.

01:28:46   Um, the game that Adam is currently, um, very heavily playing is called ultra kill.

01:28:52   And what he is doing in it is basically like trying to beat his best times through the level in like a speed

01:28:59   running kind of method.

01:29:00   Now, when I, as a, you know, as an old person see this game and I see the way he is speed

01:29:07   running it, he, I it's, you know, it looks like kind of a regular shooter, but he's basically

01:29:13   flying through it because he's like doing these like crazy speed run jumps and jumping and soaring

01:29:18   and flying and like, Whoa, how did you get all the way over there in three seconds?

01:29:22   Oh, I shaved off 0.1 seconds off my best time.

01:29:24   It's like, Oh my God.

01:29:26   Like there's so much going on.

01:29:28   This game is retro and Adam probably doesn't even know it.

01:29:31   It looks very much like a Quake one or Quake two, but much faster, obviously.

01:29:35   But like the graphics are like intentionally retro, but for a time that wasn't retro to

01:29:40   me when I was living through it.

01:29:41   Oh yeah.

01:29:41   Well, my favorite thing is like the, the, the font used throughout the entire UI is that

01:29:46   like VCR bitmap font.

01:29:48   And it's, it's, and I love it.

01:29:51   Like I, I saw it and I was delighted by it.

01:29:52   I'm like, even though this at no point did anything with that font look like this.

01:29:57   Like those are two not overlapping time spans, but it was delightful.

01:30:02   But like, when you look at this game, you're like, I have no idea what's going on here.

01:30:06   And it's just so much of it.

01:30:08   Like this is, and like, you know, besides this, he'll play, he'll play those kind of like grinding

01:30:13   economy games or just like, you know, some like Roblox pile of hacks.

01:30:19   That'll be like, well, that now, you know, I, I just traded in the, the mega sword for

01:30:24   the ultra sword, but to get the diamond sword, I have to get 5 million of these bags of rice.

01:30:29   And it's like, Oh my God.

01:30:30   Like that sounds, I mean, honestly, to me, it sounds super unfun, but he has fun with

01:30:35   it.

01:30:35   So, you know, whatever.

01:30:36   And then I see games like this, but I'm just like, he's in, he's doing things that are like

01:30:40   impossible in this game.

01:30:41   Like, I can't believe what's going on in this game.

01:30:43   You should try universal paperclips.

01:30:45   One of the, I think that was what it was called.

01:30:46   One of the original web-based ones.

01:30:48   Oh, I did.

01:30:49   Sort of like economy games.

01:30:51   Yeah.

01:30:51   I actually did play that for, you know, a few days.

01:30:54   Has Adam played it?

01:30:55   I don't know.

01:30:56   He also, there's like all, there's all these like clickers now that are basically that same

01:30:59   kind of game.

01:31:00   He was just telling me about one the other day, like one of the, one of the many, oh, it was

01:31:04   cookie clicker.

01:31:05   That was the one that's, that's what the kids are playing now or recently.

01:31:08   And that's like, it just, it sounds exactly like all of those games, but it's like, I just

01:31:14   need 5 million more of these things and I'll have it in 35 days.

01:31:17   He's like, oh my God, he likes ultra kill.

01:31:19   He might like the, the recent, uh, entries in the doom franchise.

01:31:22   I don't know if you two know, but they, they keep making doom games and they are very much

01:31:26   like ultra kill, but with a little bit better graphics.

01:31:28   Huh?

01:31:28   I didn't know that.

01:31:29   I knew that they were putting, well, not they, but people were putting doom on all sorts

01:31:34   of hilarious pieces of hardware, but I did not know that new doom was happening.

01:31:37   There have been many, many doom games since the original doom and they keep making them

01:31:41   and they keep making you them faster.

01:31:43   Very much like ultra kill where you move real fast, you go real fast.

01:31:46   There's lots of bullets.

01:31:47   It's, you know, not attempting to be realistic in any way.

01:31:49   I don't, I, there's, it's not quite as speed runny as it seems to be, but, uh, he might

01:31:54   enjoy it.

01:31:54   All right.

01:31:55   Thank you to our sponsors this week, Aura Frames, Zapier, and Paka.

01:32:00   And thanks to our members who support us directly.

01:32:02   You can join us at ATP.fm slash join.

01:32:05   One of the many perks of membership is ATP overtime, our weekly bonus topic.

01:32:10   This week on overtime, we're going to be talking about, should we ever be forced to put away

01:32:15   our phones to have phone free experiences?

01:32:18   Things like events and things that require your phone to be away and how they do that.

01:32:22   Interesting topic, I think.

01:32:23   So we're going to talk about that in overtime.

01:32:24   You can join if you want to listen to that and everything else we do for members exclusively,

01:32:27   atp.fm slash join.

01:32:29   Thank you, everybody.

01:32:30   And we'll talk to you next week.

01:32:32   Now the show is over.

01:32:37   They didn't even mean to begin.

01:32:40   Cause it was accidental.

01:32:42   Accidental.

01:32:43   Oh, it was accidental.

01:32:44   Accidental.

01:32:45   John didn't do any research.

01:32:48   Marco and Casey wouldn't let him.

01:32:50   Cause it was accidental.

01:32:52   Accidental.

01:32:53   Oh, it was accidental.

01:32:55   Accidental.

01:32:56   And you can find the show notes at ATP.

01:32:59   dot FM.

01:33:01   And if you're into Mastodon, you can follow them at C-A-S-E-Y-L-I-S-S.

01:33:10   So that's Casey Liss.

01:33:12   M-A-R-C-O-A-R-M-N-T.

01:33:16   Marco Arment.

01:33:17   S-I-R-A-C-O-A-R-A-C-O-S-A-C-R-A-C-U-S-A.

01:33:22   It's accidental.

01:33:24   Accidental.

01:33:25   They didn't mean to.

01:33:28   Accidental.

01:33:29   Accidental.

01:33:30   Tech podcast.

01:33:32   So long.

01:33:35   So I just did an Overcast update a few days back that adds the number one customer requested

01:33:44   feature for probably the last year by far.

01:33:48   Episode images.

01:33:50   Tell me more about what that means.

01:33:53   Okay, so podcasts have always had like the main podcast image that is like the artwork

01:33:59   that shows to represent a podcast.

01:34:01   A very, very long time ago, there's been support basically since the beginning of podcasting

01:34:05   for images to be embedded in the MP3 files because MP3s themselves support images being embedded

01:34:12   in the ID3 tags, and they have for a thousand years.

01:34:14   So you had your podcast image that was specified in the feed as a URL, just an image URL on the

01:34:21   feed, and you've been able to embed images in the MP3s themselves.

01:34:27   And in many podcast players, if you would play a podcast with an embedded image, that image

01:34:34   would show on the now playing screen instead of the main artwork, if one was present.

01:34:38   Now, a long time ago, that actually caused me a problem with Overcast early, early on in

01:34:43   the development because the wonderful now, I believe now, totally over podcast Core Intuition

01:34:51   by our friends Daniel Jockett and Manton Reese, Core Intuition was one of my test shows a thousand

01:34:56   years ago, and they used to embed a lower resolution version of their main image as they

01:35:04   their embedded image in every file.

01:35:06   And Overcast's initial logic was, if there is an embedded image, display that.

01:35:11   And if not, display the main artwork.

01:35:14   Now, the result of this was when playing Core Intuition back then, it would quickly pop in

01:35:22   a worse version of the main image because that was the embedded image because it had to be

01:35:27   kind of, you know, smaller to fit into limits and stuff.

01:35:29   And so, I originally, episode artwork meant that.

01:35:33   And even that, I had to, like, develop, basically, I did something where, like, I resized both

01:35:39   images down to, like, 16 by 16 pixels and measured the differences and, like, how different these

01:35:44   two images are.

01:35:45   And if the embedded image was deemed to be, like, basically the same image as the main

01:35:52   feed image, I would just show the main feed one and just ignore the embedded one.

01:35:56   You're probably ruining a lot of people's subtle jokes where they change, like, one letter in

01:35:59   the title of their name as a joke artwork, but you replaced it with the real artwork because

01:36:03   it's shrunk down, they're the same.

01:36:05   Well, the good news is the embedded artwork feature of the MP3 spec and of podcast apps

01:36:11   has hardly ever been used.

01:36:13   Now, the world has moved on since then, and Overcast still supports that and has the entire

01:36:18   time.

01:36:19   And we use it all the time in this show, right?

01:36:21   Or no, we use chapter images.

01:36:22   Yes, see, we stopped.

01:36:23   We did use it in this show, and chapter images we did.

01:36:27   Anyway, we moved on.

01:36:29   The world has moved on.

01:36:29   No one ever really used those in great numbers.

01:36:31   And just to be clear, the distinction we're making is chapter images are a different thing

01:36:35   where images are embedded in the MP3 file, which is separate from episode images where

01:36:39   there is a artwork image embedded in the MP3 file saying, for this episode, this is the

01:36:43   artwork.

01:36:43   Right, exactly.

01:36:44   So, over the last few years, it's become fairly common, especially for larger podcasts who have

01:36:51   production staffs and designers on staff and stuff, larger podcasts will often have individual

01:36:57   images made for each episode.

01:37:00   And what they do is Apple Podcasts added support, I think a couple of years ago at least,

01:37:05   for images to be specified in the feed per episode.

01:37:10   So, in the feed, it's just another URL, and the feed has to download it, or the client has

01:37:16   to download it and show it.

01:37:17   And then this takes it out of the file.

01:37:19   And the advantage of this is that you can show them before the episodes have been downloaded.

01:37:24   So, if you're presenting like a list of episodes that have not yet been downloaded, all those

01:37:30   images that are present, they can be shown on that list.

01:37:32   So, it's helpful.

01:37:33   And it's kind of nicer for like the rich display of podcasts now with big budgets and all these,

01:37:40   you know, all these assets and design things that they can have now.

01:37:45   So, for a long time now, my number one feature request has been support for these episode

01:37:49   images.

01:37:49   Of course, I try to go implement them, and I run into so many little problems.

01:37:56   So, first of all, the scope and the scale that you're dealing with now is Overcast is hosting

01:38:03   metadata for and crawling millions of podcasts.

01:38:08   Now, every podcast has one main image.

01:38:13   You're going now from the potential of a podcast having one main image to 2,000 episode images,

01:38:20   maybe?

01:38:21   So, you're dealing with like potentially orders of magnitude more images that need to

01:38:26   be dealt with.

01:38:26   Now, the most obvious way to do this is just ignore them on the server side and just have

01:38:33   the client download them directly from publishers at full size.

01:38:37   Then, the servers don't have to know anything about them except this is the image URL.

01:38:41   Go nuts.

01:38:42   The problem with that, there's a number of problems with that.

01:38:45   So, I'll get to that in a minute.

01:38:47   But that is what I prototyped first.

01:38:50   Now, the very first thing I had to do was build an all-new downloader for Overcast because

01:38:56   what this means in the before support times of this, Overcast had to download one file

01:39:04   for every episode.

01:39:05   So, the downloader was kind of tightly bound to one-to-one relationship between episodes

01:39:11   and files that can be downloaded for those episodes.

01:39:14   So, I first had to refactor the downloader.

01:39:18   And in fact, I ended up writing a whole new one for other reasons.

01:39:20   But refactor the downloader and design it such that a podcast can have more than one file

01:39:25   associated with downloading for it.

01:39:27   And there's all sorts of tricks to that.

01:39:29   Like, okay, well, what happens if one of them gets deleted?

01:39:32   What happens if one of them is downloaded but the other ones aren't?

01:39:37   What happens if the file is being streamed during playback and not downloaded?

01:39:42   What should happen if it's in your list but it is not downloaded?

01:39:46   What should show there?

01:39:49   There's all sorts of these considerations.

01:39:50   There's also a privacy angle.

01:39:54   Because keep in mind, the world of podcasts is all about ad tech in all of its forms now.

01:39:59   Now, you know, fortunately, it can't do quite as much as it can on the web because of the

01:40:04   limitation of the medium.

01:40:05   But any little bit of information you give these, you know, big ad networks that are now

01:40:10   serving podcasts, they'll use it against you.

01:40:13   Like, so it's like talking to the police.

01:40:15   Like, give them as little as possible.

01:40:17   Making a second request from the same IP, well, when do you make that request?

01:40:22   Do you download every image, even if you haven't downloaded the file?

01:40:27   But then you're making a request two different times.

01:40:30   And maybe they can, like, bind two different IPs to your, you know, data profile if they're

01:40:35   keeping on you.

01:40:35   And then they can figure, oh, this is your home IP and this is your work IP.

01:40:39   There's all sorts of stuff that you got to think about with that kind of stuff.

01:40:42   You know, what if they specify a, quote, pixel?

01:40:45   And then you have to think about, like, are they going to change the URL over and over

01:40:49   again to, you know, to make sure that you keep downloading it so they can keep tracking

01:40:52   you as you go throughout your life and as you move to different IPs in different locations?

01:40:56   The answer is, yes, of course, the people are going to try to do that.

01:41:00   If they're not doing it yet, they're going to.

01:41:01   So you have to design any kind of feature like this with privacy, like, significantly in

01:41:05   mind.

01:41:06   And then the second problem is, like, okay, you're downloading images now.

01:41:10   What happens if the image changes after you've downloaded it?

01:41:13   How often are you checking?

01:41:14   What happens if the URL changes?

01:41:16   What happens if the URL doesn't change, but somebody replaces the image on their server?

01:41:20   Do you keep the cached version forever?

01:41:22   Do you have to pull potentially thousands of image URLs client side every single time?

01:41:28   Like, there's, when you think about what actually has to happen here to do this well, it's not

01:41:33   a small amount of work.

01:41:34   So I refactor my downloader to download the images directly from the publisher so that way

01:41:40   my servers wouldn't have to deal with millions more images and whatever that might mean.

01:41:46   Okay.

01:41:47   I try it out.

01:41:49   I run it on, you know, in the iOS simulator on a test account that has a handful of podcasts

01:41:53   in it, and it was 500 megs of images on a test account with a handful of podcasts.

01:41:59   I'm like, what the heck is going on?

01:42:03   And so at first I look and I see there's one image that I have about 100 copies of.

01:42:09   It's the artwork for Hypercritical.

01:42:11   So it turns out that one thing that, you know, 5x5 feed now has is they specify images.

01:42:23   Per episode, even if there never were images per episode for like a very old podcast, they

01:42:28   just specify the same URL for every image.

01:42:31   Like, oh no, duplicates.

01:42:34   And you can't count on podcast feeds doing anything in a regular logical way.

01:42:40   They're going to do whatever they're going to do.

01:42:41   So then I had to go, all right, now re-index things with the consideration that maybe you

01:42:49   shouldn't count an image as being an episode image if it's been used before in the same

01:42:54   feed.

01:42:54   If it's the main artwork episode or if they're using it for a bunch of other episodes.

01:42:59   So I had to de-dupe all those URLs, ignore any URL that appeared more than once.

01:43:04   But then in a later test, I learned that that breaks dithering because dithering uses different

01:43:12   URLs, but it uses each image for like a month.

01:43:15   So every episode, so you'll have like, you know, eight episodes of dithering in a row that

01:43:20   have the same image URL, but then it'll change.

01:43:22   You need content addressable storage.

01:43:24   What?

01:43:25   You need to be storing them based on their content, not based on their name or anything.

01:43:29   So then you can say, when you download one, you can say, oh, I can discard this because

01:43:32   I've already got this file.

01:43:33   But then you're still downloading it a million times.

01:43:35   It's true, but you're not keeping it a million times.

01:43:38   Oh, geez.

01:43:38   So it wouldn't take up 500 megs.

01:43:39   Yeah, but then I'm basically building like a file system at that point.

01:43:44   Then I'm like, all right, well, this thing references this block or, you know, then you can

01:43:48   delete this one.

01:43:49   No, the content address, like S3 has things that will kind of do this for you.

01:43:53   But anyway, yeah, go on.

01:43:54   Like you'll get there eventually.

01:43:55   Yeah.

01:43:56   So my, my deduplication thing, you know, had to like be revised a lot.

01:44:01   It still didn't, still didn't get there, but whatever.

01:44:05   All right.

01:44:06   Then I'm like, okay, now, now comes the other problem.

01:44:08   So I try it out and it's like, it's, the images are way too big and they're still not

01:44:14   available without downloading the full size images from the publishers.

01:44:19   So as you are scrolling a list of episodes that you don't have downloaded yet, those are having

01:44:23   to download these huge images popping them in.

01:44:25   And if you make the iPhone download an image from a publisher, you have to be very, very

01:44:32   careful not to do anything with that image that might load it into memory and blow up the

01:44:38   phone before you know for sure that it's safe.

01:44:41   And I don't necessarily mean safe in terms of security vulnerabilities.

01:44:44   I mean safe that it won't exceed the memory limits of the phone or cause a huge amount of

01:44:50   processing time.

01:44:50   So like there was, there used to be back in the day, I remember Jason and Mike were joking

01:44:55   about this, that like at some point, I think one of them accidentally published the upgrade

01:45:01   artwork as a JPEG 2000 file.

01:45:04   I remember this, it was served and it was fine.

01:45:06   And because Apple's image part processing frameworks can read it, Overcast was dutifully reading

01:45:12   it.

01:45:13   Maybe it was just a chapter or whatever it was, it was reading it, but it was incredibly

01:45:18   slow to read.

01:45:19   And while that, I think, yeah, it was while that chapter was playing, the interface would

01:45:24   lag like crazy because it was like trying to parse this giant JPEG 2000 image.

01:45:29   And so you have to be very careful with like, you know, kind of untrusted input.

01:45:33   And so I have all these things in place that like use certain image IO functions on the

01:45:37   client side to like first read the dimensions of the image.

01:45:40   And if it's above a certain dimension, don't even try to decode it.

01:45:43   And then also check the format of the image.

01:45:46   And if it's not like, you know, JPEG paying, you know, if it's not one of like the simple

01:45:50   well-known ones, don't even bother.

01:45:51   Don't try to read it.

01:45:52   It's like, there's all these different checks I have to do.

01:45:54   This is just to illustrate kind of the complexity of having the client process images.

01:45:58   So then I get to the problem of like not being able to see them in scrolling lists without

01:46:03   downloading all of these giant images from publishers.

01:46:05   And I'm like, oh my God, I have to thumbnail them server side and put them behind a CDN.

01:46:10   That's like, that's the real answer here.

01:46:12   I really just had like, and that's what I do for main podcast artwork.

01:46:15   Also, the client is not downloading podcast artwork from the publisher.

01:46:20   It's downloading it from my CDN and my CDN is doing like my servers are doing the resizing

01:46:24   and sticking them on the S3 compatible storage thing and being served through Cloudflare.

01:46:30   So it's free.

01:46:31   And that's, that's the whole, the whole process.

01:46:35   But then I'm like, okay, now, now I got to be careful because now I'm going to start

01:46:40   a thumbnail in millions of images.

01:46:42   Again, on the thumbnail in front, I just ran across this because I was looking at some,

01:46:46   some code for an app that you will never guess because it has nothing to do with thumbnails,

01:46:50   but it was like someone posting a fast core graphics,

01:46:54   Thumbnailing code that I think its pitch was, it never has to have the full big image in memory.

01:46:58   Like essentially you can, if you've got the full size image somewhere accessible,

01:47:02   like on the file system that you could make a thumbnail without ever,

01:47:05   without ever reading and putting into, without ever expanding sort of like on, you know,

01:47:09   uncompressing the entire JPEG 2000 that somehow would make you a thumbnail

01:47:13   while iteratively reading the thing in chunks or something.

01:47:17   And that, I mean, I know you're probably doing it server side using whatever,

01:47:20   you know, server side library you have, but I'm, I'm wondering if you ran across that

01:47:24   in your travels in terms of, can I make thumbnails without loading the whole image?

01:47:28   I've seen a bunch of those articles.

01:47:30   Like, cause you know, every, every few years, either some new API will come out or somebody

01:47:34   will find some new, you know, method or they'll run like some little benchmark and make a blog

01:47:38   post about it saying this, this method, you know, changes images this much faster or whatever.

01:47:43   But yeah, I am on, it's doing, it's all happening server side now.

01:47:46   It's all using like image magic, you know, server side.

01:47:48   So that's in PHP from PHP.

01:47:51   I mean, it's not image magic is doing the actual, yes, image magic.

01:47:54   Yeah, yeah, exactly.

01:47:56   With a K.

01:47:56   Yes.

01:47:57   Well done.

01:47:57   Anyway.

01:47:58   So I'm like, all right, now I got to build this stuff.

01:48:01   So I, then I go and build that.

01:48:02   And it, you know, that takes weeks to start like filling the back catalog, doing all the

01:48:08   and then I'm about to launch the feature.

01:48:11   And one morning I start seeing that all my S3 put commands are returning 403s.

01:48:18   What is going on?

01:48:20   Now the, the object service I was using to store it because it was way cheaper than S3 and it

01:48:26   was local to my servers was Linode object storage.

01:48:30   They're S3 compatible block storage.

01:48:32   Almost every web hosting thing has their own S3 compatible block storage kind of thing.

01:48:36   And so I was putting it there because it was, it was very inexpensive and I put Cloudflare

01:48:42   in front of it to serve it really fast.

01:48:44   So that part didn't really matter.

01:48:45   Well, it turns out I created my Linode object storage bucket on their like legacy version of

01:48:53   it.

01:48:54   And now they have, but they have buckets that have high limits, but the one I hit had a

01:49:00   limit of like 50 million objects or something like that.

01:49:04   A five with a lot of zeros at the end.

01:49:05   I think it was 50 million, just an artificial limit, that many objects.

01:49:10   And once you hit it, they don't email you or warn you in advance or anything.

01:49:15   You can start getting four or three hours whenever you try to write any new images to it.

01:49:18   So that was fun to figure out.

01:49:21   And I'm like, I, and I opened a support ticket.

01:49:23   I'm like, Hey, can I get a higher limit?

01:49:24   And they're like, Nope, you got to move to a whole different data center to do that.

01:49:27   I'm like, Oh my God.

01:49:28   So this is now a bucket that has 50 million things in it.

01:49:32   And I have to, and I'm, I was literally like about to release that bill to the app store.

01:49:37   I'm like, Oh God.

01:49:39   Now I have to delay this again because I hit Linode object storage is a old limit for the

01:49:45   number of items in a bucket, which I didn't even know it was a thing.

01:49:48   So then I took another week to slowly migrate all of those 50 million things to Cloudflare

01:50:00   R2, which is Cloudflare's S3 clone for, for their block storage, move, change all the code

01:50:06   and overcast to point to that and to make sure that all the, all the stuff works to actually

01:50:10   read and write to that properly.

01:50:13   Do all that, all the image URLs change, everything like, did you look up what the limits are for

01:50:19   the new object storage?

01:50:20   No.

01:50:20   Cause I know Cloudflare wouldn't have stupid limits like that.

01:50:23   I would look them up.

01:50:24   I would still look them up even though I agree with you.

01:50:26   Just write them down somewhere.

01:50:27   And then finally I was able to launch the feature last week.

01:50:36   The number one customer request now, can I have a setting to turn that off?

01:50:40   Cool.

01:50:42   Thanks everybody.

01:50:43   Yeah.

01:50:45   Cause sometimes episode artwork is gross.

01:50:47   I mean, I, I have a problem with main show artwork.

01:50:50   Some podcasts I listened to have changed their, like their main, you know, the, the artwork,

01:50:54   the main artwork for the entire show to be hideous.

01:50:57   And I just, I wish I could just like, like custom artwork, kind of like custom icons in the

01:51:03   finder and like the, the icon, this app changed and I changed it.

01:51:06   Yeah.

01:51:07   Yeah.

01:51:07   I'm surprised you don't have some like Pearl script.

01:51:09   That's just, uh, putting a facade in front of the official RSS, but inserting your own

01:51:14   preferred artwork.

01:51:15   I could do that if I really cared that much, but I mean, there's, there's some, there's

01:51:18   enough problems to dealing with podcast RSS feeds that I don't want to add another layer

01:51:22   there.

01:51:22   So now I can just blame Marco for everything.

01:51:24   Oh, that works for me.

01:51:25   Everyone else does.

01:51:27   Right.

01:51:29   Well, so it's shipped and other than people saying, I hate this because different, everyone

01:51:33   is happy by and large.

01:51:34   Yeah.

01:51:35   I mean, for the most part, well, and there's also, by the way, there's the massive like UI

01:51:39   question of where and when these images get displayed during playback or not during playback.

01:51:45   So there's a number of schools of thought here.

01:51:47   So where I'm displaying them now is if you are viewing an individual podcast screen and

01:51:54   you're seeing its list of episodes, they will show there and they will show during playback

01:51:59   in the now playing screen and anywhere that now playing image would show.

01:52:03   So things like CarPlay, the lock screen control center, you know.

01:52:07   But if you have a playlist or a widget, a context where you're seeing episodes from different

01:52:14   podcasts possibly being blended together, they are not showing there.

01:52:18   I'm showing the regular podcast artwork there, like the main show artwork there, because my

01:52:23   rationale there is like in a context where you need to distinguish podcasts from each other,

01:52:28   the main artwork is how you visually identify that podcast.

01:52:32   But again, what I think is not necessarily what everyone thinks.

01:52:36   And so that many people are, you know, thinking like that's not what they want.

01:52:41   So it's a very tricky problem to solve.

01:52:44   I even I played with briefly, I played with like having in a mixed podcast context, like a

01:52:50   playlist, having the regular podcast artwork show with the individual episode artwork in some

01:52:55   form, like maybe like I tried having the regular podcast album art as a little tiny inset

01:53:01   thing, like on the lower right corner of the main, but it was just it just looked cluttered

01:53:05   and confusing.

01:53:06   And then you're obstructing the artwork.

01:53:08   Like it was there were so many problems with everything else I tried.

01:53:10   So that's why I went with this.

01:53:13   But even that, like it's a really tough feature to get right.

01:53:16   And it's it sounds so simple.

01:53:19   Episode images.

01:53:20   Yeah.

01:53:20   And then every single one of these details was like was harder and more cumbersome and time

01:53:26   consuming than I thought it would be, which I guess a software development.

01:53:28   But this was this I thought was an especially long saga for something that seems so simple.

01:53:34   It's funny you say that.

01:53:35   I don't want to go too deep into this for a bunch of different reasons, or at least not

01:53:40   now anyway.

01:53:40   But one of my most frequent requests was the discover screen on call sheet, the main screen

01:53:46   you land on those things like popular movies, popular TV shows, new movies, new TV shows.

01:53:53   A lot of times the entries there that that TMDB provides are kind of inexplicable.

01:53:59   And a lot of people have been asking, can I turn some of these off?

01:54:02   Can I rearrange them?

01:54:03   Can I do both, et cetera?

01:54:04   And so just finished rolling out in the last 24 or 48 hours is the ability to turn on or

01:54:11   off each of those sections, which a lot of people have been asking for for a long time.

01:54:15   And then I am mostly done with implementing the ability to rearrange those sections, which

01:54:22   is not currently possible.

01:54:24   And it's funny because both of these things I knew people wanted for months and months

01:54:29   and months and months.

01:54:30   And I kept kicking the can, kicking the can, kicking the can, kicking the can, because I

01:54:34   felt like it was going to be really, really difficult to implement.

01:54:36   And then when I finally told myself, stop being a baby and do it, it actually wasn't that bad.

01:54:42   It was not without peril for sure, but it was one of those things, unlike what you're describing,

01:54:47   where it's so far been mostly straightforward.

01:54:50   And I'm kind of mad at myself for kicking the can, but there are definitely been times that

01:54:54   I kicked the can for a long time, go to finally implement it and go, oh, oh, this was a mess.

01:54:59   Like the multiple lists of pins is a great example of that.

01:55:02   Like I got there, but it was way messier than I thought it would be.

01:55:06   And I already thought it was going to be messy as hell.

01:55:08   So I've been on both sides of this.

01:55:10   Sometimes you just got to buckle down and give it a shot and see what happens.

01:55:13   And I'm sorry for your sake that this one was not an easy one, but I'm glad you got it

01:55:18   across the line and it's got to be a big weight off your shoulders.

01:55:21   Yeah, it really is.

01:55:22   And now it's a big weight onto Cloudflare shoulders, but hey, that's not my problem.

01:55:25   Nice.