126: The Web Kind of Happens to You
00:00:00
◼
►
John, how's the renovation going?
00:00:02
◼
►
Oh, it's going.
00:00:04
◼
►
A bunch of stuff is done.
00:00:06
◼
►
A bunch of stuff still needs to be done.
00:00:08
◼
►
Sometimes it rains.
00:00:12
◼
►
This is like a description of life.
00:00:14
◼
►
Yeah. Basically.
00:00:16
◼
►
I'm just trying to now, like,
00:00:18
◼
►
make my peace with the fact
00:00:20
◼
►
that things are not done to my standards
00:00:22
◼
►
and it's like, just, you know,
00:00:24
◼
►
just let it go. It's fine.
00:00:26
◼
►
Have you met a human being, much less a contractor,
00:00:28
◼
►
Contractor that can complete anything to your standards like how does that why does that go for you at work?
00:00:32
◼
►
I allowed myself to do some amount of nagging and some amount of
00:00:36
◼
►
Asking for things to be redone in a better way, but at a certain point you have to be like look
00:00:39
◼
►
Just it is what it is
00:00:41
◼
►
Just go forward
00:00:43
◼
►
Friday they're doing the front door
00:00:45
◼
►
I think so that'll that'll be that that involves a lot of
00:00:48
◼
►
Potential detail work and a lot of potential for me to be disappointed in what ends up happening
00:00:52
◼
►
But that's the way you look at this is there not a lot of potential for you to be delighted
00:00:56
◼
►
It's a lot of potential for you to be disappointed.
00:00:59
◼
►
- Oh yeah, no, forget about delight.
00:01:01
◼
►
And then finally, like painting at the end.
00:01:03
◼
►
And I'm hoping, even the painting, I'm like,
00:01:04
◼
►
"Boy, like, you know, will the prep work
00:01:07
◼
►
"be done to my satisfaction?"
00:01:08
◼
►
Almost certainly not.
00:01:10
◼
►
- The prep work?
00:01:11
◼
►
You don't even--
00:01:12
◼
►
- Surface prep, surface prep, like,
00:01:13
◼
►
'cause they're not stripping all the paint off it.
00:01:15
◼
►
They just wanna paint the trim and get out of there,
00:01:17
◼
►
but I want to, you know, anyway, I have demands.
00:01:22
◼
►
I had no idea.
00:01:23
◼
►
- I mean this in the nicest way.
00:01:24
◼
►
Like I just, I can't imagine being you.
00:01:28
◼
►
- No, you would have complaints about some of these things too
00:01:31
◼
►
because sometimes you make a cut in the wrong spot.
00:01:35
◼
►
Sometimes something isn't square when it should be.
00:01:37
◼
►
Sometimes corners don't meet up the way they're supposed to.
00:01:39
◼
►
Anybody can look at them, can see if that's not right.
00:01:41
◼
►
This is the question of, does it bother you?
00:01:43
◼
►
And sometimes you just gotta just let it go
00:01:46
◼
►
and just be like, all right, whatever.
00:01:48
◼
►
Well, anyway, I'm very particular.
00:01:52
◼
►
- How does this work out for you at work?
00:01:53
◼
►
given that you're so particular,
00:01:55
◼
►
how do you continue to have coworkers?
00:01:57
◼
►
Or do you just do everything single handed?
00:01:58
◼
►
- It's great for programming.
00:01:59
◼
►
The computer is really particular too.
00:02:01
◼
►
You tell it to do the wrong thing.
00:02:03
◼
►
It just does whatever, you know,
00:02:04
◼
►
you have to really get it exactly right.
00:02:07
◼
►
'Cause if you don't, it don't work.
00:02:09
◼
►
So you wanna talk about Safari being the new IE some more?
00:02:15
◼
►
- There were actually a couple of things about
00:02:16
◼
►
that I wanted to get to this week.
00:02:17
◼
►
- Well, you should have put it in the follow up then.
00:02:22
◼
►
See how easy it is?
00:02:24
◼
►
For those who are listening, Marco just typed into the show notes, in the very first entry of the follow-up section, "Safari is the new IE FU."
00:02:35
◼
►
Yes. You don't need the FU because it's in that section as we're done.
00:02:41
◼
►
And John has deleted the letters "FU," oh god, and then added a sub-bullet, "Marco Talks."
00:02:49
◼
►
So, since I will blindly read the document, it appears, Marco, that we have some follow-up
00:02:56
◼
►
with regard to Safari's new IE. Would you like to tell us about that?
00:02:59
◼
►
>> Yeah, sure. First of all, we did get a good email, actually just like an hour ago,
00:03:03
◼
►
from somebody named Lauren, who says, "Don't be so dismissive of web applications. I work
00:03:09
◼
►
in Ocean Freight. My job involves using a wide variety of web apps almost exclusively."
00:03:14
◼
►
He or she goes on to list a whole bunch of different things that are all like, "I believe
00:03:18
◼
►
these would be called line of business applications. Is that a fair judgment of all this stuff?
00:03:23
◼
►
You know, talking about how like, you know, they're all in Windows machines, they use
00:03:28
◼
►
this like internal tracking app to do all this other stuff and then also talking about
00:03:32
◼
►
things like, you know, the general public accessing government websites and everything.
00:03:36
◼
►
So improvements to web functionality are very much appreciated by all this stuff and also
00:03:41
◼
►
I should not be dismissive of web apps. And I think this is the perfect example of where
00:03:47
◼
►
cross-platform, you know, write once, run anywhere,
00:03:51
◼
►
universal accessibility kind of applications
00:03:53
◼
►
to make perfect sense.
00:03:55
◼
►
Like any kind of line of business thing where
00:03:58
◼
►
you are a bank and your employees have to use
00:04:01
◼
►
a management system from all the different branches
00:04:03
◼
►
to, you know, conduct business and enter information
00:04:06
◼
►
from customers and check on systems.
00:04:08
◼
►
Make that a web app, that's great.
00:04:10
◼
►
That is, the web is very good at that kind of thing.
00:04:13
◼
►
And I'm not arguing in, whatever I've been arguing
00:04:16
◼
►
about this, I'm not arguing that the web apps,
00:04:19
◼
►
or that the web is useless today,
00:04:23
◼
►
or that it has no place in the market.
00:04:25
◼
►
Only that, you know, that native apps have replaced
00:04:28
◼
►
quite a lot of it, and are probably the new hotness.
00:04:31
◼
►
You know, in the same way, like, visual basic apps
00:04:34
◼
►
for a long time were line of business apps,
00:04:36
◼
►
you know, before web apps were really a big thing.
00:04:38
◼
►
And it was never like a huge, you know,
00:04:41
◼
►
massive amount of the software business
00:04:43
◼
►
in like the parts anyone knew about.
00:04:46
◼
►
but it was still like there was big business to be had there
00:04:48
◼
►
but it wasn't, you know, Adobe wasn't writing
00:04:50
◼
►
Photoshop in Visual Basic.
00:04:52
◼
►
You know, web apps serve a lot of that same role
00:04:55
◼
►
where there is a lot of usefulness to them.
00:04:58
◼
►
There's tons of applications for which
00:05:01
◼
►
that is the right choice.
00:05:02
◼
►
But most of those are gonna be boring types of things
00:05:05
◼
►
that are, you know, internal to companies
00:05:07
◼
►
or, you know, government websites and stuff like that.
00:05:09
◼
►
Like it's this kind of stuff that,
00:05:11
◼
►
there's not a lot of action happening there.
00:05:13
◼
►
It doesn't get a lot of consumer attention
00:05:15
◼
►
And if you're launching a new consumer-focused service
00:05:20
◼
►
or consumer-focused application, that probably
00:05:23
◼
►
isn't the right choice today.
00:05:24
◼
►
So that's mostly the angle I was coming from on that.
00:05:26
◼
►
I think the difference is not so much
00:05:28
◼
►
that they're boring or anything.
00:05:29
◼
►
It's the difference of the customers.
00:05:31
◼
►
So individual persons, like consumers,
00:05:33
◼
►
they have a different value system
00:05:36
◼
►
than governments, really big corporations, or whatever.
00:05:40
◼
►
Because those large entities made up of lots of people,
00:05:44
◼
►
There is institutional knowledge there.
00:05:47
◼
►
No one person has to be smarter, wiser, have forethought.
00:05:50
◼
►
There's a lot of institutional knowledge,
00:05:52
◼
►
and there's a lot of experience with this type of thing.
00:05:55
◼
►
If you are a very large company that's
00:05:57
◼
►
been around for any amount of time,
00:05:58
◼
►
you've been burned by a vendor, whether it's
00:06:00
◼
►
like having based your entire company on Visual Basic
00:06:03
◼
►
and having Microsoft change things around,
00:06:05
◼
►
or having their priorities changed,
00:06:07
◼
►
or doing everything in Java and then having Sun
00:06:09
◼
►
get bought by Oracle.
00:06:10
◼
►
Every big company has been burned by--
00:06:12
◼
►
Lotus Notes.
00:06:12
◼
►
- Yeah, by some proprietary system
00:06:15
◼
►
owned and controlled by a single company.
00:06:17
◼
►
And so they kind of,
00:06:18
◼
►
they act with different set of criteria.
00:06:22
◼
►
They're like the most important thing to us
00:06:24
◼
►
is not to get tied down to a single venture,
00:06:27
◼
►
to sort of be masters of our own destiny,
00:06:29
◼
►
to not let this thing,
00:06:30
◼
►
which is supposed to be like a supporting thing
00:06:32
◼
►
that helps us run our business,
00:06:34
◼
►
do we really wanna be super tied?
00:06:37
◼
►
Like you said, let us know it's to IBM.
00:06:38
◼
►
Are they a trustworthy partner?
00:06:40
◼
►
Are their priorities aligned with our priorities?
00:06:43
◼
►
Or are they just trying to sell us something?
00:06:45
◼
►
Like getting entangled with other big companies
00:06:47
◼
►
and making your company's fate rely on some other company's
00:06:50
◼
►
fate is something they want to avoid.
00:06:53
◼
►
So big companies are very incentivized to find a solution
00:06:58
◼
►
that gives them options.
00:07:00
◼
►
So if you do it on the web, it doesn't mean you're still
00:07:02
◼
►
going to have to develop.
00:07:03
◼
►
You're going to have to migrate all your users from one
00:07:05
◼
►
browser to another.
00:07:06
◼
►
And things are going to break.
00:07:07
◼
►
And maybe if you did everything on IE6 with ActiveX controls,
00:07:09
◼
►
you realize you were actually kind of tying yourself
00:07:11
◼
►
to Microsoft anyway or whatever.
00:07:12
◼
►
But that is a very different value system than consumers.
00:07:15
◼
►
Individual consumers are not making these judgments
00:07:17
◼
►
like I don't want most of them.
00:07:19
◼
►
I mean, we know the people who are,
00:07:20
◼
►
like I don't wanna tie myself to one company
00:07:22
◼
►
or you know everybody.
00:07:23
◼
►
The vast majority of individual consumers
00:07:25
◼
►
just don't think that way.
00:07:26
◼
►
They're just like, is it easy to use?
00:07:28
◼
►
Can I understand it?
00:07:30
◼
►
Is it convenient?
00:07:31
◼
►
Is it popular?
00:07:32
◼
►
Have I heard about it?
00:07:33
◼
►
So on and so forth.
00:07:34
◼
►
So that I think is the biggest difference.
00:07:35
◼
►
And it's not so much that the things they're using
00:07:37
◼
►
more or less boring than consumer applications because sometimes they're really interesting
00:07:41
◼
►
and sophisticated depending on like you know the business they're in. and even things like
00:07:46
◼
►
government like government stuff i guess it's kind of boring by definition but that stuff can
00:07:50
◼
►
be super important. so much government stuff has moved to the web as opposed to moving to
00:07:55
◼
►
you know visual basic applications or whatever and i'm sure every parts of the government probably
00:07:59
◼
►
went through that phase where microsoft did convince them that like oh yeah no if you do this
00:08:03
◼
►
everyone has a Windows PC and it will be fine and the government learns like that's not a great
00:08:07
◼
►
plan either right so I think that that heavily influences the value of a solution based on like
00:08:15
◼
►
what your criteria are and I think Marco is right that like you know all the people who complained
00:08:20
◼
►
about Marco I don't think anyone denied the overall trend of like you know and you said in
00:08:25
◼
►
the last show we had the sort of web 2.0 phase where the consumer facing sort of interesting
00:08:30
◼
►
things that got written about that are interesting to individuals was all a new website, a new
00:08:35
◼
►
fancy website. And now we're in sort of the app era, all the things that we write about
00:08:39
◼
►
are apps. And maybe 10 years from now it'll be something else. But like, that is definitely
00:08:43
◼
►
something that's going through, you know, a transition in a cycle and a trend. But the
00:08:48
◼
►
web stuff, the value it has to large entities and to anyone who doesn't want to hitch their
00:08:54
◼
►
star to some other company whose interest may or may not be aligned with them, continues
00:08:58
◼
►
to be a viable thing and like I said in the last show, I don't think anyone's saying the
00:09:02
◼
►
web is going to go away.
00:09:04
◼
►
The web will probably be around as long as email because once something goes out there
00:09:10
◼
►
that's as widespread as the web and that is as decentralized as the web, lots of people
00:09:14
◼
►
are incentivized to keep that being a thing.
00:09:18
◼
►
If suddenly the web was dwindling because all consumers were using apps or whatever,
00:09:23
◼
►
Many large entities and companies and governments and everything are highly incentivized to
00:09:28
◼
►
make the web still be a thing because they don't want to be, you know, can you imagine,
00:09:33
◼
►
especially if Apple's the only game in town, Apple does not want to do what the enterprise
00:09:37
◼
►
wants to do.
00:09:38
◼
►
Enterprise needs its own thing.
00:09:39
◼
►
Yeah, I mean, Apple getting that role would be the worst for everybody, including Apple.
00:09:45
◼
►
Apple just wouldn't take it.
00:09:46
◼
►
They'd be like, "Whatever, if you can figure out how to use it."
00:09:49
◼
►
They do, they have the corporate thing where you can send out, "Hey, you can push this
00:09:52
◼
►
application to all your employees and IBM wants to make iPad apps for everybody."
00:09:59
◼
►
They're moving in that direction, but I have to think that it's the same thing all over.
00:10:05
◼
►
As good as IBM's iPad apps may be, I'm not saying it's a bad solution for everybody.
00:10:11
◼
►
If you have some factory and they can give all your employees iPads and use this application
00:10:15
◼
►
to run your business, that's probably good, but boy, it's ticking time bomb.
00:10:20
◼
►
There's a time limit on that.
00:10:21
◼
►
At some point, either iPads aren't going to be a thing, Apple's not going to be a thing,
00:10:25
◼
►
that OS is not going to be a thing, your apps won't run on the new version of the OS, it's
00:10:29
◼
►
just a matter of time.
00:10:30
◼
►
Whereas the web, you know, no one's decisions can make your crap stop working immediately.
00:10:38
◼
►
You just know that I'm signing up to keep my web apps working year after year after
00:10:42
◼
►
but hopefully that will not be as drastic as like, you know, if IBM totally changes
00:10:47
◼
►
strategy or the Apple-IBM partnership goes away or Apple decides that they're not making
00:10:51
◼
►
iPads anymore because they can't sell them and they're doing everything with VR goggles
00:10:54
◼
►
or whatever.
00:10:56
◼
►
And most of these web standards that are, you know, pushing the envelope now are things
00:11:01
◼
►
that this massive class of applications generally doesn't really need.
00:11:06
◼
►
I mean, and that isn't to say they can't be made better by them, but much of the time
00:11:12
◼
►
they actually can't.
00:11:13
◼
►
- Well, it's a leading indicator.
00:11:14
◼
►
Like these technologies are not going to be relevant
00:11:17
◼
►
to the enterprise for many, many years.
00:11:18
◼
►
But the only way anything ever becomes relevant
00:11:20
◼
►
to the enterprise is it's been around for many, many years
00:11:22
◼
►
and everyone's implemented.
00:11:23
◼
►
And this is the third implementation in every web browser.
00:11:25
◼
►
And it's like, okay, now finally enterprise.
00:11:28
◼
►
I mean, it took so long just to get off IE6.
00:11:30
◼
►
Like for the longest time, I was like,
00:11:30
◼
►
"If it doesn't work on IE6, I don't care."
00:11:32
◼
►
And while that was going on,
00:11:34
◼
►
every other browser was getting better and better and better.
00:11:36
◼
►
So when IE6 finally went away,
00:11:37
◼
►
mostly because Microsoft sort of killed it itself
00:11:39
◼
►
when it realized it has to start moving again,
00:11:42
◼
►
Everybody else had technologies that had been worked out
00:11:46
◼
►
in the market for so many years, that by the time
00:11:49
◼
►
the enterprise woke up and installed IE7 and IE8,
00:11:52
◼
►
or maybe gave people Chrome or Firefox or something,
00:11:55
◼
►
like wow, look at all this great new web tech,
00:11:57
◼
►
where did this come from?
00:11:57
◼
►
Well, it had been developing the whole time
00:11:59
◼
►
when you were stuck in IE6.
00:12:00
◼
►
So I think all this web tech, you think,
00:12:03
◼
►
oh, it's not relevant to current enterprise apps.
00:12:05
◼
►
It's gonna be relevant to enterprise apps in five years
00:12:08
◼
►
if any of these things actually gain widespread adoption.
00:12:11
◼
►
So that's sort of true.
00:12:12
◼
►
So I'm glad you brought up IE6, because as someone who writes websites for other companies
00:12:17
◼
►
for a living, I don't know if Marco's characterization of line of business apps on the web earlier
00:12:24
◼
►
was 100% the way I see it.
00:12:27
◼
►
The reason I see companies deploying line of business apps to the web is because of
00:12:32
◼
►
easy deployment, not necessarily because the technology of the web in and of itself is
00:12:39
◼
►
And so I cannot tell you the amount of times that, up until very recently, like you were
00:12:43
◼
►
saying John, we would be asked to do a website, either an internal like intranet or sometimes
00:12:49
◼
►
a public website, and we would ask, "Okay, well what are the browser requirements?"
00:12:53
◼
►
Well, the most modern version of Firefox plus one back, the most modern version of Chrome
00:13:00
◼
►
plus one back, and the most modern version of Safari plus one back, oh, and all the way
00:13:05
◼
►
back to IE6.
00:13:08
◼
►
Well, you don't understand. All of our computers, our standard build for all of our computers,
00:13:14
◼
►
is still rocking IE6, because our security department has an approved IE7 through IE14
00:13:19
◼
►
or whatever they're on now. So yeah, you have to make this work on IE6 too. What? So
00:13:24
◼
►
I think the reason they do this is because they want to have a way, businesses want to
00:13:29
◼
►
have a way to very easily deploy software to their users, particularly line of business
00:13:34
◼
►
software. And so the easiest way to deploy that software is to not really deploy it at all and
00:13:39
◼
►
just put it on a web server and tell people go to this URL. And thus, that's why we were always
00:13:45
◼
►
targeting IE6 for the longest time is because all of these standard builds on all these computers
00:13:50
◼
►
were on ancient versions of IE and typically Windows XP, sometimes even today. And so because
00:13:56
◼
►
of that, we would have to support these old versions of IE. And all of that was about
00:14:02
◼
►
deployment. It's not about being available everywhere in the sense that the web is available
00:14:07
◼
►
everywhere. That probably didn't make sense. What I'm saying is it was just about getting
00:14:12
◼
►
this software onto their users' machines, and the easiest way to do that is to put it
00:14:17
◼
►
on the web and target whatever browser they're using. That's why all these old government
00:14:21
◼
►
websites, like you were saying, Jon, all target IE6 is because that's what the government
00:14:25
◼
►
was using, and why all of these old websites were using ActiveX controls. Again, you referred
00:14:30
◼
►
to that briefly, Jon. All of this stuff was because the only thing that these companies
00:14:35
◼
►
cared about was the stuff that they themselves were using. And so there was no incentive
00:14:40
◼
►
to make it better for anyone else, except very recently when they started to realize,
00:14:48
◼
►
"Well, having a really crappy website, that's kind of a detriment. We should really pay
00:14:52
◼
►
attention to this stuff."
00:14:53
◼
►
**Matt Stauffer:** Yeah, they move slower, but I'm assuming right now you see far fewer
00:14:58
◼
►
instances of IE6 just because Microsoft is moving on.
00:15:02
◼
►
They're killing it as best they can.
00:15:04
◼
►
They're force installing newer versions of IE, they're stopping support of OSes that
00:15:07
◼
►
could run IE, hell they're trying to kill 7 and 8 and 9 as fast as they can as well.
00:15:11
◼
►
So Microsoft is moving again and people are going to have to catch up.
00:15:15
◼
►
But yeah, it's the same reason we do all the igloo ads.
00:15:18
◼
►
Internet software, frequently companies are not incentivized to make their internet good.
00:15:22
◼
►
So it just moves slower.
00:15:23
◼
►
It doesn't mean that it's never going to get better, it doesn't mean that like, it just
00:15:26
◼
►
means that for a really long time everyone else's web apps are going to be way better
00:15:30
◼
►
than yours because no one cares about the intranet. But at a certain point it just becomes
00:15:33
◼
►
embarrassing and ridiculous and some executive somewhere is going to realize they can get
00:15:39
◼
►
a lot of points by making everyone in the company better by bringing their intranet
00:15:44
◼
►
site or their line of business web application up to the standards of five years ago or ten
00:15:48
◼
►
years ago and everyone will be like, "Wow, this is so much better!" Because it will be
00:15:51
◼
►
because they'll stop using ActiveX controls and frames and whatever the hell they're using
00:15:55
◼
►
to do their intranet site.
00:15:57
◼
►
So that's a slow motion type of thing, but they could just as easily be using, be deploying
00:16:03
◼
►
everything as Java applets or maybe because they do control both ends of it, they can
00:16:08
◼
►
do all sorts of crazy things.
00:16:10
◼
►
Like they could do a Citrix thing and run Windows apps that you can access from everywhere.
00:16:14
◼
►
Like enterprises have been known to do many, because they control both ends.
00:16:19
◼
►
It's not like they have to say, "We just need this to be available everywhere and easy to
00:16:23
◼
►
the companies will sell you that are, you know,
00:16:26
◼
►
don't have to install any software.
00:16:27
◼
►
People just click this icon on their desktop
00:16:28
◼
►
and they can get your app
00:16:29
◼
►
and it's automatically up to date.
00:16:30
◼
►
It doesn't have to be the web,
00:16:32
◼
►
but I like to think that enough companies have been burned
00:16:35
◼
►
by the proprietary solutions now
00:16:36
◼
►
that the web has a certain appeal
00:16:38
◼
►
that the other solutions don't.
00:16:39
◼
►
And even going as far as say the web
00:16:42
◼
►
and also nothing like ActiveX in the web.
00:16:45
◼
►
Like we're not gonna do everything in Flash.
00:16:46
◼
►
We're not gonna do everything in Adobe Air.
00:16:47
◼
►
We're not gonna do it in ActiveX
00:16:49
◼
►
because we've learned that that is a mistake.
00:16:51
◼
►
We're just going to stick to the plain old web.
00:16:54
◼
►
It's good enough for everything else we do on the web
00:16:58
◼
►
as consumers.
00:16:58
◼
►
Our site will be crappier.
00:16:59
◼
►
It will be older.
00:17:00
◼
►
It will be uglier.
00:17:02
◼
►
But it won't be based on anything
00:17:04
◼
►
that we have to pay like an annual fee
00:17:06
◼
►
to some other enterprise company for,
00:17:08
◼
►
unless you're running everything off IAS, then I'm sorry.
00:17:11
◼
►
That's my every day, Jon.
00:17:13
◼
►
Ask me what our intranet is at our company that,
00:17:17
◼
►
among other things, does intranets for other companies.
00:17:20
◼
►
It's got to be SharePoint, right?
00:17:21
◼
►
- What version, Jon?
00:17:22
◼
►
- Oh, I have no idea.
00:17:23
◼
►
I don't try not to go to our SharePoints.
00:17:25
◼
►
I didn't even know there were versions.
00:17:27
◼
►
Like, is it the doing years for SharePoint, like 2013?
00:17:30
◼
►
- Oh, keep going.
00:17:31
◼
►
- I don't know how old it goes back.
00:17:33
◼
►
- Yeah, well, it goes back to 2007,
00:17:35
◼
►
but we are mostly on 2010.
00:17:37
◼
►
This is in the year 2015.
00:17:40
◼
►
- That's pretty good, I think.
00:17:41
◼
►
- Is it usually, by Microsoft standards,
00:17:44
◼
►
was the version 2010 actually introduced in 2009?
00:17:46
◼
►
- It's like car model years, yeah.
00:17:47
◼
►
- I think that's true.
00:17:49
◼
►
I don't remember off the top of my head.
00:17:50
◼
►
totally understand what you're asking, I don't recall. But I do believe 2013 was introduced
00:17:55
◼
►
in 2013. And as with all things, you know, so SharePoint 2007 was, I think that having
00:18:03
◼
►
my nails ripped out would have been a more pleasurable experience than coding for SharePoint
00:18:08
◼
►
2007. SharePoint 2010, in three years, made it just barely livable enough that I didn't
00:18:16
◼
►
immediately quit my job when they said,
00:18:18
◼
►
"Oh, you have a SharePoint 2010 project to do."
00:18:21
◼
►
And supposedly 2013 is decent,
00:18:23
◼
►
so I hear from the people that do SharePoint all the time.
00:18:29
◼
►
- Well, it's like desktop Linux.
00:18:30
◼
►
It's always getting better.
00:18:31
◼
►
- It's always getting better.
00:18:33
◼
►
- Now, our first sponsor this week,
00:18:34
◼
►
I am actually serious, this is not a joke,
00:18:37
◼
►
our first sponsor this week is Igloo.
00:18:40
◼
►
- Igloo is an internet you will actually like.
00:18:43
◼
►
Igloo lets you share news, organize your files,
00:18:46
◼
►
coordinate calendars and manage projects all in one place.
00:18:49
◼
►
And that place is not SharePoint.
00:18:52
◼
►
igloosoftware.com/atp.
00:18:54
◼
►
Now, you are probably at your job, you the public,
00:18:58
◼
►
I know Casey and John, this is true for you,
00:18:59
◼
►
your intranet is probably something terrible.
00:19:01
◼
►
It's probably built on SharePoint or something like that.
00:19:04
◼
►
The world of intranets out there is pretty rough,
00:19:07
◼
►
except for igloo.
00:19:08
◼
►
Igloo really takes the best of the modern consumer
00:19:12
◼
►
web technologies and brings them into a corporate safe internet private environment. And so
00:19:19
◼
►
you can have things like Twitter like microblogging and annotations on coordinated document editing
00:19:26
◼
►
and stuff like that. You can do all this stuff right inside of your internet in your company
00:19:30
◼
►
privately for you. They have a huge upgrade recently that revolves around document tracking,
00:19:37
◼
►
how you interact with documents, how you gather feedback, you can track changes, comment on
00:19:42
◼
►
people stuff. They can get, now somebody wrote in, last time I talked about read receipts
00:19:48
◼
►
for documents and somebody said it's supposed to be read receipts. Is that, which one am
00:19:53
◼
►
I supposed to be saying here?
00:19:54
◼
►
- I think I would have said read, but I flip-flopped back and forth.
00:19:57
◼
►
- Okay, well, whether it's read receipts or read receipts, Igloo offers read read receipts
00:20:04
◼
►
on documents so that you can do things like you can make sure that certain recipients
00:20:09
◼
►
have read and acknowledged new policies or disclosures, any kind of, you know, handbook
00:20:14
◼
►
kind of thing. This is often useful for HR purposes, regulatory purposes, stuff like
00:20:19
◼
►
that. All these things that companies that are real companies, unlike what I do, have
00:20:22
◼
►
to actually deal with. And you can also just, you can do an amazing amount of functionality
00:20:27
◼
►
with Igloo. Things like, you know, as I said, viewing annotating documents, all of that
00:20:31
◼
►
is built on HTML5. There is no Flash, it's not Java, there's no plug-ins, it is all HTML5.
00:20:38
◼
►
And so this allows you to work with all that functionality of viewing, editing Office documents,
00:20:42
◼
►
stuff like that, all the tracking, all the microblogging. All of that works on mobile
00:20:46
◼
►
devices, on every device. So they even make it work on Blackberries. It works on everything.
00:20:51
◼
►
And everything is fully responsive. So all the layouts work on any screen size. New screens
00:20:57
◼
►
come out, it already works. And they also, you know, you can customize your Igloo intranet
00:21:01
◼
►
to give it whatever design you want. If the marketing department wants their own color
00:21:06
◼
►
scheme they can have it. It does all that for you. Sign up for a free trial today at
00:21:11
◼
►
igloosoftware.com/atp. And if you have a group that is 10 or fewer people, it's actually
00:21:18
◼
►
free, like indefinitely, forever. Give it a try. There's also a free trial. So even
00:21:23
◼
►
if you have a bigger group, give it a try. Free trial, no reason not to. If your company
00:21:27
◼
►
has a legacy internet that looks like it was built in the 90s or in "2010", you should
00:21:32
◼
►
definitely give igloo a try. igloosoftware.com/atp.
00:21:36
◼
►
Thanks a lot to igloo for sponsoring once again.
00:21:39
◼
►
- And for all the people who think this was planned,
00:21:41
◼
►
like we led into this with the internet talk,
00:21:43
◼
►
you do not understand how the show works.
00:21:45
◼
►
- No. (laughing)
00:21:47
◼
►
- We are not that deliberate.
00:21:49
◼
►
- You vastly overestimate our organization.
00:21:52
◼
►
- So speaking of organization,
00:21:53
◼
►
one more thing I wanted to talk about.
00:21:54
◼
►
Websites, I don't think deserve
00:21:57
◼
►
all of the abilities of native apps.
00:22:00
◼
►
for one key reason.
00:22:02
◼
►
There is no app review for websites,
00:22:04
◼
►
and you frequently visit websites accidentally
00:22:08
◼
►
or without opting into certain behavior.
00:22:11
◼
►
The web kind of happens to you as you're browsing around.
00:22:14
◼
►
You click a link, you don't know where it's going.
00:22:16
◼
►
And so this link opens up,
00:22:18
◼
►
and whatever page you open is now executing code
00:22:21
◼
►
on your computer, hopefully not native code.
00:22:23
◼
►
Whatever websites can do,
00:22:27
◼
►
they can do to people who didn't opt in,
00:22:30
◼
►
who didn't even choose, you know what,
00:22:32
◼
►
I wanna go to this website,
00:22:33
◼
►
'cause they could just be following a link,
00:22:35
◼
►
or it could even be a script running
00:22:37
◼
►
on somebody else's page,
00:22:38
◼
►
or an iframe embedded on someone else's page.
00:22:40
◼
►
So there's all these considerations.
00:22:42
◼
►
You have to have way tighter security for web stuff,
00:22:46
◼
►
and you have to have much stronger restrictions.
00:22:49
◼
►
And in an environment like we have in iOS,
00:22:51
◼
►
where apps go through this review process,
00:22:53
◼
►
which I know is controversial,
00:22:55
◼
►
but I think even though it is imperfect,
00:22:58
◼
►
I think it is definitely a net win.
00:23:00
◼
►
Apps go through this review process
00:23:02
◼
►
and that's great for consumers
00:23:05
◼
►
because so much crap we are protected from.
00:23:08
◼
►
- Don't you think the iOS philosophy is the reverse of that?
00:23:11
◼
►
It's the idea that apps should have
00:23:15
◼
►
the same restrictions as websites,
00:23:17
◼
►
not that websites should be more restricted than apps
00:23:19
◼
►
because it used to be apps can do anything
00:23:20
◼
►
and their websites are held in their little box.
00:23:23
◼
►
And the iOS innovation is, let's put a box around apps too.
00:23:26
◼
►
They're sandboxed, they can't see the things,
00:23:28
◼
►
they can't get your little location data unless they ask,
00:23:30
◼
►
they have to have entitlements, and the review process
00:23:32
◼
►
is part of that or whatever.
00:23:33
◼
►
It seems almost like they're taking apps
00:23:35
◼
►
and putting them in a box, and websites are always in a box,
00:23:38
◼
►
and the websites are trying to get out of their box,
00:23:39
◼
►
and the apps, I don't know, are they happy
00:23:41
◼
►
in their little box?
00:23:41
◼
►
It seems like they're trying to make their box bigger too.
00:23:43
◼
►
But they might meet in the middle,
00:23:45
◼
►
where you can imagine them having a similar set
00:23:48
◼
►
of capabilities with a similar set of restrictions
00:23:50
◼
►
in that like an app can't get, I mean, right now,
00:23:52
◼
►
For example a website can't get your location data without asking because that's something they built into Safari if they ever did enable any
00:23:57
◼
►
Of these like oh you could spawn background jobs or you know the local storage it pops up a dialogue
00:24:01
◼
►
This is not a perfect system
00:24:03
◼
►
It's not as fancy as apps, but it took a long time for us to even get like the whole you know managing app
00:24:08
◼
►
Notifications and apps storage and which apps can use my location when I'm in the app when I'm not in the app
00:24:13
◼
►
It seems like the controls for both of these things for both the web and the apps are
00:24:18
◼
►
Evolving that apps are way ahead with the sophistication of the controls on stuff
00:24:21
◼
►
And that's what you brought in last show
00:24:23
◼
►
Like you can't just let a web app do this because they're just the controls aren't in place
00:24:26
◼
►
- there's no place you can go in settings to decide which website can do what and whatever but already the websites are
00:24:32
◼
►
Pretty well confined and that was one of the complaints like oh, I don't want to pop up a dialogue
00:24:36
◼
►
Well apps don't want to pop up dialogues when they ask for location - but guess what they have to like
00:24:39
◼
►
So I think I think we're figuring out
00:24:41
◼
►
You know, even though you opt in to downloading apps
00:24:45
◼
►
They're figuring out how to contain software.
00:24:48
◼
►
That's actually a topic we ever get to in the El Capitan root list stuff.
00:24:51
◼
►
How to contain software in a safe way.
00:24:53
◼
►
And the web started out well, much more contained than native apps.
00:24:58
◼
►
And at this point, the sophistication of how to contain apps on iOS is well ahead of where
00:25:03
◼
►
it is for web apps.
00:25:06
◼
►
Also, one issue that we heard from a few people on, which is worth discussing, is browser
00:25:12
◼
►
choice on iOS.
00:25:14
◼
►
And so this is a bit of a multifaceted issue.
00:25:17
◼
►
There's two main problems that people have.
00:25:20
◼
►
You know, on the desktop, you can write a browser
00:25:23
◼
►
using any rendering engine you want,
00:25:25
◼
►
and you can ship it to people, and that's it.
00:25:27
◼
►
On iOS, that is actually forbidden.
00:25:29
◼
►
On iOS, you are not allowed to render web content
00:25:34
◼
►
with anything other than the built-in WebKit.
00:25:37
◼
►
And so, Chrome, for instance, I mean, let's be honest,
00:25:41
◼
►
when everybody says we want browser traction on iOS,
00:25:43
◼
►
but they're really saying that they want Chrome to be better on iOS. And there are a lot of
00:25:47
◼
►
things like if Safari drags its feet on implementing some new standard, chances are Chrome and
00:25:52
◼
►
iOS also won't have it because it's that part of the rendering engine that it's sharing
00:25:56
◼
►
from the system. So that's one problem. The other problem is that on the desktop you can
00:26:01
◼
►
set your default browser or your default mail client or your default calendar app. iOS does
00:26:06
◼
►
not have the concept of default apps for these types of things. So in iOS the default app
00:26:12
◼
►
is always the built-in system app for those kind of roles. And so you can't say, "If I
00:26:18
◼
►
click a link in an email message, open it up in Chrome automatically." You can't do
00:26:23
◼
►
that. It'll always open up in the system default browser of Safari first. And anything that
00:26:30
◼
►
just calls open URL on a random web URL, same thing. It'll just open up in Safari, even
00:26:34
◼
►
if you use Chrome.
00:26:35
◼
►
That's one of the things that we didn't get in iOS 8 that we're still waiting for, by
00:26:39
◼
►
- Yeah, and so I'm curious, like, you know,
00:26:42
◼
►
on the desktop, we have that system,
00:26:44
◼
►
and it pretty much works fine.
00:26:46
◼
►
I'm curious, though, what would be the reasons on iOS
00:26:50
◼
►
to never bring that over?
00:26:51
◼
►
Like, at this point, it seemed like that might be
00:26:54
◼
►
a conscious decision that they're just not doing,
00:26:57
◼
►
and I can think of a few reasons,
00:26:58
◼
►
from Apple's point of view, why not.
00:27:00
◼
►
One of the biggest to me, I mean, you know,
00:27:02
◼
►
you can argue things like security and everything,
00:27:04
◼
►
those are weaker arguments once we have proper
00:27:06
◼
►
technological sandboxing in place, as we just discussed,
00:27:09
◼
►
But what about for the web rendering, like JavaScript?
00:27:12
◼
►
I think security is still a valid reason for JavaScript
00:27:15
◼
►
because of the incredible contortions they go through
00:27:17
◼
►
to get plain old JavaScript to run quickly
00:27:19
◼
►
with the whole just-in-time compilers.
00:27:20
◼
►
And they basically are turning it into native code.
00:27:23
◼
►
And if you can exploit that engine--
00:27:26
◼
►
because like you said, people can be redirected to websites.
00:27:29
◼
►
And if someone finds an exploit where they can somehow
00:27:33
◼
►
send a payload in a web page that confuses the JavaScript
00:27:37
◼
►
engine in some third-party browser and causes code execution.
00:27:41
◼
►
Or they basically just have to say, like they do now, third-party web engine, you can make
00:27:46
◼
►
your own web browser fine, but you can't do what we do with our JavaScript engine.
00:27:49
◼
►
So basically you're dooming every JavaScript engine to be slow, except for ours.
00:27:53
◼
►
We get to do the fancy potentially insecure thing, but there's just one of that and we
00:27:57
◼
►
fix the bugs and no one else can make one.
00:27:59
◼
►
In fact, they don't even let you do interpreters, right, except for Lua or whatever, or games.
00:28:04
◼
►
So I think security is still potentially an issue for stupid, slow JavaScript that they
00:28:09
◼
►
try to make fast, so your choice is—like I said, I don't think you're even allowed
00:28:12
◼
►
to have an interpreter.
00:28:13
◼
►
I don't remember the exact rules.
00:28:14
◼
►
But I think security is still a reasonable answer for the web browser.
00:28:18
◼
►
But I would set aside the web browser and pick my pet peeve.
00:28:21
◼
►
It's like, why can't I pick a different default email application?
00:28:24
◼
►
I don't want to use Apple Mail.
00:28:25
◼
►
I don't want to enter any accounts there and get every single application when it wants
00:28:28
◼
►
to send mail, sends me to that account.
00:28:30
◼
►
Email does not seem like something that needs a just-in-time compiler or some native—it's
00:28:33
◼
►
It's just an app.
00:28:34
◼
►
Just define a protocol, let people have a third-party mail application.
00:28:38
◼
►
Well, for the email side, you lose the security reasons.
00:28:41
◼
►
And I think your security reason there is very good.
00:28:43
◼
►
And by the way, there's this huge misconception that Chrome is not allowed to be as fast as
00:28:48
◼
►
That used to be the case.
00:28:49
◼
►
That stopped being the case a year ago, at least, whenever WKWebView was.
00:28:53
◼
►
I think a year ago.
00:28:55
◼
►
Yeah, but it has to use Apple's.
00:28:56
◼
►
At that point, it's just using Apple's engine straight up.
00:28:59
◼
►
Well, it always was.
00:29:00
◼
►
Just before, there was only UIWebView, which wouldn't do the JavaScript thing because it
00:29:02
◼
►
was in process. WKWebView is way more restricted from what the app can access. Like, if you
00:29:09
◼
►
have a font loaded in your app, UIWebView will show it. WKWebView won't because it doesn't
00:29:15
◼
►
have access because it's running out of process. That's why it's allowing you to have that
00:29:20
◼
►
native JavaScript compilation because all the stuff that's happening in that WebView
00:29:23
◼
►
is not happening in your app's process.
00:29:25
◼
►
And because parsing fonts that have illegal values in them is apparently a terrible security
00:29:29
◼
►
hole, I'm going to find a good--did you see that article today?
00:29:32
◼
►
- I just saw the headline.
00:29:33
◼
►
- Oh, that's so bad.
00:29:35
◼
►
- So, but you know, for mail clients,
00:29:37
◼
►
they don't have that kind of thing, you're right.
00:29:38
◼
►
There is a cost with mail clients of integration.
00:29:42
◼
►
So one of the iOS APIs is to show
00:29:46
◼
►
a mail compose sheet in an app.
00:29:48
◼
►
So to put up a sheet, when somebody says shared,
00:29:50
◼
►
shared a mail, whatever, put up a sheet
00:29:51
◼
►
that you can pre-populate the subject,
00:29:54
◼
►
you can add attachments, you can do all this stuff
00:29:56
◼
►
that you can do some of that with a mail too,
00:29:58
◼
►
like the subject, but you can't do much
00:30:01
◼
►
with the attachments and body and stuff like that
00:30:03
◼
►
very easily with mailto URL.
00:30:05
◼
►
So like some of that they actually wouldn't be able to do
00:30:08
◼
►
if there was a choice.
00:30:10
◼
►
So you can see areas like that where there is like some
00:30:15
◼
►
reason where you can say well for integration reasons
00:30:18
◼
►
it would kind of suck if the system API would only work
00:30:23
◼
►
if their default mail client was mail app.
00:30:26
◼
►
- Well they would have to define like a, you know,
00:30:28
◼
►
to be conformant, you know, suitable.
00:30:31
◼
►
Like they're not good at this.
00:30:33
◼
►
It's just like the same pipe dream is saying,
00:30:35
◼
►
I would like to replace the Finder.
00:30:36
◼
►
I just tell me what sort of Apple events
00:30:38
◼
►
I have to respond to,
00:30:39
◼
►
to be a conforming Finder replacement, you know?
00:30:41
◼
►
And like with an email app, maybe it's much more limited.
00:30:44
◼
►
Like, but just, you could, you could dictate,
00:30:46
◼
►
you could pretty well dictate, please, you know,
00:30:50
◼
►
respond to these messages, support this API,
00:30:52
◼
►
support these URL port,
00:30:53
◼
►
like whatever the Apple wants to do
00:30:55
◼
►
to be a full fledged mail app replacement,
00:30:57
◼
►
you know mail applications would conform to it
00:31:00
◼
►
'cause it shouldn't be too onerous.
00:31:02
◼
►
But you gotta leave something for iOS 15 or whatever.
00:31:06
◼
►
They did a lot of stuff in iOS 8
00:31:08
◼
►
that we thought they wouldn't do.
00:31:09
◼
►
And I think we were so dazzled that no one really cared
00:31:12
◼
►
that they didn't do the let you pick your default app.
00:31:14
◼
►
- Right, and they might do that in the future.
00:31:15
◼
►
I mean, you said they certainly could,
00:31:17
◼
►
but the more I look at this,
00:31:19
◼
►
there's also, there's issues of,
00:31:22
◼
►
first of all, there's competitive issues.
00:31:23
◼
►
Obviously, when people say,
00:31:25
◼
►
I wanna choose my own email app,
00:31:27
◼
►
they're not looking to choose Eudora.
00:31:29
◼
►
They're looking to choose Gmail.
00:31:30
◼
►
And when they say my own browser, they're looking at Chrome.
00:31:34
◼
►
This is all Google stuff they wanna switch to.
00:31:37
◼
►
Then that does not, I'm sure that is not lost on Apple.
00:31:39
◼
►
- It could be Outlook.
00:31:40
◼
►
Like Microsoft bought Outlook.
00:31:42
◼
►
- Oh, that's true.
00:31:43
◼
►
- Whatever the app used to be.
00:31:45
◼
►
And I just read an interview, they were saying,
00:31:47
◼
►
Outlook for iOS is the best Gmail client.
00:31:49
◼
►
And it may very well be because Google's Gmail client
00:31:52
◼
►
for iOS is not that great.
00:31:53
◼
►
But because, again, because email is more or less
00:31:55
◼
►
an open protocol and because so far Gmail supports
00:31:58
◼
►
IMAP and POP, there is some, and so does Apple
00:32:02
◼
►
for that matter, that's why you can have
00:32:03
◼
►
a different email client, because email is an open protocol
00:32:05
◼
►
and you don't need to, it's not like Exchange,
00:32:07
◼
►
well even Exchange, Apple has Exchange support, sort of.
00:32:10
◼
►
It's like we're almost there with the mail apps.
00:32:13
◼
►
I don't have to use Apple's applications,
00:32:15
◼
►
just that every time I tap a link I go to Apple's.
00:32:17
◼
►
- Well and now, the great thing is, before,
00:32:20
◼
►
when apps were all writing their own share sheets
00:32:22
◼
►
and we got this mail compose view controller,
00:32:24
◼
►
I don't know, iOS 5 maybe?
00:32:26
◼
►
You know, the app had to write, okay,
00:32:29
◼
►
here's a shared email option,
00:32:31
◼
►
use the built-in system thing that has all these features,
00:32:33
◼
►
all this functionality.
00:32:34
◼
►
Now, everyone's just switching to the default share sheet,
00:32:37
◼
►
which includes mail, and can also include
00:32:39
◼
►
any other mail app that you have installed,
00:32:41
◼
►
if they have an extension.
00:32:43
◼
►
So now, the need for choosing your own mail app
00:32:47
◼
►
is going down as more apps implement these share sheets,
00:32:51
◼
►
the system share sheet,
00:32:53
◼
►
'Cause now you can just plug into that from any app.
00:32:57
◼
►
- Yeah, you still have like mail tool links.
00:32:59
◼
►
I don't know, do mail tool links even work on web pages?
00:33:01
◼
►
But anyway, yeah, the share sheet does help.
00:33:04
◼
►
It definitely does, but there's still many things
00:33:06
◼
►
in the system, including parts of Apple's thing
00:33:08
◼
►
that will chuck you into the mail app,
00:33:09
◼
►
'cause it's like, oh, you wanna send an email?
00:33:11
◼
►
And you know, share sheet is a more democratic process,
00:33:16
◼
►
that's true, if only you would remember
00:33:17
◼
►
where the hell I dragged the icons in.
00:33:20
◼
►
- Did they fix that in nine?
00:33:21
◼
►
you've run out of the beta, you're too responsible.
00:33:23
◼
►
- Here's the thing about that,
00:33:25
◼
►
that the whole, like, it doesn't take much
00:33:27
◼
►
to make people give up trying to arrange crap.
00:33:29
◼
►
Like, you know, the whole spatial thing.
00:33:30
◼
►
Like if Springboard didn't remember where you put your icons
00:33:32
◼
►
no one would arrange their home screens,
00:33:34
◼
►
but it does, so you do.
00:33:35
◼
►
ShareSheet was supposed to remember where you put things
00:33:38
◼
►
and everyone dragged them around
00:33:40
◼
►
when they first got the ability to do it
00:33:41
◼
►
and then realized it doesn't keep track of what you do
00:33:42
◼
►
and then everyone just gave up.
00:33:43
◼
►
And I haven't tried it again either.
00:33:44
◼
►
Like I've just given up, right?
00:33:46
◼
►
And so maybe when nine comes out,
00:33:47
◼
►
I'll give it one more try,
00:33:48
◼
►
but it's very easy to be discouraged.
00:33:50
◼
►
Like I spent time thinking about what should be
00:33:52
◼
►
the first, second, and third one in the share sheet,
00:33:55
◼
►
and then I realized the next time it comes up,
00:33:56
◼
►
it scrambled again.
00:33:57
◼
►
I'm never gonna try again.
00:33:58
◼
►
It's like, well, that was a waste of my time.
00:34:02
◼
►
- All right, tell us about TRIM.
00:34:05
◼
►
- Finally, our first real follow-up topic.
00:34:07
◼
►
- Yeah, why does follow-up take so long?
00:34:09
◼
►
I know Marco put things in follow-up.
00:34:11
◼
►
- That's what happens.
00:34:12
◼
►
- Eric wrote in to tell us about,
00:34:14
◼
►
we're talking about that, TRIM on SSDs.
00:34:16
◼
►
So there's another way that SSDs can deal
00:34:20
◼
►
with not knowing which space has been freed up
00:34:23
◼
►
and knowing which things can be erased.
00:34:25
◼
►
And that's over provisioning.
00:34:27
◼
►
Over provisioning is something I think all SSDs do
00:34:29
◼
►
to some degree.
00:34:30
◼
►
When you buy an SSD that's like 500 gigs,
00:34:32
◼
►
you don't get a bunch of chips in there that are 500 gigs,
00:34:35
◼
►
you get more than that.
00:34:36
◼
►
That's for a variety of reasons.
00:34:37
◼
►
One, the cells wear out if you use them a lot,
00:34:39
◼
►
so you have to have some extras left over
00:34:41
◼
►
because when you wear out a section of them,
00:34:42
◼
►
it's like, all right, well those are worn out,
00:34:44
◼
►
but I have these new ones here that are fresh.
00:34:46
◼
►
And part of what the firm are supposed to be doing
00:34:48
◼
►
wear leveling to try to wear them out evenly or whatever.
00:34:50
◼
►
But the other thing you can do with over-provisioning, especially if it's massively over-provisioned,
00:34:54
◼
►
like 20 or 30% over-provisioned, like the "enterprise class" SSDs are, is that you can
00:34:59
◼
►
use that empty space and then when the drive is idle, it can just sort of shift things
00:35:04
◼
►
around and compact them.
00:35:06
◼
►
And as it shifts things around and compacts them, it makes larger regions where it knows
00:35:09
◼
►
that there's nothing because it has moved everything from that space into another space.
00:35:12
◼
►
Like even when the drive is "full", there's still this empty block where you can move
00:35:16
◼
►
things around.
00:35:17
◼
►
that empty block you can erase because you know you just moved everything out
00:35:21
◼
►
of it and then that's the whole point of trim like we didn't get into this we got
00:35:24
◼
►
into this in the first time we talked about trim but I realized we talked
00:35:26
◼
►
about trim like two times and haven't gone over this like it is slower to
00:35:29
◼
►
write to an area of an SSD that has that has to be erased first that you don't
00:35:34
◼
►
know it's not already cleared right so it's much faster to say oh this is
00:35:39
◼
►
already cleared I can write to it directly instead of having to copy
00:35:42
◼
►
everything out clear it write everything back plus the little part that you added
00:35:45
◼
►
or whatever. So if you have this big empty region and if during idle time your SSD can shift crap around to make sure that big empty
00:35:51
◼
►
region is always there and it can clear that empty region so it knows if some new data comes in it can write it directly to
00:35:56
◼
►
that empty region without reading it in and writing it back out or anything
00:36:00
◼
►
that is a win. So that is a potential other way to get to deal with not having trim is just just have way more
00:36:09
◼
►
Flash memory than you need and then hope you have enough idle time
00:36:14
◼
►
For the firmware to shift stuff around to keep a large section of ready-to-go
00:36:18
◼
►
area where you can write too quickly and
00:36:21
◼
►
Tell us about your egregious error about half-life. Yeah, if I thought about a few more seconds, I would remember
00:36:27
◼
►
They ported it to the source engine a while back like
00:36:30
◼
►
In my mind, it's like well, that's not the real half life
00:36:33
◼
►
That's just when they ported to the source engine like the real one was you don't want the original game
00:36:37
◼
►
looks worse. Anyway, Half-Life is available for the Mac on the source engine. You can
00:36:42
◼
►
buy it on Steam. We'll put a link in the show notes. Go ahead and play it now. Fifteen
00:36:48
◼
►
years after we wanted to play it.
00:36:51
◼
►
I played Counter-Strike, the original Counter-Strike, briefly, and I remember thinking it was really
00:36:56
◼
►
hard. And I know the whole of the internet is now judging me and my inability to play
00:37:00
◼
►
games. That's fine. But I played an inordinate amount of Counter-Strike when I was in college.
00:37:07
◼
►
I played a crap load of Counter-Strike.
00:37:09
◼
►
I loved that game.
00:37:11
◼
►
- It's a good game.
00:37:12
◼
►
You can play Team Fortress 2 now.
00:37:14
◼
►
It's the, well, is it the spiritual successor?
00:37:16
◼
►
It's a successor, kind of, sort of.
00:37:19
◼
►
- I even saw, even that, like I would do the weird way
00:37:22
◼
►
to play Counter-Strike.
00:37:23
◼
►
Like I would just buy like the one really weird gun,
00:37:27
◼
►
like the scout sniper rifle that was terrible,
00:37:30
◼
►
and just try to get a kill with it,
00:37:31
◼
►
because that was harder and more interesting to me
00:37:34
◼
►
than just mowing everybody down.
00:37:35
◼
►
I don't know. I'm a terrible gamer.
00:37:37
◼
►
Not as bad as I am, but that's okay.
00:37:39
◼
►
Mark will be rocking the Nolan and Beyond in Destiny.
00:37:43
◼
►
You keep tweeting these Destiny things and...
00:37:45
◼
►
It sounds like it's all made up, doesn't it?
00:37:47
◼
►
There's bands from Canada that Marlin talks about.
00:37:49
◼
►
Yeah, like it looks like
00:37:51
◼
►
a Markov generator
00:37:53
◼
►
makes these tweets. I have no idea
00:37:55
◼
►
what you're talking about.
00:37:57
◼
►
All these words, it's like... I think that's a sentence.
00:37:59
◼
►
And I think it's English.
00:38:01
◼
►
It's great for Twitter because
00:38:03
◼
►
Bungee makes up all these basically proper nouns, makes a ton of proper nouns
00:38:07
◼
►
that are very compact, that everyone knows what you're talking about, and that
00:38:10
◼
►
abbreviations of them are also clear. But to other people those proper nouns mean
00:38:15
◼
►
nothing because they're just made up words, so it is a high percentage of
00:38:18
◼
►
made-up words per sentence.
00:38:21
◼
►
Yeah, when you tweet about these things I
00:38:23
◼
►
wonder if like my brain is blue screen of deathing or something because I
00:38:28
◼
►
I cannot compute what you have talked about."
00:38:31
◼
►
And then I'm like, "What thing has happened on the internet that I'm not privy to?"
00:38:35
◼
►
And then I get all concerned that there's something important that I'm missing and,
00:38:38
◼
►
"Oh no, it's not important, it's just Destiny."
00:38:40
◼
►
Yeah, there is a potential that Tiff could get into Destiny.
00:38:43
◼
►
I know it didn't take when I showed it to her when she was over here, but at some point
00:38:46
◼
►
she could wander over into it on her own, like with no one, you know, putting it in
00:38:49
◼
►
her face and just try it.
00:38:52
◼
►
It has the capacity to suck you in.
00:38:53
◼
►
I don't know if she's susceptible to it, but it could happen.
00:38:55
◼
►
Well, we don't even have a PS4.
00:38:57
◼
►
- Well, that can happen in two seconds, you kidding?
00:39:01
◼
►
PS4 could be on its way to your house right now.
00:39:02
◼
►
You can do Amazon same day delivery.
00:39:05
◼
►
So anyway, our second sponsor this week is MailRoute.
00:39:09
◼
►
So MailRoute, what they are is they are basically
00:39:12
◼
►
a mail proxy service.
00:39:14
◼
►
So you point your MX record of your domain,
00:39:17
◼
►
you point that at MailRoute servers.
00:39:19
◼
►
They filter out spam and viruses,
00:39:21
◼
►
and then they deliver to your real mail server
00:39:24
◼
►
the filtered out mail.
00:39:25
◼
►
And so I have, oh man, I have used email services
00:39:30
◼
►
for so long, I've tried my own spam filtering solutions,
00:39:34
◼
►
I've tried using fast mails built in ones,
00:39:36
◼
►
I use fast mails as my host, I once set up my own server
00:39:40
◼
►
with Spam Assassin and stuff like that.
00:39:42
◼
►
Not only were none of those as easy as mail route,
00:39:44
◼
►
none of them were as effective as mail route.
00:39:46
◼
►
So to give you some idea of how effective this is,
00:39:49
◼
►
last week I got a spam message, and I noticed.
00:39:54
◼
►
because it was so unusual to get any spam.
00:39:58
◼
►
It's not like you still get three or four a day.
00:40:01
◼
►
I get zero a day.
00:40:02
◼
►
It was surprising and noticeable
00:40:05
◼
►
that I got one spam message that got through.
00:40:08
◼
►
That's how good mail route is.
00:40:09
◼
►
And by the way, I haven't seen one since.
00:40:11
◼
►
So I really am incredibly impressed
00:40:16
◼
►
at how good mail route is.
00:40:17
◼
►
I've always heard from Gmail people,
00:40:20
◼
►
I'm looking at you two,
00:40:21
◼
►
I've always heard from Gmail people
00:40:23
◼
►
They have the best spam filtering and--
00:40:25
◼
►
- Oh no, you never heard that from me.
00:40:26
◼
►
It's good, but it ain't the best.
00:40:28
◼
►
- Honestly, I can say this is the best.
00:40:29
◼
►
I mean, granted I haven't seen Gmail,
00:40:32
◼
►
but like how do you beat zero?
00:40:34
◼
►
Like that's really hard to beat.
00:40:36
◼
►
Well excuse me, now it's one.
00:40:37
◼
►
One spam message in months.
00:40:40
◼
►
So really, I can't say enough good things about mail route.
00:40:44
◼
►
If you are like me and don't wanna give Google
00:40:46
◼
►
all of your mail and information
00:40:50
◼
►
and kind of buy into that whole ecosystem,
00:40:51
◼
►
if you prefer to be non-Google for that like I do.
00:40:54
◼
►
Like I use Fastmail, you can use any IMAP post you want.
00:40:58
◼
►
The great thing is with MailRoute,
00:40:59
◼
►
you can bring world-class spam filtering service
00:41:02
◼
►
to any email host.
00:41:04
◼
►
Any domain you control, any domain you own
00:41:07
◼
►
that you get email on, you can put MailRoute in front of it
00:41:10
◼
►
and really eliminate spam.
00:41:11
◼
►
It's incredible how well it works.
00:41:13
◼
►
It's very customizable too.
00:41:15
◼
►
If you wanna be less aggressive with your filtering.
00:41:17
◼
►
And so I have, so they have a thing
00:41:19
◼
►
they will email you this digest every couple of days or whatever you set it to of messages
00:41:25
◼
►
they think are probably spam that they have withheld from you but that they are not quite
00:41:29
◼
►
sure about. And there's just little links you can click to say, "All right, this is
00:41:32
◼
►
fine. This is fine if they catch anything in there." Almost nothing legitimate ever
00:41:37
◼
►
gets caught in there for me. And it's great to have it all summarized in one email that
00:41:41
◼
►
just gets sent out once every couple of days so that way I know I'm really not missing
00:41:45
◼
►
anything that's even close to legitimate if it is important, but I don't have to go through
00:41:49
◼
►
those constantly every day. And if it does catch something, you just click the little
00:41:53
◼
►
whitelist link and it's never a problem again. So it's great. I am very impressed with MailRout.
00:41:57
◼
►
It is easy to set up, reliable, and trusted by the largest universities and corporations
00:42:02
◼
►
as well as a bunch of individuals like me. They support LDAP, Active Directory, TLS,
00:42:07
◼
►
mail bagging, outbound relay, everything you'd want from anybody handling your email. So
00:42:12
◼
►
to the remove spam from your life for good,
00:42:14
◼
►
go to mailroute.net/ATP for a free trial.
00:42:18
◼
►
And if you use this link, mailroute.net/ATP,
00:42:21
◼
►
you will get 10% off the lifetime of your account.
00:42:24
◼
►
So 10% off not just the first month or year, whatever,
00:42:27
◼
►
every month, 10% off for the lifetime of your account.
00:42:30
◼
►
Go to mailroute.net/ATP.
00:42:33
◼
►
Thanks a lot to MailRoute.
00:42:34
◼
►
Remove spam and viruses from your life for good.
00:42:37
◼
►
- All right, so now that Jon has moved away
00:42:41
◼
►
from his beloved iPod Touch because he thought that Apple had abandoned him in the same way
00:42:48
◼
►
they have abandoned him with his god-awful file system.
00:42:53
◼
►
It turns out that things have changed.
00:42:56
◼
►
Jon, what happened today?
00:42:57
◼
►
Jon Streeter They did abandon me.
00:42:59
◼
►
They abandoned me for years.
00:43:01
◼
►
They released new iPods, but, you know, too little, too late, Apple.
00:43:05
◼
►
Steven McLaughlin Well, I wouldn't say too—I mean, for you—
00:43:07
◼
►
Jon Streeter Oh, for me.
00:43:08
◼
►
We're just talking about me.
00:43:09
◼
►
But anyway, yeah, they released new ones and, what is this, Steve Trout and Smith said,
00:43:14
◼
►
I don't know, I haven't confirmed this, that the new iPods are iPod 7, 1, like the model
00:43:19
◼
►
number, and the last one was iPod 5, 1.
00:43:22
◼
►
What happened to iPod 6, 1?
00:43:25
◼
►
Where did that one go?
00:43:27
◼
►
That was the secret one they withheld to make me buy an iPhone.
00:43:30
◼
►
That was entirely, it was actually a big plan at Apple just to get you, because you were
00:43:34
◼
►
like this thorn in their side, this guy would not buy an iPhone.
00:43:39
◼
►
I'm thinking about why they can that like I think I have a reason that they skipped, you know
00:43:45
◼
►
But if this is true that you know, or basically why did they not release an iPod touch for such a long time?
00:43:50
◼
►
Why was this big long gap? I was at the fifth generation iPod touch and it just lingered on and on
00:43:54
◼
►
Well, the lingering is like we know that Apple would just keep selling a thing
00:43:57
◼
►
Even if not a lot of people buy it because it's like well, we're good at making it
00:43:59
◼
►
We know how to make it. It doesn't change the the cost of parts presumably goes down up to a certain point
00:44:05
◼
►
Why not keep selling them?
00:44:06
◼
►
But every time we saw sales numbers that were in any way possible to slice and dice so that you could isolate the iPod touch numbers
00:44:12
◼
►
They were low they were super duper low
00:44:14
◼
►
You know, we know the iPod numbers were going down and the iPod touch was part of that and it's like, you know
00:44:20
◼
►
We're not selling a lot iPod touches so I can understand them saying is this a thing we're gonna do
00:44:24
◼
►
Should we bother making any iPod touch like maybe they were making one said should we even bother updating it?
00:44:29
◼
►
Should we just keep selling the current one?
00:44:31
◼
►
Do we think this new one will bump our numbers enough to be worth the cost of you know changing our manufacturing
00:44:36
◼
►
And making more expensive product
00:44:37
◼
►
We just want this product where the margins just keep going up and up again up to a point, but
00:44:41
◼
►
You know maybe make most of the insides
00:44:44
◼
►
But they can probably get all the parts for that cheaply so the fifth gen iPod touch by the time
00:44:47
◼
►
They were done selling it like they dropped the price a little I think but boy that was must have had
00:44:52
◼
►
Some great margins and low volume, and I guess they did the math and said there's no point in releasing
00:44:57
◼
►
releasing an iPod 6 comma 1 because it's not going to increase our sales enough to offset the
00:45:01
◼
►
You know the the difference in cost of parts and everything
00:45:06
◼
►
but I guess they came around and said
00:45:08
◼
►
they finally decided look we they're we they're not going to have the iPod touch anymore and everyone's got to get phones or
00:45:13
◼
►
It's important for us to have a product in this in this range
00:45:16
◼
►
Even if it doesn't sell a lot of it because it's kind of like an entry
00:45:18
◼
►
You know an entryway product for young people or you know, give it to your kids
00:45:22
◼
►
But you don't want to buy them a phone or something like that. And I think that was the wise choice
00:45:25
◼
►
And so here we have it, iPod 7,1 with an A8 processor,
00:45:30
◼
►
in the same form factor as it was before,
00:45:32
◼
►
no more little lanyard strap, new colors.
00:45:36
◼
►
This is sort of the Apple coming out,
00:45:39
◼
►
kind of like with the Mac Pro and saying,
00:45:41
◼
►
no, we still are gonna make a Mac Pro,
00:45:43
◼
►
and no, we still are gonna make the iPod Touch.
00:45:45
◼
►
And it seems like a pretty good iPod Touch, right?
00:45:47
◼
►
- Yeah, I mean, what's interesting is
00:45:49
◼
►
they shipped it with the A8,
00:45:52
◼
►
and I think this might be a little hint
00:45:54
◼
►
as to why they shipped it anyway,
00:45:55
◼
►
but going back a sec, they shipped it with the A8
00:45:58
◼
►
and historically, with the exception
00:46:01
◼
►
of the very first iPod Touch,
00:46:02
◼
►
all the other ones have kind of been a generation behind
00:46:05
◼
►
in their CPU core, and in this, they shipped the same core,
00:46:09
◼
►
just clocked a little bit lower,
00:46:13
◼
►
but the same CPU as the current iPhone.
00:46:16
◼
►
Now granted, the current iPhone is not gonna be
00:46:18
◼
►
the current iPhone in a few months,
00:46:20
◼
►
but this is still significant that everyone expected
00:46:23
◼
►
if they were going to do an iPod update anytime soon,
00:46:26
◼
►
it would go to maybe the A7 chip.
00:46:28
◼
►
And it went to the A8 instead.
00:46:30
◼
►
And so that is significant, even though it is clocked
00:46:32
◼
►
a little bit lower than the iPhone's.
00:46:34
◼
►
Matthew Panzorino ran some tests, he said it's 1.1 gigahertz.
00:46:38
◼
►
The iPhone 6 is 1.4, so close.
00:46:42
◼
►
Granted, it's not gonna be as fast as,
00:46:45
◼
►
but still, for 200 bucks, that's really cool.
00:46:48
◼
►
- I think it makes sense because my prediction
00:46:50
◼
►
is there will be another fairly long gap
00:46:54
◼
►
before this is updated again.
00:46:55
◼
►
So it's like, this is a product line we're gonna have,
00:46:57
◼
►
we think it's important to have this product line,
00:46:59
◼
►
let's give it the most longevity possible
00:47:02
◼
►
by sticking essentially last generation chip.
00:47:05
◼
►
I know it's the current one now, but like you said, Mark,
00:47:07
◼
►
the new phones are coming with the A9 and everything,
00:47:09
◼
►
so this is kind of like, okay,
00:47:11
◼
►
we've ramped up on the A8 enough
00:47:12
◼
►
that we're not supply constrained
00:47:14
◼
►
for our products that we really care about.
00:47:15
◼
►
There's enough A8s left over
00:47:17
◼
►
for the amount of iPod touches we're gonna sell,
00:47:18
◼
►
Pretty soon our flagships are gonna be A9 anyway.
00:47:20
◼
►
So let's give us an A8.
00:47:22
◼
►
That will give it the most possible longevity.
00:47:24
◼
►
So we don't have to revise it next year.
00:47:25
◼
►
'Cause if they put an A7 in it,
00:47:27
◼
►
it would be aging much more rapidly.
00:47:28
◼
►
The A8 is a big bump up and it maybe gives an extra year,
00:47:33
◼
►
an extra year or two that they can let it sit there.
00:47:35
◼
►
'Cause I don't think it's as important
00:47:37
◼
►
for the iButt Touch to be updated every single year
00:47:40
◼
►
given its sales volume and its place in the lineup.
00:47:43
◼
►
- Right, and so I think if you think back to
00:47:46
◼
►
why does this product still exist,
00:47:48
◼
►
but wasn't updated for three years.
00:47:50
◼
►
And I think there's a couple of potential reasons for this.
00:47:53
◼
►
Number one, what you said,
00:47:54
◼
►
it really does not sell very well.
00:47:56
◼
►
Relative to, I mean, it's a decent business,
00:47:59
◼
►
it's like the same thing where people say,
00:48:01
◼
►
"Well, if you look at the iPad by itself,
00:48:02
◼
►
"it's bigger than McDonald's," or whatever.
00:48:04
◼
►
It's a good business in isolation,
00:48:06
◼
►
but compared to Apple's overall business,
00:48:08
◼
►
it's a very tiny part of it.
00:48:10
◼
►
And so that, and even, you know, compared to iOS user,
00:48:14
◼
►
iOS usage numbers, like I know with my app,
00:48:17
◼
►
the usage numbers of iPod touches are just vanishingly small
00:48:21
◼
►
compared to all the iPhones.
00:48:22
◼
►
It's like almost no one uses an iPod touch for my app.
00:48:26
◼
►
And I think most developers I've talked to,
00:48:28
◼
►
I think you could say very similar things.
00:48:30
◼
►
Now of course it does tend to skew younger
00:48:32
◼
►
'cause a lot of kids get them.
00:48:33
◼
►
So maybe if you have like a game that appeals to kids,
00:48:35
◼
►
maybe your numbers will be different.
00:48:36
◼
►
But for the most part, it does not sell in large volumes
00:48:40
◼
►
relative to iPhones and iPads.
00:48:42
◼
►
And I think another part of maybe why
00:48:43
◼
►
they were kind of letting it languish for a while,
00:48:45
◼
►
then maybe why the six was cancelled this the iPod six comma one. Maybe that
00:48:49
◼
►
may be the reason that was cancelled if assuming it existed. I think maybe they
00:48:54
◼
►
were trying to see if they could move this this demand or this role in the
00:48:58
◼
►
lineup to the iPad mini because if you think about like what the iPod touch is
00:49:04
◼
►
for an iOS device for people who who don't have or can't have or just for
00:49:10
◼
►
whatever reason are not going to get an iPhone and when it was when it was
00:49:15
◼
►
there was no iPad. Now, or you know, once the iPad came out, it was very clear that,
00:49:22
◼
►
you know, a lot of the people who would buy an iPod touch, especially people buying them
00:49:25
◼
►
for kids, a lot of that usage was moving towards iPads, especially for things like games. And
00:49:31
◼
►
I think what we've seen over the last few years is the iPad kind of petering out or
00:49:36
◼
►
at least leveling off to some degree there. And the iPod touch is still very hot for that
00:49:42
◼
►
use of kids games and developers test devices
00:49:45
◼
►
and stuff like that, it's very useful for that.
00:49:47
◼
►
And I think maybe they were trying to see if the iPad
00:49:51
◼
►
could take that over and it just didn't pan out that way.
00:49:55
◼
►
- You know, I was thinking as you were talking,
00:49:57
◼
►
especially when you said that none of your users
00:50:01
◼
►
are on iPod Touches, I thought to myself,
00:50:03
◼
►
well that seems crazy because of kids, like you were saying.
00:50:06
◼
►
And I was just thinking about it,
00:50:07
◼
►
and I haven't been chronicling this in my head
00:50:11
◼
►
because I hadn't really been thinking about it until today.
00:50:14
◼
►
But as I reflect on going out to eat
00:50:17
◼
►
at a regular restaurant, like a Panera Bread, let's say,
00:50:20
◼
►
or just going about my day outside of work,
00:50:25
◼
►
on the weekends, whatever, I'm thinking back to,
00:50:27
◼
►
well, what are kids using when their parents
00:50:30
◼
►
just want them to shut up and let mom and dad eat?
00:50:34
◼
►
And to my recollection,
00:50:35
◼
►
they're either using their parents' phones
00:50:37
◼
►
or they're using iPads that seem to be dedicated
00:50:41
◼
►
for kid use.
00:50:42
◼
►
And so I think you're onto something,
00:50:43
◼
►
and that maybe answers the question,
00:50:45
◼
►
why did Apple not really care for,
00:50:47
◼
►
what was it, two years, three years?
00:50:49
◼
►
How long was it?
00:50:50
◼
►
- Why did Apple not care for three years?
00:50:52
◼
►
Which, by the way, is insane, but anyway.
00:50:55
◼
►
You know, maybe that's because, to your point, Marco,
00:50:58
◼
►
nobody's really buying these.
00:50:59
◼
►
If they want something that's a portable kid device,
00:51:03
◼
►
just like you said, they're getting an iPad Mini,
00:51:04
◼
►
and certainly my reflection on what I see day to day
00:51:08
◼
►
is that they're buying iPad Minis.
00:51:10
◼
►
That's one reason why they might have done this now
00:51:13
◼
►
as opposed to any other time.
00:51:14
◼
►
Another, I think, big reason, they also recently
00:51:17
◼
►
quietly killed the original iPad Mini that used the A5 CPU.
00:51:21
◼
►
So this, the iPod Touch was the last A5 iOS device,
00:51:24
◼
►
and not cutting Apple TVs, that's kind of a different story,
00:51:27
◼
►
but this was the last A5-based iOS device that was for sale.
00:51:30
◼
►
And now they have no more A5s left.
00:51:33
◼
►
They are also now all 64-bit once the 5C
00:51:37
◼
►
falls off the lineup, right?
00:51:38
◼
►
Is the 5C still even sold?
00:51:40
◼
►
Is that the free one right now?
00:51:42
◼
►
- I thought so.
00:51:42
◼
►
- Well, that's the other thing I've been saying about this,
00:51:44
◼
►
they probably had to make this hardware anyway
00:51:45
◼
►
if they're gonna make a 6C in the same form factor as a 5C.
00:51:48
◼
►
This is basically a 6C with no phone.
00:51:50
◼
►
- Exactly, and so they're gonna have some economies
00:51:54
◼
►
of scale here, even though this is a way smaller scale
00:51:57
◼
►
than the 6C will likely sell,
00:51:58
◼
►
but assuming they have a 6C, it'll have basically this,
00:52:02
◼
►
I bet it'll have these same guts,
00:52:04
◼
►
just with the phone hardware added to it,
00:52:06
◼
►
and if they've managed to squeeze that
00:52:09
◼
►
into a $200 product here, getting a little bit more
00:52:13
◼
►
hardware for the phone features, and maybe a slightly
00:52:16
◼
►
better camera into the 6C, which might even have
00:52:20
◼
►
this size screen, we don't even know that.
00:52:22
◼
►
That would be a nice high margin product to keep
00:52:26
◼
►
their margins up while still being able to be
00:52:28
◼
►
the cheap phone in the lineup, and they would have,
00:52:30
◼
►
you know, they'd have fewer parts that are being
00:52:32
◼
►
manufactured together.
00:52:33
◼
►
So that's, it would be a net win operationally
00:52:36
◼
►
and profit-wise almost certainly as well.
00:52:39
◼
►
But also, software-wise, they want to go all 64-bit.
00:52:42
◼
►
I am guessing that iOS 10 does not support 32-bit operating
00:52:47
◼
►
system or 32-bit CPUs.
00:52:48
◼
►
Isn't it already a requirement for,
00:52:50
◼
►
like, you have to upload a 64-bit app for something?
00:52:53
◼
►
What is the carrot they were dangling for there
00:52:55
◼
►
or the stick?
00:52:56
◼
►
You have to have a 64-bit binary for any submission
00:52:59
◼
►
after, like, this past January or something.
00:53:01
◼
►
It was a while ago now.
00:53:03
◼
►
But you can still have a 32-bit thing as well.
00:53:05
◼
►
But also, this year, you can now-- if you want to,
00:53:08
◼
►
you can now ship only 64-bit for the first time.
00:53:11
◼
►
I think with iOS 9, I believe it's the first time
00:53:13
◼
►
you can do that where now you can say,
00:53:15
◼
►
"You know what, now my app only runs on 64-bit devices
00:53:18
◼
►
"before you could not do that."
00:53:19
◼
►
And so now they're gonna have the whole lineup,
00:53:22
◼
►
as far as I know, except maybe definitely not the 5C,
00:53:24
◼
►
but once the 5C's gone, then they'll have the whole lineup
00:53:28
◼
►
now running 64-bit chips that also can run Metal.
00:53:32
◼
►
So this is all, like, you know, what they did to the Mac,
00:53:35
◼
►
moving a bunch of stuff to Metal for El Capitan,
00:53:38
◼
►
They can now do that to iOS next year with iOS 10
00:53:41
◼
►
and move a whole bunch of stuff to requiring Metal,
00:53:43
◼
►
and if they then just don't have any devices
00:53:46
◼
►
that can't run Metal, they can do that.
00:53:48
◼
►
So that can be power savings next year,
00:53:50
◼
►
that can be performance increases,
00:53:51
◼
►
so there's a whole bunch of reasons to do this.
00:53:54
◼
►
And all of this is predicated on the entire
00:53:57
◼
►
currently active for sale lineup
00:54:00
◼
►
having 64-bit chips that can run Metal.
00:54:02
◼
►
- Did they say at this year's WWDC
00:54:06
◼
►
that in either OS X or iOS that core animation is now running on Metal?
00:54:11
◼
►
Yeah, I think they're already doing the thing where like if Metal is available,
00:54:16
◼
►
like they have a dual code path for a lot of the stuff, even in iOS 9, where if Metal is available,
00:54:21
◼
►
they will use it and if not, they'll fall back to the other way. I don't know if it's pervasive,
00:54:24
◼
►
and like Marco said, there's a big win to be had of like not even supporting the other code path.
00:54:28
◼
►
Like if you could just say, "Okay, well iOS 10, you know, is Metal everywhere, it doesn't support
00:54:34
◼
►
OpenGL doesn't run on devices that couldn't run Metal.
00:54:38
◼
►
- It'll be interesting though also to see
00:54:39
◼
►
if they go this way, and if iOS 10 is 64-bit only,
00:54:44
◼
►
is there still the ability to run applications
00:54:47
◼
►
that haven't been updated since this requirement
00:54:49
◼
►
that are only 32-bit?
00:54:51
◼
►
Because right now, the way the phone works now
00:54:55
◼
►
is if you run an app that does not have a 64-bit version
00:54:58
◼
►
of its binary, which basically means it hasn't been updated
00:55:00
◼
►
since this past January or earlier,
00:55:02
◼
►
and the developer was really irresponsible for the year before that. If you have an app
00:55:08
◼
►
that is only 32-bit binary, the system has to load a whole bunch of 32-bit frameworks
00:55:12
◼
►
into memory just for that app. Having one 32-bit app running has an abnormally large
00:55:19
◼
►
cost associated with it for resource usage on your phone. Whereas if all your apps are
00:55:24
◼
►
64-bit and there are no 32-bit apps loaded, you then save that giant chunk of memory and
00:55:29
◼
►
whatever performance and battery cost comes with that.
00:55:31
◼
►
- Yeah, you know, what Apple could do to help that is
00:55:33
◼
►
maybe put more RAM in its devices.
00:55:35
◼
►
Over time, over like a multi-year period,
00:55:38
◼
►
that that number could change anyway.
00:55:39
◼
►
- Over an infinite time scale.
00:55:40
◼
►
So-- - I'm saying like
00:55:41
◼
►
a couple years. - Yeah, right.
00:55:43
◼
►
Anyway, so now, if they go 64-bit only with iOS 10,
00:55:48
◼
►
would this be the first time that they would actually
00:55:52
◼
►
cut off compatibility with running old apps?
00:55:56
◼
►
'Cause with iOS, if they've never done that,
00:55:57
◼
►
you can have an app that hasn't been updated since 2008,
00:56:00
◼
►
you can still run that on an iPhone 6 Plus today.
00:56:03
◼
►
It won't look very good, but it will run.
00:56:05
◼
►
And part of the app store's appeal, on paper at least,
00:56:10
◼
►
is that it has this giant library of apps.
00:56:12
◼
►
And I'm sure lots of people, myself included,
00:56:15
◼
►
I still very occasionally need to use
00:56:18
◼
►
some kind of obscure ancient app
00:56:20
◼
►
that's still, you know, that is giant on the current phones
00:56:23
◼
►
and has the iOS 6 keyboard and everything
00:56:25
◼
►
and has been updated forever.
00:56:27
◼
►
If you lose the ability to run all those,
00:56:28
◼
►
it'll kind of hurt.
00:56:30
◼
►
Do you think they'd do that?
00:56:31
◼
►
>> BRIAN KARDELL-MORROWSKI They're gonna, like, maybe not next year,
00:56:33
◼
►
but like, if only to not have to support, like, the old ARM 7 instruction set and to
00:56:38
◼
►
be able to be like, you know, all 7s and 7q or whatever the hell they come up with next.
00:56:43
◼
►
Like, to be able to, you know, like, they're still supporting thumb, right?
00:56:47
◼
►
The little ARM 4, like, the little tiny one?
00:56:51
◼
►
Like, wasn't there, like, two—on the original iPhone, wasn't there two instruction sets
00:56:54
◼
►
that you could use?
00:56:55
◼
►
Like, they would just love to ditch that silicon.
00:56:57
◼
►
Like, you know, it's just a, they'll do it eventually.
00:57:02
◼
►
iOS 10 might be like a nice round number turning point.
00:57:04
◼
►
I feel like it'll be two more years before they pull the trigger on that.
00:57:09
◼
►
But who knows, Apple, you know, one or two years I think is a reasonable time frame for
00:57:12
◼
►
them deciding to can all those ancient apps that haven't been updated.
00:57:15
◼
►
Because really, like, they've had time.
00:57:17
◼
►
It's like, it's kind of like the whole 30 pin connector thing, like where anyone, anyone
00:57:21
◼
►
complaining about that, it's like, you know, they kept that connector for almost a decade,
00:57:26
◼
►
is a reasonable amount of time.
00:57:28
◼
►
I know it might seem like, well, it may have been a decade,
00:57:30
◼
►
but I just got an iPad last year,
00:57:31
◼
►
and I bought all these cables.
00:57:32
◼
►
And that's, yeah, you're right.
00:57:34
◼
►
Sometimes someone buys it just the year before the transition.
00:57:36
◼
►
That's a bummer for you.
00:57:37
◼
►
But in the grand scheme of things,
00:57:39
◼
►
if your same binary has been running since day one
00:57:41
◼
►
of the App Store on iOS 2.0, I think
00:57:44
◼
►
it's OK now for us to say, OK, well, you didn't update it
00:57:46
◼
►
in how many years it's been?
00:57:48
◼
►
Six years since the App Store?
00:57:53
◼
►
Yeah, I mean, that's fine.
00:57:54
◼
►
That is a reasonable window.
00:57:56
◼
►
So I could say this year or next year,
00:57:58
◼
►
I would not be surprised to see them doing that.
00:58:00
◼
►
And they'll do it basically in line with like,
00:58:03
◼
►
when do we have the system on a chip design
00:58:05
◼
►
that reaps the benefits from dropping
00:58:07
◼
►
all these instruction sets?
00:58:08
◼
►
That's the time it'll happen.
00:58:10
◼
►
- Well, any other thoughts on the touch?
00:58:12
◼
►
- Yeah, unlike the poor suckers who get phones,
00:58:15
◼
►
if you get an iPod touch,
00:58:16
◼
►
you can pick from 16, 32, 64, and 128.
00:58:20
◼
►
Still the same crazy price range between them, but whatever.
00:58:23
◼
►
- Well, no, 32 is only 50 bucks more.
00:58:24
◼
►
So they actually, like they inserted 32
00:58:26
◼
►
where it would go in the phone pricing if it was there.
00:58:29
◼
►
So you have 16 as the base, 64 for $100 more.
00:58:32
◼
►
In the middle, you have 32, $50 more.
00:58:35
◼
►
- I know, but it's like, if you do the actual curves,
00:58:37
◼
►
like how much does this much flash memory actually cost?
00:58:39
◼
►
Like it just, it doesn't make, anyway.
00:58:41
◼
►
It's nice that there's a 32 in there.
00:58:43
◼
►
It would be nicer if they dropped the 16,
00:58:45
◼
►
but if any product can justify the 16, it's this.
00:58:48
◼
►
It's the cheapest, you know, like the 199,
00:58:51
◼
►
you're gonna give it to your kid, like whatever.
00:58:53
◼
►
they're like this is the only product,
00:58:54
◼
►
they should still be selling with 16 gigs of memory in it.
00:58:58
◼
►
But it's nice that they have a 32 in there.
00:59:01
◼
►
Just in time for 32 to become like
00:59:03
◼
►
actually a little bit too small as well.
00:59:04
◼
►
- (laughs) Right.
00:59:06
◼
►
Well and keep in mind, there have been a lot of changes
00:59:09
◼
►
recently that are really making it easier
00:59:13
◼
►
to have smaller capacity devices.
00:59:14
◼
►
So, I thought a photo library is a huge one,
00:59:17
◼
►
'cause then your photos don't have to live
00:59:18
◼
►
on your phone anymore or on your iPod.
00:59:21
◼
►
And with all the iOS 9 stuff with app thinning
00:59:25
◼
►
and all this stuff like that, that's all designed
00:59:28
◼
►
for minimizing disk space usage of your apps.
00:59:30
◼
►
- Yeah, although it's gonna be a huge lag time on that
00:59:32
◼
►
because how long is it gonna take for people to pick that up?
00:59:34
◼
►
They have the download on demand
00:59:36
◼
►
for downloading game levels on demand
00:59:38
◼
►
and the app slicing and app thinning,
00:59:39
◼
►
like all that stuff should just massively reduce things
00:59:42
◼
►
if developers actually use them.
00:59:44
◼
►
And then like, I don't know what the lag time's
00:59:45
◼
►
gonna be on using them.
00:59:46
◼
►
I hope game developers are incentivized to do it
00:59:48
◼
►
because a lot of time no one's gonna buy
00:59:51
◼
►
you know, Infinity Blade version 17, if it's like three gigs and you know,
00:59:55
◼
►
everyone with a 16 gig, every kid with a 16 gig device,
00:59:57
◼
►
it's just not going to have room for a three gig game.
00:59:59
◼
►
But if you can download it in 200 megs and just download levels on demand,
01:00:03
◼
►
I mean, I worry about like, you know, when I watched that session WVC,
01:00:08
◼
►
they kept showing like, Oh, you can look how small your app is.
01:00:12
◼
►
And then we'll download this thing on demand. You know,
01:00:15
◼
►
it didn't seem like there was a progress API.
01:00:18
◼
►
It didn't seem like there was a callback
01:00:19
◼
►
where you could show a progress bar.
01:00:21
◼
►
It didn't seem like there was anything.
01:00:22
◼
►
It just seemed like what your game would have to say
01:00:23
◼
►
is put up a static screen that says,
01:00:25
◼
►
"Loading level, please wait."
01:00:27
◼
►
And if it's a 500 meg level and they're on cellular,
01:00:32
◼
►
forget it, right?
01:00:32
◼
►
But if they're on Wi-Fi and the Wi-Fi is slow
01:00:34
◼
►
or the server, like, I worry about the viability.
01:00:38
◼
►
- And also, lots of kids go long spans during the day
01:00:41
◼
►
where they are not connected to any network
01:00:43
◼
►
with an iPod touch.
01:00:43
◼
►
- Right, yeah.
01:00:44
◼
►
They'll be disappointed when they advance
01:00:46
◼
►
to the next level and realize they can't play
01:00:47
◼
►
the next level.
01:00:48
◼
►
Until they get home that night.
01:00:50
◼
►
That API looks like one of those, that whole API for on-demand downloading looks like one
01:00:53
◼
►
of those APIs that will be better next year.
01:00:55
◼
►
After everyone tries it and realizes there's insufficient amount of resolution, so to speak,
01:01:02
◼
►
of like, "How can I get hooks into this API to provide a good user experience to let people
01:01:07
◼
►
know what's going on and to do reasonable things and not make it look like my game is
01:01:12
◼
►
broken when in reality it's just either in the process of downloading a giant level or
01:01:17
◼
►
failed to download a giant level, you know.
01:01:19
◼
►
- Well, or if you look at it from the perspective
01:01:21
◼
►
of the game publishers, there's very little reason
01:01:25
◼
►
for them to adopt it.
01:01:26
◼
►
It solves a problem that Apple has,
01:01:29
◼
►
but it doesn't really solve a problem developers have
01:01:30
◼
►
unless you really are trying to ship a five gig game.
01:01:33
◼
►
- Well, these games are big.
01:01:34
◼
►
Like I said, Infinity Blade's already like one or two gigs,
01:01:37
◼
►
and it's just not gonna fit on a 16 gig device
01:01:40
◼
►
because the kids will fail them,
01:01:40
◼
►
and so they can't buy your game,
01:01:42
◼
►
or they'll buy it and regret it
01:01:44
◼
►
and be angry that they can't use it.
01:01:46
◼
►
People want you to tap their link and get their game on your device and play your game,
01:01:50
◼
►
especially if it's a free-to-play.
01:01:52
◼
►
They get no money then.
01:01:53
◼
►
You've got to launch it, right?
01:01:55
◼
►
I think game developers are incentivized to do some stuff.
01:01:58
◼
►
But even just plain old App developer, I really hope that people do the app thinning and slicing
01:02:04
◼
►
Because it seems like, from Apple's perspective, like, "Look how easy we made it for you.
01:02:07
◼
►
Just tag things and do this, and we'll automatically put the version, and we'll have the different
01:02:13
◼
►
That should be a win.
01:02:14
◼
►
all it takes is for people to rebuild their apps for iOS 9 and upload new versions of
01:02:19
◼
►
them. And I hope that will happen for all the apps that I care about because they're
01:02:22
◼
►
all like sort of actively maintained by people that are just going to do this anyway as a
01:02:25
◼
►
matter of course.
01:02:26
◼
►
I'm just so happy that I don't have to do any of those APIs because Overcast is like
01:02:30
◼
►
You should do them anyway. You could be like two megs.
01:02:33
◼
►
Do them, well do them for what assets?
01:02:36
◼
►
Yeah, yeah, yeah.
01:02:38
◼
►
Anyway, our final sponsor this week is Squarespace. Squarespace, build it beautiful. Go to the
01:02:44
◼
►
squarespace.com to sign up. Use offer code ATP to get 10% off your first purchase.
01:02:49
◼
►
Let's face it, most of you probably know what Squarespace is. They're a place you go to make
01:02:54
◼
►
a website. So many of us need websites. So many of our friends and family needs websites. So many
01:03:00
◼
►
of our hobby projects need websites. Restaurants we go to, businesses we patronize, they all need
01:03:04
◼
►
websites. And the world of making websites in the past has often been overwrought, over complicated,
01:03:11
◼
►
over certainly overpriced and you know you have to deal with installing hosted
01:03:16
◼
►
CMS's or finding a host hoping that host doesn't go down dealing with you know
01:03:21
◼
►
all the server stuff if you host it yourself it's hosting websites has been
01:03:26
◼
►
challenging in the past and then what you end up getting is the system that
01:03:31
◼
►
maybe you wrote it yourself if you're a programmer like us maybe you're using
01:03:34
◼
►
someone else's system and you go to you go to try to do something and it's like
01:03:37
◼
►
"Oh, now the cool new thing this year is these galleries that pop up and have the things
01:03:43
◼
►
in little light boxes. That's the cool thing this year." And you can go try to do that
01:03:46
◼
►
and, "Oh, I can't do that on my setup. I have to go upgrade the whole thing or change to
01:03:51
◼
►
a different system." It's a big pain. With Squarespace, they take care of everything
01:03:55
◼
►
for you. It is all hosted by them and they are not only extremely modern and up to date
01:04:01
◼
►
with everything that you can do on a website today that you might want to do fashion-wise,
01:04:06
◼
►
culture wise, style wise, mobile, commerce, they have so much stuff built in. But also,
01:04:12
◼
►
as time goes on, as the web gets more mature, as new technology come around, new devices
01:04:17
◼
►
come out that you want to support, Squarespace just starts supporting it. They do it all
01:04:21
◼
►
for you. They add those things as time goes on. So you don't have to keep upgrading your
01:04:27
◼
►
site to different software or moving to a different host or anything. It's all right
01:04:31
◼
►
there at Squarespace. They do it all, they host it all for you. Your site at Squarespace
01:04:35
◼
►
looks professionally designed. Regardless of your skill level, you don't have to be
01:04:39
◼
►
a coder to use it. If you are a coder, you can inject your own custom code, you can do
01:04:43
◼
►
lots of customization, and if you, you can just like drag around colors, change fonts
01:04:49
◼
►
and everything without any coding at all if you want to. Everything is intuitive and easy
01:04:52
◼
►
to use. They have state of the art technology powering the site and your servers to ensure
01:04:57
◼
►
security and stability. You don't have to worry about your site getting hacked and spam
01:05:01
◼
►
comments being posted all over it or anything like that. They handle all of that for you.
01:05:05
◼
►
It's trusted by millions of people around the world and some of the most respected brands
01:05:09
◼
►
in the world. So Squarespace starts at just $8 a month. If you sign up for a year, you
01:05:14
◼
►
get a free domain name and you can start your free trial today. This is a real free trial.
01:05:19
◼
►
There is no credit card required. It's a real free trial. Go to squarespace.com. Use
01:05:23
◼
►
offer code ATP to get 10% off. Start a real free trial today and just build a site. Just
01:05:29
◼
►
Just try it, build a site.
01:05:30
◼
►
That's how I got into it.
01:05:31
◼
►
Before, when I had to make some sites in the past,
01:05:34
◼
►
I tried one time, I just tried doing it on Squarespace,
01:05:37
◼
►
and I was done in like an hour.
01:05:38
◼
►
It was crazy how fast it was.
01:05:40
◼
►
And I had never even used it before that,
01:05:42
◼
►
and I was done in an hour.
01:05:43
◼
►
So give it a try, check it out, it is great.
01:05:45
◼
►
Squarespace.com, offer code ATP to get 10% off.
01:05:49
◼
►
Squarespace, build it beautiful.
01:05:51
◼
►
- Couple more things on the iPod touches before we move on.
01:05:54
◼
►
- What are the other colors?
01:05:55
◼
►
- Yeah, that's one thing I'm gonna bring up.
01:05:56
◼
►
The only black one is Space Gray.
01:05:58
◼
►
All the other ones are white on the front.
01:06:00
◼
►
- Oh, I didn't notice that.
01:06:02
◼
►
- Honestly, I think the colors look pretty good.
01:06:04
◼
►
- The color, yeah, I do like them.
01:06:05
◼
►
I like these colors.
01:06:06
◼
►
This lineup of colors is more appealing to me
01:06:09
◼
►
than the past lineup of colors.
01:06:10
◼
►
I don't like anything with the white front.
01:06:12
◼
►
I like how it looks like as a product,
01:06:13
◼
►
but I don't like looking at it.
01:06:14
◼
►
So it's kind of disappointing to me
01:06:15
◼
►
that now there's only one with the black front.
01:06:18
◼
►
- Yeah, I'm with you on that.
01:06:20
◼
►
And I wish there were more color options,
01:06:23
◼
►
but the ones they have I think look good.
01:06:25
◼
►
- Black and gold, at least.
01:06:26
◼
►
Come on, guys.
01:06:28
◼
►
Well, they're not gonna do black and space gray.
01:06:30
◼
►
Space gray is the new black, Jon.
01:06:31
◼
►
- No, I mean like a gold back and then black on the front.
01:06:35
◼
►
- All I'm talking about is the front.
01:06:37
◼
►
All the fronts are white except for the model
01:06:38
◼
►
that is space gray on the back.
01:06:40
◼
►
- Is that how the iPhone is?
01:06:42
◼
►
Does the gold iPhone have a black front?
01:06:43
◼
►
- Maybe it is.
01:06:44
◼
►
Obviously they don't have 17 colors for the iPhone,
01:06:47
◼
►
so maybe you don't notice.
01:06:48
◼
►
And maybe this has been this way
01:06:49
◼
►
with the iPod Touch in the past as well,
01:06:51
◼
►
which is why I keep buying the space gray ones.
01:06:53
◼
►
But it's still, I worry,
01:06:55
◼
►
The black one being the sole one there that it's only a matter of time before they are not that I'm buying this myself anyway
01:07:01
◼
►
But anyway, both of my kids have they have ones that are different colors on the back
01:07:05
◼
►
But both of them are black on the front because both well one was originally bought for me and then one was bought
01:07:09
◼
►
For my kids directly and when I bought it, I remember thinking I can't believe I'm buying this iPod touch
01:07:15
◼
►
That's like two and a half years old
01:07:17
◼
►
Real-time follow-up the the gold
01:07:19
◼
►
iPhone has the white front. However, the gold MacBook one
01:07:25
◼
►
has the black bezel.
01:07:27
◼
►
- Well, you know, that's.
01:07:30
◼
►
- I wonder if they did it, like if they made a MacBook
01:07:33
◼
►
with white around the screen.
01:07:35
◼
►
No, I don't like white around the screen.
01:07:38
◼
►
I do like how it looks.
01:07:39
◼
►
Like that blue one with the white looks great.
01:07:41
◼
►
The red one with the white looks great.
01:07:42
◼
►
Like it looks great in product shots.
01:07:44
◼
►
I just don't want to look at it as a screen.
01:07:45
◼
►
But other people like it, so there you go.
01:07:46
◼
►
But anyway, cool colors, no lanyard,
01:07:48
◼
►
which I think they discovered that nobody wants
01:07:51
◼
►
to put a strap around their wrist ever.
01:07:54
◼
►
I wonder what percentage of kids use the little wrist strap on the Wii when they're using those Wii remotes like
01:07:59
◼
►
Parents probably make them do this
01:08:00
◼
►
I don't destroy their TVs by chucking the remote out or whatever
01:08:03
◼
►
But I can honestly say that I never saw anyone in real life with the wrist strap
01:08:08
◼
►
Connected to their iPod touch and though I had an iPod touch with the wrist strap
01:08:12
◼
►
I never put it on my wrist. I think it's still in the box. Did you ever fling it at your TV?
01:08:16
◼
►
No, I did not. Okay. Yeah, that's a cost savings. It's a space savings
01:08:22
◼
►
You don't have that little moving part which is kind of fun to play with the little clicky
01:08:25
◼
►
you know lanyard thing in and out and out but
01:08:27
◼
►
Yeah, that's an interesting experiment that apparently didn't pan out because if it had panned out you'd be seeing those little things on all
01:08:33
◼
►
Their products instead of just being on one for this weird three-year period and then going away
01:08:37
◼
►
And the final thing that much no, I'm not getting an iPod touch
01:08:41
◼
►
I have the main reason is of course. I have the phone now. We've already got like the family plan
01:08:46
◼
►
They pay for and everything were asking am I gonna go back to a flip phone?
01:08:49
◼
►
I'm not, but I think the biggest thing keeping me on my iPhone is that I'm now used to the
01:08:54
◼
►
bigger screen. Like when I pick up my kids' devices, I can't imagine using that tiny little
01:08:58
◼
►
thing. I'm now used to it. My hand is used to it. I'm used to the extra space. I'm used
01:09:01
◼
►
to the extra pixels. I can't go back again. So congratulations, Apple.
01:09:07
◼
►
Thanks, Obama.
01:09:11
◼
►
So are you going to get one of the brand new iPod Nanos or iPod Shuffles?
01:09:16
◼
►
New question mark, right?
01:09:17
◼
►
I think it's actually not even a question anymore.
01:09:20
◼
►
I think it's just not new.
01:09:22
◼
►
I'm pretty sure that's confirmed.
01:09:24
◼
►
- Is it a soft, is there different software on them maybe?
01:09:27
◼
►
- No, there's different colors.
01:09:28
◼
►
I believe that is literally the only change.
01:09:31
◼
►
- Yeah, I was trying to look into this,
01:09:32
◼
►
but like honestly I had no,
01:09:34
◼
►
I was looking at the tech specs and like,
01:09:35
◼
►
I don't remember what the old ones were.
01:09:37
◼
►
It's kind of disappointing to me that,
01:09:39
◼
►
like there are many areas that both of these products
01:09:41
◼
►
could be improved in both hardware and software.
01:09:44
◼
►
Just through like experience of like having this been
01:09:46
◼
►
in the market for a long time,
01:09:47
◼
►
people using them, knowing which buttons are hard to press,
01:09:50
◼
►
how is it weird to hold, what materials you could do better,
01:09:52
◼
►
what seam tends to open up over time,
01:09:55
◼
►
which parts of the OS are slow or don't support a thing,
01:09:57
◼
►
but it's like, just the product is not selling enough
01:10:00
◼
►
for them to make those changes, I guess.
01:10:02
◼
►
So it's just more of the same in different colors.
01:10:05
◼
►
I think it's still a good idea to sell these products.
01:10:08
◼
►
New colors is a way to get more people to buy them.
01:10:12
◼
►
It's another sort of starter product for like a little kid
01:10:14
◼
►
who wants to listen to music.
01:10:16
◼
►
you're not gonna buy them a Sony Walkman, right?
01:10:18
◼
►
You're gonna go buy them a little iPod,
01:10:19
◼
►
a little cheap iPod, you don't care too much
01:10:21
◼
►
if they send it through the laundry
01:10:23
◼
►
or destroy it, especially like a shuffle
01:10:24
◼
►
they're like 50 bucks or whatever.
01:10:27
◼
►
It's good that these products are gonna line up.
01:10:28
◼
►
I think of all of the iPod Nanos and shuffles
01:10:31
◼
►
they've ever made, these are not the best versions.
01:10:34
◼
►
- Yeah, I think I agree.
01:10:36
◼
►
What's interesting though is that these are officially
01:10:40
◼
►
like updated in quotes,
01:10:42
◼
►
but they can't use Apple Music tracks.
01:10:45
◼
►
Like if you download something from Apple Music,
01:10:47
◼
►
so anything downloaded from Apple Music is DRM'd
01:10:49
◼
►
and it's kind of time bombed so that you are not supposed
01:10:52
◼
►
to be able to play Apple Music tracks
01:10:54
◼
►
if you end your subscription to Apple Music.
01:10:56
◼
►
iPods, I guess they decided through the DRM,
01:10:59
◼
►
like they can't really guarantee that an iPod
01:11:03
◼
►
will have its clock set properly
01:11:05
◼
►
or that it'll really ever check in once it's synced
01:11:07
◼
►
or anything like that, so.
01:11:09
◼
►
- Do they even have clocks?
01:11:10
◼
►
Like, I mean, they don't have wireless.
01:11:12
◼
►
Like, well, they have FM radios or whatever,
01:11:14
◼
►
It's basically because they can't validate the files like if you if you've got your Apple music files onto your iPod nano
01:11:19
◼
►
they would they would either never play which is the current option or
01:11:22
◼
►
Play forever because as long as you just don't plug your iPod nano into anything. Those are basically the only choices
01:11:29
◼
►
So yeah, I'll put a link in the show. It's Serenity wrote about this whole thing
01:11:33
◼
►
Like it's not surprising that if you're you know
01:11:35
◼
►
streaming files that relying you having a subscription
01:11:38
◼
►
cannot go on devices that can't confirm that you have a
01:11:40
◼
►
subscription. These things have no way to tell if you have a subscription." And they
01:11:43
◼
►
could have updated them to "no." They could have updated them, but that would have been,
01:11:47
◼
►
I guess, more time and effort and technology and software that they're willing to invest
01:11:51
◼
►
in this product line.
01:11:52
◼
►
Yeah. And if Gruber's right, that the reason the Nano still has the iOS 6 look to its fake
01:12:01
◼
►
iOS UI, Gruber's sources say that there's literally nobody left in the team. Apparently
01:12:07
◼
►
team that did that was poached for the watch team. And so there's basically just nobody
01:12:12
◼
►
who can work on it right now. And that sounds plausible. And because, you know, imagine
01:12:16
◼
►
if you're if you work at Apple, like you do you really want the job of updating the iPod
01:12:20
◼
►
nano software every three years to look more like fake iOS? Like that's probably not a
01:12:24
◼
►
great thing to be working on if you can help it.
01:12:27
◼
►
Yeah, the ADP tips are wants us to know that if you have trusted time on the device that
01:12:30
◼
►
you can still use that and there'd be you know, if you tried to reset the time it would
01:12:33
◼
►
invalidate things and so on and so forth. But all of that I would assume would require
01:12:37
◼
►
investment in software at the very least and possibly also hardware that doesn't exist.
01:12:42
◼
►
And so they're not going to do that investment?
01:12:44
◼
►
They're not going to add a way for these devices to know?
01:12:47
◼
►
Maybe he's saying they already have this feature?
01:12:49
◼
►
It just seems like any kind of investment in changing the feature set of these products
01:12:54
◼
►
was just not in the cards for this revision.
01:12:56
◼
►
Changing the colors is something they can just do in manufacturing, done and done.
01:13:00
◼
►
So the iPod Nano is $150.
01:13:05
◼
►
For 50 bucks more, you get the iPod Touch.
01:13:08
◼
►
Now granted, it is a larger device,
01:13:10
◼
►
but otherwise, why does the Nano still exist?
01:13:15
◼
►
Why would anybody get the Nano for 150 bucks
01:13:19
◼
►
if for 50 bucks more, you get the same capacity
01:13:21
◼
►
in a full-blown, pretty good iOS device?
01:13:24
◼
►
- Smaller, lighter, simpler, has an FM radio.
01:13:27
◼
►
I mean, you know.
01:13:28
◼
►
It's not a big area, it's not a growth market,
01:13:32
◼
►
but the shuffle, I'm assuming you're excluding that one,
01:13:35
◼
►
is you're like, oh, well the shuffle is so damn small
01:13:37
◼
►
that if you want something that's like microscopic
01:13:38
◼
►
and weighs nothing, this is your only option.
01:13:40
◼
►
- The shuffle sucks, but the shuffle has always sucked.
01:13:43
◼
►
I've owned multiple shuffles in my life, they've all sucked.
01:13:46
◼
►
They, it's a terrible device, it is awful.
01:13:49
◼
►
- I like the, remember the stick of gum one,
01:13:50
◼
►
the original one?
01:13:51
◼
►
- It's two gigs still?
01:13:53
◼
►
- Yeah, they're all, yeah, they're all the same size.
01:13:54
◼
►
- Yes, I had the stick of gum one, that was one of them.
01:13:56
◼
►
- I'm sad that one broke, 'cause I loved that one.
01:13:58
◼
►
I thought that was a very clever design.
01:13:59
◼
►
I mean, obviously it's way too big by modern standards,
01:14:02
◼
►
but back then, like, I really like that design.
01:14:04
◼
►
I like the fact that it had a little thingy-wonder on your neck, I like the little stick of gum
01:14:08
◼
►
thing, and it was nice and lightweight.
01:14:11
◼
►
I like the shuffle before they pulled in the margins and sort of wrapped the shuffle more
01:14:16
◼
►
tightly around that circular control, because that one had a place for you to put your fingers
01:14:20
◼
►
to open the little chomper, like the little clamp on the back, without accidentally hitting
01:14:25
◼
►
the previous track button, you know?
01:14:28
◼
►
This one is just too small to do anything with.
01:14:30
◼
►
That circular button on the shuffle has never really been great, but it does have the advantage
01:14:33
◼
►
that it's super microscopic.
01:14:35
◼
►
Remember the one that was like the Trident gum
01:14:36
◼
►
that had no buttons on it?
01:14:38
◼
►
- Yeah, that was short-lived for good reason.
01:14:41
◼
►
- Those were the days.
01:14:42
◼
►
Yeah, there's a lot of interesting innovation
01:14:44
◼
►
in like how small we can make this.
01:14:46
◼
►
It's just kind of sad to see it not, you know,
01:14:49
◼
►
like this is it, this little square
01:14:50
◼
►
that you clip onto things.
01:14:51
◼
►
Anyway, it's not that bad.
01:14:52
◼
►
But so why does the Nano exist?
01:14:53
◼
►
I think it is different enough.
01:14:55
◼
►
I, you know, I think it's differentiated.
01:14:57
◼
►
It's differentiated from the shuffle by having a screen
01:14:59
◼
►
and a place where you can do stuff.
01:15:01
◼
►
And it's differentiated from the iPod by being,
01:15:03
◼
►
I think from the perspective of people who want to jog with it or something, the Nano
01:15:07
◼
►
is the size that you could, like, that you wouldn't notice it.
01:15:11
◼
►
It's still, I think, below the threshold of, you know, even if not so much from weight,
01:15:16
◼
►
but just from like having a big playing card-sized stiff thing strapped to your body somewhere,
01:15:21
◼
►
whereas the Nano I think is down in the range of, you know, more towards the shuffle end
01:15:26
◼
►
of things where you can find someplace in obtrusive to shove it.
01:15:29
◼
►
You wouldn't even have to buy like a dedicated case for it, I would imagine, but maybe you'd
01:15:32
◼
►
want to anyway the shuffle to me is the I'm going to do some sort of aggressive
01:15:39
◼
►
working out with this and I don't want to break any other device and if I do
01:15:42
◼
►
break this is not the end of the earth the nano though I agree with you guys
01:15:46
◼
►
it's kind of a weird gray area and the only thing I can think of is what if
01:15:51
◼
►
it's for a kid who doesn't necessarily isn't necessarily old enough to be able
01:15:56
◼
►
to handle or maybe you don't want them to handle a full-on iOS device but you
01:16:02
◼
►
like the iPod touch, but maybe this is sort of a halfway that's more interesting and allows you,
01:16:08
◼
►
affords you some amount of control, yet is still not a full-on iPod touch.
01:16:14
◼
►
**Matt Stauffer** It keeps the kid off the internet, basically. They want to listen to music.
01:16:17
◼
►
It allows parents to delay facing the inevitable, which is how do I handle my child who has access
01:16:24
◼
►
to the internet? Lets them push it off for a couple more years. Although they still have to
01:16:29
◼
►
I love the deal with, "Mom, can you put this music
01:16:32
◼
►
"on my iPod, please?"
01:16:33
◼
►
Because they have no way to get music on it
01:16:34
◼
►
without, you know, connecting to iTunes,
01:16:37
◼
►
for crying out loud.
01:16:39
◼
►
- I'm asking this honestly.
01:16:40
◼
►
Do kids still care about music?
01:16:42
◼
►
- Yeah, they do.
01:16:44
◼
►
- I honestly didn't know, because it seems like music
01:16:47
◼
►
is very generational, but also that in recent generations,
01:16:50
◼
►
we are actually like moving more away from it,
01:16:53
◼
►
if that makes sense.
01:16:53
◼
►
Like music is becoming less important
01:16:55
◼
►
as the generational cultural entertainment media, I guess.
01:17:00
◼
►
I don't know, does that make sense?
01:17:03
◼
►
- Seems about the same.
01:17:04
◼
►
Like, you know, your kids one day will come home
01:17:06
◼
►
and they will know a pop song
01:17:08
◼
►
that you have never played or heard of
01:17:10
◼
►
and they know all the words to it.
01:17:11
◼
►
Like, how did this happen?
01:17:12
◼
►
You know, that's, they have peers, they have, you know,
01:17:16
◼
►
they find out about music, they get interested in music,
01:17:19
◼
►
they eventually have demands for songs that they want
01:17:22
◼
►
on their iPods and yeah, it's still a thing.
01:17:25
◼
►
Alright, fair enough.
01:17:27
◼
►
Thanks a lot to our three sponsors this week,
01:17:29
◼
►
Squarespace, Igloo, and MailRoute,
01:17:31
◼
►
and we will see you next week.
01:17:34
◼
►
(upbeat music)
01:17:36
◼
►
Now the show is over, they didn't even mean to begin
01:17:41
◼
►
'Cause it was accidental (accidental)
01:17:44
◼
►
Oh, it was accidental (accidental)
01:17:47
◼
►
John didn't do any research, Marco and Casey wouldn't let him
01:17:52
◼
►
'Cause it was accidental (accidental)
01:17:54
◼
►
Oh, it was accidental (accidental)
01:17:57
◼
►
And you can find the show notes at ATP.fm
01:18:02
◼
►
And if you're into Twitter, you can follow them @C-A-S-E-Y-L-I-S-S
01:18:11
◼
►
So that's Kasey Liss, M-A-R-C-O-A-R-M
01:18:16
◼
►
Auntie Marco Arment, S-I-R-A-C-U-S-A-C-R-A-C-U-S-A
01:18:23
◼
►
It's accidental
01:18:26
◼
►
They didn't mean to
01:18:31
◼
►
♫ Tech podcast so long
01:18:35
◼
►
- What's going on in Overcast these days?
01:18:38
◼
►
We haven't heard much about it.
01:18:39
◼
►
- Oh man, I mean I'm working my butt off on it basically.
01:18:43
◼
►
- So like a couple hours a day?
01:18:45
◼
►
- Yeah, pretty much, yeah.
01:18:46
◼
►
Maybe half hour, 45 minutes.
01:18:49
◼
►
I'm working on a big 2.0, and I'm still like,
01:18:53
◼
►
I mean I've said this on Twitter a couple times,
01:18:55
◼
►
it's not news that I'm working on 2.0.
01:18:58
◼
►
For me, 2.0 will have a few big new features,
01:19:01
◼
►
but it's mostly about kind of nailing down
01:19:05
◼
►
all the different parts.
01:19:07
◼
►
Like this week I was working on,
01:19:10
◼
►
drum roll please, the downloader, as usual.
01:19:13
◼
►
- Really? - Uh-huh.
01:19:15
◼
►
So I finally figured out there's,
01:19:18
◼
►
one of the problems that people keep reporting to me
01:19:20
◼
►
is that storage usage just seems to just keep growing
01:19:25
◼
►
over time for any given installation.
01:19:27
◼
►
It's temp files that are created
01:19:29
◼
►
by the background download system.
01:19:31
◼
►
the background download process in iOS, which I hate with a passion, there are temp files
01:19:36
◼
►
that that generates, and then if a download is interrupted for any reason, like if you
01:19:41
◼
►
force quit the app or if the app crashes or sometimes even just if the download fails
01:19:45
◼
►
and then it retries again, it's creating a new file and starting over again, and the
01:19:51
◼
►
old file just gets abandoned. It just like, so the old temp file, where it was downloaded
01:19:56
◼
►
to or was partially downloaded to is never deleted.
01:19:59
◼
►
And I actually discovered this behavior months ago.
01:20:02
◼
►
And I issued a fix back then to basically scan
01:20:07
◼
►
for these temp files and any temp file
01:20:09
◼
►
that was above a certain age that hadn't been touched
01:20:12
◼
►
for like a couple days or something, I would delete.
01:20:14
◼
►
That caused lots of problems.
01:20:17
◼
►
'Cause the download system does not expect
01:20:18
◼
►
its files to be deleted from under itself.
01:20:21
◼
►
And they're also downloaded through this undocumented
01:20:22
◼
►
location that you're not really supposed to know about
01:20:24
◼
►
inside your app sandbox.
01:20:25
◼
►
they also recently moved that location to a different location. That's the problem.
01:20:30
◼
►
So now all of a sudden I thought I had this problem under control and now people are saying,
01:20:34
◼
►
"Oh, it's, you know, all the space usage." It's mostly because of that. It's mostly because
01:20:38
◼
►
they moved the location of these files. So now I'm scanning the old directory, not the
01:20:43
◼
►
new one, and so I have to go look at that again and, you know, obviously change where
01:20:49
◼
►
it's deleting, but also then now test to make sure it's not messing with up too badly. When
01:20:52
◼
►
it does delete them, you know, make sure that the downloader doesn't then have weird behavior
01:20:57
◼
►
or crash when it finds that its files are gone. It's a whole ordeal. The background
01:21:03
◼
►
download system is just incredibly unreliable for me. I know some developers seem to have
01:21:09
◼
►
good luck with it. It has been insanely unreliable for me in all of my usage of it so far.
01:21:15
◼
►
You download more things and I think probably for more creaky servers like because, you
01:21:20
◼
►
You know, tons of things you're downloading all the time is practically the whole point
01:21:24
◼
►
of your application, and I've seen lots of really slow downloads from wherever people
01:21:28
◼
►
are hosting their podcasts, so it's a formula to exercise a downloader.
01:21:31
◼
►
But if everything is in the caches folder, like, there are jobs, I assume, that are wandering
01:21:37
◼
►
through iOS, like purging the caches folder when you're under disk pressure.
01:21:41
◼
►
There's nothing that you can do as an app developer to try to say, "Hey, system!
01:21:46
◼
►
If you would like to come by and reclaim space from my caches folder, please do that now.
01:21:51
◼
►
I don't think you can trigger it. It automatically triggers when disk space is actually filling
01:21:56
◼
►
up. And then that's when if you've ever spotted an app that says that where the icon is dimmed
01:22:01
◼
►
out for a minute and under it it replaces the title with the word "cleaning...", that's
01:22:05
◼
►
what it's doing. It's deleting all the cache and temporary files from that app sandbox
01:22:11
◼
►
in order to reclaim disk space. So I'm working on stuff like that. I also overhauled the
01:22:14
◼
►
the artwork system because it was not only buggy,
01:22:16
◼
►
but it was causing bad scrolling performance
01:22:19
◼
►
on the main list of episodes that everybody
01:22:21
◼
►
was complaining about and they were right,
01:22:22
◼
►
so I fixed that.
01:22:24
◼
►
There's a couple of sources of common crashes
01:22:28
◼
►
that I fixed and most importantly,
01:22:30
◼
►
there's been a bug for months, literally,
01:22:33
◼
►
like since I think February, there's been a bug for months,
01:22:37
◼
►
where you would occasionally,
01:22:39
◼
►
if you manually reordered a playlist,
01:22:42
◼
►
Sometimes that ordering would be reset back to the default ordering of whatever that playlist
01:22:46
◼
►
is, you know, whatever the sort method is for it. So your custom ordering would be lost.
01:22:51
◼
►
And this drives people crazy, understandably. It drives me crazy. It happened to me too.
01:22:56
◼
►
It drives me crazy. Because it is kind of a form of data loss. It's really annoying.
01:23:01
◼
►
It's like, you know, I organized this a certain way and now it's just undid it. And this took
01:23:05
◼
►
me months to find this bug. And it turns out to be a concurrency bug in the way--so basically,
01:23:12
◼
►
getting into the weeds for a brief minute here.
01:23:15
◼
►
Overcast data storage layer is built on a library
01:23:19
◼
►
that I wrote that's open source called FC model.
01:23:21
◼
►
And it's basically a little model layer
01:23:24
◼
►
between SQLite and you.
01:23:27
◼
►
And so it does not use core data, it uses FC model,
01:23:31
◼
►
which kind of replaces core data in the role here.
01:23:35
◼
►
And in the initial design of FC model,
01:23:38
◼
►
instances of your models in memory were unique.
01:23:41
◼
►
so that if you requested post ID one from one thread
01:23:45
◼
►
and then some other thread also requested post ID one,
01:23:48
◼
►
if the first one was still in memory,
01:23:50
◼
►
the second one would just get another pointer
01:23:52
◼
►
to the same object.
01:23:53
◼
►
So that there was only one post with ID one
01:23:57
◼
►
in memory at any given time.
01:23:59
◼
►
So if you modified that, it would be the same
01:24:02
◼
►
between all the places it was being accessed.
01:24:05
◼
►
Like if you modified a value on it and didn't save it yet,
01:24:08
◼
►
you would get that from everywhere.
01:24:10
◼
►
In practice, that caused a bunch of weird concurrency issues
01:24:14
◼
►
and weird potential bugs, weird actual bugs.
01:24:17
◼
►
So this past February, I switched it
01:24:20
◼
►
so that if you requested ID one from one thread
01:24:23
◼
►
and then requested ID one from somewhere else,
01:24:25
◼
►
those got separate copies.
01:24:27
◼
►
And so all writes were being done separately
01:24:29
◼
►
and there were some things in place
01:24:31
◼
►
to make sure it wouldn't get stale data
01:24:33
◼
►
here and there and everything.
01:24:33
◼
►
But basically, I changed the way that worked.
01:24:36
◼
►
And that has, for the most part, it didn't cause
01:24:41
◼
►
any problems and it solved a few other problems.
01:24:44
◼
►
Unfortunately, the playlist reordering bug
01:24:47
◼
►
is caused by this and I haven't quite nailed down
01:24:50
◼
►
the details yet because it has taken me months
01:24:54
◼
►
to have this happen in a debugger once.
01:24:56
◼
►
- That is the worst.
01:24:58
◼
►
- Yeah, 'cause it's this weird concurrency related bug
01:25:02
◼
►
and it's very hard to reproduce.
01:25:04
◼
►
And I've asked people for months, like,
01:25:06
◼
►
if you find a way to reliably reproduce this, please tell me.
01:25:10
◼
►
Maybe just throw in some sleep calls
01:25:12
◼
►
now that you know that you're pretty sure that you know where
01:25:14
◼
►
You can confirm it by throwing in some sleep calls
01:25:16
◼
►
to induce the race.
01:25:17
◼
►
Well, the one time I caught it in the debugger,
01:25:19
◼
►
I got a pretty good idea that it was
01:25:21
◼
►
due to this model being unique in memory kind of thing.
01:25:26
◼
►
Pretty sure it was from that.
01:25:27
◼
►
Anyway, so now I have a different branch of my FC model
01:25:32
◼
►
now called Unique 2 that goes back to the unique in memory model system.
01:25:38
◼
►
>> Why don't you just use optimistic locking with the one where they're not unique?
01:25:41
◼
►
>> I don't think I know what optimistic locking is.
01:25:43
◼
►
>> It's like you version everything and then when you go to do the update, you say, "Do
01:25:46
◼
►
this update," but only do the update if the version is the version that it was when I
01:25:51
◼
►
read it. And if it's not, then you know you have a conflict, you know you lost a race
01:25:54
◼
►
and then you have to resolve it in some way. But basically like instead of checking every
01:25:57
◼
►
single time, because two guys got a thing. One guy's going to write first. And if you're
01:26:00
◼
►
not the guy who got to write first,
01:26:02
◼
►
when you write your thing, you could be overwriting
01:26:03
◼
►
the other guy's changes.
01:26:04
◼
►
So you do the, I mean, it's the SQL thing,
01:26:06
◼
►
like update blah, blah, blah, blah,
01:26:07
◼
►
where blah, blah, blah, and ID equals blah, blah, blah,
01:26:09
◼
►
and you see zero rows updated, you're like,
01:26:11
◼
►
oh, actually, I thought I read and then wrote it back,
01:26:14
◼
►
where really someone else wrote back,
01:26:15
◼
►
so I have to reread and incorporate those changes
01:26:16
◼
►
before I can write back.
01:26:17
◼
►
It's just, you know, like, or you gotta go
01:26:19
◼
►
the Brent Simmons route and only do updates
01:26:21
◼
►
to your model from a single thread.
01:26:22
◼
►
- Right, well, so database access has always been serialized
01:26:26
◼
►
onto one thread.
01:26:27
◼
►
You could use, you could read them from anywhere,
01:26:29
◼
►
but it was all being serialized behind the scenes
01:26:31
◼
►
on a serial queue.
01:26:33
◼
►
So you couldn't actually be doing
01:26:35
◼
►
simultaneous reads and writes,
01:26:37
◼
►
but you could hold onto things that weren't quite saved
01:26:40
◼
►
and have it be changed under you and everything.
01:26:41
◼
►
And then I did, a few months back,
01:26:44
◼
►
I did change it so that writes were all being done
01:26:48
◼
►
inside serial blocks too, so that rather than saying
01:26:51
◼
►
model.name equals Bob, model save,
01:26:55
◼
►
instead of that you would say model reload and save
01:26:57
◼
►
in this block, and then in the block you would say name equals Bob or whatever. And so those
01:27:02
◼
►
were all serialized as well. So that way, and it was literally reload and save. Like
01:27:06
◼
►
you would first do a select, then do your changes, then save them back automatically
01:27:12
◼
►
on a serial thread. So it should have solved that problem. And I think it solved it in
01:27:17
◼
►
lots of places, but I guess something was still happening that it wasn't quite getting
01:27:21
◼
►
it everywhere. So the new system, the unique two, also does the Brent Simmons thing where
01:27:28
◼
►
now it's all just happening on the main thread. And for a while I thought there is no way
01:27:33
◼
►
I should have database stuff on the main thread that will cause UI performance problems and
01:27:39
◼
►
everything and I have such big databases for some of these, some users, there's no way
01:27:43
◼
►
I can afford that. So I just never tried it. And then last week I tried it and it turns
01:27:47
◼
►
out it's fine and there are so many problems it solves having all the database stuff on
01:27:53
◼
►
the main thread first of all it's fast enough doesn't matter at all second of all lots of
01:27:58
◼
►
places where there was UI lag before from blocking on a database on like a massive database
01:28:03
◼
►
operation like that like the initial sync a lot of times you know you think you're offloading
01:28:07
◼
►
it to this background thread then the background thread triggers an update that posts notification
01:28:14
◼
►
and the UI says, oh, the data changed,
01:28:16
◼
►
I have to reload the data to show my UI.
01:28:19
◼
►
So then it's blocking the UI anyway
01:28:22
◼
►
while it's waiting for that reload to come through.
01:28:25
◼
►
So it turns out the whole idea of getting these operations
01:28:28
◼
►
off the main thread in practice
01:28:30
◼
►
usually didn't solve the problem
01:28:32
◼
►
because usually the UI was still blocked
01:28:34
◼
►
waiting for the database thread to finish what it was doing.
01:28:37
◼
►
Anyway, so once you move things to the main thread,
01:28:40
◼
►
all the database stuff, then it like, oh my God,
01:28:43
◼
►
it becomes so much simpler once again. Brent Simmons is right. Brent Simmons is
01:28:49
◼
►
usually right and when it comes to stuff like this, he's really usually right and
01:28:54
◼
►
so with this, like if you make a change on the main thread, what happens with so
01:28:59
◼
►
many changes, as I said, is the UI responds to the notification and does
01:29:04
◼
►
something, updates something. When all that's happening on the main thread, it
01:29:08
◼
►
removes so many like dispatch async calls and so many, oh well, you know, so many
01:29:13
◼
►
potential deadlocks of well the database did this now update update the UI reflect
01:29:17
◼
►
this than the UI calls in the database again there's some it's just solved so
01:29:21
◼
►
many problems so anyway this is very long and boring but that is why the
01:29:25
◼
►
playlist reordering bug happened I made that change a week ago in development
01:29:29
◼
►
and it used to hit me every few days it hasn't hit me once since so I'm pretty
01:29:35
◼
►
sure I got it and it sure looks like the rest of the app still works fine but
01:29:39
◼
►
I'm reserving saying that definitively,
01:29:43
◼
►
but it sure looks like I'm not having any other problems.
01:29:47
◼
►
- I think I asked you about this before,
01:29:48
◼
►
but now it's even more relevant
01:29:49
◼
►
if you're doing your database access on the main thread.
01:29:51
◼
►
Do you use any of the SQLite pragmas
01:29:54
◼
►
to fiddle with the defaults to make it faster?
01:29:56
◼
►
- I do, yeah.
01:29:57
◼
►
I started doing that about six months ago.
01:30:00
◼
►
- Do you turn off the synchronous thing?
01:30:02
◼
►
- Let me see.
01:30:03
◼
►
- The thing that makes it like,
01:30:04
◼
►
the thing that says like really seriously flush it to disk
01:30:06
◼
►
before you're done, turning it off says like,
01:30:08
◼
►
It'll say, yep, no, I'm totally done when really it isn't.
01:30:10
◼
►
But because we're using Flash--
01:30:13
◼
►
I mean, that's the risky one.
01:30:14
◼
►
That's the dangerous one.
01:30:15
◼
►
And then I guess temp store memory instead of temp store
01:30:18
◼
►
disk or whatever.
01:30:18
◼
►
But some of those make a big difference--
01:30:20
◼
►
or used to make a big difference back when I was screwing
01:30:22
◼
►
with SQLite.
01:30:23
◼
►
And so once you're doing it on the main thread,
01:30:25
◼
►
it's probably worthwhile to revisit the pragma page
01:30:27
◼
►
and see if there's anything else you could tweak.
01:30:29
◼
►
I would probably not recommend the synchronous one
01:30:31
◼
►
because you don't want to corrupt your database
01:30:32
◼
►
because then you're SOL.
01:30:34
◼
►
I am doing synchronous off and journal mode memory.
01:30:38
◼
►
- There you go, well, you're living the dangerous life.
01:30:40
◼
►
I mean, I guess a power failure is like,
01:30:42
◼
►
it's just, yeah, that's, it's a battery-powered device,
01:30:46
◼
►
it can't get unplugged, I guess, but you know.
01:30:49
◼
►
- Well, and also, this is just data that,
01:30:50
◼
►
this is basically an offline cache
01:30:53
◼
►
of something that's synced to the web.
01:30:55
◼
►
So, you know, if local database gets corrupted somehow,
01:30:59
◼
►
which is very unlikely, as you said,
01:31:00
◼
►
but if it gets corrupted and it can't be opened,
01:31:03
◼
►
then it just re-downloads from the web.
01:31:05
◼
►
So it's not like I'm,
01:31:07
◼
►
I'm not losing meaningful user data here.
01:31:09
◼
►
- Jon, what was the occasion that you had
01:31:11
◼
►
for fiddling with SQLite out of curiosity?
01:31:13
◼
►
- Web applications, database backed web applications.
01:31:16
◼
►
And the database that backs them
01:31:17
◼
►
has been all sorts of things at various times SQLite.
01:31:21
◼
►
And I, and you know, if you're just doing something,
01:31:24
◼
►
you don't, you wanna do database stuff with,
01:31:27
◼
►
especially in languages that have sort of a uniform interface
01:31:29
◼
►
to any database, it's just a question of picking the driver,
01:31:32
◼
►
like Perl does and like many other languages do.
01:31:34
◼
►
You're just like, well, I'll prototype this with SQLite,
01:31:36
◼
►
'cause then you don't have to worry about starting a server
01:31:38
◼
►
and doing all that crap.
01:31:39
◼
►
You're just, you know, it's just convenient.
01:31:41
◼
►
I mean, hell, even if you just do SQLite,
01:31:43
◼
►
you know, in memory database,
01:31:44
◼
►
like it's a great way to just prototype something.
01:31:46
◼
►
It doesn't even litter your file with disk.
01:31:47
◼
►
You can just tell it database name,
01:31:49
◼
►
and don't give it a file name,
01:31:51
◼
►
and it will just do everything in memory.
01:31:53
◼
►
That's neat.