183: I Filed a Radar
00:00:00
◼
►
It is so hot in this room and so humid the humidity has been brutal here
00:00:06
◼
►
It's only 77 degrees and I'm dying in this room because it's so humid and of course
00:00:11
◼
►
It's probably 90 degrees in this room. I feel great air conditionings on
00:00:14
◼
►
I haven't put my slippers on mid show because my feet were getting a little bit cold
00:00:18
◼
►
All right, we should probably actually get the show started huh? No, that's making it in the show none of it. No, come on
00:00:24
◼
►
No, ah, so here, you know how I'm gonna make you put some of that in the show watch this
00:00:29
◼
►
Hey, so speaking of cars, we should probably do some follow-ups, starting with more reasons
00:00:35
◼
►
Hey Casey, do we have any follow-up?
00:00:37
◼
►
I hate you so much.
00:00:41
◼
►
So Casey, do we have any follow-up?
00:00:43
◼
►
We should probably start with some follow-up, Marco.
00:00:46
◼
►
You make an excellent point.
00:00:47
◼
►
And we had an individual write in with more reasons for using QNX.
00:00:51
◼
►
And these actually were the, to my ears and eyes, the best reasons I've heard yet.
00:00:58
◼
►
And what it basically boiled down to was incredibly fast boot times were generally important for
00:01:06
◼
►
cars because you don't want to, say, have to wait until you're five minutes down the
00:01:09
◼
►
road before your air conditioning or your radio turns on or something like that.
00:01:13
◼
►
And the other reason that this individual gave was, you know, if you think about it,
00:01:17
◼
►
the instrument clusters on a lot of cars are often driven by some sort of display or perhaps
00:01:22
◼
►
driven by a signal that's coming off some QNX-derived computer.
00:01:27
◼
►
And those need to be real time.
00:01:29
◼
►
I mean, that data needs to show you
00:01:31
◼
►
exactly how fast you're going right freaking now.
00:01:33
◼
►
And so having a real time OS like QNX
00:01:36
◼
►
makes that sort of thing a lot easier.
00:01:39
◼
►
- Like Tesla's system is not based on QNX.
00:01:41
◼
►
I'm pretty sure it's just some kind of Linux.
00:01:43
◼
►
And you can tell.
00:01:44
◼
►
Like you can tell because it's,
00:01:45
◼
►
because like, you know, some, like, again,
00:01:48
◼
►
like I said last time, like most of the time it works fine.
00:01:51
◼
►
But sometimes, like we were upstate and I heard,
00:01:56
◼
►
We were driving around, I was following ad directions,
00:01:58
◼
►
and the map was getting a little bit wonky,
00:02:00
◼
►
like it was starting to like flick out
00:02:01
◼
►
and slow down a little bit and like not update
00:02:03
◼
►
quickly enough, and that's great too,
00:02:05
◼
►
like when you're following a map doing turn by turn
00:02:07
◼
►
and it just doesn't update, so you're looking at
00:02:09
◼
►
like the last turn from 30 seconds ago instead, that's fun.
00:02:12
◼
►
And then there was one point where it made
00:02:16
◼
►
the turn signal clicking sound
00:02:19
◼
►
when the turn signal wasn't on.
00:02:23
◼
►
- There was, in one of the, like I described last episode
00:02:25
◼
►
I've had to reboot it three times so far over the three or four months, whatever it is.
00:02:30
◼
►
One of the times that I had to reboot it, immediately beforehand, the turn signal was
00:02:35
◼
►
not clicking. Like it would turn on and the light would, the indicator would blink in
00:02:38
◼
►
the dash, but you wouldn't hear the click noise. So obviously the clicking noise is
00:02:41
◼
►
made by the center console computer. Like that, it's adding it to the sound system in
00:02:46
◼
►
all likelihood. Anyway, so one of the symptoms that I knew something was wacky this time
00:02:53
◼
►
was the turn signal noise started clicking
00:02:55
◼
►
when the turn signal was not on.
00:02:57
◼
►
I was driving straight down a road,
00:02:59
◼
►
I hadn't touched it, like that was it.
00:03:01
◼
►
So that I rebooted again a few days ago.
00:03:06
◼
►
- So yes, I would have pre,
00:03:07
◼
►
and when it's not booted, the turn signal does not,
00:03:09
◼
►
like when it's rebooting, you can turn,
00:03:11
◼
►
and the indicator on the dashboard did blink
00:03:14
◼
►
when the computer was rebooting,
00:03:16
◼
►
like it was still blinking,
00:03:17
◼
►
and so I assumed the signal was still on,
00:03:20
◼
►
I hope the light was still blinking outside the car,
00:03:22
◼
►
but there's no sound.
00:03:23
◼
►
And again, it's like one of those things where
00:03:25
◼
►
when you tie these things to software,
00:03:27
◼
►
you are at the whim of the software's stability,
00:03:32
◼
►
responsiveness, uptime.
00:03:35
◼
►
It's similar to like, one of the things that I didn't like
00:03:39
◼
►
so much when I wore the Apple Watch is
00:03:42
◼
►
so many interactions are tied to force touch.
00:03:45
◼
►
And when you push really hard on the watch face,
00:03:51
◼
►
and you expect that button click,
00:03:52
◼
►
even though it's not really a button,
00:03:54
◼
►
even though it's all fake and simulated,
00:03:56
◼
►
you expect that better click back immediately
00:03:59
◼
►
as if it were a button.
00:04:00
◼
►
And the same thing with all the force text track pads,
00:04:02
◼
►
like they have the same requirement.
00:04:04
◼
►
Like it has to respond like the physical object
00:04:07
◼
►
that it is mimicking, right?
00:04:08
◼
►
It has to be quick, it has to be immediate.
00:04:10
◼
►
There can't be any delay.
00:04:12
◼
►
Well, on the watch, you know,
00:04:13
◼
►
the watch is very slow hardware-wise,
00:04:14
◼
►
and sometimes the software gets gummed up a little bit,
00:04:17
◼
►
and so you push and sometimes there's a delay
00:04:19
◼
►
before it actually clicks back at you.
00:04:21
◼
►
And it totally breaks the illusion,
00:04:23
◼
►
it makes it feel broken or cheap or wrong
00:04:26
◼
►
or whatever the case may be.
00:04:28
◼
►
And that's actually one concern I have
00:04:30
◼
►
with the Force Touch home button
00:04:32
◼
►
that is rumored to be on the next iPhone.
00:04:34
◼
►
That like, you know, if you push that home button
00:04:39
◼
►
and the iPhone software is like a little bit overwhelmed
00:04:43
◼
►
or buggy or whatever, if you push that
00:04:45
◼
►
and you don't get a click feel back
00:04:47
◼
►
for a few seconds or at all,
00:04:49
◼
►
like that's gonna feel really broken really quickly.
00:04:51
◼
►
So anyway, similar thing with like this car stuff,
00:04:54
◼
►
like you know, back to this follow up saying
00:04:55
◼
►
that QNX is really good for boot time
00:04:58
◼
►
and response times of interactions.
00:05:00
◼
►
Like I totally get that and I totally respect that
00:05:03
◼
►
because when you're tying things to controls
00:05:07
◼
►
of a physical object, that makes a big difference.
00:05:09
◼
►
- My complaint about the ancient iPhone 6 that I'm using
00:05:12
◼
►
is that I have a physical home button and I press it
00:05:14
◼
►
and it always you know, goes in just like you said
00:05:16
◼
►
and I feel that physical feedback immediately,
00:05:18
◼
►
but you know what doesn't happen immediately?
00:05:20
◼
►
Springboard doesn't appear immediately.
00:05:22
◼
►
That's what doesn't happen.
00:05:23
◼
►
I click it and then I look at my phone,
00:05:25
◼
►
I'm like, what are you doing?
00:05:26
◼
►
Well, I push the button.
00:05:27
◼
►
I know I pushed it because it went in and then it went out,
00:05:29
◼
►
and then, oh, okay, now the animation's starting.
00:05:31
◼
►
I'm getting picky in my old age.
00:05:33
◼
►
I don't know.
00:05:34
◼
►
- Getting picky?
00:05:35
◼
►
What you should really do,
00:05:37
◼
►
to make it seem like your phone is even older,
00:05:39
◼
►
instead of saying, my old iPhone 6,
00:05:40
◼
►
you should say, my first iPhone, which I'm still using.
00:05:44
◼
►
- That's true, yeah.
00:05:46
◼
►
I don't think my iPhone 6 is getting slower, but I'm just getting less and less patient
00:05:50
◼
►
for like when it doesn't respond.
00:05:52
◼
►
And I know it's not just because it's slow.
00:05:53
◼
►
Like my iPad Pro, the 9.7 inch iPad Pro, which is pretty darn fast, I still feel like when
00:05:57
◼
►
I hit the home button on that sometimes I have to wait.
00:06:00
◼
►
I want that to be instant.
00:06:01
◼
►
Just wait for the new touch ID sensor.
00:06:04
◼
►
It's pretty damn fast.
00:06:05
◼
►
Yeah, I know.
00:06:06
◼
►
I've used my wife's phone.
00:06:07
◼
►
I know that the touch ID sensor is fast.
00:06:08
◼
►
I'm just saying like I feel like sometimes it's not responding to me as immediately as
00:06:13
◼
►
I feel like it should.
00:06:17
◼
►
Anyway, the other thing that this person had to say about,
00:06:19
◼
►
why do cars have crappy hardware?
00:06:21
◼
►
We read some other feedback from someone
00:06:25
◼
►
who works on these systems talking
00:06:27
◼
►
about how the car manufacturers want to save money and pinch
00:06:30
◼
►
And I said that was silly.
00:06:31
◼
►
A couple other factors that were also
00:06:33
◼
►
mentioned by many other people but reiterated by this person
00:06:35
◼
►
is that there's a long lead time on hardware that goes into cars.
00:06:38
◼
►
The development cycles are really long,
00:06:40
◼
►
so they have to pick hardware that's
00:06:42
◼
►
available like three years before the car even comes out.
00:06:44
◼
►
And maybe it's even longer, so maybe it's
00:06:45
◼
►
four or five years by the time comes out. So even if you pick something that was current it'll be
00:06:49
◼
►
like three, four, or five years old by the time it ships in the car. And finally, stuff in cars
00:06:54
◼
►
has to operate at extremes of temperature. If you've ever left your phone on the dashboard,
00:06:58
◼
►
or even in a sealed cubby inside your car, like not in the sun, but just try taking your phone
00:07:03
◼
►
and putting it in the glove box or in the little console thing anywhere inside your car on a hot
00:07:08
◼
►
day, when you come back, chances are good after being away for several hours in the middle of the
00:07:12
◼
►
your device will refuse to function because the temperature is too high and
00:07:15
◼
►
the chips in the car obviously can't do that they have to continue working even
00:07:20
◼
►
when they're like 150 degrees or whatever and they have to continue
00:07:23
◼
►
working on it's negative 40 these are all real temperatures not a crazy
00:07:27
◼
►
Celsius yeah it's similar like like if you ever heard of like how slow the
00:07:33
◼
►
computers are on satellites or the space shuttle because like you know like you
00:07:36
◼
►
hear stories you know about like how they're still running something it's
00:07:39
◼
►
about as fast as like a 486 or something like that.
00:07:42
◼
►
And like the reason, one of the reasons why they have
00:07:44
◼
►
to use such slow types of hardware is that they have
00:07:48
◼
►
to operate in extreme conditions that would just kill any,
00:07:51
◼
►
you know, like the chip that's in an iPhone.
00:07:53
◼
►
And so it's similar but less severe in a car.
00:07:55
◼
►
- Yeah, that's their excuse, but like still,
00:07:57
◼
►
it's a little bit ridiculous.
00:07:58
◼
►
They, you know, like I said, the washing machine chips
00:08:01
◼
►
they're using, like they're slower than the ones
00:08:02
◼
►
in the space probes.
00:08:03
◼
►
The space probes have PowerPC 601s that are like
00:08:05
◼
►
rad hardened in them.
00:08:07
◼
►
and they're using chips that are like from a Game Boy Advance, so it would seem worse.
00:08:11
◼
►
Or maybe Game Boy Advance is faster than that.
00:08:14
◼
►
Anyway, bottom line, we have the technology, we can make the hardware in cars better, and
00:08:20
◼
►
I think we probably want to shorten up the cycle time on that too.
00:08:23
◼
►
I know it's sort of all developed as one big unit, but you just can't afford to do that.
00:08:28
◼
►
If a manufacturer can shave even just a year off of the cycle time and they can have a
00:08:32
◼
►
year newer electronics, that can make a big difference, I think.
00:08:36
◼
►
like I said, as the infotainment systems and even the instrument clusters and all that
00:08:39
◼
►
stuff becomes a more important differentiator for cars, as the software becomes like all
00:08:45
◼
►
our other products, the software becomes a more important part of the whole product mixture,
00:08:49
◼
►
the company that can figure that software out is going to have a big advantage.
00:08:54
◼
►
Tell us about AudioSync and Quartz Crystals, which we've gotten a lot of feedback about.
00:08:58
◼
►
Marco, do you want to kind of cover this?
00:09:01
◼
►
So basically, so, you know, the last couple episodes we've discussed.
00:09:04
◼
►
A while back I discussed my podcast tool
00:09:07
◼
►
to automatically sync up tracks that were recorded
00:09:10
◼
►
locally for each person in a multi-person recording,
00:09:12
◼
►
and then sync it up to the master track
00:09:15
◼
►
because if you try to import those tracks manually,
00:09:18
◼
►
you sync it up, the difference in the sense of time
00:09:23
◼
►
that each person's audio interface had,
00:09:26
◼
►
it caused a problem called drift,
00:09:28
◼
►
where if you sync up our recordings
00:09:30
◼
►
like right up front in the beginning of a show,
00:09:32
◼
►
an hour in, we might be out of sync
00:09:34
◼
►
by like half a second or a second. My microphone interface, the little converter in it that
00:09:39
◼
►
samples the audio at 44,100 times per second, has a very, very, very slightly different
00:09:46
◼
►
interpretation of what that means, of how long a second is or how many times it has
00:09:51
◼
►
to be, than the one in cases of John's computers. And over time, that very, very tiny error
00:09:56
◼
►
can add up to quite a lot. And so this causes the problem of drift, so we've gotten lots
00:10:00
◼
►
the feedback about why this happens.
00:10:04
◼
►
Last episode I speculated that you're making
00:10:06
◼
►
these components, these physical components,
00:10:09
◼
►
and any little tiny bit of imprecision in making them,
00:10:14
◼
►
when you are taking 44,000 samples per second
00:10:18
◼
►
over two hours, a very small variance
00:10:22
◼
►
in the clock performance of two different physical devices
00:10:26
◼
►
will cause them to disagree and to drift over time like this.
00:10:29
◼
►
So my speculation was basically like,
00:10:31
◼
►
it's not really possible to make something
00:10:33
◼
►
that is cheap and in a computer like this
00:10:35
◼
►
that is more accurate than that
00:10:37
◼
►
and we just have to deal with it.
00:10:38
◼
►
And we had lots of people write in from the pro audio world
00:10:42
◼
►
and from some people even from like
00:10:44
◼
►
the scientific equipment world, which is pretty cool.
00:10:46
◼
►
We have a lot of pretty cool listeners.
00:10:47
◼
►
Also confirming what I said last episode
00:10:49
◼
►
that pro audio gear, and actually people wrote in to say
00:10:52
◼
►
also pro film gear does similar things.
00:10:55
◼
►
Rather than trying to like sync up
00:10:57
◼
►
a bunch of different audio tracks afterwards
00:10:59
◼
►
in software from different audio recording sources
00:11:02
◼
►
that might be on a film set or in a recording studio,
00:11:05
◼
►
they use the concept of a master clock.
00:11:07
◼
►
And they have one device, whether it's a clock generator
00:11:10
◼
►
or just a device that has an internal clock,
00:11:13
◼
►
and ProGear has usually clock in and clock out ports
00:11:16
◼
►
on the back of it.
00:11:17
◼
►
And so they actually physically wire all to each other
00:11:21
◼
►
and they coordinate the clock based on one master source
00:11:24
◼
►
rather than each device keeping its own clock
00:11:26
◼
►
and therefore introducing this drift.
00:11:27
◼
►
So lots of people wrote in saying that was true.
00:11:29
◼
►
And then the best feedback we got,
00:11:31
◼
►
I very casually mentioned last episode
00:11:33
◼
►
that I had just anecdotally found
00:11:35
◼
►
that laptops generally have more drift
00:11:39
◼
►
than like a Mac Pro or a desktop, or like an iMac.
00:11:43
◼
►
And it turns out, there's some basis for this,
00:11:45
◼
►
the quartz crystals that vibrate at particular frequencies
00:11:49
◼
►
that create these clocks and these devices
00:11:51
◼
►
that have to be so accurate,
00:11:53
◼
►
they are very dependent on stable temperature.
00:11:55
◼
►
And if they don't have a stable temperature
00:11:58
◼
►
that they're operating at,
00:11:59
◼
►
or if they're just two different ones
00:12:00
◼
►
operating at two different temperatures,
00:12:02
◼
►
that can cause these very slight differences.
00:12:06
◼
►
And laptops, usually their internal components
00:12:09
◼
►
usually operate hotter than desktops,
00:12:11
◼
►
and they also fluctuate more.
00:12:13
◼
►
And desktops have much bigger heat sink mechanisms,
00:12:17
◼
►
they have usually larger fans that are spinning faster
00:12:19
◼
►
and pushing more air over them,
00:12:20
◼
►
so desktops tend to be cooled better.
00:12:23
◼
►
And so I think that alone might explain
00:12:26
◼
►
that little anecdotal thing that yes,
00:12:27
◼
►
this is worse on laptops,
00:12:30
◼
►
or when you have one desktop on one end
00:12:34
◼
►
and the other person on the other end is using a laptop,
00:12:36
◼
►
that might have more drift between them
00:12:37
◼
►
than if both people were using desktops
00:12:39
◼
►
or if both people were using laptops.
00:12:41
◼
►
- Yeah, and this is related to the reason I was,
00:12:44
◼
►
I put the original feedback in follow-up from like,
00:12:47
◼
►
this seems weird to me.
00:12:48
◼
►
You tell me we can't make quartz crystals that are accurate
00:12:50
◼
►
I remember from you know the world of watches which I'm not that involved in but that you know the fancy mechanical watches obviously are
00:12:57
◼
►
Terrible keeping time because they have a bunch of gears and stuff
00:12:59
◼
►
But like you know a 10 cent quartz watch keeps amazing time for you know for an entire year
00:13:04
◼
►
Maybe we lose a second
00:13:05
◼
►
It's like so how can you make a stupid plastic quartz watch that keeps amazing time and it's very accurate over the course of an entire
00:13:11
◼
►
Year, but we can't make a quartz crystal for our computer
00:13:14
◼
►
That is equally accurate
00:13:15
◼
►
And there are a bunch of factors that have to go into that having to do with the specifics of the quality of the crystals
00:13:21
◼
►
for even for a 10 cent watch or whatever, but
00:13:23
◼
►
one of our readers
00:13:25
◼
►
One of our readers wrote in to tell us that the advantage a watch has is that it is essentially kept at an even temperature by
00:13:32
◼
►
being next to your skin
00:13:33
◼
►
So you are essentially
00:13:35
◼
►
Temperature regulating the watch the entire time you're wearing it and that's the best thing for a quartz crystal actually in scenarios where they really want
00:13:41
◼
►
Them to be stable they put them in a little everywhere
00:13:43
◼
►
they called it, but they put them in a little device that keeps it at a stable temperature.
00:13:47
◼
►
So having a watch and wearing it all the time keeps it accurate, much more accurate than
00:13:52
◼
►
a laptop that the temperatures are going up and down and you're putting it to sleep and
00:13:56
◼
►
you're playing a game and it's all over the map.
00:13:58
◼
►
So this is all very explicable and now we should feel every time we learn anything about
00:14:04
◼
►
the actual analog physical world of components inside your computer it makes you feel scared.
00:14:08
◼
►
So now you can know that the things regulating the clocks are pieces of crap too and change
00:14:13
◼
►
all the time, there's nothing you can do about it.
00:14:15
◼
►
- Yeah, like whenever you learn anything
00:14:16
◼
►
about the analog component world,
00:14:17
◼
►
like you start, like we live in like this digital world
00:14:20
◼
►
where we think everything is just,
00:14:22
◼
►
like you know, a one is just on, and a zero is just off.
00:14:25
◼
►
And of course, like when you get down to the analog level
00:14:27
◼
►
of like the physical implementation of these chips
00:14:29
◼
►
and these components, it isn't that simple,
00:14:32
◼
►
and everything's kind of like tolerances and variances
00:14:35
◼
►
and approximations and tricks, and it's like,
00:14:38
◼
►
it's kind of amazing all the stuff we have works at all
00:14:41
◼
►
as consistently as it does.
00:14:42
◼
►
I mean, even just the clock, like you learned from like CPU design, even just propagating
00:14:46
◼
►
the clock signal around the die of a large CPU is kind of sketchy at best.
00:14:50
◼
►
And they all have all sorts of phase lock loops and other things to make sure that that
00:14:54
◼
►
actually propagates everywhere and it's the same everywhere and you don't have delays
00:14:59
◼
►
So anyway, I think we are now all completely satisfied that we understand why Marko's
00:15:03
◼
►
tool is necessary in life.
00:15:06
◼
►
speaking of, in your quest to avoid doing actual work, you actually filed radar.
00:15:12
◼
►
- Yes I did. - I'm very proud of you. So do you want to tell us about this?
00:15:17
◼
►
- Okay, so last episode in the after show, I got my time in the sun or whatever the metaphor
00:15:26
◼
►
is and whatever floats your bubble. And so I got to finally explain the details of the
00:15:34
◼
►
MP3 file format and the efforts I was trying to do with variable bitrate or VBR encoding
00:15:41
◼
►
and why podcasts couldn't practically use VBR encoding, which basically boils down to
00:15:47
◼
►
the method to seek a VBR file that you don't have all of. So like if you are playing a
00:15:52
◼
►
stream and the user jumps ahead to a timestamp that's way forward in the stream that you
00:15:57
◼
►
haven't downloaded like the part of the file between those two points, you can't really
00:16:01
◼
►
know exactly what byte position to jump to to get to timestamp one hour thirty without
00:16:07
◼
►
using these lookup tables at the beginning of a VBR file that just don't have very
00:16:12
◼
►
much precision in the current standards or in the old standard. They're very imprecise
00:16:16
◼
►
and so over the course of like a two hour podcast, you only have in the most common
00:16:21
◼
►
jump table format, you only have a hundred entries. So you have minute precision at best.
00:16:26
◼
►
You know, it might even be less than a minute precision. I've learned a lot since then.
00:16:30
◼
►
I did a lot of experimentation,
00:16:31
◼
►
I talked to a bunch of people,
00:16:33
◼
►
and I learned a lot about this.
00:16:36
◼
►
So I was recommending the use of this,
00:16:39
◼
►
there's an ID3 tag,
00:16:41
◼
►
it's abbreviated MLLT for MPA location lookup table,
00:16:45
◼
►
and this is basically an ID3 tag version
00:16:49
◼
►
of the VBR offset jump table to tell you
00:16:52
◼
►
which bytes map to which time stamp,
00:16:54
◼
►
so you can jump between the file easily
00:16:55
◼
►
without having to have download the whole thing
00:16:57
◼
►
and just scan through manually.
00:16:59
◼
►
The benefit of the ID3 tag is that it can be any size.
00:17:02
◼
►
Like the VBR jump table thing is restricted to the size
00:17:06
◼
►
of like the one MP3 frame that they shoved it into
00:17:09
◼
►
for compatibility reasons, so it has to be like
00:17:12
◼
►
basically below a kilobyte or so.
00:17:13
◼
►
The ID3 tag can be any length you want it to be,
00:17:16
◼
►
so the ID3 tag version of this would be great
00:17:19
◼
►
because you can basically have arbitrary precision.
00:17:22
◼
►
As much space as you're willing to devote to this,
00:17:24
◼
►
and like for me, I was able to encode one second precision
00:17:28
◼
►
of the time stamps with something like 16 kilobytes of a total jump table. So for like
00:17:33
◼
►
a 45 megabyte podcast, 16K for the jump table is fine and by having VBR you're saving like
00:17:39
◼
►
20 megs on the file size in that case so like it's totally worth the savings to embed this
00:17:45
◼
►
little jump table. So I also heard from Devin Govitt. After recording last episode I discovered
00:17:51
◼
►
a GitHub open source project called AudioCogs.
00:17:55
◼
►
And it's a group of people who make JavaScript implementations
00:17:59
◼
►
of decoders for MP3, AAC, a couple other audio formats,
00:18:03
◼
►
and a whole audio player, all written in JavaScript,
00:18:06
◼
►
that can decode and play these audio formats entirely
00:18:11
◼
►
in JavaScript, and that support MLT tag, these proper VBR seek
00:18:16
◼
►
methods, and if they didn't, it's
00:18:18
◼
►
an easy way for me to add support to this.
00:18:20
◼
►
'cause I could then have my site's web player
00:18:24
◼
►
switch to this and then I would eliminate
00:18:26
◼
►
a lot of this problem.
00:18:27
◼
►
Anyway, so I heard from one of the authors of this,
00:18:30
◼
►
Devin Govit, we went back and forth a few times.
00:18:33
◼
►
Devin informed me that the Fraunhofer VBRI tag,
00:18:37
◼
►
which is an alternative version of that stupid
00:18:40
◼
►
100 entry jump table, is basically a more precise
00:18:44
◼
►
version of that, it still has to fit within one MP3 frame,
00:18:47
◼
►
but instead of being 100 bytes, it can be like,
00:18:50
◼
►
1.3 kilobytes, so that's better.
00:18:54
◼
►
You have more space, more precision.
00:18:57
◼
►
So I did some experimentation with that.
00:18:59
◼
►
Couple problems came up though.
00:19:00
◼
►
First, I discovered in the experimentation
00:19:02
◼
►
and going back and forth with Devin
00:19:04
◼
►
that not only does Apple's decoder not support
00:19:08
◼
►
the MLT or this VBRI tag that has the more precise version,
00:19:13
◼
►
even that stupid little 100 byte version
00:19:16
◼
►
in the Zing tag that we talked about last episode,
00:19:20
◼
►
Apple doesn't use it.
00:19:21
◼
►
Their decoder completely ignores it.
00:19:24
◼
►
It does read these tags to get the duration of the files.
00:19:28
◼
►
So it's parsing them,
00:19:30
◼
►
'cause the duration's also one of the fields in these tags.
00:19:33
◼
►
So it reads them for the duration,
00:19:34
◼
►
and if you edit them in a hex editor
00:19:35
◼
►
and you put any duration you want there,
00:19:37
◼
►
it'll show up like in QuickLook
00:19:38
◼
►
and everything has that duration.
00:19:38
◼
►
So we know it's reading them,
00:19:40
◼
►
but it completely ignores any of the entries
00:19:43
◼
►
that are in these seek tables
00:19:44
◼
►
that tell it which byte maps to which timestamp.
00:19:47
◼
►
In any of these formats, it ignores all of them.
00:19:49
◼
►
This is bad.
00:19:51
◼
►
So I basically wrote up a bug report
00:19:53
◼
►
and I emailed some people inside Apple to say like,
00:19:55
◼
►
hey, here's this problem I'm having.
00:19:57
◼
►
And if you guys would support really any of these formats,
00:20:02
◼
►
except for maybe the stupid 100 byte one,
00:20:05
◼
►
but if you'd support the Fraunhofer VBRI frame
00:20:08
◼
►
or the awesome MLT ID3 tag,
00:20:12
◼
►
either of those would provide usable precision
00:20:15
◼
►
for a two hour podcast to be able to seek reliably within it
00:20:17
◼
►
within one to 10 seconds of the desired point
00:20:20
◼
►
as opposed to the stupid 100 byte one
00:20:22
◼
►
which is like a minute off and their estimation
00:20:25
◼
►
which could be any amount off really
00:20:27
◼
►
and is frequently like 30 to 60 seconds off.
00:20:30
◼
►
Anyway, so I emailed this around and I made a blog post.
00:20:32
◼
►
I basically made as much noise as possible about this issue
00:20:36
◼
►
because I've realized,
00:20:37
◼
►
and sorry for the massive diversion here,
00:20:39
◼
►
I like talking about like ranty Apple stuff on a podcast
00:20:43
◼
►
where it doesn't get me in trouble
00:20:44
◼
►
and where you guys can tame me a little bit and rebut me.
00:20:48
◼
►
It's better for me to reserve my blog for issues
00:20:51
◼
►
of maybe greater importance or more boring topics
00:20:56
◼
►
or whatever else.
00:20:58
◼
►
My blog is a great way to spread a message
00:21:01
◼
►
to people who don't always follow me.
00:21:04
◼
►
And that is often the problem.
00:21:07
◼
►
Like when I get myself into hot water,
00:21:08
◼
►
it's often because a whole bunch of people
00:21:10
◼
►
who don't follow me and don't really get my context
00:21:14
◼
►
are reading something that I didn't write very well
00:21:17
◼
►
and where I assume people would get my context
00:21:19
◼
►
and would understand me and they'd be the ones reading it
00:21:21
◼
►
and that gets me into trouble.
00:21:23
◼
►
But something like this, where I'm requesting
00:21:26
◼
►
that Apple implement an esoteric standard
00:21:29
◼
►
of the MP3 file format that's 20 years old,
00:21:32
◼
►
that is really boring and doesn't spread
00:21:34
◼
►
onto Business Insider or CNBC.
00:21:36
◼
►
And there's not much in battle that's really controversial,
00:21:39
◼
►
although Hacker News found some things,
00:21:40
◼
►
but most people would not find this controversial.
00:21:43
◼
►
So this is, I think, is a very good use of my blog,
00:21:46
◼
►
and it kind of, it's helping inform me
00:21:48
◼
►
like how I should use my various outlets going forward.
00:21:51
◼
►
Anyway, I found a giant bug report with example files
00:21:54
◼
►
and examples of why their way of just ignoring
00:21:57
◼
►
these seek tables for long VBR MP3s was bad,
00:22:01
◼
►
you know, why that's bad, how you can fix it.
00:22:03
◼
►
That's it, nothing has happened yet on this front.
00:22:05
◼
►
However, I have gotten rumblings here and there
00:22:08
◼
►
that this bug report has traveled inside of Apple.
00:22:13
◼
►
but that's all I know, and I don't know anything else
00:22:15
◼
►
that's going on with it.
00:22:16
◼
►
It is probably too late, even if Apple decided I was right
00:22:19
◼
►
and they wanted to do this, it is almost certainly too late
00:22:22
◼
►
to get it into iOS 10 or Mac OS Sierra,
00:22:27
◼
►
but I would just love for this to happen sometime soon.
00:22:29
◼
►
And the main reason why I can't do the audio cogs
00:22:34
◼
►
and the Aurora JS, like the JavaScript version
00:22:38
◼
►
that I was telling you about a minute ago,
00:22:39
◼
►
the HTML5 audio element can fetch a file
00:22:42
◼
►
from basically anywhere, but for JavaScript to fetch a file
00:22:45
◼
►
you run into all these CORS issues.
00:22:47
◼
►
And you also, you can't cross from HTTPS to HTTP,
00:22:52
◼
►
and all these, like all these restrictions of like,
00:22:54
◼
►
you know, for various web security purposes,
00:22:57
◼
►
all these restrictions on what JavaScript
00:22:59
◼
►
is allowed to fetch from.
00:23:01
◼
►
And for me to be able to play podcasts
00:23:04
◼
►
from arbitrary podcast hosts,
00:23:06
◼
►
I basically can't use this thing.
00:23:07
◼
►
I could run a proxy, but if I do that,
00:23:10
◼
►
then the podcasters don't get unique hit information really,
00:23:14
◼
►
so that's no good.
00:23:16
◼
►
So there's a whole bunch of crappy reasons why,
00:23:20
◼
►
in practice I can't use the JavaScript approach
00:23:22
◼
►
of just decoding the whole file in JavaScript
00:23:24
◼
►
and basically then running my own decoders.
00:23:27
◼
►
So I'm reliant on Apple, I have to,
00:23:29
◼
►
if podcast VBR is ever gonna happen,
00:23:32
◼
►
Apple has to build it into their decoders, that's it.
00:23:35
◼
►
- Well, but hold on, so a couple of questions here.
00:23:37
◼
►
First of all, let's assume you did desire to proxy it,
00:23:42
◼
►
because this was that important to you for the web client.
00:23:45
◼
►
Why couldn't you proxy each request individually?
00:23:48
◼
►
I mean, it's a crud load of bandwidth,
00:23:50
◼
►
but is there any other reason why you couldn't do that?
00:23:53
◼
►
So at least all of these hits are unique,
00:23:55
◼
►
they're just coming from you
00:23:56
◼
►
and not the actual person that's asking for them?
00:23:59
◼
►
- The main problem with that is that
00:24:01
◼
►
even if you architected the proxy such that
00:24:04
◼
►
every inbound request equaled
00:24:06
◼
►
one back end outbound request.
00:24:08
◼
►
- Which would be silly in general,
00:24:09
◼
►
but in this case may make sense.
00:24:11
◼
►
- Right, so even if you did that,
00:24:13
◼
►
the request would still appear to be all coming
00:24:15
◼
►
from one IP address.
00:24:17
◼
►
- So, and most, it's kind of a highly debated topic
00:24:20
◼
►
in the podcast world of like what counts as a download.
00:24:24
◼
►
You know, 'cause there's, as with most things,
00:24:26
◼
►
it's complicated, and so you can't just say,
00:24:29
◼
►
oh, well every hit you get, nope, doesn't work that way.
00:24:31
◼
►
Because that's, yeah, a hit doesn't match up
00:24:34
◼
►
to a listener necessarily.
00:24:35
◼
►
So anyway, most podcast hosts have their own idea
00:24:39
◼
►
of what a download should count as,
00:24:41
◼
►
and most of them involve the IP address
00:24:43
◼
►
of the source in some way.
00:24:45
◼
►
So it might be like, you know,
00:24:47
◼
►
a unique download is like one IP,
00:24:49
◼
►
or like the IP has to be unique within a certain
00:24:51
◼
►
time interval for it to count as a unique download
00:24:54
◼
►
or something like that.
00:24:54
◼
►
Like there's all these different tricks that people do,
00:24:57
◼
►
but basically if all your requests came from my single IP
00:25:00
◼
►
that was running the proxy, it would not,
00:25:03
◼
►
people's stats would under count.
00:25:06
◼
►
That being said, I actually already wrote
00:25:09
◼
►
and run one such proxy.
00:25:11
◼
►
I already have this, that I designed exactly this way
00:25:14
◼
►
and that has exactly this problem.
00:25:16
◼
►
And the only reason that it's not really a problem
00:25:20
◼
►
that it hasn't gotten me into any hot water with anybody
00:25:22
◼
►
is because it's hardly ever used.
00:25:25
◼
►
And I designed it because Overcast has a Twitter card.
00:25:28
◼
►
On any share link I have Twitter cards.
00:25:30
◼
►
And so if you view a tweet with an Overcast link
00:25:33
◼
►
on Twitter's website or in any other clients
00:25:35
◼
►
that support their cards,
00:25:36
◼
►
which is very few of them in practice.
00:25:38
◼
►
I show a whole little overcast embedded player
00:25:40
◼
►
and it works and it's great.
00:25:41
◼
►
You can stream, you can do timestamps,
00:25:43
◼
►
it works perfectly, it's just like the website but tiny.
00:25:45
◼
►
Twitter's cards require that all assets loaded through them
00:25:49
◼
►
must be served over HTTPS.
00:25:52
◼
►
So I actually have kind of like a little function,
00:25:55
◼
►
like a mapping that many big podcast hosts,
00:25:58
◼
►
including Libsyn, our host,
00:26:00
◼
►
Many of them have just a simple way
00:26:03
◼
►
that you can transform their insecure URLs
00:26:07
◼
►
into HTTPS URLs with a simple string replacement
00:26:10
◼
►
on certain things and everything.
00:26:12
◼
►
So some hosts I can just redirect,
00:26:14
◼
►
I can do a straight redirect and it's fine,
00:26:16
◼
►
but not all hosts.
00:26:17
◼
►
So I actually run this proxy that does this,
00:26:21
◼
►
that follows redirects,
00:26:22
◼
►
and when it's a host that it knows about,
00:26:24
◼
►
it can send you along,
00:26:26
◼
►
and when it's not, it does that proxy
00:26:28
◼
►
of one-to-one connection mapping exactly the way you'd think.
00:26:31
◼
►
And the only reason it isn't a problem
00:26:32
◼
►
for either my bandwidth cost or people getting mad at me
00:26:35
◼
►
is that the cards get pretty low usage, relatively speaking.
00:26:39
◼
►
Not a lot of people play podcasts that way,
00:26:41
◼
►
as far as I know.
00:26:42
◼
►
So that's the only reason that works.
00:26:44
◼
►
And to answer Glass_ in the chat room,
00:26:48
◼
►
who said send them something like the X forwarded for header,
00:26:53
◼
►
that I do send X forwarded for,
00:26:55
◼
►
that is a header that proxies use
00:26:57
◼
►
to tell what they're fetching from the IP
00:27:00
◼
►
of the person fetching it from them.
00:27:02
◼
►
So it's kind of a way to forward the source IP.
00:27:05
◼
►
Problem is you can't trust that.
00:27:07
◼
►
So if you have a podcast metrics thing
00:27:09
◼
►
that is trying to measure unique IPs in an honest fashion,
00:27:13
◼
►
you can't really trust if somebody sends you
00:27:16
◼
►
an X forwarded four header and you get a whole bunch
00:27:18
◼
►
of requests from one real IP, but that IP says,
00:27:22
◼
►
oh, I'm actually forwarding you these requests
00:27:23
◼
►
from these other 10,000 IPs.
00:27:25
◼
►
You really can't trust that for your purposes of stats that you tell sponsors.
00:27:30
◼
►
Our first sponsor this week is Betterment.
00:27:33
◼
►
Betterment is the largest independent automated investing service out there.
00:27:36
◼
►
You've probably been hearing a lot about Betterment in TechCrunch, the Wall Street Journal, and
00:27:39
◼
►
other major news outlets because Betterment makes it easier, more straightforward, and
00:27:43
◼
►
less expensive to invest.
00:27:46
◼
►
Betterment is built on smarter, cutting-edge technology to bring you sophisticated investing
00:27:49
◼
►
and financial advice all at a much lower cost than more traditional financial services.
00:27:55
◼
►
More than 175,000 customers choose Betterment's advanced advice algorithms and beautiful user
00:27:59
◼
►
interface to manage over $5 billion of their customers' dollars.
00:28:03
◼
►
This is the perfect time to get started with Betterment and to get started saving for your
00:28:06
◼
►
retirement or your other financial goals.
00:28:08
◼
►
ATP listeners can get up to six months of no fees.
00:28:12
◼
►
Now their regular fees are already very low, way lower than what you'd think for most
00:28:15
◼
►
financial advisors.
00:28:16
◼
►
Up to six months of no fees by going to betterment.com/ATP.
00:28:21
◼
►
That's betterment.com/ATP.
00:28:24
◼
►
investing made better.
00:28:26
◼
►
(upbeat music)
00:28:29
◼
►
- So you had said before,
00:28:32
◼
►
well if Apple just implements this,
00:28:33
◼
►
then you can start using it on the web
00:28:37
◼
►
because the HTML5 audio tag will support it,
00:28:40
◼
►
et cetera, et cetera.
00:28:41
◼
►
But what about your beloved Windows users?
00:28:44
◼
►
Or next year's gonna be the year of Linux on the desktop,
00:28:48
◼
►
so what about them?
00:28:49
◼
►
- First of all, we don't have that many of them, honestly.
00:28:52
◼
►
like not a lot of people use Windows and use my app
00:28:56
◼
►
or follow the share links generated by my app
00:29:00
◼
►
or anything else.
00:29:01
◼
►
I would love to change that because there are a lot
00:29:02
◼
►
of Windows users out there.
00:29:03
◼
►
I would love for more Windows people to see the share links
00:29:06
◼
►
from Overcast 'cause that would mean that the share links
00:29:08
◼
►
are being spread far and wide and that's the whole point
00:29:10
◼
►
of the share links.
00:29:12
◼
►
But reality is different.
00:29:13
◼
►
Reality is that they really don't get much Windows usage
00:29:17
◼
►
So that's problem number one or rather dodge number one
00:29:20
◼
►
where I can dodge this issue.
00:29:23
◼
►
Same reason why I never test my websites in IE
00:29:25
◼
►
because my audience and my customer bases
00:29:28
◼
►
tend to have such incredibly low,
00:29:30
◼
►
or whatever IE is called now, what is it called now?
00:29:35
◼
►
(upbeat music)
00:29:39
◼
►
- Anyway, the main reason why I don't really need
00:29:43
◼
►
to care that much about this problem
00:29:45
◼
►
for other browsers other than things
00:29:47
◼
►
that use Apple's built-in decoders and my own app
00:29:50
◼
►
is because it's only a problem for seeking to timestamps
00:29:55
◼
►
that haven't been downloaded.
00:29:58
◼
►
In all other ways, VBR MP3s work great already.
00:30:01
◼
►
- Don't you have the same problem
00:30:02
◼
►
even if they added support for it?
00:30:04
◼
►
That it doesn't matter because you have to wait
00:30:06
◼
►
for everyone to upgrade to an operating system
00:30:08
◼
►
that includes that support that Apple just added.
00:30:11
◼
►
- In practice, yes, but the amount of time I have to wait
00:30:14
◼
►
isn't that much, especially for podcast listeners
00:30:17
◼
►
to a tech show.
00:30:18
◼
►
Like, that's a pretty upgradey group.
00:30:22
◼
►
We don't have to wait that long.
00:30:25
◼
►
- Even on the Mac?
00:30:26
◼
►
Like, iOS probably, like, their upgrade curves
00:30:28
◼
►
are always pretty good, but the Mac upgrade curves
00:30:30
◼
►
have not been great.
00:30:31
◼
►
Like, you'd wait a year and it'd be like 50% adoption,
00:30:33
◼
►
which is better than Windows, but still.
00:30:35
◼
►
- For people who would see, 'cause again,
00:30:38
◼
►
I don't have to worry about users of my app.
00:30:40
◼
►
I control my app, I can update my app.
00:30:42
◼
►
I have to worry about people who are gonna see
00:30:43
◼
►
the share links.
00:30:44
◼
►
You know, right now the share links
00:30:46
◼
►
don't have big audiences.
00:30:47
◼
►
They get used some, and some people see them,
00:30:49
◼
►
and that's great.
00:30:50
◼
►
I want to make them bigger,
00:30:51
◼
►
because I think podcast sharing could use help,
00:30:54
◼
►
and you know, I mean everybody in podcasting
00:30:55
◼
►
thinks podcast sharing can use help.
00:30:57
◼
►
But like, here I am, like actually,
00:30:59
◼
►
I actually have something that does help,
00:31:00
◼
►
and I want it to get bigger and better.
00:31:02
◼
►
The reality is, even if, you know,
00:31:06
◼
►
if Apple had support, suppose it makes it
00:31:07
◼
►
into the next major versions of OS X and iOS, whatever,
00:31:10
◼
►
you know, not the ones coming out in a few weeks or whatever,
00:31:12
◼
►
but next year or in the spring or whatever else.
00:31:15
◼
►
It'll probably be about a year after that
00:31:17
◼
►
before I can reliably use it, because at that point,
00:31:22
◼
►
you know, it's gonna be way more than half,
00:31:23
◼
►
because first of all, the people who are seeing share links
00:31:28
◼
►
from social media are gonna be way more likely
00:31:30
◼
►
to be on mobile than on a desktop.
00:31:32
◼
►
So the slower adoption curve on Mac OS
00:31:35
◼
►
is not going to be as big of a problem
00:31:36
◼
►
because it's gonna be offset by the large proportion
00:31:39
◼
►
of those viewers who are gonna be on iOS and Android,
00:31:44
◼
►
if anybody can tolerate me who's using Android,
00:31:47
◼
►
which is a big ask.
00:31:48
◼
►
So I think iOS will be updated faster,
00:31:53
◼
►
especially as Apple has figured out how to make people
00:31:55
◼
►
upgrade by adding emoji and messages tricks.
00:31:58
◼
►
So again, I think give it a year after they add support,
00:32:02
◼
►
and then I think almost anybody can responsibly do this,
00:32:05
◼
►
and it would be fine.
00:32:08
◼
►
Podcast listening, if anybody doesn't know,
00:32:11
◼
►
Rob Walks, the CEO of Libsyn,
00:32:13
◼
►
Libsyn is a massive podcast host.
00:32:16
◼
►
They've been around forever and they host a ton of podcasts
00:32:19
◼
►
including this one and if you listen to this,
00:32:22
◼
►
they probably host a lot of other podcasts you listen to.
00:32:24
◼
►
I'm pretty sure all of the Relay FM shows are hosted there.
00:32:27
◼
►
It's a very big podcast host.
00:32:31
◼
►
And they do a podcast, I forget what it's called.
00:32:36
◼
►
I'll put it in the show notes.
00:32:38
◼
►
They do a podcast where it's like tips for podcasters.
00:32:41
◼
►
And then something like once a month,
00:32:42
◼
►
the CEO of Libsyn goes on there and gives stats
00:32:46
◼
►
of like podcast user agents, like what clients,
00:32:49
◼
►
what platforms are downloading podcasts.
00:32:51
◼
►
And Libsyn is a pretty good source of this
00:32:54
◼
►
because they host so many podcasts across so many markets
00:32:58
◼
►
that it isn't just like tech heavy.
00:32:59
◼
►
Like any stats I can give you on like
00:33:01
◼
►
how people use Overcast is like how Apple nerds
00:33:04
◼
►
who know who I am mostly use Overcast.
00:33:06
◼
►
like the top podcast and overcast are mostly tech shows.
00:33:10
◼
►
They're not, but if you look at the top podcast
00:33:12
◼
►
in the world, it's mostly not tech shows.
00:33:14
◼
►
So obviously, overcast usage is not representative
00:33:17
◼
►
of all podcasters out there.
00:33:19
◼
►
But Libsyn's stats are really close, I think.
00:33:21
◼
►
I would say Libsyn's stats are probably
00:33:23
◼
►
the best representation we have outside of Apple,
00:33:26
◼
►
and they're not talking of how podcasters behave in mass,
00:33:30
◼
►
what the overall market looks like.
00:33:32
◼
►
And the stats they give, I listen to this
00:33:35
◼
►
take notes every month.
00:33:37
◼
►
And so here, let me just pull this up here.
00:33:39
◼
►
So the most recent ones were stats for June.
00:33:41
◼
►
77% of listens were on mobile devices.
00:33:45
◼
►
And every month that number increases.
00:33:47
◼
►
So already, very mobile heavy.
00:33:50
◼
►
iOS to Android is a little over three to one.
00:33:54
◼
►
And that ratio's going down.
00:33:55
◼
►
Android is becoming more popular now
00:33:57
◼
►
because people are finally building in,
00:34:00
◼
►
like Android vendors like Samsung
00:34:01
◼
►
are finally building in podcast clients.
00:34:03
◼
►
They weren't for a long time.
00:34:04
◼
►
and so that's adding a lot to the Android side.
00:34:08
◼
►
But so basically, you still have like more than three times
00:34:12
◼
►
of any people listening on iOS than Android.
00:34:15
◼
►
And only like 22% of listeners listening on computers.
00:34:20
◼
►
So this is a very mobile heavy market
00:34:23
◼
►
and it's a very iOS heavy market.
00:34:25
◼
►
So that's why I think it's fairly responsible
00:34:28
◼
►
for a lot of podcasters, especially if you are in like
00:34:31
◼
►
the Apple tech world like we are,
00:34:33
◼
►
where your audience is gonna be even more skewed
00:34:35
◼
►
towards recent Apple platforms.
00:34:38
◼
►
I think one year after they add support to this,
00:34:40
◼
►
it's totally safe to do, and I might even do it sooner.
00:34:43
◼
►
- So do you feel optimistic about them
00:34:45
◼
►
actually adding support, or do you feel like
00:34:47
◼
►
it's gonna be two years before this bug is closed
00:34:49
◼
►
as it behaves correctly?
00:34:50
◼
►
- When I filed this bug in my bug reporter,
00:34:54
◼
►
it was next to two other bugs that have been open forever.
00:34:58
◼
►
I'm lucky if I get a response.
00:35:02
◼
►
I don't file that many bugs with Apple
00:35:04
◼
►
because the effort on my side to feedback
00:35:07
◼
►
and potential benefit I will get from that
00:35:11
◼
►
ratio is so terrible.
00:35:13
◼
►
Like, you know, this took the better part of two days
00:35:16
◼
►
to do research properly to like figure out
00:35:19
◼
►
that Apple didn't even support these tags at all.
00:35:20
◼
►
You know, I thought they were supporting
00:35:21
◼
►
at least the crappy one.
00:35:22
◼
►
They supported none of them.
00:35:24
◼
►
And you know, to modify my, these test files,
00:35:27
◼
►
to like, you know, write these tags properly
00:35:29
◼
►
and everything, took a lot of work.
00:35:30
◼
►
to write a bug report, give proper test coverage
00:35:33
◼
►
and everything, it takes a lot of time, a lot of work.
00:35:36
◼
►
And usually I file bugs and they go nowhere.
00:35:39
◼
►
If I'm lucky, they might be closed as a duplicate.
00:35:43
◼
►
And when they're closed as a duplicate,
00:35:44
◼
►
I believe I then lose any visibility on that.
00:35:48
◼
►
I forget, I think they changed it recently, anyway.
00:35:50
◼
►
So the feedback loop is terrible for filing bugs for Apple.
00:35:55
◼
►
People who do it are good people.
00:35:58
◼
►
they probably floss, they're probably very good people.
00:36:02
◼
►
I have a hard time doing it most of the time
00:36:04
◼
►
because again, I see what happens with the few bugs
00:36:07
◼
►
I do file and they sit around forever
00:36:10
◼
►
and they don't even get closed.
00:36:12
◼
►
And the few that do get closed are often closed
00:36:16
◼
►
in a way that I consider invalid.
00:36:18
◼
►
They'll do something like, we're gonna close this
00:36:23
◼
►
unless you tell us really soon that this is still happening
00:36:25
◼
►
on the newest build of iOS.
00:36:27
◼
►
for a bug that I filed like six months ago
00:36:29
◼
►
that is easily testable.
00:36:30
◼
►
Like, they clearly have a wide variety of quality of people
00:36:35
◼
►
who go through the bug reports,
00:36:38
◼
►
and many of them clearly just want to close
00:36:39
◼
►
as many as possible without actually doing any work.
00:36:41
◼
►
Like, the incentives are wrong there.
00:36:43
◼
►
- Are you saying you don't floss?
00:36:47
◼
►
- So anyway, I usually don't file bugs
00:36:50
◼
►
because I've had a poor history of any response
00:36:54
◼
►
from Apple on bugs, but this time I filed it
00:36:56
◼
►
because I figured basically there's nothing else I can do.
00:36:58
◼
►
I can't work around this.
00:36:59
◼
►
Like, I mentioned the JavaScript thing.
00:37:01
◼
►
I tried doing the JavaScript thing,
00:37:02
◼
►
but because of all the CORS restrictions,
00:37:05
◼
►
it makes it pretty much impossible to use
00:37:08
◼
►
for an arbitrary set of hosts that you don't control,
00:37:12
◼
►
most of which don't send CORS permission headers already.
00:37:15
◼
►
So that's a non-starter.
00:37:17
◼
►
I could write my own decoder in my app
00:37:20
◼
►
that calculates these offsets, but that's only one app.
00:37:24
◼
►
And so to make something, like even our podcast,
00:37:28
◼
►
that you would think, you know, what percentage of people
00:37:31
◼
►
who download our podcast do you think listen in Overcast?
00:37:34
◼
►
And a lot of people would probably guess
00:37:36
◼
►
it's a pretty high ratio, and it is,
00:37:37
◼
►
compared to Overcast's global ratio.
00:37:39
◼
►
I haven't looked recently,
00:37:40
◼
►
but I think it's something like 60%.
00:37:42
◼
►
That's still 40% of our listeners
00:37:44
◼
►
who don't listen in Overcast who wouldn't have,
00:37:47
◼
►
who would need compatibility in this way,
00:37:49
◼
►
you know, for seeking in streams.
00:37:51
◼
►
I basically, the reason I'm following this bug
00:37:53
◼
►
is that it's my last hope to get the VR MP3s to be a thing.
00:37:56
◼
►
I think they'd be great if they were a thing.
00:37:57
◼
►
I think it's ridiculous that they aren't a thing yet,
00:38:00
◼
►
but if there's any hope of them being a thing,
00:38:02
◼
►
it's basically on Apple to do.
00:38:04
◼
►
'Cause if Apple doesn't do it,
00:38:05
◼
►
nobody else can and nobody else will.
00:38:08
◼
►
- Did you make a strong recommendation
00:38:09
◼
►
that they implement a specific one of these?
00:38:11
◼
►
'Cause if you just said,
00:38:12
◼
►
"Oh, here are all these things you don't support,"
00:38:13
◼
►
I can imagine them supporting that terrible one
00:38:15
◼
►
that only gives you 100 points,
00:38:17
◼
►
and then being like, "Done, closed, fixed."
00:38:19
◼
►
- Yeah, no, my bug report actually reads
00:38:21
◼
►
a lot like the blog post.
00:38:22
◼
►
I wrote the bug report first and then edited it
00:38:24
◼
►
to be a blog post, but basically it's a similar format.
00:38:28
◼
►
And I recommended, I gave the three options and I said,
00:38:33
◼
►
you don't parse any of these right now.
00:38:34
◼
►
This old one is not precise enough, don't use this.
00:38:37
◼
►
So I said basically the MLT tag would be the ideal one to do
00:38:42
◼
►
because it can be arbitrary length and arbitrary precision.
00:38:44
◼
►
So that's the ideal one.
00:38:46
◼
►
If you only pick one, pick that one.
00:38:49
◼
►
The Fraunhofer VBRI tag, that's like 1.3 kilobytes
00:38:52
◼
►
worth of stuff, like that's a good second choice.
00:38:54
◼
►
Like if you do that, I'll be happy,
00:38:56
◼
►
but the best one to do would be the MLT tag.
00:38:59
◼
►
- I wonder if they don't support it,
00:39:01
◼
►
not out of laziness, because like you said,
00:39:02
◼
►
they are actually parsing the durations out of them,
00:39:04
◼
►
but kind of for the same reason related to something else
00:39:07
◼
►
you said, you know, why web hosts can't trust X forwarded for.
00:39:10
◼
►
Maybe they're afraid it's gonna be filled with garbage data,
00:39:13
◼
►
and then they're afraid to like expose exploits
00:39:15
◼
►
in their like a buffer overflow or something,
00:39:17
◼
►
they put crazy offsets in there and then trigger a bug. Who knows? I don't know. The type of thing
00:39:22
◼
►
where it is, or they just don't trust the encoders to put good data in there, they don't want to try
00:39:26
◼
►
to read garbage data. These are all solvable problems, like, you know, make your thing not
00:39:31
◼
►
have silly buffer overflows and sanity check the offsets in the map and make sure they seem
00:39:38
◼
►
reasonable before blindly following them and maybe disregard if it looks like line noise. But
00:39:43
◼
►
I do wonder, because someone did have to write the code
00:39:46
◼
►
to pull these durations out of there.
00:39:47
◼
►
Why did they do that?
00:39:48
◼
►
And they're like, "Well, I'm in there.
00:39:49
◼
►
"Why don't I just actually parse this whole format
00:39:52
◼
►
"and just implement it?"
00:39:53
◼
►
- So, I mean, your concerns are totally valid.
00:39:56
◼
►
And I can completely understand how,
00:39:59
◼
►
it wouldn't surprise me at all
00:40:00
◼
►
if there was an engineering meeting at Apple
00:40:02
◼
►
some ridiculous amount of time ago.
00:40:05
◼
►
Somebody was like, "Yeah, you know what?
00:40:06
◼
►
"We could parse these things out,
00:40:08
◼
►
"but the data might be wrong,
00:40:10
◼
►
"and if we just do this percentage of time
00:40:13
◼
►
to byte offset thing that we,
00:40:15
◼
►
kind of like a dumb approximation,
00:40:16
◼
►
like that'll be close enough and it'll be consistent.
00:40:20
◼
►
And so there is a school of thought that says
00:40:24
◼
►
you should override the stupid MP3 encoders
00:40:27
◼
►
'cause who knows what garbage you're gonna get there
00:40:29
◼
►
and you should just do your thing
00:40:31
◼
►
and just make it so that it works.
00:40:34
◼
►
It's kind of close for short songs
00:40:36
◼
►
and then it doesn't matter anymore.
00:40:39
◼
►
- It's good enough for scrubber work.
00:40:40
◼
►
Like they want the scrubber,
00:40:41
◼
►
'cause when you're moving a scrubber around anyway,
00:40:43
◼
►
it's probably like an inch on some webpage
00:40:44
◼
►
and you can't tell if it's like what pixel it's on
00:40:46
◼
►
or whatever, but for your specific use case,
00:40:48
◼
►
which is no, no, no, someone's not dragging a scrubber here,
00:40:51
◼
►
I'm putting an offset in the URL down to the second
00:40:53
◼
►
and I want that precision out of it.
00:40:55
◼
►
Say, hey, YouTube does it, you should do it too.
00:40:57
◼
►
- Exactly, yeah.
00:40:59
◼
►
So there is an argument to be made there,
00:41:02
◼
►
but A, they're already reading the duration of these tags.
00:41:05
◼
►
Even if they have the whole file,
00:41:07
◼
►
they still read the duration from that header.
00:41:09
◼
►
And so if you put a garbage duration,
00:41:10
◼
►
as I did during testing, it says, all right, yeah, sure,
00:41:12
◼
►
this file is nine minutes long instead of an hour.
00:41:15
◼
►
It's happy to use that value,
00:41:17
◼
►
so it's already trusting it on some level.
00:41:19
◼
►
Also, MP3 encoders don't change that much.
00:41:22
◼
►
There's very few that are actually in active use today,
00:41:25
◼
►
and they all write good data.
00:41:27
◼
►
This isn't 1997 anymore.
00:41:29
◼
►
We have solved the MP3 encoder problem.
00:41:32
◼
►
MP3 encoders work, and they work well,
00:41:34
◼
►
and no one else besides me is going in with a hex editor
00:41:38
◼
►
and messing with these values.
00:41:40
◼
►
you're not gonna get total garbage on a regular basis.
00:41:43
◼
►
So I think what's more likely to have happened
00:41:47
◼
►
is that maybe these decoders were written
00:41:49
◼
►
a very long time ago, maybe around that timeframe,
00:41:52
◼
►
when the world of MP3 was still very much in flux
00:41:55
◼
►
and you had crappy encoders in the late '90s,
00:41:59
◼
►
and maybe they just haven't revisited it since then
00:42:00
◼
►
because there wasn't a reason to.
00:42:02
◼
►
That is the way more likely explanation for this,
00:42:04
◼
►
is like, this is very old code
00:42:07
◼
►
that no one has had any justification to touch
00:42:08
◼
►
for a long time, it works well enough, so fine.
00:42:12
◼
►
And that's why I think ultimately
00:42:14
◼
►
it probably won't get done, because I would be surprised
00:42:17
◼
►
if anybody was really motivated to devote,
00:42:20
◼
►
people have limited time, so who's gonna devote time to this
00:42:25
◼
►
out of their engineering time budget inside Apple
00:42:28
◼
►
when they might have more pressing things to worry about
00:42:31
◼
►
with supporting the new Bluetooth headphones
00:42:33
◼
►
on the next iPhone?
00:42:34
◼
►
If anything else these people could be working on
00:42:38
◼
►
is probably more important than this
00:42:39
◼
►
to Apple's overall corporate goals.
00:42:41
◼
►
- You're just supposed to be using AAC anyway,
00:42:44
◼
►
it's the future.
00:42:44
◼
►
Just use a different container format
00:42:46
◼
►
and those offset things can be all at the front of the file.
00:42:51
◼
►
- I love that Hacker News thread though.
00:42:55
◼
►
Just use a different container format,
00:42:56
◼
►
doesn't that solve all your problems?
00:42:58
◼
►
- Yeah, that was the best, yeah.
00:42:59
◼
►
- All the existing container formats are bad,
00:43:00
◼
►
but just invent your own,
00:43:01
◼
►
doesn't that solve all your problems?
00:43:02
◼
►
And then I guess make every encoder on the planet
00:43:05
◼
►
understand your new container format, it'll be fine.
00:43:08
◼
►
Yeah, this has been a lot of time on this topic.
00:43:09
◼
►
I'm sorry to everybody who doesn't care.
00:43:11
◼
►
You probably tuned out long ago,
00:43:13
◼
►
but we actually got a decent response on it.
00:43:15
◼
►
People actually enjoyed hearing about all this crap.
00:43:17
◼
►
I'm very surprised by that, actually.
00:43:19
◼
►
But I guess our listeners are both cooler and geekier
00:43:23
◼
►
than I would've assumed.
00:43:25
◼
►
- They are definitely cooler.
00:43:27
◼
►
Geekier, I'm not sure.
00:43:28
◼
►
- We're also sponsored this week by Tracker.
00:43:33
◼
►
Tracker makes losing things a thing of the past.
00:43:35
◼
►
Go to thetracker.com right now.
00:43:36
◼
►
that's thetracker.com and enter promo code ATP
00:43:39
◼
►
for 30% off your entire order.
00:43:41
◼
►
Now, Tracker is a coin-sized device
00:43:44
◼
►
that locates misplaced keys, wallets,
00:43:46
◼
►
bad computers, anything you want.
00:43:47
◼
►
It's this little thing you just attach it to anything
00:43:50
◼
►
You just pair Tracker to your phone
00:43:52
◼
►
and you attach it to anything.
00:43:53
◼
►
It communicates over Bluetooth
00:43:55
◼
►
and you can find its precise location
00:43:57
◼
►
with a tap of a button.
00:43:58
◼
►
So here's how this works.
00:43:59
◼
►
The Tracker itself, this coin-shaped thing,
00:44:00
◼
►
it has on it a button.
00:44:02
◼
►
And so when you push that button,
00:44:04
◼
►
you can locate your phone.
00:44:06
◼
►
So it works that direction.
00:44:08
◼
►
You can also launch the app on your phone
00:44:11
◼
►
to locate whatever you have attached the tracker to.
00:44:14
◼
►
So it's great for anything you lose,
00:44:16
◼
►
your keys, you know, keys are a big one obviously.
00:44:18
◼
►
You know, your backpack maybe, like your purse,
00:44:21
◼
►
bags, computers, whatever else, things you have to find,
00:44:24
◼
►
objects you have to find in your home
00:44:26
◼
►
or around the workplace, whatever else,
00:44:28
◼
►
attach a tracker to it, you can find it very, very easily
00:44:30
◼
►
with your phone.
00:44:31
◼
►
And then you can also, as I said,
00:44:32
◼
►
use the tracker in reverse, push the button on the tracker,
00:44:35
◼
►
and your phone makes a beep sound,
00:44:37
◼
►
even if the speaker is switched to silent mode.
00:44:39
◼
►
So pretty great.
00:44:41
◼
►
With over 1.5 million devices,
00:44:43
◼
►
Tracker has the largest crowd GPS network in the world.
00:44:46
◼
►
So your lost item actually shows up on a map,
00:44:48
◼
►
even if it's miles away.
00:44:49
◼
►
Never lose anything again with Tracker.
00:44:51
◼
►
Listeners of our show, get a special discount
00:44:53
◼
►
of 30% off their entire order.
00:44:55
◼
►
Go to the, that's T-H-E, tracker.com, thetracker.com,
00:45:00
◼
►
enter promo code ATP.
00:45:02
◼
►
The hardest thing you'll ever have to find is their website.
00:45:04
◼
►
then you'll be done.
00:45:05
◼
►
Thetracker.com/ATP for 30% off your entire order.
00:45:09
◼
►
Thanks a lot to Tracker for sponsoring our show.
00:45:11
◼
►
(upbeat music)
00:45:14
◼
►
- So John, if the cell signal at your house is so crappy,
00:45:18
◼
►
why not enable Wi-Fi calling and solve all your problems?
00:45:21
◼
►
- The first reason I didn't enable this is
00:45:23
◼
►
I didn't think my carrier supported it,
00:45:25
◼
►
but I was just looking at the wrong place in settings.
00:45:28
◼
►
For some reason I had it in my head
00:45:29
◼
►
that only AT&T supported this and not Verizon,
00:45:31
◼
►
but now Verizon supports it too.
00:45:33
◼
►
Of course I've now forgotten where the setting is, but anyway it's in there somewhere, you
00:45:36
◼
►
can find it.
00:45:38
◼
►
But the second thing is when I turned it on I'm like, "Oh okay, I'll turn this on and
00:45:41
◼
►
give it a try."
00:45:43
◼
►
It makes you enter your physical address because once you're on Wi-Fi calling, if you call
00:45:48
◼
►
911, 911 can immediately tell where you are because you're coming from the internet essentially
00:45:53
◼
►
and they can't get a location for you.
00:45:55
◼
►
Which is kind of weird because you can get locations from Wi-Fi base stations and everything,
00:46:00
◼
►
a lot of things use that big map of base station MAC addresses to physical locations and stuff
00:46:06
◼
►
to help aid location awareness.
00:46:08
◼
►
But anyway, what iOS says is please enter a physical location so when you call 911 if
00:46:14
◼
►
you're too injured just speaking to the phone or whatever, don't worry, they will come to
00:46:18
◼
►
this address.
00:46:20
◼
►
But of course that means that if you go someplace else and you're on wifi, say you're at work
00:46:24
◼
►
and you're on wifi, and you call 911 and don't get a chance to tell them where you are, they're
00:46:28
◼
►
going to go to your house.
00:46:29
◼
►
my understanding anyway of what this message is telling me.
00:46:32
◼
►
Enter this address here, if you call 911 this is where people will go to.
00:46:37
◼
►
But I didn't want to enable it because I'm like well then I have to remember to turn
00:46:41
◼
►
off Wi-Fi calling when I leave my house because then if I call 911 people will go to my house
00:46:46
◼
►
instead of where I am.
00:46:48
◼
►
So that's one reason why I didn't leave it on.
00:46:51
◼
►
And the second reason is, this is the stupidest reason, that reason I think is only vaguely
00:46:56
◼
►
this reason is really dumb but nevertheless is a reason everyone has
00:47:00
◼
►
the reasons this is mine it changes the thing that appears in the status bar to
00:47:04
◼
►
make some ugly thing that says like VZW whatever it doesn't say like the Verizon
00:47:09
◼
►
a little fit Wi-Fi fan symbol it says different words like in all caps and it
00:47:13
◼
►
looks ugly I don't like it that's a reason like I can understand even though
00:47:19
◼
►
I think it's a little ridiculous the whole address thing fine whatever but
00:47:23
◼
►
But because you don't want to look at VZW in your status bar, that's your reason?
00:47:28
◼
►
You try it, turn it on and see what it does to your status bar.
00:47:31
◼
►
I use AT&T, like a gentleman, and so it says AT&T Wi-Fi.
00:47:34
◼
►
But it gets rid of the fan thing, doesn't it?
00:47:36
◼
►
Or maybe it doesn't.
00:47:38
◼
►
Anyway, it changes what's in the status bar.
00:47:39
◼
►
I didn't like it.
00:47:40
◼
►
The location one is the larger reason, but I was kind of glad that I had a legit reason,
00:47:44
◼
►
so I didn't need to look at that ugly status bar anymore.
00:47:46
◼
►
It would be nice if like an iOS enhancement would be, an iOS enhancement would be, "Only
00:47:51
◼
►
use Wi-Fi calling when connected to this base station."
00:47:53
◼
►
I would like that setting.
00:47:54
◼
►
You know what I mean?
00:47:55
◼
►
Because then I could say, "Use Wi-Fi calling when connected to my home base station," but
00:47:58
◼
►
never anyplace else.
00:47:59
◼
►
And then I don't have to worry about this.
00:48:00
◼
►
Then I could set my home address to my home base station, but no.
00:48:04
◼
►
And anyway, after I made the decision, I made a couple of successful voice calls from my
00:48:09
◼
►
house where people could actually hear my voice.
00:48:11
◼
►
So maybe Verizon loves me for coming back to them and not using this filthy internet
00:48:20
◼
►
Well, I don't even know what to make of that.
00:48:23
◼
►
- Yeah, that's. (laughs)
00:48:26
◼
►
- Moving on.
00:48:28
◼
►
Graham Spencer has indicated that Google and Facebook
00:48:31
◼
►
and others also do a charity match on bug bounties.
00:48:34
◼
►
So just FYI.
00:48:36
◼
►
- And did it before Apple.
00:48:38
◼
►
Most people didn't write it into Gloat
00:48:40
◼
►
about how all these other companies did it before Apple,
00:48:42
◼
►
but they totally did.
00:48:43
◼
►
- Do you have any actual topics tonight
00:48:47
◼
►
or is this all follow-up?
00:48:48
◼
►
- We're getting there.
00:48:49
◼
►
- There's topics down there, believe me.
00:48:51
◼
►
Don't worry, we got another podcast
00:48:53
◼
►
two days. I know. Yeah, that's true too. And somebody had to go all deep on the MP3 stuff,
00:48:58
◼
►
but actually it's very entertaining and I enjoyed it, so I shouldn't give you a hard time anyway.
00:49:02
◼
►
Imagine how much dead space we'd have in like the topics and everything this week if I didn't do
00:49:06
◼
►
that. Fair. You don't know what's lurking down there in topics. There's all sorts of stuff.
00:49:10
◼
►
Is there more about Teemo? Yes, there is actually. Really? Yes, I'm so excited. Oh, that's fantastic.
00:49:16
◼
►
I'm so overjoyed. All right, well, hopefully we'll run long enough that we won't get there. I mean,
00:49:21
◼
►
I mean, anyway, let me tell you about my iMac.
00:49:24
◼
►
It has been rebooted.
00:49:26
◼
►
I did it on purpose.
00:49:29
◼
►
It ran 21 days on the stock RAM.
00:49:33
◼
►
- And without a UPS.
00:49:34
◼
►
- And without a UPS.
00:49:35
◼
►
I've gotten in contact with Mac sales, OWC,
00:49:38
◼
►
whatever they call themselves,
00:49:41
◼
►
and have requested and am told that I'm receiving a RMA,
00:49:45
◼
►
a Return Merchandise Authorization,
00:49:47
◼
►
as I think that that stands for.
00:49:48
◼
►
So I think what they're doing is sending me a box
00:49:50
◼
►
send the RAM back in and they said they will replace it post-haste. I have plugged it into
00:49:56
◼
►
the UPS, I have pulled the UPS power and seen the iMac stay on for at least long enough to make me
00:50:03
◼
►
feel better about myself. I did not leave it disconnected long enough to see whether or not
00:50:09
◼
►
the Synology would be smart enough to shut itself down, but I believe I have those settings squared
00:50:13
◼
►
away in the Synology so it should shut itself down gracefully. The iMac won't, but you know I'm used
00:50:18
◼
►
I'm used to that at this point anyway.
00:50:21
◼
►
So anyway, I am running still on the eight gigs
00:50:25
◼
►
of stock RAM until I receive my new batch of OWC RAM.
00:50:29
◼
►
I will try that.
00:50:32
◼
►
If that doesn't work, then I will probably,
00:50:34
◼
►
very politely but very sternly, ask for my money back
00:50:36
◼
►
and get Crucial RAM, which the entire internet
00:50:39
◼
►
has written to tell me is the only RAM
00:50:40
◼
►
I should ever really buy.
00:50:42
◼
►
- I don't think Crucial buys any different RAM than OWC.
00:50:45
◼
►
I forget, someone at one point sent me a long email
00:50:47
◼
►
me about the different bins of who buys the good chips versus the cheaper chips and i think crucial
00:50:52
◼
►
was in the same bin with owc but anyway i've bought owc ram for years and like i said i think
00:50:57
◼
►
the last time i had owc thing go bad the chip because my computer is ancient the chip the the
00:51:03
◼
►
the ram dim was like four years old five years old maybe it was six years old like whatever it is i
00:51:09
◼
►
just i just assume like well it's so old whatever warranty or whatever they had it must be completely
00:51:14
◼
►
gone by now but I just called them up and they said I will send you a new one.
00:51:17
◼
►
That's it. Like I don't know if they have like a forever lifetime if this RAM
00:51:20
◼
►
ever goes bad they'll just replace it forever and ever and I know it's a
00:51:23
◼
►
hassle to return if you have to keep returning it it's a pain but I've had
00:51:26
◼
►
them last for years and years and then go bad years later and they just send me
00:51:30
◼
►
a new one. I think it's like miraculous like try doing that with a
00:51:34
◼
►
hard drive for example hey my hard drive died after six years can I get a new one?
00:51:37
◼
►
Ha! No I mean like almost all RAM has a lifetime guarantee like almost all RAM
00:51:42
◼
►
and that you would buy separately from a computer yourself.
00:51:44
◼
►
They almost all have lifetime guarantees,
00:51:47
◼
►
but it's up to the retailer or the manufacturer
00:51:49
◼
►
to make that a good or bad experience
00:51:52
◼
►
if you actually have to claim it.
00:51:53
◼
►
And I too have had only good experiences with OWC RAM.
00:51:57
◼
►
I don't use it anymore, now I just buy my computers
00:51:59
◼
►
with enough RAM from Apple,
00:52:00
◼
►
'cause I'd rather just not deal with it anymore.
00:52:02
◼
►
And the OWC RAM, when I was using it,
00:52:05
◼
►
which was up until like two years ago, was always great.
00:52:07
◼
►
I had to return it one time,
00:52:10
◼
►
And that was one time in something like eight years
00:52:14
◼
►
of using it, I think it's pretty good.
00:52:16
◼
►
- Yeah, and I mean, they've been really good about it
00:52:18
◼
►
so far, I didn't expressly reach out to them,
00:52:20
◼
►
they reached out to me via Twitter,
00:52:22
◼
►
I'm not entirely clear how they caught wind
00:52:24
◼
►
of the fact that I was having issues,
00:52:25
◼
►
but they just basically said, "Hey, can you send us
00:52:29
◼
►
"an email and we'll talk about it?"
00:52:30
◼
►
And I said, "Hey, here's the situation."
00:52:32
◼
►
And I spelled it out and said,
00:52:36
◼
►
it had been rebooting every week, look at this,
00:52:38
◼
►
now running for 20 some days at this point. I feel like it's the RAM. So they said, "Yep,
00:52:44
◼
►
you're probably right. I will get you an RMA and we will replace it immediately."
00:52:49
◼
►
I don't know how they heard about this. I just told 80,000 people about it for a month
00:52:54
◼
►
and somebody told them. Well, but what I mean is I don't recall having seen anyone mention
00:53:00
◼
►
me and them on Twitter. Maybe that did happen and I just missed it, but it seemed like they
00:53:05
◼
►
came out of the woodwork as opposed to somebody tagging them to kind of wave the flag in their
00:53:10
◼
►
face and say, "Hey, you should pay attention over here." So I'm not sure how that came to be. But,
00:53:15
◼
►
you know, hey, I'm happy that they reached out. I'm happy that they seem to be more than happy
00:53:20
◼
►
to replace the RAM. Because, I mean, like you were saying earlier, I bought this RAM in January. I
00:53:25
◼
►
looked up my order number and I forget when it was in January, but it was still January. I mean,
00:53:29
◼
►
that was somewhat long ago. And I guess, you know, most things have a year warranty, but
00:53:34
◼
►
I don't know, it's nice of them to not fight me on it because I'm used to most retailers being like,
00:53:40
◼
►
"Well, are you sure it's the RAM? Why don't you take it to Apple first?" Yeah, etc, etc, etc.
00:53:46
◼
►
And they were like, "No, no, no, send it back. We'll get you RAM."
00:53:48
◼
►
So like I said, you didn't have to wait for someone to hear it and tweet you. You could
00:53:51
◼
►
have just called them on the phone. All you got to do is tell them you have bad RAM and notice that,
00:53:54
◼
►
like, last time I called from mine, like I said, it was years after I bought it, I said,
00:53:57
◼
►
"I've got a bad DIMM." They said, "Okay, read me the serial number. Okay, we'll send you a box."
00:54:01
◼
►
Like that was it. There was no I didn't even give them a reason it was dead
00:54:04
◼
►
Yeah, and I truly hand on heart was planning on calling sometime this week and then right as I decided no, it's been long enough
00:54:11
◼
►
I'm happy. Well, I'm not happy but I am satisfied with my my scientific experiment
00:54:16
◼
►
That around that time when I had finally concluded that was the case. That's when they reached out. We're like, hey what's happening?
00:54:22
◼
►
So that was my plan
00:54:24
◼
►
Marco I am deeply sorry, but I have to ask John
00:54:28
◼
►
Tell me about TiVo lifetime service, please
00:54:31
◼
►
We are sponsored this week by Automatic, the small adapter that turns your clunker into
00:54:36
◼
►
a smarter connected car.
00:54:38
◼
►
Go to automatic.com/ATP for more info.
00:54:41
◼
►
Automatic has just launched the Automatic Pro, their new unlimited 3G car adapter with
00:54:46
◼
►
no monthly fees and no subscription and no service charges.
00:54:50
◼
►
You just pay once upfront for the Automatic Pro and you don't pay anything per month to
00:54:55
◼
►
use their services and their abilities.
00:54:57
◼
►
Now, the Automatic Pro includes always-there 3G connectivity
00:55:01
◼
►
to let you know where your vehicle is parked at any time
00:55:04
◼
►
and let you track your vehicle in case of theft.
00:55:06
◼
►
And of course, this builds on what Automatic
00:55:08
◼
►
has been doing for years.
00:55:09
◼
►
It works with If This Then That for endless customization,
00:55:13
◼
►
connecting your car to the rest of your life.
00:55:15
◼
►
You can do things like automatically turn on
00:55:17
◼
►
your Nest thermostats when you're nearing your home,
00:55:19
◼
►
and of course, tons of other abilities that you can do
00:55:22
◼
►
using If This Then That and the Automatic API.
00:55:25
◼
►
In addition, of course, Automatic provides
00:55:26
◼
►
built-in functions they always have. Things like gas mileage tracking, reaching your goals
00:55:31
◼
►
for fuel economy, tracking your expenses for businesses. So it integrates with apps such
00:55:36
◼
►
as Concur and Expensify to be able to track costs associated with your driving. There
00:55:41
◼
►
is so much you can do with Automatic and of course now with Automatic Pro. It has always
00:55:46
◼
►
on 3G connectivity which makes so many of these things even better and possible. Automatic
00:55:50
◼
►
can also call for help in case of a crash. It detects severe accidents and if you aren't
00:55:55
◼
►
able to respond, a trained responder will call for help because you can't.
00:56:00
◼
►
Now Automattic is normally $129.95, but when you use our exclusive offer code ATP, you'll
00:56:05
◼
►
save $20 bucks, so it makes it about $110.
00:56:08
◼
►
Great deal, no monthly fees after that.
00:56:10
◼
►
Again, you buy it up front and that's it.
00:56:12
◼
►
You don't pay per month to use these services.
00:56:14
◼
►
So go to automatic.com/ATP for more information and use offer code ATP to save $20 off the
00:56:21
◼
►
regular purchase price.
00:56:23
◼
►
Thanks a lot to Automattic, the smart car adapter, for sponsoring our show once again.
00:56:29
◼
►
>> John, go ahead and tell us about TiVo.
00:56:33
◼
►
>> You're saved by real-time follow-up.
00:56:35
◼
►
Someone just tweeted at me that from the Verizon Wi-Fi calling fact, "When using Wi-Fi calling,
00:56:41
◼
►
911 calls will always try cellular service in the local market first, even when the device
00:56:45
◼
►
is in airplane mode or cellular service is off."
00:56:48
◼
►
So I don't know.
00:56:50
◼
►
Now I'm back to just the status bar, I suppose.
00:56:52
◼
►
Which is a silly reason.
00:56:54
◼
►
I'll think about it.
00:56:55
◼
►
I'll think about it.
00:56:56
◼
►
I don't like getting phone calls at home anyway.
00:56:57
◼
►
And I have landlines.
00:56:59
◼
►
I should take a screenshot of that status bar.
00:57:02
◼
►
We can mark it and switch to the show art to it so you can just see what a horror it
00:57:07
◼
►
actually is.
00:57:08
◼
►
All right, TiVo.
00:57:10
◼
►
The news today about TiVo?
00:57:12
◼
►
Not really that big of news, but apparently TiVo is discontinuing service for the TiVo
00:57:20
◼
►
TiVo series 1 that was, what, introduced in 1999?
00:57:26
◼
►
And what they mean by discontinuing is it will no longer get any guide updates or anything.
00:57:32
◼
►
So you can still watch shows that are recorded on it, but you can't record any new ones because
00:57:36
◼
►
it won't know when anything is on.
00:57:39
◼
►
And it doesn't work like a VCR, we can do it manually anyway.
00:57:43
◼
►
And it's because they're changing the format of the guide data, probably modernizing it
00:57:46
◼
►
in some way that we would be horrified to learn about.
00:57:50
◼
►
we knew exactly what they were feeding because of these TiVo Series 1.
00:57:53
◼
►
TiVo Series 1 was an analog device.
00:57:55
◼
►
It recorded video from analog sources.
00:57:58
◼
►
It was pre-digital.
00:57:59
◼
►
And of course standard def because it was all analog.
00:58:02
◼
►
I didn't know that you could still use a TiVo Series 1.
00:58:06
◼
►
I thought they were already non-functional entirely, but apparently...
00:58:09
◼
►
Did you make it with like semaphore flags?
00:58:11
◼
►
Like how does that even work?
00:58:13
◼
►
If you have a TiVo Series 1 and your 16 year old hard drive, or maybe a hard drive you
00:58:17
◼
►
replaced it because you can do third-party hard drive replacements or
00:58:19
◼
►
whatever. We're still using it to record analog standard FTV.
00:58:24
◼
►
They're terminating your service. This is even if you bought quote-unquote
00:58:28
◼
►
"lifetime service." That's what the story about this the tweet is like, "Oh I bought
00:58:31
◼
►
lifetime service, but now you know I'm still alive and the box is still alive
00:58:37
◼
►
but somehow the service is ending." So the tweet was "Tivo series 1 lifetime"
00:58:41
◼
►
and scarequote service lasted about 16 years. And for this inconvenience Tivo is
00:58:46
◼
►
offering you a $75 prepaid visa card so you get 75 bucks if you if you held on
00:58:50
◼
►
and kept using your TiVo series 1 for this long and they say there are 3,500
00:58:54
◼
►
of these series 1s still in use which is a small number but you know anyway I
00:58:59
◼
►
can't believe that there wasn't some fine print written into the lifetime
00:59:03
◼
►
service that says after 16 years we reserved the right to turn off the
00:59:06
◼
►
service maybe you should buy a new DVR but I salute the people who are out
00:59:10
◼
►
there still using it I never expected like lifetime service I have lifetime
00:59:14
◼
►
was on all my Tevo boxes but I replaced the boxes long before I get to the lifetime service thing.
00:59:18
◼
►
People used to be better about letting you transfer lifetime service for some nominal fee
00:59:22
◼
►
or for free to another device to encourage you to upgrade or whatever but those days are mostly gone
00:59:26
◼
►
and the deals have been getting worse. Anyway, I just thought this was funny that there are
00:59:30
◼
►
actually people out there still using a series one DVR. I don't think I have any piece of electronics
00:59:35
◼
►
in my house that is 16 years old and still working including smoke detectors, telephones,
00:59:43
◼
►
Microwave maybe I think my as discussed on a recent reconciled with em, so I think my microwave
00:59:47
◼
►
Maybe more than 16 years old, but I should look at the date on the back of it
00:59:50
◼
►
I should see exactly how old it is, but other than that
00:59:52
◼
►
No DVR. So that's for sure
00:59:57
◼
►
We had spoken a few episodes ago about Twitter verification because all three of us are now verified and
01:00:04
◼
►
a friend of the show Brianna Wu has been verified now in the last week or so and
01:00:12
◼
►
Apparently it's made everything immensely better.
01:00:17
◼
►
Brianna tweeted a couple of days ago as we recorded this fact, "I have not seen a single
01:00:21
◼
►
death threat or rape threat since being verified and getting the 'quality filter' quote.
01:00:26
◼
►
Everyone should have this."
01:00:28
◼
►
Funny how that works.
01:00:29
◼
►
Yeah, that's exactly it.
01:00:30
◼
►
I mean, like, we talked last time, like I joked, like, we have computers now, like,
01:00:35
◼
►
any computational overhead of offering this to everybody, like, that's totally worth it.
01:00:40
◼
►
And we've since heard a little bit more discussion from various other places about
01:00:44
◼
►
It seems like the gist of the problem here is not that turning this on would be computationally
01:00:49
◼
►
expensive for everybody.
01:00:51
◼
►
It's that Twitter, fundamentally Twitter is very, very tied to the idea internally,
01:00:58
◼
►
politically that there should be this kind of open platform and that there should be
01:01:03
◼
►
no filters by default.
01:01:05
◼
►
And that's a really nice theory.
01:01:07
◼
►
So is communism.
01:01:08
◼
►
But in practice these things don't work quite that well.
01:01:12
◼
►
It is really ideal and that would be nice and it worked that way for a while and that's
01:01:16
◼
►
cool, but the reality is the harassment problem is very big and very real and that wonderful
01:01:23
◼
►
world where anybody could tweet anybody and they would see it by default, I think that's
01:01:28
◼
►
a nice idea.
01:01:29
◼
►
Like blog comments, that's a nice idea but in practice it doesn't work.
01:01:34
◼
►
In practice there's lots of problems with that.
01:01:36
◼
►
So I maintain that the quality filter feature that is available to verified Twitter accounts
01:01:43
◼
►
not only should be available to everybody, but I'd even say it should be on by default.
01:01:47
◼
►
Yeah, I would agree with that.
01:01:49
◼
►
Yeah, I don't know why you wouldn't have it on by default.
01:01:51
◼
►
I guess the idea is that maybe the filter is bad and things will accidentally get filtered
01:01:56
◼
►
out, but it's not like Gmail has spam filtering off by default.
01:02:00
◼
►
Of course it's not by default.
01:02:02
◼
►
Sometimes things end up in your spam folder when they shouldn't be in there, but no one
01:02:07
◼
►
would say the correct default is off.
01:02:09
◼
►
Yep, I don't get it.
01:02:12
◼
►
Finally, in follow-up, over an hour in, a few people have taken me to task for saying
01:02:19
◼
►
in the last episode, or maybe it was one of the recent episodes, that I was not satisfied
01:02:24
◼
►
with Apple's diversity numbers, particularly with ethnicities and how many white employees
01:02:32
◼
►
Apple has as opposed to other races. And what I'd said was, "Hey, this is really unfortunate,"
01:02:41
◼
►
and it looks like as I look up these numbers again, 56% of Apple is white as they self-report
01:02:46
◼
►
today. And a lot of people said in various degrees of obnoxiousness, "Well, what's the
01:02:50
◼
►
appropriate amount of diversity because the country is..." And I don't have those numbers
01:02:54
◼
►
in front of me, but something like 60 or 70 percent white. So if they're less white than
01:03:00
◼
►
America, then what's the problem? And I don't have any simple answer for that. It's something
01:03:06
◼
►
I hadn't considered, and it's a fair point, but I would point out that not all of Apple
01:03:12
◼
►
is in America, and so that probably should be factored in as well. But I think the biggest
01:03:20
◼
►
thing to me was that Apple seems to have made not a lot of change from just a
01:03:27
◼
►
couple of years ago when they started reporting this, which I admire. They
01:03:31
◼
►
didn't make that much change, yet it seems like the thing that was completely
01:03:36
◼
►
unacceptable a couple a couple of years ago is now, "Look at us and how wonderful
01:03:40
◼
►
we are." And that just seems kind of weird to me. I don't know if you guys had any
01:03:46
◼
►
thoughts on this, but that's basically the thing that I still stand by, which is
01:03:50
◼
►
which is it hasn't gotten that much better.
01:03:52
◼
►
Why are we really celebrating it
01:03:54
◼
►
like it's completely turned around?
01:03:56
◼
►
- So before we let Jon tell us the truth
01:03:58
◼
►
and why this is, you know.
01:04:00
◼
►
Before we let Jon basically rock this
01:04:02
◼
►
and do everything correctly,
01:04:04
◼
►
I will just kind of speak for myself
01:04:06
◼
►
and for I think a lot of people
01:04:08
◼
►
who listen to this kind of stuff
01:04:09
◼
►
and who see these kind of things.
01:04:11
◼
►
I know, having been just in the area
01:04:16
◼
►
of people discussing this for a while now,
01:04:19
◼
►
I know now that it is never that simple.
01:04:22
◼
►
And so when you throw out a stat like,
01:04:27
◼
►
"Well, you know, America is X percent white,
01:04:29
◼
►
"and so that's fine," it is usually not that simple.
01:04:33
◼
►
And so I know to keep my mouth shut with things like that,
01:04:37
◼
►
because I know, I'll hear something like that,
01:04:38
◼
►
and I'll be like, "Yeah, that might make logical sense
01:04:41
◼
►
"when you read it in 140 characters,
01:04:43
◼
►
"but I bet there's more to the issue than that."
01:04:45
◼
►
And so it's important,
01:04:48
◼
►
When you are responding to people, not you Casey,
01:04:50
◼
►
but you the public, and I'm talking to myself too,
01:04:54
◼
►
don't just jump to a conclusion like that
01:04:55
◼
►
because chances are the issue
01:04:56
◼
►
is way more complicated than that.
01:04:58
◼
►
So John, tell us why.
01:04:59
◼
►
- I was gonna start getting to the thing,
01:05:02
◼
►
but I'm basically on what you just said.
01:05:04
◼
►
That's something I always notice on Twitter,
01:05:08
◼
►
and we all notice it to some degree or another,
01:05:10
◼
►
whether we're doing it ourselves
01:05:11
◼
►
or we see other people doing it,
01:05:14
◼
►
where people will start from a premise
01:05:18
◼
►
and then start throwing out facts in support of that.
01:05:21
◼
►
And that's fine, right?
01:05:23
◼
►
Because why wouldn't you?
01:05:24
◼
►
You know, this is what you think.
01:05:25
◼
►
And so you will find facts that support what you think
01:05:27
◼
►
and then you will list those facts.
01:05:30
◼
►
But it's always important to kind of ask yourself,
01:05:32
◼
►
why am I seeking out the facts that I can find
01:05:38
◼
►
that align with this thing that I already think?
01:05:40
◼
►
Like, am I actually thinking about the situation
01:05:42
◼
►
I'm merely just trying to find something that will support my release.
01:05:46
◼
►
So that maybe, I mean, this is not universally true, but perhaps someone who was telling
01:05:51
◼
►
Casey, "Hey, you said this percentage was bad, but it's about the ratio of the people
01:05:57
◼
►
in the United States."
01:05:59
◼
►
You'd have to go look up the ratio of the people in the United States.
01:06:01
◼
►
You could do it.
01:06:02
◼
►
This is a bad example because they're probably too intellectually honest in this.
01:06:04
◼
►
But a lot of times, you see an issue come up and people immediately go looking for something
01:06:10
◼
►
they can throw out that supports their thing.
01:06:12
◼
►
really asking why am I so desperate to find things that support this rather than looking
01:06:18
◼
►
at the issue from first principles or understanding the wider context.
01:06:22
◼
►
Because there will always be things, especially statistics, that can help support one side
01:06:27
◼
►
or the other.
01:06:28
◼
►
But if you're only ever looking for and saying repeatedly to anyone who mentions anything
01:06:31
◼
►
about the topic the few facts you have in your back pocket that support the one thing
01:06:35
◼
►
that you care about, you probably are missing the larger issue.
01:06:37
◼
►
And what you're really missing more is why is it so important to you that your current
01:06:41
◼
►
view of this be exactly correct. So anyway as for these specific stats I
01:06:46
◼
►
don't know I thought the stats were just US only so I think there are percentages
01:06:51
◼
►
for you know white employees that are actually accurate to the United States
01:06:56
◼
►
the United States has that percentage of the population and then that's there you
01:06:58
◼
►
know so I thought that was an apt comparison but like Margot said it's
01:07:02
◼
►
never quite that simple because you know especially with statistics you can
01:07:05
◼
►
they're taking like all their employees right and all US employees Apple
01:07:10
◼
►
employees a lot of people and not all those jobs are the same. If you start
01:07:15
◼
►
looking at different sections of employees the percentages, I think they
01:07:18
◼
►
do this don't they break it down on the page, the percentages will change you
01:07:22
◼
►
know pretty dramatically by five to ten percent maybe even more. If you look at
01:07:27
◼
►
like the top level of the org chart director level C level executives they
01:07:33
◼
►
are not 56% white right so and then all the way down to look at engineering
01:07:39
◼
►
versus QA versus retail versus, you know, all the different categorizations. If you lump them all
01:07:46
◼
►
together, it's nice to get a nice aggregate, but you don't know what the pieces are, right? And so
01:07:49
◼
►
Apple's not trying to mislead anybody there. They're not going to break down their hiring and
01:07:55
◼
►
their employees by individual job level and location and, well, what is the population in
01:08:01
◼
►
the state of Maryland and what are the retail employees in the state of Maryland and what about,
01:08:04
◼
►
you know, like it's just, they're not going to do that, right? But that is Apple's job internally
01:08:08
◼
►
to work on this problem because if their overall numbers happen to work out to the same percentage
01:08:14
◼
►
of the United States but it's only because like all the leaders of the company are white men
01:08:19
◼
►
and all the rest of the company are not, that's not that you're not you're not achieving your
01:08:24
◼
►
goal of diversity right your goal is not to make a bunch of numbers match a bunch of other numbers
01:08:28
◼
►
you can always pick numbers to make you look better or worse and to some degree Apple may be
01:08:32
◼
►
doing that in the high level numbers that are up there but that's not the goal of the thing you're
01:08:36
◼
►
not — Apple is not an amorphous blob of people that combine to one Uber person. They are a bunch
01:08:40
◼
►
of individual people, and you want to know if, you know, if I get a job at Apple, what are my chances
01:08:46
◼
►
of, you know, being in charge of all software at Apple? What are my chances of rising to the level
01:08:52
◼
►
of the org chart where I'm taking meetings with Tim Cook and stuff? What, you know, what are my
01:08:56
◼
►
odds of becoming an engineering manager or leading whatever? And if you look around you at Apple,
01:09:01
◼
►
and it's like, "Gee, everybody who's an engineering manager is a white dude, and everyone in the board
01:09:06
◼
►
meetings is a white dude, and everybody who's on stage at WWDC is a white dude." To a first
01:09:12
◼
►
approximation, that was the case not too many years ago. And like I said, even now, the high
01:09:17
◼
►
levels of the company are like that. Maybe you feel like, "Oh, sure, I can get a job at an Apple
01:09:21
◼
►
store. They're good at it, but do I feel like this company is giving equal opportunity to everybody?"
01:09:30
◼
►
And that's what Apple is working towards, and I don't think they've yet achieved it,
01:09:33
◼
►
which is why they keep putting out these numbers. So as Casey said, if these numbers that were given
01:09:41
◼
►
are these big aggregates and they haven't changed that much from year to year, it just shows they're
01:09:45
◼
►
making slow progress, right? And so it's not phenomenal progress, but it certainly doesn't
01:09:49
◼
►
mean because you can say 56% is less than 60%, therefore they're done, it absolutely doesn't
01:09:54
◼
►
mean that because it doesn't take much thinking to realize, well, that's just a big aggregate
01:09:58
◼
►
number and it's not that's not the goal the goal is not to simply people are asking that like
01:10:02
◼
►
honestly asking like what is the goal what numbers you're supposed to see here to let you know that
01:10:06
◼
►
apple has achieved its goal of diversity and the answer is those numbers are never going to tell
01:10:11
◼
►
you that right otherwise you know they wouldn't they wouldn't be continuing along this path they
01:10:15
◼
►
would just say when we're done we've accomplished our goal isn't that great right um and that's
01:10:20
◼
►
before you even get into details of like percentage of u.s population versus percentage of u.s
01:10:24
◼
►
population of working age, like not babies, not children, not retired people, you know, so it's
01:10:29
◼
►
numbers are complicated. But anyway, I'm confident that Apple understands the problem before them and
01:10:35
◼
►
is working towards it, just as I am not particularly tied to the specific numbers they throw out on
01:10:42
◼
►
these pages. All we're basically looking for is are the little graphs they put up going in an
01:10:46
◼
►
upward direction? Do they have enough of them every year so they show they're making progress?
01:10:50
◼
►
and how fast is that progress, what do the slopes look like.
01:10:54
◼
►
Yeah, that's about it.
01:10:58
◼
►
Well, we are out of follow-up.
01:10:59
◼
►
Thanks a lot to our three sponsors this week, Betterment, Tracker, and Automattic, and we
01:11:04
◼
►
will see you next week.
01:11:06
◼
►
Now the show is over, they didn't even mean to begin, 'cause it was accidental.
01:11:16
◼
►
Oh, it was accidental.
01:11:19
◼
►
John didn't do any research, Marco and Casey wouldn't let him
01:11:24
◼
►
'Cause it was accidental (accidental)
01:11:27
◼
►
It was accidental (accidental)
01:11:30
◼
►
And you can find the show notes at ATP.fm
01:11:35
◼
►
And if you're into Twitter, you can follow them
01:11:40
◼
►
@C-A-S-E-Y-L-I-S-S
01:11:44
◼
►
So that's Casey List M-A-R-C-O-A-R-M
01:11:48
◼
►
♪ Anti-Marco armen ♪
01:11:51
◼
►
♪ S-I-R-A-C ♪
01:11:53
◼
►
♪ U-S-A-C-R-A-Q-S-A ♪
01:11:56
◼
►
♪ It's accidental ♪
01:11:57
◼
►
♪ It's accidental ♪
01:11:59
◼
►
♪ They didn't mean to ♪
01:12:01
◼
►
♪ Accidental ♪
01:12:02
◼
►
♪ Accidental ♪
01:12:04
◼
►
♪ Tech podcast ♪
01:12:06
◼
►
♪ So long ♪
01:12:08
◼
►
- Well, I wanted to talk about the Intel Fab thing.
01:12:10
◼
►
That's a topic.
01:12:11
◼
►
- Can we make that quick?
01:12:16
◼
►
- Yeah, exactly.
01:12:18
◼
►
Maybe. I don't know. Let's dig down what we have here. What do we have for an aftershow then?
01:12:22
◼
►
We can do Instagram stories.
01:12:24
◼
►
Instagram stories is a good idea because that's fluffy.
01:12:26
◼
►
Yeah, it's this thing that appeared on top of Instagram recently that's confusing all the old
01:12:31
◼
►
people like me. You're not that old.
01:12:33
◼
►
Your wife's face is always up there. I know. She figured it out very quickly because she is
01:12:39
◼
►
younger at heart and also biologically than I am. I am too old.
01:12:45
◼
►
Am I what, three months?
01:12:47
◼
►
- I think like six, yeah about six, yeah.
01:12:50
◼
►
So I am too old to understand Snapchat,
01:12:53
◼
►
so Instagram has basically cloned a major part of Snapchat
01:12:59
◼
►
into the Instagram interface,
01:13:01
◼
►
which has just confused Instagram for me,
01:13:03
◼
►
and now I have this row of heads on top of Instagram
01:13:06
◼
►
and I tap them and weird things happen,
01:13:09
◼
►
and I don't really know what I'm supposed
01:13:10
◼
►
to be doing with this.
01:13:11
◼
►
Can you explain it to me?
01:13:12
◼
►
- So John, I don't think I've seen any posts from you yet,
01:13:15
◼
►
So you're not producing using this,
01:13:18
◼
►
although I presume you're at least consuming it.
01:13:20
◼
►
Is that fair?
01:13:21
◼
►
- Yeah, I don't see myself ever making one of these videos,
01:13:23
◼
►
but they're up there and they tap on the faces.
01:13:25
◼
►
- Okay, so the idea here, from what I can understand,
01:13:29
◼
►
as someone who's never used Snapchat
01:13:31
◼
►
and didn't really have any interest in Snapchat,
01:13:33
◼
►
is with Instagram Stories,
01:13:36
◼
►
you can take a photo or a video that is semi-ephemeral.
01:13:43
◼
►
So I believe it's after a day they will self-destruct and your phone explodes.
01:13:49
◼
►
It's very inconvenient.
01:13:50
◼
►
No, they'll self-destruct and then they won't be available anymore.
01:13:53
◼
►
Not to you, not to anyone else.
01:13:55
◼
►
And so the idea is if your Instagram profile and the photos that you post on Instagram
01:14:02
◼
►
proper is the like super staged, super deliberate, super serious version of you, Instagram Stories,
01:14:10
◼
►
which is this ephemeral thing, is more of the candid, fun-loving, like, "Hey, here's
01:14:17
◼
►
the real me, take it or leave it" sort of thing.
01:14:20
◼
►
And I actually wanted to call out the latest episode of Connected, which is episode 103.
01:14:26
◼
►
The host did a really incredible job of talking about kind of what the motivations are behind
01:14:33
◼
►
Instagram Stories and how it's different than regular Instagram.
01:14:36
◼
►
But regardless, I've really been enjoying it a lot more than I thought I would as someone
01:14:43
◼
►
who had not even the slightest interest in Snapchat.
01:14:47
◼
►
And one of the common complaints about Snapchat that I've understood is that anyone who is
01:14:51
◼
►
over the age of about 18 finds the interface completely inscrutable.
01:14:55
◼
►
And everything is gesture-based, and as much as we all hate tutorials as you install an
01:15:00
◼
►
app for the first time, this is one of those instances where a tutorial or walkthrough
01:15:07
◼
►
or onboarding would have perhaps been useful in Snapchat, because everything's gesture-based,
01:15:12
◼
►
nothing's obvious, everything's weird.
01:15:14
◼
►
In Instagram, there's a little bit of that in Instagram Stories, but it's not nearly
01:15:18
◼
►
as bad, and I was able to figure it out pretty quickly, and I'd classify myself as an old
01:15:23
◼
►
man just as much as you two are.
01:15:26
◼
►
And I've been enjoying both consuming and creating.
01:15:30
◼
►
One of the things I've wondered as I consider whether or not to post a new entry in my Instagram
01:15:34
◼
►
story which sounds super cheesy, but anyway, one of the things I've been considering is
01:15:39
◼
►
why would anyone else give a crap about this?
01:15:42
◼
►
So like, as an example, I was going to take a picture of my setup at work, and you know,
01:15:47
◼
►
after having obscured the sensitive parts of what was on my computer screen, and then
01:15:51
◼
►
it occurred to me, I don't think anyone really gives a crap.
01:15:55
◼
►
And so while I was at the beach, you know, I'm on vacation, whee, that's exciting and
01:15:59
◼
►
kind of cool or whatever. I had posted a handful of times then, but now that I'm back on my
01:16:05
◼
►
normal grind, well it's not my normal high roller, you know, look at me, I'm so awesome
01:16:09
◼
►
life, it's my normal grind. So I don't know if I'll be producing that much or posting
01:16:15
◼
►
that often from now until the next time I do something interesting, but I really like
01:16:21
◼
►
the idea and I echo what Mike had said on Connected, and he's talked about it and he
01:16:28
◼
►
and I both have talked about this on analog as well, that Instagram is kind of my happy
01:16:32
◼
►
social network. I get a lot out of Twitter and I enjoy Twitter, but Twitter is nevertheless
01:16:38
◼
►
kind of a dumpster fire where I cannot remember a time that Instagram has made me anything but
01:16:46
◼
►
happy. And even with stories, it makes me happy in a different way because it's kind of the
01:16:52
◼
►
fun, ephemeral, you know, "Hey, it's not going to be perfect and that's okay because life isn't
01:16:56
◼
►
perfect. And it's brought, and this is a super sleazy business-y term, but it's
01:17:01
◼
►
brought my engagement with Instagram up even more. And I check Instagram a
01:17:05
◼
►
handful times a day because I enjoy it so much. But now I found myself checking
01:17:08
◼
►
it more often wondering which one of my friends, because I tend to follow mostly
01:17:12
◼
►
friends on Instagram, which one of my friends has posted something new and
01:17:16
◼
►
something worth looking at. And so I have really been enjoying it. Two thumbs up
01:17:20
◼
►
from me. I think it's super, super interesting and it seems to have
01:17:24
◼
►
I have traction so far.
01:17:26
◼
►
Don't think it's a flash in the pan.
01:17:29
◼
►
This isn't the next Peach, I don't think,
01:17:31
◼
►
but remind me of that in six months.
01:17:32
◼
►
This is future Clean Shoppers.
01:17:34
◼
►
- Yeah, I mean like this, I have,
01:17:37
◼
►
I've been using Instagram more and more recently
01:17:38
◼
►
because I've been using the Explore View,
01:17:40
◼
►
the little search thing at the bottom,
01:17:41
◼
►
which Tiff introduced me to,
01:17:42
◼
►
and I didn't even realize that's what, that was there.
01:17:45
◼
►
I thought it was literally a search,
01:17:46
◼
►
and I never wanted to search for anything,
01:17:48
◼
►
so I never visited that tab.
01:17:50
◼
►
And it turns out it's more of like a browser Explore View,
01:17:53
◼
►
and you pick topics, so mine's full of watches
01:17:56
◼
►
and puppies now, which is awesome.
01:17:59
◼
►
- I didn't know that either, actually.
01:18:01
◼
►
- It is really nice to, so I'm using Instagram a lot now,
01:18:04
◼
►
and I have the same feelings as you.
01:18:05
◼
►
Instagram is just a feel-good place.
01:18:08
◼
►
It is, both to browse and to post,
01:18:10
◼
►
it is a just nice place to be.
01:18:13
◼
►
People aren't universally terrible.
01:18:15
◼
►
- Unlike Twitter?
01:18:16
◼
►
- Well, in general, I'm saying,
01:18:18
◼
►
including all services that we have,
01:18:21
◼
►
people in general are not terrible.
01:18:24
◼
►
The design of a social thing online,
01:18:27
◼
►
a social construct, a social service,
01:18:29
◼
►
the whole design of it, the structure,
01:18:31
◼
►
what's allowed, what's possible,
01:18:33
◼
►
how things work, who sees what,
01:18:36
◼
►
that all affects how horrible people are enabled to be
01:18:41
◼
►
and what kind of impact their horribleness can have.
01:18:46
◼
►
So the same group of people can use two different services
01:18:51
◼
►
and act very differently on them
01:18:52
◼
►
and get very different things out of them
01:18:54
◼
►
just because of differences in their design.
01:18:56
◼
►
And so even if Twitter's entire user base
01:18:59
◼
►
is also Instagram's exact user base,
01:19:03
◼
►
you have better results on Instagram
01:19:05
◼
►
because just the form and the structure
01:19:07
◼
►
and the way everything works in a setup
01:19:09
◼
►
and the expectations of it and the format and everything
01:19:12
◼
►
just encourage better behavior
01:19:14
◼
►
and limit the places people can be horrible to you.
01:19:17
◼
►
So that's good.
01:19:18
◼
►
What worries me about this,
01:19:20
◼
►
And one of the reasons I never used Snapchat was,
01:19:23
◼
►
and again, yeah, that conversation I connected was awesome
01:19:26
◼
►
and we will link to it.
01:19:28
◼
►
One of the reasons I never had to get into it
01:19:30
◼
►
was because no one that I know really uses it.
01:19:33
◼
►
Like all the people I would be interacting with
01:19:35
◼
►
are on Twitter and Instagram.
01:19:37
◼
►
So I don't need to use, first of all,
01:19:39
◼
►
I don't need to use Facebook, which is great
01:19:41
◼
►
because I don't want to use Facebook.
01:19:42
◼
►
And I also, and yes, I know they own it
01:19:44
◼
►
and that doesn't matter.
01:19:46
◼
►
And I also never had to use Snapchat
01:19:47
◼
►
because my people aren't there, really.
01:19:50
◼
►
So to bring that to Instagram,
01:19:53
◼
►
to basically bring a major feature of Snapchat to Instagram
01:19:58
◼
►
is kind of okay on one level because it's like,
01:20:01
◼
►
well, I wasn't gonna use Snapchat anyway
01:20:04
◼
►
because my friends weren't there.
01:20:06
◼
►
But on the other hand, it really shows,
01:20:09
◼
►
Facebook has always been a very tasteless company.
01:20:12
◼
►
Facebook is pragmatic and ruthless and tasteless,
01:20:15
◼
►
just like Microsoft was in the 80s and 90s really.
01:20:18
◼
►
Facebook now is this conglomerate really.
01:20:21
◼
►
They have tons of properties that are major on the internet.
01:20:25
◼
►
They have Facebook itself, which is probably
01:20:28
◼
►
the biggest web property in the world
01:20:31
◼
►
and probably will stay that way for quite some time.
01:20:34
◼
►
Anything that gets really big that they think
01:20:36
◼
►
might threaten that, they just buy it.
01:20:37
◼
►
They have enough money to keep doing that indefinitely.
01:20:40
◼
►
And they are clearly totally okay with like,
01:20:44
◼
►
well if you won't let us buy you,
01:20:45
◼
►
we're just gonna rip you off,
01:20:47
◼
►
and we'll just kill you that way.
01:20:49
◼
►
And that strategy doesn't always work.
01:20:53
◼
►
Microsoft did the same thing.
01:20:55
◼
►
Apple has done things on a smaller scale
01:20:57
◼
►
with Sherlocking things,
01:20:58
◼
►
but they don't usually do a huge scale job of it
01:21:00
◼
►
with stuff like this.
01:21:02
◼
►
Google does it sometimes,
01:21:03
◼
►
and that strategy tends to work.
01:21:06
◼
►
In general, when the big powerful companies
01:21:09
◼
►
that already have all the users, and all the usage,
01:21:13
◼
►
and all the attention going to them,
01:21:14
◼
►
and all the time spent on their services,
01:21:16
◼
►
if they clone some smaller service,
01:21:18
◼
►
their clone often wins.
01:21:21
◼
►
And if they can't clone it, they can buy it.
01:21:24
◼
►
And this just kinda, it's a bit of a warning sign
01:21:28
◼
►
of the power that Facebook has.
01:21:29
◼
►
And I'm not saying Snapchat will be killed by this.
01:21:32
◼
►
In all likelihood, Snapchat is too big now
01:21:34
◼
►
and they'll probably be totally fine
01:21:36
◼
►
because Snapchat's really big.
01:21:37
◼
►
I think they're bigger than Twitter.
01:21:38
◼
►
They're really big.
01:21:40
◼
►
But it does kinda scare me a little bit
01:21:43
◼
►
that Facebook is willing to so cavalierly
01:21:46
◼
►
just like completely rip off the stories feature,
01:21:50
◼
►
call it the same thing, do the same things,
01:21:52
◼
►
use the same gestures, like completely rip it off.
01:21:55
◼
►
It's so closely and so shamelessly
01:21:58
◼
►
and they just couldn't possibly care less
01:22:00
◼
►
because they are just that ruthless.
01:22:02
◼
►
And we live in an age now where these handful
01:22:06
◼
►
of big internet companies have a lot of control over us
01:22:11
◼
►
and a lot of resources.
01:22:13
◼
►
And the centralization of power here
01:22:16
◼
►
is just getting more and more severe.
01:22:18
◼
►
And that kinda worries me for the future
01:22:20
◼
►
of internet things in general, things we do online
01:22:24
◼
►
that use the internet or that involve the internet
01:22:26
◼
►
or are the internet.
01:22:27
◼
►
It is a little concerning.
01:22:29
◼
►
- The thing that struck me about using this
01:22:31
◼
►
and having used Snapchat a little bit
01:22:33
◼
►
is what you often hear, and you guys said it before,
01:22:37
◼
►
is like, oh, well, I don't understand Snapchat,
01:22:39
◼
►
the kids understand it or whatever. And there is a demographic thing about what age groups use,
01:22:44
◼
►
which applications, that's definitely true, and more older people use Instagram or whatever.
01:22:48
◼
►
But Snapchat and also the Instagram stories have bad interfaces. They have bad user interfaces.
01:22:57
◼
►
There is no sensible structure to the interface. They don't use OS conventions, that's for sure.
01:23:05
◼
►
So the normal affordances and sort of the things you're used to in like generic UI kit,
01:23:10
◼
►
you know, I don't know about another platform, I'm just talking about an iOS, but like it
01:23:13
◼
►
doesn't look like iOS, that's for sure, right?
01:23:15
◼
►
So it's kind of its own thing, and within its own thing, they don't really define any
01:23:19
◼
►
particular spatial metaphor or something to hang your hat on where you can say, "Oh, I
01:23:25
◼
►
see all up swipes to this."
01:23:27
◼
►
I mean, like basically if you, you know, if someone's like, "Oh no, Snapchat is totally
01:23:30
◼
►
sensible," what you'd basically be doing is listing, "This does that, this does that,
01:23:34
◼
►
does that, just does that, there, now it's, that's not a system. That is just a list of
01:23:38
◼
►
actions and the resulting, you know, what you're looking for a system is like, because I understand
01:23:42
◼
►
the system, before you tell me the list of all things I can do, I can predict, oh, then obviously
01:23:47
◼
►
the way to do x is going to be y. That's when you know you have a system. Snapchat doesn't have a
01:23:51
◼
►
system or not a very good system. It's a lot of arbitrary crap in there. Not using native controls,
01:23:56
◼
►
not using sort of unprecedented, right? So sort of setting their own standard. And why does,
01:24:03
◼
►
Does that mean, is that why young people get Snapchat
01:24:06
◼
►
and old people don't?
01:24:07
◼
►
No, like there are other factors there
01:24:08
◼
►
in terms of who it's advertised towards
01:24:10
◼
►
and who the first users were and you know,
01:24:12
◼
►
critical mass and social networks
01:24:13
◼
►
and where my friends are and all those other things.
01:24:15
◼
►
That all factors in as well.
01:24:16
◼
►
But I think there is something to the idea
01:24:18
◼
►
that young people will,
01:24:21
◼
►
they do something because a bunch of their friends
01:24:24
◼
►
are doing it, they'll just figure it out.
01:24:26
◼
►
They have a high tolerance
01:24:28
◼
►
for learning arbitrary stupid crap.
01:24:30
◼
►
If I think about all the arbitrary stupid crap
01:24:31
◼
►
that I learned, which basically is the entire early years
01:24:34
◼
►
of computing where everything was terrible
01:24:36
◼
►
and nothing made sense and the Mac was the only one
01:24:38
◼
►
that had kind of an understandable system.
01:24:40
◼
►
Think of all the things that I memorized,
01:24:41
◼
►
things I learned how to do in video games.
01:24:43
◼
►
There was no system, it was just arbitrary.
01:24:44
◼
►
And kids have a lot of time and good memories
01:24:48
◼
►
and they'll just plug away
01:24:50
◼
►
until it becomes second nature to them.
01:24:51
◼
►
So to kids, Snapchat makes perfect sense
01:24:53
◼
►
because they memorized all the stupid gestures and commands,
01:24:56
◼
►
even though those gestures and commands
01:24:57
◼
►
are almost entirely arbitrary,
01:24:59
◼
►
countered everything that every other UI paradigm
01:25:02
◼
►
on the device they're holding has taught them
01:25:04
◼
►
and are just plain bad, right?
01:25:06
◼
►
They're just bad, this is a bad UI.
01:25:07
◼
►
And so Instagram Stories didn't use all the same things
01:25:11
◼
►
as Snapchat, but it's a similar thing
01:25:12
◼
►
where Instagram was a very sensible,
01:25:14
◼
►
straight up the middle iOS application
01:25:16
◼
►
with a reasonable UI using metaphors and controls
01:25:19
◼
►
and interfaces that we understood
01:25:21
◼
►
so you could predict what would happen
01:25:22
◼
►
when you did things for the most part.
01:25:23
◼
►
There's always weird edge cases
01:25:24
◼
►
and custom controls and stuff.
01:25:26
◼
►
But then when they did Stories, it's into La La Land again,
01:25:29
◼
►
where nothing makes sense and you can't you have no you have no nothing to hang your hat on except for like
01:25:34
◼
►
Maybe it'll behave like snapchat
01:25:36
◼
►
Which again maybe that's establishing a standard and if you're familiar with snapchat
01:25:40
◼
►
That might be a good way to go if you're trying to do like what Margo said it like oh
01:25:42
◼
►
We want to do a snapchat like thing then just copy a snapchat gestures because all the kids who do snapchat
01:25:47
◼
►
It makes perfect sense to them and if they go to your thing and swipe or drag or tap and it doesn't do what they?
01:25:52
◼
►
Expect from using snapchat. They think your thing is broken
01:25:55
◼
►
But again, it's not a good UI just because they make it like snapchat for like or you know
01:26:00
◼
►
Make things similar snapchat to try to get it's a little bar
01:26:03
◼
►
They've got on the top with a little segmented timers and what happens when you swipe in different directions
01:26:07
◼
►
and a little rotating effect versus the sliding versus up and down and tapping and it's just
01:26:12
◼
►
These are bad interfaces. And so I maintain as the old cranky person that not only
01:26:18
◼
►
actual reason like old people don't understand snapchat because they made a bad UI and
01:26:24
◼
►
And because older people have less tolerance for figuring out a bad UI that doesn't look
01:26:29
◼
►
like all the other ones they're going to do.
01:26:31
◼
►
And I don't just think it's bad on many, many levels.
01:26:34
◼
►
And again, this doesn't explain why old people don't use Snapchat.
01:26:37
◼
►
There's so many other reasons, but this is a factor.
01:26:39
◼
►
I'm saying this is a factor in that giant stew.
01:26:41
◼
►
It's not the biggest factor, it's not even maybe a major factor, but it's there.
01:26:46
◼
►
And that annoys me, because I feel like Snapchat could have been successful with a clever,
01:26:52
◼
►
innovative UI.
01:26:53
◼
►
games with this, like a UI that uses no native controls, totally custom, doesn't use anything
01:26:57
◼
►
from UIKit, is the same on Android and iOS, but is delightful and understandable and fun
01:27:04
◼
►
And someone can pick up and learn.
01:27:06
◼
►
Again, this is my hobby horse, but it's really true.
01:27:09
◼
►
If you make some kind of physical world-based metaphor like, "Oh, I have stacks of cards
01:27:14
◼
►
and we can slide them from side to side and up and down and bring them together and collapse
01:27:17
◼
►
them, or I can crunch them up."
01:27:19
◼
►
Like if you make some sort of thing like, these aren't physical things, but in some
01:27:23
◼
►
ways they behave in physical things or there's like a larger map that you can't see of this
01:27:27
◼
►
application, once you learn the layout of that map, you know how to move around in it
01:27:31
◼
►
and you know how to make things happen and you know what a button looks like and you
01:27:34
◼
►
understand like any kind of metaphor like that, even if it uses totally non-native controls,
01:27:41
◼
►
can become understandable where people start using it, learn one or two things that, oh,
01:27:45
◼
►
I see how this works and then they can figure out how to do the other things without being
01:27:48
◼
►
told explicitly, whereas Snapchat, it's like all mystery meat navigation, a bunch of inscrutable
01:27:53
◼
►
icons and no real sense of where you are, what you're doing, where you're going.
01:27:57
◼
►
You just memorize how it works because you're young and you have a lot of time or use the
01:28:01
◼
►
application a lot and that becomes second nature to you and you just think that's normal.
01:28:04
◼
►
So if you ask any kid, is Snapchat easy to use?
01:28:06
◼
►
They'd be like, everyone knows how to use Snapchat.
01:28:08
◼
►
It's like I know how to write my name, I know how to put one foot in front of the other
01:28:11
◼
►
to walk and I know how to use Snapchat.
01:28:12
◼
►
It's the most intuitive interface on my entire phone.
01:28:14
◼
►
No, you just use it a lot.
01:28:16
◼
►
That's what that means.
01:28:17
◼
►
a good UI. And the reason they like using it is because it makes people like us that
01:28:22
◼
►
angry. No, but that's not why we're angry about it.
01:28:25
◼
►
I'm just saying it's a bad UI. You're angry about it because it's like you're making silly
01:28:28
◼
►
videos of yourself and sending them to your friends and you're like, "Oh, these kids these
01:28:30
◼
►
days shouldn't be taking video--" I don't care about that. Whatever, take videos. It's
01:28:34
◼
►
the same thing when we take videos in our things and send it to our friends. It's fine.
01:28:38
◼
►
Whatever. I have no anger towards people who use Snapchat. I have anger towards the developers
01:28:42
◼
►
of Snapchat for making a bad UI.
01:28:46
◼
►
Snapchat users, thumbs up.
01:28:48
◼
►
Snapchat developers, thumbs down.