PodSearch

ATP

444: It Should Definitely Bother Apple

 

00:00:00 ◼   ► - In other news, some jackass named Casey

00:00:02 ◼   ► just started recording two and a half minutes ago.

00:00:04 ◼   ► So I'm gonna leave you a nice edit.

00:00:05 ◼   ► So in case you wanna cut all that--

00:00:07 ◼   ► - I'm gonna kill it. - I know.

00:00:09 ◼   ► - Your punishment is I'm gonna have to use

00:00:10 ◼   ► the low-quality Zoom version for your opening banter.

00:00:13 ◼   ► - That is also completely acceptable, no joke.

00:00:15 ◼   ► But do you want me to leave you like a nice

00:00:16 ◼   ► let's start with follow up right now?

00:00:18 ◼   ► - Do you need to have a checklist, Casey?

00:00:20 ◼   ► - I do, I need to call Merlin. - I suggested that Merlin

00:00:22 ◼   ► have a checklist, and maybe you need a checklist, too.

00:00:25 ◼   ► - It's been a long time.

00:00:26 ◼   ► And the problem is, I was all out of sorts today,

00:00:29 ◼   ► and I'm the one who caused us to come and do this today.

00:00:32 ◼   ► And then I felt like I was late to get to our Zoom call.

00:00:35 ◼   ► It's entirely my fault.

00:00:36 ◼   ► Like, I'm not trying to blame anyone but me.

00:00:38 ◼   ► But I was all out of sorts, I didn't hit record,

00:00:40 ◼   ► and I'm used to call recorder having my back on this one.

00:00:43 ◼   ► And because we switched to Zoom,

00:00:45 ◼   ► and because we were all eventually going to be on M1 Max,

00:00:48 ◼   ► except maybe John, it wasn't there to save me.

00:00:51 ◼   ► It's all my fault, but I feel dumb.

00:00:53 ◼   ► Anyway, so you don't want to go at it,

00:00:55 ◼   ► you're just gonna use the crap copy.

00:00:56 ◼   ► That's totally fine, it's entirely my fault.

00:00:58 ◼   ► I do not blame you at all, but I'll leave you

00:01:00 ◼   ► a nice intro if you want it.

00:01:02 ◼   ► - You'll find out.

00:01:03 ◼   ► - Okay.

00:01:04 ◼   ► - See, the problem is, if I use the crap copy,

00:01:06 ◼   ► it punishes you, but it also punishes me,

00:01:08 ◼   ► because people will first think

00:01:09 ◼   ► that I just suck at audio quality.

00:01:11 ◼   ► (laughing)

00:01:13 ◼   ► - Well, you could also leave all this in if you would like.

00:01:15 ◼   ► - People don't even notice.

00:01:17 ◼   ► It'll be short enough, it'll sound like,

00:01:18 ◼   ► oh, it sounded weird in the beginning,

00:01:19 ◼   ► but then it sounded normal, it'll be fine.

00:01:21 ◼   ► - I'm gonna do this for me, and you're going to ignore it,

00:01:24 ◼   ► and that's fine, but it will make me feel slightly better

00:01:26 ◼   ► about my ineptitude.

00:01:28 ◼   ► So I need you two to shut the hell up for like 10 seconds.

00:01:30 ◼   ► - Are you re-recording an intro?

00:01:31 ◼   ► - You're never gonna be able to do it naturally.

00:01:33 ◼   ► It's always gonna sound awkward.

00:01:34 ◼   ► - No, no, just, let me give it a shot.

00:01:36 ◼   ► - We are sponsored this week by Squarespace.

00:01:38 ◼   ► - God dammit.

00:01:39 ◼   ► All right.

00:01:40 ◼   ► - Recording. - Hey, listeners.

00:01:42 ◼   ► Would you two shut up for two seconds?

00:01:44 ◼   ► - That's an incomparable joke for you there, Casey.

00:01:47 ◼   ► - Hey, listeners, it's your pal Casey.

00:01:49 ◼   ► Some dummy, like me, forgot to hit record right away

00:01:52 ◼   ► when I started recording tonight.

00:01:53 ◼   ► So if I sound like garbage, it's not Marco's fault,

00:01:55 ◼   ► it's not John's fault, it's not your phone's fault,

00:01:58 ◼   ► it's my fault.

00:01:58 ◼   ► But don't worry, I hit record after a few minutes,

00:02:01 ◼   ► and then I'll sound just like I normally do.

00:02:02 ◼   ► - I'm not gonna use this.

00:02:04 ◼   ► I would never put that in.

00:02:06 ◼   ► I would, I've already done the edit in my head.

00:02:08 ◼   ► I gotta cover, don't worry.

00:02:09 ◼   ► I know exactly what I'm gonna do.

00:02:11 ◼   ► There's no way I'm gonna use something like that ever.

00:02:13 ◼   ► - You've heard of headcanon?

00:02:14 ◼   ► Marco's got headedit.

00:02:16 ◼   ► - Yeah. (laughs)

00:02:17 ◼   ► - Hi, listeners, like this.

00:02:19 ◼   ► - Why, why would I ever do that?

00:02:21 ◼   ► - Hey, if you, I, because I just wanted to give you

00:02:24 ◼   ► the option, it makes me feel better to know

00:02:25 ◼   ► you have the option.

00:02:26 ◼   ► I know you're not gonna use it.

00:02:27 ◼   ► It's not for you, it's for me.

00:02:28 ◼   ► - Hey, listeners, Casey here.

00:02:30 ◼   ► I'd like to apologize for my ineptitude

00:02:33 ◼   ► starting my recording tonight.

00:02:34 ◼   ► - You should apologize for his counterfactual statements

00:02:38 ◼   ► about cryptocurrency.

00:02:39 ◼   ► That's what you should be apologizing for.

00:02:40 ◼   ► - Oh, God.

00:02:42 ◼   ► - I just, I hate to tell you, Casey,

00:02:43 ◼   ► but you really just don't have any of your facts

00:02:46 ◼   ► right on cryptocurrency.

00:02:46 ◼   ► - Things you said were based not in fact but ignorance.

00:02:49 ◼   ► Here are five paragraphs describing how wrong you are.

00:02:53 ◼   ► - We're lucky if they have paragraph breaks.

00:02:55 ◼   ► - Oh, God, you wanna restart the whole friggin' show

00:02:57 ◼   ► 'cause we can do that. - No, no, no.

00:02:59 ◼   ► - I'm kidding, I'm kidding, I'm kidding, I'm kidding.

00:03:01 ◼   ► - We plow bravely forward.

00:03:02 ◼   ► - Yep, this is all goin' in.

00:03:04 ◼   ► - I wanted to bring up just a very quick follow-up item

00:03:09 ◼   ► from last week's Ask ATP.

00:03:11 ◼   ► Somebody had asked about what camera to take to Disney World,

00:03:16 ◼   ► and I actually really enjoyed that discussion.

00:03:17 ◼   ► I thought it was very interesting, but somebody,

00:03:20 ◼   ► Ryan D. wrote in to remind me of Disney PhotoPass,

00:03:23 ◼   ► and if you're not a Disney World person,

00:03:24 ◼   ► this probably means nothing to you.

00:03:25 ◼   ► I'll try to be very brief.

00:03:27 ◼   ► Disney PhotoPass is a thing that you can add on,

00:03:29 ◼   ► of course, for money, where as you are around the parks,

00:03:33 ◼   ► you can choose to have your picture taken

00:03:36 ◼   ► by Disney photographers that have DSLRs,

00:03:38 ◼   ► and I don't recall exactly what equipment they have,

00:03:40 ◼   ► but I know they're DSLRs.

00:03:42 ◼   ► And as you're around the park, you can say,

00:03:43 ◼   ► "Hey, would you mind taking a picture of us, please?"

00:03:44 ◼   ► And they'll scan your ticket

00:03:46 ◼   ► or your MagicBand or what have you,

00:03:47 ◼   ► and then that evening, that thing,

00:03:51 ◼   ► that picture will be in your online account,

00:03:53 ◼   ► so you can download a full res copy

00:03:55 ◼   ► and so on and so forth.

00:03:56 ◼   ► I think it was a couple hundred bucks

00:03:59 ◼   ► when we went in late 2019 for Declan Spiff,

00:04:02 ◼   ► which on the surface is a lot of money

00:04:04 ◼   ► to have these Disney photographers take your picture,

00:04:06 ◼   ► but I absolutely think it's worth every ounce

00:04:09 ◼   ► of the money you spend, because not only can you do this

00:04:12 ◼   ► and get everyone in the pictures

00:04:13 ◼   ► as opposed to all of our family pictures,

00:04:15 ◼   ► where it's everyone but me because I'm taking the picture,

00:04:17 ◼   ► but also, as you get on and off rides,

00:04:19 ◼   ► you can just bloop your ticket

00:04:20 ◼   ► and it will automatically send that ride photo

00:04:24 ◼   ► that in the before times, before before times,

00:04:27 ◼   ► it used to cost like 20 bucks for each of these,

00:04:29 ◼   ► it'll sync that ride photo with your account

00:04:30 ◼   ► and then you can just download it on your own,

00:04:32 ◼   ► which is super great.

00:04:33 ◼   ► In some cases, in some rides,

00:04:35 ◼   ► by some magic I'm not entirely clear on,

00:04:37 ◼   ► it'll actually automatically figure out

00:04:39 ◼   ► which vehicle you were on and which photo you're in

00:04:42 ◼   ► and sync that with your account.

00:04:43 ◼   ► You don't have to do any manual blooping of any sort.

00:04:45 ◼   ► So that's Disney PhotoPass.

00:04:47 ◼   ► If you are a Disney World person or Disneyland,

00:04:49 ◼   ► I mean, I'm sorry if all you have is Disneyland,

00:04:51 ◼   ► but that's neither here nor there,

00:04:52 ◼   ► if you're a Disney World person, please check that out.

00:04:54 ◼   ► It's very, very good.

00:04:56 ◼   ► - Yeah, I think we got that when we went.

00:04:57 ◼   ► And if you were like the person last week

00:04:59 ◼   ► who was asking what kind of cameras should they bring

00:05:01 ◼   ► and whether they should use like a rental company

00:05:03 ◼   ► to get one, chances are good that you probably also

00:05:05 ◼   ► want to take your own photos

00:05:07 ◼   ► because the Disney, the PhotoPass ones are what you expect.

00:05:10 ◼   ► It's you in front of landmarks, taking in a group picture,

00:05:13 ◼   ► maybe doing a fun pose, right?

00:05:14 ◼   ► But if you're taking your own camera

00:05:16 ◼   ► and wanting to get more candid things or casual things

00:05:18 ◼   ► or photos of other aspects traveling to and from the park,

00:05:22 ◼   ► your hotel room, kids waiting in line,

00:05:25 ◼   ► or all sorts of stuff like that,

00:05:26 ◼   ► you want to take your own pictures too.

00:05:27 ◼   ► So I like everything at Disney.

00:05:30 ◼   ► It's an add-on and it's a good add-on

00:05:32 ◼   ► and you should get it in addition to the other thing

00:05:34 ◼   ► and also the other thing and also the other thing.

00:05:36 ◼   ► So Disney is expensive, but PhotoPass does have value.

00:05:41 ◼   ► Like Casey, I think the only pictures we have

00:05:44 ◼   ► with me in them are the PhotoPass pictures.

00:05:45 ◼   ► - Exactly. - I'm taking all the pictures.

00:05:47 ◼   ► And some of them are good.

00:05:49 ◼   ► And then one more note.

00:05:50 ◼   ► Casey keeps saying DSLR.

00:05:52 ◼   ► I'm assuming they don't have the little mirrors

00:05:55 ◼   ► flapping up and down in their cameras anymore,

00:05:57 ◼   ► but this is just the, what you're trying to say with that

00:05:59 ◼   ► is an interchangeable lens digital camera?

00:06:01 ◼   ► Is that what you're trying to say?

00:06:02 ◼   ► - Yes, yes.

00:06:03 ◼   ► A big fancy camera, TM.

00:06:05 ◼   ► Moving right along, Dan Chandler had some interesting

00:06:08 ◼   ► feedback with regard to cybersecurity and bug bounties

00:06:11 ◼   ► and things of that nature.

00:06:12 ◼   ► I'm a cybersecurity professional, says Dan Chandler,

00:06:14 ◼   ► and have helped run bug bounties for some large organizations

00:06:17 ◼   ► there are a few reasons why an organization

00:06:18 ◼   ► should not just pay out for any bug that's reported.

00:06:21 ◼   ► First of all, many vulnerabilities reported

00:06:22 ◼   ► to bug bounty programs are also sold to criminals.

00:06:24 ◼   ► If I'm willing to sell to criminals,

00:06:26 ◼   ► then why not get paid twice?

00:06:28 ◼   ► Secondly, if you host a bug bounty program

00:06:29 ◼   ► that is too quote unquote generous,

00:06:31 ◼   ► then you get more and more people hunting for defects

00:06:33 ◼   ► in your product.

00:06:34 ◼   ► You have to assume that some percentage of these people

00:06:36 ◼   ► are going to sell their exploit to a criminal

00:06:37 ◼   ► as well as submit it to the bug bounty program.

00:06:40 ◼   ► Since you cannot fix every vulnerability instantly,

00:06:42 ◼   ► you wanna balance the desire to encourage someone

00:06:44 ◼   ► who finds a vulnerability to come forward with the risk

00:06:46 ◼   ► to the public of paying random people

00:06:49 ◼   ► to hunt for vulnerabilities in your product or service.

00:06:53 ◼   ► And then finally, it's actually pretty uncommon

00:06:55 ◼   ► for a bug bounty program to uncover a major vulnerability

00:06:58 ◼   ► the company did not already know about.

00:06:59 ◼   ► It happens, but it's rare.

00:07:01 ◼   ► The main purpose of the large bug bounty payouts

00:07:03 ◼   ► is essentially to provide hush money to someone

00:07:04 ◼   ► who does find a major vulnerability before dispatched.

00:07:08 ◼   ► - Yeah, I think that that's true in general,

00:07:10 ◼   ► but for Apple and the iPhone specifically,

00:07:13 ◼   ► there's probably not much more you could do

00:07:15 ◼   ► to encourage people to find exploits.

00:07:17 ◼   ► People are already highly motivated to do that.

00:07:22 ◼   ► So, I mean, it is definitely a balance,

00:07:24 ◼   ► but in general, this definitely makes sense.

00:07:27 ◼   ► The getting paid twice thing,

00:07:28 ◼   ► I feel like that's just the cost of doing business.

00:07:30 ◼   ► I mean, like, yeah, that's gonna happen.

00:07:32 ◼   ► You don't have control over it,

00:07:33 ◼   ► but all you can do is encourage

00:07:37 ◼   ► all the honest people to come,

00:07:39 ◼   ► and yeah, the dishonest people are also gonna come.

00:07:40 ◼   ► It's just the cost of doing business, but it's a shame.

00:07:43 ◼   ► The hush money thing is interesting

00:07:45 ◼   ► because you see it from my read

00:07:50 ◼   ► on these people's blog posts and stuff,

00:07:52 ◼   ► the people who are trying to do the right thing

00:07:54 ◼   ► and keep quiet for such a long time,

00:07:57 ◼   ► and what I feel like is the motivation of these people

00:07:59 ◼   ► to eventually break their silence

00:08:01 ◼   ► and just essentially refuse the money

00:08:02 ◼   ► is not so much that, like, oh, you can pay me to keep quiet,

00:08:07 ◼   ► but if you don't, I'm gonna out you,

00:08:08 ◼   ► is there is cache and reputation boost

00:08:13 ◼   ► to finding an important vulnerability.

00:08:14 ◼   ► You can talk about it at a security conference, right?

00:08:17 ◼   ► Like, it helps your profile in the security business

00:08:21 ◼   ► to find big vulnerabilities,

00:08:23 ◼   ► and the longer you have to keep quiet about them,

00:08:25 ◼   ► the more you can't give talks about them.

00:08:29 ◼   ► It's like you don't get reputational credit for it, right?

00:08:31 ◼   ► And the things I'm reading are people

00:08:33 ◼   ► who essentially end up turning down the money from Apple.

00:08:35 ◼   ► Now, maybe they already sold it to criminals,

00:08:36 ◼   ► but I can't tell that from their blog post,

00:08:38 ◼   ► but it seems to me that they really just wanna tell the world

00:08:41 ◼   ► that they found this 'cause they're proud of it,

00:08:43 ◼   ► but Apple says, oh, you can't until we fix it,

00:08:45 ◼   ► and they send an email once every six months

00:08:47 ◼   ► to say, no, it's not fixed yet, so that can be refreshing.

00:08:50 ◼   ► But anyway, these are all important points in general

00:08:52 ◼   ► with bug bounty programs that,

00:08:53 ◼   ► especially if you have a thing

00:08:55 ◼   ► that people previously weren't breaking into,

00:08:57 ◼   ► but suddenly you're giving out millions of dollars,

00:08:59 ◼   ► yeah, it's gonna attract a bunch of new people

00:09:00 ◼   ► to try to find holes in your thing,

00:09:01 ◼   ► and your thing does have holes in it

00:09:03 ◼   ► because they all do because they're made by people.

00:09:06 ◼   ► - I wanted to briefly talk about cryptocurrency

00:09:08 ◼   ► because I really like feedback email, apparently.

00:09:11 ◼   ► - Why? - We got a ton,

00:09:13 ◼   ► we got a ton of feedback.

00:09:15 ◼   ► We got a ton of feedback about crypto.

00:09:17 ◼   ► - Mostly from libertarians, tech bros, and finance bros.

00:09:19 ◼   ► - Yes, and we got, to my recollection, maybe I missed it,

00:09:24 ◼   ► but to my recollection, we got literally zero email

00:09:27 ◼   ► about CSAM or maybe a couple of items,

00:09:30 ◼   ► and boy, did we get a bunch on crypto,

00:09:31 ◼   ► so we can tell what ATP listeners care about,

00:09:34 ◼   ► or perhaps what they disagree with.

00:09:35 ◼   ► But I did wanna point out the,

00:09:38 ◼   ► I'm trying to temper myself here.

00:09:40 ◼   ► The most compelling argument that I personally have heard

00:09:43 ◼   ► in favor of cryptocurrency,

00:09:44 ◼   ► which I have not had a lot of time to research,

00:09:46 ◼   ► but I did very, very briefly,

00:09:48 ◼   ► is that apparently, in countries like Nigeria,

00:09:51 ◼   ► as an example, Bitcoin may actually be

00:09:54 ◼   ► kind of the savior it is claimed to be.

00:09:56 ◼   ► My limited understanding, please fact check this

00:09:58 ◼   ► if you're interested because I'm probably lying

00:10:00 ◼   ► to you accidentally, my limited understanding is,

00:10:02 ◼   ► in some of these countries like Nigeria,

00:10:04 ◼   ► the, what is it, fiat currency,

00:10:07 ◼   ► what's the derogatory term that you use for--

00:10:09 ◼   ► - I believe that's it, yeah, fiat currency, yeah.

00:10:11 ◼   ► - The fiat currency is like falling apart in a disaster,

00:10:14 ◼   ► and so a lot of regular shmoes in Nigeria,

00:10:17 ◼   ► if what I've read is to be believed,

00:10:20 ◼   ► are turning to Bitcoin to kind of take banking,

00:10:22 ◼   ► or take money into their own hands.

00:10:24 ◼   ► And if that really is the case,

00:10:26 ◼   ► then okay, I can get behind that.

00:10:28 ◼   ► That seems somewhat legitimate.

00:10:31 ◼   ► I still think there are better ways to go about this,

00:10:33 ◼   ► perhaps, but if it costs the heat death of the universe

00:10:36 ◼   ► in order to get us there, then YOLO.

00:10:38 ◼   ► But I did want to point out that that was

00:10:40 ◼   ► one of the few semi-compelling arguments I've heard,

00:10:43 ◼   ► even though we have heard a lot of arguments

00:10:44 ◼   ► about Bitcoin over the last week,

00:10:47 ◼   ► not even like six days, four to five days,

00:10:49 ◼   ► since we released it.

00:10:50 ◼   ► - Would you call them arguments?

00:10:52 ◼   ► - A lot of well actuallys.

00:10:54 ◼   ► - We've been sent a lot of words about Bitcoin

00:10:56 ◼   ► over the last few days.

00:10:58 ◼   ► (laughing)

00:10:59 ◼   ► A lot, like the average length of the emails

00:11:01 ◼   ► is quite high.

00:11:03 ◼   ► - I don't want to make Casey disappointed,

00:11:04 ◼   ► but I think the one thing you picked out

00:11:06 ◼   ► is maybe a redeeming value of Bitcoin,

00:11:09 ◼   ► I feel like is exactly in keeping

00:11:11 ◼   ► with our collective take on it on the last episode,

00:11:14 ◼   ► because the situation you just described is

00:11:17 ◼   ► you have people in a country with a failing monetary system

00:11:21 ◼   ► and they can't trust their government

00:11:23 ◼   ► to run the monetary system,

00:11:25 ◼   ► or the monetary system is badly broken by corruption,

00:11:27 ◼   ► or massive inflation, or all sorts of other problems.

00:11:30 ◼   ► They don't have a good functioning monetary system.

00:11:32 ◼   ► So Bitcoin to the rescue, right?

00:11:34 ◼   ► That's exactly the scenario we were describing,

00:11:37 ◼   ► where Bitcoin is useful.

00:11:39 ◼   ► If you have a bunch of people who can't trust each other

00:11:42 ◼   ► and there's no middle party to be the trusted,

00:11:45 ◼   ► you know, finance institution,

00:11:48 ◼   ► like say if you're a criminal

00:11:49 ◼   ► or you're trying to collect ransomware,

00:11:51 ◼   ► or you're living in a failed state

00:11:52 ◼   ► and the monetary system of your entire country

00:11:54 ◼   ► has fallen apart, yeah, Bitcoin is there for you.

00:11:57 ◼   ► That's the exact use case.

00:11:59 ◼   ► Now in this case, you're not a criminal,

00:12:00 ◼   ► or you're not doing anything wrong.

00:12:01 ◼   ► It's not your fault you live in this country.

00:12:03 ◼   ► And so it's good that there's something,

00:12:05 ◼   ► and that's why the underlying technical structure

00:12:09 ◼   ► of having a way for people who don't trust each other

00:12:12 ◼   ► to nevertheless be able to securely transact

00:12:15 ◼   ► without anyone in the middle who they all have to trust,

00:12:18 ◼   ► that's why this is interesting.

00:12:20 ◼   ► But if the only time it becomes relevant or useful

00:12:23 ◼   ► is if like it's your last resort,

00:12:25 ◼   ► that's not an endorsement of Bitcoin or cryptocurrency.

00:12:28 ◼   ► That's a condemnation of the monetary system

00:12:30 ◼   ► of the country that you live in, right?

00:12:32 ◼   ► If Bitcoin was super awesome for being a currency,

00:12:37 ◼   ► we would all be using it in this country,

00:12:38 ◼   ► 'cause why wouldn't we?

00:12:39 ◼   ► But instead we use dollars

00:12:40 ◼   ► because they're better for that.

00:12:41 ◼   ► Yeah, and like as a sort of,

00:12:47 ◼   ► if you have to use Bitcoin specifically

00:12:50 ◼   ► for your monetary transactions,

00:12:53 ◼   ► because you have no choice,

00:12:54 ◼   ► your other monetary choices must be really bad

00:12:58 ◼   ► because I would never want to use as my money

00:13:02 ◼   ► a thing whose value can be cut in half

00:13:04 ◼   ► over the course of a couple of months.

00:13:06 ◼   ► It's extremely volatile.

00:13:08 ◼   ► It's not, you know, you don't want that in a currency.

00:13:10 ◼   ► You don't want it to be that volatile.

00:13:12 ◼   ► Maybe if you're using it as an investment vehicle

00:13:14 ◼   ► and you're speculating, volatility can be fun

00:13:16 ◼   ► and you can make lots of money or lose lots of money,

00:13:18 ◼   ► depending on how it goes.

00:13:19 ◼   ► But really, like if you look at the all-time graph

00:13:22 ◼   ► of Bitcoin value, it is extremely spiky.

00:13:25 ◼   ► And depending on where you are in the timeline,

00:13:27 ◼   ► you can lose half of your money

00:13:29 ◼   ► in less than a quarter of a year.

00:13:32 ◼   ► If you're on the other side of the spikes,

00:13:34 ◼   ► or you could quintuple your money in less than a half a year,

00:13:36 ◼   ► which is the part that the Bitcoin fans all look at.

00:13:38 ◼   ► So if you find yourself in a situation

00:13:40 ◼   ► where Bitcoin is your best choice as a currency,

00:13:44 ◼   ► that's a bummer.

00:13:45 ◼   ► But I don't think it is an endorsement of Bitcoin

00:13:48 ◼   ► as a replacement for, you know,

00:13:52 ◼   ► quote unquote normal currency.

00:13:53 ◼   ► - Fiat. - Yeah.

00:13:55 ◼   ► - And I think there's also the technical barrier,

00:13:57 ◼   ► it's also not to be underestimated.

00:13:58 ◼   ► I mean, you have this currency that people

00:14:02 ◼   ► are putting real money into and collecting real money from

00:14:06 ◼   ► that has a pretty massive technical requirement

00:14:11 ◼   ► of knowledge that you need to have

00:14:13 ◼   ► and care that you need to take

00:14:14 ◼   ► in order to have this very responsibly,

00:14:16 ◼   ► if such a thing can be considered responsible on any level.

00:14:19 ◼   ► Like, imagine if people's entire retirement savings

00:14:23 ◼   ► were dependent on their password hygiene.

00:14:25 ◼   ► This would be a bad scene.

00:14:28 ◼   ► This would, like, that would be really bad.

00:14:30 ◼   ► And that's because Bitcoin is so technical

00:14:34 ◼   ► and because it works a lot more like cash

00:14:38 ◼   ► under your mattress, but that,

00:14:40 ◼   ► it's cash under your mattress

00:14:41 ◼   ► that the entire world can access

00:14:43 ◼   ► and if you make one mistake,

00:14:44 ◼   ► the entire world can exploit it.

00:14:47 ◼   ► That's not a good place for the general audience

00:14:51 ◼   ► of non-technical users to be relying

00:14:53 ◼   ► on a lot of their money to be stored in.

00:14:56 ◼   ► And so, any scenario that you say,

00:14:58 ◼   ► "Oh, Bitcoin's great for this."

00:14:59 ◼   ► Like, well, there's also, in addition to all the downsides

00:15:00 ◼   ► we talked about last week, you know,

00:15:01 ◼   ► with the environmental costs and everything,

00:15:03 ◼   ► and the various illicit trades and ransomware

00:15:07 ◼   ► and everything that it seems to have fueled,

00:15:09 ◼   ► there's also just this massive technical risk factor here

00:15:13 ◼   ► that people get scammed out of their Bitcoins

00:15:16 ◼   ► or hacked out of their Bitcoins all the time.

00:15:19 ◼   ► And then you involve all these weird shady wallet companies

00:15:23 ◼   ► and exchanges that introduce its own whole levels

00:15:26 ◼   ► of technical risk and opportunities for sleaziness or scams.

00:15:31 ◼   ► It's just, it's like this giant seedy underbelly of finance

00:15:36 ◼   ► that the proponents of it seem to be very, you know,

00:15:39 ◼   ► hell-bent on getting regular people

00:15:41 ◼   ► to put their money into it.

00:15:43 ◼   ► See, also the stock market.

00:15:44 ◼   ► Whereas, like, really, if you don't have

00:15:47 ◼   ► a baseline level of knowledge,

00:15:49 ◼   ► you will lose, or you will be at risk to lose everything.

00:15:53 ◼   ► Through no fault of your own.

00:15:54 ◼   ► And that's, I think that can't be overlooked.

00:15:57 ◼   ► - Yeah, a lot of companies build on top

00:15:58 ◼   ► of the infrastructure of Bitcoin or whatever.

00:16:00 ◼   ► Like, you end up going through one of these companies

00:16:02 ◼   ► to deal with stuff, just because you don't, like,

00:16:05 ◼   ► there is a technical barrier to being able

00:16:06 ◼   ► to sort of figure out how to do it

00:16:08 ◼   ► and having the capacity to do it, you know,

00:16:11 ◼   ► right on the network itself.

00:16:12 ◼   ► So there's tons of companies that will keep a wallet for you

00:16:14 ◼   ► and mining pools and all sorts of other things

00:16:17 ◼   ► where even though Bitcoin is supposed to be decentralized

00:16:20 ◼   ► and no central authority or whatever,

00:16:23 ◼   ► it doesn't mean that there aren't intermediaries.

00:16:26 ◼   ► I imagine most, you know, sort of casual individuals

00:16:30 ◼   ► who are doing things with any kind of cryptocurrency

00:16:32 ◼   ► are using some kind of intermediary

00:16:34 ◼   ► that makes it more convenient for them.

00:16:35 ◼   ► Some of them don't actually require you

00:16:37 ◼   ► to give up any particular security,

00:16:39 ◼   ► in which case you're back to the Markov scenario

00:16:41 ◼   ► where it's on you to make sure you're careful

00:16:43 ◼   ► with this stuff.

00:16:44 ◼   ► But other ones do sort of take over some of the tasks

00:16:46 ◼   ► of security for you in exchange for transaction fees

00:16:50 ◼   ► or whatever, you know, like there are businesses

00:16:51 ◼   ► built on top of this and some people have been promoted

00:16:53 ◼   ► that this is the model, that Bitcoin,

00:16:54 ◼   ► even though it has a very crappy transaction rate

00:16:56 ◼   ► due to proof of work stuff,

00:16:58 ◼   ► you can build a second layer on top of that

00:17:00 ◼   ► and that's your currency system and so on and so forth.

00:17:02 ◼   ► But you know, it's kind of a shame that Bitcoin

00:17:05 ◼   ► is the one with all of the PR and everything

00:17:08 ◼   ► because in many ways it's kind of the most primitive

00:17:12 ◼   ► and the sort of, the least user friendly, let's say.

00:17:15 ◼   ► But that said, like there are lots of other cryptocurrencies

00:17:19 ◼   ► and lots of these other, you know,

00:17:21 ◼   ► anyone can make a cryptocurrency

00:17:22 ◼   ► and they all have different feature sets

00:17:23 ◼   ► and some of them are clones of other ones

00:17:24 ◼   ► and there's lots of monetary scams around them.

00:17:26 ◼   ► But it's a big world of stuff.

00:17:29 ◼   ► Like there are lots of interesting ideas

00:17:31 ◼   ► floating around there from like Ethereum's like contracts

00:17:34 ◼   ► on the blockchain and everything to all sorts of,

00:17:36 ◼   ► you know, the proof of work, proof of stake for stuff

00:17:38 ◼   ► and all the various parameters within those models

00:17:42 ◼   ► and how they're distributed and it's sort of like

00:17:45 ◼   ► a bunch of experiments all being run at once.

00:17:47 ◼   ► Which one of these works?

00:17:48 ◼   ► Which is easiest to scam?

00:17:49 ◼   ► Which makes the most money for investors?

00:17:51 ◼   ► Which has the highest chance of you losing all your money

00:17:53 ◼   ► because you forgot your password or got hacked

00:17:55 ◼   ► and got your, you know, private key stolen?

00:17:57 ◼   ► Like that's all happening out there and I think some,

00:18:02 ◼   ► you know, the technology, the underlying technology,

00:18:05 ◼   ► you can't put this genie back in the bottle.

00:18:06 ◼   ► Like this is technology that has a use,

00:18:08 ◼   ► even if it ends up mostly being used to like stop cheaters

00:18:11 ◼   ► in online games or something in the future,

00:18:12 ◼   ► like decades from now, something is going to come of this.

00:18:16 ◼   ► But right now it is a fairly dangerous place

00:18:19 ◼   ► for individuals to be.

00:18:20 ◼   ► So we, you know, when we come down hard on crypto,

00:18:23 ◼   ► it's not like we're saying, oh,

00:18:24 ◼   ► nothing will ever come of this.

00:18:26 ◼   ► This technology is bad and should be, you know, erased.

00:18:30 ◼   ► No, the technology, you know, the knowledge, the math,

00:18:33 ◼   ► the, you know, the experimentation, that's all great.

00:18:35 ◼   ► But if you're an individual listening to a tech podcast

00:18:37 ◼   ► and you're like, should I put all my money

00:18:39 ◼   ► into cryptocurrency?

00:18:40 ◼   ► Should I put any money into cryptocurrency?

00:18:41 ◼   ► You kind of have to know what you're getting into.

00:18:42 ◼   ► It's super risky, very dangerous.

00:18:45 ◼   ► You have to know a lot about what you're doing.

00:18:47 ◼   ► And there are a lot of people out there

00:18:48 ◼   ► who are going to encourage you with all their might

00:18:50 ◼   ► to put as much as possible into whatever

00:18:52 ◼   ► their pet cryptocurrency is

00:18:53 ◼   ► because they stand to gain from it.

00:18:55 ◼   ► So kind of like the stock market, like Marco said,

00:18:57 ◼   ► there are people who will encourage you,

00:18:58 ◼   ► oh, become a day trader, get on E-Trade,

00:19:00 ◼   ► do individual investing.

00:19:01 ◼   ► And that's just a losing bet.

00:19:03 ◼   ► Not because the stock market is inherently a bad thing

00:19:05 ◼   ► that we should eliminate,

00:19:06 ◼   ► although maybe there's a different argument

00:19:08 ◼   ► for that elsewhere, but because,

00:19:10 ◼   ► but because as an individual,

00:19:12 ◼   ► if you are going to try to be an individual investor

00:19:14 ◼   ► and speculate on what's going to go up

00:19:15 ◼   ► and what's going to go down,

00:19:16 ◼   ► you're probably going to lose, so maybe don't do that.

00:19:18 ◼   ► Like, that's why you see the sort of boring financial advice

00:19:21 ◼   ► of even though it's fun to be a day trader

00:19:22 ◼   ► and maybe you can do it as a hobby,

00:19:24 ◼   ► don't bet your life savings on it, right?

00:19:26 ◼   ► Cryptocurrency is very similar.

00:19:29 ◼   ► And I'm always very wary of people really pushing

00:19:34 ◼   ► that everyone should be getting into Bitcoin

00:19:36 ◼   ► coming from somebody who has a big stake in Bitcoin

00:19:39 ◼   ► or it's their hobby or they,

00:19:41 ◼   ► it's not always nefarious.

00:19:41 ◼   ► Sometimes they're just enthusiastic.

00:19:43 ◼   ► Like, they're super into it, right?

00:19:44 ◼   ► Some people are super into something.

00:19:45 ◼   ► They really want you to get into it

00:19:46 ◼   ► and they will encourage you.

00:19:48 ◼   ► It's not like they're trying to scam you

00:19:50 ◼   ► and they're not even, may not even be doing it to think,

00:19:52 ◼   ► well, if more people get into Bitcoin,

00:19:54 ◼   ► the value will go up and my money will go up.

00:19:56 ◼   ► They're just really enthusiastic about it,

00:19:57 ◼   ► but it still doesn't mean,

00:19:58 ◼   ► like people enthusiastic about day trading too.

00:20:00 ◼   ► It still doesn't mean that it's right for you.

00:20:01 ◼   ► So in general, I would say cryptocurrency,

00:20:05 ◼   ► like you'll know it when it becomes a thing

00:20:06 ◼   ► that is reasonable and safe for people to do.

00:20:08 ◼   ► But right now we are still definitely

00:20:10 ◼   ► in the lots of experiments going on phase.

00:20:14 ◼   ► NFT is out there, you got Ethereum, you got Bitcoin.

00:20:17 ◼   ► We don't know how this is gonna all work out

00:20:20 ◼   ► and lots of signs point to it

00:20:22 ◼   ► not working out really well at all.

00:20:23 ◼   ► So the safe bet is to just stay away.

00:20:25 ◼   ► If you want to throw a couple bucks in and play with it

00:20:27 ◼   ► and you can deal with the potential moral implications

00:20:30 ◼   ► of a tiny increase in CO2 output

00:20:33 ◼   ► from your tiny individual contribution, go for it.

00:20:36 ◼   ► But don't buy the hype that it is,

00:20:40 ◼   ► any one of these things is necessarily the future of currency

00:20:43 ◼   ► because that is, to say the least, a huge open question.

00:20:47 ◼   ► - We are sponsored this week by Squarespace.

00:20:51 ◼   ► Start building your new website today

00:20:53 ◼   ► at squarespace.com/ATP.

00:20:56 ◼   ► Enter offer code ATP at checkout to get 10% off.

00:20:59 ◼   ► Make your next move with a beautiful website

00:21:02 ◼   ► from Squarespace.

00:21:04 ◼   ► Squarespace, quite simply,

00:21:05 ◼   ► makes it incredibly easy to make great websites.

00:21:09 ◼   ► It takes almost no time

00:21:11 ◼   ► and you don't need to be a web developer

00:21:13 ◼   ► or a designer or a nerd in order to make it.

00:21:15 ◼   ► There's no coding required.

00:21:18 ◼   ► So this has amazing potential.

00:21:20 ◼   ► As nerds like me,

00:21:22 ◼   ► even if you could make a website yourself

00:21:24 ◼   ► in some manual way,

00:21:25 ◼   ► Squarespace can be a massive time saver,

00:21:27 ◼   ► especially if you want to do something complicated

00:21:31 ◼   ► that normally for your, like hosting it yourself,

00:21:33 ◼   ► things like storefronts or podcast hosting

00:21:36 ◼   ► or really any kind of dynamic functionality,

00:21:38 ◼   ► galleries, calendars, stuff like that.

00:21:40 ◼   ► It's tricky to do all that stuff yourself.

00:21:42 ◼   ► Or you create work for yourself in the future if you do it.

00:21:45 ◼   ► Like you have to set up a server somewhere.

00:21:47 ◼   ► You have to do software upgrades.

00:21:48 ◼   ► You gotta worry about server maintenance and uptime

00:21:51 ◼   ► and security patches and stuff like that.

00:21:53 ◼   ► Squarespace takes all of that away.

00:21:55 ◼   ► So even if you are a nerd, that's a huge time saver

00:21:58 ◼   ► and it reduces your own future liability and work.

00:22:01 ◼   ► And if you're not a nerd,

00:22:02 ◼   ► you can create websites that are just as good

00:22:04 ◼   ► as what professionals can make,

00:22:05 ◼   ► even if you don't have any design or development

00:22:07 ◼   ► or web development skills.

00:22:08 ◼   ► So it's amazing.

00:22:10 ◼   ► See for yourself by starting a free trial

00:22:12 ◼   ► at squarespace.com/atp.

00:22:15 ◼   ► There's no credit card required.

00:22:16 ◼   ► You can build the entire site in trial mode

00:22:19 ◼   ► and see how it works for you and if it works for you.

00:22:21 ◼   ► And once you're ready to sign up, go back there,

00:22:23 ◼   ► squarespace.com/atp.

00:22:25 ◼   ► Use offer code ATP to get 10% off your first purchase.

00:22:29 ◼   ► That's squarespace.com/atp.

00:22:31 ◼   ► Code ATP for 10% off your first purchase.

00:22:34 ◼   ► Thank you so much to Squarespace for sponsoring our show.

00:22:37 ◼   ► Make your next move at Squarespace.

00:22:40 ◼   ► - See Sam's stuff.

00:22:45 ◼   ► This is child safety stuff.

00:22:48 ◼   ► We talked about quite a bit last week,

00:22:49 ◼   ► which I actually really enjoyed the conversation.

00:22:51 ◼   ► We got a lot of very positive feedback about it,

00:22:53 ◼   ► which I really genuinely appreciate.

00:22:55 ◼   ► That was very kind of all of you.

00:22:57 ◼   ► We do have some feedback about it,

00:22:58 ◼   ► or excuse me, follow up about it though.

00:23:00 ◼   ► Facebook found 20 million photos, not 20 million people.

00:23:04 ◼   ► That is quite a big difference.

00:23:05 ◼   ► I'm not sure which one of us said that incorrectly,

00:23:07 ◼   ► but it is worth noting.

00:23:08 ◼   ► - Yeah, we said it right a whole bunch of times,

00:23:10 ◼   ► but I think I eventually said it wrong once.

00:23:11 ◼   ► So just to make that clear in case you're afraid

00:23:13 ◼   ► that there are 20 million child predators out there now.

00:23:16 ◼   ► But if you want to get depressed,

00:23:17 ◼   ► you can start trying to do the math and figure out,

00:23:19 ◼   ► well, so how many pictures per person is it

00:23:20 ◼   ► and how many people is it?

00:23:21 ◼   ► I don't know that math.

00:23:22 ◼   ► All I know is it was 20 million photos.

00:23:23 ◼   ► And that was in one year.

00:23:25 ◼   ► So maybe that doesn't make you feel as good.

00:23:26 ◼   ► But anyway.

00:23:27 ◼   ► - Yikes.

00:23:29 ◼   ► Moving right along.

00:23:29 ◼   ► John, you found a very entrancing PDF

00:23:32 ◼   ► that you'd like to share with the class?

00:23:34 ◼   ► - Yeah, I gotta reference this in the next item,

00:23:37 ◼   ► but these are all on Apple's apple.com/child-safety.

00:23:40 ◼   ► This one was called, what is it?

00:23:43 ◼   ► Security Threat Model Review, Apple's Child Safety Features.

00:23:45 ◼   ► I think it was interesting because if you read it,

00:23:48 ◼   ► each thing that is part of this system

00:23:50 ◼   ► that we described last week is broken into sections

00:23:52 ◼   ► where it says, what are the goals of this feature?

00:23:54 ◼   ► What are the design principles?

00:23:55 ◼   ► And what are the security and privacy requirements?

00:23:58 ◼   ► And if you read this document in isolation,

00:24:01 ◼   ► it makes a lot of sense.

00:24:03 ◼   ► It's like, okay, here's this feature.

00:24:06 ◼   ► Here's the principles we have,

00:24:07 ◼   ► like what the principles are.

00:24:09 ◼   ► How is it vulnerable?

00:24:11 ◼   ► Should Apple be able to do this or not be able to do it?

00:24:13 ◼   ► Should information never leave the user's device

00:24:15 ◼   ► or stay on the device?

00:24:16 ◼   ► Like the security and privacy requirements?

00:24:19 ◼   ► It's saying, when implementing this feature,

00:24:21 ◼   ► here are the things we want to be true about it.

00:24:23 ◼   ► And if you list it, you'll be nodding your head and going,

00:24:25 ◼   ► yeah, that's a good goal of this feature.

00:24:28 ◼   ► I like the design principles.

00:24:29 ◼   ► I like the security and privacy requirements.

00:24:31 ◼   ► It may, and it explains why is this system made

00:24:34 ◼   ► the way it is.

00:24:35 ◼   ► And it also explains why in this interview

00:24:38 ◼   ► with Craig Federighi from Joanna Stern

00:24:40 ◼   ► of the Wall Street Journal,

00:24:42 ◼   ► that Federighi really hammers on the superior privacy

00:24:46 ◼   ► of Apple's approach.

00:24:48 ◼   ► Like it's almost like he's reading from this document

00:24:50 ◼   ► of saying, we did it this way

00:24:51 ◼   ► because this provides more privacy.

00:24:53 ◼   ► And he doesn't elaborate on it.

00:24:54 ◼   ► This document elaborates on it.

00:24:56 ◼   ► When he says more privacy, this is what he means.

00:24:59 ◼   ► The things in this document are saying,

00:25:01 ◼   ► it has these qualities.

00:25:03 ◼   ► It adheres to these principles.

00:25:05 ◼   ► The goals of this features were X, Y, and Z,

00:25:07 ◼   ► and that's why we did it this way to achieve these goals.

00:25:10 ◼   ► So I'm gonna get back to that in a second,

00:25:11 ◼   ► but I'll let Casey summarize the interview.

00:25:13 ◼   ► - Right, so this is the interview with Craig Federighi

00:25:16 ◼   ► and Joanna Stern, which I just wanted to say,

00:25:18 ◼   ► I think Joanna's excellent.

00:25:20 ◼   ► She did such a great job at this.

00:25:22 ◼   ► There are some quibbles that I think we have,

00:25:25 ◼   ► but by and large, I thought it was really, really well done.

00:25:27 ◼   ► And I liked the way that she would like pause Federighi

00:25:29 ◼   ► and they would do their little motion graphics

00:25:30 ◼   ► or illustrations, whatever they are,

00:25:32 ◼   ► in order to explain stuff.

00:25:33 ◼   ► There were a couple of interesting points about this though.

00:25:36 ◼   ► I love Federighi, I really do.

00:25:38 ◼   ► I think he strikes me as a very nice and very smart guy.

00:25:41 ◼   ► I didn't love this interview with him though.

00:25:44 ◼   ► It seemed, I got the vibe that he wasn't telling me

00:25:48 ◼   ► the whole story, even though allegedly he was trying

00:25:51 ◼   ► to tell the whole story.

00:25:53 ◼   ► And granted, it's a short interview.

00:25:55 ◼   ► Granted, it's for a more basic audience,

00:25:57 ◼   ► but I don't know, some of the things he said

00:25:59 ◼   ► just didn't rub me right.

00:26:00 ◼   ► One of the things he did say though,

00:26:03 ◼   ► is that the database of hashes, I guess,

00:26:06 ◼   ► are shipped on device, which we'd known last week.

00:26:10 ◼   ► And he specifically cited that it's the same database

00:26:13 ◼   ► in China as it is in America,

00:26:15 ◼   ► which I thought it was interesting that he kind of

00:26:17 ◼   ► gave a nod in the direction of China

00:26:19 ◼   ► as something that we're all, not fearful of,

00:26:22 ◼   ► but I can't think of a better way of phrasing it.

00:26:24 ◼   ► And it makes sense, I mean,

00:26:25 ◼   ► that is what we're all thinking about,

00:26:26 ◼   ► but I was surprised that he acknowledged it.

00:26:28 ◼   ► And then the other thing that struck me a little weird

00:26:30 ◼   ► was he said there are multiple levels of auditability

00:26:33 ◼   ► in this system.

00:26:34 ◼   ► Like there are multiple places

00:26:35 ◼   ► where regular people can audit it.

00:26:37 ◼   ► And he implied, for example, that regular people

00:26:39 ◼   ► could audit the contents of the database

00:26:41 ◼   ► that is shipped as part of iOS.

00:26:43 ◼   ► And I just, where is this?

00:26:46 ◼   ► 'Cause I don't see this.

00:26:47 ◼   ► Maybe it's to be announced, like how a regular person

00:26:50 ◼   ► or perhaps a security researcher could go in

00:26:52 ◼   ► and look at this. - Did he say regular people?

00:26:53 ◼   ► 'Cause my impression

00:26:54 ◼   ► is talking-- - No, he didn't.

00:26:55 ◼   ► - He means people outside Apple.

00:26:57 ◼   ► - Yes, exactly.

00:26:58 ◼   ► But even still, like even like a me or you or a Marco

00:27:02 ◼   ► or like a Guy Rambo, like where is this stuff

00:27:05 ◼   ► that we can go look at?

00:27:06 ◼   ► Because Apple generally doesn't take too kindly to us,

00:27:10 ◼   ► you know, opening up iOS releases

00:27:12 ◼   ► and trying to go spelunking within them.

00:27:13 ◼   ► So perhaps I'm being chicken little

00:27:17 ◼   ► and perhaps there'll be explicit instructions about it

00:27:19 ◼   ► even for regular people for all I know.

00:27:21 ◼   ► But sitting here today, it seemed a little dubious to me.

00:27:25 ◼   ► - Well, I mean, they're gonna ship the bits to you.

00:27:27 ◼   ► So, you know, and if it's in the OS,

00:27:29 ◼   ► people will be able to find it and compare it

00:27:31 ◼   ► and know when it changes and see that it is the same

00:27:33 ◼   ► across regions and all the other stuff, right?

00:27:35 ◼   ► And there's a lot more technical detail to that.

00:27:37 ◼   ► I felt like in this interview, he was trying to,

00:27:41 ◼   ► he couldn't possibly go into the stuff

00:27:42 ◼   ► that these tech documents go into.

00:27:44 ◼   ► Not even the stuff from the threat model document

00:27:46 ◼   ► that I put in the links,

00:27:47 ◼   ► but everything he was saying in them,

00:27:49 ◼   ► you could sort of reference back to that.

00:27:51 ◼   ► But here's, there was one question that Joanna didn't ask

00:27:54 ◼   ► that I think would have been illuminating

00:27:57 ◼   ► and really is the thing that I've been thinking about

00:27:59 ◼   ► since our discussion last week, that it's the kind of the,

00:28:03 ◼   ► it's not a problem for Apple now,

00:28:05 ◼   ► but I feel like it makes more,

00:28:07 ◼   ► everything they say and people discomfort with it

00:28:08 ◼   ► makes more sense when you look in on this one point

00:28:12 ◼   ► and this question.

00:28:13 ◼   ► And we talked about it last week too,

00:28:14 ◼   ► but I'm gonna dive into it again here.

00:28:17 ◼   ► Joanna didn't ask about end-to-end encryption

00:28:21 ◼   ► on iCloud backups and iCloud photo library, right?

00:28:24 ◼   ► Doesn't currently exist, right?

00:28:26 ◼   ► Right now, when you do an iCloud backup,

00:28:28 ◼   ► Apple has the key to it.

00:28:29 ◼   ► It's encrypted at rest, but Apple has the key

00:28:31 ◼   ► so they can look at it.

00:28:32 ◼   ► Same thing with your iCloud photo library.

00:28:35 ◼   ► If Apple wanted, they can look at all your pictures

00:28:37 ◼   ► 'cause they're on Apple servers and yes,

00:28:38 ◼   ► they're all encrypted, but Apple has the key, right?

00:28:41 ◼   ► That's my understanding.

00:28:42 ◼   ► And I've checked that in a couple of different places

00:28:44 ◼   ► and that's the case, right?

00:28:46 ◼   ► Everything in this threat model document is true

00:28:49 ◼   ► within the scope of the features they added.

00:28:51 ◼   ► Like here was our design requirements.

00:28:53 ◼   ► We didn't want Apple to be able to see any of your pictures

00:28:56 ◼   ► until you've crossed the threshold.

00:28:58 ◼   ► And we didn't wanna know if you were near the threshold

00:29:02 ◼   ► and with all like, and by the way,

00:29:04 ◼   ► something I got wrong on the thing.

00:29:05 ◼   ► They sent a security voucher for every single picture.

00:29:07 ◼   ► So even the good ones and the bad ones.

00:29:09 ◼   ► So Apple has no idea, like every single picture

00:29:11 ◼   ► gets a security voucher that they scan.

00:29:13 ◼   ► Apple has no idea whether of all the security vouchers

00:29:16 ◼   ► they got are the few of them indicating a bad picture

00:29:19 ◼   ► is past the threshold or whatever, right?

00:29:21 ◼   ► So these are the design principles.

00:29:23 ◼   ► Like Apple's like, we didn't wanna know this.

00:29:25 ◼   ► We wanted to make it secure so we can't tell this.

00:29:27 ◼   ► Mathematically, we can't do this.

00:29:29 ◼   ► And it's like, okay, the feature you described

00:29:31 ◼   ► fulfills these requirements, but there's a huge problem.

00:29:34 ◼   ► None of that matters because you don't need to mess

00:29:36 ◼   ► with this at all, Apple, because you have access

00:29:38 ◼   ► to all our pictures.

00:29:39 ◼   ► Like you don't have to worry.

00:29:40 ◼   ► This CSAM feature doesn't change the fact

00:29:43 ◼   ► that you already have access to all our pictures.

00:29:45 ◼   ► Like every one of the sort of design goals

00:29:50 ◼   ► and security and privacy requirements in these CSAM features

00:29:53 ◼   ► is pointless because as I was trying to make the point

00:29:55 ◼   ► last week, no one would ever try to use this system

00:29:59 ◼   ► to get at the pictures because there's already

00:30:02 ◼   ► complete access to every single person's picture

00:30:04 ◼   ► on the server side today.

00:30:06 ◼   ► That's the way it is, right?

00:30:08 ◼   ► So when reading this document and them saying

00:30:11 ◼   ► this is better privacy, the only way it makes sense to me

00:30:15 ◼   ► is that eventually if Apple does end to end encryption

00:30:20 ◼   ► of iCloud backups or even just the photos things

00:30:22 ◼   ► or whatever, suddenly this all makes sense

00:30:25 ◼   ► because suddenly these security requirements

00:30:27 ◼   ► and design principles are relevant, right?

00:30:32 ◼   ► It's like saying, boy, this door has a million locks on it

00:30:35 ◼   ► and even Apple can't open it, but there's no wall.

00:30:37 ◼   ► And so you can just walk past the door,

00:30:38 ◼   ► but the door is super secure.

00:30:40 ◼   ► The door really preserves your privacy.

00:30:43 ◼   ► But it's like, but there's no wall.

00:30:44 ◼   ► It's like, but we won't, we'll only try to go.

00:30:48 ◼   ► It doesn't make any sense, right?

00:30:50 ◼   ► And so what I get out of this whole week's worth

00:30:52 ◼   ► of press and everything is that Apple,

00:30:54 ◼   ► seems like Apple does not want to be able to see your photos

00:30:58 ◼   ► but they currently can.

00:31:00 ◼   ► Every part of the CSAM system and the scanning thing

00:31:02 ◼   ► or whatever is made so that Apple's like,

00:31:04 ◼   ► look, we don't wanna see your photos.

00:31:05 ◼   ► We don't wanna be able to see your photos.

00:31:08 ◼   ► Like not until this threshold,

00:31:10 ◼   ► that's why they built this complicated system of like,

00:31:13 ◼   ► you know, we have the system that's gonna try to see

00:31:14 ◼   ► if it's a match against this database, but it's not exact.

00:31:17 ◼   ► So we have to do a threshold and when it hits,

00:31:19 ◼   ► only then do we ever want to even be able to see

00:31:22 ◼   ► a low resolution thumbnail to try to confirm

00:31:24 ◼   ► if it's one of the pictures from the NicMec database.

00:31:26 ◼   ► But otherwise we don't wanna be able to see your photos

00:31:29 ◼   ► at all, but we totally can't.

00:31:30 ◼   ► We can see all of them, right?

00:31:32 ◼   ► So, and they haven't said anything about this.

00:31:35 ◼   ► Like, I mean, if you asked them, if you had asked them,

00:31:38 ◼   ► hey, Apple, you ever gonna do end-to-end encryption

00:31:39 ◼   ► on a cloud photo library and cloud cloud backups?

00:31:41 ◼   ► They're not gonna tell you

00:31:42 ◼   ► 'cause they don't talk about future products,

00:31:43 ◼   ► but this entire feature only makes sense

00:31:47 ◼   ► in a world where Apple plans to do that.

00:31:49 ◼   ► Here's the second problem.

00:31:51 ◼   ► Everything I said last week about,

00:31:52 ◼   ► don't worry about this feature

00:31:53 ◼   ► because it doesn't make security any worse

00:31:55 ◼   ► 'cause Apple already has access to all of your photos.

00:31:57 ◼   ► If that ever changes and Apple suddenly

00:32:00 ◼   ► doesn't have access to all your photos,

00:32:02 ◼   ► this CSAM feature does become the most attractive vector

00:32:06 ◼   ► for governments or anyone else

00:32:09 ◼   ► to force Apple to get at stuff, right?

00:32:11 ◼   ► What I was trying to say last week,

00:32:12 ◼   ► which a lot of people weren't understanding,

00:32:14 ◼   ► is like, no one would go through the CSAM feature to do this.

00:32:16 ◼   ► There's way easier ways, right?

00:32:18 ◼   ► Why would you make your life more difficult?

00:32:19 ◼   ► This system is way more secure than the, hey, Apple,

00:32:22 ◼   ► just drew up to everything and let us scan it

00:32:24 ◼   ► or like hacking Apple to do that or whatever, right?

00:32:27 ◼   ► But if that changes this, then what everyone's saying about,

00:32:30 ◼   ► oh, you built the feature and now it's easy to get it,

00:32:32 ◼   ► that suddenly becomes true

00:32:33 ◼   ► because the previous lack of a wall,

00:32:36 ◼   ► now there's a brick wall there

00:32:37 ◼   ► and the door suddenly becomes the most viable vector

00:32:40 ◼   ► because at least it opens and closes

00:32:41 ◼   ► and you just have to pick the locks or whatever, right?

00:32:44 ◼   ► So it's kind of a weird situation.

00:32:46 ◼   ► And I haven't seen this really put in these terms

00:32:49 ◼   ► in any of the discussion.

00:32:50 ◼   ► It's like some of these features are nonsensical now,

00:32:55 ◼   ► but if you make them make sense

00:32:56 ◼   ► by implementing end-to-end encryption,

00:32:58 ◼   ► all of the sort of scare tactics

00:33:01 ◼   ► about the slippery slope things become worse

00:33:03 ◼   ► because then this does become the most valid way

00:33:06 ◼   ► to try to have a government force Apple to do things.

00:33:09 ◼   ► And as I was trying to emphasize last week,

00:33:11 ◼   ► governments can force you to do things

00:33:13 ◼   ► 'cause that's the way government works.

00:33:14 ◼   ► They have all the guns and they control the laws

00:33:16 ◼   ► in the countries in which they operate.

00:33:17 ◼   ► And if you don't like that,

00:33:20 ◼   ► there's no amount of security they can fix that.

00:33:25 ◼   ► Governments can outlaw end-to-end security

00:33:26 ◼   ► and then it'll become illegal for you to do that

00:33:29 ◼   ► and they can make it criminal and take you to court

00:33:31 ◼   ► and blah, blah, blah.

00:33:32 ◼   ► You really need to deal with your government.

00:33:34 ◼   ► That is your core problem here.

00:33:35 ◼   ► But since we don't know, okay, does Apple plan

00:33:40 ◼   ► to implement end-to-end security?

00:33:41 ◼   ► It's hard to know how to feel about these features.

00:33:43 ◼   ► If the Apple has said,

00:33:44 ◼   ► "And by the way, we're gonna do end-to-end security,"

00:33:47 ◼   ► and they announced that at the same time as this,

00:33:48 ◼   ► I would be much more on the side of,

00:33:50 ◼   ► ooh, the CSAM feature now that they've built it,

00:33:52 ◼   ► it makes it more likely that bad things will happen.

00:33:56 ◼   ► But they didn't announce that.

00:33:57 ◼   ► So we have no idea if they're ever gonna do

00:33:58 ◼   ► end-to-end encryption.

00:33:59 ◼   ► So it's really weird.

00:34:01 ◼   ► Like, and that's why I think this threat model document

00:34:05 ◼   ► is great.

00:34:06 ◼   ► If you read it and don't know about all the other aspects

00:34:09 ◼   ► of Apple security on their servers,

00:34:10 ◼   ► like the fact that iCloud backups are not end-to-end

00:34:12 ◼   ► encrypted and Apple already has access to your photos,

00:34:15 ◼   ► then this document in isolation looks airtight.

00:34:18 ◼   ► But if you do know that context,

00:34:19 ◼   ► this document starts to seem really weird and nonsensical.

00:34:23 ◼   ► And by the way, if I'm wrong about the photos thing,

00:34:25 ◼   ► again, I tried to confirm that with as many people

00:34:27 ◼   ► as I could think to ask this question to

00:34:28 ◼   ► and everyone said, "Yes, this is the truth."

00:34:29 ◼   ► But if that's not the case, someone from Apple,

00:34:31 ◼   ► please tell me, can Apple currently look at all the iCloud

00:34:34 ◼   ► photos in someone's, in theory, not that they do,

00:34:37 ◼   ► I'm sure they don't, but in theory,

00:34:39 ◼   ► could they look at everyone's photos

00:34:41 ◼   ► in their iCloud photo library?

00:34:43 ◼   ► As far as I've been able to tell the answer to that is yes.

00:34:44 ◼   ► We know it's true for iCloud backups

00:34:46 ◼   ► because they've done that and law enforcement and stuff

00:34:48 ◼   ► has made them do that in the US or whatever.

00:34:50 ◼   ► - Well, and I think that's a critical differentiator.

00:34:52 ◼   ► A lot of people here are assuming,

00:34:54 ◼   ► like you are proposing, like many people have proposed,

00:34:57 ◼   ► like well, this seems like an obvious precursor

00:35:00 ◼   ► to Apple offering end-to-end iCloud encryption.

00:35:03 ◼   ► And that's actually, that's probably a separate discussion

00:35:06 ◼   ► of whether that's even a good idea

00:35:07 ◼   ► and certainly whether that should be the default

00:35:09 ◼   ► or whether it should be an opt-in thing

00:35:10 ◼   ► because there are serious repercussions if, for example,

00:35:14 ◼   ► you forget your password and you lose access

00:35:16 ◼   ► to all your devices and that's a big support issue

00:35:20 ◼   ► just from the reality of customer support

00:35:22 ◼   ► and everything that Apple have to deal with.

00:35:24 ◼   ► - Yeah, we talked about this on past episodes of ADP.

00:35:27 ◼   ► The why, the reason Apple is resisting doing that

00:35:29 ◼   ► is not so much because it's a principled stand against,

00:35:32 ◼   ► or like they want to be able to access your things.

00:35:34 ◼   ► It's a customer support issue, which I kind of believe,

00:35:36 ◼   ► but as time marches on, I think as we said

00:35:38 ◼   ► the last time we discussed, as time marches on,

00:35:40 ◼   ► it becomes less and less tenable to say,

00:35:41 ◼   ► okay, customer support, but, and I think some support

00:35:44 ◼   ► for the idea that Apple's coming around on this

00:35:46 ◼   ► is the new features they added about like delegating

00:35:48 ◼   ► to like a family member to unlock your stuff,

00:35:50 ◼   ► whatever that feature is called.

00:35:51 ◼   ► - Right, yeah, the legacy planning stuff.

00:35:52 ◼   ► - Right, that is a thing that someone would do

00:35:54 ◼   ► if they were eventually planning to really bite the bullet

00:35:57 ◼   ► and say, I know it's gonna be a pain in the ass

00:35:59 ◼   ► for customer support, but like I would imagine

00:36:01 ◼   ► they would really start pushing hard

00:36:03 ◼   ► on when everybody sets up your phone, like,

00:36:05 ◼   ► tell us, please tell us, are you sure you don't want

00:36:07 ◼   ► to tell us somebody, like your brother or sister

00:36:10 ◼   ► or parent or a friend who you want to trust

00:36:12 ◼   ► because you're gonna need this later

00:36:13 ◼   ► when you forget your passwords, right?

00:36:15 ◼   ► If they hammer that feature really hard,

00:36:17 ◼   ► then maybe they can mitigate against

00:36:19 ◼   ► the eventual end-to-end encryption.

00:36:21 ◼   ► - Yeah, but I think ultimately I would bet

00:36:24 ◼   ► that this feature's existence, while this would,

00:36:28 ◼   ► I think, make end-to-end encryption easier for the law

00:36:31 ◼   ► and governments to swallow if it does eventually

00:36:33 ◼   ► become either an option or the default,

00:36:36 ◼   ► I don't know that this necessarily suggests

00:36:38 ◼   ► that that's coming because you're right

00:36:40 ◼   ► that I'm pretty sure Apple does have the keys

00:36:43 ◼   ► to all of your iCloud data with the exception

00:36:45 ◼   ► of iCloud Keychain, which is end-to-end encrypted.

00:36:48 ◼   ► But as far as I can guess, it seems like maybe

00:36:53 ◼   ► they wouldn't want, whatever the process is

00:36:57 ◼   ► that they use internally to make sure that random employees

00:37:00 ◼   ► aren't just snooping on everyone's iCloud data,

00:37:02 ◼   ► I'm sure they probably have some kind of process

00:37:03 ◼   ► for actually decrypting customer data

00:37:06 ◼   ► and handing it over to law enforcement,

00:37:07 ◼   ► and they might only want to invoke that

00:37:09 ◼   ► when served with the warrant, for instance.

00:37:11 ◼   ► Whereas the CCAM scanning feature,

00:37:13 ◼   ► this is the difference between law enforcement

00:37:15 ◼   ► versus surveillance, this feature is constantly

00:37:19 ◼   ► scanning your stuff going up to iCloud,

00:37:22 ◼   ► even if no warrant has been issued against you.

00:37:25 ◼   ► And so maybe they don't want that same,

00:37:29 ◼   ► whatever the warrant reply system is,

00:37:31 ◼   ► where okay, we're served with this warrant,

00:37:33 ◼   ► we are forced, we legally must comply with it,

00:37:36 ◼   ► so we are forced to hand over any data

00:37:37 ◼   ► we have about this customer, so then they have a process

00:37:39 ◼   ► to deal with that, right?

00:37:40 ◼   ► But what if, if they use that process

00:37:44 ◼   ► to look into your photos and then hand it off to the police,

00:37:47 ◼   ► maybe they could get sued for, I don't know,

00:37:50 ◼   ► maybe, like suppose they refer somebody to law enforcement,

00:37:55 ◼   ► and it ends up, it's actually like a false positive,

00:37:58 ◼   ► it's actually, the stuff they have is actually legal,

00:38:00 ◼   ► and they get law enforcement on their backs

00:38:02 ◼   ► and it ruins their life, and then they sue Apple.

00:38:04 ◼   ► Maybe Apple just wants to keep their hands

00:38:06 ◼   ► as clean as possible, and like okay, well,

00:38:08 ◼   ► the keys that we have to look at all your iCloud data,

00:38:10 ◼   ► we're only gonna use those keys as we are legally required

00:38:13 ◼   ► to when served with a warrant or subpoena or whatever,

00:38:16 ◼   ► whereas this automated system that's proactively surveilling

00:38:20 ◼   ► all of our data for this stuff,

00:38:22 ◼   ► maybe that goes through a much more strict

00:38:25 ◼   ► and narrow view process to avoid their own liability.

00:38:30 ◼   ► - Well, I think it's kind of the opposite,

00:38:31 ◼   ► where if they're served a warrant,

00:38:33 ◼   ► that the information they get from that

00:38:34 ◼   ► will be admissible in court, whereas it's questionable

00:38:36 ◼   ► whether the surveillance stuff that they catch

00:38:39 ◼   ► just by scanning everybody is, but in terms of the government

00:38:41 ◼   ► making them do things, even just the plain old US government

00:38:44 ◼   ► can not just make Apple say, oh, we'll scan this person's

00:38:47 ◼   ► thing, they can, because terrorism, I'm sure,

00:38:50 ◼   ► make Apple, under the right conditions,

00:38:52 ◼   ► have a secret warrant that requires Apple

00:38:55 ◼   ► to scan everybody's picture all the time,

00:38:57 ◼   ► 24 hours a day in perpetuity for whatever the government

00:39:00 ◼   ► wants them to because terrorism,

00:39:01 ◼   ► and because of some terrible Patriot Act law

00:39:04 ◼   ► and a secret judge that offers a secret thing,

00:39:05 ◼   ► and by the way, Apple can't talk about it,

00:39:07 ◼   ► maybe they're already doing this, right?

00:39:08 ◼   ► Setting aside the NSA hacking them

00:39:10 ◼   ► and already being inside their data centers

00:39:13 ◼   ► or having cracked all the encryption

00:39:15 ◼   ► and gotten the secret keys out for everyone,

00:39:17 ◼   ► it's like, there's so many scenarios

00:39:19 ◼   ► in which the US government has done things

00:39:21 ◼   ► that are no worse than what I just described

00:39:23 ◼   ► for very stupid reasons, and so that,

00:39:26 ◼   ► like, that's why when I read all these documents,

00:39:28 ◼   ► it's like, what I keep hearing in my head

00:39:31 ◼   ► and what I hear in the federal reading thing is,

00:39:33 ◼   ► Apple doesn't want to be able to see your photos,

00:39:36 ◼   ► like, they don't even wanna be able to do it,

00:39:38 ◼   ► it's kinda like, the reason they were able to resist

00:39:39 ◼   ► the FBI thing is there's literally nothing they can do,

00:39:42 ◼   ► right, right now, Apple can, is able,

00:39:45 ◼   ► yes, there are policies and processes involved,

00:39:46 ◼   ► but they're able to see your photos,

00:39:48 ◼   ► and it's much easier for Apple to say,

00:39:50 ◼   ► we literally can't do that, we don't have the keys,

00:39:53 ◼   ► that's where Apple wants to be,

00:39:55 ◼   ► that's how these CSAM features have been designed,

00:39:57 ◼   ► but that is not how iCloud backups

00:39:59 ◼   ► and iCloud photo library are designed,

00:40:01 ◼   ► and so those two features are not in keeping

00:40:03 ◼   ► with everything that Apple is doing and saying about,

00:40:06 ◼   ► like, they would prefer not to,

00:40:07 ◼   ► and the CSAM thing is like, again,

00:40:09 ◼   ► with the potential of end-to-end in the future,

00:40:11 ◼   ► if these EU and UK laws come down

00:40:14 ◼   ► that requires Apple to scan, now they can still do that

00:40:18 ◼   ► with end-to-end encryption, like, it doesn't prevent them

00:40:20 ◼   ► from doing end-to-end encryption on the iCloud photo library,

00:40:23 ◼   ► like, they're now well positioned to comply with all laws,

00:40:27 ◼   ► but also no longer be able to see things on their servers,

00:40:32 ◼   ► which will then, like I said,

00:40:33 ◼   ► make the CSAM feature much more dangerous,

00:40:35 ◼   ► so it's a weird situation they're in,

00:40:37 ◼   ► and Apple's, you know, some other people said this,

00:40:39 ◼   ► and other podcast listen to it, like,

00:40:41 ◼   ► Apple's secrecy about this means that we don't hear anything

00:40:44 ◼   ► and all of a sudden it just arrives,

00:40:45 ◼   ► and I was like, oh, what's all this stuff?

00:40:46 ◼   ► And they announced everything altogether,

00:40:48 ◼   ► and their secrecy also means that they're not gonna tell us

00:40:50 ◼   ► that this is a precursor to doing end-to-end encryption,

00:40:52 ◼   ► so we just had to guess, and so we don't really know

00:40:54 ◼   ► quite how to feel about it, so it's weird and complicated,

00:40:57 ◼   ► and I think Apple's actual security, like,

00:41:02 ◼   ► threat model of, you know, their entire company

00:41:05 ◼   ► is very different than what they're doing more recently,

00:41:09 ◼   ► and the things they're doing more recently

00:41:10 ◼   ► lean in one direction very strongly,

00:41:12 ◼   ► but the things they've done in the past are variable,

00:41:14 ◼   ► to say the least.

00:41:15 ◼   ► - Yeah, it's a mess, like, I don't need to, you know,

00:41:21 ◼   ► rehash everything we talked about last week,

00:41:22 ◼   ► but they're kind of darned if they do, darned if they don't,

00:41:24 ◼   ► and I think in a lot of ways they've kind of set themselves

00:41:26 ◼   ► up in this position because of secrecy,

00:41:28 ◼   ► because of, oh, we're the most private of all the people,

00:41:30 ◼   ► or all the companies, and so it's just, it's tough.

00:41:33 ◼   ► - I mean, can you blame, like,

00:41:34 ◼   ► they knew this was going to be a problem,

00:41:36 ◼   ► that's why they announced it on, you know,

00:41:38 ◼   ► late in the weekend in August, like, it's,

00:41:40 ◼   ► this is when you drop, you know,

00:41:42 ◼   ► news that might be unpopular,

00:41:44 ◼   ► you drop it, you know, Thursday or Friday in August.

00:41:47 ◼   ► - Like it's hot.

00:41:48 ◼   ► - I don't think they have that much to worry about,

00:41:49 ◼   ► 'cause I think most of the people flipping out about this

00:41:51 ◼   ► are people who are, like, tech nerds,

00:41:52 ◼   ► or into the security world, but like,

00:41:54 ◼   ► in terms of a story that has legs with the general public,

00:41:57 ◼   ► I mean, there's the possibility that it sort of, you know,

00:42:00 ◼   ► latches on as, like, Apple's always scanning your phone,

00:42:02 ◼   ► but even those things, like, the whole Facebook

00:42:04 ◼   ► is listening on your microphone or whatever,

00:42:06 ◼   ► I think people lose interest in those,

00:42:07 ◼   ► maybe they're just not juicy enough,

00:42:08 ◼   ► this is the problem with lots of tech security-related stuff

00:42:10 ◼   ► for good and for bad, when something really bad happens,

00:42:12 ◼   ► it's very difficult to get regular people to care about it,

00:42:16 ◼   ► because it just seems so weird and esoteric,

00:42:18 ◼   ► and you have to convince them of these fourth order effects

00:42:20 ◼   ► that may affect them, and it's,

00:42:22 ◼   ► it's why we get so many bad laws,

00:42:25 ◼   ► I mean, remember how much we fought against the DMCA

00:42:27 ◼   ► and everything, and all of the, you know,

00:42:29 ◼   ► bad things that that could cause,

00:42:30 ◼   ► and now if there's three milliseconds of music

00:42:33 ◼   ► from a passing car in your YouTube video,

00:42:35 ◼   ► one strike is against you, and soon your livelihood's

00:42:37 ◼   ► gonna be gone if it happens three times, right?

00:42:38 ◼   ► Like, the consequences happened, still no one cares,

00:42:41 ◼   ► it's like, that's just the way the thing is,

00:42:43 ◼   ► no copyright intended, it's like, oh,

00:42:45 ◼   ► it's hard to get people to care,

00:42:46 ◼   ► it's hard to get people to care about these issues,

00:42:49 ◼   ► and so Apple, in this case, I feel like Apple's

00:42:51 ◼   ► going to benefit from that apathy of the general public.

00:42:56 ◼   ► - We are sponsored this week by Mack Weldon,

00:43:01 ◼   ► the brand that has reinvented men's basics.

00:43:04 ◼   ► They got famous 'cause of their underwear,

00:43:06 ◼   ► their underwear is fantastic, I wear it literally every day,

00:43:08 ◼   ► and they are so much more than underwear now,

00:43:11 ◼   ► they have a huge collection of amazing men's basics.

00:43:14 ◼   ► T-shirts, polos, button-ups, shorts,

00:43:17 ◼   ► pants, swimsuits, and so much more.

00:43:20 ◼   ► What I like about them, you know, I wear Mack Weldon,

00:43:22 ◼   ► every day I'm wearing their underwear, no matter what,

00:43:24 ◼   ► 'cause it's literally 100% my underwear,

00:43:25 ◼   ► so every day I'm wearing Mack Weldon underwear,

00:43:27 ◼   ► I know you really wanna know this, right?

00:43:28 ◼   ► I also have many of their socks,

00:43:30 ◼   ► I have tons of their t-shirts,

00:43:32 ◼   ► I especially love their silver line of t-shirts,

00:43:35 ◼   ► I wear these all summer long, and much of the winter,

00:43:38 ◼   ► because silver fibers in the fabric blend

00:43:41 ◼   ► actually are antimicrobial, and makes it basically

00:43:44 ◼   ► impossible to stink while wearing it.

00:43:46 ◼   ► Also, if you want different materials for workout clothes,

00:43:49 ◼   ► they are great at all of that,

00:43:51 ◼   ► they have all sorts of breathable mesh fabrics

00:43:53 ◼   ► and stuff like that.

00:43:54 ◼   ► As the summer comes to a close, and we get into the fall,

00:43:56 ◼   ► I love their long sleeve collection, it is fantastic.

00:43:59 ◼   ► My favorite is the Warm Knit series of long sleeve shirts,

00:44:03 ◼   ► and they have all sorts of other options from there,

00:44:05 ◼   ► Tech Cashmere, all sorts of great stuff.

00:44:08 ◼   ► So they have amazing materials, amazing products,

00:44:10 ◼   ► I love the fit of their clothes, it's modern,

00:44:13 ◼   ► but it's also comfortable, it's not like, you know,

00:44:14 ◼   ► too skin tight or anything, so it's comfortable,

00:44:17 ◼   ► it's consistent, easy to buy, easy to wear,

00:44:19 ◼   ► easy to care for, and it lasts forever.

00:44:22 ◼   ► I've had Mack Weldon clothes now for something like

00:44:24 ◼   ► four or five years, I don't think I've ever lost

00:44:26 ◼   ► a single item of clothing to just wearing out.

00:44:28 ◼   ► Their stuff is just fantastic, so see for yourself

00:44:31 ◼   ► at mackweldon.com/atppodcast, and you can get 20% off

00:44:36 ◼   ► your first order with promo code ATPPODCAST.

00:44:41 ◼   ► Once again, that's mackweldon.com, M-A-C-K-W-E-L-D-O-N,

00:44:45 ◼   ► mackweldon.com/atppodcast, promo code ATPPODCAST

00:44:50 ◼   ► for 20% off, I love Mack Weldon's clothes,

00:44:54 ◼   ► I wear them all the time, mackweldon.com/atppodcast.

00:44:58 ◼   ► Thank you so much to Mack Weldon for sponsoring our show.

00:45:01 ◼   ► Mack Weldon, Reinventing Men's Basics.

00:45:03 ◼   ► - Speaking of benefiting from apathy from the general public,

00:45:10 ◼   ► what do you guys think about Electron?

00:45:12 ◼   ► - Oh man, I'm so happy we finally got to this.

00:45:17 ◼   ► It was pressing on us 'cause it had just happened

00:45:19 ◼   ► right before we recorded last week, but we were not

00:45:21 ◼   ► gonna have room for it in the show with all the CSAM stuff

00:45:23 ◼   ► last week, so here we go.

00:45:26 ◼   ► - Yeah, all right, so I, for my own benefit,

00:45:28 ◼   ► I would like to issue a quick series of disclosures.

00:45:32 ◼   ► First of all, 1Password has sponsored the show in the past,

00:45:35 ◼   ► most recently on the 8th of June, which was episode 434.

00:45:39 ◼   ► You probably won't believe it based on this conversation

00:45:41 ◼   ► we're about to have, but they have sponsored us in the past.

00:45:44 ◼   ► - Well, and to be clear, they sponsored us one time,

00:45:46 ◼   ► there are currently no future sponsorships booked with them,

00:45:51 ◼   ► although I don't think we would turn them down

00:45:53 ◼   ► because I still use 1Password and like them as a company,

00:45:56 ◼   ► and we are, I think, about to criticize them,

00:45:59 ◼   ► and I think this should tell you, listeners,

00:46:00 ◼   ► that we are not afraid to criticize sponsors.

00:46:03 ◼   ► I hope you trust us on that, 'cause we're gonna just

00:46:07 ◼   ► let it rip here, and I think we will be civil to them

00:46:11 ◼   ► because I think that's just our style most of the time,

00:46:14 ◼   ► but we will criticize them freely, so here we go.

00:46:16 ◼   ► - You're not gonna suggest that their CEO be fired?

00:46:19 ◼   ► (laughing)

00:46:21 ◼   ► We only do that to Apple.

00:46:22 ◼   ► - Yeah, only Apple, only Apple.

00:46:24 ◼   ► That's funny.

00:46:25 ◼   ► But I do wanna also note that the 1Password people

00:46:28 ◼   ► that I've spoken to, and I don't know any of them

00:46:31 ◼   ► terribly well, but any of the ones that I've spoken to

00:46:33 ◼   ► have been incredibly, impossibly nice people,

00:46:35 ◼   ► because hey, guess what, a lot of them are Canadian,

00:46:37 ◼   ► so that stands, but they are very, very nice.

00:46:40 ◼   ► I do think they are well-meaning,

00:46:41 ◼   ► but don't like the decisions of late,

00:46:44 ◼   ► I gotta tell you, gentlemen.

00:46:45 ◼   ► So this morning, I downloaded 1Password 8 Beta for Mac OS,

00:46:51 ◼   ► which is now being written, or has been written in Electron.

00:46:56 ◼   ► Electron, again, is the cross-platform thing, app framework

00:47:01 ◼   ► that lets you allegedly, ostensibly,

00:47:04 ◼   ► write once, run anywhere.

00:47:06 ◼   ► It is based on web technologies,

00:47:08 ◼   ► and so in my personal estimation, it's write once,

00:47:11 ◼   ► feel not native everywhere.

00:47:14 ◼   ► So it does kind of work everywhere,

00:47:15 ◼   ► but it doesn't feel native anywhere.

00:47:17 ◼   ► And there's probably 350 different takes

00:47:20 ◼   ► we can have on this, or different approaches on this.

00:47:22 ◼   ► But I think the thing that really bums me out,

00:47:26 ◼   ► that I'd like to say upfront, is there's a list of software,

00:47:31 ◼   ► there's not a long list, but a list of software

00:47:33 ◼   ► that I feel like I evangelize, because I love it.

00:47:37 ◼   ► I really, really love the software.

00:47:39 ◼   ► And hand to God, 1Password has always been on that list,

00:47:44 ◼   ► and this list for me, anyway, is very, very short.

00:47:47 ◼   ► 1Password, so far, has been pretty much bulletproof for me.

00:47:52 ◼   ► I personally really like their subscription service.

00:47:56 ◼   ► I know a lot of people are deeply turned off by it,

00:47:58 ◼   ► and that's fine.

00:47:59 ◼   ► I can totally understand why you would feel that way.

00:48:02 ◼   ► But for me, I jumped on 1Password for families early,

00:48:06 ◼   ► and it has become absolutely critical

00:48:08 ◼   ► for Aaron and I to share important passwords,

00:48:10 ◼   ► and also documents between each other,

00:48:12 ◼   ► in a way that's secure and safe.

00:48:14 ◼   ► And I have always held their apps,

00:48:18 ◼   ► their entire Apple app suite,

00:48:21 ◼   ► I can't speak for Windows or Linux, but--

00:48:23 ◼   ► - I can.

00:48:24 ◼   ► - Or for Android, either, but apparently Marco

00:48:28 ◼   ► can either confirm what I'm about to say or deny it.

00:48:31 ◼   ► But at least on Apple platforms,

00:48:33 ◼   ► their apps have always been excellent platform citizens.

00:48:36 ◼   ► By that I mean, whatever the convention

00:48:38 ◼   ► of the particular platform we're talking about,

00:48:40 ◼   ► whatever the convention is on iOS,

00:48:41 ◼   ► whatever the convention is on macOS,

00:48:43 ◼   ► perhaps Marco on Windows, or maybe Android,

00:48:47 ◼   ► they've always treated that platform well,

00:48:51 ◼   ► and they've always acted as a good citizen

00:48:53 ◼   ► within the platform.

00:48:54 ◼   ► When in Rome, do what the Romans do.

00:48:56 ◼   ► Well, they've always done that very well,

00:48:58 ◼   ► irrespective of platform.

00:48:59 ◼   ► Is that true on Windows too?

00:49:00 ◼   ► - I mean, I've used 1Password on Windows

00:49:03 ◼   ► for a total of like 20 minutes,

00:49:06 ◼   ► and I've used Windows outside of a game.

00:49:10 ◼   ► I've used Windows for not that much more than that

00:49:13 ◼   ► in the last decade or more.

00:49:15 ◼   ► So I can't really say how good of a Windows app it is

00:49:19 ◼   ► compared to other Windows apps.

00:49:20 ◼   ► But I can say that as a 1Password user for many years,

00:49:24 ◼   ► as a 1Password family plan user, again,

00:49:27 ◼   ► I think I mentioned this all during the ad,

00:49:29 ◼   ► and certainly we've talked about them occasionally

00:49:30 ◼   ► here and there before, we have it for my family,

00:49:34 ◼   ► we like it, it works well.

00:49:36 ◼   ► For the most part, I have a few asterisks on that,

00:49:38 ◼   ► but for the most part it works well, it has worked well.

00:49:40 ◼   ► One of the great things about it

00:49:42 ◼   ► that I think is a major advantage it has

00:49:45 ◼   ► over Apple's iCloud keychain stuff

00:49:47 ◼   ► that's been increasing in scope over the last few years

00:49:49 ◼   ► is that I can use it on Windows.

00:49:51 ◼   ► And this is not even that new.

00:49:53 ◼   ► I mean, for a while they would have this

00:49:56 ◼   ► JavaScript web app you could export

00:49:58 ◼   ► and have that work on Windows or anything else.

00:50:01 ◼   ► At some point in the last few years,

00:50:03 ◼   ► I believe they started offering

00:50:04 ◼   ► the actual native Windows client.

00:50:06 ◼   ► I haven't used it on Linux, sorry, I mean, who has?

00:50:09 ◼   ► But next year, next year is the year.

00:50:13 ◼   ► - Next year, damn it!

00:50:14 ◼   ► (laughing)

00:50:16 ◼   ► - But the cross-platform nature, being able,

00:50:19 ◼   ► like when I was setting up a gaming PC,

00:50:20 ◼   ► being able to have all my passwords in there

00:50:24 ◼   ► for all of the stupid Microsoft accounts

00:50:26 ◼   ► and Dropbox and everything, it was really nice.

00:50:29 ◼   ► It's a very convenient thing

00:50:30 ◼   ► to have that available cross-platform.

00:50:32 ◼   ► So I very much value 1Password,

00:50:36 ◼   ► and I think what we're about to get into here

00:50:39 ◼   ► is their new beta for their new stuff.

00:50:42 ◼   ► And it really suggests that the client experience

00:50:46 ◼   ► of 1Password is about to get worse.

00:50:49 ◼   ► And that makes me sad, because I've had,

00:50:51 ◼   ► for the most part, only very good things to say about it.

00:50:53 ◼   ► I mean, the only problems I've really had with it

00:50:55 ◼   ► in the last, maybe year or so,

00:50:58 ◼   ► I've found the browser plugin to be less reliable

00:51:01 ◼   ► at various things.

00:51:02 ◼   ► But otherwise, it's been great for years before that.

00:51:06 ◼   ► And the fact that it's about to get worse in certain ways,

00:51:10 ◼   ► it seems like a really unfortunate thing

00:51:14 ◼   ► and possibly an avoidable thing.

00:51:16 ◼   ► - Yeah, and real-time follow-up,

00:51:18 ◼   ► as of just a few hours ago, Apple released iCloud

00:51:21 ◼   ► for Windows 12.5, which apparently includes

00:51:24 ◼   ► a password manager app.

00:51:25 ◼   ► So-- - Really?

00:51:26 ◼   ► They don't have one on the Mac?

00:51:28 ◼   ► - Well-- - Unless you count

00:51:29 ◼   ► keychain access, which is terrible.

00:51:30 ◼   ► - Oh, come on, keychain's the best.

00:51:32 ◼   ► - In Monterey, they moved it into system preferences,

00:51:35 ◼   ► so there's a preference pane for passwords.

00:51:37 ◼   ► - Oh, that's right, yeah, that's a little better.

00:51:39 ◼   ► - Yeah, it is.

00:51:39 ◼   ► I mean, that's probably kind of where you'd expect to see it.

00:51:42 ◼   ► Keychain access is more like a utilities folder kind of thing

00:51:45 ◼   ► but if you just, normal people don't use keychain access,

00:51:47 ◼   ► but I feel like normal people will go to system preferences

00:51:49 ◼   ► and click on the thing that says passwords.

00:51:50 ◼   ► And that's the exposure to the new,

00:51:53 ◼   ► the new password thing has a two-factor thing built in

00:51:55 ◼   ► and will generate your passwords.

00:51:57 ◼   ► And it's also, by the way, reflected in Safari in Monterey.

00:51:59 ◼   ► So Safari has it in its own preferences,

00:52:02 ◼   ► also decked out with the new features,

00:52:04 ◼   ► but they also put it in system preferences

00:52:06 ◼   ► because that's where people will look for it.

00:52:07 ◼   ► So things are getting better

00:52:10 ◼   ► and slightly more featureful on the Mac.

00:52:12 ◼   ► Still nowhere close to 1Password's features.

00:52:13 ◼   ► You haven't even mentioned the family thing,

00:52:14 ◼   ► which I think is the real killer,

00:52:16 ◼   ► the real killer feature of 1Password,

00:52:18 ◼   ► even if you never do anything cross-platform.

00:52:20 ◼   ► - Narrator, they both mentioned it.

00:52:21 ◼   ► - Yeah. (laughs)

00:52:23 ◼   ► Yeah, no, that's the thing, is that for me,

00:52:27 ◼   ► what I love about 1Password is,

00:52:28 ◼   ► as compared to like iCloud keychain,

00:52:30 ◼   ► is that first of all,

00:52:32 ◼   ► I can store things other than passwords.

00:52:33 ◼   ► And maybe you can in iCloud keychain,

00:52:35 ◼   ► but last I had looked at it, that wasn't the case.

00:52:37 ◼   ► I can store documents, I can store notes,

00:52:39 ◼   ► I can store things that aren't just passwords,

00:52:42 ◼   ► which for me is very important.

00:52:43 ◼   ► - You can store notes.

00:52:44 ◼   ► I haven't tried documents,

00:52:46 ◼   ► but you can just make notes in Keychain Access,

00:52:48 ◼   ► I'm pretty sure.

00:52:49 ◼   ► - Okay, well, I also keep PDFs, for example,

00:52:52 ◼   ► and things like that in there.

00:52:53 ◼   ► - Yeah, I keep a scan of my driver's license.

00:52:55 ◼   ► - Exactly, same.

00:52:56 ◼   ► - It's handy to have this kind of stuff.

00:52:58 ◼   ► - And again, as both Marco and I were evangelizing

00:53:03 ◼   ► and touting 1Password for Families,

00:53:05 ◼   ► or when I last had a real job,

00:53:08 ◼   ► I brought 1Password to our company,

00:53:10 ◼   ► and we were using 1Password for Business.

00:53:11 ◼   ► At the same time, I was using 1Password for Families,

00:53:13 ◼   ► and all of that intermingled really, really well, actually.

00:53:17 ◼   ► So again, I love 1Password for the service.

00:53:20 ◼   ► I personally love paying for 1Password for the service.

00:53:22 ◼   ► I mean that genuinely,

00:53:24 ◼   ► because not only are the people very good,

00:53:25 ◼   ► and the apps, until maybe now, are really good,

00:53:29 ◼   ► but the service is really good,

00:53:30 ◼   ► and it genuinely makes my online life better

00:53:33 ◼   ► and more secure, and for that,

00:53:35 ◼   ► I think it's well worth whatever money it is

00:53:36 ◼   ► I pay them every year.

00:53:38 ◼   ► But yeah, this new beta Mac app is based on Electron,

00:53:43 ◼   ► and again, that means it's written in JavaScript,

00:53:47 ◼   ► and apparently a whole bunch of Rust.

00:53:48 ◼   ► They're very excited about Rust over there.

00:53:50 ◼   ► And what that means is, in my personal opinion,

00:53:56 ◼   ► it will never feel properly and truly native.

00:54:00 ◼   ► Now, can you get close?

00:54:02 ◼   ► You certainly can, but take, for me,

00:54:04 ◼   ► the canonical good Electron app is Visual Studio Code,

00:54:09 ◼   ► and Visual Studio Code, to me,

00:54:11 ◼   ► is a genuinely and truly great app.

00:54:15 ◼   ► Native, though, eh, not really.

00:54:18 ◼   ► It's a great app, but it doesn't really feel native.

00:54:21 ◼   ► It doesn't really feel like it's part of the Mac,

00:54:24 ◼   ► and that's okay, but what bums me out about 1Password

00:54:29 ◼   ► is they have this long, long, long,

00:54:31 ◼   ► like 15 or 20 year history,

00:54:32 ◼   ► of being excellent platform systems everywhere,

00:54:36 ◼   ► excellent platform citizens, excuse me, everywhere,

00:54:39 ◼   ► and this certainly doesn't smell

00:54:43 ◼   ► like it's gonna be the case too much longer.

00:54:45 ◼   ► And I have installed the beta,

00:54:48 ◼   ► and I've used it for a little while,

00:54:52 ◼   ► and as the three of us do, I have thoughts.

00:54:56 ◼   ► Do you want me to start diving into this,

00:54:59 ◼   ► or would we rather kind of talk about,

00:55:01 ◼   ► oh, Penny is not on airplane mode right now.

00:55:03 ◼   ► Would you rather, let me just reboot that whole thing.

00:55:06 ◼   ► Would you like to have me go into my particulars,

00:55:09 ◼   ► or would you rather talk kind of more generally previous,

00:55:12 ◼   ► before we get into that?

00:55:13 ◼   ► - I think you should go through your list of complaints,

00:55:15 ◼   ► because I think it's important that you made this list,

00:55:18 ◼   ► because lots of people will say this,

00:55:19 ◼   ► oh, it uses web technologies,

00:55:20 ◼   ► and it doesn't feel native on the Mac or whatever,

00:55:23 ◼   ► but what does that mean?

00:55:25 ◼   ► What does it mean in concrete terms?

00:55:26 ◼   ► How does it affect me as a user?

00:55:27 ◼   ► What if I'm not a touchy-feely person

00:55:29 ◼   ► who has this inherent feel of,

00:55:31 ◼   ► if I can feel this isn't right for the Mac,

00:55:34 ◼   ► what are the actual consequences?

00:55:36 ◼   ► And I think that's what you have a list of here.

00:55:38 ◼   ► We say that all the time,

00:55:39 ◼   ► but I think it's important to nail it down, so please do.

00:55:42 ◼   ► - Yeah, so I went on a Twitter rant about this,

00:55:46 ◼   ► which I directed at the 1Password account,

00:55:49 ◼   ► so if you happen to follow me,

00:55:51 ◼   ► but don't follow 1Password, you wouldn't have seen it.

00:55:53 ◼   ► I'll put an unrolled version of it linked in the show notes.

00:55:57 ◼   ► But nevertheless, so here's some examples.

00:56:00 ◼   ► When I installed the beta,

00:56:03 ◼   ► one of the first things it asked me on my iMac Pro,

00:56:07 ◼   ► on my Intel iMac Pro, was, hey, do you wanna use Touch ID?

00:56:11 ◼   ► What? (laughs)

00:56:13 ◼   ► I'm sorry, on my Intel iMac Pro?

00:56:15 ◼   ► Yes, I would like to use Touch ID, but I can't.

00:56:18 ◼   ► I can't, and that is a very silly thing

00:56:22 ◼   ► that lasted two and a half seconds,

00:56:25 ◼   ► but it's the sort of thing that if it were a native app,

00:56:28 ◼   ► and perhaps there is a way,

00:56:30 ◼   ► with this new based on Electron app,

00:56:32 ◼   ► maybe, or powered by Electron or whatever,

00:56:35 ◼   ► maybe there's a way to get to the API

00:56:37 ◼   ► that would tell them whether or not Touch ID

00:56:39 ◼   ► is even available on this particular computer,

00:56:42 ◼   ► but based on my experience,

00:56:45 ◼   ► they certainly didn't bother trying to figure that out.

00:56:47 ◼   ► And so this is a great example

00:56:49 ◼   ► of least common denominator user interface.

00:56:52 ◼   ► One of the platforms that this app may run on has Touch ID,

00:56:57 ◼   ► so screw it, let's ask everyone about Touch ID,

00:57:00 ◼   ► which is fine.

00:57:02 ◼   ► Is it in and of itself a big deal?

00:57:04 ◼   ► Certainly not, but that's my first paper cut,

00:57:06 ◼   ► and I've been running this new app for 30 seconds.

00:57:09 ◼   ► Okay, so let's say I go and I try to enter

00:57:13 ◼   ► my master password.

00:57:14 ◼   ► So I'm sorry, I should have said this already,

00:57:15 ◼   ► but basically if you somehow lived under a rock

00:57:17 ◼   ► and aren't familiar with 1Password,

00:57:19 ◼   ► you have one password, you have a single password

00:57:23 ◼   ► that opens up-- - You fingered it out,

00:57:24 ◼   ► you cracked it.

00:57:25 ◼   ► - Maybe that's why he became a dentist.

00:57:27 ◼   ► - So you have this 1Password that once you open it up,

00:57:30 ◼   ► then you have unique passwords

00:57:31 ◼   ► for like everything under the sun.

00:57:32 ◼   ► You have a unique password for Gmail,

00:57:34 ◼   ► a unique password for Facebook and so on and so forth.

00:57:35 ◼   ► So when you enter that 1Password incorrectly,

00:57:38 ◼   ► in every version of 1Password I've ever used,

00:57:41 ◼   ► or every native version,

00:57:42 ◼   ► I don't recall if it did it on the web or not,

00:57:44 ◼   ► but in every native version though,

00:57:45 ◼   ► the screen would shake side to side,

00:57:46 ◼   ► just like the login screen does on a Mac.

00:57:49 ◼   ► And at one point I entered my password incorrectly,

00:57:52 ◼   ► either on purpose or accident, and nothing happened.

00:57:55 ◼   ► It just said, oh, that's not right.

00:57:58 ◼   ► Is that a big deal?

00:57:59 ◼   ► Certainly not.

00:58:00 ◼   ► But I have, I've been using 1Password, geez, 10, 15,

00:58:04 ◼   ► probably like 10 years.

00:58:05 ◼   ► And I'm used to seeing a shake

00:58:07 ◼   ► when I get the password wrong.

00:58:07 ◼   ► I'm not even really looking at the screen,

00:58:09 ◼   ► but I'm seeing something shaking side to side

00:58:11 ◼   ► in my periphery.

00:58:12 ◼   ► And I know, oh, I gotta try that again.

00:58:14 ◼   ► Again, something silly, something that maybe could be done,

00:58:18 ◼   ► but at least as of the time in which we are recording

00:58:21 ◼   ► is not being done.

00:58:22 ◼   ► - And to be fair, it is a beta.

00:58:24 ◼   ► - Yeah, absolutely.

00:58:25 ◼   ► - But I think a lot of this stuff, ultimately,

00:58:26 ◼   ► I think a lot of this stuff

00:58:27 ◼   ► is probably not going to improve for the final version.

00:58:31 ◼   ► - And that's the thing is,

00:58:33 ◼   ► if the ostensible reason

00:58:34 ◼   ► for going to this electron-powered monstrosity

00:58:37 ◼   ► is to have as little custom user interface

00:58:42 ◼   ► on any given platform as you can get away with,

00:58:45 ◼   ► then why would they make it shake

00:58:47 ◼   ► unless they make it shake everywhere?

00:58:48 ◼   ► And gosh knows that the animation APIs

00:58:51 ◼   ► are gonna be different on a Mac versus Windows

00:58:52 ◼   ► and so on and so forth.

00:58:53 ◼   ► So I don't think things like this are going to change.

00:58:58 ◼   ► And I'd love to be wrong.

00:58:59 ◼   ► Golly, I would love more than almost anything in the world,

00:59:03 ◼   ► even more than eating crow about crypto,

00:59:05 ◼   ► which I'm never gonna do 'cause I'm right,

00:59:07 ◼   ► I would love to be able to eat crow on this and say,

00:59:10 ◼   ► you know what, this new electron version,

00:59:12 ◼   ► the final released version, hand to God,

00:59:15 ◼   ► I can't tell the difference between this and the real one,

00:59:16 ◼   ► and the native one, the real one, see what I did there,

00:59:18 ◼   ► and the native one.

00:59:20 ◼   ► So yeah, I was wrong.

00:59:21 ◼   ► It's just fine.

00:59:22 ◼   ► - By the way, the animation APIs

00:59:23 ◼   ► would be the same on all platforms

00:59:24 ◼   ► because they'd be web APIs.

00:59:25 ◼   ► That's the whole point of a web-based--

00:59:26 ◼   ► - Oh, that's true.

00:59:27 ◼   ► No, you're right, you're right, you're right.

00:59:28 ◼   ► - It's just animation.

00:59:29 ◼   ► But what you're getting at is the conventions.

00:59:31 ◼   ► Like, did it always shake on Windows

00:59:33 ◼   ► or was that just a Mac thing, right?

00:59:35 ◼   ► Is that a convention on Windows

00:59:37 ◼   ► like it is in the Mac shaking when you get it wrong

00:59:38 ◼   ► or is it not a convention?

00:59:39 ◼   ► So if you did it everywhere,

00:59:41 ◼   ► you may not be, like you said before,

00:59:42 ◼   ► may not feel like a native citizen of the platform.

00:59:46 ◼   ► Like, you're not complying with the conventions

00:59:48 ◼   ► of your environment,

00:59:50 ◼   ► but instead are complying with the conventions

00:59:51 ◼   ► that someone has decided it should be the same

00:59:53 ◼   ► across all platforms.

00:59:55 ◼   ► - Right.

00:59:56 ◼   ► So then things got dodgy.

00:59:59 ◼   ► And I think I've since figured out what the problem is.

01:00:01 ◼   ► I suspect, and I hope that this will get fixed

01:00:03 ◼   ► by the time the beta is no longer a beta,

01:00:05 ◼   ► but when I first started trying to use

01:00:07 ◼   ► this new 1Password8 beta,

01:00:08 ◼   ► it had me install a new version of the extension for Safari,

01:00:12 ◼   ► which makes perfect sense.

01:00:13 ◼   ► It's totally reasonable.

01:00:15 ◼   ► But it didn't seem like it really wanted to do anything.

01:00:18 ◼   ► But there was no solid communication

01:00:20 ◼   ► between Safari and the actual app.

01:00:24 ◼   ► And for the life of me,

01:00:25 ◼   ► I couldn't figure out what I was doing wrong.

01:00:27 ◼   ► But I would go to hit the little icon

01:00:29 ◼   ► in the toolbar in Safari,

01:00:30 ◼   ► which in the past would ask me to enter my password

01:00:34 ◼   ► right there in the extension,

01:00:35 ◼   ► which I believe is not the case anymore.

01:00:38 ◼   ► I think I was running an old extension

01:00:39 ◼   ► or something like that.

01:00:40 ◼   ► I'm a little wishy-washy on this, so I might be lying.

01:00:43 ◼   ► But one way or another,

01:00:45 ◼   ► the extension that I was used to

01:00:46 ◼   ► was that it would let me enter the password

01:00:48 ◼   ► right there in the extension,

01:00:49 ◼   ► and then it would give me my list of passwords

01:00:51 ◼   ► for that particular website.

01:00:53 ◼   ► Well, now it's asking, it's kicking open the full app,

01:00:56 ◼   ► which is kind of annoying

01:00:57 ◼   ► because it's a context switch I'm not expecting

01:00:59 ◼   ► and don't particularly want, but okay, fine.

01:01:01 ◼   ► But then when I would successfully enter my password,

01:01:04 ◼   ► the extension would just sit there and spin.

01:01:07 ◼   ► Okay, so I tried it again, same story.

01:01:10 ◼   ► Eventually I figured out what appears to be the problem was

01:01:13 ◼   ► I made the critical mistake of asking one password

01:01:16 ◼   ► not to be in my menu bar on my Mac,

01:01:18 ◼   ► which is something I've done forever.

01:01:20 ◼   ► I really don't like menu bar items

01:01:22 ◼   ► except the ones I want up there,

01:01:25 ◼   ► which is funny because I have like 304 up there,

01:01:27 ◼   ► but they're the ones I want, darn it.

01:01:28 ◼   ► And so-- - No, I am so with you

01:01:30 ◼   ► on this, by the way, I'm 1,000% with you on that.

01:01:33 ◼   ► - Thank you, and so I hate having things

01:01:36 ◼   ► that I don't want on my menu bar.

01:01:37 ◼   ► And yes, I'm aware that Bartender exists.

01:01:39 ◼   ► I don't want to use Bartender.

01:01:41 ◼   ► I just wanna have the stuff I want up there.

01:01:43 ◼   ► And so immediately when I had installed the beta,

01:01:45 ◼   ► I took the, I had checked to the, or unchecked,

01:01:49 ◼   ► I guess I should say, the option of having one password

01:01:51 ◼   ► in the menu bar and kudos to them

01:01:53 ◼   ► that that option was already there in the beta.

01:01:54 ◼   ► Everything was great.

01:01:56 ◼   ► Except it appears that by taking it out of the menu bar,

01:02:01 ◼   ► I have also killed the like daemon for lack of a better term,

01:02:04 ◼   ► you know, the always resident server, if you will,

01:02:08 ◼   ► that's within my Mac in order to communicate

01:02:11 ◼   ► with one password.

01:02:13 ◼   ► So when my, when Safari was going to talk to the daemon,

01:02:16 ◼   ► it wasn't there.

01:02:17 ◼   ► - It's pronounced affluent.

01:02:19 ◼   ► - Did I, oh God, I don't even know what I just said

01:02:21 ◼   ► that made you think of that.

01:02:22 ◼   ► But anyways, the point is that I was trying to get

01:02:26 ◼   ► to this process that wasn't there, and so it wasn't working.

01:02:30 ◼   ► And then once I finally figured out,

01:02:31 ◼   ► oh, I wonder if I need to keep one password in the,

01:02:34 ◼   ► oh, okay, great.

01:02:37 ◼   ► So apparently I do need to have the menu bar icon there,

01:02:40 ◼   ► which I really, really don't want.

01:02:41 ◼   ► And again, I would hope and suspect

01:02:43 ◼   ► that this will get fixed in the future.

01:02:45 ◼   ► But if it's the way, if this is the way it is forever,

01:02:48 ◼   ► I'm gonna be real grumpy about it.

01:02:49 ◼   ► It's a dumb thing to be grumpy about,

01:02:50 ◼   ► but darn it, I'm gonna be grumpy about it.

01:02:51 ◼   ► - No, no, no, this is not, no, I mean, first of all,

01:02:53 ◼   ► it's probably just a beta bug.

01:02:54 ◼   ► But second of all-- - I agree, I agree.

01:02:56 ◼   ► - If that were actually how it would ship,

01:02:59 ◼   ► I would be grumpy about that too,

01:03:00 ◼   ► because I, and this is, I think,

01:03:02 ◼   ► part of the larger picture here,

01:03:04 ◼   ► but I hate when I install something that is, to me,

01:03:08 ◼   ► a utility, and it wants to take over my computer.

01:03:12 ◼   ► - Yep. - And it's like,

01:03:13 ◼   ► hey, you know what, did you know

01:03:14 ◼   ► we now do all these other things?

01:03:16 ◼   ► Now you can use Dropbox as the biggest example

01:03:19 ◼   ► of this in recent years, but it's like,

01:03:21 ◼   ► now you can use those for all your collaboration and tools.

01:03:24 ◼   ► No, I don't want, you are a utility,

01:03:26 ◼   ► not my entire computer.

01:03:28 ◼   ► My computer is not yours.

01:03:29 ◼   ► And when applications that have no good reason

01:03:33 ◼   ► to have a menu bar item put one there,

01:03:36 ◼   ► especially as they almost always do by default,

01:03:39 ◼   ► and it's like, now we're running all the time

01:03:41 ◼   ► to help you out, it's like, no,

01:03:42 ◼   ► you're running all the time to help you out,

01:03:44 ◼   ► not to help me out.

01:03:46 ◼   ► So yeah, I am totally with you on basically keeping

01:03:51 ◼   ► these sprawling businesses' apps

01:03:53 ◼   ► from sprawling all over my computer.

01:03:54 ◼   ► It's like, your business is making you do this,

01:03:57 ◼   ► but that's not my problem.

01:03:59 ◼   ► My problem is this utility app that I thought

01:04:02 ◼   ► was only gonna do this one basic thing in a normal way

01:04:04 ◼   ► wants to grab more real estate than I think it deserves.

01:04:08 ◼   ► - Except for my two apps, which do have to be running

01:04:10 ◼   ► all the time and only appear in the menu bar.

01:04:12 ◼   ► They're fine, right?

01:04:13 ◼   ► - Are they Electron?

01:04:14 ◼   ► - They're brutal. - They are not.

01:04:17 ◼   ► But if they're not running all the time,

01:04:19 ◼   ► they don't work, so there's that.

01:04:21 ◼   ► - So Andrew Byer in the chat is telling me,

01:04:24 ◼   ► one of the big, Andrew works on 1Password,

01:04:26 ◼   ► one of the big changes between 1Password 7 and 8

01:04:29 ◼   ► is our change from Safari app extensions

01:04:30 ◼   ► to a web extension, which comes with some new

01:04:32 ◼   ► Apple API issues.

01:04:34 ◼   ► Safari 15 brings a bunch of improvements on Mac OS,

01:04:36 ◼   ► like the popover opening speed.

01:04:38 ◼   ► So I'm hopeful to see that those improvements land.

01:04:41 ◼   ► And I think, like I was alluding to earlier,

01:04:43 ◼   ► perhaps I was using an ancient version of the extension,

01:04:46 ◼   ► and that's part of the reason why I find this new one

01:04:48 ◼   ► so crummy, is because not only is it working

01:04:50 ◼   ► with the crummier native app, but on top of that,

01:04:53 ◼   ► I'm using the crummier new APIs

01:04:56 ◼   ► that Apple is giving 1Password.

01:04:57 ◼   ► So it's just crummy all the way down.

01:05:00 ◼   ► And those are just a handful of examples

01:05:02 ◼   ► of why I was not in love, and I am not in love

01:05:05 ◼   ► with the new beta.

01:05:07 ◼   ► Again, it is certainly possible

01:05:09 ◼   ► all these things will be fixed.

01:05:10 ◼   ► I'd be surprised, but it is possible.

01:05:13 ◼   ► But the thing of it is, is that 1Password,

01:05:15 ◼   ► as I've said this before, I'll say it a few more times,

01:05:17 ◼   ► was always, to use a groupism,

01:05:20 ◼   ► it was always a Mac-assed Mac app.

01:05:23 ◼   ► It was always a really strong, really solid Mac app.

01:05:27 ◼   ► I'm sure I could come up with complaints

01:05:29 ◼   ► about 1Password 7, but for the most part,

01:05:31 ◼   ► it was a really great shining example,

01:05:35 ◼   ► almost to a panic level, of what a great Mac app could be.

01:05:39 ◼   ► And I would say the same with the iOS apps too.

01:05:41 ◼   ► I'm sure I could come up with complaints,

01:05:43 ◼   ► but on the whole, they were really, really,

01:05:45 ◼   ► really great solid apps.

01:05:47 ◼   ► And now I feel like it's an app on my computer.

01:05:52 ◼   ► It's just another one.

01:05:53 ◼   ► And that's fine.

01:05:55 ◼   ► I guess one could argue that I should not get my engine revved

01:05:58 ◼   ► as much as I used to by a password manager,

01:06:00 ◼   ► but darn it, there's not a lot of things

01:06:02 ◼   ► to be happy about these days, and it always made me happy.

01:06:05 ◼   ► And 1Password 8 does not make me happy.

01:06:08 ◼   ► With that said, to give credit

01:06:11 ◼   ► where credit is potentially due,

01:06:13 ◼   ► I did not take this, or I did not compare to 1Password 7,

01:06:16 ◼   ► but I did look at the memory usage of 1Password 8,

01:06:18 ◼   ► and one of the things that people love to whine about,

01:06:20 ◼   ► including me, with regard to electron-powered stuff,

01:06:23 ◼   ► is that it uses a butt ton of memory.

01:06:25 ◼   ► And when I looked earlier today,

01:06:27 ◼   ► I was using about 135 megs of memory at idle,

01:06:31 ◼   ► which is a lot, and is more than it should be,

01:06:34 ◼   ► but it's not like the 17 gigs that Chrome uses

01:06:37 ◼   ► when it's looking at about blank.

01:06:40 ◼   ► So it certainly could be worse.

01:06:43 ◼   ► There is a long explanation that Dave Teare wrote.

01:06:47 ◼   ► Dave was one of the co-founders of 1Password

01:06:49 ◼   ► that explains kind of the history of 1Password for Linux,

01:06:54 ◼   ► and he and I exchanged a couple of tweets earlier today.

01:06:56 ◼   ► Again, nicest guy.

01:06:59 ◼   ► Everyone there is so nice.

01:07:00 ◼   ► David offered, and we just crisscrossed on timing,

01:07:03 ◼   ► to get on the phone with me to talk about

01:07:05 ◼   ► kind of the motivations of why they're going

01:07:08 ◼   ► the way they're going, which most of me, honestly,

01:07:11 ◼   ► does not really care or wanna hear,

01:07:13 ◼   ► but because I love 1Password and the people there so much,

01:07:16 ◼   ► I was going to hear them out

01:07:16 ◼   ► and at least entertain the conversation,

01:07:18 ◼   ► as it turns out, the timing just didn't work out.

01:07:21 ◼   ► But this Medium post goes through,

01:07:22 ◼   ► like how did 1Password land on electron power,

01:07:27 ◼   ► being powered by electron as the way forward?

01:07:31 ◼   ► And I guess what I keep coming back to,

01:07:34 ◼   ► and it is so easy for me to armchair quarterback,

01:07:36 ◼   ► but hey, that's what I do for a living now.

01:07:38 ◼   ► It's so easy for me to armchair quarterback,

01:07:39 ◼   ► but it seems to me that this is not the way forward

01:07:47 ◼   ► that I want or that I think ultimately 1Password wants,

01:07:52 ◼   ► because what it gives them is a kind of meh experience

01:07:55 ◼   ► everywhere rather than a certainly more difficult,

01:07:59 ◼   ► more expensive, more time consuming,

01:08:01 ◼   ► but ultimately excellent experience everywhere.

01:08:04 ◼   ► And I think, I don't wanna get into it yet,

01:08:06 ◼   ► but I think we should talk a little bit

01:08:07 ◼   ► about what their alternatives were,

01:08:10 ◼   ► both with regards to SwiftUI and Catalyst,

01:08:11 ◼   ► but let's put that in the parking lot for a minute

01:08:14 ◼   ► and let's come back to that.

01:08:16 ◼   ► I don't know, I've been talking for a long time.

01:08:18 ◼   ► Gentlemen, what's your take on this?

01:08:21 ◼   ► - You should mention the blog post

01:08:22 ◼   ► on the 1Password site itself that also goes through this

01:08:25 ◼   ► from a slightly different perspective than the Medium post.

01:08:27 ◼   ► In fact, that's the first place I would say

01:08:29 ◼   ► you should look to where the company explains

01:08:32 ◼   ► how did we end up where we are?

01:08:33 ◼   ► We previously had like a Mac app

01:08:35 ◼   ► and a Windows app or whatever.

01:08:37 ◼   ► How did we end up where we have this electron app

01:08:39 ◼   ► across all the platforms?

01:08:40 ◼   ► And I think it explains it well.

01:08:42 ◼   ► There's a bunch of quotes in here

01:08:43 ◼   ► about their various requirements

01:08:45 ◼   ► and it explains basically that they,

01:08:49 ◼   ► this wasn't, they had to,

01:08:49 ◼   ► it was like a plan A and a plan B.

01:08:51 ◼   ► Or I don't even know which one would be A or B.

01:08:53 ◼   ► But when they did the Mac app,

01:08:54 ◼   ► they had the electron one and they also had a SwiftUI app

01:08:59 ◼   ► and they were doing both,

01:09:00 ◼   ► presumably to see which one's gonna work out better

01:09:03 ◼   ► and in the end, the one that worked out better

01:09:05 ◼   ► was the electron one.

01:09:07 ◼   ► And so they went with that.

01:09:08 ◼   ► It's not like they decided from day one

01:09:10 ◼   ► we're going electron everywhere.

01:09:11 ◼   ► They were hedging their bets,

01:09:12 ◼   ► saying we should try making a native Mac app,

01:09:15 ◼   ► try using SwiftUI, you know,

01:09:17 ◼   ► get some cross-platform stuff with iOS and iPadOS or whatever

01:09:20 ◼   ► and it just turned out that the electron one

01:09:22 ◼   ► was the very best.

01:09:22 ◼   ► Anyway, they explained it in the blog post.

01:09:23 ◼   ► You can read it.

01:09:24 ◼   ► But I think, they go into this a little bit,

01:09:27 ◼   ► but the underlying assumption, which I think is true,

01:09:30 ◼   ► is that part of 1Password's value as a product

01:09:34 ◼   ► is the fact that it is cross-platform.

01:09:37 ◼   ► Apple's keychain is just now trying to kind of be like that.

01:09:42 ◼   ► Oh hey, we have a Windows app, but 1Password,

01:09:44 ◼   ► I mean, 1Password runs on Linux for crying out loud,

01:09:46 ◼   ► runs on Android, runs on Windows,

01:09:47 ◼   ► but it's like their selling point is,

01:09:50 ◼   ► you know, especially for a password manager,

01:09:52 ◼   ► as Marco figured out,

01:09:52 ◼   ► even if you are essentially a one-platform household,

01:09:55 ◼   ► using a password manager that is available

01:09:59 ◼   ► many different places can come in surprisingly handy

01:10:02 ◼   ► that one time you do end up having an Android phone briefly

01:10:05 ◼   ► or having a Windows PC for gaming or whatever.

01:10:08 ◼   ► It's convenient, like,

01:10:09 ◼   ► 'cause that's exactly the type of thing,

01:10:11 ◼   ► like, when you go to another password platform,

01:10:14 ◼   ► your passwords don't change or disappear,

01:10:16 ◼   ► like, you still have whatever,

01:10:17 ◼   ► your Dropbox account, your Microsoft account,

01:10:19 ◼   ► your login to Amazon.com, whatever, right?

01:10:22 ◼   ► That's still you, you are the same person,

01:10:24 ◼   ► so why shouldn't your passwords come with you?

01:10:26 ◼   ► So it makes perfect sense that a company like 1Password

01:10:29 ◼   ► correctly realizes, like, two things.

01:10:32 ◼   ► One, a great part of our value is that we're cross-platform,

01:10:36 ◼   ► and two, within the realm of any single platform,

01:10:39 ◼   ► we are essentially competing against the platform vendor.

01:10:42 ◼   ► Apple has a solution to this called iCloud Keychain, right?

01:10:46 ◼   ► But, and if you're 1Password, you're like,

01:10:48 ◼   ► well, on the Apple platform,

01:10:51 ◼   ► not that our days are numbered,

01:10:52 ◼   ► because Apple's probably never gonna have all the features

01:10:54 ◼   ► that 1Password does, and, you know,

01:10:56 ◼   ► 1Password probably cares more about this than Apple does,

01:10:58 ◼   ► but anytime you're competing with a built-in feature,

01:11:00 ◼   ► the built-in feature doesn't actually have to be better

01:11:02 ◼   ► than you to sort of gobble up your market share,

01:11:05 ◼   ► so it's kind of dangerous to sort of

01:11:07 ◼   ► bet the future of your company on the fact that

01:11:10 ◼   ► we'll always have a better password manager than Apple,

01:11:12 ◼   ► and people will be able to recognize

01:11:14 ◼   ► that we have the better password manager,

01:11:16 ◼   ► and reward us by paying money for a thing

01:11:18 ◼   ► they could get for free with their OS.

01:11:20 ◼   ► It's much better to say, we need to go cross-platform,

01:11:24 ◼   ► because we feel like that's an area where,

01:11:26 ◼   ► maybe they at one time thought that's an area

01:11:27 ◼   ► where Apple won't go, Apple has proved them wrong

01:11:30 ◼   ► with their Windows iCloud stuff

01:11:31 ◼   ► that they've been doing in recent years,

01:11:33 ◼   ► but you can have more confidence

01:11:34 ◼   ► that even if Apple does go there,

01:11:36 ◼   ► Apple's track record of making really good Windows apps

01:11:39 ◼   ► has not been great, see Safari for Windows,

01:11:41 ◼   ► QuickTime for Windows,

01:11:42 ◼   ► basically anything they've ever done for Windows,

01:11:45 ◼   ► the bootcamp drivers for Windows, maybe.

01:11:47 ◼   ► So that's a better strategy for the company,

01:11:52 ◼   ► so that's the context of this thing,

01:11:54 ◼   ► why do they care about cross-platform,

01:11:56 ◼   ► and then from there, everything else

01:11:58 ◼   ► follows this in this blog post,

01:11:59 ◼   ► like how many people are in me,

01:12:00 ◼   ► how much money has been invested,

01:12:03 ◼   ► the investors wanna see in their return,

01:12:04 ◼   ► their investment, we need to do the thing

01:12:06 ◼   ► that is the strength of our company, right?

01:12:09 ◼   ► How much time and energy have we spent for the past years,

01:12:12 ◼   ► with all the years that Casey loved,

01:12:13 ◼   ► where they had a really Mac-native app,

01:12:17 ◼   ► as they describe in their blog post,

01:12:20 ◼   ► it became a problem trying to coordinate two teams

01:12:22 ◼   ► making two separate applications,

01:12:23 ◼   ► and it was making them as a company move more slowly

01:12:26 ◼   ► and take more time to add features,

01:12:28 ◼   ► kind of like reading the threat model of the CSAM thing,

01:12:31 ◼   ► if you read the document in isolation,

01:12:33 ◼   ► you will be nodding your head and going, yes,

01:12:35 ◼   ► yeah, this all makes sense, right?

01:12:37 ◼   ► But where the rubber meets the road

01:12:38 ◼   ► is what Casey was talking about,

01:12:39 ◼   ► it's like, okay, but I'm not an employee

01:12:41 ◼   ► or shareholder of 1Password,

01:12:43 ◼   ► I'm just a user of their product,

01:12:45 ◼   ► and my experience has gotten worse.

01:12:47 ◼   ► Now I have to say, the list of things

01:12:48 ◼   ► that Casey went down here,

01:12:50 ◼   ► a lot of them seem like potential beta bugs

01:12:54 ◼   ► or small things that aren't a big deal,

01:12:55 ◼   ► but I think the earlier point that you made

01:12:58 ◼   ► about Visual Studio is a good one.

01:13:02 ◼   ► Most users don't know or care what API their app used,

01:13:05 ◼   ► but within any given API,

01:13:07 ◼   ► you can have a good Electron app,

01:13:09 ◼   ► or you can have a bad one.

01:13:10 ◼   ► My choice for a good Electron app,

01:13:11 ◼   ► I think Slack is still Electron, right?

01:13:13 ◼   ► Or an app that uses web technologies or web views or whatever.

01:13:16 ◼   ► There is a huge difference

01:13:18 ◼   ► between a good Electron app and a bad one.

01:13:20 ◼   ► I say this is someone who uses Teams and Slack.

01:13:23 ◼   ► I don't know if Teams is Electron, I hope it is,

01:13:26 ◼   ► because there's no other excuse

01:13:27 ◼   ► for it to be so horrible on the Mac.

01:13:29 ◼   ► It looks like it's using web technology,

01:13:30 ◼   ► it is so much worse than Slack, it's not even funny.

01:13:33 ◼   ► Same thing, pick an API.

01:13:37 ◼   ► UIKit on the iPhone, you can make a good app with UIKit,

01:13:40 ◼   ► and you can make a bad app, right?

01:13:41 ◼   ► And I think the range between a good app

01:13:44 ◼   ► within a given framework

01:13:45 ◼   ► and a bad app within a given framework

01:13:47 ◼   ► is probably bigger than the average range

01:13:49 ◼   ► between apps on different frameworks, right?

01:13:53 ◼   ► So it's not ridiculous to think

01:13:55 ◼   ► that one password strategy of using Electron,

01:13:57 ◼   ► like it has huge benefits for their ability,

01:13:59 ◼   ► for their velocity, as we say in the business,

01:14:01 ◼   ► for their ability to get features out the door

01:14:04 ◼   ► in a timely manner,

01:14:06 ◼   ► to have a consistent experience across all their platforms,

01:14:08 ◼   ► to be able to roll out features simultaneously.

01:14:10 ◼   ► Like there's all these reasons,

01:14:11 ◼   ► and the Rust backend is making the core

01:14:14 ◼   ► in a cross-platform Rust language

01:14:16 ◼   ► with more safety features, it all makes tech sense.

01:14:20 ◼   ► But I don't wanna minimize Casey's complaints here

01:14:23 ◼   ► because the bottom line is,

01:14:24 ◼   ► as you would hope, one password eight, here it is,

01:14:28 ◼   ► that as a user of this app,

01:14:30 ◼   ► you would be excited because the app would get

01:14:32 ◼   ► in your estimation better,

01:14:33 ◼   ► and thus far, Casey is not excited

01:14:35 ◼   ► about the app getting better.

01:14:37 ◼   ► I mean, you can offset this with new features,

01:14:40 ◼   ► and maybe if you did hop across platforms a lot,

01:14:43 ◼   ► you would enjoy the consistency

01:14:44 ◼   ► where before they were different for weird reasons,

01:14:47 ◼   ► or they got features at different times,

01:14:49 ◼   ► but that's the challenge for one password, the company,

01:14:52 ◼   ► and the product is to, one, make a really good Electron app,

01:14:56 ◼   ► and two, try not to downgrade the user experience

01:15:00 ◼   ► of your customers from what they are previously accustomed to

01:15:02 ◼   ► and it sounds like, at least in Casey's estimation,

01:15:05 ◼   ► it feels like a downgrade right now,

01:15:07 ◼   ► even though it's just a beta.

01:15:09 ◼   ► - It definitely does feel like a downgrade,

01:15:10 ◼   ► but again, the complaints I have so far

01:15:13 ◼   ► are beta kind of complaints,

01:15:16 ◼   ► and they're not that big a deal

01:15:18 ◼   ► in the grand scheme of things.

01:15:19 ◼   ► And the actual app itself,

01:15:21 ◼   ► I haven't spent too much time with it today.

01:15:23 ◼   ► I don't, I feel like there's a lot of white space here

01:15:26 ◼   ► that isn't necessary,

01:15:27 ◼   ► but that's a quibble of a quibble of a quibble.

01:15:29 ◼   ► The app itself seems like it's perfectly functional

01:15:31 ◼   ► and will work just fine,

01:15:32 ◼   ► which really, especially for a beta this early,

01:15:35 ◼   ► is pretty high praise.

01:15:37 ◼   ► Like if the app itself is workable and sufficient,

01:15:40 ◼   ► then one could make an argument

01:15:41 ◼   ► that I should get off my high horse,

01:15:42 ◼   ► and you might be right, and just shut up and deal,

01:15:45 ◼   ► but it just makes me sad, man,

01:15:47 ◼   ► 'cause it was such a great app.

01:15:47 ◼   ► - That's not what I said at all.

01:15:49 ◼   ► - No, no, no, no, no, no, no, no, no, no, no, no, no.

01:15:51 ◼   ► I'm sorry, I'm not trying to put words in your mouth at all.

01:15:53 ◼   ► I just mean in general, one could say,

01:15:55 ◼   ► the royal you could say that,

01:15:57 ◼   ► you know, I'm whining and moaning about nothing,

01:16:00 ◼   ► and maybe that's true, but I don't know.

01:16:01 ◼   ► It just makes me so sad that what was once a shining example

01:16:04 ◼   ► at least today is not a shining example.

01:16:08 ◼   ► Now, maybe it will be later, I don't know,

01:16:10 ◼   ► but it's not today, and it still bums me out.

01:16:14 ◼   ► - Do you feel like it's a good Electron app?

01:16:16 ◼   ► Like, you know, compare it to whatever your favorite is,

01:16:17 ◼   ► Visual Studio Code, Slack, or whatever.

01:16:19 ◼   ► Do you feel like it is within the bounds of Electron

01:16:22 ◼   ► and web technology?

01:16:23 ◼   ► Does it feel like a good one,

01:16:24 ◼   ► or does it feel like Teams?

01:16:25 ◼   ► - Well, I haven't used Teams,

01:16:27 ◼   ► but I take the point you're driving at.

01:16:30 ◼   ► Yeah, it's good, yeah, it's good.

01:16:32 ◼   ► But again, like, I would never say that

01:16:34 ◼   ► about the old 1Password.

01:16:35 ◼   ► I would say it's friggin' great, but--

01:16:37 ◼   ► - Yeah, you were enthusiastic, yeah, I totally get it.

01:16:39 ◼   ► So here's the thing, like,

01:16:41 ◼   ► I don't wanna take 1Password off the hook,

01:16:45 ◼   ► because, you know, as they outline in their thing here,

01:16:48 ◼   ► like, an option that was on the table

01:16:52 ◼   ► is to just continue making a complete native Mac app

01:16:55 ◼   ► like they had always made, with a Rust core underneath it,

01:16:58 ◼   ► which would probably mean rewriting the whole thing

01:17:00 ◼   ► from scratch or whatever,

01:17:01 ◼   ► but that would be more expensive and time-consuming

01:17:03 ◼   ► and difficult than doing what they did, right?

01:17:05 ◼   ► And maybe they'll change their mind about that,

01:17:07 ◼   ► depending on what the feedback is like,

01:17:09 ◼   ► or maybe most people don't even care,

01:17:10 ◼   ► and as long as they have a good Electron app, it'll be fine.

01:17:13 ◼   ► But there is a portion of blame for this whole situation.

01:17:16 ◼   ► It lands squarely in the lap of Apple,

01:17:18 ◼   ► and it's not really super Apple's--

01:17:21 ◼   ► - Oh, we'll get there.

01:17:22 ◼   ► - Yeah, I'm not gonna say, I'm gonna get there now,

01:17:24 ◼   ► 'cause I don't think it, I wanna--

01:17:25 ◼   ► - Oh, come on, I wanna talk about 1Password.

01:17:26 ◼   ► - Yeah, no, no, yeah, give Michael a chance.

01:17:28 ◼   ► - All right, all right, I'll jump to it.

01:17:30 ◼   ► Go ahead, have you used it?

01:17:31 ◼   ► I didn't, I wasn't aware you'd used the version eight yet.

01:17:33 ◼   ► - I haven't, and that's kind of, I think this is,

01:17:36 ◼   ► I wanna, like, split this discussion between,

01:17:39 ◼   ► I wanna, like, in a moment,

01:17:41 ◼   ► I wanna close the book on 1Password

01:17:43 ◼   ► and have kind of a separate discussion about, you know,

01:17:46 ◼   ► the problem of SwiftUI and Apple's cross-platform stuff,

01:17:49 ◼   ► and how, you know, how Electron plays into that,

01:17:51 ◼   ► because I think the reason why we're seeing all this rage

01:17:54 ◼   ► at 1Password over this right now,

01:17:56 ◼   ► I think is a combination of factors.

01:17:57 ◼   ► I mean, first of all, many long-time 1Password consumer users

01:18:02 ◼   ► have been upset with the company's overall direction

01:18:06 ◼   ► in the last few years towards their own sync service,

01:18:09 ◼   ► with, you know, towards subscription pricing,

01:18:11 ◼   ► and this is, like, you know, 1Password has kind of

01:18:13 ◼   ► borne the brunt of a lot of, just like,

01:18:17 ◼   ► the general consumer resentment towards things moving

01:18:21 ◼   ► towards subscription pricing and all that,

01:18:23 ◼   ► so, like, there's a lot of that going into this.

01:18:25 ◼   ► I think it's also worth noting the context of, like,

01:18:28 ◼   ► the changes that 1Password has been going through

01:18:31 ◼   ► as a company in the last few years, like,

01:18:33 ◼   ► you know, the news came out a couple weeks ago

01:18:34 ◼   ► about their new fundraising round,

01:18:36 ◼   ► and I think this surprised a lot of people,

01:18:39 ◼   ► myself included, with, like,

01:18:40 ◼   ► quite how big of a company they are now.

01:18:43 ◼   ► So I pasted the link here.

01:18:45 ◼   ► So, you know, it's raised $100 million,

01:18:48 ◼   ► it's their second round, and I think what's most interesting

01:18:49 ◼   ► here is looking at how different the numbers are

01:18:52 ◼   ► between their first round from two years ago and now.

01:18:55 ◼   ► So they went in two years from 174 employees,

01:19:00 ◼   ► which is way higher than I would have guessed,

01:19:03 ◼   ► that they had, to 475.

01:19:07 ◼   ► So at 475 employees currently work at 1Password,

01:19:13 ◼   ► it is a massive company, they do $120 million in revenue,

01:19:17 ◼   ► and if you look at also, like,

01:19:20 ◼   ► they're getting into a lot more, way more business stuff

01:19:22 ◼   ► than anything that the three of us would even probably

01:19:26 ◼   ► even know about, let alone use.

01:19:28 ◼   ► - They should be sponsoring us more,

01:19:29 ◼   ► I didn't know they had that much money.

01:19:30 ◼   ► (laughing)

01:19:32 ◼   ► Buy some more ads, it's chump change for you.

01:19:34 ◼   ► - And their number of business customers

01:19:36 ◼   ► has nearly doubled in that time,

01:19:37 ◼   ► according to all this news, so, like,

01:19:38 ◼   ► if you look at, like, this is a company that has exploded

01:19:42 ◼   ► in money, in people, in focus, and in scope

01:19:46 ◼   ► over the last couple years, and for those of us,

01:19:49 ◼   ► like the three of us, or two of us,

01:19:51 ◼   ► John, you don't even use it, do you?

01:19:52 ◼   ► - No, I don't use it, but I do recommend

01:19:53 ◼   ► other people use it.

01:19:54 ◼   ► - Right, so for Casey and I, and many of the listeners

01:19:57 ◼   ► who are big 1Password fans for years,

01:19:59 ◼   ► not only does this stuff mostly happen

01:20:02 ◼   ► without us even knowing about it,

01:20:03 ◼   ► like all this growth into business and everything,

01:20:05 ◼   ► but most of this is stuff that will actively

01:20:08 ◼   ► make this company worse for serving our needs,

01:20:10 ◼   ► or at least will incentivize them to go

01:20:13 ◼   ► in much different directions,

01:20:14 ◼   ► and focus in much different directions.

01:20:15 ◼   ► And so, this, I think this is why so much

01:20:19 ◼   ► of this frustration and anger over the move

01:20:22 ◼   ► to an Electron app has hit 1Password in particular,

01:20:25 ◼   ► because they already had these other factors going

01:20:27 ◼   ► that were giving them a lot of resentment

01:20:29 ◼   ► among certain groups of the community,

01:20:30 ◼   ► and I think that's not to be overlooked.

01:20:32 ◼   ► I also think, despite what Casey says,

01:20:35 ◼   ► I would not call 1Password, the previous version,

01:20:38 ◼   ► a quote Mac-asked Mac app.

01:20:41 ◼   ► It does use native frameworks,

01:20:42 ◼   ► but it has a ton of custom UI, and it always has.

01:20:47 ◼   ► And I actually think it works pretty well,

01:20:48 ◼   ► but I can see why they are going in an Electron direction,

01:20:53 ◼   ► because from their point of view,

01:20:55 ◼   ► it was already super custom.

01:20:57 ◼   ► - Certainly.

01:20:58 ◼   ► - And I don't even necessarily care that much

01:21:01 ◼   ► for the reasons why most people don't like Electron apps.

01:21:06 ◼   ► Most of the reasons are things like,

01:21:08 ◼   ► "Well, it doesn't resize smoothly."

01:21:10 ◼   ► Well, you know what, I don't resize my windows that often,

01:21:12 ◼   ► I don't care.

01:21:12 ◼   ► Or, like, it doesn't use the full native UI.

01:21:15 ◼   ► It's like, "Well, look at this app.

01:21:16 ◼   ► "This is not native UI," or, "This is not,"

01:21:18 ◼   ► I mean, standard, I would say, standard UI.

01:21:20 ◼   ► So, already, we're already out of that realm here.

01:21:23 ◼   ► What I care about with Electron apps, now, okay,

01:21:28 ◼   ► we're gonna slice this conversation right here.

01:21:30 ◼   ► This chapter change, all right.

01:21:32 ◼   ► That was 1Password.

01:21:34 ◼   ► Now we're gonna talk about UI frameworks

01:21:36 ◼   ► and the challenges there.

01:21:38 ◼   ► What I care a lot about with Electron apps

01:21:41 ◼   ► is not that they don't resize smoothly,

01:21:44 ◼   ► it's not that their preferences window

01:21:46 ◼   ► is a weird overlay inside the main window.

01:21:48 ◼   ► I honestly don't care much about that at all,

01:21:51 ◼   ► because those things don't get in my way very often.

01:21:54 ◼   ► What gets in my way very often is two things,

01:21:57 ◼   ► how incredibly bloated they are, especially at launch time,

01:22:01 ◼   ► and how they tend to deviate from system standard behaviors,

01:22:06 ◼   ► especially around things like keyboard navigation,

01:22:09 ◼   ► shortcuts, things like that.

01:22:10 ◼   ► - Accessibility.

01:22:11 ◼   ► - Yeah, that's a big one, yeah.

01:22:13 ◼   ► I mean, that doesn't affect me personally

01:22:16 ◼   ► at this moment very much,

01:22:17 ◼   ► but that affects a ton of people in huge ways.

01:22:19 ◼   ► So that's a huge one.

01:22:21 ◼   ► So, Electron apps in general,

01:22:23 ◼   ► because they are this basically web views

01:22:25 ◼   ► with fancy stuff around them or within them,

01:22:28 ◼   ► but basically all this custom web stuff,

01:22:30 ◼   ► they tend to have a lot of just little paper cuts in use,

01:22:33 ◼   ► just little things that don't work the way the system works,

01:22:36 ◼   ► little behaviors that are a little bit different

01:22:37 ◼   ► as you navigate or as you work through the app

01:22:39 ◼   ► or as you use keyboards or big things

01:22:42 ◼   ► as you use assistive technologies.

01:22:43 ◼   ► So there's all sorts of little ways

01:22:46 ◼   ► that Electron apps make the customer experience worse.

01:22:49 ◼   ► And two of the biggest ones are memory usage,

01:22:52 ◼   ► disk space, and I guess launch time, and counting.

01:22:55 ◼   ► And to me, the move to Electron,

01:23:01 ◼   ► it has these externalities.

01:23:02 ◼   ► It's kind of like our Bitcoin discussion,

01:23:04 ◼   ► but on a much smaller level.

01:23:05 ◼   ► It has these externalities of,

01:23:08 ◼   ► we're gonna waste significantly more memory,

01:23:10 ◼   ► significantly more disk space,

01:23:11 ◼   ► more time to launch the app, et cetera.

01:23:13 ◼   ► Like, we're gonna really bloat up

01:23:15 ◼   ► the app's technical resource needs

01:23:18 ◼   ► in a way that doesn't really help our customers at all,

01:23:21 ◼   ► and we are actually foisting the externality of that

01:23:24 ◼   ► onto our customers, onto all their devices.

01:23:27 ◼   ► So we're gonna take up all this disk space around the world,

01:23:30 ◼   ► all this extra RAM around the world on all these computers.

01:23:33 ◼   ► We're gonna make everyone's experience a little bit worse

01:23:35 ◼   ► in order to save us some time and money.

01:23:38 ◼   ► I think that's one of the reasons

01:23:39 ◼   ► why this rubbed people the wrong way,

01:23:40 ◼   ► but I think that ultimately gets down to,

01:23:42 ◼   ► that's the biggest problem I have with Electron apps.

01:23:45 ◼   ► Again, it's not the animations and stuff.

01:23:47 ◼   ► Honestly, that's fine.

01:23:49 ◼   ► My password manager has always looked totally weird

01:23:51 ◼   ► compared to other apps.

01:23:52 ◼   ► I still like it, 'cause it worked well.

01:23:55 ◼   ► But if this move is going to make it work

01:23:58 ◼   ► with as much mediocrity as every other Electron app

01:24:01 ◼   ► I've ever seen, including things, you know, Slack,

01:24:02 ◼   ► I've used it enough now.

01:24:04 ◼   ► I've seen enough.

01:24:05 ◼   ► I know how this is likely to go.

01:24:07 ◼   ► And even if they take all the care in the world

01:24:10 ◼   ► to try to do their best, it's not gonna be the same.

01:24:12 ◼   ► It's not gonna be like a native app.

01:24:14 ◼   ► It's gonna be full of all those paper cuts,

01:24:15 ◼   ► maybe fewer of them than if they hadn't cared at all

01:24:18 ◼   ► to fix any of them, but there's gonna be

01:24:21 ◼   ► all those paper cuts all throughout it.

01:24:22 ◼   ► And for a company that has about 475 employees,

01:24:27 ◼   ► I know these aren't all engineers.

01:24:30 ◼   ► I know engineering and scaling, engineering resources,

01:24:33 ◼   ► these are not simple things.

01:24:36 ◼   ► But I just, ooh, I fell back into one password, whoops.

01:24:39 ◼   ► (laughs)

01:24:40 ◼   ► I just don't think this was a good decision

01:24:44 ◼   ► of resource allocation.

01:24:46 ◼   ► 'Cause it's not like they're starting from scratch.

01:24:50 ◼   ► They already had native apps. (laughs)

01:24:54 ◼   ► So it's like they're throwing that away

01:24:56 ◼   ► or throwing much of that away, and I just,

01:25:00 ◼   ► it seems like many common engineering

01:25:04 ◼   ► foibles have happened here.

01:25:08 ◼   ► They tried something new, it didn't work out.

01:25:10 ◼   ► We'll get to that in a moment.

01:25:11 ◼   ► Don't worry, John.

01:25:12 ◼   ► They tried something new, it didn't work out,

01:25:15 ◼   ► and so they didn't even seem to consider,

01:25:17 ◼   ► well, why don't we just do what we were doing before?

01:25:19 ◼   ► - Well, I mean, the reason they didn't do

01:25:22 ◼   ► what they were doing before, they explained

01:25:23 ◼   ► in the blog post, 'cause what they were doing before,

01:25:25 ◼   ► they knew for a fact had these certain problems

01:25:27 ◼   ► in terms of coordination and time to market

01:25:29 ◼   ► and synchronizing features between things,

01:25:30 ◼   ► and that's why they didn't just say,

01:25:32 ◼   ► why don't we just go back to what we were doing before?

01:25:34 ◼   ► So I kind of understand where they're coming from.

01:25:36 ◼   ► They had a status quo, and the status quo

01:25:38 ◼   ► was not meeting the needs of the business,

01:25:40 ◼   ► so they needed to do something.

01:25:42 ◼   ► - I mean, yeah, I get that argument.

01:25:45 ◼   ► I don't necessarily know if I agree with the conclusions

01:25:48 ◼   ► that companies come to sometimes with that argument,

01:25:50 ◼   ► which often lead to things like Electron,

01:25:52 ◼   ► because it's very much the grass is always greener situation

01:25:56 ◼   ► to a large degree.

01:25:57 ◼   ► Electron is not free, and it has its own downsides.

01:26:00 ◼   ► I mean, this is true.

01:26:01 ◼   ► Any time a large engineering decision is made

01:26:03 ◼   ► to switch to some massive new framework,

01:26:05 ◼   ► like for instance, I think even trying SwiftUI

01:26:08 ◼   ► for a company of this size, for a company

01:26:11 ◼   ► that the Mac app is so important,

01:26:13 ◼   ► I think they should never even try SwiftUI.

01:26:15 ◼   ► Like, one engineer should have tried it for a weekend

01:26:18 ◼   ► and realized it's not ready and stopped.

01:26:20 ◼   ► So the fact that they invested very heavily into it,

01:26:22 ◼   ► I think that shows, like that was a misdirection, I think.

01:26:26 ◼   ► Anyway, so again, I don't wanna spend too much time

01:26:29 ◼   ► on this specifically on this,

01:26:29 ◼   ► because I think it's much more about the general,

01:26:32 ◼   ► like Electron in general, my problem with it

01:26:36 ◼   ► is that externalizing the downsides to your user base

01:26:41 ◼   ► is to save yourself a couple engineers

01:26:45 ◼   ► when you're a big company.

01:26:46 ◼   ► That to me, I don't appreciate that

01:26:50 ◼   ► as a user of these things.

01:26:51 ◼   ► And as a 1Password user in particular,

01:26:53 ◼   ► it's, oh god, I fell back into it again.

01:26:55 ◼   ► I see why people are mad,

01:26:56 ◼   ► because they've taken the same path as Dropbox

01:27:00 ◼   ► and many other companies where like,

01:27:01 ◼   ► it starts out as this consumer thing that we all love,

01:27:04 ◼   ► and then it turns out, you know,

01:27:06 ◼   ► the consumer thing can't really have

01:27:09 ◼   ► like this massive explosive growth business,

01:27:11 ◼   ► or it's hard when the platform makers move into it,

01:27:13 ◼   ► or whatever, there's major reasons

01:27:16 ◼   ► why they want to explode into the business world.

01:27:18 ◼   ► So the company balloons in size and in financing,

01:27:22 ◼   ► and they explode into the business world

01:27:23 ◼   ► and do all these business features,

01:27:24 ◼   ► and it leaves behind people like us

01:27:27 ◼   ► who are like, well, we didn't really want any of that,

01:27:30 ◼   ► and now this thing that we like and have come to rely on,

01:27:33 ◼   ► and that doesn't have a lot of good alternatives,

01:27:36 ◼   ► is now going in this massive direction

01:27:37 ◼   ► that is actively against the things that we like,

01:27:41 ◼   ► or that we value, or that we need.

01:27:42 ◼   ► (upbeat music)

01:27:43 ◼   ► We are sponsored this week by Linode,

01:27:46 ◼   ► my favorite place to run servers.

01:27:48 ◼   ► Visit linode.com/atp and see why Linode

01:27:51 ◼   ► has been voted the top infrastructure as a service provider

01:27:54 ◼   ► by both G2 and TrustRadius.

01:27:57 ◼   ► From their award-winning support,

01:27:58 ◼   ► which is offered 24/7/365,

01:28:00 ◼   ► and that's regardless of your plan size,

01:28:02 ◼   ► from that $5 a month plan

01:28:04 ◼   ► all the way up to at base services you can put there,

01:28:07 ◼   ► everyone gets that same amazing level of support.

01:28:09 ◼   ► So from that to their ease of use, their great setup,

01:28:12 ◼   ► it's clear why developers like me

01:28:14 ◼   ► have been trusting Linode for projects

01:28:16 ◼   ► both big and small since 2003.

01:28:19 ◼   ► You can deploy your entire application stack

01:28:21 ◼   ► with Linode's one-click app marketplace,

01:28:23 ◼   ► or build it all from scratch and manage everything yourself

01:28:26 ◼   ► with supported centralized tools like Terraform.

01:28:28 ◼   ► Linode offers the best price to performance ratio

01:28:31 ◼   ► for all compute instances, including GPU compute instances

01:28:35 ◼   ► as well as block storage, Kubernetes,

01:28:37 ◼   ► and their upcoming bare metal release.

01:28:40 ◼   ► Quite frankly, this is what drew me to Linode

01:28:41 ◼   ► in the first place.

01:28:42 ◼   ► Years ago when I started there,

01:28:43 ◼   ► way before they were a sponsor of anything,

01:28:45 ◼   ► you know, I pay for it all myself.

01:28:46 ◼   ► It's wonderful, it's a great value.

01:28:48 ◼   ► And I care about that value.

01:28:49 ◼   ► I care about what I'm getting for my money.

01:28:50 ◼   ► And in hosting, sometimes you get a place

01:28:53 ◼   ► that's like a good value for a year or two

01:28:54 ◼   ► and then it's not anymore.

01:28:55 ◼   ► Linode has been an amazing value

01:28:57 ◼   ► the entire time I've been a customer.

01:29:00 ◼   ► They always give you more for your money.

01:29:02 ◼   ► As technology moves forward,

01:29:03 ◼   ► they give you more for the buck.

01:29:04 ◼   ► It's fantastic.

01:29:06 ◼   ► Linode makes cloud computing fast, simple, and affordable,

01:29:09 ◼   ► allowing you to focus on your projects, not your servers.

01:29:12 ◼   ► Visit linode.com/atp, create a free account

01:29:15 ◼   ► with either your Google or GitHub account

01:29:17 ◼   ► or just your email address,

01:29:18 ◼   ► and you get $100 in free credit.

01:29:20 ◼   ► Once again, linode.com/atp.

01:29:23 ◼   ► Create your free account to get $100 in credit.

01:29:26 ◼   ► I love Linode.

01:29:27 ◼   ► If you gotta run servers somewhere,

01:29:29 ◼   ► I strongly recommend Linode.

01:29:30 ◼   ► Thank you so much to Linode for sponsoring our show

01:29:33 ◼   ► and hosting all my stuff.

01:29:34 ◼   ► (upbeat music)

01:29:37 ◼   ► Electron.

01:29:40 ◼   ► Go ahead, Jon. (laughs)

01:29:41 ◼   ► - All right, so the framework question.

01:29:44 ◼   ► This is tangentially related to 1Password,

01:29:47 ◼   ► but it's actually more of an Apple problem

01:29:51 ◼   ► that they have to deal with, right?

01:29:53 ◼   ► So the reason 1Password looked at SwiftUI

01:29:56 ◼   ► is because in theory and as pitched by Apple,

01:29:59 ◼   ► SwiftUI is a framework where you can write an application

01:30:01 ◼   ► and you can use a lot of that same code,

01:30:03 ◼   ► if not the exact same application,

01:30:05 ◼   ► depending on how you wanna try to do it,

01:30:07 ◼   ► on the Mac, on the phone, on the iPad, on the watch.

01:30:12 ◼   ► You know, it's Apple's cross-platform UI framework

01:30:16 ◼   ► to the extent that it exists.

01:30:18 ◼   ► So if part of the deal of this thing is,

01:30:20 ◼   ► hey, we've got a problem, we've got all these native apps,

01:30:22 ◼   ► the coordination is a big problem for us,

01:30:25 ◼   ► let's try to unify, right?

01:30:26 ◼   ► Step one in the unification

01:30:28 ◼   ► that we haven't talked too much about

01:30:29 ◼   ► is sort of doing the core and Rust in a cross-platform way,

01:30:32 ◼   ► and I think that's a great idea.

01:30:34 ◼   ► When we talk about the core, we're talking about like,

01:30:36 ◼   ► the part that doesn't have a user interface,

01:30:37 ◼   ► just the guts of the machine.

01:30:39 ◼   ► Using Rust, which is a language that has lots of rules

01:30:41 ◼   ► about memory ownership and type safety and everything,

01:30:44 ◼   ► is a great idea for a security-conscious application

01:30:47 ◼   ► rather than say, writing it in C or some other language

01:30:49 ◼   ► that has lots of security problems.

01:30:51 ◼   ► Great, make your core in that, right?

01:30:53 ◼   ► Like, that's our new sort of new generation.

01:30:54 ◼   ► We used to have the core,

01:30:56 ◼   ► but it was different on different platforms

01:30:57 ◼   ► and it was kind of a pain.

01:30:58 ◼   ► Let's write a new core in Rust.

01:30:59 ◼   ► Then you have this core with no interface,

01:31:01 ◼   ► and you have to decide, how do I put an interface on this?

01:31:05 ◼   ► And 1Password didn't immediately jump to,

01:31:07 ◼   ► let's just do Electron everywhere.

01:31:08 ◼   ► We use the Rust core and then we'll do Electron for our UI.

01:31:11 ◼   ► That wasn't their first thing.

01:31:12 ◼   ► They thought of, okay, on Apple's platform,

01:31:15 ◼   ► Apple actually has a newish native UI framework

01:31:20 ◼   ► that can target more than one Apple platform.

01:31:23 ◼   ► So no, you can't use Swift UI across all of our platforms,

01:31:26 ◼   ► Linux, Android, Windows,

01:31:27 ◼   ► but we can get pretty much all the Apple platforms

01:31:30 ◼   ► we care about with this one framework.

01:31:32 ◼   ► So let's consider a bifurcated strategy,

01:31:34 ◼   ► which is like Electron everywhere,

01:31:36 ◼   ► except for on Apple platforms, we'll try using Swift UI,

01:31:41 ◼   ► which in itself is, and Jason's not wrote the story recently

01:31:44 ◼   ► saying how the Mac just wasn't important enough

01:31:46 ◼   ► for 1Password to do this, and in the end, that is true.

01:31:48 ◼   ► But the idea that they looked at Swift UI at all

01:31:52 ◼   ► shows that 1Password kind of knows

01:31:55 ◼   ► where its bread is buttered.

01:31:56 ◼   ► I don't know what their financials are,

01:31:57 ◼   ► but 1Password was his roots as a Mac company, right?

01:32:00 ◼   ► I think they were Mac first, right,

01:32:01 ◼   ► for years before they even branched out.

01:32:03 ◼   ► I don't know if that's true,

01:32:05 ◼   ► but I've always thought of them as a Mac company,

01:32:07 ◼   ► was considering doing a totally different framework

01:32:11 ◼   ► just for Apple's platforms.

01:32:13 ◼   ► Maybe that makes financial sense.

01:32:15 ◼   ► I don't know what percentage of 1Password customers

01:32:17 ◼   ► are on Apple platforms versus not,

01:32:19 ◼   ► but that was a thing that they considered,

01:32:21 ◼   ► which I think shows that either financially

01:32:24 ◼   ► it makes some sense for them to do that,

01:32:26 ◼   ► or just emotionally because they feel the roots

01:32:28 ◼   ► in the Apple platform that they were considering doing that.

01:32:31 ◼   ► That didn't work out for reasons that anyone

01:32:33 ◼   ► who has tried to use Swift UI in the past several years

01:32:36 ◼   ► understands Swift UI is young, it has lots of limitations.

01:32:39 ◼   ► I don't think it's impossible to pull off

01:32:42 ◼   ► a 1Password application on a Swift UI,

01:32:44 ◼   ► but you would then have to decide what to mix it with,

01:32:47 ◼   ► because there are things that the Swift UI can't do

01:32:49 ◼   ► or can't do easily or can't do feasibly,

01:32:52 ◼   ► and you have to mix it with something.

01:32:54 ◼   ► So you can mix Swift UI with AppKit, like I do in my apps.

01:32:57 ◼   ► You can mix Swift UI with UIKit in a catalyst app.

01:33:01 ◼   ► What are the other options you have?

01:33:02 ◼   ► I mean, you can do pure Swift UI,

01:33:03 ◼   ► but that's probably not gonna fly.

01:33:06 ◼   ► And then once you're doing that,

01:33:07 ◼   ► now you're losing a lot of the cross-platform part of it,

01:33:10 ◼   ► depending on how you look at it.

01:33:11 ◼   ► If you do it in catalyst, you can say,

01:33:12 ◼   ► well, if we're gonna do it in catalyst,

01:33:13 ◼   ► why do we need Swift UI at all?

01:33:14 ◼   ► Why don't we just use catalyst app for our Mac

01:33:16 ◼   ► and then use that same UIKit code for the phone and the iPad?

01:33:19 ◼   ► And you have a whole bunch of different options

01:33:22 ◼   ► on the various Apple platforms, right?

01:33:24 ◼   ► But they didn't have time to run all those experiments.

01:33:26 ◼   ► So they said, well, when the Swift UI one didn't work out,

01:33:28 ◼   ► let's just do Electron everywhere

01:33:29 ◼   ► 'cause Electron runs on the Mac.

01:33:30 ◼   ► But that whole soup that I just explained

01:33:32 ◼   ► is part of Apple's problem.

01:33:33 ◼   ► Swift UI is Apple's newest framework

01:33:36 ◼   ► and it is the one that has the potential

01:33:38 ◼   ► to run on the most platforms,

01:33:40 ◼   ► but it's young and it's not really up to maybe the task

01:33:45 ◼   ► of an app like 1Password at this point.

01:33:48 ◼   ► Catalyst also exists.

01:33:51 ◼   ► And it's a way if you are coming from a UIKit

01:33:53 ◼   ► and you either have an existing UIKit application

01:33:55 ◼   ► on the iPad or the iPhone,

01:33:57 ◼   ► or you just know UIKit

01:33:58 ◼   ► 'cause you've been developing on those platforms,

01:34:00 ◼   ► but you wanna write a Mac app,

01:34:01 ◼   ► now you can write a Mac app in UIKit,

01:34:04 ◼   ► sneaking into AppKit every once in a while to do stuff.

01:34:06 ◼   ► And then of course there's AppKit,

01:34:07 ◼   ► the old API that is superseded maybe

01:34:12 ◼   ► by Catalyst and or Swift UI.

01:34:14 ◼   ► This is not a great situation for the Mac

01:34:18 ◼   ► because the reason you see among the little circles

01:34:20 ◼   ► that we travel in,

01:34:21 ◼   ► lots of discussions of all these different words,

01:34:23 ◼   ► Catalyst, AppKit and Swift UI,

01:34:25 ◼   ► is that there is no obvious answer for all situations

01:34:31 ◼   ► on how to develop a native Mac app.

01:34:34 ◼   ► Setting aside Electron, what should I use?

01:34:36 ◼   ► And there's almost like a flow chart of like,

01:34:39 ◼   ► well, do you have an existing UIKit app?

01:34:41 ◼   ► Are you writing from scratch?

01:34:43 ◼   ► Do you have an existing AppKit app?

01:34:45 ◼   ► Are you gonna target the watch?

01:34:47 ◼   ► Are you gonna target the iPhone?

01:34:48 ◼   ► Like, you know, how complicated is your application?

01:34:51 ◼   ► What is your tolerance for bugs and immaturity?

01:34:54 ◼   ► Apple has been in this place before,

01:34:56 ◼   ► many, many times over the years.

01:34:58 ◼   ► I'm just gonna go back to the most recent one,

01:35:00 ◼   ► but there are, if you keep going back in time,

01:35:01 ◼   ► there's more and more and more ones for even older people.

01:35:06 ◼   ► The most recent time Apple found itself in a scenario

01:35:08 ◼   ► is the dawn of Mac OS X.

01:35:10 ◼   ► Before Mac OS X, Apple tried to do an OS called Rhapsody,

01:35:13 ◼   ► which is basically the same as Mac OS X,

01:35:15 ◼   ► but without the ability to easily port

01:35:18 ◼   ► classic Mac OS maps, apps to it.

01:35:20 ◼   ► And that OS strategy didn't fly,

01:35:23 ◼   ► mostly because the companies that had existing Mac apps said,

01:35:26 ◼   ► yeah, no, we're not gonna rewrite our apps.

01:35:28 ◼   ► Like, Microsoft said, no, we're not rewriting Office

01:35:30 ◼   ► for the next step APIs.

01:35:32 ◼   ► And Adobe said, no, we're not rewriting Photoshop

01:35:33 ◼   ► for the next step APIs, right?

01:35:35 ◼   ► So Apple had to come up with Mac OS X,

01:35:37 ◼   ► which was basically Rhapsody,

01:35:38 ◼   ► plus a new API called Carbon,

01:35:40 ◼   ► which was essentially the parts

01:35:43 ◼   ► of the old classic Mac API that they could port

01:35:46 ◼   ► in a safe way to a modern operating system, right?

01:35:48 ◼   ► And then Microsoft ported its apps to Carbon,

01:35:51 ◼   ► and Adobe ported its apps to Carbon.

01:35:53 ◼   ► And then all the next developers

01:35:55 ◼   ► ported their apps to Cocoa,

01:35:56 ◼   ► not ported, they were already based on that.

01:35:58 ◼   ► They renamed a bunch of stuff

01:35:59 ◼   ► and got their AppKit apps to run in Cocoa.

01:36:03 ◼   ► And for years, for many, many years,

01:36:05 ◼   ► it seemed like a longer time than it actually was,

01:36:07 ◼   ► but for many years in the beginning of Mac OS X,

01:36:10 ◼   ► there were two ways to write a native Mac OS X app.

01:36:14 ◼   ► You could write in Carbon, or you could write in Cocoa.

01:36:17 ◼   ► And people would ask questions.

01:36:19 ◼   ► I wanna write a Mac app, which API should I use?

01:36:22 ◼   ► And you'd go through the flow chart.

01:36:23 ◼   ► Do you have an existing Mac app?

01:36:24 ◼   ► If you do, you should probably use Carbon,

01:36:25 ◼   ► because you can easily port it to that.

01:36:27 ◼   ► Do you have an existing NextApp app?

01:36:28 ◼   ► If you do, you shouldn't use Cocoa,

01:36:29 ◼   ► because it's basically the same API,

01:36:31 ◼   ► and it just renames some stuff, and it'll be fine.

01:36:33 ◼   ► What if I'm starting from scratch?

01:36:35 ◼   ► Well, do you know Objective-C?

01:36:37 ◼   ► What's Objective-C?

01:36:38 ◼   ► How do you feel about square brackets?

01:36:40 ◼   ► What language do you know, what APIs?

01:36:44 ◼   ► Have you ever made another Mac app before?

01:36:46 ◼   ► What APIs are you familiar with, right?

01:36:48 ◼   ► And aside from the obvious ones,

01:36:51 ◼   ► which is like, hey, I've got Adobe Photoshop,

01:36:54 ◼   ► I should obviously go with Carbon,

01:36:55 ◼   ► because I'm not rewriting it in NextApp,

01:36:57 ◼   ► or I've got like OmniWeb,

01:36:59 ◼   ► I should obviously use AppKit, 'cause that's the one.

01:37:01 ◼   ► There was no obvious answer,

01:37:02 ◼   ► and Apple wouldn't tell you what you should do.

01:37:05 ◼   ► They would just say, well,

01:37:07 ◼   ► use the one that you prefer.

01:37:10 ◼   ► We try to give them feature parity.

01:37:12 ◼   ► And as the years went on,

01:37:13 ◼   ► sometimes a feature would appear in AppKit first,

01:37:15 ◼   ► sometimes a feature would appear in Carbon first.

01:37:18 ◼   ► Some features were only available in Carbon,

01:37:20 ◼   ► like a bunch of stuff having to do with Classic Mac OS

01:37:22 ◼   ► and the QuickTime stuff or whatever.

01:37:24 ◼   ► And then eventually some features only available in Cocoa.

01:37:27 ◼   ► And Apple had a bunch of WWDCs where they do these sessions

01:37:30 ◼   ► where we're like, we're gonna do feature parity,

01:37:31 ◼   ► and we're not gonna do that anymore.

01:37:32 ◼   ► And every new thing that we come out with

01:37:34 ◼   ► is gonna be in Carbon and Cocoa at the same time.

01:37:38 ◼   ► And you can see how, like in one way,

01:37:41 ◼   ► this is a necessary strategy,

01:37:43 ◼   ► 'cause you can't have an OS

01:37:44 ◼   ► unless you can bring along all the apps.

01:37:45 ◼   ► You need Microsoft Office, you need Internet Explorer,

01:37:48 ◼   ► whatever the hell, right?

01:37:49 ◼   ► And all these new Cocoa apps are new and exciting.

01:37:51 ◼   ► They let people, individuals make applications on their own

01:37:53 ◼   ► that have become popular, like NetNewsWire,

01:37:55 ◼   ► written by one person through the magic of Cocoa.

01:37:58 ◼   ► These are both good things.

01:37:59 ◼   ► I don't wanna give either one of them up.

01:38:00 ◼   ► I can't give up Carbon.

01:38:02 ◼   ► And matter of fact, major parts of the operating system

01:38:05 ◼   ► are Carbon only, and Cocoa apps

01:38:07 ◼   ► end up needing to call into Carbon to do those things.

01:38:09 ◼   ► But I can't give up Cocoa

01:38:10 ◼   ► because there's so much excitement happening there,

01:38:11 ◼   ► and people are writing apps that, you know, very quickly,

01:38:14 ◼   ► and writing these feature-filled apps

01:38:15 ◼   ► because Cocoa is this amazing framework,

01:38:17 ◼   ► and they're learning Objective-C and blah, blah, blah.

01:38:21 ◼   ► During that time, a lot of developers really wished,

01:38:24 ◼   ► Apple, just tell us which one we should use.

01:38:26 ◼   ► Like, which one should we use?

01:38:28 ◼   ► Is it gonna be Carbon forever and ever,

01:38:30 ◼   ► or is it gonna be Cocoa forever?

01:38:31 ◼   ► Because you can't have both because it's just too confusing.

01:38:34 ◼   ► And Apple would say, well, we need to have both right now.

01:38:36 ◼   ► But developers, if you're on the Cocoa side,

01:38:39 ◼   ► you were saying, we should just get rid

01:38:40 ◼   ► of this Carbon garbage.

01:38:41 ◼   ► It's terrible.

01:38:41 ◼   ► Objective-C is the future.

01:38:42 ◼   ► Everything should be AppKit.

01:38:43 ◼   ► And if you're Carbon, you'd be like,

01:38:45 ◼   ► what the hell is with this Objective-C stuff?

01:38:47 ◼   ► Like, no one uses that language.

01:38:48 ◼   ► It makes no sense.

01:38:49 ◼   ► It's so ugly.

01:38:50 ◼   ► The API is stupid.

01:38:51 ◼   ► All the real features are in Carbon.

01:38:53 ◼   ► Why don't we just forget about that?

01:38:55 ◼   ► Just like we forgot about the Java interface to it

01:38:57 ◼   ► and just go with Carbon forever.

01:38:59 ◼   ► Eventually, after what seemed like way, way too long,

01:39:03 ◼   ► Apple made a decision, and the decision was,

01:39:05 ◼   ► Carbon, you're out.

01:39:06 ◼   ► And it's Cocoa from here on.

01:39:10 ◼   ► And that was incredibly clarifying,

01:39:13 ◼   ► for there was a period of time where you said,

01:39:15 ◼   ► if you wanna make a native Mac application, how do I do it?

01:39:18 ◼   ► The answer was AppKit, Cocoa.

01:39:20 ◼   ► Period.

01:39:21 ◼   ► That was it, because Carbon didn't come to 64-bit.

01:39:23 ◼   ► And once the OS was 64-bit only,

01:39:25 ◼   ► which also took a long time, your only option was AppKit.

01:39:29 ◼   ► And yeah, there's other models of building applications.

01:39:32 ◼   ► You can make a Java app, like a native Java app

01:39:35 ◼   ► with all those widgets and web technologies

01:39:37 ◼   ► and all sorts of stuff like that.

01:39:38 ◼   ► But eventually, they made the call.

01:39:41 ◼   ► We are back now in a situation that's even worse,

01:39:44 ◼   ► where we have Catalyst, which is good for UIKit things.

01:39:48 ◼   ► We have SwiftUI, which is kinda like the new Cocoa,

01:39:50 ◼   ► it's like the new hotness, although, you know,

01:39:52 ◼   ► obviously Cocoa was a decade-old technology

01:39:55 ◼   ► when Apple bought it, unlike SwiftUI.

01:39:58 ◼   ► And then we have AppKit, still lurking back there.

01:40:00 ◼   ► All three of those things work today

01:40:02 ◼   ► to make a Mac application.

01:40:04 ◼   ► And Apple will not tell you which one of those

01:40:07 ◼   ► is the real future, maybe because they don't know.

01:40:10 ◼   ► But right now, they're doing the thing they did for years

01:40:12 ◼   ► with Carbon and Cocoa, it's like, they're all pretty good,

01:40:14 ◼   ► just pick the one that's best for you.

01:40:16 ◼   ► I don't think that's a good strategy.

01:40:19 ◼   ► But on the other hand, I don't think it's a good strategy

01:40:22 ◼   ► to ditch one at this point, because, I mean,

01:40:25 ◼   ► Catalyst debatably, when Catalyst came out,

01:40:28 ◼   ► we didn't know about SwiftUI,

01:40:29 ◼   ► so Catalyst seemed like the future of the Mac.

01:40:31 ◼   ► But then SwiftUI came out, and it's like,

01:40:32 ◼   ► no, what the hell is the future, right?

01:40:35 ◼   ► And so if you're 1Password,

01:40:36 ◼   ► and you're trying to make a native Mac app,

01:40:38 ◼   ► forget about Electron, it's not even clear

01:40:40 ◼   ► what you should do.

01:40:42 ◼   ► The only thing that's clear is that AppKit

01:40:43 ◼   ► is probably not the future.

01:40:45 ◼   ► But it's also the most full featured API on the platform,

01:40:48 ◼   ► and it can do all the things,

01:40:49 ◼   ► and you can make amazing apps with it, but you're doing it,

01:40:51 ◼   ► you feel like this is just not the future,

01:40:52 ◼   ► 'cause this is not, like,

01:40:54 ◼   ► Apple introduced two new frameworks since then.

01:40:56 ◼   ► They both have a lot to say for them, right?

01:41:00 ◼   ► Catalyst is great, and it's shared with UIKit,

01:41:03 ◼   ► and has great benefits as me as a developer.

01:41:05 ◼   ► But SwiftUI is the new hotness,

01:41:06 ◼   ► but then there's AppKit that has all the features,

01:41:08 ◼   ► and if I use SwiftUI or Catalyst,

01:41:10 ◼   ► I also have to go back into AppKit to get those features,

01:41:12 ◼   ► so maybe AppKit's the new Carbon,

01:41:13 ◼   ► and is AppKit not gonna be ported to 128K, or 128 bit?

01:41:16 ◼   ► That's a joke, that's not coming, don't worry.

01:41:18 ◼   ► Like, it's super confusing.

01:41:22 ◼   ► So I understand Apple's situation,

01:41:24 ◼   ► I understand why Apple doesn't come out and say,

01:41:26 ◼   ► SwiftUI, number one, that's the future,

01:41:28 ◼   ► everyone should go for it.

01:41:29 ◼   ► Catalyst, weird stopgap, don't worry about it, it's cool

01:41:31 ◼   ► if you're gonna port apps,

01:41:32 ◼   ► AppKit, forget it, screw it, it's dead, right?

01:41:34 ◼   ► They don't say that.

01:41:35 ◼   ► And so, like, every Mac developer

01:41:38 ◼   ► has this difficult choice to make

01:41:41 ◼   ► that's like make or break your app, right?

01:41:43 ◼   ► I almost feel worse for the people who have picked one,

01:41:47 ◼   ► who have said, I'm all in on Catalyst,

01:41:50 ◼   ► 'cause what if Catalyst is the one that doesn't make it?

01:41:52 ◼   ► I mean, I guess you get a few good years out of it,

01:41:54 ◼   ► you got to reuse a lot of your work that you did

01:41:56 ◼   ► with UIKit, reuse your knowledge or whatever, it's great,

01:41:59 ◼   ► but then five years from now,

01:42:00 ◼   ► Catalyst is like sunset over the course

01:42:02 ◼   ► of a few OS releases.

01:42:04 ◼   ► You're gonna have to rewrite your app in SwiftUI,

01:42:07 ◼   ► or AppKit if AppKit is still around, right?

01:42:10 ◼   ► And same thing is true, if SwiftUI just doesn't work out

01:42:13 ◼   ► and ends up fizzling and Catalyst is the true future

01:42:15 ◼   ► and you really bought in on SwiftUI,

01:42:16 ◼   ► what are you gonna do then?

01:42:18 ◼   ► So I feel for 1Password in this situation,

01:42:21 ◼   ► it is almost like the safest bet in terms of future-proofing

01:42:24 ◼   ► is to defer this decision and say,

01:42:26 ◼   ► we're just gonna go with Electron for now,

01:42:28 ◼   ► because they tried SwiftUI and it wasn't ready

01:42:30 ◼   ► and I totally believe them on that, right?

01:42:32 ◼   ► - Oh yeah, absolutely believe them.

01:42:34 ◼   ► - And then, and they probably didn't have time

01:42:36 ◼   ► to go back on Catalyst and it's like,

01:42:37 ◼   ► well, we don't know what the right,

01:42:39 ◼   ► we don't know which horse to bet on.

01:42:41 ◼   ► So if we just do Electron and don't bet on any horse

01:42:43 ◼   ► and go with a donkey, right?

01:42:45 ◼   ► Then we can just wait this out.

01:42:47 ◼   ► And if it turns out our Mac customers really hate this

01:42:50 ◼   ► and their Apple customers want us to do native,

01:42:51 ◼   ► maybe by the time we revisit the decision in a year or two,

01:42:54 ◼   ► it'll become more clear what we're supposed to do.

01:42:57 ◼   ► But I really, really feel like Apple's current strategy

01:43:00 ◼   ► of supporting both Catalyst and SwiftUI

01:43:03 ◼   ► as the modern options on the Mac

01:43:06 ◼   ► is untenable in the medium term.

01:43:08 ◼   ► Within the next five years,

01:43:09 ◼   ► Apple needs to make a call, I think,

01:43:11 ◼   ► because there's just no way to support

01:43:13 ◼   ► three major UI frameworks,

01:43:16 ◼   ► plus all the shared underlying stuff on the Mac,

01:43:19 ◼   ► and then complain when people choose Electron instead.

01:43:22 ◼   ► Because like, well, what was my alternative?

01:43:24 ◼   ► One of this alphabet soup of vaguely inter-compatible APIs,

01:43:28 ◼   ► none of which I can use in isolation

01:43:30 ◼   ► to make a quote unquote full featured native Mac app.

01:43:33 ◼   ► Because at this point you can't even use like,

01:43:35 ◼   ► well, I don't know, you can probably still use AppKit

01:43:37 ◼   ► to make a full-aged app.

01:43:38 ◼   ► Is there anything you need to go into

01:43:39 ◼   ► Catalyst or SwiftUI for?

01:43:40 ◼   ► - No, right now, whatever you want to do on the Mac,

01:43:44 ◼   ► AppKit does it.

01:43:45 ◼   ► And AppKit, you know, AppKit is,

01:43:47 ◼   ► you know, the parallel in iOS is obviously UIKit.

01:43:51 ◼   ► That's like the main framework that the other frameworks

01:43:55 ◼   ► seem to be implemented in, you know,

01:43:57 ◼   ► on the underlying levels, or at least in part.

01:43:59 ◼   ► And AppKit is like, it's the one that will be supported

01:44:04 ◼   ► and maintained probably the longest on the Mac.

01:44:07 ◼   ► I mean, in this case, like, I think SwiftUI,

01:44:09 ◼   ► and it's a whole discussion probably for another day,

01:44:14 ◼   ► but, you know, SwiftUI started as a watch framework.

01:44:19 ◼   ► And then the other OSes kind of, you know,

01:44:23 ◼   ► snatched it up and made it their own as well.

01:44:25 ◼   ► But it started on the watch.

01:44:27 ◼   ► And if you use SwiftUI on all these platforms,

01:44:31 ◼   ► that will make a lot of sense to know that.

01:44:33 ◼   ► Because on the watch, it's pretty good.

01:44:37 ◼   ► And it was very badly needed compared to, you know,

01:44:41 ◼   ► old watch kit UI stuff.

01:44:43 ◼   ► That was terrible.

01:44:44 ◼   ► And so it was badly needed.

01:44:45 ◼   ► And SwiftUI does well in simple contexts,

01:44:49 ◼   ► where the scope of what you're trying to do with the UI

01:44:53 ◼   ► is fairly low.

01:44:54 ◼   ► It's not that complicated.

01:44:56 ◼   ► You're using mostly default behaviors

01:44:59 ◼   ► and appearances of things.

01:45:00 ◼   ► You're not doing a lot of customization.

01:45:02 ◼   ► And you have relatively simple views

01:45:06 ◼   ► and relatively simple needs and simple data models.

01:45:09 ◼   ► Watch apps tend to have that,

01:45:10 ◼   ► because watch apps have to be simplified

01:45:12 ◼   ► for lots of other reasons.

01:45:13 ◼   ► So it makes tons of sense on the watch,

01:45:15 ◼   ► which is why it was born there.

01:45:17 ◼   ► And it also has, like, you know, less problem area to cover,

01:45:21 ◼   ► and it's most mature there.

01:45:22 ◼   ► So on the watch, SwiftUI is a no-brainer.

01:45:24 ◼   ► Yeah, if you're making an app on the watch,

01:45:26 ◼   ► use SwiftUI, period.

01:45:27 ◼   ► As you move up to the, like, you know, quote, larger,

01:45:31 ◼   ► I guess, by screen size, or by complexity, certainly,

01:45:34 ◼   ► you know, as you move to the larger platforms,

01:45:37 ◼   ► you know, on the phone, SwiftUI is,

01:45:40 ◼   ► well, it's a little less usable than on the watch.

01:45:42 ◼   ► You know, there's more rough edges, there's more bugs.

01:45:46 ◼   ► There's more, like, walls that you hit

01:45:48 ◼   ► trying to do common customizations or common behaviors

01:45:52 ◼   ► that UI kit apps have been doing forever.

01:45:55 ◼   ► You hit more of those walls on iOS

01:45:57 ◼   ► than you on watchOS, for sure.

01:45:58 ◼   ► You can tell that it's a little less tested,

01:46:01 ◼   ► it's a little, few more rough edges,

01:46:04 ◼   ► and there are more ways, once you go from watchOS to iOS

01:46:08 ◼   ► in SwiftUI, there are more ways in which the SwiftUI model

01:46:11 ◼   ► of doing things kind of breaks down,

01:46:14 ◼   ► or starts having a lot of really ugly, you know,

01:46:16 ◼   ► things you have to be doing and jumping through hoops

01:46:18 ◼   ► to get it to work right.

01:46:19 ◼   ► Well, then take that onto the Mac,

01:46:21 ◼   ► and you scale it up even further onto this,

01:46:24 ◼   ► the Mac is now even further than the watch,

01:46:28 ◼   ► like in scope and everything, Mac apps tend to be

01:46:30 ◼   ► significantly more complicated than iOS apps in their UIs

01:46:33 ◼   ► and their behaviors and what they have to accommodate,

01:46:35 ◼   ► what they have to do, what's important,

01:46:37 ◼   ► and also, the Mac, unlike iOS, is a way lower priority.

01:46:42 ◼   ► It gets way less engineering attention,

01:46:46 ◼   ► like in software terms.

01:46:47 ◼   ► The UI, like SwiftUI on the Mac doesn't seem like

01:46:50 ◼   ► it's getting a lot of attention from anybody,

01:46:52 ◼   ► because what a surprise, look at Mac OS software quality

01:46:55 ◼   ► over the last decade, it's not as high of a priority as iOS.

01:46:59 ◼   ► And so, you have this framework that's been,

01:47:01 ◼   ► you know, it's pretty opinionated, and still pretty young,

01:47:05 ◼   ► and has a lot of really rough edges,

01:47:07 ◼   ► and so, you know, it's pretty good on the platform

01:47:10 ◼   ► that it was made for, but as you get bigger

01:47:12 ◼   ► and more complicated, and then in the case of the Mac,

01:47:14 ◼   ► as you get seemingly a lot less resources devoted to it,

01:47:17 ◼   ► I don't think SwiftUI on the Mac is ever gonna be great.

01:47:22 ◼   ► I suspect SwiftUI on the Mac to always be

01:47:25 ◼   ► this kind of experimental thing that a lot of people

01:47:28 ◼   ► try to use, doesn't work out very well,

01:47:30 ◼   ► and they go to something else.

01:47:31 ◼   ► And then the problem there is, what John was saying,

01:47:34 ◼   ► well, what do you go to?

01:47:35 ◼   ► And AppKit is actually the right answer.

01:47:38 ◼   ► Unfortunately, it doesn't feel good to go to AppKit

01:47:41 ◼   ► for a brand new app in 2021.

01:47:42 ◼   ► It feels like that's probably a bad decision,

01:47:45 ◼   ► but with the realities of, you know,

01:47:48 ◼   ► Mac OS engineering priorities and quality priorities,

01:47:51 ◼   ► I don't think SwiftUI is ever gonna be the right move on Mac

01:47:54 ◼   ► and Catalyst, I think, has proven to be

01:47:57 ◼   ► kind of like Electron.

01:48:01 ◼   ► There's a lot of downsides to usability.

01:48:04 ◼   ► - It's more like Carbon, because it's saying,

01:48:06 ◼   ► hey, we have a bunch of customers who have existing apps

01:48:09 ◼   ► who would like to reuse that code

01:48:11 ◼   ► and that skills on a different platform.

01:48:13 ◼   ► So, you know, Catalyst is just Carbon for UIKit, right?

01:48:17 ◼   ► That's essentially what it is.

01:48:19 ◼   ► It's even better than Carbon, because you don't even have

01:48:20 ◼   ► to change as much code, and they didn't have to,

01:48:22 ◼   ► but that's, you know, we have to bring along,

01:48:26 ◼   ► we have to bring along these developers,

01:48:27 ◼   ► 'cause this is where all our developers,

01:48:28 ◼   ► all our developers know UIKit, very few of them know

01:48:30 ◼   ► Mac stuff, if you want more Mac apps,

01:48:32 ◼   ► we need a way for running UIKit on here,

01:48:34 ◼   ► but it doesn't feel, it doesn't, it feels like Carbon.

01:48:38 ◼   ► It feels like, all right, well, these people need

01:48:40 ◼   ► to be able to bring their stuff along,

01:48:42 ◼   ► and it feels like early Carbon, where there's not parity

01:48:44 ◼   ► between the UIs, and they're very different, right?

01:48:46 ◼   ► And so it's not clear, you know, like, again,

01:48:50 ◼   ► before SwiftUI, Catalyst is, I think,

01:48:52 ◼   ► this is the name of the episode Extinction Level Event,

01:48:55 ◼   ► where it's like, well, that's it for AppKit, then,

01:48:56 ◼   ► because once you bring Catalyst over here,

01:48:59 ◼   ► like, all those, why would anyone ever learn AppKit again?

01:49:03 ◼   ► Because if you don't need to learn it,

01:49:04 ◼   ► and you already know UIKit, and you have a way

01:49:06 ◼   ► to run those apps on here, why wouldn't just ever do that?

01:49:09 ◼   ► But now SwiftUI is in the mix, and it's even more confusing.

01:49:11 ◼   ► And I don't wanna say about SwiftUI,

01:49:13 ◼   ► the fact that it started out on the watch,

01:49:15 ◼   ► I think, I agree with you, it remains,

01:49:17 ◼   ► I would say it remains an open question

01:49:20 ◼   ► as to whether the sort of API paradigm,

01:49:24 ◼   ► declarative interfaces, as defined by SwiftUI,

01:49:28 ◼   ► is sufficient or a good way

01:49:32 ◼   ► to make very complicated Mac apps.

01:49:34 ◼   ► The reason we don't know that yet

01:49:35 ◼   ► is because SwiftUI currently lacks tons of features,

01:49:38 ◼   ► that it just doesn't have the features,

01:49:40 ◼   ► and that's why people bang their head against the wall

01:49:42 ◼   ► trying to make SwiftUI do a thing

01:49:44 ◼   ► that it doesn't have features for yet, right?

01:49:46 ◼   ► Once they add the feature to SwiftUI,

01:49:48 ◼   ► sometimes it's easy to do whatever the thing

01:49:49 ◼   ► that you were trying to do,

01:49:50 ◼   ► but if it doesn't have that feature at all,

01:49:51 ◼   ► like first responder or controlling focus,

01:49:55 ◼   ► trying to get that to work in some weird way feels terrible.

01:50:00 ◼   ► But if and when they add that feature,

01:50:02 ◼   ► it's like, oh, now it's easy, right?

01:50:05 ◼   ► But still.

01:50:06 ◼   ► - Honestly, I disagree with you on this.

01:50:08 ◼   ► I think the biggest pain points of SwiftUI,

01:50:11 ◼   ► in my experience, again,

01:50:12 ◼   ► I haven't tried making a Mac app with it.

01:50:13 ◼   ► I have a lot of experience on the watch,

01:50:15 ◼   ► some experience on iOS so far.

01:50:17 ◼   ► My experience with SwiftUI

01:50:18 ◼   ► is not running into missing features.

01:50:22 ◼   ► It's running into capabilities or behaviors

01:50:25 ◼   ► that are really easy in UIKit,

01:50:29 ◼   ► you know, in procedural programming,

01:50:31 ◼   ► that are just really hard because of SwiftUI's model,

01:50:35 ◼   ► that just like this declarative model,

01:50:37 ◼   ► the things that it makes easy or easier,

01:50:41 ◼   ► it's like magic when you use it

01:50:43 ◼   ► and you can make something so fast.

01:50:45 ◼   ► I love SwiftUI when I'm working

01:50:48 ◼   ► within the things it's good at.

01:50:49 ◼   ► And then I hit some little thing,

01:50:51 ◼   ► it's like, wait a minute, I can't ship this like this.

01:50:54 ◼   ► I have to have it, you know,

01:50:55 ◼   ► like when you, it has to like deselect the cell correctly

01:50:58 ◼   ► when I go back here or whatever.

01:50:59 ◼   ► And I run into some little behavioral detail like that.

01:51:02 ◼   ► And oh, I just can't do that.

01:51:04 ◼   ► Like it isn't that it's hard.

01:51:06 ◼   ► - I feel like that's a missing feature though,

01:51:08 ◼   ► because if you had the, you know,

01:51:10 ◼   ► on defocused unselect, that would take you two seconds

01:51:14 ◼   ► where the typing of that feature existed.

01:51:15 ◼   ► - Well, so sometimes it's a missing feature,

01:51:17 ◼   ► but sometimes it's just like,

01:51:19 ◼   ► I can't do this thing I'm trying to do,

01:51:21 ◼   ► and I understand why I can't do it,

01:51:23 ◼   ► because the way, like the procedural nature

01:51:25 ◼   ► or the declarative nature of this,

01:51:27 ◼   ► yeah, that would be really hard to model

01:51:29 ◼   ► in this kind of thing.

01:51:30 ◼   ► Or I can do it, but it requires

01:51:32 ◼   ► all this ugly crap hack work around,

01:51:35 ◼   ► because that's just not a thing that declarative UIs

01:51:39 ◼   ► are well representing, you know?

01:51:42 ◼   ► - That's why I say it's an open question though,

01:51:43 ◼   ► because the flip side is also true.

01:51:45 ◼   ► There are things that are a super pain in the butt

01:51:47 ◼   ► to do in an imperative language

01:51:49 ◼   ► that are trivial to do in a declarative one.

01:51:51 ◼   ► And the open question is,

01:51:53 ◼   ► what does that ratio break down as?

01:51:55 ◼   ► Like the things that Swift UI is good at

01:51:56 ◼   ► versus the things that a non declarative API is good at.

01:52:00 ◼   ► What is the ratio of those in a typical app?

01:52:02 ◼   ► And it's modified by like you having,

01:52:04 ◼   ► not having experience with this API,

01:52:06 ◼   ► lots of people not having experience with an API like this.

01:52:08 ◼   ► But that's why I feel like more people,

01:52:10 ◼   ► you need more features to be able to build bigger apps.

01:52:13 ◼   ► And then when you build the bigger apps,

01:52:13 ◼   ► you need to figure out,

01:52:14 ◼   ► are the things that Swift UI is good at

01:52:17 ◼   ► enough to offset the things it's bad at?

01:52:19 ◼   ► Because I think it's basically,

01:52:21 ◼   ► it's pretty non-overlapping set

01:52:23 ◼   ► of like the things that AppKit is good at

01:52:25 ◼   ► and the thing that it's bad at.

01:52:26 ◼   ► Like it's a complimentary set with Swift UI.

01:52:30 ◼   ► There's not a lot of overlap

01:52:30 ◼   ► just because the models are so different, right?

01:52:32 ◼   ► But what I wanted to get at

01:52:33 ◼   ► with this having origins on the watch

01:52:36 ◼   ► is that one thing in Swift UI's favor is it does,

01:52:40 ◼   ► well, there's two sides to it.

01:52:42 ◼   ► It does a lot of things to be efficient.

01:52:44 ◼   ► Part one of the advantages of being a declarative API

01:52:49 ◼   ► is it's harder for you to add code

01:52:52 ◼   ► that slows the system down

01:52:53 ◼   ► because it takes your whole model,

01:52:55 ◼   ► turns it into a structure, figures out,

01:52:57 ◼   ► like all the view combining and crap

01:53:00 ◼   ► that you would have to do in like AppKit apps manually

01:53:02 ◼   ► to improve your performance problems

01:53:04 ◼   ► after watching 50 WWDC sessions.

01:53:06 ◼   ► Swift UI is doing that for you internally.

01:53:08 ◼   ► Like you don't have to do that.

01:53:10 ◼   ► The framework does it.

01:53:12 ◼   ► The framework will, in theory,

01:53:14 ◼   ► figure out how to make your thing fast,

01:53:15 ◼   ► figure out how to combine your views.

01:53:17 ◼   ► Like don't worry about making tons of little views

01:53:19 ◼   ► in Swift UI.

01:53:20 ◼   ► It's not actually making NS views

01:53:21 ◼   ► for every single one of those things.

01:53:22 ◼   ► The system will figure it out, right?

01:53:24 ◼   ► 'Cause it has to be efficient

01:53:25 ◼   ► 'cause it has to run on the watch.

01:53:26 ◼   ► The other side of that is,

01:53:27 ◼   ► yeah, but the watch doesn't have much crap going on.

01:53:29 ◼   ► So really, like has this actually been tested?

01:53:33 ◼   ► Yes, it is efficient enough to run on the watch,

01:53:35 ◼   ► but honestly, how many Swift UI views

01:53:38 ◼   ► can you fit on the watch screen?

01:53:39 ◼   ► Like there's not that many of them,

01:53:41 ◼   ► whereas a Mac app can have a ton of them.

01:53:43 ◼   ► So this supposed system that's gonna like

01:53:46 ◼   ► turn everything into a data structure

01:53:48 ◼   ► and run it through this machine

01:53:49 ◼   ► and make views to be an efficient way,

01:53:51 ◼   ► does that actually work when I have a table

01:53:54 ◼   ► with like millions of cells and stuff?

01:53:56 ◼   ► Or does it fall over because AppKit has had

01:53:58 ◼   ► multiple decades of optimization

01:54:00 ◼   ► and actually NS table or even how UI collection view

01:54:03 ◼   ► actually do this much better

01:54:04 ◼   ► because they've been forged in the crucible

01:54:06 ◼   ► of years and years and years of making this faster

01:54:09 ◼   ► and having a WWDC session telling you how to make it faster

01:54:11 ◼   ► and then repeating that cycle, right?

01:54:13 ◼   ► So that's why Swift UI is a question mark,

01:54:16 ◼   ► but there is a bunch of stuff in favor of it.

01:54:17 ◼   ► It is good at things that other frameworks are not good at.

01:54:20 ◼   ► It does have lots of technical things that in theory

01:54:22 ◼   ► can make it very fast and efficient

01:54:25 ◼   ► without much developer effort.

01:54:27 ◼   ► It does have the potential as Apple keeps pushing

01:54:29 ◼   ► to be less bug prone because you don't have to worry about

01:54:32 ◼   ► as many states of the interface

01:54:34 ◼   ► and having things be immutable versus mutable

01:54:37 ◼   ► and declarative versus imperative.

01:54:39 ◼   ► Like Apple really pushes the benefits and they are real

01:54:42 ◼   ► and they do make sense and they could all work out,

01:54:46 ◼   ► but we don't know if that's the case yet, right?

01:54:48 ◼   ► All we know is that right now it's young, it's got bugs,

01:54:50 ◼   ► it doesn't have all the features we need.

01:54:52 ◼   ► Some parts of it are in fact slow

01:54:54 ◼   ► when you try to do big things,

01:54:56 ◼   ► but it's too early to make a call, right?

01:54:59 ◼   ► And then catalyst is kind of the same thing.

01:55:01 ◼   ► Catalyst is a known quantity, we know about UIKit,

01:55:03 ◼   ► but there's a bunch of crap you can't do

01:55:05 ◼   ► without falling down to AppKit.

01:55:06 ◼   ► And until very recently, it's been very difficult

01:55:09 ◼   ► to make an app that can fool a actual experienced Mac user

01:55:13 ◼   ► into thinking it's not a catalyst app, right?

01:55:15 ◼   ► The scaling thing helps a lot,

01:55:17 ◼   ► but there are other sort of telltale signs.

01:55:20 ◼   ► And especially if you're bringing an app

01:55:21 ◼   ► from the iPad or the iPhone,

01:55:23 ◼   ► it's very easy to tell that it's not a native Mac app

01:55:25 ◼   ► because no one would ever make a Mac app like that

01:55:27 ◼   ► because that's not how Mac apps work.

01:55:29 ◼   ► So the Mac as a platform is in a difficult situation.

01:55:34 ◼   ► Part of that situation is just Apple in terms of like,

01:55:38 ◼   ► well, how important is the Mac to any one person?

01:55:40 ◼   ► But part of it is Apple's own doing

01:55:41 ◼   ► and that they don't have a clear message

01:55:43 ◼   ► on what should I be doing instead of Electron.

01:55:45 ◼   ► So Electron really starts to feel like a safe, wise,

01:55:50 ◼   ► and reasonable choice until Apple gets his crap together.

01:55:56 ◼   ► - Yeah, it's such a crummy state of the Mac, right?

01:56:01 ◼   ► And to bring this briefly back to 1Password,

01:56:04 ◼   ► I'm still not convinced that catalyst

01:56:06 ◼   ► wouldn't have been an acceptable answer.

01:56:08 ◼   ► So it would be straight UI kit on iOS and iPad,

01:56:12 ◼   ► and then 90% UI kit wherever possible on Mac OS

01:56:17 ◼   ► and then dropping back to AppKit

01:56:19 ◼   ► or something like that if necessary.

01:56:20 ◼   ► I mean, if the backend really and truly is Rust,

01:56:23 ◼   ► and if it really and truly does 90% of the heavy lifting,

01:56:26 ◼   ► then I got to imagine 90% of 10% is still not too much code.

01:56:31 ◼   ► You know what I mean?

01:56:31 ◼   ► Like it shouldn't have been that thick a shim

01:56:33 ◼   ► over their Rust backend,

01:56:35 ◼   ► but be that as a May again,

01:56:37 ◼   ► I can armchair quarterback all the time.

01:56:39 ◼   ► - I mean, honestly, I think they should have used AppKit.

01:56:41 ◼   ► They already knew how to use it.

01:56:42 ◼   ► They already had a giant existing app.

01:56:43 ◼   ► Like AppKit is the right answer here.

01:56:46 ◼   ► I know it doesn't feel good from an engineering standpoint,

01:56:48 ◼   ► but that is the right answer right now.

01:56:51 ◼   ► - I mean, they would have had to throw away

01:56:52 ◼   ► the existing AppKit app,

01:56:53 ◼   ► but getting back to the core thing being in Rust,

01:56:55 ◼   ► like granted, you're gonna need to put something new

01:56:57 ◼   ► on top of it because we all know

01:56:58 ◼   ► despite everyone's attempts to be disciplined,

01:57:01 ◼   ► your backend is tied to your front end

01:57:03 ◼   ► in ways that are difficult.

01:57:03 ◼   ► So I totally understand that you've got to throw away

01:57:06 ◼   ► your existing AppKit app, probably all of it, right?

01:57:09 ◼   ► You've got a new core, right?

01:57:11 ◼   ► But on top of that new core,

01:57:13 ◼   ► how thick would the layer of AppKit UI kit

01:57:16 ◼   ► or SwiftUI have to be?

01:57:17 ◼   ► They tried to do a SwiftUI,

01:57:18 ◼   ► didn't work out for whatever reasons,

01:57:20 ◼   ► if they had tried to do an AppKit layer on top.

01:57:22 ◼   ► Certainly, you know, more work than Electron

01:57:24 ◼   ► because Electron is shared across all the platforms

01:57:26 ◼   ► and you just do it once, great.

01:57:28 ◼   ► But how complicated would that be?

01:57:31 ◼   ► I don't, I'm not, as I've used 1Password,

01:57:34 ◼   ► last 1Password version I had was three, I think.

01:57:36 ◼   ► I think I just deleted it actually a couple of months ago

01:57:37 ◼   ► 'cause I realized I hadn't launched it in a while

01:57:39 ◼   ► or maybe it had the circle with a line through it.

01:57:42 ◼   ► I'm saying it doesn't run on this OS anymore.

01:57:43 ◼   ► But I don't know how complicated 1Password is.

01:57:45 ◼   ► How much UI does 1Password have?

01:57:48 ◼   ► But pick any API and it's plausible

01:57:52 ◼   ► that would have been a similar amount of work

01:57:56 ◼   ► to use AppKit, Catalyst, or SwiftUI on top of that core.

01:58:01 ◼   ► All of those options are obviously way more work

01:58:05 ◼   ► than doing zero work and just using Electron everywhere.

01:58:07 ◼   ► So again, I can kind of understand why the company

01:58:09 ◼   ► went with what they went with.

01:58:11 ◼   ► But I also mostly agree with Marco

01:58:14 ◼   ► that if you had done it with AppKit,

01:58:16 ◼   ► that's a, in terms of customer experience,

01:58:18 ◼   ► currently that's a no compromise solution.

01:58:22 ◼   ► Like I was trying to think of,

01:58:23 ◼   ► is there anything you can't do in AppKit?

01:58:25 ◼   ► I think maybe with some of the stuff

01:58:28 ◼   ► they're adding to SwiftUI,

01:58:29 ◼   ► some things are actually a little bit more difficult

01:58:30 ◼   ► than AppKit, like the sum of the SwiftUI views

01:58:32 ◼   ► would be difficult to synthesize in AppKit.

01:58:34 ◼   ► But in general, I don't think there's anything

01:58:35 ◼   ► you literally can't do in AppKit.

01:58:38 ◼   ► So from a customer's perspective,

01:58:40 ◼   ► they don't need to know your cores and Rust, who cares?

01:58:42 ◼   ► Your UI is in AppKit.

01:58:43 ◼   ► They don't need to know you rewrote it all,

01:58:44 ◼   ► especially if you change it

01:58:45 ◼   ► and it looks a little bit different

01:58:46 ◼   ► for the version eight or whatever.

01:58:48 ◼   ► And that's fine.

01:58:50 ◼   ► If you did it in Catalyst,

01:58:52 ◼   ► I do wonder if we would be having this exact same podcast,

01:58:55 ◼   ► only instead of us complaining about them going to Electron,

01:58:57 ◼   ► we'd be complaining that they went to Catalyst.

01:59:00 ◼   ► Because Catalyst apps also have their own kind of,

01:59:04 ◼   ► especially if your goal is to share that code

01:59:06 ◼   ► with iPad and the iPhone,

01:59:08 ◼   ► he'd be like, oh, why don't the menu,

01:59:10 ◼   ► why is these menu items weird?

01:59:11 ◼   ► Why don't the keyboard shortcuts work?

01:59:13 ◼   ► Like there's tons of reasons to complain about Catalyst,

01:59:15 ◼   ► because it's all so young, right?

01:59:17 ◼   ► And then SwiftUI, like, you know,

01:59:20 ◼   ► they would still be writing it,

01:59:21 ◼   ► because there's like three things they needed to do

01:59:23 ◼   ► that it doesn't currently do,

01:59:24 ◼   ► and good luck trying to wedge that in, right?

01:59:26 ◼   ► - And SwiftUI is buggy too, like it's not,

01:59:29 ◼   ► if you look at the way SwiftUI does,

01:59:31 ◼   ► even like certain transitions,

01:59:32 ◼   ► like navigation controller transitions,

01:59:34 ◼   ► certain animations, certain, like,

01:59:36 ◼   ► SwiftUI actually does a lot of things in different ways

01:59:41 ◼   ► than the native UI frameworks on its own platform does them.

01:59:45 ◼   ► Like if you write certain things in UIKit or AppKit

01:59:48 ◼   ► versus SwiftUI, they actually sometimes behave

01:59:50 ◼   ► in small different ways.

01:59:52 ◼   ► And so like, this is why I think the idea

01:59:56 ◼   ► of cross-platform design and having like,

02:00:00 ◼   ► having a shared framework

02:00:01 ◼   ► between very different kinds of platforms.

02:00:04 ◼   ► How long has our industry been trying to do this?

02:00:07 ◼   ► And how has, when has it ever worked

02:00:09 ◼   ► with the sole exception of the web browser?

02:00:12 ◼   ► With the web browser is the greatest cross-platform,

02:00:16 ◼   ► cross-UI, you know, everything.

02:00:18 ◼   ► But once you get into apps, native apps,

02:00:21 ◼   ► the platforms are so different in big and small ways,

02:00:26 ◼   ► you know, a few big ways and a thousand small ways,

02:00:29 ◼   ► that I don't think it's even possible

02:00:31 ◼   ► to expect any cross-platform toolkit

02:00:34 ◼   ► to ever really make great UI experiences.

02:00:37 ◼   ► I think whatever you write for a phone,

02:00:40 ◼   ► or for a watch, or for the Mac,

02:00:42 ◼   ► or for the PC, or for the web browser,

02:00:44 ◼   ► those are all very different targets,

02:00:46 ◼   ► and they all have different UI conventions,

02:00:48 ◼   ► different expected behaviors by users,

02:00:50 ◼   ► entirely different environments and needs and priorities.

02:00:54 ◼   ► And so you're right, catalyst apps do suck,

02:00:56 ◼   ► and the reason they suck is not because

02:00:58 ◼   ► they're built on web technologies.

02:01:00 ◼   ► It's not because, like, they don't have

02:01:02 ◼   ► all of the same implementation details,

02:01:04 ◼   ► or almost any of the same implementation details,

02:01:06 ◼   ► as something like Electron.

02:01:08 ◼   ► They suck because they're running iPad code on the Mac,

02:01:12 ◼   ► and it doesn't feel right, and it doesn't behave right

02:01:15 ◼   ► in lots of little tiny ways.

02:01:17 ◼   ► And that's native code.

02:01:18 ◼   ► That's, like, it's not being interpreted or emulated.

02:01:22 ◼   ► That's native code, running in what is kind of

02:01:26 ◼   ► a native framework, but it's kind of for the wrong platform.

02:01:29 ◼   ► But I don't think this dream of having cross-platform,

02:01:34 ◼   ► you know, we're just gonna write one app,

02:01:36 ◼   ► and it's gonna be the same,

02:01:37 ◼   ► and it's gonna be great everywhere,

02:01:40 ◼   ► I don't think that's ever achievable,

02:01:42 ◼   ► because platforms aren't the same.

02:01:44 ◼   ► And to be great on a platform requires it to adopt

02:01:48 ◼   ► to all the platform's little behaviors

02:01:49 ◼   ► and priorities and things,

02:01:50 ◼   ► which are all gonna be different.

02:01:51 ◼   ► So, that's why I think a company like 1Password,

02:01:55 ◼   ► they have the resources, they have the engineering,

02:01:58 ◼   ► they have the staff.

02:01:59 ◼   ► They got to where they are today, in part,

02:02:02 ◼   ► because they made native apps on multiple platforms

02:02:06 ◼   ► that were good.

02:02:07 ◼   ► And the idea of transitioning that to one shared app,

02:02:13 ◼   ► no matter what framework they're using,

02:02:15 ◼   ► is not going to be good.

02:02:17 ◼   ► It's not gonna be as good as what they had before,

02:02:19 ◼   ► it's not gonna feel right,

02:02:21 ◼   ► everything's gonna feel like a web view,

02:02:23 ◼   ► because that's what it is.

02:02:25 ◼   ► But even if they wrote it all in native code,

02:02:27 ◼   ► if they still had the exact same UI behavior

02:02:31 ◼   ► and layout and everything across all platforms,

02:02:33 ◼   ► it would also still feel and work poorly.

02:02:36 ◼   ► Different platforms are different for reasons,

02:02:39 ◼   ► and they're always going to be.

02:02:40 ◼   ► And so, if you're going to have an app on multiple platforms

02:02:44 ◼   ► and you care a lot about the experience being good,

02:02:47 ◼   ► I think you have to write it natively on each platform.

02:02:50 ◼   ► - You know, that's another argument,

02:02:52 ◼   ► what you just said is kind of another argument for Electron,

02:02:55 ◼   ► unfortunately, because of all the things you listed,

02:02:59 ◼   ► like it feeling native or whatever,

02:03:01 ◼   ► the web, as you noted, is a sort of common interface

02:03:06 ◼   ► across all platforms that it has its own conventions

02:03:09 ◼   ► and language, blue underline words,

02:03:11 ◼   ► click on and you take you places as an address bar,

02:03:13 ◼   ► back and forward, reload,

02:03:14 ◼   ► like there's this whole other miniature world

02:03:16 ◼   ► of UI conventions that exist within the web,

02:03:19 ◼   ► and obviously it's not as consistent as a single OS,

02:03:20 ◼   ► what people are familiar with.

02:03:21 ◼   ► And the second thing the web has going for it is,

02:03:24 ◼   ► good web browser engines essentially embed native controls,

02:03:29 ◼   ► like the text fields when you hit control,

02:03:32 ◼   ► hit control A in a text field,

02:03:34 ◼   ► which is like an Emacs key binding that works

02:03:35 ◼   ► because the NS text field from Next

02:03:37 ◼   ► was written by a bunch of Emacs users,

02:03:39 ◼   ► so control A works in text fields on the Mac OS 10,

02:03:42 ◼   ► as long as you're using a Cocoa API, right?

02:03:45 ◼   ► Does that work in web browsers?

02:03:46 ◼   ► I'm pretty sure it does.

02:03:48 ◼   ► Casey, you need to go test this for me.

02:03:49 ◼   ► - Beginning of line? - It does, it does.

02:03:52 ◼   ► - So, you know, same thing with buttons,

02:03:54 ◼   ► they may not look like native buttons,

02:03:55 ◼   ► but very often, you know,

02:03:56 ◼   ► they were historically native buttons now

02:03:58 ◼   ► because of CSS stuff,

02:03:59 ◼   ► they may be a little bit weird or whatever.

02:04:01 ◼   ► Pop-up menus, scrolling regions, text editing regions,

02:04:04 ◼   ► most web browser engines, most good ones these days,

02:04:07 ◼   ► try to use native controls within them, right?

02:04:12 ◼   ► Catalyst uses quote-unquote native UI controls,

02:04:16 ◼   ► which do not behave like Mac controls,

02:04:18 ◼   ► they behave like iPad and iPhone controls,

02:04:21 ◼   ► and the iPad and iPhone,

02:04:22 ◼   ► until recently didn't even have a cursor, right?

02:04:25 ◼   ► And so it's a totally different interface paradigm,

02:04:30 ◼   ► and, you know, an Electron app,

02:04:32 ◼   ► the two things that I was going for is one,

02:04:33 ◼   ► it might actually feel more native,

02:04:34 ◼   ► and two, the parts that don't feel native feel like web,

02:04:37 ◼   ► which at least is an interface that people look at and say,

02:04:40 ◼   ► oh, I kind of, you know, they code switch,

02:04:43 ◼   ► they mode switch, whatever,

02:04:44 ◼   ► they're like, oh, this is like a web UI.

02:04:46 ◼   ► Like, I feel like I do that when I use Slack.

02:04:47 ◼   ► Like, when I'm using Slack,

02:04:49 ◼   ► it's not like I feel like I'm using a web browser,

02:04:52 ◼   ► but I, like, I'm in web app mode, like,

02:04:56 ◼   ► and I think a lot of Mac users,

02:04:58 ◼   ► we've been used to that since we have web browsers,

02:05:00 ◼   ► because basically, you know,

02:05:01 ◼   ► maybe 50% of the windows on our computer

02:05:04 ◼   ► are web windows, right?

02:05:06 ◼   ► Where the whole world inside those windows

02:05:08 ◼   ► is the web page language, right?

02:05:10 ◼   ► And then the Mac stuff is outside of it.

02:05:12 ◼   ► And so when I go to Slack, I'm into the web mode.

02:05:15 ◼   ► If a catalyst app lands on here,

02:05:17 ◼   ► and it doesn't respond to any of my keyboard commands

02:05:20 ◼   ► or focus commands in the text fields,

02:05:21 ◼   ► then I can't tab from text fields,

02:05:22 ◼   ► and the date picker is some weird wheel of fortune thing

02:05:26 ◼   ► that I don't even understand, that's not web,

02:05:29 ◼   ► that's not Mac, and it feels worse,

02:05:31 ◼   ► like, it just, I don't want that at all, right?

02:05:33 ◼   ► So again, Electron is not giving you the best experience.

02:05:37 ◼   ► I agree with Marco, you're one of the best experience

02:05:39 ◼   ► you write at an AppKit, and you know,

02:05:40 ◼   ► or hell, AppKit was SwiftUI inflected,

02:05:43 ◼   ► which I think is also, I feel like that's the second choice.

02:05:45 ◼   ► If we had to rank these, AppKit will feel the most native,

02:05:47 ◼   ► 'cause it is the most native, but of course,

02:05:49 ◼   ► everyone thinks that API is dead or dying.

02:05:52 ◼   ► AppKit with SwiftUI views,

02:05:54 ◼   ► I think is the best technical solution,

02:05:56 ◼   ► because every place you can't use SwiftUI,

02:05:58 ◼   ► just use AppKit, you're fine,

02:05:59 ◼   ► but the places where you can get SwiftUI,

02:06:01 ◼   ► I can tell you, it integrates really well

02:06:03 ◼   ► with AppKit, and the places where you get benefit from it,

02:06:06 ◼   ► big win, as you all know, use it in the places

02:06:08 ◼   ► where it's a big win, it saves you tons of time,

02:06:11 ◼   ► and by the way, those views happen to be reusable

02:06:13 ◼   ► if you wanna use them elsewhere, right?

02:06:15 ◼   ► And then I would say, a distant third is Catalyst.

02:06:19 ◼   ► This is all based on the fact that Apple

02:06:21 ◼   ► hasn't really given any guidance

02:06:22 ◼   ► about which one of these three is dying,

02:06:24 ◼   ► which one of these three is gonna lose,

02:06:25 ◼   ► like, what is the ranking, which one is gonna get the boot,

02:06:28 ◼   ► which one is gonna die from slow neglect,

02:06:30 ◼   ► which one is gonna win, we don't know,

02:06:32 ◼   ► but just on the technical merits,

02:06:33 ◼   ► AppKit with SwiftUI, number one,

02:06:36 ◼   ► SwiftUI alone did not finish, and Catalyst, third place.

02:06:42 ◼   ► And then that soup, though, I feel like Electron,

02:06:46 ◼   ► the choice of Electron, which is make the user experience

02:06:50 ◼   ► worse for users and get everyone to complain,

02:06:51 ◼   ► but potentially get everyone over the hump,

02:06:55 ◼   ► and eventually people just stop complaining,

02:06:56 ◼   ► and if this actually does the work the way you say,

02:06:59 ◼   ► where, oh, now we can do features more quickly,

02:07:01 ◼   ► well, then prove it by rolling out features more quickly,

02:07:03 ◼   ► and maybe people start to get happy,

02:07:05 ◼   ► or maybe they still grumble,

02:07:06 ◼   ► and then you buy yourself a year or two

02:07:08 ◼   ► where you can have your, you know,

02:07:11 ◼   ► your mea culpa post and say, we heard you,

02:07:14 ◼   ► and now that it's clear that we shouldn't be using Electron

02:07:17 ◼   ► on the Mac, it's also become more clear

02:07:19 ◼   ► that insert framework here is the future of APIs on the Mac,

02:07:22 ◼   ► and so we've rewritten the Mac client using that API.

02:07:27 ◼   ► - Before we go, I hear what you guys are saying,

02:07:31 ◼   ► and I agree with you, but I don't know,

02:07:33 ◼   ► I feel like, my gut tells me, having never used it,

02:07:38 ◼   ► that Catalyst is a more viable solution here

02:07:41 ◼   ► than I think especially, John, you're giving it credit for,

02:07:44 ◼   ► and I am quite possibly wrong there,

02:07:46 ◼   ► but my call to action for the listeners is,

02:07:49 ◼   ► if you have an app that you're fairly confident is Catalyst

02:07:54 ◼   ► that you use or write that you think is a really

02:07:57 ◼   ► and truly good platform citizen, let me know on Twitter.

02:07:59 ◼   ► I'd be curious to hear what that is,

02:08:01 ◼   ► because I don't know what the plate of Catalyst apps is.

02:08:06 ◼   ► Like, I know the ones that we all hate on the Mac

02:08:10 ◼   ► that Apple ships, like Home, which honestly is garbage

02:08:13 ◼   ► on iOS too, but that's neither there nor there.

02:08:15 ◼   ► - Home is terrible everywhere, bad example.

02:08:18 ◼   ► - Yeah, but that's exactly my point.

02:08:20 ◼   ► Like, Home, and I'm sure there's a couple others

02:08:22 ◼   ► that I'm not thinking of off the top of my head, but--

02:08:24 ◼   ► - Well, Messages is probably the most used Catalyst app

02:08:26 ◼   ► if I had to guess.

02:08:27 ◼   ► - That's true, and that still has a couple of quirks

02:08:30 ◼   ► in Big Sur, but for the most part, I think it's pretty good.

02:08:34 ◼   ► But yeah, if there's a Catalyst app that you use or write

02:08:38 ◼   ► that you genuinely believe is really and truly awesome,

02:08:41 ◼   ► I'd be curious to hear about that on Twitter,

02:08:42 ◼   ► so please let me know.

02:08:44 ◼   ► - Yeah, Catalyst has, like, there's no reason

02:08:46 ◼   ► Catalyst can't be eventually made to be as good as AppKit

02:08:49 ◼   ► with all the features, it's just not there yet,

02:08:51 ◼   ► 'cause it's only been a few years

02:08:52 ◼   ► since it's been on the Mac platform,

02:08:54 ◼   ► and like, stuff doesn't work yet, drag and drop,

02:08:56 ◼   ► or the cursor doesn't work right, the right way,

02:08:58 ◼   ► or the menu bar stuff's not the same, like,

02:08:59 ◼   ► all of these, SwiftUI is the youngest, obviously,

02:09:02 ◼   ► and it's got the farthest to go,

02:09:03 ◼   ► but there's nothing technically stopping

02:09:05 ◼   ► either Catalyst or SwiftUI from eventually being the API

02:09:10 ◼   ► on the Mac platform, it's just neither one of them

02:09:12 ◼   ► is right now, right?

02:09:13 ◼   ► And so we're faced with the reality, you know,

02:09:16 ◼   ► and I, you know, I gave SwiftUI, did not finish,

02:09:19 ◼   ► but I just feel like it's too young and too ready,

02:09:21 ◼   ► but I rank Catalyst below AppKit with SwiftUI mixed in,

02:09:25 ◼   ► like, that's one of the beauties, I mean,

02:09:27 ◼   ► one of the beauties of SwiftUI is it's really easy

02:09:29 ◼   ► to mix in with AppKit, you can also mix in SwiftUI,

02:09:32 ◼   ► obviously, in a Catalyst app, and you can mix AppKit in

02:09:34 ◼   ► with the Catalyst app, too, but I feel like three APIs

02:09:36 ◼   ► is too many. (laughs)

02:09:38 ◼   ► - Yeah. - In a single app,

02:09:40 ◼   ► so if you have to mix them, AppKit with SwiftUI is,

02:09:43 ◼   ► just makes so much sense, because you can just smell

02:09:46 ◼   ► when this is gonna be a place where SwiftUI's

02:09:48 ◼   ► gonna be awesome, or it's not, you're in AppKit

02:09:49 ◼   ► and you can literally do anything and you're fine, right?

02:09:52 ◼   ► But Catalyst, it's a much more difficult balancing act,

02:09:55 ◼   ► so I feel like we just have to wait to see

02:09:58 ◼   ► how this all shakes out.

02:09:59 ◼   ► Right now, Catalyst is in the lead, technically,

02:10:01 ◼   ► because it has more features and you can make

02:10:03 ◼   ► a more convincing, more complicated Mac app with Catalyst

02:10:07 ◼   ► than you can with SwiftUI, but AppKit, you know,

02:10:10 ◼   ► obviously can do everything and is, you know,

02:10:14 ◼   ► hugely mature and has good performance,

02:10:17 ◼   ► and eventually, Microsoft and Adobe did rewrite their crap

02:10:20 ◼   ► using this API, so yeah, it's probably gonna be around

02:10:24 ◼   ► for a while, so that's why I just keep looking at SwiftUI

02:10:27 ◼   ► and Catalyst and wondering how that's gonna shake out.

02:10:30 ◼   ► But in the meantime, like, again, I don't use 1Password.

02:10:33 ◼   ► You know, I bought it a couple times,

02:10:35 ◼   ► decided it wasn't for me, I just used iClog Keychain

02:10:39 ◼   ► for a variety of reasons, and I'm glad that iClog Keychain

02:10:42 ◼   ► is getting better, but I will say that every day,

02:10:45 ◼   ► I use Slack and other Electron apps that I consider

02:10:49 ◼   ► good Electron apps, and I have to say,

02:10:51 ◼   ► a good Electron app doesn't bother me too much,

02:10:55 ◼   ► but it should definitely bother Apple.

02:10:57 ◼   ► - And I'll say, like, I'm still using 1Password

02:11:00 ◼   ► even throughout all this because iClog Keychain

02:11:03 ◼   ► would be the obvious thing that I would go to instead,

02:11:07 ◼   ► but I don't trust Apple yet to have the functionality

02:11:12 ◼   ► I need consistently in that product yet.

02:11:14 ◼   ► Right now, I use iClog Keychain as a convenience.

02:11:18 ◼   ► Like, if I fill in a password on a web forum

02:11:20 ◼   ► from 1Password and Apple offers to save it, I say yes.

02:11:24 ◼   ► And the next time I go to that site,

02:11:25 ◼   ► it might fill it in sometimes, it might not.

02:11:29 ◼   ► It also seems broken on my phone forever for some reason.

02:11:31 ◼   ► Like, iClog Keychain just never,

02:11:33 ◼   ► it never works properly on my phone.

02:11:35 ◼   ► Works great on all my other devices except my phone.

02:11:37 ◼   ► - It's 'cause it's too small.

02:11:38 ◼   ► - Right, yeah, maybe.

02:11:40 ◼   ► But my battery life is getting bad fast.

02:11:42 ◼   ► - It's 'cause it knows you have 1Password installed

02:11:45 ◼   ► and it's angry.

02:11:46 ◼   ► - Yeah, right.

02:11:47 ◼   ► - It's been--

02:11:48 ◼   ► - Like, I don't like iClog Keychain yet.

02:11:51 ◼   ► I think it might eventually get good,

02:11:54 ◼   ► but it's not good enough and stable enough

02:11:56 ◼   ► and consistent enough for me yet.

02:11:58 ◼   ► It still doesn't have a lot of features

02:11:59 ◼   ► I like with 1Password.

02:12:01 ◼   ► And of course, there is the cross-platform thing

02:12:03 ◼   ► that is always gonna be kind of an afterthought for Apple

02:12:06 ◼   ► if it exists at all.

02:12:07 ◼   ► So I want to keep using this product

02:12:10 ◼   ► and I probably will keep using this product.

02:12:13 ◼   ► I'm just gonna have more paper cuts now.

02:12:15 ◼   ► And that's unfortunate.

02:12:17 ◼   ► And I hope they can find a way not to do that

02:12:20 ◼   ► or at least to reduce those or eliminate those paper cuts.

02:12:22 ◼   ► But I think some degree of that is inevitable

02:12:26 ◼   ► with all Electron apps.

02:12:27 ◼   ► And if not Electron, as I was saying a minute ago,

02:12:29 ◼   ► with all cross-platform apps.

02:12:31 ◼   ► Like, if you don't have native UIs that were really written

02:12:36 ◼   ► with the platform they're running on in mind

02:12:38 ◼   ► with a significant amount of native code on each platform,

02:12:41 ◼   ► I don't think you can make great experiences.

02:12:43 ◼   ► I think you can make okay,

02:12:44 ◼   ► you can make acceptable experiences.

02:12:46 ◼   ► It's hard to make great experiences.

02:12:48 ◼   ► The most common Electron app I use is Slack.

02:12:51 ◼   ► I use it all day every day.

02:12:52 ◼   ► And it's not a great experience.

02:12:54 ◼   ► It's fine.

02:12:56 ◼   ► But it's not great.

02:12:57 ◼   ► And Slack I feel like is even more excusable

02:13:01 ◼   ► as an Electron app because it has such a much larger

02:13:04 ◼   ► amount of UI.

02:13:06 ◼   ► Like, there's so much UI in Slack.

02:13:10 ◼   ► So many different kinds of screens,

02:13:11 ◼   ► so many different modes the UI can be in,

02:13:13 ◼   ► so many different levels and threads.

02:13:16 ◼   ► And there's so much UI in Slack that is more excusable

02:13:20 ◼   ► to me to be an Electron app.

02:13:21 ◼   ► - And it's a server-side app.

02:13:23 ◼   ► Like, everything you do talks to a server.

02:13:25 ◼   ► So it being web-based technology,

02:13:27 ◼   ► it's like, okay, I can see that.

02:13:29 ◼   ► - Right, yes.

02:13:30 ◼   ► But 1Password, I think, the conception of it that I have

02:13:35 ◼   ► is that the amount of UI in this app

02:13:38 ◼   ► is significantly smaller than Slack.

02:13:40 ◼   ► Now, that being said, in all the different directions

02:13:43 ◼   ► they're going as they're focused on business,

02:13:45 ◼   ► enterprise kind of features, maybe that's all changing

02:13:48 ◼   ► for a bunch of stuff I'll never use.

02:13:50 ◼   ► And that's why it's extra frustrating.

02:13:52 ◼   ► - Would you like to save your screenshots in 1Password?

02:13:54 ◼   ► (laughing)

02:13:56 ◼   ► - 1Password can now back up your entire computer.

02:13:58 ◼   ► - I just got that prompt today.

02:13:59 ◼   ► I'm like, what now?

02:14:00 ◼   ► - From Dropbox, yeah.

02:14:01 ◼   ► - This is dialogue, yeah.

02:14:02 ◼   ► 'Cause I was on some, like one of the kids' accounts

02:14:04 ◼   ► on a computer that they don't use.

02:14:06 ◼   ► And I'm like, would I like to save my screen?

02:14:09 ◼   ► I'm like, wow, this is a Dropbox dialogue?

02:14:11 ◼   ► What the hell is, I've long since dismissed it

02:14:13 ◼   ► and told Dropbox to shop on my computers, yeah.

02:14:15 ◼   ► Please, 1Password, do not offer to save all our screenshots.

02:14:18 ◼   ► - Dropbox needs your root password

02:14:20 ◼   ► to enable certain features.

02:14:21 ◼   ► Oh yeah, mm-hmm.

02:14:23 ◼   ► Yeah, anyway, yeah.

02:14:25 ◼   ► Let's hope 1Password doesn't go the way of Dropbox.

02:14:28 ◼   ► But unfortunately, just looking at the direction

02:14:31 ◼   ► they're going as a company,

02:14:33 ◼   ► focusing a lot on the business market and everything,

02:14:34 ◼   ► I think it's gonna be an uphill battle

02:14:37 ◼   ► to not go that direction.

02:14:38 ◼   ► And so I hope they don't, but anyway.

02:14:41 ◼   ► But as a final note, I mean, at least Mark and I,

02:14:45 ◼   ► we spent a lot of this time talking about 1Password

02:14:47 ◼   ► because it's a product and company we love so darn much.

02:14:49 ◼   ► And in the defense of 1Password,

02:14:52 ◼   ► this is the first public beta of 1Password 8.

02:14:56 ◼   ► And three 1Password employees have been hanging out

02:14:59 ◼   ► in the chat, including both founders,

02:15:00 ◼   ► this entire, or certainly this entire segment,

02:15:03 ◼   ► if not the entire episode.

02:15:04 ◼   ► So they obviously care.

02:15:07 ◼   ► And I don't think, I don't get the feeling

02:15:10 ◼   ► that they're just in here trying to do

02:15:12 ◼   ► some sort of damage control.

02:15:13 ◼   ► I really genuinely believe that they care,

02:15:14 ◼   ► and that's why we care.

02:15:17 ◼   ► And I hope that continues to be the case,

02:15:18 ◼   ► because I agree that I fear that 1Password's heading

02:15:22 ◼   ► for a Dropbox fall into irrelevance,

02:15:26 ◼   ► and I really hope that that's not the case.

02:15:28 ◼   ► - I wouldn't even say irrelevance.

02:15:29 ◼   ► I would just say just very different priorities

02:15:31 ◼   ► than what all the consumers who started using it

02:15:34 ◼   ► really want out of it.

02:15:35 ◼   ► - And that's true, that's fair, that's fair.

02:15:38 ◼   ► - Thanks to our sponsors this week.

02:15:39 ◼   ► - 1Password. (laughs)

02:15:43 ◼   ► No, actually, it was Linode, Mac Weldon, and Squarespace.

02:15:46 ◼   ► And thanks to our members who support us directly.

02:15:48 ◼   ► You can join, atp.fm/join.

02:15:51 ◼   ► We will talk to you next week.

02:15:53 ◼   ► (upbeat music)

02:15:56 ◼   ► ♪ Now the show is over ♪

02:15:58 ◼   ► ♪ They didn't even mean to begin ♪

02:16:01 ◼   ► ♪ 'Cause it was accidental ♪

02:16:02 ◼   ► ♪ Accidental ♪

02:16:03 ◼   ► ♪ Oh, it was accidental ♪

02:16:05 ◼   ► ♪ Accidental ♪

02:16:06 ◼   ► ♪ John didn't do any research ♪

02:16:08 ◼   ► ♪ Marco and Casey wouldn't let him ♪

02:16:11 ◼   ► ♪ 'Cause it was accidental ♪

02:16:13 ◼   ► ♪ Accidental ♪

02:16:14 ◼   ► ♪ Oh, it was accidental ♪

02:16:16 ◼   ► ♪ Accidental ♪

02:16:17 ◼   ► ♪ And you can find the show notes at atp.fm ♪

02:16:22 ◼   ► ♪ And if you're into Twitter ♪

02:16:25 ◼   ► ♪ You can follow them at C-A-S-E-Y-L-I-S-S ♪

02:16:30 ◼   ► ♪ So that's Casey Liss M-A-R-C-O-A-R-M ♪

02:16:35 ◼   ► ♪ Auntie Marco Arment ♪

02:16:38 ◼   ► ♪ S-I-R-A-C ♪

02:16:40 ◼   ► ♪ U-S-A-C-R-A-Q-S-A ♪

02:16:43 ◼   ► ♪ It's accidental ♪

02:16:44 ◼   ► ♪ Accidental ♪

02:16:46 ◼   ► ♪ They didn't mean to ♪

02:16:48 ◼   ► ♪ Accidental ♪

02:16:50 ◼   ► ♪ Accidental ♪

02:16:51 ◼   ► ♪ Tech podcast ♪

02:16:53 ◼   ► ♪ So long ♪

02:16:55 ◼   ► - So my bike was stolen a few days ago.

02:16:59 ◼   ► - Well, it's all coming up Millhouse for you this week.

02:17:01 ◼   ► - Good thing you had an AirTag on it though.

02:17:04 ◼   ► - Right?

02:17:05 ◼   ► - So. - Right?

02:17:06 ◼   ► Oh wow, oh wait, is this real?

02:17:08 ◼   ► Oh, now I'm really excited.

02:17:10 ◼   ► - So this was incredible.

02:17:11 ◼   ► So Tiff was showing at an art show here in town,

02:17:14 ◼   ► which was great, it was a big deal,

02:17:16 ◼   ► huge, I'm very proud of how it went for her,

02:17:18 ◼   ► she was great and stuff went well, it was great.

02:17:20 ◼   ► Anyway, Tiff was doing this art show.

02:17:22 ◼   ► I was sitting at the booth with her

02:17:23 ◼   ► for the second half of this day,

02:17:26 ◼   ► and I was riding my bike back and forth occasionally,

02:17:28 ◼   ► back to the house to let hops out

02:17:31 ◼   ► or do other, pick up stuff, whatever.

02:17:34 ◼   ► I was parking my bike 15 feet from where I was sitting.

02:17:38 ◼   ► It was in, I shot, did we figure out if that's a word?

02:17:42 ◼   ► Is I shot a word?

02:17:44 ◼   ► - This is a new one, this is not like hardened.

02:17:46 ◼   ► - I guess within view.

02:17:47 ◼   ► So it was within eye shot.

02:17:51 ◼   ► And I don't usually like my bike in town

02:17:54 ◼   ► because it's a beach town,

02:17:56 ◼   ► that you can't bring bikes on the ferry,

02:17:59 ◼   ► so there's nowhere for a bike to really go.

02:18:02 ◼   ► And so bikes don't usually get stolen for profit.

02:18:06 ◼   ► They get stolen usually by drunk idiots

02:18:09 ◼   ► who are about to miss the last ferry of the night.

02:18:12 ◼   ► And so they rush to grab whatever bike they can find,

02:18:15 ◼   ► they ride to the ferry and they dump it

02:18:16 ◼   ► somewhere near the ferry.

02:18:18 ◼   ► And so then the next morning,

02:18:19 ◼   ► everyone goes in the town Facebook group

02:18:21 ◼   ► and posts like, hey, there's this bike in front of my house,

02:18:23 ◼   ► who's is this?

02:18:24 ◼   ► And then someone else would be like,

02:18:25 ◼   ► oh, I know, that's Bob's bike,

02:18:27 ◼   ► 'cause everyone knows it's a small town.

02:18:29 ◼   ► So this is the environment that we operate in here.

02:18:32 ◼   ► So normally I don't even lock my bike

02:18:34 ◼   ► if I'm just going out to a grocery store or something,

02:18:37 ◼   ► 'cause there's not a real theft problem

02:18:40 ◼   ► in the way that you would usually think of one.

02:18:42 ◼   ► So I thought AirTags would be perfect for this,

02:18:46 ◼   ► because usually, again, the problem is not

02:18:49 ◼   ► professional bike thieves coming up with an angle grinder

02:18:52 ◼   ► and cutting your U-lock to steal your bike for profit.

02:18:56 ◼   ► All you need to know is, okay, my bike is not

02:18:58 ◼   ► where I left it, it's probably somewhere stupid,

02:19:00 ◼   ► where is it?

02:19:01 ◼   ► That's all you need to know.

02:19:03 ◼   ► So I thought AirTags were great.

02:19:05 ◼   ► So when I got my first AirTags earlier in the summer,

02:19:08 ◼   ► I put one in discrete locations on many common objects,

02:19:12 ◼   ► including my bike, and figuring that, hey,

02:19:15 ◼   ► this could be good for a passive environment like this.

02:19:18 ◼   ► And also, the lack of true GPS or cellular in them

02:19:22 ◼   ► wasn't a big problem, because I don't think

02:19:25 ◼   ► there's anywhere in this entire island

02:19:27 ◼   ► that an object is likely to be more than 20 feet

02:19:30 ◼   ► from an iPhone for very long.

02:19:32 ◼   ► We have very tightly packed houses,

02:19:35 ◼   ► and tons of people walking around all the time.

02:19:38 ◼   ► So the iPhone location basis of them is also gonna be,

02:19:42 ◼   ► I think, pretty accurate.

02:19:43 ◼   ► So anyway, so at this R-fair with Tiff,

02:19:46 ◼   ► my bike is parked 15 feet away within eye shot,

02:19:50 ◼   ► and within an hour and a half period,

02:19:54 ◼   ► like between 3.30 and five on this day,

02:19:56 ◼   ► we finish up the R-fair, Tiff's packing up,

02:19:59 ◼   ► I go to get my bike, I'm like, where's my bike?

02:20:01 ◼   ► I parked it here, right, I'm looking around like,

02:20:04 ◼   ► where is it?

02:20:05 ◼   ► And this was in a bike rack full of other bikes.

02:20:06 ◼   ► Like, I'm like, where did my bike go?

02:20:09 ◼   ► Did somebody steal my bike in front of me?

02:20:13 ◼   ► And I didn't notice?

02:20:15 ◼   ► Yes, yes they did.

02:20:18 ◼   ► (laughing)

02:20:20 ◼   ► So at some point, someone in this R-fair,

02:20:24 ◼   ► like there was a lot of foot traffic,

02:20:26 ◼   ► someone at some point walked up to my bike

02:20:29 ◼   ► out of the, and just took it out of the rack.

02:20:31 ◼   ► - That's bananas.

02:20:32 ◼   ► - So I'm like, all right, well, let's see.

02:20:36 ◼   ► So I looked, opened up the Find My app,

02:20:39 ◼   ► and Find My Bike, it instantly showed a point

02:20:43 ◼   ► in the map that was a few blocks away, by the ferry.

02:20:46 ◼   ► (laughing)

02:20:48 ◼   ► I was like, okay, but it's like, okay,

02:20:50 ◼   ► this happened between 3.30 and five p.m.

02:20:53 ◼   ► Could somebody have really been that bombed

02:20:55 ◼   ► at like four o'clock in the afternoon?

02:20:57 ◼   ► I mean, it turns out--

02:20:57 ◼   ► - Challenge accepted.

02:20:59 ◼   ► - On Fire Island, yes.

02:21:00 ◼   ► But also, I'm like, this wasn't even the last ferry.

02:21:04 ◼   ► This was like four o'clock,

02:21:06 ◼   ► the ferry's run 'til like midnight.

02:21:08 ◼   ► Anyway, so I walked over, I'm like, this'll be amazing,

02:21:14 ◼   ► my bike is actually where this says it is.

02:21:16 ◼   ► I walk towards it on the map, and sure enough,

02:21:19 ◼   ► the AirTag had exactly located my bike,

02:21:22 ◼   ► which was parked in front of a storefront

02:21:24 ◼   ► and next to a couple other bikes near the ferry.

02:21:27 ◼   ► (laughing)

02:21:28 ◼   ► I have no idea how this happened in front of me

02:21:32 ◼   ► without me noticing.

02:21:34 ◼   ► It doesn't even make sense, because in the context

02:21:38 ◼   ► of this art fair, there were so little,

02:21:40 ◼   ► it was hard to even walk down the sidewalk,

02:21:44 ◼   ► let alone bike down it, 'cause there's so much traffic,

02:21:47 ◼   ► it's like walking through Times Square,

02:21:50 ◼   ► but on a much smaller scale, obviously.

02:21:52 ◼   ► I don't know why somebody did this,

02:21:53 ◼   ► but the fact is, my bike was indeed stolen

02:21:55 ◼   ► in the stupid way that bikes get stolen here.

02:21:57 ◼   ► The AirTag worked perfectly, and it let me find it

02:22:00 ◼   ► in 10 seconds after I started looking.

02:22:03 ◼   ► Like, wait, where's my bike?

02:22:04 ◼   ► It's not here, okay, find my, boom,

02:22:06 ◼   ► it's a few blocks that way, okay.

02:22:08 ◼   ► Walk right to it, it's exactly where it says it is.

02:22:10 ◼   ► So, here is my success story with AirTags.

02:22:13 ◼   ► If you happen to have the very strange needs

02:22:16 ◼   ► and priorities that I do for bikes here,

02:22:18 ◼   ► they work really well for that.

02:22:20 ◼   ► - Keep an eye on your bike, too.

02:22:21 ◼   ► - Why?

02:22:22 ◼   ► - Yeah, that might be a good idea.

02:22:24 ◼   ► (beeping)