PodSearch

ATP

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:10 ◼   ► [laughter]

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:09 ◼   ► (laughing)

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:21 ◼   ► - Really?

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:14 ◼   ► - Nope.

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:20 ◼   ► - Hold on.

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:39 ◼   ► [laughter]

00:02:41 ◼   ► And John has deleted the letters "FU," oh god, and then added a sub-bullet, "Marco Talks."

00:02:48 ◼   ► Yes.

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:56 ◼   ► that they--

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:29 ◼   ► Is it nice?

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:55 ◼   ► Right.

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:37 ◼   ► superior.

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:06 ◼   ► What?

00:13:07 ◼   ► Why?

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:22 ◼   ► deploy."

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:39 ◼   ► - Nice.

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:05 ◼   ► Yeah.

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:38 ◼   ► the way.

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:37 ◼   ► Right.

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:47 ◼   ► Safari.

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:54 ◼   ► Anyway.

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:58 ◼   ► Right.

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:19 ◼   ► (laughing)

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:01 ◼   ► - Yeah.

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:18 ◼   ► (laughing)

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:41 ◼   ► I don't...

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:38:59 ◼   ► (laughing)

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:04 ◼   ► - Wow.

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:53 ◼   ► (laughing)

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:52 ◼   ► Ding.

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:37 ◼   ► Yep.

00:43:38 ◼   ► Yeah.

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:49 ◼   ► - Three.

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:04 ◼   ► Yes.

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:25 ◼   ► I think.

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:51 ◼   ► Seven?

00:57:52 ◼   ► Yeah.

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:37 ◼   ► But anyway.

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:03 ◼   ► stuff.

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:12 ◼   ► binaries."

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:29 ◼   ► four megs.

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 ◼   ► - Oh.

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:29 ◼   ► - I know.

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:10 ◼   ► Right.

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:03 ◼   ► 16 gigs.

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:38 ◼   ► - Yep.

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:29 ◼   ► Accidental

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:13 ◼   ► it is.

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:33 ◼   ► But--

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:20 ◼   ► Yeah.

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.

01:31:55 ◼   ► (beep)