PodSearch

ATP

272: 60% Satisfied

 

00:00:00 ◼   ► See, all is right in the world, ladies and gentlemen.

00:00:02 ◼   ► None of that can make the show because it's heinously boring and annoying.

00:00:04 ◼   ► Because it's a shame, because there were some good titles, but it's not going to happen.

00:00:08 ◼   ► Alright, let's start the show now that we're all friends again.

00:00:12 ◼   ► We should make the title Fishstick and just not include that in the show and have nobody

00:00:15 ◼   ► know what that is.

00:00:17 ◼   ► That would be kind of funny, actually.

00:00:20 ◼   ► Alright, so we have to start the show with Casey Schill's for ATP merchandise.

00:00:25 ◼   ► We have realized that MKBHD, the popular tech YouTuber, was selling a shirt on Cotton Bureau

00:00:32 ◼   ► at around the same time that we are, because I think his shirts have just ended recently.

00:00:38 ◼   ► And we have come to the opinion or conclusion or have been told—I don't remember exactly

00:00:44 ◼   ► where this came from—that MKBHD sold around 4,000 shirts over the lifetime of his time

00:00:51 ◼   ► at Cotton Bureau.

00:00:52 ◼   ► Now this is this is inaccurate you're already you're already gone off. I should have put more notes in the notes

00:00:56 ◼   ► No, I'll tell you how I'll tell you how it's accurate people can't be over trying to make us feel better

00:01:04 ◼   ► But here's here's the sad facts

00:01:06 ◼   ► Last show I said, oh look at that MKBHD shirt

00:01:09 ◼   ► It's only sold like 500 and something and there's one day left. We can beat that. Let's go beat that guys and we did

00:01:14 ◼   ► Thanks to everyone who bought a shirt or anything else. We were I think we're around like 700 something

00:01:21 ◼   ► "Yay, 700 and MKBHD had 500, we win, right?"

00:01:25 ◼   ► Well, that particular shirt had sold around 500

00:01:29 ◼   ► with one day left in the campaign,

00:01:32 ◼   ► but he has sold many more than just that shirt.

00:01:36 ◼   ► One other shirt of his sold 4,000 across two campaigns.

00:01:40 ◼   ► So now we're up to 4,500 across two campaigns.

00:01:42 ◼   ► He's sold many, many shirts.

00:01:45 ◼   ► Many of them had sold in the high hundreds or the thousands.

00:01:47 ◼   ► So if you just look at that one shirt we were looking at,

00:01:51 ◼   ► Yes, he sold 4,000 of that single shirt over two campaigns.

00:01:55 ◼   ► But if you look across all of his shirts,

00:01:57 ◼   ► the numbers are grim.

00:01:59 ◼   ► So we have no hope of beating MKBHD

00:02:03 ◼   ► in terms of shirt sales, which is fine.

00:02:04 ◼   ► He's got like millions and millions of viewers.

00:02:06 ◼   ► We do not have millions and millions of listeners.

00:02:09 ◼   ► We are the elite, right Marco?

00:02:10 ◼   ► Are we coastal elites?

00:02:11 ◼   ► - Yeah, yeah. (laughing)

00:02:14 ◼   ► But thanks to everyone who bought something.

00:02:16 ◼   ► The store is doing well.

00:02:17 ◼   ► People are enjoying the pins they've gotten.

00:02:19 ◼   ► No one has gotten any of the other merchandise yet,

00:02:20 ◼   ► but the pins are shipping now,

00:02:22 ◼   ► and people are getting them, and people are liking them.

00:02:24 ◼   ► I'm still waiting for my pin, but looking forward to it.

00:02:27 ◼   ► - I actually received my pins, and boy, are they nice.

00:02:30 ◼   ► I gotta say, I know this is a shameless shilling,

00:02:33 ◼   ► but I'm really happy.

00:02:34 ◼   ► I already put one on my 60% satisfied backpack,

00:02:37 ◼   ► and it's really nice. (laughing)

00:02:40 ◼   ► - You should get that and a hat,

00:02:40 ◼   ► now that you can't have a computer's hat.

00:02:42 ◼   ► Just put your hat and say 60% satisfied.

00:02:44 ◼   ► (laughing)

00:02:45 ◼   ► - Nice.

00:02:45 ◼   ► So yeah, so the campaign's going on

00:02:48 ◼   ► for another week or so, I believe.

00:02:52 ◼   ► If you would like something, get something, please.

00:02:55 ◼   ► Do not wait, do not hesitate.

00:02:56 ◼   ► Every time, I know I made the same speech last week,

00:02:59 ◼   ► but every time we get so many people who write in and say,

00:03:02 ◼   ► "Oh, I really wanted a shirt, but I just,

00:03:05 ◼   ► I told myself I'd do it later and I forgot.

00:03:07 ◼   ► Can you get me a shirt just for me?"

00:03:09 ◼   ► And the answer is no, we cannot do that.

00:03:11 ◼   ► Don't be that person, don't wait.

00:03:13 ◼   ► Just order a shirt, it'll be great.

00:03:15 ◼   ► The hoodies particularly are wonderful.

00:03:18 ◼   ► The polo shirts, if that's your thing, they are also wonderful.

00:03:22 ◼   ► We've sold over 100 of them last I looked, which is magnificent because that makes me

00:03:26 ◼   ► think that Marco will let me do this in the future.

00:03:29 ◼   ► Because like I said, I had to fight him a little bit on that issue.

00:03:32 ◼   ► So buy a shirt or a pin, anything.

00:03:34 ◼   ► It's great.

00:03:35 ◼   ► They're great.

00:03:36 ◼   ► I would appreciate if you would do that.

00:03:39 ◼   ► All right, some follow-up.

00:03:40 ◼   ► We had a little bit of information on 32-bit deprecation.

00:03:44 ◼   ► wrote in and said that 32-bit Mac OS frameworks still target the old Objective-C runtime,

00:03:50 ◼   ► which is different than 64-bit Mac OS or iOS, that's always used in modern runtime.

00:03:55 ◼   ► So this means that frameworks need to worry about the fragile base class problem, which

00:04:00 ◼   ► we can explain maybe later if you want.

00:04:03 ◼   ► They have to worry about exposing all the space that's required for each class and other

00:04:07 ◼   ► limitations unless extra tricks are done manually by the implementer.

00:04:11 ◼   ► The end result is that almost all new development is done for iOS first, and Mac frameworks

00:04:14 ◼   ► are either stuck in the past or evolve much slower. Removing the support for 32-bit frameworks

00:04:18 ◼   ► means the same framework code is much easier to ship on both Mac and iOS, which is good,

00:04:23 ◼   ► which we want. The objectivity runtime thing is a big factor in this, but it is, I think it's a

00:04:29 ◼   ► little bit optimistic. I think that the, you know, if this is removed, suddenly frameworks will be

00:04:35 ◼   ► released for both simultaneously. It'll help, of course, but there are many other reasons why

00:04:39 ◼   ► development is done for iOS for us in the Mac later.

00:04:43 ◼   ► This is but one of the many reasons.

00:04:45 ◼   ► - Yep.

00:04:46 ◼   ► All right, was raised to listen the problem?

00:04:48 ◼   ► On the last episode, Marco and I were lamenting the fact

00:04:51 ◼   ► that oftentimes we were getting like these misfired

00:04:54 ◼   ► audio messages that were queued up and ready to send

00:04:58 ◼   ► in the messages app.

00:05:00 ◼   ► And we had a case of simultaneous invention

00:05:02 ◼   ► when both of us realized, wait a second,

00:05:03 ◼   ► what about raise to wake or raise to record

00:05:06 ◼   ► or whatever it's called and raise to listen?

00:05:08 ◼   ► And this is, if you're sending a message,

00:05:11 ◼   ► you can raise the phone up to your ear

00:05:13 ◼   ► and it will let you dictate like an audio message.

00:05:16 ◼   ► I shouldn't say dictate,

00:05:17 ◼   ► but it'll let you record an audio message

00:05:19 ◼   ► and then that can get sent.

00:05:20 ◼   ► We thought maybe that would be it.

00:05:21 ◼   ► So both of us turned that off,

00:05:22 ◼   ► turned off that feature in messages.

00:05:24 ◼   ► And I am happy to report,

00:05:26 ◼   ► I have not had one of those misfires yet,

00:05:27 ◼   ► but that doesn't necessarily unequivocally confirm

00:05:31 ◼   ► that that was the problem,

00:05:32 ◼   ► but certainly so far so good.

00:05:33 ◼   ► Marco, how about you?

00:05:35 ◼   ► - Yeah, I have not had the problem recur,

00:05:37 ◼   ► but it's only been a few days because of our weird schedule this week, and so I can't fully

00:05:42 ◼   ► say that I fixed that problem. The other thing is, so we got a lot of feedback from people

00:05:47 ◼   ► on this, lots of iPhone X owners who are tired of accidentally causing things to happen,

00:05:52 ◼   ► especially audio messages and messages when put in their phones in their pockets, and

00:05:57 ◼   ► learned some interesting things. One of them, I think, is actually, in my opinion, this

00:06:01 ◼   ► is a bug that Apple should fix. I know why, I can see why it does it this way, but I think

00:06:06 ◼   ► this is a bug, if you hit the sleep/wake button,

00:06:11 ◼   ► iOS will continue to accept touch input

00:06:13 ◼   ► for like a half second or so after that.

00:06:16 ◼   ► And the reason why seems to be that it is trying to,

00:06:19 ◼   ► it's giving a small delay to try to tell

00:06:22 ◼   ► whether you are double tapping the button

00:06:24 ◼   ► or holding the button down to activate

00:06:26 ◼   ► Apple Pay or Siri, respectively.

00:06:28 ◼   ► Or if you have a triple tap accessibility shortcut enabled,

00:06:31 ◼   ► it's waiting to see if you're triple tapping the button.

00:06:33 ◼   ► The only way to distinguish whether you're single tap

00:06:36 ◼   ► or double tap or triple tap or tap and hold,

00:06:39 ◼   ► is to just wait a second before it executes

00:06:42 ◼   ► the single tap action.

00:06:43 ◼   ► So, the problem, and all that is, I think, unavoidable.

00:06:47 ◼   ► There has to be some delay for it to know,

00:06:49 ◼   ► like, did you just double tap this or not?

00:06:51 ◼   ► The problem, in my opinion, is that when you single tap it,

00:06:55 ◼   ► touch input should be suspended.

00:06:57 ◼   ► I think when you tap that sleep/wake button,

00:06:59 ◼   ► the entire screen should disable input for that half second

00:07:03 ◼   ► until it knows whether it is going to sleep or not.

00:07:07 ◼   ► Because I can't think of any of those situations

00:07:10 ◼   ► where you're like holding it down or double tapping it

00:07:12 ◼   ► or triple tapping it where you need to have screen input

00:07:15 ◼   ► during that half second.

00:07:16 ◼   ► So I think that needs to be delayed

00:07:17 ◼   ► because it needs to be disabled because right now,

00:07:20 ◼   ► and you can test this out for yourself,

00:07:22 ◼   ► open up your phone, open up mail,

00:07:24 ◼   ► or any app that has like a table view.

00:07:27 ◼   ► Hit the sleep/wake button and then in the next half second,

00:07:30 ◼   ► tap a message, and you will see it start to animate in

00:07:34 ◼   ► before it goes to sleep, and then when you wake the phone

00:07:36 ◼   ► back up, that message will be open.

00:07:38 ◼   ► So it is definitely still accepting touch input

00:07:41 ◼   ► after you hit the sleep/wake button for a brief period.

00:07:44 ◼   ► So that's the actual cause of this problem.

00:07:46 ◼   ► That needs to be fixed by iOS, in my opinion.

00:07:50 ◼   ► - Yeah, I think I agree.

00:07:51 ◼   ► - And somebody on Twitter suggested that if you disable

00:07:55 ◼   ► all of those things that can wait for more touch in,

00:07:58 ◼   ► more clicks, so basically if you turn off Siri, Apple Pay,

00:08:03 ◼   ► and the accessibility shortcut on the iPhone 10,

00:08:05 ◼   ► somebody else sort of was saying that that actually

00:08:07 ◼   ► makes the sleep skip all those delays and be instant.

00:08:10 ◼   ► I didn't actually try that though,

00:08:11 ◼   ► 'cause I don't wanna turn all that stuff off.

00:08:13 ◼   ► We are sponsored this week by Hover,

00:08:15 ◼   ► a great domain name registrar.

00:08:17 ◼   ► Visit hover.com/atp to learn more

00:08:20 ◼   ► and get 10% off your first purchase.

00:08:22 ◼   ► Whenever I need a domain, I go to Hover.

00:08:24 ◼   ► They have the best website, the best search,

00:08:27 ◼   ► the best tools and you get tons of stuff built into the cost.

00:08:31 ◼   ► Things like free Whois privacy, free forwarding,

00:08:34 ◼   ► all sorts of great stuff.

00:08:35 ◼   ► And there's no tricks, there's no shady upsells,

00:08:38 ◼   ► there's no scammy add-ons, it's just great and easy.

00:08:41 ◼   ► And so I'll tell you how easy it is.

00:08:43 ◼   ► This past week, I was making a Slack group

00:08:45 ◼   ► for a private community and I wanted a domain,

00:08:48 ◼   ► I wanted a .com that would just redirect

00:08:50 ◼   ► to the Slack invite URL, which is this big, ugly, long thing.

00:08:53 ◼   ► I just wanted a simple .com, somebody could type in,

00:08:56 ◼   ► I could tell them, I could maybe print it on posters

00:08:57 ◼   ► and hang it up in the community, whatever else.

00:08:59 ◼   ► And I went to Hover and I had a .com,

00:09:02 ◼   ► that was a great name, it was easy to search for,

00:09:05 ◼   ► I had it registered, bought, redirected to this URL

00:09:08 ◼   ► with DNS propagation and everything in less than 15 minutes

00:09:13 ◼   ► because Hover is that good and that easy to use.

00:09:16 ◼   ► I was able to go from the idea

00:09:19 ◼   ► to having a fully functioning domain with a redirect

00:09:21 ◼   ► in less than 15 minutes.

00:09:23 ◼   ► I was blown away by how easy it was.

00:09:25 ◼   ► And that's just how good Hover is.

00:09:27 ◼   ► Their website is easy to use, everything is intuitive,

00:09:30 ◼   ► it's well designed, it's respectful of you,

00:09:32 ◼   ► it makes good choices for you, so for instance,

00:09:34 ◼   ► it turned on Whois privacy for me,

00:09:36 ◼   ► because why would you ever not want that?

00:09:38 ◼   ► They are sensible people and they give you

00:09:39 ◼   ► wonderful deals, wonderful domains, and a wonderful website.

00:09:43 ◼   ► So I strongly recommend you check out Hover.

00:09:45 ◼   ► They have all the domain extensions you might need,

00:09:47 ◼   ► they have all the features you need,

00:09:48 ◼   ► they have a feature called Hover Connect

00:09:50 ◼   ► that lets you automatically and very quickly

00:09:51 ◼   ► connect to popular web hosts,

00:09:53 ◼   ► and they also offer full DNS control if you don't want that.

00:09:56 ◼   ► And their customer support is top notch

00:09:58 ◼   ► if you ever need any help with anything.

00:09:59 ◼   ► So check out Hover today at hover.com/ATP

00:10:03 ◼   ► to learn more and get 10% off your first purchase.

00:10:06 ◼   ► Once again, hover.com/ATP for 10% off your first purchase.

00:10:10 ◼   ► Hover, get a domain name

00:10:12 ◼   ► for whatever you're passionate about.

00:10:13 ◼   ► (upbeat music)

00:10:16 ◼   ► - All right, late breaking news.

00:10:19 ◼   ► I have not yet had a chance to read this,

00:10:21 ◼   ► so I am falling down on my chief summarizer

00:10:22 ◼   ► and chief duties. There is an article on Daring Fireball entitled "Scuttlebolt

00:10:27 ◼   ► Regarding Apple's Cross-Platform UI Project." And this guess is with regard to

00:10:32 ◼   ► what people are calling marzipan, but I haven't had a chance to read this and

00:10:36 ◼   ► I'm not gonna try to read this while we're recording, so I'm assuming one of

00:10:39 ◼   ► you has at least the short, short version they can share with us.

00:10:42 ◼   ► I read it when you were talking about jam bands.

00:10:44 ◼   ► No wonder you were so quiet.

00:10:46 ◼   ► It was just published like as we started recording it appeared on the site, so it was nice timing, so

00:10:51 ◼   ► So kudos to Gruber for making it in time for our show.

00:10:54 ◼   ► And you're welcome for getting into an argument with Marco that hopefully never made the show,

00:10:59 ◼   ► so most people are scratching their heads right now.

00:11:07 ◼   ► So Marzipan, we talked about this a couple shows back when, many shows back when the

00:11:11 ◼   ► rumor first broke, the idea is that a cross-platform GUI project to make it easier to write applications

00:11:18 ◼   ► that work on both the Mac and iOS.

00:11:21 ◼   ► Marzipan was supposedly the coding.

00:11:22 ◼   ► Wow, it was December 2017.

00:11:23 ◼   ► That's a pretty old article, actually.

00:11:25 ◼   ► Seems like only yesterday that we were talking about this and, you know, the possibilities

00:11:29 ◼   ► for such a thing, the dangers, you know, all that stuff.

00:11:33 ◼   ► See whatever episode number we talked about that in.

00:11:35 ◼   ► But we haven't heard much about it since, except for us vaguely referring to it whenever

00:11:39 ◼   ► we mention things that might appear WWDC.

00:11:42 ◼   ► So Gruber has some info about that, most of it's secondhand, but here's the gist of it.

00:11:53 ◼   ► The main thing, I'm going to skip to the end, because I already bought the article and say

00:11:56 ◼   ► the main piece of information he has here is a suggestion that despite all the discussions

00:12:00 ◼   ► and despite the fact that this Marzipan rumor is from December, that it seems like maybe

00:12:04 ◼   ► it might not make WWC 2018, and that this is more of a 2019 project, kind of like the

00:12:08 ◼   ► Mac Pro and that it would be scheduled for Mac OS 10.15 and iOS 13.

00:12:14 ◼   ► So not for this year.

00:12:15 ◼   ► There's some discussion of what it might actually be other than being a cross-platform framework.

00:12:22 ◼   ► Gruber has heard that it might be like a declarative UI and he likens it to like both HTML and

00:12:28 ◼   ► React as instead of like procedurally constructing a button and setting the button up and telling

00:12:35 ◼   ► it where to display or whatever you would have a declarative thing where you just sort of

00:12:39 ◼   ► describe the button and its surroundings. I'm not sure how that, you know, how that relates to

00:12:44 ◼   ► React. I know React is like plain old web React, but of course HTML, I guess it's redundant with

00:12:49 ◼   ► HTML. But like, I wanted to ask Casey about this. How does this, when you hear declarative UI

00:12:56 ◼   ► on Apple platforms, like on iOS on the Mac, does that relate in any way to RxSwift?

00:13:03 ◼   ► How would you characterize RxSwift as declarative UI in any way?

00:13:09 ◼   ► No, RxSwift really has nothing to do with creating user interfaces.

00:13:12 ◼   ► So RxSwift is a mechanism by which you can react to things that have happened in the

00:13:17 ◼   ► user interface.

00:13:19 ◼   ► But it's unfortunate because React became a buzzword that like three or four different,

00:13:23 ◼   ► wildly different projects all started using all at the same time.

00:13:25 ◼   ► So RxSwift is reactive X, which was actually a .NET thing.

00:13:31 ◼   ► And so in any case, RxSwift is about reacting to a button tap on a plain vanilla UI button,

00:13:40 ◼   ► for example.

00:13:41 ◼   ► It has nothing to do with the creation of a button or anything like that.

00:13:46 ◼   ► Now this is in contrast with React Native, which is a Facebook project, is that right?

00:13:52 ◼   ► Which is about making user interfaces in a semi but not really cross-platform way, which

00:13:59 ◼   ► in putting a kind of,

00:14:02 ◼   ► is that the one that has like kind of a fake DOM

00:14:04 ◼   ► in front of everything, is that right?

00:14:06 ◼   ► - I thought React Native,

00:14:08 ◼   ► this is the blind lady blind here.

00:14:09 ◼   ► I've only used actual real React, right?

00:14:11 ◼   ► So these React adjacent projects,

00:14:13 ◼   ► I have limited familiarity with.

00:14:15 ◼   ► But my tiny limited familiarity with React Native

00:14:17 ◼   ► was that it's actually the reverse,

00:14:19 ◼   ► that the UI elements were still done

00:14:21 ◼   ► with the native UI toolkit,

00:14:22 ◼   ► and it was merely the, it's kind of like our RX Swift.

00:14:25 ◼   ► The cross-platform part of it would be the handling

00:14:27 ◼   ► of events in terms of when this happens, do that,

00:14:30 ◼   ► and the state management stuff,

00:14:31 ◼   ► but that the actual UI would be defined

00:14:33 ◼   ► and rendered by the native platform.

00:14:35 ◼   ► But that comes from zero experience with React Native.

00:14:37 ◼   ► But plain old React uses JSX,

00:14:40 ◼   ► which is basically like HTML plus JavaScript combined.

00:14:42 ◼   ► And HTML, I think is the better example here.

00:14:45 ◼   ► It's declarative in that you just write tags.

00:14:47 ◼   ► You just write tags for your buttons

00:14:49 ◼   ► and for your input elements and for your paragraphs

00:14:51 ◼   ► and so on and so forth.

00:14:52 ◼   ► You don't write procedural code that says,

00:14:53 ◼   ► please draw a paragraph here.

00:14:55 ◼   ► And then inside the paragraph,

00:14:56 ◼   ► Please draw this.

00:14:57 ◼   ► There are no commands that you're telling us

00:14:59 ◼   ► so you just type angle brackets and letters

00:15:02 ◼   ► and stuff like that.

00:15:02 ◼   ► That's what they mean by declarative.

00:15:03 ◼   ► And you can make declarative UIs in all sorts of languages.

00:15:06 ◼   ► You could write it in XML.

00:15:06 ◼   ► There was a whole bunch of sort of XML UI definition toolkits

00:15:09 ◼   ► that have come and gone at various things.

00:15:11 ◼   ► You could define it in JSON.

00:15:13 ◼   ► You could define it in a PLIS or at a ZIB file

00:15:16 ◼   ► or a NIB file or a ZIB file

00:15:17 ◼   ► or whatever the hell Apple's using these days.

00:15:19 ◼   ► Like interface builder files are an example

00:15:21 ◼   ► of that more like freeze dried objects,

00:15:23 ◼   ► but declarative versus procedural

00:15:25 ◼   ► as a general split end.

00:15:27 ◼   ► Usually people want to do things declaratively

00:15:31 ◼   ► if they don't wanna deal with the details.

00:15:33 ◼   ► Like I don't care, rather than it telling me,

00:15:36 ◼   ► rather than me writing a recipe for how to build this UI,

00:15:38 ◼   ► why don't I just essentially draw this UI

00:15:40 ◼   ► with data instead of code, you know, data-driven stuff.

00:15:45 ◼   ► So I don't wanna have to write the code to Google.

00:15:47 ◼   ► Let's go, let me just write a bunch

00:15:49 ◼   ► of configuration information

00:15:51 ◼   ► and then something else comes and look at this

00:15:52 ◼   ► and say, oh, I see how you're describing your UI.

00:15:54 ◼   ► Apple has done this in a strange way before with,

00:15:57 ◼   ► maybe Mark will know, was it auto layout

00:15:59 ◼   ► that let you draw the little ASCII art diagrams

00:16:01 ◼   ► of what like buttons should be and stuff?

00:16:02 ◼   ► - Yeah, that's one of the features of auto layout.

00:16:04 ◼   ► I use it all the time.

00:16:05 ◼   ► - Some people hate that UI.

00:16:07 ◼   ► What we're describing is like when we say ASCII art,

00:16:09 ◼   ► like you can draw like square brackets and equal signs

00:16:12 ◼   ► and greater than signs and stuff to sort of draw--

00:16:14 ◼   ► - It's called visual format language.

00:16:16 ◼   ► - Yeah, like a little ASCII diagram of like,

00:16:18 ◼   ► I want a button and then a space and then another button.

00:16:21 ◼   ► And then, you know, it's very strange.

00:16:23 ◼   ► Some people find it great, it's like, oh, this is great,

00:16:25 ◼   ► I can just sort of draw out my UI

00:16:27 ◼   ► and pass it as a string to this API

00:16:29 ◼   ► and other people find it terrible.

00:16:30 ◼   ► Oh, I can't believe I'm passing this opaque string

00:16:32 ◼   ► to an API and expecting it to do something.

00:16:34 ◼   ► Why don't you just let me make a bunch of calls?

00:16:35 ◼   ► - I mean, to be fair, everything about auto layout is weird

00:16:39 ◼   ► and a little obtuse and a little unintuitive.

00:16:42 ◼   ► It is one of the least weird, least obtuse,

00:16:45 ◼   ► least unintuitive parts of auto layout.

00:16:47 ◼   ► - Yeah, but so this project for this cross-platform project

00:16:53 ◼   ► cross-platform UI, the rumor here is that it is, aside from the cross-platform parts,

00:16:58 ◼   ► the other twist on it is that it is a more declarative way to define user interfaces

00:17:03 ◼   ► rather than being more procedural.

00:17:06 ◼   ► And if true, it would mean that—we were talking before about the cross-platform thing—if

00:17:11 ◼   ► Apple's going to make a unified UI for both the Mac and iOS, presumably they would use

00:17:16 ◼   ► their current best idea of how to make a UI.

00:17:20 ◼   ► like AppKit was the best idea in the 90s,

00:17:22 ◼   ► and then UIKit was a chance to think,

00:17:24 ◼   ► what's our best thinking now in the iPhone era?

00:17:27 ◼   ► And if they're going to do one that's across both of them,

00:17:29 ◼   ► they can take all the best ideas that come from the new one.

00:17:31 ◼   ► And it's a little bit surprising to me

00:17:34 ◼   ► that they would go in such a new direction

00:17:38 ◼   ► as with a declarative UI, because there are limitations.

00:17:42 ◼   ► There are things you want to do procedurally,

00:17:44 ◼   ► even something as simple as pulling information dynamically

00:17:47 ◼   ► to fill something like a scrolling table view.

00:17:49 ◼   ► It's a little bit tricky to do that declaratively

00:17:52 ◼   ► because you don't, you kind of have to do it on the fly,

00:17:55 ◼   ► like in response to incoming data,

00:17:57 ◼   ► you can't really declare the entire UI

00:17:59 ◼   ► because you don't know it ahead of time.

00:18:00 ◼   ► So sometimes it's tricky to do, you know, like,

00:18:02 ◼   ► I don't know, like there's a place for procedural code

00:18:06 ◼   ► and any sort of religiously declarative way to do UIs

00:18:09 ◼   ► can run up against strange limitations.

00:18:11 ◼   ► Whereas if you have something that works procedurally,

00:18:13 ◼   ► you can build a declarative language on top of it,

00:18:16 ◼   ► but underneath it is still the procedural way

00:18:18 ◼   ► to do everything so you can hook into that?

00:18:20 ◼   ► I don't know, we'll see.

00:18:21 ◼   ► Anyway, that's the rumor about what it may be

00:18:24 ◼   ► and the idea that it being cross-platform, of course,

00:18:27 ◼   ► that you'd be able to make one UI using one framework

00:18:30 ◼   ► and it would work in both places.

00:18:33 ◼   ► Not that you would have the exact same controls

00:18:34 ◼   ► in every place, but that it wouldn't be completely different

00:18:36 ◼   ► like AppKit versus UIKit or UIColor versus NSColor

00:18:40 ◼   ► and all that stuff, that there would be a single shared set

00:18:43 ◼   ► of classes for different widgets.

00:18:44 ◼   ► You'd use the appropriate widgets in the appropriate places,

00:18:46 ◼   ► but in general, the UI code would be the same.

00:18:49 ◼   ► And the final bit is that the code, final bit of rumor,

00:18:52 ◼   ► and this is the code name Marzipan is,

00:18:55 ◼   ► may have been the name of this thing at one point,

00:18:58 ◼   ► but apparently it's not called that anymore.

00:18:59 ◼   ► Not that we would ever know this,

00:19:00 ◼   ► 'cause Apple doesn't usually tell us the code names

00:19:02 ◼   ► of things, but apparently Marzipan is an outdated thing.

00:19:06 ◼   ► And who knows how outdated,

00:19:07 ◼   ► because the story was from many months ago,

00:19:10 ◼   ► but whatever it is, if Apple tells us the code name,

00:19:14 ◼   ► chances are good that they're not gonna say it's Marzipan.

00:19:16 ◼   ► according to this article.

00:19:18 ◼   ► So, I mean, the reason I wanted to put this in here,

00:19:20 ◼   ► aside from us fumbling in the last minute

00:19:22 ◼   ► to try to characterize what a declarative UI is,

00:19:25 ◼   ► is what's, not what's left for WWDC,

00:19:31 ◼   ► but no Mac Pro, no artist formerly named as Marzipan.

00:19:36 ◼   ► What do they show us at WWDC?

00:19:41 ◼   ► What's left?

00:19:42 ◼   ► What are we looking forward to now,

00:19:44 ◼   ► now that all our Mac Pro hopes and dreams have been shattered,

00:19:47 ◼   ► and now that it seems like, if you believe this article,

00:19:49 ◼   ► perhaps no cross-platform UI either.

00:19:53 ◼   ► - Maybe watchOS will finally give me background audio?

00:19:55 ◼   ► Maybe SiriKit will finally give me an audio intent?

00:19:58 ◼   ► - That's all Marco cares about.

00:20:00 ◼   ► Marco cares about one word that's gonna be floating

00:20:02 ◼   ► in the background of a slide that will say,

00:20:04 ◼   ► new watchKit audio APIs.

00:20:06 ◼   ► (laughing)

00:20:07 ◼   ► - I mean, it's basically been my entire developer life.

00:20:10 ◼   ► With Instapaper, I was always hoping

00:20:12 ◼   ► for any new API on UI WebView

00:20:14 ◼   ► because it was almost never any and I had so many hacks.

00:20:17 ◼   ► And I was like, please make this easier.

00:20:19 ◼   ► Now I'm just kind of hoping like,

00:20:21 ◼   ► yeah, you know what, please just like,

00:20:22 ◼   ► make me like a Siri intent for audio

00:20:25 ◼   ► or make me, you know, make watchOS not suck

00:20:28 ◼   ► as much as it does suck for me right now.

00:20:31 ◼   ► Give me a volume control on watchOS.

00:20:33 ◼   ► By far, my number one feature request from customers

00:20:37 ◼   ► is to be able to control volume from the crown

00:20:39 ◼   ► from my watch app because I can't do.

00:20:41 ◼   ► and the reason they can't do it

00:20:43 ◼   ► is not within my control to fix.

00:20:44 ◼   ► And so that's kind of,

00:20:47 ◼   ► that's what I'm hoping for here.

00:20:48 ◼   ► And that's like, you know, every WWDC,

00:20:51 ◼   ► you, the developers get like fun new APIs,

00:20:54 ◼   ► fun new abilities, even the kind of quieter OS releases

00:20:58 ◼   ► usually have that kind of thing.

00:21:00 ◼   ► I mean heck, even you know, infamously Snow Leopard

00:21:03 ◼   ► added Grand Central Dispatch.

00:21:04 ◼   ► Like there's, you know, the no new features release

00:21:07 ◼   ► had this massive new API.

00:21:09 ◼   ► So, you know, Apple's API and frameworks teams

00:21:11 ◼   ► are pretty good at getting interesting, useful stuff

00:21:15 ◼   ► out there pretty much every year.

00:21:16 ◼   ► So, even if there's not like a major headlining difference

00:21:21 ◼   ► for like consumers of the Apple products,

00:21:25 ◼   ► and even if there is no like massive paradigm shift

00:21:28 ◼   ► for developers like a Marsa pen kind of thing might be,

00:21:31 ◼   ► that's still, you know, there's still gonna be stuff

00:21:33 ◼   ► for us there, it just might not be like mind blowing

00:21:36 ◼   ► or sensational.

00:21:37 ◼   ► I'm sure they're gonna heavily push AR and VR even further,

00:21:40 ◼   ► especially AR, 'cause the iPhone can't really do VR.

00:21:43 ◼   ► So I'm sure they're gonna very heavily push AR stuff

00:21:45 ◼   ► even more.

00:21:46 ◼   ► I honestly don't give two craps about AR,

00:21:49 ◼   ► and I don't see any killer app on the horizon for it,

00:21:54 ◼   ► so I don't really get excited about that.

00:21:58 ◼   ► But I do get excited about just like,

00:22:00 ◼   ► a bunch of little stuff and maybe one or two big things

00:22:03 ◼   ► might become easier or possible now that weren't before.

00:22:06 ◼   ► But that's what I like, and I think most developers, if you're getting real about

00:22:11 ◼   ► what actually matters day to day to a developer's life, that's the kind of stuff that matters

00:22:14 ◼   ► more.

00:22:15 ◼   ► I want to talk about the AR and VR stuff in a little bit, but I'm trying to think of

00:22:19 ◼   ► still what they could show at WWDC, because they do want to have some kind of headlining

00:22:23 ◼   ► thing.

00:22:24 ◼   ► Even if it's mostly independent of the week's worth of sessions, something as the – what's

00:22:31 ◼   ► the headline feature for the tech news sites, "FWDC keynote?"

00:22:34 ◼   ► be a hardware keynote where the headline thing is that they have newly revised laptops, and

00:22:39 ◼   ► that's the number one story, because there's a lot of—that would make for a compelling

00:22:45 ◼   ► headline given all of the press surrounding the laptops in recent months.

00:22:50 ◼   ► But that's not particularly developer-focused, and then just have the sessions be like, "Oh,

00:22:54 ◼   ► and we have new versions of Xcode, and everything's better, and Swift has ABI stability, and AR

00:22:58 ◼   ► and VR are still cool, and the new OSes," and stuff like that.

00:23:03 ◼   ► - Well, and also, you said it isn't exactly

00:23:05 ◼   ► developer focused, but first of all,

00:23:07 ◼   ► releasing new MacBook Pros is very developer focused

00:23:10 ◼   ► because almost every developer in that room

00:23:12 ◼   ► will be using a MacBook Pro during that keynote,

00:23:13 ◼   ► and afterwards, and the MacBook Pro is,

00:23:16 ◼   ► if I had to guess, by far the most common machine

00:23:18 ◼   ► used by Apple developers.

00:23:20 ◼   ► But also, keep in mind that this is,

00:23:24 ◼   ► the keynote is a public Apple event.

00:23:26 ◼   ► It's an Apple keynote, it's not that different

00:23:29 ◼   ► from the fall keynote in terms of how Apple needs

00:23:31 ◼   ► to frame it, what kind of products might be announced there.

00:23:35 ◼   ► It's just kind of convention that hardware

00:23:37 ◼   ► doesn't always get announced there,

00:23:38 ◼   ► but that is a public event,

00:23:40 ◼   ► and that is really aimed at consumers.

00:23:42 ◼   ► Developers happen to be sitting in their room

00:23:43 ◼   ► while Apple talks to the world.

00:23:45 ◼   ► The actual developer keynote is the State of the Union

00:23:48 ◼   ► two hours later that's in the afternoon,

00:23:50 ◼   ► that that's when we actually get all like,

00:23:52 ◼   ► oh, here's this brand new big API,

00:23:54 ◼   ► or here's major changes to Xcode.

00:23:56 ◼   ► That's when the developer quality of life stuff

00:24:00 ◼   ► actually gets introduced.

00:24:01 ◼   ► The keynote, the official keynote that's livestreamed

00:24:04 ◼   ► to the world is really a consumer-focused statement

00:24:08 ◼   ► that is couched in developer context,

00:24:12 ◼   ► but it's really talking to consumers.

00:24:14 ◼   ► - So as we dig, it gets closer, maybe we'll know better,

00:24:16 ◼   ► but for now, I was disappointed when it seemed like

00:24:19 ◼   ► the Mac Pro's not gonna, well, Apple announced

00:24:21 ◼   ► the Mac Pro's not gonna make it, and now it seems like

00:24:23 ◼   ► they're not even gonna tease it, 'cause why would they?

00:24:25 ◼   ► The whole point of them telling us that it's only coming

00:24:27 ◼   ► in 2019 was to make it so we don't hope for anything.

00:24:30 ◼   ► still would love a tease but this just doesn't seem like something they're gonna do and now this is

00:24:34 ◼   ► just a rumor but still a rumor with uh you know a fairly reliable source group usually gets this

00:24:39 ◼   ► stuff right uh that whatever marzipan is or was don't be looking for a new declarative cross

00:24:46 ◼   ► platform framework to be announced wwc so it takes away the other uh you know the big hardware story

00:24:53 ◼   ► as far as i was concerned was the mac pro and the big software story was this marzipan rumor

00:24:56 ◼   ► both gone if you believe everything. And then all you've got left is all like last year there's

00:25:02 ◼   ► going to be a new version of iOS, there's going to be a new version of macOS, maybe there'll be

00:25:06 ◼   ► some new hardware, there's a new version of Xcode, there's a new version of Swift,

00:25:09 ◼   ► like just a typical WWDC. I suppose as we get closer you know that the rumors will get more

00:25:16 ◼   ► accurate rumors but right now I'm not feeling bummed about it but when the Mac Pro was taken

00:25:21 ◼   ► away I was like oh well at least maybe they'll show that cross-platform framework. The only

00:25:25 ◼   ► thing i have a hold on to is my like dark horse ridiculous probably not going to happen but if

00:25:30 ◼   ► you want something to hope about is if apple is changing cpu architectures in any way one

00:25:36 ◼   ► potential strategy is to super duper pre-announce it so that developers have plenty of time to adjust

00:25:40 ◼   ► they pre-announced the intel transition but not by that much but there was a period of time when

00:25:46 ◼   ► developers were shipped like uh power mac g5s with pentium 4s in them and stuff and uh

00:25:53 ◼   ► ported their software and stuff like that.

00:25:54 ◼   ► So if Apple really wants to get ahead of the game and say,

00:25:58 ◼   ► we're pre-analyses this by two and a half years,

00:26:00 ◼   ► but just so you know, we're gonna change architectures

00:26:03 ◼   ► and here's a bunch of things on it,

00:26:04 ◼   ► that would be cool and super exciting,

00:26:06 ◼   ► but it just doesn't seem like a thing they're doing.

00:26:08 ◼   ► Oh well.

00:26:09 ◼   ► - Well, and I think one more thing to be optimistic about

00:26:11 ◼   ► for this, for like, what's left for WBC.

00:26:14 ◼   ► WBC keynotes have been pretty poorly predicted

00:26:19 ◼   ► in recent years.

00:26:20 ◼   ► Like there's always been a lot of stuff

00:26:22 ◼   ► that gets announced that we had no clue,

00:26:25 ◼   ► that we had no expectation of beforehand,

00:26:28 ◼   ► there were no rumors about it.

00:26:30 ◼   ► Apple is getting a lot better at secrecy recently.

00:26:33 ◼   ► And when it comes to things that aren't hardware,

00:26:36 ◼   ► that don't have things like supply chain leaks

00:26:38 ◼   ► and everything, like a lot of the stuff

00:26:39 ◼   ► that gets announced at WBC, like APIs, Swift,

00:26:43 ◼   ► stuff like that, there have been a lot of major

00:26:46 ◼   ► WBC announcements in recent years

00:26:48 ◼   ► that nobody expected and nobody predicted.

00:26:51 ◼   ► So I wouldn't say like, oh, what's left?

00:26:53 ◼   ► I don't know, it could just be a boring one.

00:26:55 ◼   ► There's really not a strong correlation

00:26:57 ◼   ► between what we know and can think to expect now

00:27:00 ◼   ► versus what actually comes in a month.

00:27:03 ◼   ► - I think that's true.

00:27:04 ◼   ► I don't think this is an appropriate time

00:27:07 ◼   ► to do our official WWDC pontificating episode,

00:27:10 ◼   ► but that being said, since we've kind of opened up

00:27:13 ◼   ► this whole conversation, a couple things that jump to mind

00:27:15 ◼   ► that would be really cool, especially for developers anyway,

00:27:18 ◼   ► having more UI kit on the watch rather than watch kit so having any UI kit for

00:27:23 ◼   ► us on the watch would be cool a potential for custom watch faces in any

00:27:28 ◼   ► capacity I don't think either of these things is particularly likely but both

00:27:32 ◼   ► of them would make a pretty big splash amongst the people who care about the

00:27:35 ◼   ► Apple watch we could see like Xcode or an Xcode equivalent for iPad which I

00:27:41 ◼   ► still am hyper skeptical that that is gonna be a thing anytime soon but there

00:27:46 ◼   ► There seems to be enough smoke there that I'm starting to think that I'm the one that's

00:27:49 ◼   ► wrong and maybe it is coming soon.

00:27:52 ◼   ► And this is not Apple style at all, but what if the headlining feature of iOS 12 is that

00:28:01 ◼   ► there's no headlining feature?

00:28:03 ◼   ► What if they really—

00:28:04 ◼   ► I thought I was gonna get at—we had that story about downscaling.

00:28:06 ◼   ► What was it like?

00:28:07 ◼   ► Apple—I think it was just a rumor, like that there was a bunch of things planned for

00:28:11 ◼   ► iOS 12 and now they've been pushed aside because Apple's worried about stability

00:28:14 ◼   ► and ditto for the Mac thing.

00:28:15 ◼   ► That was what's making me think that there'll be even less here than we expect.

00:28:19 ◼   ► And yeah, they could spin it like you were saying, Casey, like, "Oh, the feature is no

00:28:22 ◼   ► new features," even though they already did that once.

00:28:25 ◼   ► That would get a lot of applause, but it doesn't really make for a lot of really interesting

00:28:27 ◼   ► sessions, right?

00:28:29 ◼   ► Guess what?

00:28:30 ◼   ► Things are more stable, and we fixed a lot of bugs.

00:28:32 ◼   ► That's exactly what we want, but you can't really do a one-hour WWDC session about how

00:28:37 ◼   ► a bunch of bugs are fixed.

00:28:39 ◼   ► Yeah.

00:28:40 ◼   ► I don't know.

00:28:41 ◼   ► We'll presumably talk about this again in a few weeks, but it is an interesting predicament

00:28:45 ◼   ► because any of the places where we all were looking for smoke, it seems that those fires

00:28:51 ◼   ► have been extinguished. So I'm not sure what's left to your point.

00:28:55 ◼   ► So to what Margot was talking about before, the thing about WWDC things being surprises

00:29:00 ◼   ► is software doesn't have supply chain leaks, right, for the most part. It's not like people

00:29:07 ◼   ► all over the world have to build millions of these things and it's inevitable to leak

00:29:10 ◼   ► out. It all happens in California for the most part, and those people are really good

00:29:14 ◼   ► to keeping secrets, so we don't have any visibility into them. And the process, from what I can

00:29:20 ◼   ► tell from the outside of how things appear at WWDC, is they're worked on for years and

00:29:25 ◼   ► years and years inside Apple. And the most large, important projects have at least one,

00:29:31 ◼   ► sometimes two years where they think they're going to be shown at WWDC, and they say, "No,

00:29:37 ◼   ► actually, let's wait until next year." So if you're outside Apple, it's like, "Wow, look

00:29:42 ◼   ► at this amazing thing when did they do that and if you're inside Apple it's

00:29:44 ◼   ► like did that get what year did we release that because I know we were

00:29:49 ◼   ► gonna release it this year but then we didn't and then the next year oh yeah

00:29:52 ◼   ► that's the year we actually released it but we've been working on it for five

00:29:54 ◼   ► and a half years so it's hard to keep track of when we actually released it

00:29:58 ◼   ► the rumors are that the home pod was like that Swift was certainly in

00:30:01 ◼   ► development for years and years inside Apple before it was shown to the world

00:30:04 ◼   ► god knows APFS and every file system project inside Apple spent a long time

00:30:08 ◼   ► not being released until it finally was released.

00:30:11 ◼   ► Every year we thought it was gonna be the year

00:30:13 ◼   ► of the file system until it finally was.

00:30:15 ◼   ► So that's kinda why they catch you by surprise

00:30:18 ◼   ► because when APFS comes out,

00:30:19 ◼   ► although I think I did predict that one correctly,

00:30:21 ◼   ► but the prediction was factoring into the formula

00:30:25 ◼   ► that they had been working on this for years.

00:30:27 ◼   ► And even though it seems like this is the year

00:30:29 ◼   ► it should come out, it won't, it will be next year.

00:30:31 ◼   ► Swift was mostly out of nowhere.

00:30:34 ◼   ► Like no one knew it was a real thing,

00:30:36 ◼   ► but again, worked on for years.

00:30:38 ◼   ► And so anything that we're hearing rumors about now,

00:30:41 ◼   ► like a project that started recently,

00:30:42 ◼   ► like this don't call it Marzipan thing,

00:30:45 ◼   ► that probably has to incubate inside Apple for many years

00:30:49 ◼   ► and miss a bunch of WWDCs because it's not ready yet

00:30:51 ◼   ► before it actually appears.

00:30:53 ◼   ► So having it miss this year actually isn't that surprising.

00:30:56 ◼   ► With the file system stuff, they miss so many years

00:31:01 ◼   ► that we eventually stopped talking about it

00:31:02 ◼   ► until we could start talking about it again.

00:31:04 ◼   ► Or they made that, they went down the run of ZFS

00:31:07 ◼   ► I almost got out and even got onto an Apple web page.

00:31:10 ◼   ► And ditto for all sorts of Objective-C changes and things that are in Xcode.

00:31:15 ◼   ► It seems to me that things, like any big company, Apple usually is cautious and not in a hurry

00:31:24 ◼   ► to put out features like that, especially if they have large developer impact.

00:31:27 ◼   ► They want to be sure that they work.

00:31:29 ◼   ► Sometimes they want to dog food themselves for a while.

00:31:33 ◼   ► So that's why I think it's so surprising.

00:31:34 ◼   ► When it comes out, it's a project that was hot inside Apple five years ago when it was

00:31:39 ◼   ► really getting going.

00:31:40 ◼   ► And by the time it comes out, you know, if you didn't know about it five years ago, it's

00:31:43 ◼   ► like, "Wow, where did this come from?"

00:31:44 ◼   ► Yeah, it's like, "Yeah, we've been working on this for five years."

00:31:46 ◼   ► Like, the entire teams of people have been doing this, and it was practically ready last

00:31:50 ◼   ► year.

00:31:51 ◼   ► And the reason it's so good this year is because it was practically ready right last year.

00:31:54 ◼   ► So I'm hoping any sort of cross-platform declarative UI follows that path where, by the time we

00:32:01 ◼   ► see it, Apple is super sure that it's great. They've dogfooded internally, it's really

00:32:06 ◼   ► polished, it's good, and that's when it comes out and not like, "Oh, it's in a somewhat

00:32:12 ◼   ► releasable state and we could show people now, let's just do that," because that's not

00:32:15 ◼   ► a great way to go.

00:32:17 ◼   ► We are sponsored this week by Squarespace. Start building your website today at squarespace.com.

00:32:22 ◼   ► Enter offer code ATP at checkout to get 10% off. Make your next move with a beautiful

00:32:27 ◼   ► website from Squarespace. Squarespace sites look incredible with almost no time investment

00:32:33 ◼   ► from you. So if you need to make a website for pretty much any new project you want to

00:32:37 ◼   ► do, whether you're creating a new blog, or a new business, or you want to show things

00:32:41 ◼   ► off in a portfolio, or even more complicated things like you want to launch an online store,

00:32:46 ◼   ► or you want to put an online podcast up and you want to host a podcast, Squarespace can

00:32:50 ◼   ► do all these things for you, and all built into all of their plans. And they have tons

00:32:55 ◼   ► of intuitive, easy to use tools.

00:32:58 ◼   ► And you can make these sites no matter what your skill level, whether you are a novice

00:33:01 ◼   ► or whether you're an advanced computer nerd, you can make a Squarespace site in pretty

00:33:05 ◼   ► much no time with pretty much no effort.

00:33:07 ◼   ► They make it super easy to do a lot of complex things.

00:33:10 ◼   ► So you don't have to worry about it.

00:33:11 ◼   ► You don't have to worry about hosting and upgrades and patches and uptime for your site

00:33:16 ◼   ► and everything.

00:33:17 ◼   ► They take care of all of that on rock solid networks, rock solid infrastructure, and if

00:33:21 ◼   ► need any help whatsoever, they have award-winning customer support too. And

00:33:25 ◼   ► it's great even if you're making a site for somebody else and they've come to

00:33:29 ◼   ► you, the computer nerd in their life, to make a site for them, you can make it on

00:33:32 ◼   ► Squarespace and then it's out of your hands. Then when they need support they

00:33:36 ◼   ► don't have to go to you, they go to Squarespace. So whether you're making a

00:33:39 ◼   ► site for yourself or somebody else, Squarespace is the place to do it. You

00:33:44 ◼   ► can start a free trial to see what I mean at squarespace.com/ATP. Start

00:33:48 ◼   ► that free trial today. There's no credit card required. When you decide to sign up, make

00:33:52 ◼   ► sure to head to squarespace.com/ATP and use the offer code ATP to get 10% off your first

00:33:59 ◼   ► purchase. That's squarespace.com/ATP. Code ATP for 10% off your first purchase. Thank

00:34:05 ◼   ► you so much to Squarespace for sponsoring our show. Make your next move with Squarespace.

00:34:09 ◼   ► Oh, and I guess this is still on the W2C topic, which is why I moved it up briefly. Marco

00:34:18 ◼   ► talked about how he doesn't care about AR or VR, and there's no killer app for it.

00:34:23 ◼   ► And I mostly agree with that, although I still think placing furniture is a—that's not

00:34:28 ◼   ► a killer app, but it's a good application.

00:34:30 ◼   ► I was doing some AR stuff on my phone that I actually found somewhat useful or at least

00:34:34 ◼   ► fun.

00:34:35 ◼   ► So I think there's—

00:34:36 ◼   ► Oh yeah, placing furniture, if you're like trying to ballpark a measurement on something,

00:34:38 ◼   ► like there are interesting and useful uses for it.

00:34:43 ◼   ► But what I'm saying is I don't think we've seen

00:34:46 ◼   ► a killer app yet.

00:34:47 ◼   ► And usually, I mentioned a little bit of this

00:34:50 ◼   ► on Under the Radar this week, or last week,

00:34:51 ◼   ► I forget which one, but usually,

00:34:53 ◼   ► if a new technology comes around,

00:34:58 ◼   ► and nobody can figure out the killer app for it,

00:35:00 ◼   ► like almost right away,

00:35:02 ◼   ► there generally doesn't come one.

00:35:04 ◼   ► It doesn't usually happen later.

00:35:06 ◼   ► Usually the killer app for something,

00:35:08 ◼   ► if there's going to be one,

00:35:08 ◼   ► is pretty obvious right from the start.

00:35:11 ◼   ► So we've had AR now for a while,

00:35:13 ◼   ► and we've had a few cool uses for it.

00:35:16 ◼   ► Pokemon Go is by far the biggest use, I think,

00:35:18 ◼   ► for the world.

00:35:20 ◼   ► There's always gonna be fun little game integration

00:35:23 ◼   ► and stuff, there's gonna be occasional utility functions

00:35:25 ◼   ► like measuring or placing furniture,

00:35:27 ◼   ► but I just don't see the killer app

00:35:30 ◼   ► that's gonna make something like AR goggles,

00:35:32 ◼   ► which is what this rumor's about.

00:35:34 ◼   ► I don't imagine that's gonna be worthwhile.

00:35:40 ◼   ► Nothing about AR has motivated me that like, oh wow, now I can like look at something on

00:35:45 ◼   ► a table.

00:35:46 ◼   ► Cool.

00:35:47 ◼   ► I can also look at something not on a table and it's easier.

00:35:50 ◼   ► That's why I brought up this article here about the rumor about Apple AR VR glasses.

00:35:55 ◼   ► First of all, this is like the second or third iteration of a years old rumor about Apple

00:36:00 ◼   ► supposedly working on things that you put over your eyeballs that have screens incorporated

00:36:04 ◼   ► with them.

00:36:05 ◼   ► I think the most recent one was that Apple, several years ago, that Apple had canned their

00:36:08 ◼   ► internal glasses project because the tech wasn't ready or they didn't like it, they

00:36:13 ◼   ► spent some time looking into it and they figured let's put this on the shelf.

00:36:17 ◼   ► Here comes the rumor back again, this time with a wireless angle of like oh but it's

00:36:22 ◼   ► different than other headsets because you don't have to have it connected with wires

00:36:24 ◼   ► which is a big hassle for AR and VR goggles from some other companies.

00:36:31 ◼   ► But I think for AR to, you know, we call it killer app because it's done in terms of like

00:36:36 ◼   ► the software being the reason you buy the hardware.

00:36:38 ◼   ► But in this case, kind of like the iPhone,

00:36:41 ◼   ► the hardware is what enables the software.

00:36:44 ◼   ► Like if you couldn't make a flat, small, all-screen phone,

00:36:49 ◼   ► it doesn't matter how good your iPhone software is.

00:36:51 ◼   ► You can't-- no one's going to want to use that.

00:36:53 ◼   ► The killer app is the phone hardware itself.

00:36:55 ◼   ► And once you have a big touchscreen,

00:36:58 ◼   ► the software can finally run on it.

00:36:59 ◼   ► You can hold it in your pocket, and the battery

00:37:01 ◼   ► can last the amount of time, and the screen is responsive,

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

00:37:04 ◼   ► enables you to have all these applications.

00:37:07 ◼   ► So I think one of the reasons AR is less compelling

00:37:10 ◼   ► and more of a specialized technology at this point

00:37:14 ◼   ► is because you have to kind of hold your phone up

00:37:16 ◼   ► and you can put it in front of signs

00:37:17 ◼   ► and have it translate them or put things on tables

00:37:19 ◼   ► and stuff like that.

00:37:20 ◼   ► But it's not particularly comfortable or common activity.

00:37:24 ◼   ► Unlike the plain old non-augmented reality

00:37:28 ◼   ► of looking at your phone and flicking around with your--

00:37:30 ◼   ► - Also known as reality.

00:37:32 ◼   ► - Well, you know, looking at your phone

00:37:34 ◼   ► flicking around with your thumb, that interface to your phone, right?

00:37:37 ◼   ► Well, if there ever is—and I don't entirely buy this rumor because it seems it doesn't

00:37:42 ◼   ► have enough substance there—but this rumor is about 8K displays in front of each eye.

00:37:46 ◼   ► AR glasses, wireless AR glasses with 8K displays in front of each eye, which is far beyond

00:37:50 ◼   ► what most expensive, huge VR sets use these days.

00:37:56 ◼   ► But if you could have something that you could put on your face that would let you see—normally,

00:38:01 ◼   ► the rest of the world but also see 8K display overlaid on it controlled wirelessly by some

00:38:07 ◼   ► powerful device and this rumor has it being some box but that just, whatever, okay. I'm

00:38:12 ◼   ► sure that's what it is inside Apple but I'm not sure that's what they would ship. I think

00:38:16 ◼   ► that changes the AR game because I don't want to hold something up in front of my face.

00:38:21 ◼   ► I don't want to look through a phone-sized portal into an augmented reality world but

00:38:27 ◼   ► If I can wear, perhaps not this product, but in the somewhat distant future,

00:38:32 ◼   ► if I can wear something in my head that is not too much different than the glasses I'm wearing right now,

00:38:36 ◼   ► and can have a powerful computing device overlay useful information onto that world,

00:38:43 ◼   ► I'm much more likely to find that useful, and it's much more likely to find the actual killer app

00:38:48 ◼   ► when the hardware is able to support that.

00:38:50 ◼   ► Because I don't think anyone wants to launch an app and hold a phone up at something,

00:38:54 ◼   ► But I think if people could walk around all day and see information readily available to them, even if it's just driving directions,

00:39:00 ◼   ► I know they have heads-up displays to do that in cars now,

00:39:02 ◼   ► if you could get turn-by-turn driving directions overlaid with AR in your car, that would be a killer app,

00:39:09 ◼   ► because glancing at the nav screen is dangerous and much more difficult.

00:39:12 ◼   ► And most cars don't have HUDs, and I wouldn't trust that to automakers anyway,

00:39:16 ◼   ► but if it could be displayed inside my glasses, my eyes on the road the whole time,

00:39:19 ◼   ► I wouldn't miss a turn because I can't tell if it was telling me in 500 feet or in 300 feet,

00:39:23 ◼   ► I can't correctly estimate what 500 and 300 feet is, and I can't tell if the thing is

00:39:26 ◼   ► lagging so I miss my turn.

00:39:28 ◼   ► If there's a big green line on the ground, I can figure it out.

00:39:31 ◼   ► So I think there's not going to be a really big AR killer app until we get hardware like

00:39:36 ◼   ► this, which is why I'm interested in rumors like this.

00:39:39 ◼   ► Not that I think anything is coming anytime soon, but I am happy when I see rumors like

00:39:43 ◼   ► this because I want to believe them, and I want to believe that Apple does continue to

00:39:47 ◼   ► investigate both AR and VR.

00:39:50 ◼   ► The release of ARKit makes it even more plausible.

00:39:54 ◼   ► Yes, Apple actually is doing this internally.

00:39:56 ◼   ► What do they have so far?

00:39:57 ◼   ► They've got a bunch of frameworks

00:39:58 ◼   ► that they're working on improving.

00:39:59 ◼   ► And the frameworks are really good.

00:40:00 ◼   ► And they improved last year,

00:40:01 ◼   ► and I hope they improve more this year.

00:40:04 ◼   ► The killer app, we don't see it yet.

00:40:06 ◼   ► Hardware, glasses like that, we don't see it yet.

00:40:08 ◼   ► But if and when it does come,

00:40:10 ◼   ► I think it will be the game changer for AR.

00:40:15 ◼   ► And until that happens,

00:40:17 ◼   ► I'm glad that Apple is not like holding this stuff back

00:40:20 ◼   ► and say, oh, we shouldn't even bother releasing ARKit

00:40:22 ◼   ► until we have glasses.

00:40:22 ◼   ► They should, and they are.

00:40:24 ◼   ► But I'm hopeful.

00:40:26 ◼   ► This is for like, I guess, WWC 2021,

00:40:29 ◼   ► when the glasses come out.

00:40:30 ◼   ► I don't know.

00:40:31 ◼   ► Maybe they come free with your Mac Pro.

00:40:33 ◼   ► - Oh yeah. - Yeah.

00:40:34 ◼   ► - Yeah, right, Apple would ship anything for free.

00:40:36 ◼   ► - Right. (laughs)

00:40:37 ◼   ► - Remember how the glasses used to come with like,

00:40:39 ◼   ► the crappy 3D TVs,

00:40:41 ◼   ► and you'd get like one pair of glasses with it,

00:40:43 ◼   ► but if your family wants to watch each new pair of glasses,

00:40:45 ◼   ► it was like a hundred bucks.

00:40:46 ◼   ► - I never had one of those.

00:40:47 ◼   ► - I got a free pair with my TV.

00:40:49 ◼   ► I totally missed the 3D era when I was buying TVs, thank God.

00:40:53 ◼   ► - Be glad, I used it exactly twice, I think,

00:40:57 ◼   ► both doing the same thing.

00:40:58 ◼   ► I was playing the PlayStation 3 remaster

00:41:02 ◼   ► of Shadow of the Colossus, which had a 3D mode,

00:41:04 ◼   ► and I used the glasses that came with my TV.

00:41:07 ◼   ► It was kind of interesting.

00:41:08 ◼   ► I don't recommend it.

00:41:10 ◼   ► - The funny thing is we can kind of predict

00:41:11 ◼   ► if Apple does release this,

00:41:13 ◼   ► we kind of know how it will go at this point

00:41:15 ◼   ► based on previous releases.

00:41:16 ◼   ► I wouldn't expect another iPhone.

00:41:18 ◼   ► I would expect it to be announced way too early,

00:41:23 ◼   ► to ship late, to ship with incomplete buggy software,

00:41:28 ◼   ► and to be really slow and generally weird

00:41:31 ◼   ► for about two years before they finally get something

00:41:33 ◼   ► that's pretty good.

00:41:35 ◼   ► - Possibly, but like every time I look at these rumors,

00:41:38 ◼   ► even, you know, the, oh, 8K display in front of each eye,

00:41:40 ◼   ► I'm like, how good, how far advanced

00:41:45 ◼   ► would the technology have to be before it's a product

00:41:49 ◼   ► that people would actually wanna use?

00:41:50 ◼   ► 'Cause I, even Apple in the state it is today,

00:41:53 ◼   ► I don't see them releasing something like the Oculus

00:41:56 ◼   ► or the HTC Vive or Vive

00:42:00 ◼   ► where it's like a giant shoebox in your head.

00:42:03 ◼   ► Apple just won't do that.

00:42:04 ◼   ► It's just too, too much.

00:42:05 ◼   ► Or even like the HoloLens, right?

00:42:08 ◼   ► But we are so far from technology that lets it be glasses

00:42:12 ◼   ► like the ones I have on my face.

00:42:13 ◼   ► So, so far, like there's a long gap.

00:42:16 ◼   ► On the other hand, as I've said about phone thinness

00:42:18 ◼   ► many times, you don't just immediately release the thing

00:42:21 ◼   ► that looks like a regular pair of glasses.

00:42:22 ◼   ► You have to do all the things in between

00:42:25 ◼   ► and work your way up to it slowly.

00:42:26 ◼   ► Is that what Apple's doing internally?

00:42:28 ◼   ► Or are they gonna actually release the big thicker thing

00:42:32 ◼   ► and then, like you said, Marco,

00:42:35 ◼   ► go through two or three years of it being thick

00:42:37 ◼   ► and ridiculous and geeky and unwieldy

00:42:38 ◼   ► until they finally get down to the nice one?

00:42:41 ◼   ► It's rare that you can jump immediately to the iPhone, which was already pretty thin,

00:42:46 ◼   ► pretty light, and did all the things we wanted it to do.

00:42:49 ◼   ► That's why it's so amazing.

00:42:50 ◼   ► But an 8K display in front of each eye?

00:42:55 ◼   ► Wirelessly communicating?

00:42:56 ◼   ► The batteries alone to power this would be substantial.

00:42:59 ◼   ► This by the way ties into—I can't believe this article didn't tie it in—but it ties

00:43:02 ◼   ► into the micro-LED thing, right?

00:43:05 ◼   ► If Apple's doing micro LED displays, as far as I understand about that technology, as

00:43:12 ◼   ► with any new screen technology, initially it's really expensive and really hard to make.

00:43:18 ◼   ► So if you're going to start it on a product, start it on the one with the small screen,

00:43:21 ◼   ► the obvious answer is the watch.

00:43:22 ◼   ► The whole reason Apple will be doing this micro LED stuff is because they want a micro

00:43:26 ◼   ► LED display on a watch in the future, because the screens are small.

00:43:29 ◼   ► But you know what else has a small screen?

00:43:31 ◼   ► Potential glasses.

00:43:32 ◼   ► So don't expect micro LED displays on your giant 27-inch display.

00:43:37 ◼   ► First expect them on your watch and maybe on your glasses in 2021.

00:43:41 ◼   ► I just, I thought this rumor was hilarious because two AK screens wirelessly, no, not

00:43:49 ◼   ► today.

00:43:50 ◼   ► Now that doesn't mean in the future it can't happen by any means.

00:43:52 ◼   ► And if there's anything I've learned as I've gotten older is that the future is far closer

00:43:56 ◼   ► to today than I ever think it is.

00:43:58 ◼   ► But I don't know, man.

00:44:00 ◼   ► a whole lot of data to be pushed over no wires at all really, really fast. I mean, remember

00:44:06 ◼   ► how much time the three of us have been pontificating about external retina displays? And that still

00:44:13 ◼   ► is – I guess you can say it's here now, but it took a long time from when we first

00:44:17 ◼   ► started talking about it and arguing about whether or not Thunderbolt had the bandwidth

00:44:20 ◼   ► to do it. It's just – I don't see how this can happen even close to the way they

00:44:26 ◼   ► want it to in 2018. But who knows? Maybe in 2020 it is possible.

00:44:30 ◼   ► I can use lots of compression.

00:44:32 ◼   ► The things that the glasses have going for it, the watch has going for it is obviously

00:44:36 ◼   ► its size.

00:44:37 ◼   ► It's a really small screen, all things considered.

00:44:39 ◼   ► So if you're going to debut a new display technology, they're working out to make it

00:44:42 ◼   ► the size of a postage stamp.

00:44:44 ◼   ► The thing glasses have going for it is that, depending on how they handle the lensing and

00:44:49 ◼   ► all that stuff like that, you can make the actual screen very, very small.

00:44:55 ◼   ► you know, it's right next to your eyeball and it doesn't have to be that bright because

00:45:01 ◼   ► it's right next to your eyeball.

00:45:02 ◼   ► And you have the possibility of using lenses and stuff which you don't have the possibility.

00:45:06 ◼   ► It's in a fixed position, very close to your eyeball, so there's lots of things you can

00:45:09 ◼   ► do that let you make the screen, I'm thinking mostly of battery, make it so this thing can

00:45:16 ◼   ► take way less battery power than an 8K desktop display which has to spray light all over

00:45:24 ◼   ► the room hoping that it will find its way into your eyeballs, this thing knows where

00:45:27 ◼   ► your eyeballs are, it doesn't have to be as bright, it can be very very tiny, you can

00:45:31 ◼   ► use lenses to magnify things.

00:45:34 ◼   ► So I don't think it's...

00:45:36 ◼   ► In labs, I can imagine somewhere in some university right now there's some AR pair of glasses

00:45:42 ◼   ► that has 8K displays in front of each eye that cost $200,000 to make.

00:45:47 ◼   ► Probably that's what's inside Apple as well.

00:45:49 ◼   ► How do you turn that into a product?

00:45:51 ◼   ► I don't know. That's Apple's job to figure out.

00:45:55 ◼   ► What do you think, like, if you think about the logistics of if Apple releases AR glasses

00:46:01 ◼   ► and if they become as popular as, say, the Apple Watch. Like, I think that's a good

00:46:05 ◼   ► comparison of what they might expect, like, or what might be a realistic outcome is that

00:46:10 ◼   ► they become as popular as the Watch. Do you guys get kind of, first of all, there's

00:46:15 ◼   ► the logistical questions of like,

00:46:17 ◼   ► well, what about people who wear prescription glasses?

00:46:21 ◼   ► What about sunglasses?

00:46:23 ◼   ► Like, do you, does Apple sell lots of different glass

00:46:28 ◼   ► that can go into these?

00:46:28 ◼   ► Do they become a prescription company

00:46:31 ◼   ► and you tell them your prescription

00:46:32 ◼   ► and they have a bunch that they can make

00:46:35 ◼   ► or they can custom make for you?

00:46:36 ◼   ► What if the future, you know, the quote, the future,

00:46:40 ◼   ► involves wearing a certain kind of glasses

00:46:43 ◼   ► that people with certain weird eyesight problems

00:46:45 ◼   ► like Casey, what if they just never make one for you

00:46:47 ◼   ► and then you can't participate in the future of computing?

00:46:50 ◼   ► What if they make one but in Apple style

00:46:54 ◼   ► they basically only make one style

00:46:56 ◼   ► and then all of society is walking around

00:46:59 ◼   ► with the same pair of glasses?

00:47:00 ◼   ► Like, that's a little creepy.

00:47:02 ◼   ► Like, I just, like the Apple Watch creeps me out enough

00:47:05 ◼   ► that I kind of feel like everyone's part of the Borg,

00:47:07 ◼   ► which I don't even understand that reference.

00:47:08 ◼   ► I never even saw that show.

00:47:10 ◼   ► But I just, I kind of feel like when I see,

00:47:14 ◼   ► when I see a pretty large number of people out in public

00:47:18 ◼   ► all wearing the exact same watch as a watch,

00:47:22 ◼   ► I find that kind of creepy and corporate

00:47:23 ◼   ► takeover overlord kind of-y.

00:47:25 ◼   ► And then if everybody was also wearing

00:47:28 ◼   ► the same kind of glasses with the same frames

00:47:31 ◼   ► and everything, I don't know.

00:47:32 ◼   ► I just don't, A, I don't want that world

00:47:36 ◼   ► 'cause I would feel like everyone is just kind of

00:47:40 ◼   ► corporate, a little too far, a little too much like

00:47:43 ◼   ► that we love Apple for even my taste.

00:47:47 ◼   ► And I'm a pretty big fan of Apple,

00:47:48 ◼   ► but even that's, I think, too far.

00:47:50 ◼   ► And also, there are all these logistical

00:47:53 ◼   ► and practical challenges of glasses are,

00:47:56 ◼   ► first of all, pretty diverse.

00:47:57 ◼   ► Second of all, not everybody even can wear glasses.

00:48:00 ◼   ► Third of all, people who can wear glasses

00:48:02 ◼   ► don't always want to.

00:48:03 ◼   ► Fourth, people who can and want to wear glasses

00:48:06 ◼   ► need different kinds of glasses,

00:48:08 ◼   ► different types of lenses, different types of optics,

00:48:11 ◼   ► different shading and tint for those lenses.

00:48:15 ◼   ► There's so many logistical challenges

00:48:18 ◼   ► with this kind of product,

00:48:20 ◼   ► and even if it succeeds, it's kind of creepy and weird

00:48:22 ◼   ► in a lot of different ways,

00:48:23 ◼   ► and makes a bunch of aspects of society creepy and weird,

00:48:26 ◼   ► as we kind of got previewed from glass holes.

00:48:29 ◼   ► How does this work?

00:48:33 ◼   ► How do they get past all that stuff?

00:48:35 ◼   ► - Well, that's why I think you're thinking

00:48:38 ◼   ► that it might be as successful as the watch

00:48:39 ◼   ► is very optimistic,

00:48:40 ◼   ► because the watch is a known quantity

00:48:42 ◼   ► and the only real hurdles you have to overcome

00:48:44 ◼   ► are like you said, fashion, but for the most part,

00:48:47 ◼   ► you don't have all those concerns about like, you know,

00:48:50 ◼   ► people don't have prescription wristwatches, right?

00:48:53 ◼   ► Like if it fits around your wrist with an adjustable strap,

00:48:56 ◼   ► you're pretty much good to go.

00:48:58 ◼   ► If you can wear a regular watch,

00:48:59 ◼   ► which is already a thing and a known quantity,

00:49:01 ◼   ► you can wear one of these

00:49:02 ◼   ► and it doesn't have to be that different from them.

00:49:05 ◼   ► The adoption for glasses has to be slower.

00:49:10 ◼   ► First of all, it's on your face, which is the thing you didn't mention.

00:49:12 ◼   ► Yes, wrist or, you know, watches are on your wrist and it's a personal, the most personal

00:49:15 ◼   ► product Apple has made, but it's not on your face.

00:49:17 ◼   ► On your face is a whole other realm.

00:49:19 ◼   ► Just ask anyone who gets tattoos.

00:49:20 ◼   ► Yes, people have tattoos.

00:49:21 ◼   ► Do you have a tattoo on your face?

00:49:23 ◼   ► No, why not?

00:49:24 ◼   ► It's a little bit different.

00:49:25 ◼   ► That's your face.

00:49:26 ◼   ► Your face is your face to the world, as they say.

00:49:29 ◼   ► So anything that goes on your face, there is a lot of problems in terms of how weird

00:49:34 ◼   ► and embarrassing this is, how comfortable it is.

00:49:37 ◼   ► before you get into division, before you get into anything like that.

00:49:40 ◼   ► So I think the outtake is definitely going to be slow.

00:49:42 ◼   ► But long term, with any of these things, it's the whole semiconductor industry mantra from

00:49:49 ◼   ► two years ago or whatever, as the price of compute drops to zero, many new applications

00:49:53 ◼   ► become possible.

00:49:54 ◼   ► Right now the price of compute and the size of compute and the power constraints of compute

00:49:57 ◼   ► is not zero, but it's going down all the time.

00:50:00 ◼   ► But imagine if you could get the computing power of the iPhone X into something that

00:50:06 ◼   ► it sips power and it's the size of a grain of rice.

00:50:09 ◼   ► Obviously it's this, you know, far future or whatever.

00:50:12 ◼   ► Then a lot of your concerns about

00:50:14 ◼   ► how do you do this with the glasses,

00:50:15 ◼   ► well, it's like, it's the size of a grain of rice.

00:50:17 ◼   ► Just get whatever glasses you want

00:50:19 ◼   ► and stick the grain of rice in it, right?

00:50:21 ◼   ► Like that it is such a small thing

00:50:23 ◼   ► that it doesn't come to dominate,

00:50:24 ◼   ► not only is it not a product in its own right,

00:50:26 ◼   ► but it doesn't even come to dominate

00:50:27 ◼   ► the products that it's part of.

00:50:29 ◼   ► The watch is not quite there yet because,

00:50:32 ◼   ► but it's closer than we might think

00:50:34 ◼   ► and that the computing power of the Apple Watch

00:50:37 ◼   ► does not dominate the band.

00:50:38 ◼   ► The band doesn't care about the computing aspect of the watch.

00:50:42 ◼   ► The entirety of the computing part of the watch

00:50:44 ◼   ► is in the little watch thing.

00:50:46 ◼   ► Still thicker than we would like, it's still bigger,

00:50:48 ◼   ► but imagine if that computing part in the screen part,

00:50:50 ◼   ► again, the computing part is the size of a grain of rice

00:50:53 ◼   ► and the screen is a flappy piece of paper that sips power.

00:50:56 ◼   ► Suddenly, your possibilities for what that watch

00:50:57 ◼   ► could look like are no longer led by the technology.

00:51:02 ◼   ► So with glasses, I have to think that the end game

00:51:04 ◼   ► is you get whatever glasses you want

00:51:05 ◼   ► and you apply to them some very small thing

00:51:08 ◼   ► that projects something into your eyeball

00:51:10 ◼   ► that lets you see stuff that communicates wirelessly

00:51:12 ◼   ► with something else that drives them, right?

00:51:14 ◼   ► That's the end game.

00:51:16 ◼   ► In between there are all the phases

00:51:18 ◼   ► where it looks large and clunky,

00:51:20 ◼   ► where you either have to wear your prescription glasses

00:51:23 ◼   ► inside it or they're incorporated with it

00:51:24 ◼   ► or it attaches awkwardly to your existing glasses.

00:51:27 ◼   ► I think you could even start it as an accessory

00:51:30 ◼   ► to regular glasses as long as you can find a way

00:51:32 ◼   ► to aim into someone's eyeball,

00:51:33 ◼   ► but all the initial products are not like that.

00:51:35 ◼   ► All the initial products are,

00:51:37 ◼   ► it's a thing right next to your eye

00:51:39 ◼   ► that incorporates glasses

00:51:41 ◼   ► and either you can wear glasses with it or you can't.

00:51:44 ◼   ► And that means it will necessarily be

00:51:45 ◼   ► much more constrained than the watch.

00:51:46 ◼   ► Lots of people won't even be able to use it.

00:51:48 ◼   ► It will be for early adopters only.

00:51:50 ◼   ► But you're hoping that the people who can use it

00:51:53 ◼   ► recognize the value in it and rant and rave about it

00:51:56 ◼   ► and can't wait for it to be more widely available.

00:52:00 ◼   ► And obviously Apple's not dumb.

00:52:02 ◼   ► Like they know all these things about that.

00:52:04 ◼   ► I bet there are some people who work at Apple

00:52:06 ◼   ► who wear glasses, I'm just guessing.

00:52:08 ◼   ► It's not as if this is an unknown thing.

00:52:11 ◼   ► This is again, one of the things that they have to tackle

00:52:14 ◼   ► in terms of making this a product

00:52:16 ◼   ► that they can sell in any form.

00:52:18 ◼   ► What is their answer to that?

00:52:19 ◼   ► There are lots of possible answers,

00:52:22 ◼   ► but like the most recent rumor about this project

00:52:26 ◼   ► being put on the shelf at Apple could have been,

00:52:29 ◼   ► we just can't make anything of this yet.

00:52:32 ◼   ► The technology's not there, there is no combination of things that makes a product that is remotely viable.

00:52:38 ◼   ► So let's revisit this in a few years.

00:52:40 ◼   ► And this rumor could be, "Hey, guess what? Apple's revisiting it."

00:52:42 ◼   ► I'm mostly content with that.

00:52:45 ◼   ► I just want to make sure that they're pursuing it because it seems like the potential upside is very big.

00:52:49 ◼   ► And you'd rather see Apple doing this research, building ARKit into a powerful, robust, stable, feature-rich framework.

00:52:59 ◼   ► you know, building devices with powerful GPUs to do AR and VR.

00:53:04 ◼   ► Keep doing that so that if and when the hardware comes out

00:53:08 ◼   ► of your labs and you get something that's even remotely

00:53:10 ◼   ► viable for some subset of the population,

00:53:12 ◼   ► all the software pieces are in place.

00:53:14 ◼   ► Because I think-- and this is the reason

00:53:16 ◼   ► this isn't a lot of science fiction movies or whatever--

00:53:18 ◼   ► the potential upsides are really big.

00:53:20 ◼   ► Being able to just look around and have information

00:53:23 ◼   ► in your field of vision when you need it overlaid

00:53:27 ◼   ► onto the real world is potentially incredibly powerful.

00:53:30 ◼   ► Yes, it can be dystopian and stupid and, you know,

00:53:33 ◼   ► also just sci-fi, I always take advantage of that,

00:53:34 ◼   ► but there are plenty of completely benign,

00:53:36 ◼   ► really awesome applications that are just waiting

00:53:40 ◼   ► for the hardware, essentially.

00:53:42 ◼   ► Even if it's something to put someone's name

00:53:44 ◼   ► next to their face.

00:53:45 ◼   ► If you work in a big office like I do

00:53:46 ◼   ► and you're terrible with names like me,

00:53:48 ◼   ► that's a killer feature right there.

00:53:50 ◼   ► When I look at somebody that does face recognition

00:53:51 ◼   ► and puts their name underneath it

00:53:52 ◼   ► because I always forget people's names.

00:53:55 ◼   ► That's not an exciting feature.

00:53:56 ◼   ► It does not require massive computing hardware.

00:53:58 ◼   ► The application itself that does it involves technology

00:54:01 ◼   ► that existed for many, many years in a very reliable form.

00:54:04 ◼   ► Why don't we have it now?

00:54:05 ◼   ► 'Cause there's no way to get information in your eyeballs

00:54:08 ◼   ► when you look at somebody.

00:54:09 ◼   ► That's the limiting factor, not the reading of faces,

00:54:13 ◼   ► not the looking up of names,

00:54:14 ◼   ► not the constructing a raster image to overlay on something.

00:54:17 ◼   ► It's, if I hold my phone with people,

00:54:20 ◼   ► I look like I'm crazy,

00:54:21 ◼   ► but if I just look at them with my glasses,

00:54:22 ◼   ► everything's fine.

00:54:23 ◼   ► So I hope I live long after season play like this

00:54:25 ◼   ► because I can't remember your name, I'm very sorry.

00:54:28 ◼   ► - It's Casey, we've been doing this show

00:54:31 ◼   ► for almost five years.

00:54:32 ◼   ► - I know, I know almost three Casey's.

00:54:34 ◼   ► We are sponsored this week by Rover,

00:54:38 ◼   ► the nation's largest network of five star pet sitters

00:54:40 ◼   ► and dog walkers.

00:54:41 ◼   ► For $25 off your first booking,

00:54:43 ◼   ► visit rover.com/accidentaltech

00:54:46 ◼   ► and use promo code accidentaltech during checkout.

00:54:49 ◼   ► Rover is the dog people,

00:54:51 ◼   ► they are the nation's largest network

00:54:52 ◼   ► of five star dog sitters and dog walkers.

00:54:55 ◼   ► They are here for you with access to reviewed,

00:54:58 ◼   ► trusted sitters and walkers for every dog owner

00:55:00 ◼   ► and lifestyle.

00:55:01 ◼   ► Your dog deserves the best.

00:55:03 ◼   ► So they only accept 20% of sitters who begin their profiles.

00:55:07 ◼   ► And Rover offers all this in an easy to use iOS

00:55:11 ◼   ► and Android app.

00:55:12 ◼   ► You can search, book, fave, pay, all through their app.

00:55:15 ◼   ► And then you can even receive adorable photos.

00:55:17 ◼   ► You can get maps of where your dog walker walked their dog.

00:55:20 ◼   ► You can even know where they did their business.

00:55:22 ◼   ► If you wanna know that for some reason,

00:55:23 ◼   ► you can get custom updates.

00:55:24 ◼   ► And you can even meet your dog walker

00:55:26 ◼   ► before you trust your dog with them.

00:55:28 ◼   ► They have free in-person interviews

00:55:30 ◼   ► and home environment visits

00:55:31 ◼   ► so that you can find the perfect match

00:55:33 ◼   ► between sitters, owners, and pets.

00:55:35 ◼   ► When you're shopping or after you've done them,

00:55:38 ◼   ► you can have verified reviews,

00:55:40 ◼   ► you can write reviews, you can read reviews,

00:55:42 ◼   ► all through their app.

00:55:44 ◼   ► You can browse photos of the sitter's home,

00:55:46 ◼   ► browse their previous pets, previous stays.

00:55:49 ◼   ► All the bookings from Rover are backed by insurance,

00:55:52 ◼   ► a reservation guarantee, and 24/7 access

00:55:54 ◼   ► to pet care professionals.

00:55:57 ◼   ► So see for yourself.

00:55:58 ◼   ► For $25 off your first booking,

00:56:00 ◼   ► visit rover.com/accidentaltech

00:56:04 ◼   ► and use promo code accidentaltech during checkout.

00:56:07 ◼   ► That's rover.com/accidentaltech

00:56:09 ◼   ► with promo code accidentaltech

00:56:11 ◼   ► for $25 off your first booking.

00:56:13 ◼   ► Thank you so much to Rover for sponsoring our show.

00:56:16 ◼   ► Marco, you just released a couple of updates

00:56:21 ◼   ► for Overcast, most particularly your GDPR update,

00:56:25 ◼   ► and had a post about that.

00:56:27 ◼   ► Would you like to summarize anything about this update

00:56:31 ◼   ► before I ask you a couple questions about it?

00:56:34 ◼   ► - Yeah, basically this was my privacy update for Overcast.

00:56:37 ◼   ► It bundled in a few bug fixes,

00:56:40 ◼   ► like one or two very minor enhancements,

00:56:42 ◼   ► and the most visible change for it

00:56:46 ◼   ► is that on first launch, you are now asked

00:56:51 ◼   ► If you have an email address as your login to Overcast,

00:56:55 ◼   ► you're asked if you want to convert it to anonymous

00:56:56 ◼   ► and with that option being pretty well promoted

00:56:59 ◼   ► in that screen.

00:57:01 ◼   ► And also new registrations,

00:57:03 ◼   ► when you start the app like Clean,

00:57:05 ◼   ► you are prompted to create an anonymous account

00:57:08 ◼   ► as like the primary encouraged action

00:57:10 ◼   ► and like kind of buried at the bottom

00:57:12 ◼   ► is you can log in with email if you want to.

00:57:14 ◼   ► And there is no longer even a way

00:57:16 ◼   ► to create an email-based account from scratch in the app

00:57:20 ◼   ► like any more, you have to create an anonymous account first

00:57:23 ◼   ► and add an email later if that's what you want.

00:57:25 ◼   ► So all of this was--

00:57:25 ◼   ► - Can you describe what an anonymous account is?

00:57:28 ◼   ► - Yeah, and this has been very hard to properly communicate

00:57:33 ◼   ► to people in the interface and on Twitter and everything.

00:57:38 ◼   ► So basically, all Overcast users have a sync account

00:57:43 ◼   ► on the server.

00:57:45 ◼   ► Overcast is server-based, it uses the servers

00:57:47 ◼   ► to crawl the feeds, to sync things, for the app to know

00:57:52 ◼   ► whether you have new episodes and everything.

00:57:54 ◼   ► So all overcast usage is being based on having

00:57:59 ◼   ► some kind of account on the server.

00:58:00 ◼   ► So basically, I have two different types.

00:58:05 ◼   ► You can have an email and a password,

00:58:07 ◼   ► so you can just log into a regular login form.

00:58:09 ◼   ► Type in your email, type in your password.

00:58:11 ◼   ► You can have a forgot password, you can change your email,

00:58:13 ◼   ► you can change your password, all the regular user stuff.

00:58:16 ◼   ► That's one way you can do it.

00:58:18 ◼   ► The other option is the server just generates

00:58:22 ◼   ► a random number for you and gives it to your app

00:58:25 ◼   ► as the login token and there's no email and no password.

00:58:29 ◼   ► Those are anonymous accounts.

00:58:30 ◼   ► So basically, those columns in the database are null

00:58:33 ◼   ► which makes MySQL keying easy.

00:58:37 ◼   ► So you have a null email, null password.

00:58:40 ◼   ► You can't log into the website because there is no,

00:58:44 ◼   ► because that token is not available

00:58:45 ◼   ► to the website right now.

00:58:47 ◼   ► And the devices can maintain your account

00:58:51 ◼   ► through multiple device logins

00:58:53 ◼   ► or through like a restore or an upgrade of your main device

00:58:57 ◼   ► because it stores that login token in iCloud.

00:59:01 ◼   ► So it totally bypasses the need for an email and password.

00:59:06 ◼   ► It's still using an account

00:59:09 ◼   ► and you still get a login token.

00:59:11 ◼   ► And if you lose that login token,

00:59:14 ◼   ► you have no way to access the account.

00:59:16 ◼   ► But in actual real world usage,

00:59:19 ◼   ► most people use that type of account just fine.

00:59:23 ◼   ► Like even before I did this update,

00:59:25 ◼   ► about a third of Overcast accounts were this anonymous kind.

00:59:30 ◼   ► And I'd never hear from people saying,

00:59:32 ◼   ► "I lost my account, it locked me out."

00:59:35 ◼   ► I'd never hear from that.

00:59:36 ◼   ► So this seems to be just fine

00:59:38 ◼   ► for pretty much everybody who uses it.

00:59:40 ◼   ► So now that is the default,

00:59:41 ◼   ► and that is the encouraged and official way to do things.

00:59:45 ◼   ► And this is all in the service of getting me out

00:59:49 ◼   ► of the business of having this many email addresses.

00:59:51 ◼   ► Like, I posted, when I made this big blog post,

00:59:56 ◼   ► I mentioned how, I think it was 68% starting,

01:00:00 ◼   ► about 68% of overcast accounts so far were email accounts.

01:00:04 ◼   ► And I would like to drop that as far as possible.

01:00:06 ◼   ► Now I don't know what's realistic to expect here.

01:00:09 ◼   ► I have a few options if I wanna kind of boost things,

01:00:11 ◼   ► but none of them are very pleasant.

01:00:13 ◼   ► You know, what I want is for at least new accounts

01:00:17 ◼   ► to drop down to very few of them being email-based.

01:00:22 ◼   ► And I did that prompting screen in part for GDPR compliance,

01:00:26 ◼   ► which I actually, it's, one of the problems with GDPR

01:00:30 ◼   ► is that it's a little bit vague on certain points.

01:00:32 ◼   ► And it's mostly a feature, not a bug,

01:00:35 ◼   ► 'cause then people should interpret it pretty conservatively

01:00:38 ◼   ► and be extra cautious about dealing with your private data.

01:00:41 ◼   ► There is some question about whether I even have

01:00:46 ◼   ► qualifying private data and whether I even have

01:00:49 ◼   ► the kind of usage of that data for marketing reasons

01:00:53 ◼   ► that would even require consent,

01:00:55 ◼   ► or explicit consent in this way.

01:00:58 ◼   ► But I'm assuming that I do,

01:01:00 ◼   ► I'm assuming that email addresses count as personal data,

01:01:02 ◼   ► and I'm assuming that just having your email address

01:01:04 ◼   ► requires some kind of consent.

01:01:06 ◼   ► And so therefore, I am making people opt in to

01:01:10 ◼   ► accept the privacy policy to even keep using

01:01:13 ◼   ► their email address in the app.

01:01:15 ◼   ► So I think I'm covered there.

01:01:16 ◼   ► But this is partly about GDPR,

01:01:18 ◼   ► that's kind of what motivated it,

01:01:20 ◼   ► but it's much more about,

01:01:22 ◼   ► I just don't wanna have people's emails.

01:01:24 ◼   ► Like to me, that's a liability.

01:01:25 ◼   ► Like I talked a few months back,

01:01:27 ◼   ► at least on Under the Radar, and I think I did here too,

01:01:30 ◼   ► about how I was trying to come up with a plan to,

01:01:32 ◼   ► you know, similarly to how any like right thinking service

01:01:35 ◼   ► store your password, they store a hash of your password.

01:01:39 ◼   ► In a way that is, hopefully if they use a secure hash,

01:01:43 ◼   ► in a way that makes it impossible or impractical at least

01:01:47 ◼   ► to get your password if somebody steals your database

01:01:50 ◼   ► and gets the hash.

01:01:52 ◼   ► I was investigating for a while,

01:01:55 ◼   ► can I do that with emails too?

01:01:58 ◼   ► And hash the email.

01:02:00 ◼   ► So I don't even have a copy of your email.

01:02:02 ◼   ► And there's a bunch of challenges to doing that,

01:02:05 ◼   ► like just practical challenges of things like

01:02:07 ◼   ► how do you look up an email with a database index

01:02:11 ◼   ► if it's a hash that doesn't have a fixed key

01:02:15 ◼   ► or salt to it, rather.

01:02:17 ◼   ► Like the key would have to be fixed,

01:02:18 ◼   ► but the salt would presumably change with every iteration

01:02:21 ◼   ► with any secure hash if you have problems with that.

01:02:23 ◼   ► So there's lots of different challenges of hashing emails,

01:02:25 ◼   ► and I might tackle them in the future,

01:02:28 ◼   ► but for now I've realized,

01:02:30 ◼   ► why don't I just try to store away fewer emails?

01:02:32 ◼   ► That's step one is like,

01:02:34 ◼   ► me store a lot less personal data to begin with. And then I'll start looking at ways

01:02:38 ◼   ► to maybe erase it completely.

01:02:39 ◼   ► >> It makes a lot of sense. I will probably forever hold on to my email-based account

01:02:45 ◼   ► because I occasionally upload things. And I don't use the website near as much as I

01:02:50 ◼   ► used to since getting AirPods because it's so easy to flip back and forth between my

01:02:56 ◼   ► computer and my phone for what's being piped into my AirPods. But I will probably still

01:03:03 ◼   ► hold onto email addresses and make your life miserable

01:03:04 ◼   ► for as long as I can.

01:03:06 ◼   ► - Well, and so there's a couple other things here.

01:03:08 ◼   ► So you mentioned you want to still upload files.

01:03:12 ◼   ► So right now, the only way to upload files

01:03:14 ◼   ► is on the website, and the only way to log into the website

01:03:17 ◼   ► is with an email address and password.

01:03:19 ◼   ► And I should clarify too, for anybody who wants to,

01:03:22 ◼   ► who's thinking about going and deleting your email

01:03:24 ◼   ► from Overcast, you can always switch both ways.

01:03:27 ◼   ► You can add an email to an account,

01:03:29 ◼   ► and you can remove an email from an account

01:03:31 ◼   ► at any time right from the app in the settings screen.

01:03:33 ◼   ► So if you wanna try anonymous for a while

01:03:36 ◼   ► and see if you ever actually need to log in with email,

01:03:38 ◼   ► you can do that, it's no problem.

01:03:40 ◼   ► And then you can always change your mind later.

01:03:41 ◼   ► So please, I don't want your email, please lose it.

01:03:44 ◼   ► So the other thing is right now you can't log into

01:03:48 ◼   ► the website through any other method besides

01:03:50 ◼   ► email and password, but I can change that.

01:03:52 ◼   ► And the reason why I'm able to encourage people

01:03:56 ◼   ► to use all these anonymous accounts at all

01:04:00 ◼   ► is because almost nobody uses the website.

01:04:02 ◼   ► It's very infrequently used,

01:04:04 ◼   ► it's used by a very small percentage of logged in users.

01:04:07 ◼   ► You can use the website without being logged in

01:04:09 ◼   ► for things like looking up a share link,

01:04:10 ◼   ► looking up a podcast, viewing share links, stuff like that.

01:04:13 ◼   ► You don't have to be logged in for that.

01:04:15 ◼   ► You only have to be logged in to basically have

01:04:17 ◼   ► synced playback from your account.

01:04:20 ◼   ► And the website is terrible,

01:04:21 ◼   ► it has been terrible since day one.

01:04:23 ◼   ► And there's just, one of the reasons it's terrible

01:04:26 ◼   ► and that I haven't really fixed it up

01:04:27 ◼   ► or added features to it, is that almost nobody uses it.

01:04:30 ◼   ► And there's a small chicken and egg problem there,

01:04:32 ◼   ► but for the most part, there just isn't that much demand

01:04:34 ◼   ► for people to listen to podcasts in their web browsers.

01:04:37 ◼   ► By far, the most listening happens on iPhones.

01:04:40 ◼   ► - The most important feature of the website

01:04:42 ◼   ► is so you can give someone a URL

01:04:43 ◼   ► to listen to a timestamp in a podcast,

01:04:45 ◼   ► and they don't need to have the application.

01:04:46 ◼   ► They can just go to the web and it plays.

01:04:48 ◼   ► That, I feel like, is the main reason

01:04:50 ◼   ► that a website needs to exist.

01:04:51 ◼   ► - Agreed, and that, you don't need a login for that.

01:04:54 ◼   ► Like, you can generate those links on the phone,

01:04:56 ◼   ► then anybody can view them without logging in.

01:04:58 ◼   ► So the only reason to log in is if you wanna play stuff

01:05:02 ◼   ► from your Mac or Windows PC or something like that

01:05:05 ◼   ► in the browser, that also syncs to the same account

01:05:07 ◼   ► you use for the iPhone.

01:05:09 ◼   ► And while there are people who do that,

01:05:11 ◼   ► there's not that many of them.

01:05:12 ◼   ► Relative to the user base,

01:05:13 ◼   ► it's a very, very small percentage that does that.

01:05:16 ◼   ► So for instance, I think CarPlay is more popular than that,

01:05:19 ◼   ► by a lot, actually, possibly by like 10 times.

01:05:22 ◼   ► So it's a very small number of people who use the website.

01:05:25 ◼   ► And file uploads are also, you know,

01:05:27 ◼   ► that's a big feature for some people.

01:05:31 ◼   ► It's not a big feature for a lot of people.

01:05:32 ◼   ► It's only available to paying subscribers,

01:05:34 ◼   ► which is already a fairly small percentage

01:05:37 ◼   ► of the active user base.

01:05:38 ◼   ► And even among them, you know,

01:05:40 ◼   ► not all paying subscribers upload files.

01:05:44 ◼   ► Many of them just subscribe

01:05:45 ◼   ► because they wanna support the app

01:05:46 ◼   ► or 'cause they don't wanna see the ads.

01:05:48 ◼   ► So the number of people who are actually needing

01:05:50 ◼   ► to upload files is fairly small,

01:05:52 ◼   ► and they're also,

01:05:55 ◼   ► Like I can work on ways to allow that either through the iOS app or through other means

01:06:00 ◼   ► or I can make different various ways to log into the website without using an email.

01:06:06 ◼   ► If I can link your account from your phone to the website.

01:06:09 ◼   ► There are ways to do it basically so I'm not totally out of luck.

01:06:12 ◼   ► That was going to be my next question.

01:06:14 ◼   ► Lots of people suggested using CloudKit APIs that let you use, basically let you pull that

01:06:19 ◼   ► token off of iCloud for the people by using a JavaScript API that you can run on your

01:06:24 ◼   ► website that has access to the same information that your iOS application has access to, and

01:06:29 ◼   ► you don't have to handle any of the authentication stuff. They just have to be logged into their

01:06:33 ◼   ► iCloud account. But as far as your website is concerned, it just gets the token from

01:06:37 ◼   ► there and goes through the whole shebang. But that, I mean, that would allow Casey to

01:06:41 ◼   ► go email-less, I suppose. But if so few people use the website, I don't see why you wouldn't

01:06:47 ◼   ► just keep it so that if you want to use the website, you need an email address.

01:06:50 ◼   ► - Yeah, I mean, you're right, that would do it,

01:06:52 ◼   ► and I haven't looked at the CloudKit JS stuff before.

01:06:56 ◼   ► I know it exists.

01:06:57 ◼   ► I know a few people have used it probably,

01:07:00 ◼   ► but I don't know anything about it.

01:07:01 ◼   ► I don't know if it's good, I don't know if it's reliable.

01:07:02 ◼   ► I don't know what it requires from the websites,

01:07:05 ◼   ► but I would like to investigate that.

01:07:08 ◼   ► There's also various things you can do.

01:07:09 ◼   ► Like, I can have the phone send a one-time link

01:07:13 ◼   ► to your email that you can open up in a browser

01:07:16 ◼   ► and have that log you in.

01:07:17 ◼   ► There's stuff like that you can do

01:07:18 ◼   ► that it's not that big of a deal.

01:07:20 ◼   ► So I'm gonna be investigating that kind of thing

01:07:22 ◼   ► in the near future probably,

01:07:24 ◼   ► but it isn't a burning problem right now.

01:07:27 ◼   ► - So I have a question.

01:07:28 ◼   ► One of the things you talked about in your post

01:07:30 ◼   ► is blocking tracking pixels.

01:07:33 ◼   ► And a tracking pixel basically is an image

01:07:36 ◼   ► that is effectively invisible,

01:07:40 ◼   ► but when Overcast or some other client

01:07:43 ◼   ► goes to get that image to display

01:07:45 ◼   ► in like show notes, for example,

01:07:47 ◼   ► That inherently passes some information about that user

01:07:51 ◼   ► to the server that's serving that image.

01:07:54 ◼   ► So it's kind of a back door into getting

01:07:57 ◼   ► a little bit information about users without their consent.

01:08:00 ◼   ► I have heard of tracking pixels,

01:08:02 ◼   ► you know, and I've seen it used plenty of times on the web.

01:08:05 ◼   ► I had no idea that this was a thing

01:08:07 ◼   ► in the show notes for podcasts.

01:08:09 ◼   ► I mean, it makes sense.

01:08:10 ◼   ► I'm not saying it's unreasonable

01:08:12 ◼   ► from a technological perspective,

01:08:13 ◼   ► but I had no idea that that was a thing.

01:08:15 ◼   ► How did you even find out about this?

01:08:18 ◼   ► - Well, you know, I follow the podcast industry news,

01:08:21 ◼   ► and tracking pixels have been a thing

01:08:24 ◼   ► in RSS feeds for a long time.

01:08:26 ◼   ► I think FeedBurner even offered them to the masses,

01:08:29 ◼   ► but there's been various feed hosting

01:08:31 ◼   ► and analytics platforms and packages

01:08:34 ◼   ► that have offered tracking pixels for a while.

01:08:36 ◼   ► The podcast industry,

01:08:39 ◼   ► like I wrote a bit about this in the post,

01:08:40 ◼   ► like the fundamental behavior of a podcast player

01:08:45 ◼   ► that no publisher can break without cutting off

01:08:50 ◼   ► large portions of their audience,

01:08:52 ◼   ► is that they publish in an RSS feed,

01:08:55 ◼   ► in that RSS feed are URLs of audio files.

01:08:58 ◼   ► And the podcast player, at some point,

01:09:01 ◼   ► if you are subscribed in your podcast app,

01:09:04 ◼   ► at some point the podcast app downloads that audio file

01:09:08 ◼   ► that's listed in the RSS feed for the episode

01:09:10 ◼   ► that you are going to listen to.

01:09:12 ◼   ► And then after that, the publisher hears nothing

01:09:15 ◼   ► from the player.

01:09:17 ◼   ► So the kind of information void here is the publisher

01:09:21 ◼   ► of that podcast, all they know is that they served

01:09:25 ◼   ► a copy of this audio file to a person at this IP address

01:09:30 ◼   ► at this time, that's it.

01:09:32 ◼   ► They don't know if you listened to it at all.

01:09:35 ◼   ► If you do, they don't know when you listened to it,

01:09:37 ◼   ► it could have downloaded it onto your phone

01:09:39 ◼   ► and you listened six months later.

01:09:41 ◼   ► They don't know if you listened to the first five seconds

01:09:43 ◼   ► and then deleted it or never went back to it.

01:09:46 ◼   ► They don't know if you skipped the ads,

01:09:48 ◼   ► which a lot of them want to know.

01:09:50 ◼   ► They don't know how far you got.

01:09:51 ◼   ► They don't know if certain segments of the show

01:09:55 ◼   ► are boring to people and they always skip over them,

01:09:57 ◼   ► although really what they wanna know is ads.

01:09:59 ◼   ► But there's also, they wanna know content decisions.

01:10:02 ◼   ► As podcasting becomes a bigger and bigger business,

01:10:06 ◼   ► the big players in the business are people coming from

01:10:10 ◼   ► the big content world from the web, from TV,

01:10:14 ◼   ► from radio, et cetera, and they're used to the kinds

01:10:16 ◼   ► of things they can do on web pages.

01:10:19 ◼   ► If you're running a web publication,

01:10:22 ◼   ► you can track everything about what people are doing

01:10:25 ◼   ► while they read.

01:10:26 ◼   ► You can track how long they spend on the page,

01:10:30 ◼   ► how far they scroll down the page, how quickly they scroll,

01:10:33 ◼   ► whether they're the kind of person who highlights text

01:10:36 ◼   ► as they read or not and what parts they highlight

01:10:37 ◼   ► and whether they click around the page.

01:10:39 ◼   ► you can measure so much.

01:10:41 ◼   ► And then you can embed tracking codes with cookies

01:10:44 ◼   ► and things like that that follow those people

01:10:46 ◼   ► around the web.

01:10:47 ◼   ► So you can say, not only does this person click around

01:10:50 ◼   ► when they read, but this is a person that,

01:10:52 ◼   ► a little while ago, went to Amazon and looked up,

01:10:54 ◼   ► you know, patio chairs, and now they're over on my site

01:10:57 ◼   ► reading about sunglasses and it sounds like they might

01:11:00 ◼   ► be going to the beach.

01:11:00 ◼   ► Like, you can make those kind of correlations

01:11:02 ◼   ► and then later on, the things that your website

01:11:05 ◼   ► tells Facebook about them can then be used to advertise

01:11:08 ◼   ► them an Instagram about the article they read on your site three hours ago. So it's this

01:11:12 ◼   ► whole crazy web of data and also this list of things like they can algorithmically generate

01:11:19 ◼   ► articles, bots can generate articles that they know people will like based on previous

01:11:24 ◼   ► data, they can analyze how those articles perform in real time, they can A/B test different

01:11:29 ◼   ► arrangements of sentences and paragraphs, different types of construction, different

01:11:32 ◼   ► topics and they can A/B test that to generate even more articles that are even more effective

01:11:38 ◼   ► later, and podcast publishers want to bring that kind of world to podcasts. Now, I should

01:11:46 ◼   ► clarify, not all podcast publishers, not even most podcast publishers, a few of the biggest

01:11:53 ◼   ► ones, like the biggest ones that have massive companies, massive budgets, massive listener

01:11:59 ◼   ► counts, big podcasting, basically, they want more data so they can sell more accurate ads,

01:12:07 ◼   ► targeted ads for higher rates to big brand advertisers like Coca Cola who want that kind

01:12:11 ◼   ► of data. That's what they want. Nobody like us wants this. And oh, and also, those, you

01:12:18 ◼   ► know, the big publishers want to be able to make content decisions based on that kind

01:12:24 ◼   ► of data. So they want to know like, oh, if we structure the intro this way, and if we

01:12:29 ◼   ► do this segment before this segment, then listenership drops 4%. But if we rearrange

01:12:35 ◼   ► them then the data shows that this is better this way because people will hang on two percent

01:12:40 ◼   ► longer time or something like that. And what that leads to is, in my opinion, what the

01:12:47 ◼   ► web has now, which is a lot of spam, a lot of garbage content, a lot of micromanaging

01:12:53 ◼   ► of creative content and creative people and consumption of that content by data people,

01:13:00 ◼   ► a huge amount of privacy invasion and tracking

01:13:04 ◼   ► that is creepy and that people don't want or like

01:13:07 ◼   ► or even know about.

01:13:08 ◼   ► Just kind of a general, kind of cutthroat,

01:13:13 ◼   ► bargain basement, penny scraping ad market,

01:13:18 ◼   ► that right now, podcasting has none of these things,

01:13:21 ◼   ► and podcasting is awesome right now.

01:13:24 ◼   ► And we've gone like a decade

01:13:25 ◼   ► without having any of these things.

01:13:26 ◼   ► So I don't know why anybody wants this.

01:13:29 ◼   ► I know why they want it, but I think they're misguided

01:13:31 ◼   ► and wrong.

01:13:32 ◼   ► (laughs)

01:13:33 ◼   ► So, because the big publishers want this,

01:13:37 ◼   ► and because podcasting is hot,

01:13:39 ◼   ► and there's a lot of money being made here,

01:13:41 ◼   ► both the big publishers want it,

01:13:44 ◼   ► and also there's tons of ad tech companies

01:13:47 ◼   ► trying to break into podcasting.

01:13:50 ◼   ► Basically, they smell money, and they're like,

01:13:52 ◼   ► "Oh, we'll use the tools we have

01:13:54 ◼   ► "to expand into this market."

01:13:55 ◼   ► So the tools that ad tech has are tracking,

01:13:59 ◼   ► A/B testing, stuff like that.

01:14:01 ◼   ► This is why a lot of podcasts now serve you local ads.

01:14:04 ◼   ► It's just another part of this movement

01:14:06 ◼   ► where they literally inject ads into the podcast

01:14:10 ◼   ► at the moment you download it

01:14:12 ◼   ► that are tailored to your IP address

01:14:14 ◼   ► and anything else they know about you from that.

01:14:16 ◼   ► And ad tech companies are selling

01:14:17 ◼   ► all sorts of wonderful solutions to podcast publishers

01:14:20 ◼   ► saying we can solve your data problem.

01:14:23 ◼   ► we can track people past the download

01:14:26 ◼   ► with our proprietary technology.

01:14:29 ◼   ► And most of it is total BS.

01:14:31 ◼   ► Most of it is just totally like

01:14:33 ◼   ► they are not really knowing anything here,

01:14:35 ◼   ► they're not really getting any data,

01:14:36 ◼   ► or they're getting data from very few people.

01:14:38 ◼   ► But the way, so I'm always on the lookout for,

01:14:41 ◼   ► whenever any ad tech company says,

01:14:42 ◼   ► "We've solved podcast data, we can tell you more

01:14:45 ◼   ► "about where your customers are coming from,

01:14:47 ◼   ► "how far they're listening and everything,"

01:14:49 ◼   ► it all boils down to a few very small things they can do.

01:14:52 ◼   ► Number one, they can embed images in the feed,

01:14:56 ◼   ► they can embed tracking pixels,

01:14:58 ◼   ► and they can assume that if somebody downloads the podcast

01:15:01 ◼   ► and then the tracking pixel shows that they got,

01:15:04 ◼   ► they can assume that person is playing the episode

01:15:07 ◼   ► and has viewed the show notes.

01:15:08 ◼   ► And then they can maybe extrapolate from that

01:15:10 ◼   ► what percentage people are viewing that or whatever,

01:15:11 ◼   ► and that's fine.

01:15:13 ◼   ► And number two, they can try to slow stream the file

01:15:17 ◼   ► to you, basically.

01:15:18 ◼   ► So to try to measure how far you listen,

01:15:21 ◼   ► instead of sending the file as fast as you can download it,

01:15:24 ◼   ► if they can tell that you're streaming it,

01:15:26 ◼   ► whether you're in a web browser or an app they control

01:15:28 ◼   ► or if they can just kind of figure through heuristics

01:15:31 ◼   ► that you might be streaming instead of downloading

01:15:32 ◼   ► for some other reason, then they will serve it to you

01:15:35 ◼   ► like just a little bit ahead of the play head

01:15:38 ◼   ► so that if you cut off the stream after listening

01:15:40 ◼   ► for five seconds, it hasn't served you much more than that

01:15:43 ◼   ► so they know how much they served you

01:15:45 ◼   ► so they can tell how far you listened.

01:15:47 ◼   ► That's basically every podcast ad tech thing.

01:15:49 ◼   ► It's like dynamic ad insertion, tracking pixels in the body,

01:15:54 ◼   ► and slow streaming files.

01:15:55 ◼   ► That's about the extent of it.

01:15:58 ◼   ► And again, there's lots of efforts to change this.

01:16:01 ◼   ► I don't know how that's gonna ever get off the ground,

01:16:03 ◼   ► but it's fine.

01:16:05 ◼   ► I should also point out, by the way,

01:16:07 ◼   ► that a few months ago, Apple launched podcast analytics.

01:16:11 ◼   ► For forever now, the podcasters have been begging Apple

01:16:15 ◼   ► to give them more data,

01:16:17 ◼   ► because Apple is the biggest podcast player out there.

01:16:20 ◼   ► And it's, you know, for most general audience podcasts,

01:16:22 ◼   ► Apple Podcasts is something like 60 or 70% of their audience.

01:16:25 ◼   ► So if you have data, but you don't have data

01:16:28 ◼   ► from Apple Podcasts, your data is not that useful.

01:16:31 ◼   ► Apple actually gave people data.

01:16:33 ◼   ► They didn't give like personal data,

01:16:36 ◼   ► but now as a podcaster, ever since I think about November

01:16:39 ◼   ► or so, you can log into the Apple Podcast back end,

01:16:43 ◼   ► and you can see like what percentage of people listen,

01:16:46 ◼   ► and how far into your show.

01:16:48 ◼   ► And you can see what segments they skip.

01:16:50 ◼   ► Like it's funny, you can look at the graph of an episode

01:16:52 ◼   ► and you can see the ad breaks.

01:16:53 ◼   ► 'Cause you can see there's like a small drop off

01:16:54 ◼   ► for the ad breaks.

01:16:55 ◼   ► And there's like a slow curve or a slow slope down

01:17:00 ◼   ► as you get to the end of the episode

01:17:02 ◼   ► where you can tell people are like,

01:17:04 ◼   ► not everybody finishes the episode, of course, right?

01:17:07 ◼   ► But the funny thing is we've had this since like October,

01:17:09 ◼   ► November, December, something like that.

01:17:11 ◼   ► And that basically told us everything that podcasters

01:17:15 ◼   ► say they wanna know.

01:17:16 ◼   ► It didn't give any personal info,

01:17:17 ◼   ► which is what they really want,

01:17:19 ◼   ► but it did say, you know what, it turns out,

01:17:22 ◼   ► most people who download it listen to it.

01:17:25 ◼   ► Most people who listen to it listen to the end

01:17:28 ◼   ► and don't skip the ads.

01:17:31 ◼   ► That's about all we needed to know.

01:17:33 ◼   ► Which, guess what, we already kinda knew that.

01:17:35 ◼   ► We already kinda thought that,

01:17:36 ◼   ► because our advertisers use things like special URLs

01:17:40 ◼   ► and coupon codes and everything,

01:17:42 ◼   ► and that's how they can gauge roughly

01:17:44 ◼   ► how many people are hearing their ads

01:17:45 ◼   ► and responding to them.

01:17:46 ◼   ► That's why podcasts have repeat advertisers,

01:17:49 ◼   ► because they can measure these things

01:17:51 ◼   ► in the old-fashioned way,

01:17:53 ◼   ► and they don't need all this tracking data.

01:17:55 ◼   ► No one needs all that.

01:17:57 ◼   ► Anyway, all this is a long-winded way of saying,

01:17:59 ◼   ► which I'm very good at, a long-winded way of saying

01:18:02 ◼   ► that the podcast industry is trying very hard

01:18:04 ◼   ► to get more data about people,

01:18:07 ◼   ► and I am interested in supporting none of that.

01:18:10 ◼   ► I would like to keep giving them the exact data

01:18:12 ◼   ► they have gotten forever,

01:18:13 ◼   ► which is when you download the MP3 of the episode,

01:18:18 ◼   ► they, by the nature of a download, get your IP address,

01:18:21 ◼   ► and they get a user-agent string

01:18:22 ◼   ► that says they're using overcast.

01:18:24 ◼   ► And that's all I wanna tell them.

01:18:26 ◼   ► That is the minimum.

01:18:28 ◼   ► I mean, technically, I could remove the user-agent string,

01:18:30 ◼   ► but they're not really using that for analytics purposes,

01:18:32 ◼   ► anyway, they're using your IP address.

01:18:36 ◼   ► That's, I think that's fine.

01:18:38 ◼   ► I don't think I'm hurting anybody by doing that.

01:18:40 ◼   ► That's how the industry's always worked,

01:18:42 ◼   ► I'm just trying to prevent new things

01:18:44 ◼   ► from invading our privacy in weird ways

01:18:46 ◼   ► that we didn't consider.

01:18:47 ◼   ► So, in Overcast 4.2, I blocked tracking pixels.

01:18:51 ◼   ► And the way I do that is by blocking image loads

01:18:54 ◼   ► from the UI WebView and replacing them

01:18:56 ◼   ► with placeholder rectangles that if you want to see

01:18:59 ◼   ► the image, you can tap the placeholder rectangle

01:19:01 ◼   ► and it will load.

01:19:03 ◼   ► Most people don't look at the show notes to begin with,

01:19:06 ◼   ► and most people who do look at the show notes,

01:19:08 ◼   ► most show notes don't even have images in them

01:19:09 ◼   ► that are of legitimate content use,

01:19:12 ◼   ► so it isn't that big of a problem for the consumer.

01:19:16 ◼   ► And for the ad tech people,

01:19:17 ◼   ► they have two tools at their disposal,

01:19:19 ◼   ► and I just disabled one of them for overcast users.

01:19:22 ◼   ► - So is there an API within WKWebView or whatever

01:19:26 ◼   ► that allows, that calls you specifically for images,

01:19:29 ◼   ► or are you doing some sort of more advanced technique

01:19:32 ◼   ► to intercept these things?

01:19:34 ◼   ► - I'm doing an advanced technique.

01:19:36 ◼   ► So I'm using UIWebView, not WKWebView,

01:19:39 ◼   ► and this is partly for historical reasons.

01:19:41 ◼   ► It's mostly because when WKWebView came out,

01:19:44 ◼   ► I couldn't find a way to nicely make it use

01:19:48 ◼   ► my custom fonts from my app bundle.

01:19:50 ◼   ► And there probably are ways to do that now

01:19:52 ◼   ► that I just didn't find at the time,

01:19:54 ◼   ► but it was more like, you know,

01:19:55 ◼   ► I'd already written all this code with WebView,

01:19:57 ◼   ► and this was not performance-sensitive code,

01:19:59 ◼   ► so it was totally fine.

01:20:01 ◼   ► The other thing is I'm pretty sure

01:20:02 ◼   ► the way I'm doing this actually wouldn't work

01:20:03 ◼   ► in WKWebView.

01:20:04 ◼   ► So the way I'm doing it now is,

01:20:07 ◼   ► So on the server side, ever since Overcast 1.0,

01:20:11 ◼   ► I have run an HTML filter on the body HTML

01:20:15 ◼   ► of podcast episodes called HTMLaud, L-A-W-E-D.

01:20:21 ◼   ► It's been this PHP HTML filtering library

01:20:27 ◼   ► that's been around for a long time,

01:20:28 ◼   ► and it was pretty well regarded forever ago

01:20:30 ◼   ► when I last researched these things.

01:20:32 ◼   ► I'm running that on the HTML,

01:20:33 ◼   ► and there have been a few problems with that.

01:20:35 ◼   ► One of them is that it broke under image source set tags,

01:20:39 ◼   ► 'cause the version I'm using predates that.

01:20:44 ◼   ► And I can try to update that,

01:20:46 ◼   ► or I can try to swap out another library

01:20:47 ◼   ► for server-side filtering,

01:20:48 ◼   ► but server-side filtering is expensive.

01:20:51 ◼   ► Computationally, it's expensive.

01:20:54 ◼   ► Just filtering the strings that are HTML strings,

01:20:59 ◼   ► I think is kind of a, it's just a cat and mouse game.

01:21:02 ◼   ► Like, there's always gonna be new security vulnerabilities

01:21:04 ◼   ► that can come up for, you know,

01:21:06 ◼   ► oh, we found a way to execute arbitrary JavaScript,

01:21:08 ◼   ► but if you put a line break here

01:21:09 ◼   ► and move this byte over here

01:21:10 ◼   ► and use this weird Unicode character sequence here

01:21:13 ◼   ► and everything, so like, you know,

01:21:15 ◼   ► libraries like HTMLOD are supposed to be really good

01:21:19 ◼   ► about that, but there's always,

01:21:21 ◼   ► you're always playing catch-up,

01:21:23 ◼   ► and it's kinda hard to really guarantee

01:21:27 ◼   ► that just by parsing the strings from some library in PHP

01:21:33 ◼   ► that you're accurately like filtering the HTML

01:21:36 ◼   ► in a safe way that doesn't allow arbitrary code

01:21:38 ◼   ► to execute or things like that.

01:21:41 ◼   ► Fortunately, also around the time I developed Overcast 1.0,

01:21:44 ◼   ► there was this wonderful new browser ability

01:21:47 ◼   ► called Content Security Policy, or CSP.

01:21:51 ◼   ► And Content Security Policy is a header

01:21:52 ◼   ► you can use on web pages that you guys are probably aware of

01:21:55 ◼   ► that basically lets the server-side software say

01:21:59 ◼   ► in the HTTP header, so before there's even any content

01:22:02 ◼   ► in the page, although you can use a meta tag too if you want,

01:22:05 ◼   ► but it lets people say right in the header

01:22:09 ◼   ► what domains to accept things like JavaScript

01:22:12 ◼   ► and images and other embeds from.

01:22:15 ◼   ► And you can lock it down so that even if

01:22:19 ◼   ► somebody gives you cross-site scripting vulnerability

01:22:22 ◼   ► on some kind of content showing on your webpage,

01:22:24 ◼   ► you can block that in all modern browsers

01:22:27 ◼   ► by having a strict enough content security policy

01:22:30 ◼   ► in your headers.

01:22:31 ◼   ► there's not much reason not to do it. The only downsides to it are that you

01:22:36 ◼   ► need to be a little more structured and and

01:22:39 ◼   ► controlled about like where you put javascript and styles and stuff like

01:22:45 ◼   ► that. So like you can't just throw in line javascript and in line css styles

01:22:49 ◼   ► all over your pages like you have to actually put them in you know templates

01:22:53 ◼   ► files or external files that you're declaring correctly in the or things

01:22:56 ◼   ► like that. So like you have to be a little more, you know structured about

01:22:59 ◼   ► write your code, but you should probably do that anyway.

01:23:01 ◼   ► So ever since Overcast 1.0, I've been using

01:23:03 ◼   ► content security policy on Overcast's website,

01:23:06 ◼   ► so that even if I would display unfiltered body text

01:23:10 ◼   ► from people's podcast feeds on overcast.fm,

01:23:15 ◼   ► it shouldn't actually be dangerous.

01:23:16 ◼   ► Now, I don't do that, just as a feature,

01:23:19 ◼   ► I just don't display body text on the page,

01:23:21 ◼   ► but I figured, in case I ever want to,

01:23:23 ◼   ► or just as a safety measure, I have no reason

01:23:25 ◼   ► not to support this, so I do.

01:23:27 ◼   ► Although, unlike the iOS app situation on the web, it's less of a secure thing because

01:23:34 ◼   ► you're relying on the browser to honor that thing, but on the iPhone app, you know what

01:23:39 ◼   ► the browser's going to be, you know it actually will honor your content security policy.

01:23:43 ◼   ► That's true.

01:23:44 ◼   ► And also, you know, content security policy is not new anymore.

01:23:46 ◼   ► It was new in 2014 when I was writing all this stuff.

01:23:49 ◼   ► It's not new in 2018.

01:23:51 ◼   ► So now, I think with a web browser, you should still be very secure in things like, you know,

01:23:57 ◼   ► and escaping HTML stuff and stuff like that.

01:24:01 ◼   ► But I think now, CSP will cover you pretty effectively

01:24:05 ◼   ► in the vast majority of modern web browsing usage,

01:24:08 ◼   ► if you screw up.

01:24:09 ◼   ► But you still shouldn't screw up.

01:24:10 ◼   ► - What about users with WebTV 1.0?

01:24:11 ◼   ► - Right, they can't see anything on my site anyway.

01:24:15 ◼   ► So in fact, doesn't modern HTTPS stuff

01:24:19 ◼   ► not even work well at all?

01:24:21 ◼   ► - Yeah, I was running Netscape 3 the other day

01:24:23 ◼   ► in emulation and yeah, SSL is a problem.

01:24:27 ◼   ► - Yeah, anyway, so what I'm doing on the iOS app

01:24:31 ◼   ► is I'm actually using content security policy in the app

01:24:35 ◼   ► by using NSURL protocol to serve the show notes.

01:24:41 ◼   ► It's almost like running a local web server

01:24:44 ◼   ► but without the overhead of opening a port

01:24:46 ◼   ► and having it to go to localhost colon 8075 or whatever.

01:24:50 ◼   ► So it is using the part of the Cocoa URL loading system

01:24:54 ◼   ► that is kind of designed for you to hook in

01:24:56 ◼   ► and make custom URL schemes.

01:24:57 ◼   ► So I define a custom overcast local URL

01:25:00 ◼   ► that's responded to by this app library that's there.

01:25:04 ◼   ► That serves the show notes,

01:25:06 ◼   ► and with it it serves the CSP header,

01:25:09 ◼   ► and the CSP header restricts images and everything,

01:25:12 ◼   ► JavaScript, everything, to only its known resources.

01:25:16 ◼   ► And then even when you proxy, even when you tap the image

01:25:21 ◼   ► to load it, it is still one of those URLs.

01:25:25 ◼   ► It doesn't modify the CSP, it just loads the image

01:25:28 ◼   ► like in the back end of the code from the server

01:25:31 ◼   ► and then shoves it in there and displays it.

01:25:33 ◼   ► So it's basically using web browser security technology,

01:25:38 ◼   ► which is pretty well tested and pretty well supported

01:25:42 ◼   ► to restrict what can be done in my show notes.

01:25:46 ◼   ► And my plan is once this version has large,

01:25:50 ◼   ► you know, widespread support,

01:25:52 ◼   ► my plan is to disable HTML LOD,

01:25:55 ◼   ► X-T-M-LOD, however that's pronounced,

01:25:56 ◼   ► disable that on the server side

01:25:57 ◼   ► because it's breaking all the German's podcast CMSs

01:26:01 ◼   ► that use source sets and it's been breaking it

01:26:04 ◼   ► for a long time and they're very upset with me over that

01:26:06 ◼   ► and it's just, you know, it's gonna,

01:26:08 ◼   ► I think it's gonna save me a lot of computation time

01:26:10 ◼   ► on the servers too.

01:26:12 ◼   ► - So NSURL protocol, I'm just curious about this

01:26:16 ◼   ► 'cause I've not used it.

01:26:17 ◼   ► So you're kind of, you're not intercepting the call

01:26:22 ◼   ► as much as you are responding to it.

01:26:25 ◼   ► Can you tell me a little bit more

01:26:26 ◼   ► and summarize what this is doing?

01:26:28 ◼   ► - Yeah, sure.

01:26:29 ◼   ► So basically the way NSURL protocol works

01:26:30 ◼   ► is you can define a class that is a subclass

01:26:35 ◼   ► of NSURL protocol and you can say,

01:26:37 ◼   ► my URL scheme is say, you know, KCLIS, colon.

01:26:42 ◼   ► And so, you can have your web view load

01:26:46 ◼   ► kclist colon slash slash whatever,

01:26:49 ◼   ► and then instead of it trying to load that off the internet

01:26:52 ◼   ► or the system, it will first check your registered

01:26:55 ◼   ► NSURL protocol to say, hey, we have a URL

01:26:58 ◼   ► that begins with kclist colon, can you handle this?

01:27:00 ◼   ► And you can say, yes I can, and then it'll come back

01:27:03 ◼   ► to you later and say, all right, we got a request

01:27:07 ◼   ► for this URL, let us know when you have the data.

01:27:11 ◼   ► and give it to us.

01:27:13 ◼   ► And then so your class can kick off whatever it needs

01:27:15 ◼   ► to kick off, or it can return it synchronously,

01:27:17 ◼   ► and just when it has data, it tells the system

01:27:19 ◼   ► it has the data, and the WebView loads it,

01:27:21 ◼   ► as if you were loading an internet URL.

01:27:24 ◼   ► So it's a wonderful system.

01:27:26 ◼   ► I use it with Instapaper for a few different things too.

01:27:29 ◼   ► Put it back when I was doing a lot more WebView hacking.

01:27:31 ◼   ► It's a wonderful system, and so it lets you, you know,

01:27:34 ◼   ► basically do all the benefits of having a local web server

01:27:38 ◼   ► in an app without actually running one.

01:27:41 ◼   ► - So then when you get one of these calls for show notes,

01:27:45 ◼   ► what is actually happening under the hood?

01:27:46 ◼   ► You're making a call to your servers

01:27:48 ◼   ► to get the slightly sanitized version or no?

01:27:51 ◼   ► - The app already has the body text downloaded

01:27:53 ◼   ► from the server, it's part of the sync payload.

01:27:55 ◼   ► So when you display the web view,

01:27:59 ◼   ► I'm literally loading a URL that's like

01:28:02 ◼   ► ocinfo colon slash slash bunch of stuff

01:28:05 ◼   ► and then that library in the app is saying,

01:28:08 ◼   ► "Oh, you want the show notes for episode ID whatever,

01:28:11 ◼   ► "and here's that HTML, and here's also a CSP header

01:28:15 ◼   ► "to make sure it doesn't do anything crazy."

01:28:18 ◼   ► So in theory, I don't have to be filtering the HTML at all.

01:28:22 ◼   ► - That's fascinating, 'cause I had no idea

01:28:25 ◼   ► how you were doing this, and I thought you were doing

01:28:27 ◼   ► some sort of ridiculous parsing of the HTML,

01:28:31 ◼   ► trying to figure out what is a tracking pixel,

01:28:33 ◼   ► what is an image even, and what's not.

01:28:36 ◼   ► I had a feeling that was not the approach you took,

01:28:37 ◼   ► but I didn't know what the approach was.

01:28:39 ◼   ► That was very interesting for me, if nobody else.

01:28:41 ◼   ► So thank you.

01:28:42 ◼   ► - I'm also doing, there's one other aspect of it

01:28:44 ◼   ► that I think is also useful.

01:28:47 ◼   ► I am doing a very small amount of filtering,

01:28:50 ◼   ► but I'm doing it client-side in JavaScript.

01:28:54 ◼   ► I'm having the JavaScript, there's, I guess,

01:28:57 ◼   ► I mean, recently, in absolute terms,

01:29:00 ◼   ► but in relative terms, it's probably been like

01:29:04 ◼   ► five years old or something, but like,

01:29:06 ◼   ► In the recent era, JavaScript got the ability,

01:29:10 ◼   ► without using third-party libraries,

01:29:12 ◼   ► to import a DOM from an HTML string

01:29:16 ◼   ► and let you work on it as a DOM node,

01:29:18 ◼   ► or as a DOM document.

01:29:20 ◼   ► And so what I'm doing now also is,

01:29:22 ◼   ► there's a few things that I wanna filter out,

01:29:24 ◼   ► things like, I didn't want people to do meta-refreshes

01:29:27 ◼   ► that could somehow get past me and stuff like that.

01:29:29 ◼   ► So I passed, as part of the show notes HTML page

01:29:36 ◼   ► showing. I don't just insert the hostile body HTML from the publisher into the template

01:29:47 ◼   ► and serve it. I pass it to the JavaScript as a string that it then interprets that as

01:29:55 ◼   ► a DOM and filters it using JavaScript for the handful of things that I was a little

01:30:02 ◼   ► a little bit afraid of, so things like meta tags.

01:30:04 ◼   ► And that also does that, it also uses that DOM

01:30:07 ◼   ► for image replacements, rather than just showing

01:30:11 ◼   ► a broken image, which would happen if I pasted

01:30:13 ◼   ► in the full image and the CSP blocked it,

01:30:16 ◼   ► it replaces it with the placeholder and lets me do that.

01:30:19 ◼   ► And I do all that in JavaScript because that way,

01:30:20 ◼   ► like, I don't have to worry what if my string parsing

01:30:24 ◼   ► library doesn't parse HTML in quite the same way

01:30:28 ◼   ► as WebKit, you know, I don't have to worry.

01:30:31 ◼   ► when you're using JavaScript,

01:30:32 ◼   ► it is parsing it the same way.

01:30:34 ◼   ► So it's, again, just kind of like shifting the security

01:30:38 ◼   ► onto the well-tested, built-in functionality of WebKit

01:30:42 ◼   ► that if there's ever some kind of weird variance,

01:30:48 ◼   ► some kind of weird security hole,

01:30:49 ◼   ► that's gonna get fixed before I even know about it.

01:30:52 ◼   ► And it isn't my problem that I have to go update

01:30:55 ◼   ► some HTML parsing library.

01:30:58 ◼   ► - That's super clever, I dig it.

01:31:00 ◼   ► Alrighty, let's do some Ask ATP.

01:31:02 ◼   ► And Alex Faber writes, "You've talked about Worky Work in the past and using Macs at Work.

01:31:07 ◼   ► I'm wondering how you guys handle Private Apple IDs and Work Apple IDs.

01:31:10 ◼   ► How do you guys, particularly looking at Casey and Jon here, deal with this?

01:31:14 ◼   ► Do you guys keep working private strictly split or do you have a work private watch,

01:31:18 ◼   ► for example, or do you just not care?"

01:31:20 ◼   ► Jon, would you like to start?

01:31:22 ◼   ► Jon Moffitt I'd like to start by saying that Worky Work

01:31:24 ◼   ► is not a valid companion to Jobby Job.

01:31:26 ◼   ► I know it seems like it should by parallel construction, but no.

01:31:29 ◼   ► Jobby job, yes.

01:31:31 ◼   ► Worky work, no.

01:31:32 ◼   ► I agree.

01:31:33 ◼   ► Jobby job or not.

01:31:34 ◼   ► So as we all know if we use Macs or other Apple devices, they're not really great at

01:31:41 ◼   ► letting you juggle multiple Apple IDs on the same computer.

01:31:45 ◼   ► iOS and to some degree the Mac lets you pick different Apple IDs for different specific

01:31:50 ◼   ► things, but you're not going to be swapping between your personal and work Apple IDs on

01:31:57 ◼   ► fly to do certain things and you can't really assign on a per application basis.

01:32:02 ◼   ► Alright, messages I want you to use this Apple ID, but photos I want you to use this Apple

01:32:06 ◼   ► ID, but notes I want you to use this Apple ID.

01:32:08 ◼   ► Not going to happen.

01:32:09 ◼   ► Apple doesn't have that feature.

01:32:11 ◼   ► They could have it, but they don't.

01:32:13 ◼   ► So given that, I have never done the thing where you have a work Apple ID and a home

01:32:18 ◼   ► Apple ID.

01:32:19 ◼   ► I have a bunch of Apple IDs, most of the ones, I have my real Apple ID and then I have tons

01:32:24 ◼   ► of other Apple IDs that mostly I used for like Mac OS reviews back in the day.

01:32:29 ◼   ► But at work I use my real Apple ID and I just disable most of the things that I don't need

01:32:36 ◼   ► to have at work.

01:32:37 ◼   ► Mainly what I want to work is messages.

01:32:39 ◼   ► If I get a message I like to be able to see it on my Mac and not just on my phone so I'm

01:32:42 ◼   ► signed into iMessage with that Apple ID.

01:32:45 ◼   ► But of course I'm not signed into iMessage with that Apple ID.

01:32:48 ◼   ► I'm signed in to that Apple ID in the iCloud preference pane and then I just have different

01:32:52 ◼   ► things toggled on and off. That situation is not ideal, especially if you actually need

01:32:56 ◼   ► to have a work Apple ID. Like I don't do development in Xcode, so I don't, you know, I'm not uploading

01:33:01 ◼   ► things to Apple servers and I don't need an Apple ID for my work at all. So that's a luxury

01:33:06 ◼   ► I have doing server-side stuff. But if I had to have a work Apple ID, I would probably

01:33:11 ◼   ► be signed into my work Apple ID on my Mac if I needed to. I really don't think I would

01:33:15 ◼   ► switch back and forth, but I'm interested to hear what Casey does because I'm assuming

01:33:19 ◼   ► he does need to have a work Apple ID.

01:33:21 ◼   ► I do.

01:33:22 ◼   ► So my work Apple ID is what I use to publish work apps to the store and things of that

01:33:26 ◼   ► nature.

01:33:27 ◼   ► But I am not logged in in any operating system level capacity to my work Apple ID.

01:33:35 ◼   ► The only thing I have logged in in iCloud is my personal Apple ID, the same one I use

01:33:39 ◼   ► on all my personal devices for much of the same reasons that you were talking about.

01:33:44 ◼   ► And so the only time I ever really use my work Apple ID is when I need to sign into

01:33:49 ◼   ► iTunes Connect or equivalent, and that's about it.

01:33:54 ◼   ► And so when you're in Xcode, it's actually pretty good

01:33:56 ◼   ► about allowing you to have, recently, this is very recently,

01:34:00 ◼   ► pretty good about having multiple Apple IDs

01:34:02 ◼   ► associated with Xcode, and it generally speaking

01:34:05 ◼   ► does a reasonably decent job of picking the right one

01:34:08 ◼   ► for the particular moment.

01:34:09 ◼   ► So I have the same Apple ID I use everywhere.

01:34:12 ◼   ► I do that mostly for messages and for apps,

01:34:15 ◼   ► because there are some Mac App Store apps that I bought.

01:34:17 ◼   ► Yes, Mac App Store is still a thing.

01:34:19 ◼   ► It is still a product in their lineup.

01:34:21 ◼   ► And so I want to use the same apps

01:34:25 ◼   ► I've already paid for at home at work,

01:34:26 ◼   ► and I also want to have messages, among many other things.

01:34:30 ◼   ► And notes, actually.

01:34:31 ◼   ► I've been using notes a lot more recently

01:34:32 ◼   ► 'cause it's gotten really good.

01:34:34 ◼   ► So it's basically the same story for the both of us.

01:34:37 ◼   ► Marco, your boss is a real turd,

01:34:38 ◼   ► so how does this work for you?

01:34:40 ◼   ► - Funnily, I know that, you know,

01:34:42 ◼   ► lol, I don't have a job,

01:34:43 ◼   ► but I have the exact same setup that you have,

01:34:45 ◼   ► which is like I have Apple IDs for apps,

01:34:48 ◼   ► and then I have a personal Apple ID that I have logged into things like the store. And

01:34:53 ◼   ► you know, obviously this question is harder if you have to log in to the App Store or

01:34:57 ◼   ► to iCloud for work. We don't have that issue. You know, like, we use our personal Apple

01:35:03 ◼   ► IDs for the actual, like, login on the phone, and we use our work Apple IDs for iTunes Connect

01:35:11 ◼   ► and submitting apps.

01:35:12 ◼   ► Steven: Yep, exactly. Ryan Taylor asks, "Do you cover the camera on your laptop with a

01:35:16 ◼   ► posted or other material. Do you advise your non tech friends to do so? Is it possible

01:35:20 ◼   ► to design a webcam that always indicates when it's recording? Perhaps something mechanical

01:35:24 ◼   ► instead of light? Are people why are people paranoid about laptop cameras but not microphones?

01:35:29 ◼   ► Does the designer of the MacBook find it offensive when people put post-its on their cameras?

01:35:33 ◼   ► Is that a design failure or user failure? I don't get why people do this personally.

01:35:39 ◼   ► I do trust the little green light on my Apple devices,

01:35:43 ◼   ► and I do not put Post-its on any of my cameras

01:35:47 ◼   ► or anything like that.

01:35:49 ◼   ► If I had a PC, I would consider it.

01:35:51 ◼   ► I especially am confident in the lack of ability

01:35:57 ◼   ► for the camera to turn on without proper user authorization

01:35:59 ◼   ► on the new MacBook Pros where they use,

01:36:01 ◼   ► what is that, that's not the T1, is it?

01:36:03 ◼   ► - The Secure Enclave, yeah, yeah.

01:36:05 ◼   ► - Yes.

01:36:05 ◼   ► - Well, the T1 is a touch bar.

01:36:07 ◼   ► You know, actually, I don't know if the MacBook Escape

01:36:11 ◼   ► and 12-inch MacBook have this protection.

01:36:14 ◼   ► I'm guessing they don't.

01:36:15 ◼   ► - I don't think they do. - Because they don't have

01:36:16 ◼   ► a secure enclave anywhere, 'cause that requires,

01:36:19 ◼   ► that specific implementation of this kind of thing

01:36:21 ◼   ► requires an ARM chip that they don't have.

01:36:23 ◼   ► So I think you're talking only about Touch Bar models

01:36:26 ◼   ► and the iMac Pro.

01:36:28 ◼   ► - Right, right, so those that have the secure enclave

01:36:31 ◼   ► and all that, I am 100% confident that they cannot turn on

01:36:34 ◼   ► without a user intervention or unless there was some sort of really terrible bug.

01:36:41 ◼   ► But I've never covered any of my devices, cameras, ever.

01:36:45 ◼   ► I just, I mean, if you really want to watch me picking my nose or whatever, you go to

01:36:49 ◼   ► town man, because I just, I don't even lead an interesting life.

01:36:54 ◼   ► I don't think it's a big deal.

01:36:55 ◼   ► Jon?

01:36:56 ◼   ► Jon Sorrentino I don't cover any of my cameras either, although

01:36:58 ◼   ► I totally believe that every camera attached to any computer can be hacked.

01:37:03 ◼   ► But you know, it's like you said, the microphone and all that stuff, like it's, there are too

01:37:09 ◼   ► many things in this world that are potentially watching and listening to us and all of them

01:37:13 ◼   ► are hackable and you're not actually getting much additional protection by putting a piece

01:37:20 ◼   ► of paper over something.

01:37:21 ◼   ► Like your net vulnerability to hacking is about the same as it was before.

01:37:28 ◼   ► We're all mostly relying on the fact that we are not interesting targets.

01:37:32 ◼   ► what's protecting us honestly, not anything else that we do in our lives. If you were

01:37:36 ◼   ► a really interesting target, putting a piece of paper or a piece of tape over your thing

01:37:41 ◼   ► is not going to stop people because, you know, the hackers don't go through the door with

01:37:47 ◼   ► a lock on it, right? They go through the open ones or they don't go through the door at

01:37:50 ◼   ► all, they get you to come out of the house or they social engineer you like. Yeah. So

01:37:54 ◼   ► if it makes you feel more comfortable to do it, feel free. I would not recommend my non-tech

01:37:59 ◼   ► friend do it. I've never advised a non-tech person or anybody for that matter that this

01:38:03 ◼   ► is a thing that they should do because it's just I don't think it is a useful... I think

01:38:09 ◼   ► obviously the drawbacks are obvious that you have to keep adding and removing that thing

01:38:14 ◼   ► and remembering to put it on and off and worrying about it and all the other stuff. It makes

01:38:18 ◼   ► using your devices less convenient. For example, say you did it on your phone and had to keep

01:38:22 ◼   ► peeling this piece of tape off every time you did a FaceTime call or something or had

01:38:26 ◼   ► some kind of muffler over the microphone that every time you had a phone call you had to

01:38:28 ◼   ► to remove, that inking means is not worth

01:38:31 ◼   ► the additional security if anything you're getting.

01:38:33 ◼   ► So no, I would not recommend someone else do it.

01:38:35 ◼   ► But if you wanna do it and it makes you feel better,

01:38:36 ◼   ► feel free, but just perhaps think about

01:38:38 ◼   ► what you're doing with your life.

01:38:40 ◼   ► - Yeah, I'm with you.

01:38:41 ◼   ► I think this is, it's the kind of thing where

01:38:44 ◼   ► it looks like you're doing something

01:38:46 ◼   ► to increase your security.

01:38:47 ◼   ► It probably feels good.

01:38:48 ◼   ► You're like, oh yeah, I'm really blocking out those hackers

01:38:50 ◼   ► with this circular sticker that I'm putting over,

01:38:53 ◼   ► with this piece of tape that I'm putting over my camera here

01:38:56 ◼   ► But ultimately, that doesn't, as Jon said,

01:39:00 ◼   ► it doesn't really make you that much more secure.

01:39:03 ◼   ► And I think Ryan Taylor, the listener who asked this

01:39:06 ◼   ► question, brings up a very good point of

01:39:08 ◼   ► what about microphones?

01:39:09 ◼   ► I think most sensitive information from companies

01:39:13 ◼   ► that could be gleaned from a webcam would be via audio,

01:39:17 ◼   ► not video.

01:39:18 ◼   ► I don't think anybody's worried about watching you

01:39:21 ◼   ► pick your nose while you work.

01:39:23 ◼   ► But if you're having a conversation about something

01:39:24 ◼   ► confidential, like that's probably the more damaging thing.

01:39:29 ◼   ► Although if somebody is to the level of hacking your camera,

01:39:32 ◼   ► like hacking the hardware that your computer is using,

01:39:36 ◼   ► I imagine the contents of your data on your computer

01:39:40 ◼   ► are probably way more questionable and vulnerable

01:39:44 ◼   ► and valuable to people.

01:39:46 ◼   ► But at the same time,

01:39:50 ◼   ► I don't know if there's any reliable way

01:39:54 ◼   ► to block the microphone input from the built-in microphones

01:39:57 ◼   ► on a modern Mac.

01:39:58 ◼   ► Like, what do you do?

01:39:59 ◼   ► Like shove sticky putty into the holes?

01:40:01 ◼   ► Are you sure you even have the right holes

01:40:03 ◼   ► or all of the holes?

01:40:04 ◼   ► Like there's multiple microphones

01:40:06 ◼   ► on all these machines now.

01:40:07 ◼   ► Some of them are gonna be like behind speaker grills

01:40:09 ◼   ► that you can't really actually plug up.

01:40:12 ◼   ► So like, there's really no good way

01:40:14 ◼   ► to block off microphones, so nobody does it.

01:40:17 ◼   ► I think the reason why people do it to the camera

01:40:19 ◼   ► is because it's easy and there's no real downsides

01:40:23 ◼   ► unless you are somebody who uses video chatting

01:40:26 ◼   ► a lot on your laptop.

01:40:27 ◼   ► But otherwise, it's something that IT departments

01:40:30 ◼   ► can mandate and look like they're doing their job

01:40:33 ◼   ► and say, "Look, we're covering our butts.

01:40:34 ◼   ► "We're saying we need to make our computers more secure

01:40:37 ◼   ► "and we'll give you this eight cent sticker

01:40:40 ◼   ► "to put over the camera and your laptop will look secure

01:40:44 ◼   ► "and we can make sure you have that on there

01:40:45 ◼   ► "because we can see it and we can look like

01:40:47 ◼   ► "we're doing our job and we can feel secure."

01:40:49 ◼   ► And the reality is it's mostly security theater.

01:40:52 ◼   ► - And by the way, if you're trying to come up with like,

01:40:54 ◼   ► part was part of this question,

01:40:55 ◼   ► is there any way to make a light that,

01:40:57 ◼   ► any way to make a camera that you can be sure

01:40:59 ◼   ► that the green light is, you know, is real

01:41:01 ◼   ► and it can't be hacked?

01:41:03 ◼   ► Like perhaps something mechanical?

01:41:05 ◼   ► Yeah, mechanical is the way you would do it.

01:41:06 ◼   ► You'd have an actual opaque piece of metal

01:41:09 ◼   ► that when it slides in front of the camera,

01:41:12 ◼   ► and the only way for the camera to get a picture

01:41:13 ◼   ► is for it to slide out.

01:41:14 ◼   ► And if you wanna tell whether the camera is on,

01:41:16 ◼   ► just assume every single time that metal doors open,

01:41:18 ◼   ► cameras on that would do it. And I think we're thinking of this mostly from our perspectives

01:41:24 ◼   ► or from the perspective of like we're a giant corporation and what might we want to protect,

01:41:28 ◼   ► but the reason people hack webcams obviously is to get pictures of people like in their

01:41:35 ◼   ► bedrooms or whatever and then either blackmail them or sell that footage or whatever. So

01:41:39 ◼   ► it's a vulnerability that we don't think about because no one wants to see us naked, but

01:41:42 ◼   ► it is a vulnerability that half the population has to worry about.

01:41:45 ◼   ► Uh, so if you find yourself in that situation, again, I would recommend don't,

01:41:51 ◼   ► you know, put stickers over your thing, uh, close the lid on your laptop,

01:41:54 ◼   ► turn it off, like, you know, like don't, don't have your,

01:41:59 ◼   ► your computer running all the time and pointing at your bedroom.

01:42:02 ◼   ► And I know that's, you know,

01:42:04 ◼   ► perhaps even more inky meat than just putting a sticker over it. And again,

01:42:07 ◼   ► if you want to put a sticker over it, go for it. But, uh,

01:42:09 ◼   ► I think a better idea would be to buy a computer where you have slightly more faith that it's

01:42:14 ◼   ► harder to hack the camera.

01:42:15 ◼   ► I don't know if I'm just shilling for Apple there, but like I said, Apple's not going

01:42:19 ◼   ► to protect you.

01:42:20 ◼   ► There have been proven hacks to get around that little light, so maybe the best choice

01:42:25 ◼   ► is to get one of the PC laptops I've seen that you don't have to buy something that

01:42:29 ◼   ► covers the camera, that it comes with a little mechanical door over the camera.

01:42:33 ◼   ► have to use your hand to move it, but that's the only way to be sure. And you're not

01:42:42 ◼   ► saving microphones, as Marco pointed out, so they may not be able to see your bedroom,

01:42:46 ◼   ► but they can hear it, and can they produce some kind of blackmail out of that too? Who

01:42:51 ◼   ► knows. Technology in the bedroom, it's a problem.

01:42:54 ◼   ► Yeah. And also, there's a lot more cameras and microphones in most people's houses

01:43:00 ◼   ► than just the one on your laptop now.

01:43:02 ◼   ► with a lot more lack security than hopefully your laptop.

01:43:05 ◼   ► - Yeah, yeah, and it's just, yeah.

01:43:07 ◼   ► And to finish the 19 questions that Ryan Taylor asked,

01:43:11 ◼   ► does the designer of the MacBook funs offensive

01:43:13 ◼   ► when people put post-its on their cameras?

01:43:15 ◼   ► Assuming that you're talking about Johnny Ive,

01:43:18 ◼   ► 'cause I don't know which of his staff designed it,

01:43:21 ◼   ► I would say probably they find everything offensive

01:43:25 ◼   ► because they design these things to look good in pictures

01:43:27 ◼   ► with nothing political that they actually use.

01:43:29 ◼   ► They should find the dongle-hell offensive

01:43:31 ◼   ► that we have to do in practice.

01:43:33 ◼   ► They should find the terrible cable management

01:43:35 ◼   ► on the current power brick offensive.

01:43:37 ◼   ► But ultimately, I don't think Johnny Ive

01:43:40 ◼   ► spends two seconds thinking about Macs anymore.

01:43:43 ◼   ► - I think the design of the camera on Apple laptops

01:43:49 ◼   ► reflects the Apple design philosophy of like,

01:43:51 ◼   ► say this was even part of the design brief,

01:43:53 ◼   ► which is one problem is that people wanna know

01:43:58 ◼   ► when the camera is recording them, right?

01:44:01 ◼   ► and they want to feel secure, that they can tell

01:44:05 ◼   ► if it looks like the camera's not recording,

01:44:07 ◼   ► then it really isn't.

01:44:08 ◼   ► So their solution to that, their elegant solution is,

01:44:10 ◼   ► rather than having a clunky mechanical door,

01:44:12 ◼   ► let's have a light next to the camera

01:44:15 ◼   ► that's on when it's recording,

01:44:16 ◼   ► and let's use some very clever technology to make it

01:44:18 ◼   ► so that light actually is representative.

01:44:21 ◼   ► And they did a pretty good job

01:44:22 ◼   ► of making the light hard to hack, but it was indeed hacked

01:44:26 ◼   ► at one point on one of the older things,

01:44:27 ◼   ► showing that no matter how hard you try,

01:44:29 ◼   ► you're never sure if you really got it 100% hack proof.

01:44:32 ◼   ► You look at the circuit diagram,

01:44:33 ◼   ► and you're like, oh, there's just no way

01:44:34 ◼   ► that camera can be on without light being on,

01:44:35 ◼   ► but they did something very clever.

01:44:36 ◼   ► There was a good article about it a while back

01:44:38 ◼   ► to get around it.

01:44:39 ◼   ► I don't know if the modern ones have now worked around that,

01:44:41 ◼   ► if the secure enclave is better, so on and so forth,

01:44:43 ◼   ► but you can never be sure, but that's their solution,

01:44:45 ◼   ► is it's clunky to have a door.

01:44:48 ◼   ► It's fidgety to have a door.

01:44:50 ◼   ► It would be fidgety to have a computer-controlled door.

01:44:52 ◼   ► It's kind of silly to have a manual door.

01:44:56 ◼   ► So let's not have a door at all.

01:44:57 ◼   ► Let's just simply have a camera and solve the props,

01:44:59 ◼   ► solve the harder problem which is how can we have a light that is always representative,

01:45:03 ◼   ► that is always true, if I look at that light it really tells me other things on.

01:45:06 ◼   ► That was their attempt.

01:45:08 ◼   ► Unfortunately it is less reliable than the clunky solutions but maybe with a secure amplifier

01:45:15 ◼   ► maybe it hasn't been hacked, maybe it is really reliable and I think that would be the Apple

01:45:19 ◼   ► philosophy is let's not resort to the easy solution of a door, let's instead keep trying

01:45:25 ◼   ► and harder to make a very secure piece of hardware where we actually do have control

01:45:29 ◼   ► over the light because we make the whole widget.

01:45:31 ◼   ► We make the silicon, we make the hardware, we make the OS, we should be able to make

01:45:35 ◼   ► this work.

01:45:37 ◼   ► And they have a pretty good shot at making it not 100% hackproof because nothing is,

01:45:42 ◼   ► especially if you have physical access to it, but very, very robust to the point of

01:45:46 ◼   ► very diminishing returns.

01:45:48 ◼   ► They may already be at that point with a secure enclave.

01:45:50 ◼   ► So I don't entirely fault them for this approach, but it's certainly not the simplest solution

01:45:55 ◼   ► which is a door.

01:45:56 ◼   ► And then the microphone solution,

01:45:57 ◼   ► well, you got nothing there, you're screwed.

01:45:59 ◼   ► - Well, there's an even simpler solution.

01:46:01 ◼   ► Make the camera optional.

01:46:03 ◼   ► - Oh, yeah, everything, make it a preference.

01:46:05 ◼   ► Good old make it a preference Marco, they call him.

01:46:06 ◼   ► Every time he has a design problem,

01:46:08 ◼   ► he says, "Let's add a preference."

01:46:09 ◼   ► That's what I remember from him.

01:46:11 ◼   ► - I mean, look at how many Apple fans have given us crap,

01:46:16 ◼   ► especially given me crap,

01:46:18 ◼   ► because I complained that they removed something I use.

01:46:21 ◼   ► And they're like, "Well, you know, it's the future,

01:46:23 ◼   ► and almost nobody used that.

01:46:26 ◼   ► Well, how many people use the camera really?

01:46:28 ◼   ► Like I know people use it for Skype and stuff,

01:46:30 ◼   ► but like, and occasionally FaceTime,

01:46:32 ◼   ► but you know, you can also use your phone for that now,

01:46:33 ◼   ► and I think most people probably do that more often.

01:46:36 ◼   ► You know, does it really need to be on every single laptop

01:46:40 ◼   ► they sell anymore?

01:46:42 ◼   ► Or, you know-- - Yes, it does.

01:46:43 ◼   ► - Really, does it, why?

01:46:45 ◼   ► - Yeah, I mean, it's like, obviously nobody uses

01:46:48 ◼   ► every feature 100% of the time, right?

01:46:50 ◼   ► Not even the keyboard, I bet some people only

01:46:52 ◼   ► you ever use in clamshell.

01:46:53 ◼   ► But I think the camera is well past the threshold

01:46:56 ◼   ► of commonly used enough that it should be on everyone.

01:46:58 ◼   ► Now, if they wanted to make an option,

01:46:59 ◼   ► like I wouldn't object to a big option,

01:47:01 ◼   ► who can object to options?

01:47:03 ◼   ► Like, sure, let me configure my laptop

01:47:05 ◼   ► with exactly what I need.

01:47:06 ◼   ► But in the grand scheme of things that might be options,

01:47:10 ◼   ► this would be pretty low down on the list

01:47:11 ◼   ► because so many people need occasional use of the camera.

01:47:14 ◼   ► It's really difficult to add after the fact.

01:47:17 ◼   ► Maybe, again, maybe not with workplace stuff,

01:47:19 ◼   ► If you underestimate exactly how much video conferencing goes on in the modern workplace,

01:47:26 ◼   ► just because it's the default of telecommunication applications for work, it's nice to see other

01:47:31 ◼   ► people's faces.

01:47:34 ◼   ► I mean I've had video conferences with people in the same building.

01:47:38 ◼   ► I had like three video conferences today.

01:47:41 ◼   ► It's just a thing that happens today.

01:47:42 ◼   ► Sometimes I think about it and if I had told myself as a kid that when you're an adult

01:47:47 ◼   ► in the workplace you'll have video conferences that would sound all so cool and futuristic

01:47:51 ◼   ► and now it's just like ugh meetings. But I think it's used a lot.

01:47:55 ◼   ► Alright, well follow up question then. If it's that important and used that often,

01:48:00 ◼   ► why are these cameras still so terrible? It does it because it doesn't matter for

01:48:03 ◼   ► video conferencing. The compression is brutal. Like the reason is, you know, there's like

01:48:06 ◼   ► six people in these little postage stamps and this terribly over compressed stuff. The

01:48:10 ◼   ► quality is far below what the camera is even capable of. But I agree the camera should

01:48:14 ◼   ► be better. Just because we pay so much money for these computers to put better cameras

01:48:18 ◼   ► in.

01:48:19 ◼   ► I remember when I was a kid, I used to watch Double Dare on Nickelodeon. And the grand

01:48:25 ◼   ► prize was not irregularly a video phone from some manufacturer like AT&T or something like

01:48:33 ◼   ► that, where I think you got like two video phones, one to put in your house, one to put

01:48:37 ◼   ► in the one other person you can talk to's house. So like, you know, if I'm a kid, maybe

01:48:43 ◼   ► our house and my grandparents house and those are the only two people we can talk to with video phones and it was like a

01:48:49 ◼   ► refresh rate measured in seconds

01:48:51 ◼   ► You know like there's one new image every four seconds and it was a postage stamp and it was terrible, but I thought it was

01:48:57 ◼   ► Amazing one of the many reasons why I wanted to go on double dare

01:49:00 ◼   ► Anyway, John not the one in the room right now asks. Do any of you have CarPlay?

01:49:06 ◼   ► If so, do you use it? How much how does it work for you?

01:49:09 ◼   ► CarPlay crashes about once every 30 or 40 minutes for me, often when we aren't asking it to do anything.

01:49:14 ◼   ► iPhone X, genuine Apple cable, etc. For me, we recently got Erin a new car.

01:49:19 ◼   ► We got her a Volvo XC90. That does have CarPlay. It is wired only.

01:49:24 ◼   ► And I really, really like it. A lot more than I expected. It is not perfect. It is by no means perfect.

01:49:29 ◼   ► But what I like about it is I don't have my phone paired with her car.

01:49:36 ◼   ► if I ever drive her car somewhere and she's not with me then all I have to do to

01:49:42 ◼   ► have my phone kind of take over her car is plug it in and

01:49:45 ◼   ► Start carplay and then I can listen to overcast. I listen to Spotify I can do just about anything and I have been

01:49:53 ◼   ► surprisingly efficient at maintaining a text message conversation by way of just

01:49:59 ◼   ► Conversing with Siri, you know, I'm not looking at the screen at all

01:50:02 ◼   ► I don't think it's possible to see a text message on screen. At most you can see who it's from.

01:50:07 ◼   ► And I've had entire conversations via text message or via iMessages really, via Siri,

01:50:13 ◼   ► via CarPlay. And it's actually worked out pretty well. Maybe if I lived with it every day, I would

01:50:19 ◼   ► find it frustrating. It certainly infuriates me, as we talked about not too long ago, that

01:50:24 ◼   ► you can't use Waze or Google Maps with CarPlay. That is very annoying. But since I'm only ever in

01:50:31 ◼   ► in the car for like 15, 20 minutes at a time,

01:50:34 ◼   ► I don't mind any of the limitations,

01:50:36 ◼   ► and it's actually worked pretty consistently for me.

01:50:39 ◼   ► Now, I know, Marco, that you don't have it in the Tesla,

01:50:42 ◼   ► but I believe Tifs car does, right?

01:50:45 ◼   ► - That is correct.

01:50:47 ◼   ► However, I almost never drive Tifs car,

01:50:50 ◼   ► so basically I almost never use CarPlay.

01:50:53 ◼   ► I hear from people who have it, who love it,

01:50:56 ◼   ► so it seems very popular.

01:50:58 ◼   ► I will say as an audio app developer,

01:51:01 ◼   ► there's often weird CarPlay bugs I hear about

01:51:06 ◼   ► that are just very hard to debug or ever fix, really.

01:51:09 ◼   ► Because sometimes, like, 'cause, you know,

01:51:11 ◼   ► CarPlay is subtly different depending on implementations.

01:51:16 ◼   ► From what I can gather, it seems to be mostly an iOS thing.

01:51:21 ◼   ► I think the car manufacturers themselves,

01:51:24 ◼   ► or the head unit manufacturers,

01:51:27 ◼   ► are not doing much logic on their side.

01:51:29 ◼   ► Like it seems to be an interface

01:51:31 ◼   ► that's entirely rendered by the iPhone

01:51:33 ◼   ► and just kind of sent like as a video signal

01:51:36 ◼   ► to the head unit.

01:51:37 ◼   ► So, but the problem is like there are like small differences

01:51:41 ◼   ► in how cars will do things like send the Bluetooth commands

01:51:44 ◼   ► or send playback commands and things like that.

01:51:46 ◼   ► So there is some car to car variation

01:51:51 ◼   ► or head unit to head unit variation.

01:51:54 ◼   ► So it's a little hard to generalize

01:51:55 ◼   ► doesn't say it's always this or always that

01:51:57 ◼   ► or always stable or always unstable.

01:51:59 ◼   ► But most of the logic is happening on the phones

01:52:01 ◼   ► as far as I'm aware, so I think it is fair

01:52:05 ◼   ► to characterize your experience with one.

01:52:07 ◼   ► It's gonna be pretty similar to your experience

01:52:08 ◼   ► within a different car.

01:52:11 ◼   ► So all that said, I've had very little experience with it.

01:52:16 ◼   ► And so it does look nice, and my usage stats show

01:52:20 ◼   ► that a heck of a lot of people use it.

01:52:23 ◼   ► but I can't use it because it isn't available in my car.

01:52:26 ◼   ► If it was available, I would get it.

01:52:28 ◼   ► Although I would probably still map my phone

01:52:31 ◼   ► in the little dock so I could run Waze.

01:52:34 ◼   ► - John, neither of your cars supported, is that right?

01:52:37 ◼   ► - That's right, I have never used it.

01:52:40 ◼   ► - Oh, that's too bad.

01:52:41 ◼   ► It's not, it's good stuff.

01:52:42 ◼   ► I mean, it's again, nowhere near perfect,

01:52:44 ◼   ► but it's pretty good.

01:52:45 ◼   ► As usual, I'd say the biggest problem with it is Siri.

01:52:47 ◼   ► Although again, for the purposes of text messaging only,

01:52:50 ◼   ► Siri does work pretty well for me.

01:52:52 ◼   ► Thanks to our sponsors this week, Hover, Squarespace, and Rover, and we'll see you next week.

01:52:57 ◼   ► Now the show is over, they didn't even mean to begin

01:53:04 ◼   ► Cause it was accidental, oh it was accidental

01:53:09 ◼   ► John didn't do any research, Marco and Casey wouldn't let him

01:53:15 ◼   ► Cause it was accidental, oh it was accidental

01:53:20 ◼   ► And you can find the show notes at ATP.fm

01:53:26 ◼   ► And if you're into Twitter, you can follow them

01:53:31 ◼   ► @C-A-S-E-Y-L-I-S-S

01:53:35 ◼   ► So that's Casey Liss M-A-R-C-O-A-R-M

01:53:39 ◼   ► Auntie Marco Arment S-I-R-A-C

01:53:44 ◼   ► USA, Syracuse

01:53:47 ◼   ► It's accidental

01:53:50 ◼   ► They didn't mean to

01:53:53 ◼   ► Accidental

01:53:55 ◼   ► ♪ Tech podcast so long ♪

01:53:59 ◼   ► - Yeah, after show stuff.

01:54:02 ◼   ► Any exciting baby stuff going on, Casey?

01:54:04 ◼   ► - Yeah, how's your whole family life going?

01:54:06 ◼   ► - Things are generally okay.

01:54:08 ◼   ► Michaela is a much happier baby

01:54:10 ◼   ► now that her insides aren't on fire, which is great.

01:54:13 ◼   ► If you recall, she has either a milk and/or soy.

01:54:18 ◼   ► It's not an allergy, what do they call it?

01:54:20 ◼   ► Intolerance. - Intolerance, yeah.

01:54:21 ◼   ► - Yeah, so she was an extremely fussy baby,

01:54:24 ◼   ► at least by LISTS family standards.

01:54:27 ◼   ► And so we went to the doc, figured out,

01:54:30 ◼   ► oh, it's this intolerance,

01:54:32 ◼   ► put her on this really crazy formula.

01:54:33 ◼   ► It seems to be making her a much happier baby,

01:54:36 ◼   ► which is great.

01:54:37 ◼   ► That being said, I think we are hitting

01:54:39 ◼   ► the three and a half to four month sleep regression

01:54:42 ◼   ► that seems to be a normal thing,

01:54:43 ◼   ► which from what we remember from Declan was terrible

01:54:48 ◼   ► and seems like it's probably gonna be the same for Michaela.

01:54:52 ◼   ► and I'm going out of town for a few days starting tomorrow.

01:54:54 ◼   ► - You should have added some sleep unit tests.

01:54:56 ◼   ► - I should have, you're right.

01:54:58 ◼   ► I absolutely should have. - Wow.

01:54:59 ◼   ► - That's a good regression joke.

01:55:00 ◼   ► I'm proud of you, John.

01:55:01 ◼   ► - Oh my God.

01:55:02 ◼   ► (beeping)