PodSearch

ATP

490: Tiny Pictures of Knobs

 

00:00:00   Alright, we should at least briefly talk about something that all three of us intended to

00:00:05   talk about last week, and because we're idiots, it just completely slipped our mind to say

00:00:10   anything. And I wanted to at least briefly talk about the really crummy and I would argue

00:00:17   despicable events in America of last week, specifically around the Supreme Court saying

00:00:22   that Roe vs. Wade is no longer a thing, and that any of the protections that Roe vs. Wade

00:00:28   gave people, particularly women, with regard to the right to have agency over their own

00:00:34   bodies, that that is no longer a thing. And I don't necessarily want to go too deep into

00:00:41   this other than to say that I think I speak for all three of us in saying that it is my

00:00:47   slash our belief that women should have agency over their own bodies and what happens to

00:00:52   to their bodies.

00:00:54   I would not find it funny if I was compelled

00:00:57   to do things with or to my body without my permission.

00:01:02   I would not find it funny if I couldn't get healthcare

00:01:07   that I needed simply because some other people

00:01:09   found it to be taboo.

00:01:11   I don't think it's fair that other people can decide

00:01:16   whether or not it's okay for, I don't know,

00:01:18   let's say for me to get a vasectomy, for example.

00:01:21   I don't think that's anyone's business but mine and Erin's.

00:01:24   And I find it really disgusting that a bunch of old people

00:01:29   seem to think that they know better for Erin, for example,

00:01:33   than Erin does herself.

00:01:36   And I really find it quite gross.

00:01:38   As someone who has lived through infertility,

00:01:41   we did not have to do in vitro fertilization,

00:01:43   but we were very, very close to it.

00:01:45   And depending on how you read the rulings

00:01:50   and the laws of the land as they exist today,

00:01:52   you could make a very strong legal argument

00:01:54   that in vitro fertilization is now illegal.

00:01:56   And I find that to be absolutely disgusting

00:01:59   because here it is, you know,

00:02:01   so many couples and so many families

00:02:03   want desperately to have a child

00:02:05   and they would do anything,

00:02:07   including paying absolutely egregious sums of money

00:02:10   for the privilege of having a child.

00:02:12   And because this gets swept up in something

00:02:16   that some people find taboo,

00:02:18   It's now questionably legal.

00:02:20   And I find this whole thing to be disgusting.

00:02:24   I really think it is inappropriate for me

00:02:28   to specify what should happen to anyone else's body.

00:02:32   And I find that, in my personal opinion,

00:02:36   abortion is health care.

00:02:37   And I think that health care really

00:02:39   should be universal in this country,

00:02:40   but that's neither here nor there.

00:02:42   And I just wanted to make it plain and public

00:02:43   that I think that this is the wrong way.

00:02:46   I think this is disgusting.

00:02:48   and I am not in support of it.

00:02:49   And I don't know if that does any good,

00:02:52   but I just wanted to make it plain and public,

00:02:55   my opinion on it, and I don't know if you guys

00:02:57   have anything else to add or say or correct on that,

00:02:59   but I'm all ears if you do.

00:03:00   - Oh, absolutely I do.

00:03:02   (laughing)

00:03:03   I can't believe that we've gone back in time on this.

00:03:06   So like we've gone back what, 50 years,

00:03:09   whatever it's been?

00:03:10   - Something like that, yeah.

00:03:10   - You know, in the view of time,

00:03:15   Overall, things are better now than they were 50 years ago

00:03:19   in most ways.

00:03:20   But when you take such a big regression like this,

00:03:24   it really can feel like they're not.

00:03:27   And this is a major regression in a number of different areas

00:03:30   for a number of different reasons.

00:03:32   And the fact is--

00:03:33   Casey, you said a minute ago that, quote,

00:03:36   "in your opinion, abortion is health care."

00:03:38   And in reality, it's more complicated than that.

00:03:42   In reality, it literally is healthcare

00:03:45   for a number of conditions.

00:03:47   And people who are anti-abortion

00:03:50   normally have a fairly simplistic view of the issue.

00:03:54   And if you're one of these people listening to the show,

00:03:56   if we somehow still have any conservative listeners,

00:03:59   first of all, I respect that you listen to the show

00:04:01   knowing that we're not conservative.

00:04:02   - Yeah, agreed.

00:04:03   - And that that hasn't scared you off

00:04:04   and that you're willing to hear other opinions.

00:04:07   Good on you for that.

00:04:09   The view that anti-abortion people tend to have

00:04:13   is this very simplistic, almost storybook view

00:04:16   of all abortions are killing babies and that's it.

00:04:21   And the reality is much more complicated than that.

00:04:24   A thousand times more complicated than that.

00:04:26   There are so many sides to this.

00:04:28   There are so many conditions in which it is literally

00:04:31   the only possible outcome to save the mother's life.

00:04:35   There are many conditions where you have

00:04:38   you know, tricky problems or literal health problems,

00:04:42   literal healthcare is required that is considered

00:04:45   an abortion for various conditions or situations

00:04:50   that happen in real life all the time.

00:04:52   So even if you think that women shouldn't be allowed

00:04:56   to choose abortion for other reasons,

00:04:59   which that's a big if, and I would question that as well,

00:05:03   but even if you can set that part aside,

00:05:06   The reality of the issue is so much more complicated

00:05:09   than that and there's so many situations

00:05:11   where it is the required medical procedure

00:05:13   to preserve a woman's life,

00:05:16   or at least physical and mental wellbeing,

00:05:19   that to actually ban it, to actually make it illegal,

00:05:24   is literally putting women's lives in danger.

00:05:27   It is literally going to result in women dying.

00:05:31   That is not an exaggeration, it is not a frivolous thing.

00:05:35   This is not a thing that should be taken lightly.

00:05:37   And anybody celebrating this as a victory,

00:05:39   I think you don't have all the facts

00:05:41   or you're willfully ignoring them.

00:05:42   - Well put.

00:05:43   - This is literally a step backwards

00:05:46   into a barbaric pastime that we did have

00:05:50   where lots more people died who either couldn't afford

00:05:55   to get the kind of under the table treatments

00:05:58   or to travel somewhere where it was available

00:06:00   or who took something more desperately available

00:06:04   that ended up killing them or hurting them.

00:06:06   We are now going back to that barbaric time

00:06:08   in huge parts of our country.

00:06:11   And this is going to affect thousands of people.

00:06:14   It's going to result in more deaths,

00:06:16   more illness, more problems.

00:06:18   If you are still somehow on the anti-abortion side of this,

00:06:22   I urge you to consider that the issue

00:06:24   is more complicated than you think it is.

00:06:27   And there's lots of situations.

00:06:29   We personally, I mentioned this a long time ago

00:06:31   when this happened, but my wife had to get an abortion.

00:06:34   We had a failed pregnancy at five months,

00:06:38   and we were about, I think, one week away

00:06:40   from not being able to do it even in New York.

00:06:43   It was deemed unviable of a pregnancy.

00:06:45   We had to terminate it to preserve her health

00:06:48   and her ability to possibly have more kids in the future.

00:06:50   We had to terminate it.

00:06:52   That was the required healthcare move at that time.

00:06:55   And this was for a pregnancy that we very much wanted,

00:06:58   but it wasn't gonna happen.

00:07:00   And had we not been able to do that,

00:07:04   we could have had some much more serious problems

00:07:06   down the road.

00:07:07   So I urge you out there,

00:07:10   if you are on that side of the politics of this,

00:07:14   please open your mind to the possibility

00:07:17   that the issue is more complex than you think it is.

00:07:19   And for everyone on the pro-choice side of this, like us,

00:07:24   I urge you to just do whatever you can politically

00:07:28   to help right this wrong.

00:07:29   And frankly, I don't know how much we can do right now.

00:07:32   I'm, like many of you, pretty jaded

00:07:36   at America's prospects right now in lots of ways.

00:07:40   I mean, this is just one issue of many large recent issues

00:07:45   that we're having to deal with

00:07:46   that are seemingly going the wrong direction.

00:07:48   I mean, we have a legitimate chance here

00:07:51   that our next major national election

00:07:54   might literally be contradicted by state legislatures

00:07:58   and possibly the Supreme Court.

00:08:00   So our actual democracy is literally being threatened

00:08:04   in very, very large ways

00:08:06   that I don't think most Americans fully appreciate.

00:08:09   So we have lots of problems right now,

00:08:10   but this is a big one.

00:08:12   And to have regressed so far

00:08:15   in such a damaging and dangerous way is despicable.

00:08:19   And as we just passed July 4th,

00:08:22   I am super not proud of America right now.

00:08:24   And we have a lot of work to do

00:08:26   to fix the train wreck we've made for ourselves.

00:08:29   - Couldn't agree more.

00:08:30   - Yeah, a couple of things I'll add.

00:08:32   In any kind of situation where you're trying to set

00:08:36   some kind of policy or laws or whatever

00:08:39   surrounding healthcare, and you're using some criteria

00:08:43   other than what, the unfortunate phrase that we have

00:08:46   in this country, which is terrible,

00:08:48   evidence-based medicine, which basically is just medicine,

00:08:51   if you're using anything other than what is best

00:08:56   for your health to make a healthcare decision,

00:08:58   something has gone wrong.

00:08:59   And that's exactly what this issue is.

00:09:01   What would be the best thing to do in this situation?

00:09:03   What does the patient want?

00:09:05   These are the things that should be in question

00:09:07   when determining what course of healthcare to pursue.

00:09:10   Nowhere in there is,

00:09:11   yeah, but what do a bunch of other people think about this?

00:09:14   (laughing)

00:09:15   Oh, I don't care that it has worse outcomes.

00:09:17   And people say like, well, if it's not gonna kill you,

00:09:19   it's fine, let's just wait to see this.

00:09:21   Already, already with this decision,

00:09:23   there's been situations where doctors

00:09:25   have been afraid to do what they know is right,

00:09:27   healthcare-wise, because they're afraid of getting sued

00:09:29   or losing their license because they're in some terrible

00:09:31   state that has terrible trigger laws that took effect

00:09:33   as soon as the Roe v. Wade decision came down, right?

00:09:38   That's not the right decision to make

00:09:40   for the health of the patient.

00:09:41   It's like, well, if they didn't die,

00:09:43   we have to wait until they get worse,

00:09:45   because it has to be only to save the life of the mother,

00:09:48   and the mother's life isn't in threat now,

00:09:50   so let's wait until her life is threatened,

00:09:53   and then we're allowed to do the,

00:09:54   this is not how medicine is supposed to work.

00:09:57   Let's wait until it gets worse

00:09:58   'cause then we're allowed to do the thing.

00:10:00   We could do something now to save her

00:10:01   and it would be the right thing to do,

00:10:03   but actually, some people don't like that.

00:10:05   They're not here, they're not the patient,

00:10:07   but we've decided, these laws have decided for us

00:10:10   that we have to make a decision based on something

00:10:12   other than the best outcomes of the patient.

00:10:15   This is setting aside all the other outcomes

00:10:16   that Mark was talking about.

00:10:17   Women will die, there'll be worse outcomes for everybody,

00:10:20   there'll be worse outcomes for children,

00:10:21   there'll be worse outcomes for mothers,

00:10:23   be worth outcomes for everybody involved. This law and this decision, it runs counter to all that,

00:10:29   so that's terrible. Another thing someone brought up in the chat room, someone was saying like this

00:10:33   is that the Supreme Court didn't, you know, didn't ban abortion, just made it a state's voting issue,

00:10:38   the Supreme Court doesn't, isn't supposed to set the policy for everybody. What the Supreme Court

00:10:42   is supposed to do in theory, in practice, it's very grand, but in theory, is they're supposed

00:10:47   to interpret the laws in light of the sort of foundational, you know, things like the Constitution

00:10:52   or whatever. And the reason that you know that we have a constitution and the Supreme Court is

00:10:58   even if the majority votes I think we should you know bring back slavery and the majority votes in

00:11:03   favor which honestly in this country I sometimes I think it would pass. The Supreme Court has to

00:11:08   be there to say hey actually we have we have existing laws and decisions on the book that say

00:11:12   even if everybody wants this it's not a thing that you can do it's like something easy the

00:11:16   first amendment you know oh I think I should be able to you know set a law that no one's ever to

00:11:21   to say anything mean about me.

00:11:23   Sorry, we have a foundational document

00:11:25   and that will hopefully be correctly interpreted

00:11:26   by the Supreme Court to say no,

00:11:27   even if the majority of the country wants that law,

00:11:31   it doesn't fit with our system.

00:11:32   Abortion is no different.

00:11:34   It's like in the Roe v. Wade decision,

00:11:36   which was decided and then subsequently upheld,

00:11:40   it's part of the right to privacy.

00:11:41   The state can't come and tell you

00:11:42   what can or can't happen to your body, right?

00:11:45   And that's what's been overturned

00:11:46   and it's a terrible decision and hopefully,

00:11:48   like, you know, it's a big step backwards.

00:11:51   It's very easy to tell.

00:11:52   It's like, oh, maybe from the lens of history,

00:11:53   we can tell what was bad or no, you can always tell.

00:11:55   If some group is fighting for rights

00:11:57   and some group is fighting against them,

00:11:59   the people who are fighting against them are always wrong.

00:12:02   It never goes the other way.

00:12:04   It's like, women want these rights, you know,

00:12:06   and gay people want these rights or whatever.

00:12:09   You can tell when you're there.

00:12:10   You don't have to wait 50 years in the future.

00:12:13   So this is obviously a bad decision.

00:12:15   It's taking us backwards,

00:12:16   or you can look at the rest of the world,

00:12:18   or you can look at outcome.

00:12:19   Anyway, it's a bad situation.

00:12:20   We all hate it.

00:12:22   Hopefully things will get better,

00:12:24   and we'll all do what we can to make that happen,

00:12:27   you know, if we still have a democracy

00:12:30   in the next several years.

00:12:32   - I will say too, on that point, which again,

00:12:34   that is a, you know, you might think this is hyperbolic.

00:12:38   I assure you it's not.

00:12:39   This is literally a risk that we have to face.

00:12:42   - Yeah, 'cause it's not like an accidental thing

00:12:43   that's happening to us.

00:12:44   It's a thing that people are doing.

00:12:46   There are groups actively lobbying

00:12:48   that have been lobbying for decades to make this happen.

00:12:50   It's not something that happens accidentally,

00:12:53   or like, whoops, looks like Roe v. Wade went to write.

00:12:55   This has been some people's life's work.

00:12:57   There are active agents trying to drag us backwards.

00:13:01   - Yeah, and there are also active agents

00:13:04   trying to basically give state legislatures

00:13:08   the ability to overturn election results

00:13:11   that they deem quote, suspicious,

00:13:13   which read this as code for we lost.

00:13:17   So if you think there were some shenanigans

00:13:19   with the Trump team suggesting that our whole election

00:13:23   should be thrown out because they lost,

00:13:25   you haven't seen anything yet.

00:13:26   Because there's a whole bunch of stuff going on

00:13:27   at the state levels that's very, very scary.

00:13:30   And so I urge you all, vote in local and state elections,

00:13:34   even if it is not a presidential election year.

00:13:37   Because a lot of this stuff kind of flies under the radar

00:13:40   at times, during elections and at times when

00:13:43   there's not a lot of voter turnout

00:13:45   because it is not a presidential election.

00:13:47   Vote in every single election that you can.

00:13:49   every single one. Vote, make your voice heard. And if you don't follow the particular politicians

00:13:56   at that level, that's fine, most people don't. Vote however you feel is for the party or

00:14:02   people or whatever it is that you think will be least evil because not a lot of people

00:14:08   show up to vote. And so if you do, like on those non-peak elections, it matters. It counts.

00:14:15   And we really have to defend our democracy at all levels, local, state, and federal,

00:14:22   because I'm telling you, those are under significant attack.

00:14:27   And as the upcoming elections are, you know, soon, you know, we have midterms, what, this

00:14:32   year, right?

00:14:33   We have the presidential election in another couple of years, and I'm telling you, it's

00:14:36   going to be rough.

00:14:39   You know, you thought this past election was a little bit rough with the state of our democracy.

00:14:43   I'm telling you, it's going to get worse.

00:14:46   And we have to be ready for that.

00:14:47   And we have to start defending against that

00:14:49   and rolling back some of these terrible things

00:14:52   so that we can literally have a democracy.

00:14:54   Like that's what we're fighting for, among other things.

00:14:56   We have lots of other major issues.

00:14:58   We have this terrible abortion thing.

00:14:59   We have all the gun problems.

00:15:00   We have so many issues, but the foundation of our democracy

00:15:03   is also literally under attack right now,

00:15:06   to the extent that most people don't realize.

00:15:08   So please get out there and vote

00:15:09   in every single election that you can.

00:15:11   - And if you need a voting guideline, here's your guideline.

00:15:14   If someone who's gonna be in charge of the election

00:15:16   says no matter what the people vote for,

00:15:18   they're going to make sure the outcome is one way,

00:15:20   don't vote for that person.

00:15:21   Like, their one job is like, okay,

00:15:24   our state is gonna vote, say, in a presidential election.

00:15:27   And the rule is whoever wins more votes in the state,

00:15:29   you know, gets the electors, and they say,

00:15:32   I'll do that, but only if my favorite person wins.

00:15:34   If my favorite person doesn't win,

00:15:36   I'm going to ignore what you voted for

00:15:38   and decide that my favorite person wins.

00:15:39   There are literally people running on that platform

00:15:41   and winning, they are winning their elections.

00:15:44   They say, "I wanna be in charge of elections in the state,

00:15:46   "and by the way, no matter what happens with the vote,

00:15:48   "I'm going to make sure that my person

00:15:50   "is the person who gets the electors,

00:15:52   "because if my person doesn't,

00:15:53   "it's obviously the election was a scam

00:15:54   "and a fraud and whatever."

00:15:56   Those people are winning elections.

00:15:57   That's why we're all scared here,

00:15:59   because they say they're gonna do that.

00:16:00   It's not a secret.

00:16:01   That's their platform,

00:16:03   and then they get the most votes in the state,

00:16:05   and they're gonna be in charge of the election.

00:16:07   So that's why we're all a little bit scared over here.

00:16:09   - Yeah, it's right out there in the open,

00:16:11   And I will again say, and maybe go a little further,

00:16:14   if you vote for a politician or a political party

00:16:20   that cares more about winning

00:16:22   than about votes being counted properly

00:16:24   and actual democracy happening, you are not an American.

00:16:28   You are anti-American, you are anti-patriotic,

00:16:30   you are anti-democracy.

00:16:32   If you wanna be an American patriot,

00:16:33   here we just celebrated on our birthday,

00:16:34   all the flags and everything,

00:16:36   you know what that flag means?

00:16:37   That means democracy, that means votes counting.

00:16:40   And so if you support any politician or party

00:16:43   that tries to interfere with votes counting,

00:16:46   you are anti-American and might as well

00:16:49   be committing treason as far as I'm concerned.

00:16:51   On that note, let's start our tech show.

00:16:54   - All right, so I talked, we spoke last week

00:16:59   about how I'm now using an M1 Mac Mini as my Plex server.

00:17:03   And a handful of people wrote to say, is that working?

00:17:07   because nobody apparently, not many people apparently

00:17:10   are trying to do this right now.

00:17:12   And so people wanted some feedback.

00:17:15   It is a bit early to tell, I think,

00:17:17   but I will say that I was watching,

00:17:21   or I was attempting to watch something

00:17:23   that was a 4K video in Plex,

00:17:27   but it was encoded in WebM, which is, I think,

00:17:31   what is that, Google? - Google, yeah.

00:17:33   - Kodak or whatever.

00:17:35   The video was encoded in WebM, and it did not want to play on my Apple TV, and Plex

00:17:42   got very upset about the fact that the Mac Mini wasn't transcoding quick enough for it.

00:17:47   That being said, what I did was, because I'm me, I used Don Melton's incredible other video

00:17:53   transcoding scripts--I'll put a link in the show notes--in order to--which is basically

00:17:57   like a front end for ffmpeg and i converted from webm to havc or h265 depending on i think they're

00:18:05   one and the same or at least in this context they're one and the same uh and anyways uh once

00:18:10   i did that i tried again and everything was good to go so if you have i i don't want to make any

00:18:16   like broad statements you know i don't know if all webm is bad i don't know if just 4k webm is bad i

00:18:22   I haven't really done enough testing on all this,

00:18:24   but certainly 4K WebM did not go well for me

00:18:28   against the most recent Apple TV that exists,

00:18:31   which is what, 17 years old now.

00:18:33   So if you're like me and you tend to store things

00:18:38   in H.264 and H.265, I think you'd probably be fine.

00:18:41   But if you are a little bit more omnivorous

00:18:44   and don't really care what things are encoded as

00:18:48   and just try to throw it at Plex,

00:18:49   which is one of Plex's advantages,

00:18:51   then you might be in for a little bit of pain.

00:18:54   So just something to think about.

00:18:56   I'll report in again if I have any other discoveries

00:18:59   of any sort, but it's worth thinking about.

00:19:03   And speaking of M1 things, and in this case, actually M2,

00:19:07   we have gotten a date just earlier today, actually,

00:19:09   we got a date for the M2 MacBook Air

00:19:12   and when Jon will be feverishly mashing the keys

00:19:15   on his old and busted Intel Mac Pro.

00:19:19   John, what are you gonna be doing Friday at 8 a.m.

00:19:22   in the one true time zone?

00:19:24   - Yeah, I'll be ordering my M2 MacBook Air then,

00:19:26   although, you know, with availability things,

00:19:29   especially like, oh, you have to be ready

00:19:30   at 8 a.m. Eastern time, I'm there, I'm ready to order,

00:19:32   I'm ready to click the button.

00:19:33   Does that mean it will be available

00:19:35   on the educational discount store at 8 a.m.?

00:19:37   Or is that gonna be later?

00:19:38   But anyway, I'm still just determined

00:19:40   to order this through the education store.

00:19:41   I did the math to see what the actual discount is,

00:19:44   and it's not great, like I said.

00:19:45   It's not like it used to be

00:19:46   where you get like $1,000 off or something.

00:19:48   It's gonna be like $160 saving on the config I'm getting,

00:19:51   which for people who are curious,

00:19:53   M2 MacBook Air, Space Gray, 24 gigs of RAM,

00:19:57   one terabyte hard drive,

00:19:58   and probably the two hard drive SSD, whatever.

00:20:02   And the power adapter with the two USB C plugs,

00:20:06   the 35 watt two port adapter, that's probably what I get.

00:20:09   And I'm also gonna get AppleCare probably.

00:20:11   Yeah, so that's my plan.

00:20:14   I'll be there at 8 a.m. trying to order this thing.

00:20:17   I'll let you know how it goes.

00:20:19   - Good luck, godspeed.

00:20:20   I really think these things are gonna fly off the shelves,

00:20:22   if you will, 'cause I know a fair number of people

00:20:24   that are queuing everything up, ready to rock,

00:20:27   in order to grab one of these.

00:20:29   And they certainly, from everything I've read and seen,

00:20:31   they certainly seem like they're damn fine computers.

00:20:33   And Marco, I mean, you're the one

00:20:34   who actually handled one briefly,

00:20:36   so you know better than either of us.

00:20:38   But they seem like they're gonna be great machines.

00:20:40   - Oh, I'm still trying to figure out, like,

00:20:42   do I have a use for this thing somewhere in my house?

00:20:44   'Cause I just want one.

00:20:45   - I'm sure I do.

00:20:46   'Cause they're so, I'm telling you,

00:20:48   it feels so good when you pick it up.

00:20:50   It's like, it's so nice, I just don't want one.

00:20:54   - Yeah, I don't blame you, I kinda want one too.

00:20:56   - I actually might, I kinda do have some uses for it,

00:20:59   so I will see. (laughs)

00:21:01   - Here we go.

00:21:02   - I do wish I liked more of the colors better.

00:21:05   Like, if I get one, it would probably be the silver one,

00:21:10   but I'm tempted to go with the midnight,

00:21:13   just 'cause it's different, but I know in practice,

00:21:15   it'll just be like too dark for me.

00:21:17   'Cause I know, I saw it, it was very dark

00:21:19   and it was covered in fingerprints.

00:21:20   So I think in practice I wouldn't like it as much,

00:21:22   but it's at least like new and interesting and different.

00:21:25   It has that going for it.

00:21:27   So honestly, I think if you're buying the MacBook Air,

00:21:29   you can't go wrong with any of the colors it comes with.

00:21:32   Except Space Gray.

00:21:33   - Yeah, I think really folks, the problem is

00:21:36   is that I am the one who has most recently bought a computer

00:21:39   and this is not computing in Marco's world.

00:21:41   And so he needs some reason to be the one

00:21:43   with the newest machine of the three of us.

00:21:45   That's what it boils down to.

00:21:46   - No, I actually, I do actually have some uses

00:21:49   for it potentially, but I gotta figure out

00:21:53   if this is actually the right move for me or not.

00:21:55   - Fair enough.

00:21:56   A quick piehole tip from Todd Weitzel.

00:21:59   - It's never not funny.

00:22:01   - This is probably relevant to four of us,

00:22:03   but there might even be dozens of us.

00:22:06   I noticed a while ago that when I was using Safari,

00:22:10   and Safari specifically, often, well maybe not often,

00:22:13   But occasionally, it would start to load a page

00:22:17   and then just kind of sit and sit and sit.

00:22:21   And I'm on a gigabit internet connection,

00:22:23   and it would sit and sit.

00:22:25   - Have you tried going to the microwave tower thing

00:22:30   for Verizon, ultrafast 5G wireless network,

00:22:32   and have you tried going at two gigabits?

00:22:35   Was it faster?

00:22:36   - No, I have not tried mmmwave for this,

00:22:38   because I think Todd solved my problem.

00:22:40   And so Todd writes, a couple of iOS releases ago,

00:22:42   and for what it's worth, I've seen this on Mac OS.

00:22:44   I noticed Safari would just stop loading pages

00:22:46   after a few tricks or ticks on the blue progress bar.

00:22:50   This wasn't affecting other browsers.

00:22:52   I recently discovered that turning off hide my IP address

00:22:55   in the Safari settings fix this.

00:22:58   My guess, writes Todd,

00:23:00   is that Safari was looking up trackers in DNS,

00:23:02   getting an address from my pie hole,

00:23:03   and then Apple's relay servers were trying to connect

00:23:05   to that private address and timing out.

00:23:07   I have no idea if that theory is right,

00:23:08   But if you go into Safari preferences on the Mac anyway,

00:23:12   it is in the privacy tab,

00:23:14   there is hide IP address from trackers.

00:23:16   And by turning that off,

00:23:18   which I wouldn't generally recommend,

00:23:20   but it did seem to fix the problem for me.

00:23:23   So if you are one of the dozens of people

00:23:25   afflicted by this issue, give that a whirl,

00:23:27   see if it helps.

00:23:27   - We are sponsored this week by WorkCheck,

00:23:31   a new original podcast from Atlassian,

00:23:34   makers of teamwork software like Jira, Confluence,

00:23:36   and Trello.

00:23:38   You know, our workplaces today are changing quickly,

00:23:40   but which of these changes

00:23:42   are actually going to serve us best?

00:23:44   WorkCheck takes workplace practices,

00:23:46   things like agile at scale, off-sites, dogfooding,

00:23:49   and they separate the hype from the helpful.

00:23:52   In each episode, two Atlassians debate

00:23:54   how the practice should be applied, if at all.

00:23:57   And WorkCheck takes your most pressing questions

00:23:59   about the ways that we work together

00:24:01   and hashes out the best arguments on either side,

00:24:03   hosted by Christine De La Rosa,

00:24:05   the ways of working brand lead at Atlassian.

00:24:08   And it's never been more important

00:24:10   to think about this stuff.

00:24:11   A lot of us are staying remote,

00:24:12   a lot of us are heading back to the office.

00:24:13   So this season they're debating some wonderful questions.

00:24:16   One episode they've done is about

00:24:18   wearing pajamas on a Zoom call.

00:24:20   What about what do you wear on the bottom half?

00:24:21   It's out of the frame.

00:24:23   Let's debate that a little bit,

00:24:24   see how it might be affecting your performance at work

00:24:27   and what the history of dress codes can tell us

00:24:28   about where Work Wear is going next.

00:24:31   In another episode, they tackle the four-day work week.

00:24:34   So if you fantasize on Friday afternoons

00:24:36   about the luxury of a three day weekend,

00:24:38   they'd actually debate this and dig into the potentials

00:24:40   and pitfalls of this four day work we scheduled

00:24:43   to be generating buzz around the world.

00:24:44   And they ask, is the grass really greener?

00:24:47   So it's a wonderful podcast.

00:24:49   Check this out.

00:24:50   Go to whatever your podcast app is and look for WorkCheck.

00:24:53   That's what it's called, WorkCheck.

00:24:54   It's an Apple podcast, Overcast,

00:24:56   all the different apps that you might get your podcasts in,

00:24:58   WorkCheck.

00:24:59   We will also include a link in the show notes.

00:25:01   You can find it yourself there.

00:25:02   But once again, it's called WorkCheck by Atlassian.

00:25:05   It's a great new podcast examining

00:25:07   these really cool questions about the future

00:25:09   and present of work.

00:25:10   Thank you so much to WorkCheck for sponsoring our show.

00:25:13   - Buy now, pay later.

00:25:18   Rob Sayer writes, "Without getting into the details

00:25:20   of BNPL and credit cards, the basic game Apple

00:25:22   seems to be playing is that they have much less fraud risk.

00:25:26   That's why the rewards are higher

00:25:27   for phone authenticated purchases.

00:25:29   It's a side effect of having good authentication functions

00:25:31   aside from all the reasons the podcast already mentioned.

00:25:33   There's also a more basic insurance

00:25:35   or financial technology game here

00:25:37   where you poach the lowest risk customers

00:25:39   in exchange for marginally better service.

00:25:41   An iPhone is a good proxy for that.

00:25:43   - Yep, that's the advantage Apple has.

00:25:45   The same thing with CarPlay of like, you know,

00:25:47   whatever it was, 79% of customers saying

00:25:49   they wouldn't buy a car without CarPlay is like,

00:25:51   how is that possible?

00:25:51   79% of the public doesn't have iPhones?

00:25:53   Why would they care about CarPlay?

00:25:55   Ah, but 79% of new car buyers apparently do.

00:25:57   So yeah, Apple's got customers with money

00:26:01   And it's got a fairly good way to authenticate them with all of its biometrics and Apple

00:26:07   ID and security and everything so they can afford to skim a little bit more off the top

00:26:11   for their financial transactions.

00:26:12   And then a little bit more on Bitcode deprecation.

00:26:15   Augie Fackler writes, "I've been working on some LLVM stuff that requires adding functionality

00:26:20   to LLVM IR.

00:26:22   And one of the things that came up in the process was forward compatibility of IR/Bitcode.

00:26:26   As far as any of my mentors know, Apple's the only LLVM user that cares about forward

00:26:30   compatibility of IR, and during my work I noticed that nobody has done the work upstream

00:26:34   in LLVM to keep forward compatibility tests complete since LLVM 8 or 9, which is several

00:26:40   releases ago.

00:26:41   I believe 14 is the current release, with three releases a year.

00:26:45   I wouldn't be surprised if the seeming lack of community interest on the LLVM side forced

00:26:49   some hands at Apple to drop the use of bitcode to ease LLVM upgrades going forward.

00:26:54   Yeah, that's one of those things I forgot to talk about, that LLVM is actually an open

00:26:58   source project and it's not just Apple that gets to decide how things go with the bitcode

00:27:02   thing because it's a whole compiler infrastructure that's under it.

00:27:05   Now you can't tell whether this is, you know, which is the leading indicator and the trailing

00:27:09   indicator.

00:27:10   It could be that there is less activity on the LLVM side because Apple lost interest

00:27:14   in it and they were the major ones doing the contributions to this open source project

00:27:17   and once Apple sort of put that project in the back burner they just let it rot.

00:27:21   On the other hand it could be that Apple had been relying on the community to keep this

00:27:24   up and the community doesn't care about it and Apple did and you got this disconnect

00:27:27   and Apple wasn't willing to invest what was required to keep up to date with all these

00:27:31   tests and either way it's gone by the wayside.

00:27:34   But it's just to show that if you, one of the things that comes with using open source

00:27:39   is, if you're not doing 100% of the development of the features you care about and the community

00:27:45   decides that some feature you care about is not as important to them, you have a decision

00:27:48   to make.

00:27:49   You either let go of that feature and take it out of your product or you decide that

00:27:52   you're going to fully fund the development of it.

00:27:54   In this case, Apple has chosen to let it go by the wayside.

00:27:58   One of you put, probably John in the show notes, a link from friend of the show Glenn

00:28:02   Fleischman, "Why pass keys will be simpler and more secure than passwords."

00:28:06   And I read that earlier today and it's a really good overview of exactly that.

00:28:09   So I don't know if you had more things to add, John, but this article is a pretty good

00:28:12   summary if you were looking for one.

00:28:13   Yep, Glenn has a good way of explaining complicated topics.

00:28:17   It's a long article or whatever, but if you want to know more about it and you still don't

00:28:20   quite understand it, you give Glenn's article a try.

00:28:23   And speaking of past keys,

00:28:24   there are some questions from Janice Pukert.

00:28:26   Apple appears to be very slow

00:28:27   in adopting their own sign-in with Apple solutions.

00:28:29   Past keys appear to be the same.

00:28:31   The dev portal looks like it's stuck in the year 2000,

00:28:34   authentication wise, especially in the dev portal,

00:28:36   you might think Apple would be willing

00:28:37   to roll out these features

00:28:38   to its more technologically adept users.

00:28:40   Why do you think Apple is so weird

00:28:42   about using their own stuff?

00:28:44   - The reason Apple is crappy about this

00:28:45   is the same reason any big company is.

00:28:46   There's always dark corners of the company

00:28:48   that don't get updated with the flagship features.

00:28:52   And I think we've all experienced this,

00:28:53   especially wandering around what used to be called

00:28:55   iTunes Connect, or is now App Store Connect,

00:28:58   and the developer side, and the documentation system.

00:29:00   You'll stumble upon these corners of Apple's web presence

00:29:03   that are so clearly haven't been updated

00:29:05   in years and years.

00:29:06   And they do get updated eventually,

00:29:08   just not as quickly as the more high profile part.

00:29:11   So maybe iCloud.com is likely to look fancy

00:29:14   and get new features or whatever,

00:29:15   but App Store Connect, less so, let's say.

00:29:18   So why is Apple slow about this?

00:29:21   because any big company is slow about this.

00:29:23   It's very difficult to have entire companies

00:29:25   have sort of the same priority of like,

00:29:28   we're gonna roll out this new feature

00:29:29   and it's gonna roll out everywhere

00:29:30   across every single thing that we have on the web

00:29:32   at the same time.

00:29:33   That's just not feasible in a company the size of Apple.

00:29:37   Obviously we wish they did a little bit better,

00:29:38   but I think it pretty much scales with like,

00:29:42   how many people use this webpage?

00:29:43   I bet a lot of people use apple.com and icloud.com

00:29:46   and very few people compared to that use App Store Connect.

00:29:49   and yeah, anyway, I guess developers are more important

00:29:52   than the average person, but whatever.

00:29:54   It doesn't surprise me this is the case.

00:29:58   That said, I haven't,

00:30:00   I mean, the OS that fully supports PAS keys,

00:30:02   the various OSes are still in beta, right?

00:30:05   So I wouldn't expect Apple to be converting

00:30:07   any of its products or services to use PAS keys

00:30:10   until Ventura is out, iOS 16 is out, iPad OS,

00:30:15   until those things all release.

00:30:17   And even then, maybe I'm just pessimistic,

00:30:20   but I wasn't expecting that on the day of release,

00:30:23   suddenly I'll be able to log into the developer portal

00:30:25   or any Apple property using PassKeys.

00:30:28   I don't know who's gonna go first,

00:30:29   maybe Apple will be first,

00:30:30   but I don't think it's gonna be on the day of release.

00:30:31   So I'm still watching for, you know,

00:30:34   if and when PassKeys start to come into my life.

00:30:36   We look at how long it took USB-C

00:30:38   to finally become a thing

00:30:39   that we could have some confidence in,

00:30:40   maybe a little while for PassKeys.

00:30:42   - Too soon, John.

00:30:43   Janice continues, "The documents I read

00:30:45   "mentioned that most services will provide a password

00:30:47   and passkey authentication feature.

00:30:49   Password is there as a fallback.

00:30:50   Doesn't that kind of negate all of the benefits of passkeys?

00:30:53   We still have to generate, manage all the passwords.

00:30:56   -Some discussion of this on Twitter.

00:30:58   The upshot is, like, individual services and sites

00:31:01   can decide what they want to do.

00:31:02   Nothing about passkeys dictates

00:31:04   that they must be the only way to sign in

00:31:06   or that you have to choose one or the other

00:31:08   or you could have multiple, right?

00:31:09   So it's not --

00:31:10   There's no technological answer to this.

00:31:13   It is a policy decision.

00:31:14   I don't know what the most common policy is going to be,

00:31:17   and I don't even know what the best policy is gonna be.

00:31:19   In some ways, especially during the transition,

00:31:21   it may be better to have pass keys

00:31:22   as a sort of convenient type thing

00:31:24   and then sort of have passwords as a backup,

00:31:26   but sort of lock those passwords down real hard,

00:31:28   like so that you never really need to use them or send them

00:31:31   and they can just be, you know,

00:31:32   'cause if you have some passwords in a password manager,

00:31:35   even in iCloud Keychain or whatever,

00:31:36   and they're never actually extracted

00:31:38   and sent across the internet, that's still more secure,

00:31:40   but it is kind of good to be there as a backup

00:31:42   if there are bugs involving pass keys

00:31:44   or if people don't know how to use them yet

00:31:45   There are some issues we haven't discovered.

00:31:48   Or if some site wants to be forward-looking, they can decide when you "convert to PassKey,"

00:31:53   we get rid of your password login and you just use a PassKey.

00:31:55   But there's nothing inherent in any of these technologies, or two-factor, or YubiKeys,

00:32:00   or anything that dictates that you have to use one or the other.

00:32:03   Just like you have websites now where you can log in with lots of different methods,

00:32:06   I think that will continue to be the case, and each website will just have to decide

00:32:09   what the policy they want to use is.

00:32:12   I recently noticed the option to generate app-specific passwords on appleid.apple.com.

00:32:17   The Apple document about this, we'll put a link in the show notes, mentions as an example

00:32:21   use case, "so that the app can access information like mail contacts and calendars that you

00:32:25   store in iCloud."

00:32:26   Why would one want to do such a thing?

00:32:28   The Apple ID is basically the key to anything.

00:32:30   That seems super risky for the benefit it provides.

00:32:33   That being said, it appears one cannot log into appleid.apple.com with an app-specific

00:32:37   password, so maybe it's not blanket access.

00:32:40   This is yet one more authentication method when you're listing all the different ways you can authenticate and login and do stuff

00:32:45   and this one's kind of

00:32:48   here for legacy support if you have some kind of service that needs to be able to

00:32:52   Let's say let's say using Gmail and you want it to be able to check your iCloud email

00:32:57   Back in the day what you could do is you could test tell Gmail your iCloud email address and password

00:33:03   And it would connect to the authenticated

00:33:06   you know mail server and authenticate using the password you told it and pull your mail down

00:33:11   That's obviously not great because now Google and Gmail have your password somewhere stored hopefully securely

00:33:17   But when Apple, you know rolled out two-factor stuff remember that two-step and two-factor that was

00:33:22   Anyway, but an apple rolled out two-factor

00:33:25   Google didn't change its system and Google's thing had no idea about two-factor

00:33:30   So all of a sudden Google couldn't check your mail anymore because it just had your username and your password

00:33:33   would try to log in with them and then it would get bounced off the two-factor

00:33:36   prompt and you would never see that because it's all happening behind the

00:33:38   scenes right and it didn't know how to handle that. There are all standards

00:33:42   built around avoiding this issue like OAuth or whatever but another way that

00:33:46   you can deal with this if you have some kind of service that doesn't have a

00:33:49   fancier more modern authentication method it only accepts username and

00:33:53   password is you can make what's what Apple calls an app specific password

00:33:56   which is a special password that they show you one time and they say here it

00:34:00   is, take it and write it down somewhere or copy it or whatever.

00:34:03   We're never going to show it to you again.

00:34:05   And then it disappears forever.

00:34:07   And you just give that password to Gmail.

00:34:09   And it is not your password to your account.

00:34:11   It is just a password, you would hope,

00:34:13   that just lets Gmail get your email

00:34:15   and doesn't let it do anything else.

00:34:17   GitHub has similar things.

00:34:18   You can choose the various roles and permissions

00:34:22   you want it to have.

00:34:23   So it's a special purpose password

00:34:25   that you give a name like, this is so Gmail can check my iCloud

00:34:28   mail.

00:34:29   And the only thing in the entire internet that has that password

00:34:31   is Gmail.

00:34:32   And the only things, hopefully, it lets you do

00:34:34   are very limited things that you want Gmail to be able to do.

00:34:36   And if it is ever compromised or Gmail ever goes rogue,

00:34:39   you can revoke that one password and stop

00:34:41   Gmail from using it anymore.

00:34:43   This is different than if Gmail had your real password

00:34:45   or if you had done some sort of authentication

00:34:47   where it goes through the two-factor thing.

00:34:49   Because then it would have access to your entire account,

00:34:51   and there'd be no way to revoke it

00:34:52   without changing your whole password, which could mess up

00:34:55   a bunch of the stuff.

00:34:56   So that's why app-specific passwords exist.

00:34:58   They are useful.

00:34:58   have a function in this weird password world we live in,

00:35:01   especially in the age where most good systems require more than

00:35:05   just a username to password and a password to log in. But there

00:35:07   are lots of old things around that only understand how to use

00:35:10   a username and a password. So to let them continue to work, and

00:35:13   to try to limit them to not have as many permissions as you want,

00:35:16   and to be able to individually revoke them. That's why

00:35:19   specific passwords work. We'll put a link in the show notes to

00:35:21   the knowledge base article that from Apple that tries to explain

00:35:24   them.

00:35:24   moving on stateful hardware controls versus software

00:35:28   controls. So where did this come up? This started with the conversation about the Rivian and

00:35:32   I think there was the wipers. We talked about a bunch of other things that have this kind

00:35:37   of disconnection between what does the software think the state of the world is and what is

00:35:40   the hardware showing the state of the world is. So we had several different pieces of

00:35:43   feedback about this. Jordan McEwen writes, "I thoroughly enjoyed your discussion about

00:35:47   how knobs no longer inform state in cars. This has been an idea that has been explored

00:35:51   thoroughly in the live music soundboard arena for many years. The high-end solution is motorized

00:35:55   faders. As you can see in the video that we'll link in the show notes, you can do very sophisticated

00:36:00   programming of the faders just or just mess around. And so there's a link where you see these faders

00:36:06   doing like dances and the wave and things like that. So it's like a bunch of vertical dials on a

00:36:11   soundboard that are doing all sorts of silly things. It's kind of fun. So we'll put that link in the

00:36:15   show notes. Have you ever seen a video like an old style soundboard in a recording studio? It's got

00:36:19   all these sliders like a giant dashboard with just dozens and dozens of sliders, all physical controls.

00:36:24   You know you slide them up and down right and the way they dealt with it is sort of the way that we were talking

00:36:29   About that or whatever that was Buick or whatever dealt with it is now that their software control

00:36:32   They just motorized the fader so if you change a value in software the fader literally moves like the physical control literally moves

00:36:38   So very often you'll see these videos of the faders all going up together or down together or going in a sine wave when you turn

00:36:44   The system on or doing these stuff like that so that is one solution

00:36:47   And if you have a lot of money you want to have physical controls and software control at the same time

00:36:50   Just keep them in sync no problem

00:36:53   No worries. You just need a whole bunch of motors

00:36:55   Right and then Samuel Cohen writes

00:36:58   I thought you might find it interesting to see how the same challenges are manifesting in the slowly modernizing world of guitar amplifiers

00:37:05   I have two digital modeling amps with radically different approaches to their UI and

00:37:10   They were kind enough to include a video where they walk through this exact thing and we'll put a link in the show notes and

00:37:16   Add about what is it was that a little over two minutes in?

00:37:20   There's an example two and a quarter minutes in there's an example of a screen on one of the amps

00:37:25   clearly just

00:37:27   violently disagreeing with one of the knobs on the same amp and that's kind of funny to say the

00:37:31   Great thing is what they put on the screen are tiny pictures of knobs

00:37:34   With indicators where the knobs are but then right next to the screen with the picture of knobs are the actual knobs

00:37:40   But the actual knob now this is a case with like it with a guitar amp like where you don't have the money that they have

00:37:45   For like a professional recording studio to motorize everything because they could have motorized the knobs, right?

00:37:49   But you're trying to sell a guitar amp and you can't make it like a $10,000 guitar

00:37:52   You want to have cheap guitar amps for people too, but you also want software control

00:37:55   So they put pictures of knobs on the screen

00:37:58   Next to the physical knobs because they still want to have physical knobs because you want this one to go to 11 or whatever

00:38:02   And with indicators on them, they're not just knobs that spin together. They're knobs with indicators

00:38:06   They have a beginning and an end right and the way they dealt with this with the one of the amps had like lights on

00:38:11   Them to sort of use a different method sort of like software controlled knobs

00:38:14   But the second one the way they dealt with it is just plain old physical controlled knobs and a screen that can conflict

00:38:18   but if they conflict, if you touch one of the knobs

00:38:21   and move it anywhere in either direction,

00:38:23   the software immediately switches to match the knob, right?

00:38:25   So you can change it in software and the knobs don't move

00:38:27   and then the software is sort of in control,

00:38:30   but the second you touch one of the physical knobs,

00:38:32   that immediately tells the software,

00:38:34   forget what you had before, now take the knob thing.

00:38:37   And that's a reasonable compromise

00:38:38   if you're trying to save money,

00:38:39   because the worst thing you want to happen

00:38:40   is you're playing music

00:38:41   and you need to make an adjustment real quick,

00:38:43   it's much easier to just grab a knob and twist it, right?

00:38:46   And you want that knob to say, look, if I turn this knob,

00:38:48   I don't care what the software says, I'm turning the knob.

00:38:50   The knob should win.

00:38:51   But if you did some careful setup in software,

00:38:53   you want that to win as well until you touch the knob.

00:38:56   So not an ideal solution, but it's a way to,

00:38:59   it's a way to have both systems without breaking the bank

00:39:02   on motorized knobs that, let's face it,

00:39:04   some would probably break anyway.

00:39:06   - Dave Rohenhorst writes, "One contributing factor

00:39:09   to the crash of Air France Flight 447

00:39:12   was the lack of physical indication of the control stick

00:39:15   on the Airbus A330 cockpit,

00:39:17   which acts like the Rivian stalk switch,

00:39:19   which, you know, snapping back to the center

00:39:21   after an input is given.

00:39:23   Thus, the other pilots were not aware

00:39:24   that the copilot was continuing to put in the wrong input.

00:39:27   He was pitching the nose up

00:39:28   while the position of the stick indicated a neutral input.

00:39:31   Had the stick stayed in the pitched up position or location,

00:39:34   it would have been clear what the input was being given.

00:39:36   Furthermore, if both the copilots and the pilot stick

00:39:39   represented the current state of input,

00:39:41   it would have been more obvious to everyone involved.

00:39:43   And this was a really, really terrible accident

00:39:44   that happened just a couple of years back,

00:39:46   probably a few years at this point. And I remember this being a thing and I remember

00:39:49   everyone had a fit about the way Airbus cockpits work on account of this. And I don't know

00:39:53   if any real changes were made. I would assume some sort of change was made, but I still

00:39:58   think the Airbus cockpits are largely the same. I don't know if either of you know.

00:40:01   Sorry, I don't know. That's fine. And then somebody else brought

00:40:04   up something I should have brought up myself. Anton Yelchin's death back in 2016. So this

00:40:09   is the young guy who played Chekhov in the Star Trek reboot and reading from an NBC News

00:40:15   article, "The actor was pinned against a gate by what sources told NBC News was one of the

00:40:21   Jeeps involved in the safety recall. The vehicle was a 2015 Jeep Grand Cherokee, an SUV recently

00:40:26   recalled because of problems with its electronic shifter. Fiat Chrysler Automobiles recalled

00:40:30   three different models and a total of 1.1 million vehicles in April following an investigation

00:40:34   by the National Highway Traffic Safety Administration. The agency found the shifter could confuse

00:40:38   motorists by not giving clear feedback as to what gear the automatic transmission was

00:40:42   If I recall correctly, and I might have this wrong,

00:40:44   this was one of the first like dial transmissions, and so--

00:40:47   - No, it was like a knob, kind of like the yoke

00:40:49   on the Airbus thing, where like it would just return

00:40:52   to middle, no matter, there are ones like this,

00:40:54   they're more like little switchy things,

00:40:55   but it looked a lot like a PRNDL, you know, move the thing,

00:40:58   but the thing is this one, you would press it,

00:40:59   and when you let go, it would just spring back to middle,

00:41:01   just like the Rivian stalk, and just like the controls

00:41:03   on the Airbus, and in that case, if you look at it,

00:41:07   there's no clear indication whether the car is in drive,

00:41:09   reverse, or whatever, because it just always,

00:41:11   It's always just vertical, right?

00:41:14   So yeah, it is an anti-pattern with--

00:41:17   I don't want to say that having wiper controls that

00:41:21   spring back to middle is going to kill somebody, right?

00:41:23   But this whole thing about having hardware

00:41:26   that is not stateful anymore when previously it used to be

00:41:29   can actually have life and death consequences in big ways

00:41:33   and small.

00:41:33   So it is something worth considering

00:41:35   when designing car interiors, because cars

00:41:37   are very big, heavy things that can actually kill people.

00:41:40   I didn't realize it was one of the stock ones.

00:41:41   And as soon as you described it, what you're basically

00:41:43   describing is every BMW automatic that I've seen for

00:41:46   the last several years.

00:41:47   And almost all of them use the ZF8 speed, which is a

00:41:51   transmission that I actually really like, despite being a

00:41:53   pure-blood automatic.

00:41:54   And sure enough, the Jeep Grand Cherokee from the 2014

00:41:58   through 2022 model years uses a ZF8 speed.

00:42:01   So I don't have a picture in the Wikipedia entry that I put

00:42:05   in the show, and I don't have a picture of the gear shift

00:42:07   that I typically see.

00:42:08   but the gear shift that I saw in BMWs

00:42:11   was almost identical to the one

00:42:12   that the Alfa Romeo's I tested had.

00:42:14   I mean, it was maybe, maybe it was lightly different,

00:42:17   but it looked almost identical, so.

00:42:19   - And it's not the transmission to be clear.

00:42:20   It's not the transmission that's faulted

00:42:21   because it's electronically controlled transmission.

00:42:23   It's fine, it's the controls that you hook up to the wires

00:42:26   that tell the transmission what gear to be in

00:42:27   because you can do those controls

00:42:28   in lots of different ways.

00:42:29   And I think in this particular case with the car thing,

00:42:32   the worst combination is a control

00:42:34   that looks like a mechanical thing, but isn't.

00:42:38   I think more of the modern ones don't look anything

00:42:40   like old transmissions.

00:42:41   Like there's no expectation that you can look at them

00:42:43   and see like a lever shoved in one position or another

00:42:46   to give you some reassurance about what gear it's in.

00:42:48   If you make it look like the old kind

00:42:50   where you could see where the lever is

00:42:52   and know what gear it's in,

00:42:53   people are going to assume that's how it worked.

00:42:55   But if you make it look totally different,

00:42:57   no one will look into the console or dashboard of your car

00:43:01   and expect to be able to tell what it's in.

00:43:03   Very often you can't tell what it's in

00:43:05   because they just have a bunch of buttons

00:43:07   And unless the car is on and something lights up

00:43:10   and says a D or an R, there's no expectation

00:43:12   that you know what gear it's in.

00:43:14   So you're not lulled into a false sense of confidence.

00:43:16   I think that is the problem in particular

00:43:17   with these first set of electronically controlled

00:43:19   transmissions where the thing that you touch with your hand

00:43:22   looked just like the old style,

00:43:23   but they worked nothing like it.

00:43:25   - We are sponsored this week by Instabug.

00:43:29   Building and maintaining mobile apps is not simple.

00:43:32   Bugs, crashes, and performance issues

00:43:33   can be a nightmare for developers like me.

00:43:36   What if you could not only detect and dissect these issues,

00:43:39   but also get a holistic understanding

00:43:41   of your app's performance?

00:43:42   With Instabug, you can.

00:43:44   Through comprehensive bug and crash reports,

00:43:47   performance monitoring, and real-time user feedback,

00:43:49   Instabug gives you the visibility you need

00:43:52   to build top quality apps.

00:43:53   You can observe and fix issues like UI hangs,

00:43:56   slow app launches and screen loads, network failures,

00:44:00   and anything else that may be affecting

00:44:01   your user experience.

00:44:03   You can get a quick read on their impact on your users

00:44:06   and access all of the granular data relevant to the issue

00:44:08   in seconds.

00:44:09   So you can prioritize, assign, and debug

00:44:12   before your next update.

00:44:14   It only takes a minute to integrate Instabug's SDK

00:44:16   into your app, and it fits right into your workflow

00:44:19   with integration support for tools like Jira, Slack, Trello,

00:44:22   GitHub, Zendesk, and many more.

00:44:24   So stop flying blind on your mobile app issues.

00:44:28   Try Instabug today.

00:44:30   Go to instabug.com and get the visibility you need

00:44:33   to start delivering superior app performance

00:44:35   and better user experience.

00:44:37   That's instabug.com.

00:44:39   Thank you so much to Instabug for sponsoring our show.

00:44:42   (upbeat music)

00:44:46   - Breaking news, do do do do do do do.

00:44:48   Lockdown mode is a thing that is coming in iOS 16.

00:44:52   Apple put up a newsroom release today.

00:44:55   We had not heard about this previously, right?

00:44:57   We had heard about the like,

00:44:59   I don't want this person to know anything about me.

00:45:01   What was that from WBC? - Right, safety check,

00:45:03   I believe, is that right? - Dad, yes, thank you,

00:45:04   thank you.

00:45:05   But lockdown mode, I believe, is brand new.

00:45:07   So reading from their press release,

00:45:09   Apple's previewing a groundbreaking security

00:45:11   capability that offers specialized

00:45:12   additional protection to users who

00:45:13   may be at risk of highly targeted cyber attacks

00:45:16   from private companies developing state-sponsored

00:45:18   mercenary spyware.

00:45:20   Apple's also providing details of its $10 million grant

00:45:22   to bolster research exposing such threats.

00:45:24   At launch, lockdown mode includes

00:45:26   the following protections.

00:45:27   For messages, most message attachment types

00:45:29   other than images are blocked.

00:45:30   Some features, like link previews, are disabled.

00:45:32   For web browsing, certain complex web technologies,

00:45:35   like just-in-time JavaScript compilation are disabled

00:45:37   unless the user excludes a trusted site from lockdown

00:45:40   mode.

00:45:41   Apple services, incoming invitations and service

00:45:43   requests, including FaceTime calls,

00:45:45   are blocked if the user has not previously sent the initiator

00:45:47   a call or request.

00:45:49   Wired connections with a computer or accessory

00:45:51   are blocked when the iPhone is locked.

00:45:52   I actually thought that was true already, to be honest with you,

00:45:55   but I guess not.

00:45:56   Configuration profiles cannot be installed,

00:45:58   and the device cannot enroll in mobile device management

00:46:00   while lockdown mode is turned on.

00:46:02   And it says Apple will continue to strengthen lockdown mode

00:46:04   and add new protections to it over time.

00:46:06   We don't have it in the show notes,

00:46:07   so I'm gonna have to stall as I dig up the quote,

00:46:10   but I also noticed that they said that,

00:46:13   "Apple's also making a $10 million grant

00:46:15   "in addition to any damages awarded

00:46:16   "from the lawsuit filed against NSO Group

00:46:18   "to support organizations that investigate,

00:46:20   "expose, and prevent highly targeted cyber attacks,

00:46:22   "including those created by private companies

00:46:24   "developing state-sponsored mercenary spyware."

00:46:26   So they're saying if they win their lawsuit

00:46:28   against NSO Group, all the money that NSO Group

00:46:30   is gonna pay them is going into this fund

00:46:34   as pretty much a big you back to NSO group.

00:46:36   So I thought that was quite funny and not a bad idea.

00:46:40   - Yeah, that's delightful.

00:46:41   - It's kind of juvenile, but I'm here for it.

00:46:46   But anyways, this lockdown thing, they say in the post,

00:46:49   like this is not for normal people.

00:46:52   It is an extreme, this is reading from it,

00:46:54   an extreme optional protection

00:46:55   for the very small number of users

00:46:57   who face grave targeted threats to their digital security.

00:47:00   So what they're basically saying is

00:47:02   if you're like a journalist in certain countries,

00:47:04   maybe America, not too long,

00:47:06   if you're perhaps a particular celebrity

00:47:10   or a person in government, then this might be for you.

00:47:13   But for the three of us, not worth it.

00:47:15   - Well, is it not?

00:47:17   So when you look at the actual list of protections,

00:47:22   I kinda like this.

00:47:23   And I think the only thing that I think

00:47:26   would really get in my way was that it said

00:47:29   that you basically can't participate in shared albums and photos. Other than that, the rest

00:47:35   of this stuff kind of sounds like I would actually turn this on.

00:47:38   I think you would be annoyed about websites going slower because the JIT is disabled in

00:47:42   JavaScript, and I think the messages thing would be really annoying.

00:47:45   How much slower could it be?

00:47:46   I want to bring this up again because we talked about it last time, and it's just good to

00:47:51   keep in people's minds if you're not used to thinking about it this way because a lot

00:47:53   of people have kind of, you know, very sort of binary thinking on security.

00:47:59   Security is always a trade-off between security and convenience, right? And this

00:48:04   is giving you a different place on that continuum. You are sacrificing some

00:48:08   convenience in exchange for some additional security. The difficulty with

00:48:13   any of these things where you're where you're asking people to give up

00:48:17   convenience is it's very easy for people to get frustrated by just one aspect of

00:48:20   this and say, well, I tried it, but this one part of it annoyed me, right?

00:48:24   Because I, you know, I tried to do a thing and I realized the reason I couldn't do

00:48:27   it because I was in lockdown mode or I'm tired of tapping a second time to get

00:48:31   through to a link to find out what it is.

00:48:33   I liked it better when I could see them in line.

00:48:34   People will go back on a higher security setting

00:48:39   very quickly for the smallest inconvenience.

00:48:42   But all security policies are a tradeoff between security and convenience.

00:48:46   And so having a mode that is farther up the line

00:48:49   for people who really, really need it is good.

00:48:52   But to Marco's point, you look at this

00:48:54   and you kind of wish you could pick and choose.

00:48:56   Well, I would like that one, but this one would annoy me.

00:48:58   But I like that one, but I, you know,

00:49:00   there was some debate on Twitter when this came out

00:49:02   between some people saying,

00:49:03   shouldn't this just be for everybody?

00:49:05   Like, why wouldn't everybody want this?

00:49:06   And people were saying, well,

00:49:07   but I would find it inconvenient.

00:49:08   But what about this?

00:49:09   And it's like, you can look at some of these things

00:49:10   and say, you know, like,

00:49:12   should there be two tiers of security?

00:49:14   Like, why isn't this, why shouldn't everybody need this?

00:49:16   Because, you know, there's a debate of whether, you know,

00:49:19   who is an extra threat, right?

00:49:21   It's only important when a politician gets hacked,

00:49:24   but everybody is an equal threat

00:49:25   if some rootkit hack is out there

00:49:28   and script kiddies are running it all over the place

00:49:29   or whatever, but I think it is true

00:49:32   that people have different assessments

00:49:34   of what are the consequences of my phone getting hosed.

00:49:37   If you are an important person in government

00:49:39   or a journalist in a hostile environment,

00:49:42   the consequences could be life and death,

00:49:43   whereas if you're just a regular citizen

00:49:45   and someone hacks your phone,

00:49:46   the consequences is you have to cancel

00:49:48   a bunch of credit cards and maybe you'll lose

00:49:49   a little bit of money or whatever, right?

00:49:51   And then the probability, who's targeting you?

00:49:54   You can use the big sky theory where there's

00:49:56   a zero day hack out there, but there's also millions

00:49:58   of possible victims and you're just one of those millions

00:50:01   versus you being a head of state and you know

00:50:03   that there are entire countries focusing on you

00:50:05   like a laser beam all the time trying to get in.

00:50:08   So I think it is appropriate to have,

00:50:10   to give people different levels of security

00:50:14   based on how much convenience they're willing to give up.

00:50:16   And lockdown mode is a step in that direction.

00:50:19   But I think we will be able to look at the list of things

00:50:22   that lockdown mode does and says some of these

00:50:23   should probably graduate to be the defaults,

00:50:26   but it's not clear which ones quite yet, right?

00:50:29   Obviously, doing this doesn't mean Apple

00:50:32   is ignoring security for regular users.

00:50:33   Apple is constantly doing tons of things for security.

00:50:36   Almost everything you see here listed,

00:50:37   messages, web browsing, all the Apple services,

00:50:41   they're constantly doing things to improve the security

00:50:43   of all of that stuff.

00:50:45   what used to be possible with wired connections to your phones versus what is

00:50:48   now to Casey's point,

00:50:49   he thought this was already the case because they have locked down the wired

00:50:51   connections. This is just one step up from what is the default for everybody.

00:50:55   So I think it's a move in the right direction,

00:50:56   but I think I would like to see some of these things graduate to be the

00:51:00   defaults.

00:51:01   As long as we can get the convenience security trade-off correctly balanced for

00:51:05   normal people.

00:51:05   Out of curiosity as just a little experiment,

00:51:09   and this might not be very interesting, but if you guys have your phones handy,

00:51:13   would you go into Settings, General,

00:51:16   VPN and Device Management, and let me know if,

00:51:19   you don't have to be specific about what they are,

00:51:21   but do you have configuration profiles there?

00:51:23   - Yes, I do not.

00:51:24   - Okay, so for me, I have CharlesProxy,

00:51:27   which is, you know, so I can sniff network traffic,

00:51:30   which I do very rarely, but I do from time to time.

00:51:32   And FastMail offers you,

00:51:34   and I think you can configure it manually,

00:51:35   but it offers a way to just have everything

00:51:38   pretty much automatically configured

00:51:39   by way of downloading a profile.

00:51:40   So that's the two that I have.

00:51:42   Marco, if you're willing to share,

00:51:43   I'd love to hear what you have there.

00:51:44   If you would rather, for ops-tech reasons,

00:51:46   not share, that's totally fine.

00:51:48   - No, it's super boring.

00:51:48   I have the fast mail one for the same reason.

00:51:50   I have on past phones, configured them with the IMAP

00:51:53   and SMTP passwords and everything.

00:51:54   You can still do that, but the configuration profile

00:51:56   is just a faster way to do that.

00:51:58   And I also have the iOS 16 beta profile from Apple.

00:52:02   (laughing)

00:52:03   So super boring.

00:52:04   - Yeah, 'cause the reason I bring that up

00:52:05   is 'cause I thought there was a time that fonts

00:52:08   came in as configuration profiles or something like that.

00:52:10   - That can be done.

00:52:11   I don't think that has to be done that way anymore,

00:52:13   but that is a way they could be done.

00:52:15   - All right, well I was just curious,

00:52:16   'cause I feel like in the past,

00:52:19   I have had more things here

00:52:21   than simply the two that I have now.

00:52:24   I might be thinking of MDM,

00:52:26   like when I had work email on my phone,

00:52:28   and maybe MDM shows up there.

00:52:30   I'm talking a bit outside my comfort zone now,

00:52:32   but I was just curious.

00:52:33   - I was gonna say, I kinda hope not.

00:52:34   You shouldn't have a lot of these things.

00:52:36   I mean, the thing is, a lot of people do,

00:52:37   Like, oh god, so somebody else who lives in my house

00:52:42   has a highly customized home screen.

00:52:46   - Oh my.

00:52:47   - And the way this was achieved was in part

00:52:50   with a configuration profile.

00:52:52   - What?

00:52:53   - And when I saw that I was like, oh no,

00:52:55   what is going on here?

00:52:56   And I listened to it and it's fairly innocuous,

00:52:59   but it's something that shouldn't be.

00:53:01   - That's why, seeing how this is on the list

00:53:04   of like, oh lockdown mode doesn't allow MDM profiles.

00:53:07   and you're like, is that a big problem or whatever?

00:53:10   As we discussed on past shows,

00:53:11   these MDM profiles give abilities to do things

00:53:14   that you can't really do any other way.

00:53:17   And tons of things are constantly throwing come ons

00:53:20   at regular people to say,

00:53:21   you want this cool thing on your phone?

00:53:23   Just install this profile, right?

00:53:25   And it's the thing you should really talk

00:53:26   to your kids about.

00:53:27   If anything ever asks you, just install this profile

00:53:28   or do this thing.

00:53:29   Like, say no.

00:53:30   Now it doesn't mean they're all scams

00:53:32   'cause they legitimately give you abilities

00:53:34   to do things that you couldn't do otherwise

00:53:35   or there would be more cumbersome to do.

00:53:37   That's why things are always prompting you to do them.

00:53:39   And I think it should be a signal to Apple

00:53:41   for the legitimate uses that people are using

00:53:43   MDM profiles for, like build clean hooks into the OS

00:53:46   to do that so people can stop doing that.

00:53:48   But that's why they're just blanking this out

00:53:50   because if you're gonna social engineer your way

00:53:52   into someone's phone, getting them to install

00:53:55   one of these MDM profiles, either willingly install it

00:54:00   by convincing them, hey, you need this

00:54:01   to play this cool game, or getting them

00:54:03   to accidentally install it by tapping a thing of messages

00:54:05   and exploiting a thing or whatever,

00:54:06   it's a very common vector.

00:54:08   And so this, I mean, obviously the solution

00:54:10   is not just banning them entirely

00:54:12   because you actually need them for enterprise stuff

00:54:13   or whatever, but this is a weak spot in iOS.

00:54:16   And the lockdown solution is no,

00:54:18   you just can't have any of those,

00:54:19   that you can't install them period, right?

00:54:21   It doesn't say you can't have them,

00:54:23   it just says you can't install a new one.

00:54:24   And honestly, that's probably the correct default setting

00:54:27   for everybody.

00:54:28   This is one of those things that I think should be

00:54:29   the default for everybody.

00:54:30   By default, no one has any profiles installed,

00:54:32   But it's really easy to encounter something on the internet

00:54:36   that asks you to install it, and that you want to do it.

00:54:39   You want to install it,

00:54:40   'cause you just wanna do the thing, right?

00:54:42   And there needs to be better protections here.

00:54:44   This is kind of an area of ongoing work,

00:54:47   let's say, in iOS security.

00:54:49   - Whenever I see stuff like this,

00:54:51   I'm always, like, all these very popular apps

00:54:54   that require a configuration profile for some feature,

00:54:57   and it's like, I'm always surprised it's allowed by Apple.

00:55:01   It always seems like the potential for problems there

00:55:05   is quite high.

00:55:06   Now I think Apple's argument there would be like,

00:55:08   well App Store can review it and see what it does

00:55:10   and everything and the problem is that I'm sure that applies

00:55:14   in the same way that every other App Store rule applies.

00:55:16   Yeah, maybe they review some of them some of the time

00:55:18   but a lot of stuff still can get through

00:55:20   or things can be changed after the fact

00:55:22   or a lot of stuff can just slip by a reviewer here and there

00:55:25   or the rules aren't applied evenly.

00:55:27   So App Review is not the main security there

00:55:30   And so installing a configuration profile,

00:55:33   in many cases they're allowed to bypass

00:55:36   other security measures on the phone

00:55:38   that you expect to be there.

00:55:39   Apple does a pretty good job of keeping

00:55:40   this reasonable under control,

00:55:42   but that's another level of security.

00:55:43   It's like an app asking you for your root password

00:55:46   on your Mac.

00:55:47   Like whenever it pops up that dialog and it's like,

00:55:48   "Hey, we need your root password to install something."

00:55:50   You're like, "You should think like, why?

00:55:53   "Why do you need my root password to install something

00:55:56   "for this like calculator app?"

00:55:59   Like this probably is not a legitimate request, right?

00:56:01   You know, same thing should apply

00:56:02   to configuration profiles on your phone.

00:56:04   Like treat it like it's your system root password.

00:56:06   Like, you know, do I really need

00:56:08   to give this app root access?

00:56:10   And you know, it isn't quite the same thing technically,

00:56:12   but it should be considered in the same ballpark

00:56:15   of suspicion and conservatism.

00:56:18   We are sponsored this week by Squarespace,

00:56:22   the all-in-one platform for building your brand

00:56:25   and growing your business online.

00:56:27   With Squarespace you can stand out

00:56:29   with a beautiful website, you can engage with your audience,

00:56:31   and you can even sell anything, your products,

00:56:34   your content, even your time, all with a Squarespace site.

00:56:37   Squarespace sites are super easy to make.

00:56:39   It is a gloriously simple platform.

00:56:41   Everything is visual, everything is live previewing,

00:56:44   there's no coding anywhere.

00:56:46   You don't have to know how to run servers

00:56:48   or update security things or anything like that.

00:56:50   Squarespace takes care of all of that for you.

00:56:53   And you can make all sorts of sites with Squarespace,

00:56:54   especially now, you can make storefront sites.

00:56:57   And this ranges from everything from

00:56:59   physical product sales, which actually my wife does

00:57:01   and she loves it,

00:57:02   digital product sales,

00:57:03   you can even have membership.

00:57:05   You can have member content,

00:57:06   monetize your content and expertise,

00:57:08   however might fit your brand.

00:57:10   You can unlock new revenue streams for your businesses,

00:57:12   free of time in your schedule.

00:57:13   You can sell access to gated content like videos,

00:57:15   online courses or newsletters.

00:57:17   Or you can of course sell products in an online store,

00:57:20   whether you sell physical or digital products.

00:57:22   Squarespace has all the tools you need

00:57:23   to start selling online.

00:57:25   You can have email campaigns on Squarespace.

00:57:27   All of this is backed up by an amazing platform.

00:57:30   You don't have to worry about servers and markup

00:57:32   and upkeep and CSS and any of that stuff.

00:57:35   They have everything covered for you.

00:57:37   They have great support if you need it.

00:57:39   And I'm just telling you, it's so easy

00:57:41   to make a Squarespace site.

00:57:42   Anybody can do it.

00:57:43   I've used it myself.

00:57:44   I recommend it to as many people as I can.

00:57:45   So, go to squarespace.com/ATP.

00:57:48   You can start a free trial and actually build the site

00:57:51   and see exactly for yourself how you like it

00:57:53   in a free trial, no credit card required.

00:57:55   When you decide to sign up

00:57:56   and you're ready to launch your site,

00:57:58   use offer code ATP to save 10% off your first purchase

00:58:01   of a website or domain.

00:58:02   So once again, squarespace.com/ATP

00:58:05   to start that free trial and use offer code ATP

00:58:08   when you sign up for 10% off your first purchase

00:58:10   of website or domain.

00:58:11   Thank you so much to Squarespace for sponsoring our show.

00:58:14   - All right, there was,

00:58:19   there've been a lot of ruffles about and issues

00:58:22   with regard to this M2 MacBook Pro,

00:58:25   my favorite computer ever.

00:58:27   But MaxTech, a YouTube channel

00:58:31   that we've brought up several times in the past,

00:58:33   they did an extreme stress test

00:58:36   and they exported 8K RAW to 4K HEVC,

00:58:40   trying to max out both the CPU and the GPU.

00:58:42   And they found that the M1 MacBook Pro was GPU limited,

00:58:46   that's the M1, mind you, and did not throttle.

00:58:48   And the fans did not hit maximum RPM.

00:58:51   the M2 hit 108 degrees Celsius with the fans at maximum RPM,

00:58:56   and then had to thermally throttle

00:58:59   to get things back under control.

00:59:00   So in other words, the fans weren't enough

00:59:03   to cool the processor down,

00:59:05   and the processor couldn't be that hot.

00:59:07   So the only choice it had was to choose to operate

00:59:10   more slowly until it was able to cool itself down.

00:59:14   And then it would say, "Oh, I'm cool now.

00:59:15   Let me ramp back up and operate fast again."

00:59:17   And then the fans scream, and then it gets too hot,

00:59:20   then it cools back down and you know, it slows down,

00:59:22   it cools back down, this whole thing just starts again.

00:59:24   And so MaxTech found that the M2 was still 10% faster

00:59:27   than the M1 MacBook Pro.

00:59:30   And without thermal throttling,

00:59:31   the M2 GPU can be up to 35% faster

00:59:34   and the M2 CPU can be up to 18% faster.

00:59:37   But apparently the thermals on the inside of this thing

00:59:40   are not good.

00:59:41   - Before we get to some more opinions on that,

00:59:43   just to lay out what was put in this video,

00:59:46   if you watch it to see the thing,

00:59:47   they're picking an extreme test.

00:59:49   Like they're trying to find something that will, you know,

00:59:51   light up every part of the system on a chip

00:59:53   at the same time, which is hard to do

00:59:54   in regular workloads, right?

00:59:56   But apparently they did find one and you know,

00:59:59   you could watch it, you can watch the results.

01:00:00   They have these tools that they're measuring the clock speed

01:00:02   and you can watch the clock speeds just drop in half

01:00:04   or a quarter, like really hard thermal throttling with,

01:00:08   again, with the fans going at max, right?

01:00:10   But despite all of that, it's still being 10% faster.

01:00:13   It's like, well, it's not great,

01:00:15   but you know, your M2 was still faster

01:00:18   and you were trying to find an extreme workload

01:00:21   that most normal people aren't going to have.

01:00:22   So anyway, take that for what it's worth.

01:00:25   But then there's some debate about this result

01:00:27   because some people have not been able to reproduce

01:00:29   in particular Gary from the Everyday Dad YouTube channel

01:00:32   tried to do the same test with an M2 MacBook Pro

01:00:35   rendering 8K Canon raw footage for 15 minutes straight.

01:00:37   So he said, no fans, no high temps, no anything.

01:00:40   So I think the jury is still out on this.

01:00:43   What I think about it is if it's thermal throttling

01:00:48   and getting super hot, but it's still faster,

01:00:50   that's not ideal and a better cooling system

01:00:53   would be better, but one of the things we know

01:00:54   about the M2 MacBook Pro is it's just the old computer,

01:00:57   like to the point where they put stickers

01:00:59   over the boxes of the old computer,

01:01:01   right, we didn't make new boxes.

01:01:03   It's the old computer, it's the old case,

01:01:05   it's the old single fan cooling,

01:01:07   I mean it's not exactly the same cooling solution,

01:01:09   but it's like, they didn't completely redesign this.

01:01:11   The form factor is the same,

01:01:14   and the innards are very similar.

01:01:16   And on this particular M2 MacBook Pro

01:01:19   that MaxTec was testing,

01:01:20   apparently that cooling solution was not adequate

01:01:22   when everything is maxed out.

01:01:24   And we'll see in the coming days and weeks

01:01:27   if people can reproduce this result,

01:01:28   if it's widespread,

01:01:29   if it's specific to the one test that they were doing

01:01:33   or if other people can reproduce it.

01:01:34   But I was kind of amazed

01:01:35   that even with massive thermal throttling

01:01:37   and incredibly high temperatures, it was still faster.

01:01:40   So it's pretty weird.

01:01:42   But we'll keep an eye on this.

01:01:44   If you're looking for yet another reason

01:01:46   not to buy this computer, here's one.

01:01:48   And to Marco's point from several shows back,

01:01:52   what about the Air?

01:01:52   The Air doesn't even have a fan

01:01:54   and it's got the same chip in it.

01:01:56   You know, is that gonna thermal throttle and how badly?

01:01:58   Now, obviously with the Air it's less important

01:02:00   because no one is buying the Air

01:02:02   for maximum CPU performance.

01:02:03   You want it to be thin and lightweight and silent

01:02:05   and hopefully cool.

01:02:06   And maybe that's not the best machine

01:02:08   for you to run your 8K raw renders on all the time, right?

01:02:13   maybe get an actual MacBook Pro for those purposes.

01:02:16   But if this modified five nanometer,

01:02:21   a slightly bigger, slightly hotter M2

01:02:24   does have thermal limits even with a fan on it,

01:02:26   what is it gonna be like with no fan?

01:02:28   I guess we'll all find out when we get our MacBook Airs.

01:02:30   And I'm still ordering mine day one

01:02:32   because my son is gonna be using it

01:02:34   as a glorified terminal emulator

01:02:37   or running Google Docs in Chrome or whatever,

01:02:40   like not rendering 8K raw footage, right?

01:02:43   So I think for normal uses, it will continue to be difficult to make these things hot and

01:02:48   make them make any noise just because it's a very cool system on a chip.

01:02:52   We kind of know the power draw that it pulls and it's around 20, 25, 30 watts, which is

01:02:58   within a reasonable envelope for fanless cooling.

01:03:00   Is it?

01:03:01   And it's going to be much lower than that in day-to-day usage.

01:03:05   Actually I should find this link for the notes.

01:03:07   There was a hardware unboxed review that also did a comprehensive review comparing the M2

01:03:12   MacBook Pro to Intel laptops.

01:03:15   This is a very Windows-centric channel,

01:03:17   so keep that in mind.

01:03:19   They're showing this to the audience.

01:03:20   In fact, they had a segment that said,

01:03:22   "But what about macOS?"

01:03:23   Well, a survey of our listener shows that 80%

01:03:25   would want to use Windows.

01:03:26   Like, all right, well, you're a Windows,

01:03:28   that makes perfect sense, right?

01:03:29   If you want a Windows laptop,

01:03:31   the person was actually kind of disappointed

01:03:32   that there wasn't a better way to run Windows on it,

01:03:34   so I feel that, right?

01:03:35   But the important spec for where this is concerned is

01:03:39   It was showing how little power the M2 uses when you're doing single core tasks.

01:03:45   It's so incredibly energy efficient when you just are using one core, like for non-paralyzable

01:03:52   workloads.

01:03:53   And most of the time when you're just putting around your computer, scrolling a web page

01:03:56   or typing in Microsoft Word, you're not going to be lighting up all the cores or all the

01:04:00   GPUs doing anything.

01:04:02   And a single core blipping on for a second to handle what you're doing is mostly what

01:04:05   it's doing.

01:04:06   compare that to the power usage of the competitive spec-wise Intel things and they're using like

01:04:13   20, 30 watts when a single core is going and the M2 is using 8 watts, right? So,

01:04:18   you know, the M2 still has a huge lead when it comes to efficiency, performance for watt

01:04:27   and in particular performance when it is not plugged into the wall because a lot of these

01:04:31   Intel laptops, to get the maximum performance to even be competitive with the M2, they need to

01:04:36   to be plugged in as soon as you unplug them,

01:04:37   they all ramp down in speed, right?

01:04:39   So I still think the M2 SoC is pretty good

01:04:41   and even in the M2 MacBook Pro,

01:04:44   it's still head and shoulders above the competition.

01:04:46   It's just that case is old, there's no mag safe,

01:04:49   it's got a touch bar and the cooling solution

01:04:53   may or may not be inadequate.

01:04:55   - Yeah, what I'm mostly curious to see here,

01:04:58   first of all, was this just a fluke?

01:05:00   You mentioned people had trouble reproducing it.

01:05:02   That's, in my opinion, a good sign.

01:05:04   That means maybe this is just a fluke.

01:05:06   But what we need to see when we get the new reviews

01:05:09   of the MacBook Air, and honestly,

01:05:11   if pre-orders are opening up in two days,

01:05:14   we should get the reviews tomorrow.

01:05:16   So, and as this episode is released today,

01:05:19   Thursday morning, as I'm editing this episode,

01:05:23   chances are the press reviews will probably drop

01:05:25   if there were press reviews on the regular schedule

01:05:27   for this product.

01:05:29   So we'll see, maybe, I don't know if any of the press

01:05:31   will do this kind of testing, who got review units,

01:05:34   who knows, but what we need to see

01:05:36   when we actually get these things in people's hands

01:05:38   with the Air is, is it actually pulling 30 watts

01:05:42   total package power and trying to cool that passively?

01:05:44   'Cause that's quite a large thermal load, I think,

01:05:47   to try to cool passively when you compare

01:05:49   the total package power to previous fanless laptops.

01:05:54   I think that's significantly more than them,

01:05:58   so we'll see, maybe I'm wrong,

01:05:59   but I think that seems like a lot.

01:06:02   There's also the potential that maybe the M2

01:06:05   in the MacBook Air will be clocked lower

01:06:08   or will have different thermal maximums

01:06:11   before it throttles its speed down

01:06:14   compared to the models with fans.

01:06:15   We don't know.

01:06:16   Until now, all the M1 products, as far as I know,

01:06:21   seem to be all clocked the same

01:06:22   or at least very, very close to the same.

01:06:24   They all seem-- - And apparently,

01:06:25   apparently they also have the same fan curves

01:06:27   from the testing on the studio.

01:06:28   Like you would've think they'd be tuned differently

01:06:30   for the bigger cooling solution,

01:06:32   but like no matter what you did do it,

01:06:33   the fans would stay at the same RPM in the Mac studio.

01:06:36   It seemed like, at least on the initial reviews,

01:06:38   that the fan curves of all these things,

01:06:40   that the clocks were the same

01:06:41   and the fan curves were the same.

01:06:42   - Right, and so you could assume that M1 meant M1

01:06:46   and it meant the same thing everywhere.

01:06:48   It had the same performance everywhere,

01:06:49   it had the same rough thermal characteristics everywhere.

01:06:53   We don't know if that's always gonna be the case

01:06:54   with Apple's M series chips.

01:06:55   They could theoretically clock the air lower

01:06:58   if they had to for cooling.

01:06:59   Something else to consider is that the M2

01:07:03   is based on the TSMC five-animator process still.

01:07:06   So they made the whole chip bigger.

01:07:08   It's a larger die, and made on the same process,

01:07:12   so it's probably going to run hotter than the M1.

01:07:17   - Well, it's not the exact same process.

01:07:18   It's the modified process that does give

01:07:21   a slight performance per watt savings over,

01:07:24   that's what I'm saying, like percentage-wise.

01:07:25   It got like X percent bigger,

01:07:26   and the new process is Y percent more energy efficient,

01:07:29   And I think the percentages are close to each other.

01:07:31   It got like maybe 10 or 15% bigger

01:07:33   and maybe it's like nine or 10% lower power.

01:07:37   - That's true.

01:07:38   - It's not outside the bounds,

01:07:39   but the expectation is that this would use more power

01:07:42   and be hotter because it is bigger

01:07:43   and I think it is bigger more than the slightly modified

01:07:48   five nanometer process makes up for.

01:07:50   But the thing to remember with this

01:07:52   and the reason that people have trouble reproducing this is

01:07:54   it's not just a CPU, it's a system on a chip.

01:07:56   And to make every part of that SOC do work

01:08:00   at the same time is actually pretty challenging.

01:08:03   You can't, if you're like,

01:08:03   "I'm gonna do a handbrake render."

01:08:05   You're not lighting up the whole chip.

01:08:06   Well, I'm gonna play a game.

01:08:07   You're probably not lighting up the whole chip.

01:08:08   It's actually difficult to do that

01:08:10   because you gotta get all the GPU cars

01:08:12   and all the CPU cars,

01:08:14   and there are a bunch of ancillary units

01:08:15   like that you could probably try to do stuff

01:08:17   with the neural engine where it's difficult

01:08:18   to actually make all that happen at once.

01:08:20   So although the maximum possible sort of

01:08:23   heat generating potential is always there.

01:08:26   It's not an artificial workload, but it is,

01:08:30   you're not gonna stumble into doing it.

01:08:31   You're not gonna stumble into doing it

01:08:33   by browsing the web, okay?

01:08:34   - Well, unless you're using Chrome.

01:08:35   - Yeah, I learned like, there was one time

01:08:38   where as part of an experiment, I trained a large ML model

01:08:42   on my Secunix MacBook Pro, and that,

01:08:46   and running this huge like, you know,

01:08:48   core ML training thing on this huge dataset

01:08:52   was the only time I have ever heard the fan

01:08:55   on the 16 inch spin up.

01:08:57   I do all my heavy developer stuff,

01:09:00   I do all my hobbyist photo and video stuff here and there.

01:09:03   I have never heard the fan any other time except

01:09:07   after at least a half hour of maxing out

01:09:10   who knows what different kinds of units on this chip

01:09:13   doing ML training, which was all the CPU cores,

01:09:16   probably all the GPU cores, possibly the neural engine,

01:09:18   God knows what it was doing.

01:09:20   It was a lot, and I barely heard the fans then.

01:09:24   So yeah, I think that's a good point to take, John,

01:09:27   that chances are in regular workloads you won't see this.

01:09:29   But what remains to be seen once we get the M2

01:09:33   MacBook Air in people's hands is are the thermals weirder

01:09:37   or worse or more limited in some way

01:09:40   than the outgoing model?

01:09:41   This is gonna be the first one that was designed

01:09:44   from the start to be fanless, with the exception

01:09:46   of the old 12 inch, sorry, Casey.

01:09:49   But the M1 MacBook Air previously

01:09:53   is one of these kind of half-assed changes to the case

01:09:58   in the sense that there was no physical change.

01:10:00   Like they just kind of swapped the Intel guts

01:10:02   for the M1 guts.

01:10:04   So there was probably not much of a thermal consideration

01:10:09   there to run this thing fanless.

01:10:10   Whereas now the new M2 MacBook Air

01:10:13   is the first MacBook Air physical case design

01:10:16   that was designed from the start, presumably,

01:10:18   to be fanless.

01:10:19   So we'll see what it can do and how it behaves.

01:10:23   We learned, at the last one, somebody wrote in,

01:10:26   I forget how we learned this,

01:10:28   but you can't just use the entire metal bottom

01:10:31   of the laptop as the heat sink

01:10:33   because there are certain standards

01:10:35   for how hot a laptop can get in certain countries

01:10:39   and everything for safety and health and stuff.

01:10:41   And so the bottom of the laptop can't be super, super hot

01:10:45   and so you can't just bond the chip to the case

01:10:48   and call it a day.

01:10:50   We'll see what they actually did.

01:10:51   I'm very curious to see the tear down to this thing

01:10:53   and see how it works and then see the benchmarking

01:10:55   and see the limitations of it.

01:10:57   And honestly, part of the reason I wanna play with one

01:10:59   is just to figure this out myself

01:11:01   to see what is it like to use it.

01:11:02   'Cause I use the M1 Air so much and I loved it so much.

01:11:06   And I wanna know, how hot does it get in use?

01:11:08   How, do I ever see it throttle?

01:11:11   Can I make it throttle by doing something that's,

01:11:14   for example, only stressing the CPU cores

01:11:18   but not the GPU cores, stuff like that.

01:11:20   That's the kind of stuff I want to find out.

01:11:22   What I suspect, based on that 29 watt thermal peak

01:11:26   that this test video had, what I suspect is that

01:11:30   you actually can make the M2 throttle

01:11:33   because it seems like Apple is allowing it

01:11:36   to run hotter at peak performance.

01:11:40   Whereas the M1, it seemed like nothing you could do

01:11:43   would make it throttle with the fan models,

01:11:46   the non-fan models, you could get a throttle

01:11:49   a little bit more easily, but it was hard still.

01:11:50   But if the M2, if they're allowing it

01:11:53   to have a higher thermal limit,

01:11:55   in terms of wattage used, before they start capping it,

01:12:00   then you will have these things in extreme cases,

01:12:02   but I think, I hope still, that the common case

01:12:07   is still gonna be very, very cool and reasonable,

01:12:09   and time will tell.

01:12:11   - Yeah, and letting it sort of get real hot

01:12:14   and go real fast is actually usually a good move in laptops

01:12:17   because you don't always have sustained loads.

01:12:20   You want it to be able to go real fast for a second or two

01:12:23   or even a minute or two so it can get the thing done

01:12:25   and go back to being idle.

01:12:28   But if you need to be able to do a sustained workload,

01:12:30   then throttling and clocking down is not great.

01:12:32   But even in the test, even in the MaxTechs test,

01:12:35   it was still faster.

01:12:36   It was constantly bouncing up against the limiter going,

01:12:38   oh, I'm too hot, clock down, oh, I'm cool now, I'm too hot.

01:12:41   It goes up and down and up and down.

01:12:43   You don't want it to operate that way.

01:12:44   you want it to be steady, but bottom line is

01:12:46   if the job gets done faster, then that's still better.

01:12:50   As MaxTec pointed out, if it didn't throttle,

01:12:54   it would be even faster.

01:12:55   The GPU would be 35% faster and the CPU would be 18% faster.

01:12:58   Instead of just the 10% faster,

01:12:59   it got bouncing off the heat limiter.

01:13:02   I would imagine that you'll be able to throttle,

01:13:05   heat throttle the MacBook Air as well,

01:13:07   but the slim fanless computer, yeah, that's the one

01:13:10   I feel like throttling is the most excusable.

01:13:12   The M2 MacBook Pro that's supposed to offer sustained performance, it feels like it should

01:13:16   have a better cooling system, especially since it's not like a 96 watt system in there.

01:13:23   It's only going to a max of 30 watts.

01:13:24   You should be able to cool 30 watts in a laptop.

01:13:26   Just look at some of the past Intel laptops.

01:13:29   You just need a better cooling solution so that it can run sustained on this workload

01:13:33   of this 8K raw export for 30 minutes at a time without throttling.

01:13:37   I think that is a reasonable thing for something in the MacBook Pro line.

01:13:42   And I think that's something they achieved with most of the M1 MacBook Pro models with

01:13:46   the M1 Pro and M1 Max and obviously with the M1 Ultra in the Mac Studio with its noisy

01:13:51   but apparently good at cooling fans.

01:13:55   So we'll see.

01:13:56   I'm not sure what kind of stress tests I'll do on my son's M2 MacBook Air because I don't

01:14:02   think he's ever going to do anything like that but I guess maybe I'll run Xcode and

01:14:04   see if I can at least get the CPU cores to crank up a little bit.

01:14:08   but honestly I don't even know what I would use

01:14:10   other than like trying to run Geekbench

01:14:12   or using Cinema 4D or whatever the,

01:14:15   I have a bunch of those benchmark apps or whatever,

01:14:17   but most of those do not actually stress

01:14:19   all the things at once.

01:14:20   They usually focus either mostly on GPU or mostly on CPU.

01:14:22   It's actually hard to do useful work

01:14:25   stressing all the parts at once.

01:14:27   - All right, Jon, take me on a tour of system settings

01:14:30   in Ventura Beta 3, please, and thank you.

01:14:33   - Beta 3 just came out today.

01:14:34   I was quickly able to install it and look at some stuff.

01:14:37   Of course, I dove into system settings

01:14:38   to see how that's going.

01:14:40   It seems slightly less buggy than before.

01:14:42   I didn't get any items duplicated in the sidebar.

01:14:44   I did still get a little red badge

01:14:45   that I couldn't make disappear.

01:14:47   This time I had no idea where it was.

01:14:48   Like if you look at the screenshot in our notes here,

01:14:50   you'll see where it has a red badge

01:14:51   with a number one in it next to general.

01:14:52   If you click on general,

01:14:53   there's nothing in there with the badge.

01:14:55   You can never make it go away.

01:14:56   Anyway, nice, bug suit and whatever, Beta 3.

01:14:59   But I also went over to the trackpad thing,

01:15:01   which is something that Craig Fraderi talked about

01:15:02   on the talk show live saying,

01:15:03   oh, the old one had those cool videos

01:15:05   and the new one is boring.

01:15:06   So we have something else in mind here.

01:15:08   Well, this is what's in beta three.

01:15:10   I don't know if this is what he was talking about

01:15:11   or a step along the way,

01:15:12   but what they have now are when you click

01:15:15   on each one of the things that you can do,

01:15:17   like zooming in or out or scrolling or smart zoom or rotate,

01:15:22   it has two boxes above that.

01:15:25   One of them shows a little diagram of a track pad

01:15:29   with two dots on it.

01:15:30   If you've ever used the simulator,

01:15:31   the iOS simulator, kind of the same way you see

01:15:33   those two dots, they're supposed to represent

01:15:34   basically the contact patches of your finger,

01:15:37   that's an animation.

01:15:38   It shows the two dots and it shows them like

01:15:39   for pinch to zoom,

01:15:40   it shows the two dots close to each other

01:15:42   and it shows the two dots spreading apart on the track pad.

01:15:45   And then to the right of that is a sort of stylized

01:15:49   abstract representation of a screen.

01:15:51   Like it's got a little dock at the bottom,

01:15:53   but instead of app icons, it's just got colored dots

01:15:55   and it's got a stylized window with some blank tiles.

01:15:58   Looks kind of like preview with like little squares

01:16:01   in the sidebar or whatever.

01:16:02   And the image it's showing is two circles.

01:16:04   And as those two dots that represent your fingers

01:16:07   on a trackpad spread apart,

01:16:08   the two circles in the window zoom in, right?

01:16:11   So it's basically doing the same thing as the old thing

01:16:13   where before I used to show you a video

01:16:15   of some human's actual hands swiping around on the touchpad.

01:16:19   This is showing you the touchpad over here

01:16:21   and a sort of a road sign abstraction

01:16:24   of the screen over there saying,

01:16:25   when you do this in the trackpad, this happens in the app.

01:16:29   I think it's a pretty clever solution,

01:16:31   avoiding the having to put videos in there and everything.

01:16:34   but I do wonder if people are gonna look at that

01:16:37   and have any idea what it is that they're looking at.

01:16:39   Like I know what it is,

01:16:41   'cause I know what it's supposed to be.

01:16:42   I already know how it works, I already know the answer.

01:16:44   So oh, that's a trackpad,

01:16:45   and that's where your fingers are touching.

01:16:46   That's not obvious.

01:16:48   If someone else sees us, they're like,

01:16:50   there's these two balls floating in a box,

01:16:52   and then there's something else happening.

01:16:54   I'm not sure it is better at communicating the ideas

01:16:58   that it's trying to communicate

01:16:59   than seeing a human's hand on the trackpad,

01:17:02   because people recognize human hands pretty well,

01:17:04   And they recognize, oh, those human hands

01:17:05   are touching something that looks like the trackpad

01:17:07   that's on a laptop that I'm sitting in front of right now.

01:17:09   I recognize that.

01:17:10   And then seeing what's going on on the screen,

01:17:12   having to use like an abstraction.

01:17:14   And then finally, both these things are pretty small.

01:17:17   Like the little area showing the trackpad is pretty small

01:17:19   because it's like they're side by side

01:17:21   in this very narrow window

01:17:22   that you still can't make any wider.

01:17:24   Some people are asking like,

01:17:25   why would you ever want the system settings window

01:17:26   to be wider?

01:17:27   There's lots of cases, here's one.

01:17:29   You can make those animations a little bit bigger

01:17:31   than they are, right?

01:17:32   Sometimes the labels are really long

01:17:34   you anyway so we're making progress I didn't go through every single one of

01:17:38   the things but they look slightly better than they did before it's still dark

01:17:41   dingy dark gray and gray the switches are still too small it's still not

01:17:44   particularly readable or nice-looking but it definitely looks better than it

01:17:47   did in the last beta I mean it's a low bar it is a very very low bar sure it is

01:17:51   but you know I bet betas march along and this is this is one thing that they said

01:17:55   they were gonna change and so here you go a trackpad is not as dire as it was

01:17:58   but I am NOT convinced that this is a you know an upgrade over what came before

01:18:03   - The whole panel looks like, have you ever come across,

01:18:08   having children during the digital age,

01:18:10   have you ever come across these YouTube videos

01:18:14   that are made for kids that seem procedurally generated

01:18:18   with like really simple animated shapes and stuff?

01:18:23   You've seen these?

01:18:24   This, like the system settings look in Ventura.

01:18:28   It looks like it was designed by those people/algorithms.

01:18:33   - It makes web apps and Electron apps

01:18:35   look like great design by comparison.

01:18:37   - I do see a little bit of a human touch

01:18:38   in the left hand bar.

01:18:39   Like the way they organize things in system preference

01:18:41   has always been scattershot,

01:18:43   and now they're adopting the iOS model,

01:18:45   which is it's clear that a human arranged these,

01:18:48   but what the human was thinking, not entirely clear.

01:18:51   Like, you know, when you scroll through,

01:18:52   like people are more familiar with some of their phones.

01:18:54   You go to settings on your iPhone, right?

01:18:57   And they kind of put important stuff up top,

01:18:59   but I can never remember like,

01:19:01   Is the app that I'm trying to find settings for,

01:19:03   is it one of those apps that Apple thinks is so important

01:19:05   that it doesn't belong mingling with the other apps?

01:19:07   You know what I mean?

01:19:08   Like phone or camera or Safari versus mail versus stocks.

01:19:13   There's a hierarchy in apps of what Apple thinks

01:19:19   is important enough to be a regular app versus like,

01:19:22   oh, this is kind of part of your phone.

01:19:25   And it's confusing, like there's these weird little sections

01:19:27   sometimes you see like App Store and Wallet together.

01:19:29   You're like, ah, that's like money stuff.

01:19:31   But then, you know, there's this whole section above,

01:19:33   which is like hardware things,

01:19:34   and then you get to like passwords, mail, contacts, what?

01:19:38   And then there's a new section, music, TV, photos,

01:19:40   I guess this is the media section,

01:19:42   but then there's a separate section for the TV provider,

01:19:43   and then you get to all the third-party apps,

01:19:45   which are across at the bottom, right?

01:19:46   So it's clear that a human did arrange them,

01:19:49   but every time I look at it, it's not like I know, right?

01:19:51   What section to go to immediately?

01:19:52   I know where Safari is, it's right in this section.

01:19:54   No, I don't know, I scroll until I see the Safari symbol.

01:19:56   So it's not a successful organization,

01:19:58   but a human did it, right?

01:19:59   sidebar and system settings in Ventura Beta 3,

01:20:02   there are sections, it's clear that they're broken up

01:20:06   in a similar way to iOS, and I also like the fact

01:20:09   that they gave a lot of things names

01:20:10   that they didn't have before that will hopefully

01:20:13   make it easier for people to find things.

01:20:14   Like there's a section that says lock screen,

01:20:17   login password, and users and groups.

01:20:19   Lock screen was not a top level item,

01:20:21   has never been a top level item,

01:20:23   but it is definitely a top level item

01:20:24   in people's heads of like, the phrase lock screen

01:20:28   and the concept of a lock screen,

01:20:29   if you've ever had to use a computer at work

01:20:31   and had a lock screen policy mandated,

01:20:32   that's of course always been a feature in Mac OS

01:20:35   for as long as lock screens have existed,

01:20:36   but there was nothing called lock screen,

01:20:38   so I think that's an improvement,

01:20:40   that some humans said,

01:20:41   "Hey, I want the top level items in the sidebar

01:20:44   "to be named after things that are in people's heads."

01:20:46   And there's a search bar that actually works pretty well

01:20:48   to find stuff as well, right?

01:20:49   And then sometimes you go to a section

01:20:51   where it's like keyboard, mouse, and trackpad,

01:20:52   okay, it makes sense that they're grouped together,

01:20:54   but then you get like passwords, internet accounts,

01:20:56   Game Center, that's a group of three items,

01:20:59   but it's separate from lock screen,

01:21:01   login password, and users and groups,

01:21:02   but where is the privacy and security?

01:21:04   One whole, you know, skip a section,

01:21:06   it's up much higher next to spotlight and control center.

01:21:08   Anyway, I think most people will just use the search,

01:21:12   but to Marco's point about this being

01:21:14   algorithmically generated, it almost looks like,

01:21:16   you know, it looks more like to me like it's data driven,

01:21:19   like you can just spec out this thing

01:21:20   and it just spits out this app, right?

01:21:23   Without much of a human touch,

01:21:24   but then you go into trackpad and it's clear

01:21:25   that this is a very custom situation where when you,

01:21:28   you know, you can't tell from the screenshot,

01:21:29   but when you click on or mouse over one of these rows,

01:21:33   it changes the animation and then it plays it.

01:21:35   This is all customized with a little bit of a human touch.

01:21:37   And the sidebar has a little bit of a human touch,

01:21:39   but a lot of it does kind of look like, you know,

01:21:42   a very straightforward hierarchy that was just sort of

01:21:44   data driven by a P-list somewhere,

01:21:46   and then you just run it through and it produces this app.

01:21:49   (laughing)

01:21:49   - What's with the capitalization

01:21:52   of the titles of the options?

01:21:54   Natural scrolling, the S in scrolling is capitalized.

01:21:56   Smart zoom, the Z in zoom is not.

01:21:59   - I mean, is that any different than it is today?

01:22:01   Go look at it on your laptops if you're in front of one.

01:22:03   I don't know if it's any different.

01:22:04   Inconsistent capitalization is not a new thing.

01:22:06   Maybe natural scrolling is a little TM symbol next to it.

01:22:12   - No, it's still wrong.

01:22:15   It's still wrong.

01:22:17   I hope, you know, we'll see what happens

01:22:20   when what actually ships here.

01:22:22   Again, I have low confidence in Apple's software design team

01:22:25   these days and their ability to ship stuff

01:22:27   that they think is cleaner even though it's worse.

01:22:31   Because you look at this and it still looks like

01:22:35   the CSS failed to load.

01:22:36   I don't know, to me it looks cheap and sloppy.

01:22:41   That's what it really is.

01:22:42   It looks cheap and sloppy and it doesn't look like something

01:22:45   that you would expect a company like Apple to make

01:22:47   with their reputation.

01:22:48   - It doesn't look polished and doesn't look high gloss.

01:22:51   - Right.

01:22:52   Mac OS used to look not just like literally high glosses and having specular highlights

01:22:55   drawn onto things, but high gloss in terms of someone, if you think of what looks like

01:23:00   high gloss, very often the homepage of Apple.com looks high gloss.

01:23:03   Apple's product pages often look high gloss.

01:23:05   They're supposed to look fancy and like, you know, sophisticated and like someone sweated

01:23:11   over all the details and then it is made to look attractive.

01:23:14   Now that's not the most important thing about a UI.

01:23:15   It would be better for it to be readable, usable, accessible, so on and so forth.

01:23:19   But once you've fulfilled those basics,

01:23:20   it's also nice if it looks attractive and expressing

01:23:25   your brand in some way.

01:23:26   And Apple's brand is very often sophisticated, minimalist,

01:23:29   polished, beautiful looking.

01:23:32   And system settings is not yet beautiful.

01:23:35   No, I mean, we make fun so much when an app switches to Electron

01:23:39   and we say, oh my god, they're going to ruin the experience.

01:23:42   They're throwing away all this native code, native design.

01:23:43   They don't care about the platform, et cetera.

01:23:45   I used to open up 1Password.

01:23:47   And I open up its settings screen.

01:23:48   And this is an Analectron app, you know,

01:23:50   but you look at the settings screen,

01:23:52   and it's a nice, regular Mac-looking preference of screen.

01:23:55   It's a couple of custom things in there,

01:23:56   but for the most part, it looks like a Mac settings screen.

01:23:58   It looks nice.

01:23:59   It looks put together and polished and thought through.

01:24:02   And you look at the Ventura System Settings app,

01:24:05   and it is none of those things.

01:24:06   This is the kind of thing that if an app,

01:24:09   like if some popular app that we used

01:24:11   switched their settings to look like this,

01:24:13   we would make fun of them relentlessly

01:24:15   and say they've abandoned their customers,

01:24:17   they've abandoned the Mac,

01:24:18   And so, I don't know, it just seems like,

01:24:21   I don't know anybody who's gonna upgrade their Mac,

01:24:23   or get a new Mac down the road,

01:24:25   open this up for the first time,

01:24:26   who has ever seen the previous versions,

01:24:29   and look at this and say, oh, what a nice upgrade.

01:24:32   It looks like a downgrade,

01:24:33   and it's gonna feel like a downgrade

01:24:35   to anybody who was used to the previous one,

01:24:36   'cause it's different to begin with,

01:24:38   but if you're gonna go through the user disruption

01:24:40   of moving things around a lot and making them different,

01:24:43   it might as well at least be nicer

01:24:45   once you get used to it.

01:24:46   And I don't know if we've achieved that here.

01:24:48   It doesn't look nicer at first glance, that's for sure.

01:24:51   And I think a lot of people are not going to feel

01:24:54   that this is much of an upgrade the first time they see it.

01:24:56   - Yeah, one of the things that's really gonna annoy people

01:24:57   if we're talking about this

01:24:58   just after we recorded last week's episode

01:25:00   in one of the slacks that we're in

01:25:01   that I think I forgot to mention in the show.

01:25:03   So some of the items on the sidebar,

01:25:04   when you click on them, there's a second level.

01:25:06   I think General is like that.

01:25:07   So you click on General on the sidebar

01:25:09   and then the right-hand detail plane shows more choices.

01:25:12   I forget what they are 'cause I'm not in for general right now

01:25:14   but you click on General and then you click on like,

01:25:16   I don't know, about this Mac or something or storage.

01:25:18   I don't know what the options are, right?

01:25:20   But you click on a second one,

01:25:21   and then when you click on the second one,

01:25:22   the detail pane slides over

01:25:23   and you get into whatever item you're in.

01:25:26   And system settings remembers what you were in, right?

01:25:29   It remembers that you went general and then about, right?

01:25:32   And so what you see on the screen in this state is

01:25:36   the general is highlighted in the sidebar, right?

01:25:38   'Cause that's the one you're on.

01:25:40   And in the detail pane to the right of it,

01:25:42   you see like about this Mac or whatever you picked before.

01:25:44   And if you look in the upper left,

01:25:45   there's a left-facing chevron saying,

01:25:47   oh, you can go back, like the iOS-style

01:25:48   back button or whatever, right?

01:25:50   But let's say you just closed system settings.

01:25:52   Next time you launch system settings

01:25:54   and you click on General, it's just gonna show you

01:25:56   the About thing, it's not going to show you

01:25:58   all the other choices, like there's a two-level hierarchy

01:26:00   and it's really easy to forget.

01:26:03   Like, you're gonna be guiding someone over the phone,

01:26:05   just waiting, it's like, go to System Settings,

01:26:07   go to General, okay, now click, you know, whatever,

01:26:09   you know, Storage in general, like, I don't see Storage.

01:26:12   No, did you click on General?

01:26:13   Yeah, I don't see Storage, well, tell me what you see.

01:26:15   I see, it tells me how much RAM I have.

01:26:18   Okay, you must be on about, go back.

01:26:19   So what do you mean back?

01:26:20   Look up at the top of the detail pane,

01:26:22   do you see a left facing, like less than sign,

01:26:25   like a sideways V pointing to the left?

01:26:26   Yeah, click that.

01:26:28   And then this is the point where they say,

01:26:29   how was I supposed to figure that out?

01:26:31   And you say, I don't know.

01:26:32   It's not like, being stateful is good,

01:26:35   but when you have a UI that is that not obvious,

01:26:37   on the phone it's more obvious,

01:26:38   on the phone we're kind of used to,

01:26:40   there's gonna be like a back left facing,

01:26:42   you know, Chevron in the upper left corner to go back.

01:26:44   Like I think we're used to doing that on the phone,

01:26:46   but on the Mac, when you have all the screen space,

01:26:48   especially when it remembers between launches,

01:26:51   that when you click on general on a sidebar,

01:26:53   you don't see the list of all the things under general.

01:26:55   You see whatever detail plane you were previously in.

01:26:58   Good from like a power user perspective

01:27:00   that I don't constantly have to dig back into that

01:27:01   if I was in that, but from a regular user perspective, bad.

01:27:04   So I think they haven't really sorted out the,

01:27:06   like they tried to use this UI to be more scalable

01:27:08   and I agree you have all these settings

01:27:10   and you wanna be able to scroll.

01:27:11   That's great.

01:27:12   I think they should make the window more resizable.

01:27:14   I think we can handle that.

01:27:15   We don't have to have fixed size windows in the Mac.

01:27:17   We can handle windows that resize

01:27:18   and the UI tries to be appropriate for the size of the window

01:27:22   and I think this two level thing under general,

01:27:24   I don't think it's working yet.

01:27:26   So I don't, you know,

01:27:27   especially since the sidebar scrolls, right?

01:27:29   So how many items are under general, like nine?

01:27:31   Put those into the groups on the left-hand side,

01:27:33   make it a flat hierarchy.

01:27:34   At least then people won't get,

01:27:35   won't have to guess how many of these items on the left

01:27:39   have multiple things underneath them and how many don't

01:27:41   'cause you can't tell by looking at them.

01:27:42   You just have to know.

01:27:43   - It's a bit of a mess, isn't it?

01:27:45   - A bit.

01:27:46   (laughing)

01:27:47   - All right, so let me ask you,

01:27:49   hopefully this is not a mess.

01:27:50   Tell me about shared photo libraries,

01:27:53   which I'm super excited,

01:27:53   I really honestly am super excited about this.

01:27:55   So tell me, is it even close to ready?

01:27:58   - I'm excited about it too.

01:27:59   These are the first set of betas,

01:28:01   the ones that just came out today-ish,

01:28:03   that have support for iCloud shared photo library.

01:28:05   I just tried it on Mac OS,

01:28:07   but I think it's in the iOS betas,

01:28:08   and the iPad OS betas, and all that other stuff, right?

01:28:10   Obviously this is a feature that's being added

01:28:13   to the existing Photos app, which is not great

01:28:15   and continues to be not great and really weird,

01:28:17   but the feature they added, this specific feature,

01:28:20   went pretty smoothly for me.

01:28:22   I'm doing a test Apple ID.

01:28:25   The only hiccup I had, and this always happens to me,

01:28:28   is I have a test Apple ID,

01:28:30   and I wanted to make another test Apple ID

01:28:32   to be in a family group with this test Apple ID,

01:28:35   an Apple today on July 6th just would not let me

01:28:40   make an Apple ID, just no matter what I did.

01:28:43   Go to the web, try to do it through the various Mac apps,

01:28:46   system settings, there's so many different ways

01:28:48   you can create an Apple ID.

01:28:50   Create a child Apple ID, create an adult Apple ID,

01:28:52   create an iCloud.com Apple ID,

01:28:54   create an Apple ID for a Gmail address.

01:28:57   Apple just said no.

01:28:59   I tried for about an hour today to create an Apple ID

01:29:02   and the farthest I got was a,

01:29:04   You know, I was on the final screen of making it happen.

01:29:07   I think I was doing the web and the error message I got was,

01:29:10   "You cannot create an Apple ID at this time.

01:29:12   "Try again later."

01:29:13   And if you Google for that, you'll see lots of people saying,

01:29:15   "Oh, sometimes Apple servers are weird or whatever."

01:29:16   Like really, are there whole days

01:29:18   where you can't create an Apple ID?

01:29:20   Anyway, I couldn't create an Apple ID,

01:29:22   so I could not actually share my shared photo library

01:29:26   with anybody, but it still lets you go through the feature

01:29:28   and see how it works just by your Lonesome.

01:29:31   So when you launch Photos and you go to its settings,

01:29:34   it's so weird for me, I go in there looking

01:29:36   for the preferences item and my eyes like,

01:29:38   skim right over settings, like,

01:29:39   where the hell is preferences?

01:29:40   Oh, it's called settings.

01:29:42   Anyway, if you go to the Photos menu, you go to settings,

01:29:44   it used to just have General and iCloud, I think,

01:29:46   now there's a third top level item called Shared Library,

01:29:49   and it has a little thing that says,

01:29:50   iCloud Share Photo Library explains what it is,

01:29:52   and you hit Start Setup,

01:29:53   and you go through this little setup process

01:29:55   that's pretty simple, and it constantly prompts you

01:29:57   to add people to your family or do all this stuff

01:29:59   or whatever and I had to sort of cancel out of that

01:30:02   and say no I don't have, I have a family

01:30:04   but I'm the only person in it, no I can't create,

01:30:06   it prompts you at that point to create an Apple ID.

01:30:08   Would you like to create a child Apple ID?

01:30:09   That doesn't work either, like you know,

01:30:11   again, on July 6th, there was no way to create that.

01:30:14   Very often it would, I'd go through the whole process there,

01:30:16   it would say prove you're an adult

01:30:17   and it would make you verify your credit card

01:30:19   branching the CVV value or whatever, right?

01:30:21   And then it would ask the person's name

01:30:23   and give them an email address,

01:30:25   can ask for their birthday and do all this stuff

01:30:27   and it'd make you go through many,

01:30:28   This is, again, this is a Mac native UI inside the Photos app.

01:30:31   It's prompting you to do all this stuff to create a child

01:30:34   account for your family.

01:30:35   And you'll get to the very last screen,

01:30:36   and it will show an indeterminate little spinner

01:30:38   after you click the Do It button.

01:30:40   And it will just spin forever, and it will never

01:30:42   actually create an Apple ID.

01:30:43   So I hope that gets fixed eventually.

01:30:45   Maybe it's a venture beta thing.

01:30:46   Again, I tried doing it through Safari in venture as well,

01:30:49   and it still also wasn't working.

01:30:51   But anyway, me and my Lonesome Test Apple ID

01:30:53   as the only person in my family was

01:30:56   able to make a iCloud shared photo library.

01:30:59   Once you do that, the Settings pane

01:31:02   shows the following items.

01:31:03   It says, here are the participants,

01:31:05   and you can add participants.

01:31:06   And I think you can add participants

01:31:08   that are not in your family.

01:31:10   I didn't know, because I'm actually obviously not going

01:31:12   to add anybody, any real Apple IDs to this,

01:31:15   because I don't yet trust that it is all

01:31:17   working and everything.

01:31:18   And I wouldn't want to make a shared photo library with,

01:31:23   like, a member of my actual family,

01:31:25   and somehow later I can't add them

01:31:26   to my real shared photo library.

01:31:27   So I didn't do that, but you can add participants.

01:31:30   There's a checkbox for shared library suggestions

01:31:33   that says when enabled, you have periodically received

01:31:35   suggestions for photos and videos

01:31:36   that you may want to add to the shared library.

01:31:38   That's another thing I forgot to mention during setup.

01:31:40   It says, hey, we made you a shared photo library.

01:31:42   What do you wanna add to it?

01:31:43   And you can pick add all my photos to it or not add to it.

01:31:46   What do you want to move to it?

01:31:47   Move all my photos to it, move photos based on a date,

01:31:50   or I'll manually move stuff myself.

01:31:52   And it's not like this is a one-time choice.

01:31:54   Like at any point in the future, you can do any of these things.

01:31:57   But this checkbox is photos or something in the OS

01:31:59   will suggest to you when it thinks

01:32:02   you should move some photos to the shared library based

01:32:04   on, I don't know, like the stuff they talked about in the keynote,

01:32:06   like when you're in proximity to people

01:32:08   or at an event with a bunch of people

01:32:10   and taking pictures of them or recognize their faces,

01:32:12   and all sorts of suggestions or whatever.

01:32:13   So you can do that or not.

01:32:15   And then the final item is delete notifications.

01:32:18   We talked about this earlier of like, oh,

01:32:20   anyone you add to the shared photo library

01:32:21   can do edits and deletes.

01:32:23   Isn't that bad?

01:32:23   Well, if you're afraid of your sullen teenager deleting

01:32:26   pictures of themselves they don't like, at the very least,

01:32:29   you can get a notification when they delete a picture

01:32:31   and then you can go into recent items and rescue it.

01:32:33   And I think you can protect recently deleted items

01:32:36   with a password so they can't permanently delete them.

01:32:38   So that's better than nothing in terms of making sure

01:32:41   someone doesn't go rogue on your shared library

01:32:44   and hose everything.

01:32:45   'Cause if you can get a notification

01:32:47   and you can password lock the recent deletes,

01:32:49   that'll help a lot.

01:32:51   But once you've done that, Photos launches

01:32:53   and it just looks like photos.

01:32:55   But now at the top, there's a new item,

01:32:57   a new pop-up menu where it has three options.

01:33:00   You can see your personal library,

01:33:01   which is just the only thing you would ever see

01:33:03   in the previous version of photos,

01:33:04   is just your photo library, right?

01:33:06   You can see your shared library,

01:33:08   or you can see both libraries where it shows you the union

01:33:11   of all the photos of your personal and shared.

01:33:14   And that is great.

01:33:14   I was afraid it wouldn't have this feature

01:33:16   and you constantly have to switch back and forth.

01:33:17   But no, it will show you the union of them

01:33:19   And you can, it'll put a tiny little badge on the photos,

01:33:23   indicating which ones are in the shared library

01:33:25   and which ones are not.

01:33:27   This is where you start to get into the limitations

01:33:29   of the Mac Photos app.

01:33:30   Like the Mac Photos app is so stingy

01:33:32   about what information it will put

01:33:34   on the main sort of photo thumbnail screen.

01:33:37   It's got this giant canvas with all these little thumbnails.

01:33:40   And the most it will do is put these tiny little

01:33:42   monochrome icons in the upper right-hand corner

01:33:45   of the photos.

01:33:46   It's like, can you just show me the keywords

01:33:48   underneath the photos like you used to?

01:33:49   No.

01:33:50   If you say show keywords,

01:33:51   I think it'll show a little icon that indicates

01:33:54   this photo has keywords.

01:33:55   We're not gonna tell you which one.

01:33:56   We don't have room on this screen to put text,

01:33:58   but yeah, it's got keywords.

01:34:00   It's got location data.

01:34:01   It will put the file name.

01:34:02   Of all things that it wants to put,

01:34:03   it will put the file name.

01:34:04   Like I wanna see the file name of like,

01:34:05   IMG0057.heek or whatever.

01:34:10   Like I don't need to see the file name.

01:34:11   Show me the keyword.

01:34:12   Anyway, all that is to say that it will show you

01:34:15   which ones are in the shared library

01:34:16   if you squint and you turn that thing on.

01:34:17   and it will show the union of both of them.

01:34:20   And you don't have any limitations.

01:34:21   You can just use that union view all you want.

01:34:23   You can move things.

01:34:24   If you right click on a photo, you can move that photo

01:34:26   into the shared library,

01:34:27   you can move it out of the shared library.

01:34:29   The right click menus continue to be weirdly limited.

01:34:31   Some features are in the right click menu.

01:34:33   Some features are only in the menu.

01:34:34   Some features are, I mean, the menu bar.

01:34:36   Some features are in both places.

01:34:38   And when you do move things to shared library,

01:34:40   you can do more than 101.

01:34:41   So you just do any kind of selection

01:34:42   and right click and do move to the shared library.

01:34:45   That'll show you a little message that says,

01:34:46   is moving these photos to the shared library

01:34:47   will allow shared library participants

01:34:49   to view, edit, or delete this content at any time,

01:34:52   just warning you that, hey,

01:34:53   when you put it into a shared place,

01:34:54   it's no longer just yours.

01:34:56   And it all worked.

01:34:57   Like, I mean, obviously I'm doing a shared library with,

01:34:59   I'm just sharing it with myself,

01:35:00   but I can take my photos and move them

01:35:02   to and from the shared library.

01:35:03   It's even integrated into the import process,

01:35:05   so when you import photos into photos,

01:35:06   you can choose if you wanna import them into your library,

01:35:09   or if you wanna import them into the shared library.

01:35:12   Very little surface area for this feature.

01:35:15   a few pop-up menus, one extra item in settings,

01:35:18   a few items in menus, but it does what it's supposed to do.

01:35:21   Like the limitations of the Photos app

01:35:24   that make it annoying continue to be there,

01:35:27   but the addition of this feature

01:35:28   does not make them any worse.

01:35:30   And the addition of this feature, I think,

01:35:31   was done in a way that is pretty obvious.

01:35:35   I mean, it was obvious to me as I'm looking for it,

01:35:37   but like there's not a lot to stumble over

01:35:40   or be confused about.

01:35:41   There's a couple of new pop-up menus,

01:35:42   a couple of new little settings,

01:35:44   and they all are clearly explained

01:35:46   and work the way you'd want them to.

01:35:48   And I am actually very excited about upgrading to Ventura now

01:35:51   for this feature alone,

01:35:53   because it seems like it's gonna work.

01:35:55   And it seems like it does pretty much everything

01:35:58   that I want it to do.

01:35:59   The, in particular delete notifications

01:36:02   is all the peace of mind I need to know

01:36:03   that I'm not accidentally messing,

01:36:05   someone doesn't accidentally do something foolish

01:36:07   and deletes things.

01:36:08   That if I get a notification,

01:36:09   I can just undo that, I'll be fine.

01:36:11   And the fact that I can sort of manually move photos on

01:36:14   as I gain confidence, like I'll just chuck a bunch of photos

01:36:17   in, I'll just use, I'll put the new photos

01:36:18   into the shared library or whatever,

01:36:19   just sort of like, I can move to it at my own pace

01:36:23   instead of just saying, hey, we're gonna convert

01:36:24   your whole library to shared, or you have to pick up front

01:36:26   which ones do you want to convert

01:36:27   that I can do it manually one at a time.

01:36:30   It still boggles my mind, the sort of non-uniformity

01:36:33   of UI in photos, where the right-click menus

01:36:37   seem to be made by an entirely different team

01:36:39   in the menu bar and they don't talk to each other.

01:36:43   Like the copy edits and paste edits thing,

01:36:44   it's just so inconsistent.

01:36:46   The keywords, the location stuff,

01:36:48   like it just does not work like a normal Mac app,

01:36:51   but the functionality is there if you know where to find it

01:36:53   and are willing to fight the UI to get it.

01:36:55   But overall, I'm pretty happy

01:36:57   with the Mac incarnation of this feature.

01:36:59   I'm using it in a test photo library with a dozen photos

01:37:02   instead of a real photo library, which has 145,000.

01:37:05   So we'll see how it goes,

01:37:06   but I give this a cautious thumbs up.

01:37:08   And like I said, using this has made me anxious now

01:37:11   to upgrade to Ventura, knowing full well

01:37:13   that I can't actually upgrade to Ventura

01:37:15   until it's out for real,

01:37:16   because there's no way I'm going to subject

01:37:18   my real photo library to a beta.

01:37:20   But I'm actually kind of looking forward to it.

01:37:23   - That's really good news.

01:37:24   I'm super stoked about that.

01:37:26   That should be really great.

01:37:27   - Yeah, this is one of those things that,

01:37:29   assuming that they get it to work well,

01:37:33   it sounds like they're on their path,

01:37:35   this is one of those things that we didn't have for years,

01:37:37   and we're constantly yelling about it,

01:37:40   we're gonna get it and we're going to instantly

01:37:43   forget about it and it's just gonna be one of those things

01:37:46   that like oh, we just have this now.

01:37:47   Like this problem that we've had for so long

01:37:49   is hopefully just gonna be solved and that'll be it.

01:37:52   And it'll just, you know, Apple will have put in

01:37:55   all these years of effort trying to get this to work

01:37:57   for about a minute of thanks for the public.

01:38:01   And then we're all gonna then just take it all for granted

01:38:03   and just assume instantly, of course this problem is solved.

01:38:06   What are you talking about?

01:38:07   Hopefully we're just not gonna think about it anymore.

01:38:09   'Cause that's, largely that's how iCloud Photo Library

01:38:13   is for individuals with the syncing

01:38:16   and everything like that.

01:38:17   It largely works very, very well.

01:38:19   And for the most part, you just don't have to think about it.

01:38:22   Most people, you just take a picture on your phone,

01:38:26   and a few minutes later it's on your Mac, and that's it.

01:38:28   And you don't have to, you can make edits in one place

01:38:31   and it goes to the other one eventually, or quickly,

01:38:33   it depends on conditions.

01:38:35   It's a pretty good, solid system.

01:38:37   You don't hear a lot of stories of people

01:38:39   having problems with iCloud Photo Library.

01:38:40   It's a pretty great, solid system.

01:38:43   And so if they went into this with similar care

01:38:47   and a similar platform and similar skill,

01:38:49   which it sounds like they did, I expect

01:38:52   this is just going to pretty much work.

01:38:54   And we're going to all instantly forget about it,

01:38:57   which is great.

01:38:57   One of the things we talked about when we would discuss

01:39:00   this feature in the past and you'd get a lot of pushback,

01:39:02   you'd say, oh, that's so complicated.

01:39:03   How are you going to figure out, like,

01:39:05   which photo goes where or what you're looking at.

01:39:07   And there's so many different ways you could do this

01:39:09   and you want to give individual people control

01:39:11   and who has permissions.

01:39:12   And like, it is a large, complicated problem space.

01:39:17   And the way Apple has tackled this

01:39:18   when they're successful in features like this

01:39:20   is they choose a subset of features

01:39:22   that they think is that they can implement

01:39:24   and that is understandable to people.

01:39:27   And they make sure that subset is big enough

01:39:29   to cover most use cases,

01:39:31   but small enough that they can present a UI to it

01:39:34   in a way that doesn't overwhelm, right?

01:39:37   To give an example of where they may have misfired on this,

01:39:39   like focus modes, focus modes overwhelms a little bit.

01:39:41   Like if you try to set that up on a phone

01:39:43   and it's asking you all these questions,

01:39:44   you have to make all these decisions

01:39:45   and it's a little bit overwhelming

01:39:46   and it's really kind of a power user feature, right?

01:39:48   And it is very complicated

01:39:50   and it's not very clear what's going on.

01:39:52   And shared photo libraries, people are always saying,

01:39:55   there's no way Apple can do this,

01:39:56   it's too complicated, people won't understand it.

01:39:58   The way they've chosen to do it is so simple

01:40:01   with so few decisions to make and so little new UI to learn,

01:40:06   and the UI that is there,

01:40:08   it's just incredibly straightforward,

01:40:10   doesn't really require much of an explanation.

01:40:12   It's like, you get it, and that's it,

01:40:14   and it just becomes, it fades back into the background,

01:40:16   it's not a thing that you think about anymore.

01:40:18   It doesn't have all the features that you can imagine

01:40:19   for a shared photo library.

01:40:21   I would like more granular permissions

01:40:22   for what people can do, I would like view only.

01:40:24   There's all sorts of stuff you can think of

01:40:25   that you could add to this.

01:40:27   But this is a baseline version one to get the thing working.

01:40:30   I don't know if they'll ever expand on it,

01:40:32   but just the downside of Mac development

01:40:34   in Apple these days.

01:40:35   But I think the subset of features they've chosen

01:40:38   is good enough to cover most people's needs,

01:40:41   probably also included in my own,

01:40:43   and is so simple, so not like,

01:40:47   there's no wizard you're gonna go through

01:40:49   that's gonna ask you 8,000 questions.

01:40:50   There's no really complicated UI.

01:40:52   I think the UI they previously and probably still

01:40:55   have for shared photo libraries

01:40:58   is more complicated and confusing and worse than this UI,

01:41:02   and that's a simpler feature.

01:41:03   So kudos to figuring out the right subset of things

01:41:06   to make, and again, this is just Mac photos,

01:41:08   I don't know what it looks like on a Mac app,

01:41:10   the right subset of features to make this simple for users

01:41:13   while still accomplishing the goal,

01:41:15   which is I don't wanna have to log into my iOS account

01:41:18   to deal with the family photos.

01:41:19   - Yeah, this will be really great

01:41:21   because we have the opposite arrangement in our family

01:41:23   where I am the keeper of the family photo album,

01:41:26   and Erin basically doesn't have squat.

01:41:29   She has the last month of her own pictures on her phone

01:41:32   and then that's it.

01:41:33   And so for her to have access to all of our family pictures

01:41:37   going back 15, well 17 years

01:41:39   at the beginning of our relationship,

01:41:40   I think that'll be really great for her

01:41:41   and I'm really, really looking forward to this.

01:41:43   - Thanks to our sponsors this week,

01:41:45   Squarespace, Instabug, and WorkCheck.

01:41:48   And thanks to our members who support us directly.

01:41:50   You can join at atp.fm/join.

01:41:53   We will talk to you next week.

01:41:55   Now the show is over, they didn't even mean to begin

01:42:02   'Cause it was accidental, oh it was accidental

01:42:08   John didn't do any research, Marco and Casey wouldn't let him

01:42:13   'Cause it was accidental, oh it was accidental

01:42:18   And you can find the show notes at ATP.fm

01:42:23   And if you're into Twitter, you can follow them at C-A-S-E-Y-L-I-S-S

01:42:33   So that's Kasey Liss M-A-R-C-O-A-R-M

01:42:37   N-T-M-A-R-C-O-R-M-N S-I-R-A-C-U-S-A-C-R-A-C-U-S-A

01:42:45   It's accidental (it's accidental)

01:42:48   They didn't mean to, accidental (accidental)

01:42:53   ♪ Tech podcast so long ♪

01:42:56   - Oh, I've been doing Swift UI.

01:43:01   Oh yes, how's that going my friend?

01:43:03   - I saw you complaining about that on Twitter.

01:43:05   - Oh, I had a good talk with Underscore today

01:43:10   on Under the Radar, so you should go listen to that.

01:43:12   But I've basically resigned myself to the fact that I,

01:43:15   if I'm going to continue to be a professional iOS programmer,

01:43:21   Like if this is going to continue to be my career,

01:43:24   I have to jump into SwiftUI.

01:43:26   I feel like the equivalent now of having

01:43:29   a really big carbon app in like 2008.

01:43:32   So it's like, you know, I can see the writing on the wall

01:43:36   for most of the code I have, and for most,

01:43:39   and more importantly, for most of the knowledge I have.

01:43:42   I know Objective-C and UIKit really, really well.

01:43:47   And that's not helping me right now.

01:43:50   Like that's, if you were to start writing

01:43:53   a brand new app today, if you wrote the whole thing

01:43:57   in Objective-C, people would think you're weird

01:43:59   and you're gonna miss out on a lot of the advantages

01:44:03   from tooling and a lot of the newest APIs

01:44:05   and things like that, like you're making it harder

01:44:07   on yourself needlessly.

01:44:10   And so no question Swift is the language

01:44:13   you should be using for any new iOS or Mac app.

01:44:17   But the UI framework thing is a different question.

01:44:21   SwiftUI is still very early.

01:44:23   However, every time I write UI kit code,

01:44:26   I get that same feeling as if I'm writing new

01:44:28   objective C code, like I shouldn't be doing this.

01:44:31   It's been made a little more complicated

01:44:33   by the recent developments in UI kit.

01:44:37   Feel like, if I could borrow a term from Joel Spolsky,

01:44:42   it forever ago, it feels like the UI kit team

01:44:45   has been taken over by architecture astronauts.

01:44:48   And the amount of abstraction and layers

01:44:53   and nitpick configuration and stuff

01:44:56   that's going into the latest changes

01:44:58   over the last few years in UIKit,

01:45:00   like where they're going, I don't want to follow them.

01:45:05   - Can you think of an example offhand

01:45:07   where this is getting ugly to you in UIKit?

01:45:09   - Yeah, so all the new button configuration stuff,

01:45:13   table cell configuration stuff, collection view,

01:45:17   like a lot of this stuff, the old way of doing things

01:45:20   was more primitive, but another way to say that is simpler.

01:45:25   And they've created these new levels and levels

01:45:27   of abstractions and management classes

01:45:29   and configuration classes and different things above it

01:45:32   that you're now expected to use,

01:45:33   and many of the old methods are being deprecated.

01:45:36   Where they're going, like I tried playing

01:45:38   with a lot of the new UI kit stuff

01:45:39   when I was doing my redesign last fall and winter,

01:45:42   And it was just a lot more code

01:45:45   to do the same things for me.

01:45:47   And it seemed like they're optimizing for needs

01:45:51   and preferences that are different from mine.

01:45:54   I have many similar complaints with Swift itself.

01:45:57   I mean, Swift, the language is,

01:45:58   I mean, they're in space at this point.

01:46:01   Like they're, I don't know what they're doing

01:46:03   in certain areas of the language,

01:46:04   but at least most of those,

01:46:06   most of them don't get in my way.

01:46:08   But there are, I mean, there are certain things like,

01:46:10   To fix an iOS 15 deprecation warning,

01:46:13   I had to start using async for one of my CloudKit calls.

01:46:18   On the Overcast login screen, it queries CloudKit

01:46:21   for the list of accounts that are associated with your Apple

01:46:24   ID.

01:46:24   That way, I don't have to get usernames and passwords.

01:46:27   I can just pull from CloudKit, here's

01:46:29   a list of account tokens that I know exist from your Apple ID.

01:46:32   And so it's a very, very basic CloudKit thing.

01:46:34   And I had to switch over to an async call.

01:46:37   they've already deprecated the previous query method

01:46:40   for some reason.

01:46:42   So I had to edit this totally fine working code

01:46:45   that I'd never touch.

01:46:46   And adding this, I had to add so many more things everywhere.

01:46:51   It's like, in an effort to make this simpler,

01:46:54   they've made it even more complex.

01:46:56   And in certain cases, they went so far over the top.

01:46:59   Like, there was one of the--

01:47:01   it's just like a simple CloudKit fetch query,

01:47:03   like fetch records matching this query.

01:47:05   It returns this complicated result object

01:47:08   with two different layers of generics,

01:47:10   and it's less than, greater than symbols,

01:47:14   and it's complete.

01:47:15   So you auto-complete the closure completion

01:47:18   for dealing with these records,

01:47:20   and the type it gives you is full of generic gobbledygook.

01:47:24   You have no way to know what you're supposed to type

01:47:26   into this box to actually, like, what type is this variable?

01:47:29   If you just let it auto-completed errors out

01:47:31   and give you an even more complicated error message

01:47:33   that you can't understand.

01:47:34   - Just look at the code examples and documentation, right?

01:47:36   - Yeah, right.

01:47:37   (laughing)

01:47:38   - Got 'em.

01:47:39   - So eventually I had to start looking up

01:47:41   like Google blog posts about how the heck do you use

01:47:43   this stuff and the answer is, as far as I can tell,

01:47:47   is actually it's some kind of complicated result result

01:47:50   and you have to say result.zero.result or something

01:47:55   and that's actually in your shipping code

01:47:59   that you have to have that, result.zero.

01:48:02   Who is designing these things?

01:48:04   I'm sure they have their reasons.

01:48:06   They have very smart people there.

01:48:07   But whatever they're doing in certain areas

01:48:09   is drifting apart from any way I think of coding

01:48:14   and any way I want to be coding.

01:48:15   And UIKit itself is, in many ways, going in that direction.

01:48:19   And so, heading back a few levels in the stack here,

01:48:22   SwiftUI, I think, is what I need.

01:48:25   Like, if I'm going to keep making iOS apps for my career,

01:48:28   and that's my intention,

01:48:30   then SwiftUI is what I have to learn.

01:48:33   I've resigned myself to that.

01:48:35   I don't necessarily have to have everything in the app

01:48:39   be SwiftUI, that I think is, it's probably still too early

01:48:43   for that in terms of the framework development.

01:48:45   But I have to start using a lot of SwiftUI

01:48:48   and really getting good with it and using it by default

01:48:50   and only bailing out of it when I really have to

01:48:53   as opposed to bailing out of it for comfort reasons

01:48:56   or for familiarity.

01:48:58   So that's where I am now and I was,

01:49:02   I've been working on it all day trying to replicate

01:49:04   some of the basic structure of Overcast in SwiftUI

01:49:07   just to see is this even possible.

01:49:09   I'm slowly getting there.

01:49:10   It is a slog but I'm finally in the very,

01:49:15   very slight upswing part of it where I'm starting

01:49:21   to finally get some traction and some progress

01:49:25   And so I'm like just starting to be motivated

01:49:28   to keep going on it.

01:49:29   So that's my mood for the day, my mood update.

01:49:32   I know this is my feelings podcast

01:49:34   'cause I don't have one unlike you guys.

01:49:36   So this is where I am today.

01:49:39   I am slowly getting better at SwiftUI

01:49:43   and slowly starting to think I should probably switch to it

01:49:47   because the alternative would be like if I said,

01:49:51   yeah, I'm just gonna use carbon forever in 2008.

01:49:53   I was like, well, that's gonna limit your career then,

01:49:56   and the usefulness of your code base.

01:49:59   You're gonna definitely put a cap on the age of that.

01:50:03   Well, this is how I feel about,

01:50:06   first of all, Swift obviously is a requirement at this point.

01:50:09   All of my Objective-C code, I regret it all,

01:50:12   and I wish it was all Swift,

01:50:14   'cause it would make certain things a lot easier,

01:50:15   but Swift UI I think is that now.

01:50:18   I think the idea, like right now,

01:50:21   the way you would feel about writing Objective-C code

01:50:23   in a brand new app today,

01:50:26   I think we're gonna feel that way

01:50:27   about writing UI kit code instead of SwiftUI

01:50:30   in maybe three to five years.

01:50:32   It may be sooner, probably not,

01:50:34   but I'm guessing five years from now,

01:50:36   the idea of writing a brand new screen

01:50:38   or a brand new app using UI kit instead of SwiftUI

01:50:41   is gonna seem very backwards.

01:50:44   So I wanna, for once, be slightly ahead of things

01:50:48   and go where the puck is being thrown.

01:50:53   (laughing)

01:50:54   Because I'm tired of my knowledge and my code base

01:50:59   being out of date, and so I want to actually move forward

01:51:01   at a reasonable time instead of five years too late.

01:51:04   - Well you waited until they had a WWDC where they said,

01:51:06   "Hey dummy, UI kit, mm-mm, app kit, no."

01:51:09   That's what you want, yes.

01:51:11   But yeah, as we said when we talked about the WWDC thing,

01:51:14   that is an aspirational goal, they're not there,

01:51:16   but they have clearly indicated directions,

01:51:17   So yes, you're moving now.

01:51:19   To assess your level of--

01:51:21   not level of frustration, but level of--

01:51:24   I don't know, how far have you gotten into SwiftUI?

01:51:27   One good indicator, I think, is have you yet implemented

01:51:31   an if modifier as an extension on view in SwiftUI?

01:51:35   Oh my god.

01:51:36   Because I feel like everyone who encounters this--

01:51:40   I mean, Google for it and you'll find it.

01:51:42   Because when you're writing SwiftUI

01:51:43   and you're not used to declarative,

01:51:44   you're like, can I just write a conditional?

01:51:45   and you can write conditionals in SwiftUI.

01:51:47   Like you can do it, but it's not like,

01:51:50   it looks like a regular Swift conditional,

01:51:52   but it's not, right?

01:51:53   And there are things you can't do from it

01:51:55   because it's not a real conditional.

01:51:57   So it is possible to make, you know,

01:51:59   how you can just do, you know, like a dot padding,

01:52:01   you know, dot accessibility label, dot whatever,

01:52:04   you know, dot modified as your dot chaining

01:52:06   off of the various things in the SwiftUI view,

01:52:08   you can make a dot if.

01:52:10   And it was like, like a week into this when I said,

01:52:13   you know what, F it, I need something that's like dot if,

01:52:15   and you just Google for it and it's like,

01:52:17   it's like 10 lines of code, it's real easy to do,

01:52:20   and once you have it, you're just like,

01:52:21   ah, I feel better.

01:52:23   Again, you're kind of like fighting against

01:52:24   the declarative nature, but sometimes it makes things

01:52:26   so much easier, kind of like a view that fits

01:52:29   that they added.

01:52:30   I love their naming, it's just this frustration of like,

01:52:33   well, sometimes I wanna have this view,

01:52:34   but sometimes when the thing is this size,

01:52:35   I wanna have this view, and I can do all this

01:52:38   geometry reader stuff to figure out which one's gonna fit

01:52:40   and use the right one.

01:52:41   And this is a case where I'd be doing an if,

01:52:43   like dot if this then do this kind of view

01:52:45   but they made a whole built in, not built in,

01:52:48   but like part of situation is view that fits

01:52:50   and you just say hey, here's the two possibilities,

01:52:52   just pick the one that fits.

01:52:54   Don't make me do the math, don't make me figure it out.

01:52:57   View that fits, I feel like dot if

01:52:58   is a similar type of thing.

01:52:59   We were like, I could do this another way

01:53:01   but just dot if, right?

01:53:02   I still have a place in my code where I wanna do an HStack

01:53:04   or a VStack based on some value

01:53:06   and I can't figure out how to do that

01:53:08   because you can't do like dot if, you know,

01:53:10   'cause I wanna say, I guess I could take everything

01:53:12   that's in the HStack and the VStack

01:53:13   and break it out into a function.

01:53:14   And it's like, but I don't wanna do that.

01:53:16   It's not that much stuff.

01:53:17   So now I have like, if this HStack else VStack,

01:53:20   and I wish I could do HStack or VStack

01:53:22   based on this parameter.

01:53:23   - That is something you could write, but I take your point.

01:53:26   - No, you totally can write.

01:53:28   Like that's the same thing with .if.

01:53:29   Like all it is is it's not Stinktastic sugar directly

01:53:32   because it is actually doing some more stuff

01:53:34   of like wrapping things in interview or whatever.

01:53:35   But like, but it's just like,

01:53:38   I don't wanna see as much stuff here.

01:53:39   So I wish I could make this more compact.

01:53:41   we'll break it out into another subfunction.

01:53:42   There's no efficiency problem.

01:53:43   SwiftUI would have squished it all back for your bug,

01:53:45   but I don't wanna break it out into another function.

01:53:47   I just wanna do it here.

01:53:49   Then you end up doing extension view

01:53:51   and you just start typing stuff.

01:53:52   And so many people have done this.

01:53:54   If you just, I bet if you search GitHub

01:53:56   for extension view open curly brace,

01:53:59   you would find so much stuff.

01:54:00   'Cause to SwiftUI's credit,

01:54:02   you can make all sorts of view extensions

01:54:05   that do really cool things and are super convenient,

01:54:07   but it's kind of like, well, once you have that hammer,

01:54:09   everything looks like a new view modifier,

01:54:11   you're just like, I'm gonna make my own view modifiers,

01:54:13   I'm gonna call them whatever I want,

01:54:14   and they're gonna, you know,

01:54:15   you can paint yourself into a corner,

01:54:16   but I feel like .if is a flagpole of like,

01:54:18   when you reach the level of frustration

01:54:20   of not understanding how it wants you to do things,

01:54:21   you're like, can I just have if and you make .if.

01:54:24   - That's impressive.

01:54:25   I haven't reached that level of hacks yet,

01:54:28   but one level I've used a lot is like,

01:54:30   making a custom view modifier just to get around

01:54:34   the lack of an if available construct,

01:54:37   for like, if I want a modifier on something

01:54:39   that's only available, say, in iOS 15,

01:54:41   and I'm writing for iOS 14 and 15,

01:54:43   then you have to basically make a custom view modifier

01:54:46   that's like, iOS 14 compatible version of this,

01:54:49   and inside of it, you're like, well, if available this,

01:54:52   then modify the view like this,

01:54:53   otherwise, don't modify the view.

01:54:55   And it's one of those frustrating things,

01:54:57   because you can't use a real if statement in a dot chain,

01:55:01   then you can't use if available in a regular, clean way.

01:55:05   - But you can use it with dot if.

01:55:06   I just put a pasteban for you, it's 10 lines of code,

01:55:09   Don't paste this into your code.

01:55:11   It'll be so easy and tempting to use.

01:55:13   - This is amazing.

01:55:15   - That's it.

01:55:16   It's not complicated code.

01:55:17   - Oh God, what a ridiculous thing this is.

01:55:21   - This is both awesome and sad all at the same time.

01:55:25   Oh man, I don't know.

01:55:26   I have such mixed feelings about SwiftUI.

01:55:30   I think because I'm a really crummy UI designer

01:55:36   and developer. There's a lot that I like about SwiftUI because I think it helps me as someone

01:55:41   who is an amateur at best when it comes to this stuff. It helps me create things that I think are

01:55:47   aesthetically pleasing without me feeling like I'm getting bogged down in pixel perfect BS,

01:55:54   where I'm trying to get UIKit to do something that it doesn't really want to do. And I think that

01:56:00   SwiftUI makes a lot of stuff, it makes making things pretty a lot easier for me anyway.

01:56:06   But the downside is, as many people have said many, many times, when you hit a wall in SwiftUI,

01:56:14   it's one of two things. It's either like a screen on my screen in porch where you can push your way

01:56:20   through it if you really try, like you can do dot if, if you will, or it is the Great Wall of China

01:56:26   and there is no getting through it, over it, around it, etc. Like, you shall not pass,

01:56:30   There is nothing you can do. And those situations are so incredibly frustrating. And so often,

01:56:37   things that you think should be easy, and I wish I could think of an example of this, but things that

01:56:43   you would think should be easy are very, very, very difficult. Now the flip side of that is

01:56:47   things that oftentimes you would expect to be difficult can be very easy. But when the easy

01:56:51   stuff is super hard, it's just infuriating. And so I waffle, in typical Casey style, I waffle back

01:56:58   and forth between this is the greatest thing I've ever seen in my life and this is a pile of garbage

01:57:02   that I wish I never saw before. I was thinking of something that one of those type of things that

01:57:06   if there's no way to do it you have kind of problem I'm thinking of the type of hacks that

01:57:10   I don't know they seem natural to do and in a part of language one of the examples is I have

01:57:14   a place in my code where I'm setting I have a bunch of like enum values or something for

01:57:19   that are going to appear in a pop-up menu right and I put them in the order in the enum like in

01:57:24   the order I want to see them in the pop-up menu just for convenience again I'm not writing a big

01:57:27   It's simple, I'm like, why not make my life easier?

01:57:29   Why not put them there?

01:57:30   But actually, what I want on the real pop-up menu

01:57:32   is I want there to be a separator between like,

01:57:34   you know, the first two items, then a separator,

01:57:37   then the rest of the items, right?

01:57:38   And there's a million ways to do that in AppKit.

01:57:40   It's really easy to add a separator or whatever.

01:57:41   But being a lazy programmer, you're like,

01:57:43   I kinda like this being data-driven.

01:57:44   I kinda like just being able to define the enum

01:57:46   and put a comment above that says,

01:57:47   by the way, the order of these things is important.

01:57:49   It's the order they're gonna appear in the pop-up menu.

01:57:52   And being able to add something

01:57:54   that will automatically make the separator appear.

01:57:57   And AppKit doesn't have that functionality.

01:57:58   AppKit doesn't know, hey, give me an enum,

01:58:00   and there's no way to express a separator item in an enum,

01:58:03   because it shouldn't be tied to the UI, right?

01:58:06   But I have this whole data-driven structure

01:58:08   that's saying, here's going to be the contents of my menus

01:58:10   and everything, and the enum is part of it.

01:58:12   And in that definition, I can put

01:58:14   an item that's just a string that's a hyphen.

01:58:16   And then in the code, when I'm building that pop-up menu,

01:58:19   I can say, oh, and by the way, if the item you got

01:58:21   is not a menu item but it's just a hyphen, put it

01:58:23   in a separator.

01:58:24   And I can do that because it's an imperative language.

01:58:26   and I can hook into any phase of the process.

01:58:28   I can hook into the thing that's like,

01:58:29   here's where I'm building this pop-up menu,

01:58:31   and here's the data I'm being driven off of to do it.

01:58:33   And I just feed this data in,

01:58:34   and it goes into the generic system,

01:58:35   and it says if it's a menu item, put the menu item in there,

01:58:37   and if it's an enum, use the label of the enum,

01:58:39   and have the value be the value of the enum.

01:58:41   Like, it's data-driven code.

01:58:44   You don't wanna do everything by hand, right?

01:58:45   But what if you need a separator?

01:58:47   Just throw a hyphen in there, and I say,

01:58:48   I'm writing the code.

01:58:49   I'm at the point where I'm reading the thing.

01:58:51   If I see a hyphen, just put in a separator.

01:58:53   That type of plumbing,

01:58:55   that type of override this method

01:58:57   and write your imperative code here

01:58:59   is not how SwiftUI works.

01:59:01   It's declarative.

01:59:02   It's not like you're going to subclass a thing

01:59:04   and override the methods where you wanna override

01:59:06   and do this on setup and this on teardown or whatever.

01:59:08   That's not how it works, right?

01:59:10   And so there's not really a convenient place to say,

01:59:12   I'm laying out a context menu,

01:59:14   and by the way, I want it to be data-driven or whatever.

01:59:16   And you can do that by making a view modifier

01:59:19   that says .data-driven context menu.

01:59:22   And then in the .data-driven context menu,

01:59:25   view extension, put all that imperative coding in,

01:59:28   but you feel like you're mode switching.

01:59:29   You feel like it's not, you know,

01:59:31   I shouldn't be writing my own extensions to view

01:59:34   every time I wanna do something.

01:59:36   It's just a different way of thinking about it.

01:59:39   But when you're faced with that situation in SwiftUI,

01:59:41   you're like, but then what do I do?

01:59:42   Like, you know, do I make the fallback that maybe,

01:59:46   you know, you can always just do a thing where you say,

01:59:49   I'm gonna fall back to AppKit,

01:59:50   or I'm gonna fall back to UIKit,

01:59:51   or I'm going to make this whole thing driven by UIKit,

01:59:54   but then have the subset of it be SwiftUI

01:59:56   or something like that.

01:59:57   And I do wonder about, I think we mentioned this

01:59:59   in the past shows, what would you do if there was no UI kit?

02:00:01   What would you do if there was no app kit?

02:00:02   Well, you know, SwiftUI wouldn't work

02:00:04   because half the things it's doing under the cover

02:00:05   use UI kit and app kit.

02:00:06   But setting that aside,

02:00:08   if there was no lower level to drop down to,

02:00:10   how would you do the weird imperative thing

02:00:13   where you look for a hyphen in a data structure

02:00:15   and when you write some code that's when it sees that hyphen

02:00:17   it adds a menu separator,

02:00:18   which is not a feature of any framework.

02:00:19   It's just some BS you made up yourself

02:00:21   to make your thing more convenient

02:00:23   so you wouldn't have to manually write a bunch of code.

02:00:25   I don't know, I think about that when I'm doing hacks

02:00:27   like that, of like, hey, if this wasn't here,

02:00:29   what would be my alternative,

02:00:31   and I don't really know the answer.

02:00:32   - Well, I think it would be largely like

02:00:35   the earlier days of the web, where a lot of times,

02:00:38   like, you know, suppose you wanted to, say,

02:00:40   have a very custom behavior or appearance

02:00:43   of a certain form control, and browsers would render it

02:00:45   using some kind of UI widget from the platform,

02:00:47   and a lot of times, certain customization

02:00:50   just wouldn't be possible.

02:00:51   I think it would be a lot like that.

02:00:53   You would just, at that time, we web developers

02:00:57   would just kind of accept, like, well,

02:00:59   ideally we would have the app look and work like this,

02:01:02   but because of the limitations of the browser,

02:01:04   we can't really do that, so we'll just suck it up.

02:01:07   I think that's the answer.

02:01:08   - Well, what we would do is you'd make an image.

02:01:10   You'd say, okay, this is not gonna be a submit button.

02:01:13   It's gonna be an image, and I'm gonna use JavaScript

02:01:15   that when I'm gonna get the mouse down on the image,

02:01:17   and then I'm gonna change the image to be the mouse down,

02:01:19   like you'd basically custom implement your button.

02:01:20   In fact, in Switch Glass, my little app

02:01:23   that shows one tiny thing on the screen,

02:01:24   I was using the SwiftUI button, capital B,

02:01:27   type for my buttons for like, I don't know,

02:01:31   more than half of the versions until I just gave up

02:01:33   'cause I could not get it to do what I wanted it to do

02:01:35   and I just had to stop using button

02:01:37   and basically re-implement my own button

02:01:39   the same way you would do it on the web

02:01:41   back before CSS could style submit buttons.

02:01:43   You'd make it an image.

02:01:44   You'd try to grab mouse down yourself.

02:01:46   You'd set your own mouse down state.

02:01:48   You detect mouse up.

02:01:49   you basically re-implement button,

02:01:51   half-assed re-implementation of button

02:01:52   just so you can get it to do what you want it to do.

02:01:54   And of course it doesn't look like the native UI,

02:01:56   and of course the real solution is,

02:01:57   please let us use CSS to style form controls,

02:01:59   which took many years for it to come.

02:02:02   But yeah, that's the alternative is like,

02:02:04   well, I can't use button.

02:02:06   I give up.

02:02:07   I tried for six months and button just has too many bugs.

02:02:11   And my thing, by the way, the bug was like,

02:02:13   if you drag something, if you like pick a file

02:02:14   off your desktop and drag it over my window,

02:02:18   It's already weird that you can drag something over my window

02:02:20   because it's a floating palette, and the active app is finder,

02:02:22   not the thing, but you want it to react to your drag,

02:02:24   and you want it to detect your drag,

02:02:26   and you want it to highlight.

02:02:27   That thing where you're already holding down the mouse button

02:02:29   and you drag a thing over it, you

02:02:31   could wiggle it back and forth over my palette,

02:02:33   and you could get the SwiftUI button into a state

02:02:36   where it didn't realize you were no longer on it,

02:02:38   and the mouseover state would stay stuck.

02:02:41   You'd have to wiggle it a lot, but you could do it.

02:02:43   You could outrun the mouse tracking,

02:02:45   and I just could not get rid of that bug,

02:02:47   because I don't control that.

02:02:47   I don't control the mouse tracking.

02:02:48   That's happening in the layer below.

02:02:50   If I was using AppKit, I would control it,

02:02:51   'cause AppKit, I have access to all that mouse tracking

02:02:53   and mouse tracking regions and all that other stuff,

02:02:55   but I'm not using AppKit.

02:02:56   It's SwiftUI button that's saying, oh, SwiftUI button,

02:02:59   don't worry, it knows when the mouse is over it.

02:03:01   It doesn't, it gets confused.

02:03:03   And then my app has a cosmetic bug,

02:03:05   'cause now the highlighted state gets stuck

02:03:07   and you put the file back down on the desktop

02:03:10   and you look up at the thing and it's stuck.

02:03:11   So I had to give up on button

02:03:13   and had to implement it myself.

02:03:14   And that definitely felt like web UI of like,

02:03:16   oh, you can't style form controls with CSS,

02:03:19   implement it yourself with an image map.

02:03:22   Oh, those were the days.

02:03:23   - I'm hoping that, so the discipline I'm going to try

02:03:26   to have here is to be more flexible on my requirements

02:03:30   and to actually give in a lot of those cases

02:03:34   where if the stock behavior of some control

02:03:37   or the easily achievable behavior of some control

02:03:41   or appearance of some control is not exactly what I want,

02:03:44   but I can make it work, then I'll just make it work.

02:03:48   Because one goal I have here,

02:03:50   I have eight years of code here,

02:03:52   and so my UI kit code, even my UI kit code

02:03:56   is not only in objective C,

02:03:58   so it's typically more verbose than a Swift equivalent,

02:04:01   but also it's like using all old UI kit methods

02:04:04   of doing things, so there's a lot of boilerplate

02:04:07   going on everywhere and manually setting borders

02:04:10   and stuff like that all over the place.

02:04:12   I'm hoping, and I think this is reasonable

02:04:14   to expect that a Swift UI re-implementation

02:04:17   of a lot of this stuff should be way less code.

02:04:21   And that would, I would see a lot of value

02:04:26   in having way less code, especially at the UI level.

02:04:29   So I'm hoping that's achievable here.

02:04:31   And if it is, I'm willing to give up

02:04:34   some of the little details

02:04:35   if it ends up being way less code.

02:04:37   - I think that's a reasonable and pragmatic trade-off

02:04:39   to make and I'm dubious that Mark Orment is capable

02:04:43   making that trade-off just because I know how much you like things to be, you

02:04:47   know, exactly just the way you want. But if you can stick with it, I think that's

02:04:52   a perfectly, perfectly reasonable and again pragmatic trade-off to make.

02:04:56   That's a big if. That is a big if.

02:05:01   (beep)