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)