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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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:22
◼
►
- Yeah, that might be a good idea.