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)