65: The Year Of Casey


00:00:00   What do you keep saying? You'll be at what?

00:00:02   Prom.

00:00:02   Well, I don't know what that is. I don't know how to spell what you're saying.

00:00:05   P-R-O-M. High school prom.

00:00:06   Oh, you're one of those people who leaves off the "the".

00:00:08   Probably Marco does too, because he's from Ohio.

00:00:10   Yeah, there was never a "the".

00:00:12   Yeah, there's never a "the".

00:00:13   Yeah, where I'm from, there's a "the" in front of it.

00:00:15   You're going to the prom?

00:00:17   Yep.

00:00:17   That's the dumbest thing I've ever heard.

00:00:19   No, the rest of the country is dumb. New York is right, as always.

00:00:21   F***ing angel. You are the worst.

00:00:24   We also don't put mustard on our hamburgers, and that's right!

00:00:28   Say that again, you don't put mustard on the hamburgers?

00:00:30   No, McDonald's does not put mustard on its hamburgers in the New York metro area.

00:00:35   Interesting.

00:00:35   I thought, I didn't know they did in the rest of the country until I went to Boston and asked

00:00:39   for a hamburger from McDonald's that had mustard on it. I'm like, what the hell's going on?

00:00:41   So, what's going on this week?

00:00:45   Well, let's start with Overcast. Something happened over the last few days.

00:00:50   Yeah, I shipped the Overcast beta and it's been really awesome, actually. I've been extremely

00:00:57   impressed and happy and

00:00:59   just overwhelmed and humbled by the amount of feedback I've gotten from the beta. The beta went out to about, you know,

00:01:05   30 or so people and

00:01:07   And let me interrupt you right there. You are not currently seeking any more testers. Is that correct?

00:01:11   That's right. Well, I'm running low on UDIDs because the problem is like, you know, you have these 30 people

00:01:17   You know, that's plus my own device. That's about 40 devices. You only get a hundred per year and

00:01:22   I have to realize also like in the fall

00:01:26   half these people are gonna get new phones.

00:01:27   So if I wanna have them keep testing,

00:01:29   I'm gonna have to overlap for a little while.

00:01:32   And your device limit resets

00:01:36   like on some calendar anniversary

00:01:38   of your developer account or something.

00:01:39   And I don't even know when,

00:01:40   I think that's like in July for me or something.

00:01:42   So it's sometime not ideal for the iPhone release cycle.

00:01:45   So basically I have to like keep my number

00:01:49   of actual devices I care about under 50.

00:01:52   Plus if I ever make an iPad version,

00:01:53   I gotta account for people's iPads

00:01:55   and that's a whole other thing,

00:01:56   so it's really a pain in the butt.

00:01:58   But overall, the beta's going fantastically.

00:02:01   I'm getting tons of feedback.

00:02:03   I'm extremely happy about it.

00:02:04   Meanwhile, Casey, you have way better news than that.

00:02:07   (Casey laughs)

00:02:08   - Yes, indeed.

00:02:09   So the great news is my blogging engine works

00:02:12   and can sustain traffic from your site,

00:02:15   which is significant.

00:02:16   - Great, moving on.

00:02:17   - Moving on. - No, just kidding.

00:02:18   - The reason I know that is because I announced

00:02:22   couple days ago that Aaron is pregnant finally which is extremely exciting

00:02:28   congratulations thank you we have been working on this for quite literally

00:02:31   three-and-a-half years and I won't go into the details here on the show because

00:02:36   we aren't an explicit show yeah right well here's what we did we went to the

00:02:40   bedroom so anyway I wrote a blog post about this which I entitled finally

00:02:47   which I thought was hysterical and only a couple people I think really picked up

00:02:51   on the joke there. But anyway, I wrote a blog post about this, which Marco you linked to

00:02:55   and tweeted about and John you tweeted about and that was very kind of you guys. And so

00:03:01   I went into kind of the nitty-gritty of the journey from saying in 2010, "Hey, we should

00:03:07   probably start trying to have kids," to being here we are all the way in 2014 saying, "Oh

00:03:12   my God, we're finally pregnant." And it was a long and difficult road, but we are here

00:03:17   And that's all that matters and so far everything

00:03:20   Sounds good and is healthy and we'll meet our little sprout as we're calling it in the first week of November

00:03:26   So we're seriously seriously excited. I'm glad to see that you got to go public before overcast it

00:03:31   Yes, although if I'm honest

00:03:35   It's still it's still wearing on me that I haven't gotten my iOS 7 update for fast text out because I cannot

00:03:43   get auto layout working right and I'm too stubborn to revert to springs and struts and

00:03:47   I've got something the the composed message view is just not working properly

00:03:52   And I think it's the what is it the content inset or something like that so basically I have a I wasn't planning on going

00:03:59   Into this but since I have oh is it under the navbar yep, that's a very common thing yeah

00:04:03   Yeah, and I haven't figured out how to fix it yet, and I've been trying to go back and look at the old the auto layout

00:04:09   Talks from old WWDCs, but I haven't really had time because well, we've had something else going on lately

00:04:15   That's a pretty good reason. Yeah, so I like to think of it as a good reason

00:04:19   But I was real I well I will be upset if I don't get the iOS 7 update in before overcast ships

00:04:26   I won't be necessarily upset if I don't get it in before iOS 8 is in beta

00:04:29   But I will be upset if I don't get it in before overcast ship

00:04:32   So I got to find some time to do that you have some time don't worry

00:04:34   to bring this back around

00:04:37   Camel my blogging engine which I believe I mentioned I had open-sourced a week and a half ago something like that that did survive

00:04:42   So I'm pretty excited about that

00:04:44   It seems like it didn't crumble Heroku

00:04:48   Although I will say that and I probably shouldn't but I will say that I noticed in my Google Analytics refers some

00:04:55   Domain, I genuinely don't remember what it was, but it was like daily something dot Heroku comm which I tried to load and it

00:05:04   challenged me for authentication, which makes me wonder if I had actually

00:05:07   Hit some sort of threshold wherein the Heroku people were like

00:05:12   Hmm what's going on over there? But to this to this moment

00:05:17   I'm running on a single dyno which is Heroku speak for you know one process and I'm using node and

00:05:24   Things haven't crumbled so a lot of big things going on. This is really this is like the year of Casey. This is great

00:05:31   Well, it's weird to be in the spotlight, which probably sounds really weird given that

00:05:36   I'm on this podcast, but it's weird to be in the spotlight.

00:05:38   It sounds like you.

00:05:39   But that's true.

00:05:42   But no, we're super, super excited.

00:05:44   And oh, I'm such a jerk.

00:05:45   I forgot to mention that after I put up this post, a lot of people came out of the woodwork

00:05:51   to send emails and tweets and just unbelievably, unbelievably kind things.

00:05:56   And if you were one of those people, thank you so very, very much.

00:05:59   I'm still going through all the email and trying to reply to every single one of them,

00:06:03   and I will at some point.

00:06:04   But the support has been amazing, and not to completely get us derailed, but it's

00:06:12   been interesting seeing how many people come out of the woodwork and say, "We too had

00:06:15   fertility problems," or alternatively, "We know someone who has had fertility problems,

00:06:21   and oh man, this really rings true."

00:06:24   And that's been really kind of—well, it's sad in that I would never wish this upon anyone,

00:06:30   but also really awesome to know that it's not just us and that people appreciate talking

00:06:37   about something that's actually fairly taboo and not something you hear talked about a

00:06:40   lot.

00:06:41   So I'm happy as can be.

00:06:43   Erin is overjoyed.

00:06:45   It is a tragedy that Erin isn't already a mom because I think she'll be a great mom.

00:06:49   So I'm really, really excited.

00:06:51   Awesome.

00:06:52   Let's hope the year of Casey goes better than the year of Luigi.

00:06:55   I wish I understood that joke.

00:06:57   That's okay.

00:06:58   Is that a Nintendo joke about their...

00:07:00   Yeah, you're going to have to explain that one, sorry.

00:07:05   I believe it was the beginning of 2013 Nintendo said this is going to be the year of Luigi,

00:07:10   which means they were going to release games featuring Luigi more prominently, and 2013

00:07:16   was not a good year financially for the company.

00:07:18   You should never have me explain these references to you on the show.

00:07:21   You just let them go by.

00:07:22   You too can acknowledge that you don't get them, but rest assured I was surprised that

00:07:26   the chat room didn't already make this joke, so I'm just kind of disappointed in them.

00:07:29   But you too, expect it.

00:07:31   But like, whoever liked Luigi?

00:07:33   That's the whole point of this, the whole point is the year of Luigi.

00:07:35   Oh, who cares about Luigi?

00:07:37   Well, this is the year of Luigi.

00:07:38   I don't know.

00:07:39   Right, that's terrible.

00:07:40   Like, who has ever, in the million years, who has ever said like, "You know what Nintendo

00:07:44   needs?

00:07:45   More Luigi."

00:07:46   You know, I would like to play more games with Luigi, please.

00:07:49   And the games that support multiple players, I want to spend more time playing as Luigi.

00:07:53   They launched the GameCube with Luigi, with Luigi's Manson, because they didn't have

00:07:56   a Mario game ready.

00:07:57   Yeah, look how well that went.

00:07:58   Well, the GameCube did much better than the Wii U, I'll tell you that.

00:08:02   Well, everything is done better than the Wii U, and we'll probably get to that later.

00:08:05   I think the 3DO did better than the Wii U.

00:08:07   No.

00:08:08   Wow.

00:08:09   We have another piece of follow-up, and speaking of things that are expected, Marco, did you

00:08:12   do your homework?

00:08:13   Of course not.

00:08:14   Okay.

00:08:15   did my homework, John? Do I get a gold star?

00:08:18   I thought maybe you tweeting a screenshot would have shamed Marco or reminded him that

00:08:23   this homework existed. Let's start with that. Reminded him that it existed because we know

00:08:26   he's not looking at the notes file, so.

00:08:28   Well to be fair, last night I told Tiff about the game and she installed it and she played

00:08:34   it next to me in bed, so I heard some of it.

00:08:37   Wow.

00:08:38   And she thinks it's pretty good.

00:08:40   Did she finish it? It doesn't take long, right, Casey? I'm assuming you finished it?

00:08:43   Yes, well, and that's the funny thing is, okay, so let me back up.

00:08:47   So we're talking about Monument Valley, which came out, what would you say, a couple

00:08:50   months ago maybe?

00:08:51   A month ago?

00:08:52   Something like that, I don't remember.

00:08:53   Okay.

00:08:54   So it came out fairly recently.

00:08:55   And as we've talked about in the past, it seems that there are oftentimes premier iOS

00:09:02   games.

00:09:03   You know, Letterpress is a great example.

00:09:04   Threes is a great example.

00:09:06   Flight Control way back when was a great example.

00:09:08   And so Monument Valley was one of the premier games recently.

00:09:12   And so I downloaded it last night and started playing it and Erin was watching over my shoulder

00:09:18   and was like, "Hmm, that looks kind of interesting."

00:09:20   And so we share an iTunes store account and so she had it already.

00:09:25   And so there we were sitting on our iPads next to each other playing Monument Valley.

00:09:29   And I definitely have some thoughts about it, but the funny yet frustrating thing about

00:09:32   it was I had started playing somewhere between five and 30 minutes before Erin.

00:09:37   I wasn't paying close attention.

00:09:39   And sure enough, by the time we finished, which was only about an hour to an hour and

00:09:42   a half later, she finished easily just a couple minutes after I did.

00:09:47   And we had started quite a bit more than a couple minutes apart.

00:09:51   So I was a little annoyed by that, but I guess she's the smart one in the family.

00:09:55   Nevertheless, it was very good.

00:09:57   It was very, very good.

00:09:58   I quite liked it.

00:10:00   Did you want us to play it for any particular reason, Jon?

00:10:02   Well, no.

00:10:03   It was the last show when we talked about the game.

00:10:06   I was mentioning that a lot of people said they had gotten stuck on it or that it was hard, but

00:10:10   that I couldn't tell if they were joking because I thought it was just relentlessly linear and

00:10:13   extremely easy. And then I thought since you two hadn't been playing a lot of the kind of games you

00:10:19   used to play, but playing more casual games, that this was the casual game that you might enjoy.

00:10:23   I thought it had some interesting aspects to it, like the artwork I thought was great and the idea

00:10:29   was very clever. And it took advantage of touch in an interesting way. It's a type of game that

00:10:34   that wouldn't have been as interesting if you did it on a console or on a PC.

00:10:38   And so I figured you should give it a try.

00:10:40   So the two things I wanted to know was basically, did you find it easy and what did you think

00:10:46   of it overall?

00:10:47   At the beginning, I most certainly did not find it easy.

00:10:51   And when you download Monument Valley, which you should do, it was absolutely a great game

00:10:55   and it's worth the, what was it, $4?

00:10:58   But we'll get to that later.

00:11:00   When you download it, they kind of just dump you in a level.

00:11:03   And I almost thought something was wrong because they don't explain anything and I've seen this before but it seemed

00:11:11   Surprising how little explanation there was and and it took me a minute to realize what the crap I had to do

00:11:19   And monument valley if I were to summarize it is kind of a game playing off the drawings of it was MCS sure

00:11:25   Is that correct? Yeah, you got it. Okay, so stairs guy. Yeah the stairs guy

00:11:30   So it's it's geometry that can't really be real but you know, it's I don't know how to explain this

00:11:37   I won't try but suffice to say I had to explain it to my kids and this is what I came up with

00:11:41   If it looks like it touches it touches

00:11:43   Yeah, that's a good way of looking at it and two things that look like they shouldn't be able to touch with one in with

00:11:49   the same intermediary piece

00:11:51   Depending on how things are set up may actually touch if you like spin that intermittent intermediary piece around

00:11:57   So anyways, so they dump you into this game and it didn't have a lot of explanation and at first

00:12:03   I was like what the crap is going on and I was I almost started to get frustrated at the very beginning and then right when

00:12:09   I was going from this is weird to oh my god. What the hell that's when I figured it out

00:12:13   And then I was okay. And so for the first

00:12:16   Half to two-thirds of the game. I did not find it easy. I found it to be the correct balance of

00:12:23   hard but not annoying and I also would not say it was terribly linear in

00:12:28   At least the way I experienced it because I had to think about things then there were a couple levels

00:12:33   I should have taken a note on which ones they were but there were a couple levels where I was like, okay

00:12:37   This is seriously linear and it's beautiful and it sounds great

00:12:41   And I didn't realize that I should have been wearing headphones to play it

00:12:44   But I heard after the fact that it's it I guess it uses, you know stereo to its advantage or whatever, but it sounds great

00:12:51   It's beautiful, but there were some levels. I think there was one going into like a dungeon

00:12:56   It actually I think is what leads up to the picture

00:12:58   I tweeted that it was extremely linear and as you're tapping about moving this little girl around the stage that you're playing

00:13:05   things are happening so it's not like

00:13:08   Boring, but nevertheless it was very linear then after that there were other levels like the one with the box that I

00:13:15   Just took forever to figure out and I did and I wouldn't have said it was linear at all

00:13:19   What did you think John? Well, here's what I mean by linear what I mean by linear and the sense of this game is that

00:13:25   every time you

00:13:28   Solve some problem you're presented with a new problem and there's one way to do it more or less like, you know

00:13:34   If you hit this switch it opens up the door

00:13:36   Next step is that you're gonna go through that door and then you're not gonna be able to go anyplace except for one place and

00:13:41   To get that place you do something that it takes you there. Like it faces solve this problem. Here's your new problem solve this problem

00:13:46   here's your new problem, you know, like not linear

00:13:49   in that it's like a long series of corridors or whatever,

00:13:51   but gameplay-wise and flowchart-wise,

00:13:53   it doesn't make you do 10 things at once.

00:13:56   It doesn't make you like, okay,

00:13:57   I'm gonna set this up over here,

00:13:58   let me set that up over there,

00:13:59   let me go through and do this and do this

00:14:01   and then go over there and do that and then come back here

00:14:02   and when I come back here, it doesn't ask that of you,

00:14:05   which many games for more experienced gamers do.

00:14:08   So this is definitely in the category of casual game.

00:14:11   And it's more of like a game-like experience

00:14:14   in that you feel like you're participating in the narrative

00:14:16   but it's very clearly you're just pushing the character

00:14:19   along a certain little arc.

00:14:20   My main complaint is not so much with the casualness,

00:14:23   because again, like I said in the past show,

00:14:25   a lot of people can make the same complaint about Journey.

00:14:27   It's very linear, it's relentlessly linear.

00:14:29   It's just that there's more freedom within the linearity

00:14:32   and there's more of an overarching story

00:14:34   to get you wrapped up.

00:14:35   And this one had kind of like a hint of a story,

00:14:37   but it didn't, you know,

00:14:39   I don't want to ruin Journey for people,

00:14:40   but I think comparing Monument Valley to Journey

00:14:43   would be very instructive for a game design perspective because they are so similar in

00:14:48   so many ways and yet the experience of playing them is so very, very different.

00:14:51   People like Monument Valley is getting good reviews, but I don't think any game critic

00:14:55   would hold it anywhere near Journey.

00:14:58   Figuring out why, why is Journey so much better than Monument Valley, despite them sharing

00:15:03   so many characteristics, that I think is an interesting thing to think about that I would

00:15:09   probably blog about if I ever blogged.

00:15:11   Yeah, and the funny thing is, if I were to describe Monument Valley in just a couple

00:15:18   of words, it would be broken promises.

00:15:20   And an example of this is the level selector, which I didn't realize when it was first

00:15:27   introduced to you.

00:15:28   So this is kind of like, and I'm using huge air quotes here, the menuing system.

00:15:32   It's a building, and you twist the building to advance from level one to two to three,

00:15:37   et cetera, et cetera.

00:15:38   When they show you this building originally they spin the building around and I didn't pay close attention

00:15:43   So I get through level one level two level three level four and at this point

00:15:48   I've seen all four sides of the building and so I'm like, okay

00:15:52   well, am I gonna see a new building now or what's gonna happen and sure enough there's a fifth side of the building and

00:15:57   that was a silly example of just a

00:16:00   continual series of broken promises

00:16:03   But that's part, didn't you catch that being part of the theme?

00:16:06   Like how can something have more than four sides, the impossible geometries?

00:16:10   Absolutely. And it's not a bad thing. I don't mean to make that sound like it's a bad thing,

00:16:14   but any time that you didn't think that something was an option, like for example,

00:16:18   walking vertically or walking off the side of something where in the real world you would just

00:16:24   fall right off, when you, or at least I didn't suspect that such moves were legal, and then you

00:16:31   find out, "Oh, you can do that." And so it's like one series of broken promise,

00:16:36   one broken promise after the other, which is what made it so magical and wonderful.

00:16:40   But at the same time, it was like, "Oh, okay, I guess that's a thing." So I really liked it.

00:16:45   The only thing is, and I didn't get a chance to press Erin on this because I really wanted to

00:16:50   hear her opinion and we didn't do any research, but when it was all over and it lasted, like I

00:16:56   said, about an hour, hour and a half, it was all over and Erin said, "Wait, that's it?

00:17:01   How much did we pay for this? And it was so interesting to me because my first reaction,

00:17:06   which I didn't say out loud, was, "Wait, that's it? How much did I pay for this?"

00:17:11   And then immediately after that, I was like, "Well, a lot of work went into this game."

00:17:14   It costs half as much as a movie ticket and it lasted about as long as half a movie, right?

00:17:19   It's funny you say that because I didn't talk to Aaron about this,

00:17:22   but that's exactly what I thought to myself. And in our case, we shared this

00:17:26   quote-unquote movie ticket because we have the same store account.

00:17:29   So we paid $4 once and each got an hour to an hour and a half of enjoyment out of it.

00:17:36   So really it's a great deal, but something about software has just programmed both of

00:17:43   us.

00:17:44   I wish I could – I don't mean this that way, but I kind of wish I could throw Erin

00:17:46   under the bus and be like, "Oh, well, she doesn't know what she's talking about.

00:17:49   She's not a developer."

00:17:50   But no, I had the same thought.

00:17:51   And it's really kind of crummy that there's this race to the bottom and race to free,

00:17:56   but I enjoyed it.

00:17:57   I'd recommend spending the four dollars.

00:17:59   I would have done it again, but I'd be lying if I said I didn't think to myself, "Wow,

00:18:05   that was short."

00:18:06   Well, see, I have to say that the production values were super high, though.

00:18:09   Like that game is so polished.

00:18:12   There's no part of that game that looks like it's broken, that looks artificial.

00:18:16   Every part of it, even like you said, the menu system, it's all of a piece.

00:18:19   It is a beautifully made game.

00:18:21   I mean, if there's a bug in that game, I didn't find it.

00:18:25   If there's some visual element out of place,

00:18:28   I didn't find it.

00:18:29   And it's not a simple game.

00:18:30   It's not like, oh, I mean, not to say that Threes is simple,

00:18:33   but like graphics-wise and gameplay-wise,

00:18:37   Threes is a much simpler game

00:18:39   than the things that "Mind and Value" pulls off.

00:18:41   It is an amazingly well-made game

00:18:43   in terms of just the construction

00:18:44   of how the pieces are put together.

00:18:45   So production values are high,

00:18:46   so I don't mind paying more for it.

00:18:48   And I don't buy things based on length and price or anything like that.

00:18:51   I just wish that if it's not going to have difficult gameplay for experienced gamers,

00:18:56   it should have a more compelling story.

00:18:59   Like Year Walk was like that.

00:19:00   And the gameplay in Year Walk is not particularly difficult for anyone who's played point

00:19:04   and click adventures their entire life.

00:19:05   But the atmosphere and mood and story pulls you in and feels and like makes it feel like

00:19:12   more of an experience. I felt like Year Walk was a better game overall, but also one that

00:19:16   would probably repel most casual players.

00:19:17   At Monument Valley, I don't know, like, I hate coming down with a mediocre opinion on

00:19:25   this and people feel like I'm pushing them away like you shouldn't get this game.

00:19:30   That's why I wanted you to play it, to see if someone who doesn't consider himself a

00:19:35   gamer doesn't play games all the time, will they find this game much more compelling than

00:19:39   I did?

00:19:40   And it seems like you identified a lot of the same problems as I did.

00:19:44   And the one thing you brought up that I didn't realize was that I didn't think of is that

00:19:47   if you're not familiar with sort of the the joke like the not the joke or that the background or the thing like the

00:19:53   Moment I saw a screenshot of this game. I'm like, oh it's an MCS game

00:19:57   I know exactly what to expect of the entire game because I played a lot of games

00:20:00   I know what MCS sure is I know I'm gonna go walking on walls

00:20:02   I know if it looks like it touches it touches like I

00:20:04   See the whole game before I before I even installed the thing

00:20:08   Whereas if you come into a cold and have some vague memory of some water or impossible waterfall looking thing

00:20:13   Or you're not a you know a big gamer. Maybe you won't realize immediately. Oh, that's what this game is gonna be about

00:20:19   I think that's a lot of the complaints that the gamers have about this is that you show them a screenshot and they feel like

00:20:24   They've played the whole game and then you played the whole game. You're like, yeah, that's more or less what I expected

00:20:27   So we beautifully made, you know nicely constructed, but they didn't add a lot on top of that

00:20:32   Yeah, I would agree and I was familiar with Escher but not

00:20:35   Intimately familiar in so I knew what the point of the game was

00:20:40   But it still took thought in order to figure out

00:20:44   what I needed to do to accomplish things and as a casual gamer, I absolutely recommend it. I thought it was very good.

00:20:52   I will say the story

00:20:54   either was way over my head or was way too

00:20:58   esoteric for me to understand what they were saying and I'm not going to spoil it or anything but

00:21:04   I

00:21:05   I definitely think the game is worth it. It is to John's point about half as well

00:21:10   Probably at this point a third as much as a movie ticket and will probably keep you occupied

00:21:14   About half as long so Marco. I do recommend playing it. It's only about an hour

00:21:19   Maybe two of time to spend but it's really really good and I definitely definitely liked it Marco let Adam play it

00:21:27   I think he'll be able to do well on it. He's two. All right, so maybe maybe a couple years

00:21:34   He can play it and report back to you.

00:21:37   - We are sponsored this week, once again,

00:21:39   by our friends at Smile Software.

00:21:40   They are promoting this week, PDF/Pen Scan Plus.

00:21:44   Now, PDF/Pen Scan Plus, they recently did a great update

00:21:48   to the software.

00:21:49   Now, what this is, is it's a scanning and OCR app

00:21:52   for iPhone and iPad.

00:21:53   And all the OCR takes place locally, right on the device.

00:21:58   So it doesn't have to upload your file

00:22:00   to some cloud OCR service, get the OCR results,

00:22:03   send it back. It's all happening right there locally on your device.

00:22:07   And Smile Software, I'll tell you what, I use a lot of their stuff, I use PDF Pen

00:22:11   and they make high quality stuff, they really do.

00:22:15   It's the kind of stuff that like, you might think you don't need

00:22:19   some kind of PDF adjustment tool until you do, and then you go to them.

00:22:23   And their software has saved my butt so many times

00:22:27   doing some quick thing or doing an edit or having to sign something, send it back.

00:22:31   And yeah, you can do some of this stuff

00:22:32   with preview on the Mac, but trust me,

00:22:34   you can do a lot more with PDF Pen.

00:22:36   And I end up turning to it quite a lot.

00:22:39   So PDF Pen Scan Plus for iPhone and iPad

00:22:42   lets you scan directly from your iPhone or iPad camera.

00:22:46   And they have batch scanning.

00:22:48   Batch scanning is speedy with,

00:22:50   you can do post-processing and editing there.

00:22:53   You can automatically crop the scan

00:22:55   or you can do it manually, quickly and precisely.

00:22:58   You can preview the results

00:22:59   and then you can copy the text out immediately for use elsewhere. So if you want to scan a document,

00:23:03   copy the text, paste it into something else, edit it, email it, whatever you want to do,

00:23:07   put it in draft and do a billion things with it, you can do all that stuff right there with

00:23:11   PDF/Pen Scan Plus. This new update has been updated for maximum

00:23:15   usability. It has not only an improved UI,

00:23:19   but effortless multi-page scans with post-process image editing. They have

00:23:23   custom paper size settings for receipts. You can also customize the paper

00:23:27   to whatever you want. You can preview the OCR text overlaid

00:23:31   right on the page which helps you proofread, make sure it got everything right.

00:23:35   So really, and of course they're always improving the accuracy

00:23:39   of the OCR engine and the text layout and everything. So

00:23:43   really it's a fantastic update, it's gotten critical acclaim. And once again this is from Smile Software

00:23:47   and they make really good stuff. The whole PDF/Pen family is really great.

00:23:51   To learn more about this, go to Smilesoftware.com/ATP

00:23:55   Once again, that is SmilesSoftware.com/ATP.

00:23:59   Thanks a lot to them and to PDF/Pen/Scan+

00:24:02   for iPhone and iPad.

00:24:03   - All right, so there's breaking news.

00:24:06   - Breaking?

00:24:07   - Yeah, about an hour or two ago.

00:24:10   And apparently, Apple and Google are sitting in a tree now.

00:24:15   K-I-S-S-I-N-G.

00:24:16   - Yeah, what is that about?

00:24:17   I don't know if we can really talk about that yet,

00:24:19   'cause it just happened, we don't really know it.

00:24:21   - Well, we know enough.

00:24:22   I mean, the one I posted in the notes

00:24:24   that you should be looking at is enough.

00:24:25   (laughing)

00:24:27   People will know about it by the time they listen to this,

00:24:29   of course, or whatever.

00:24:31   So Apple and Google have been suing each other over patents

00:24:34   because that's what big companies do these days.

00:24:35   I mean, I'd love to see,

00:24:37   they had this diagram in some article once,

00:24:39   like the diagram of who's suing who,

00:24:41   everyone's suing everybody.

00:24:41   Anyway, but Apple and Google were suing each other

00:24:44   over what you'd expect, iPhone patents and Android stuff

00:24:47   and who knows what else.

00:24:49   And now they're not anymore.

00:24:50   They have agreed to dismiss all current lawsuits

00:24:53   that exists between the two companies.

00:24:56   And they've agreed to work together

00:24:57   on patent reform of some form.

00:25:00   They haven't said what,

00:25:01   I'm assuming nothing will come with that.

00:25:03   But anyway, they basically agreed to put their guns back

00:25:07   in the holsters for now on the patent.

00:25:10   They're not doing a patent cross-license,

00:25:11   which is what Apple has done with Microsoft in the past,

00:25:14   which is, okay, you can use my patents

00:25:15   and I can use your patents.

00:25:16   So they're keeping their own patent.

00:25:18   I don't know how that works.

00:25:19   Like, we just agreed we won't sue each other anymore.

00:25:21   They don't even agree to that.

00:25:22   they're stopping all current lawsuits. I guess they probably both reserve the right to sue

00:25:25   each other about it later, and they declined to comment as to why. And so both companies,

00:25:30   this is like the net neutrality thing, technology companies, I mean, I heard some comedians talk

00:25:37   about net neutrality, and they assume that technology companies like Microsoft, Apple,

00:25:42   Google, or if they're really old, comedian, IBM, are on the bad side of net neutrality,

00:25:48   that are against it. That's not the case. In fact, companies like Apple, Google, and even AOL,

00:25:53   I saw recently, are on the good side of net neutrality. They're in favor of net neutrality.

00:25:59   And Apple and Google, they hate patents. Yeah, they have millions of patents because they have

00:26:01   to have them. But they don't like the systems any more than anyone else does. It's just a cost of

00:26:05   doing business. It's a terrible cost center for them. They have to spend billions of dollars on

00:26:09   defending their patent. I mean, maybe Steve Jobs would disagree. He

00:26:14   seem to love patents and love patenting things. But in general, technology companies,

00:26:18   I think, would all agree that patents, there's a problem with the current patent system, and it's

00:26:23   just an annoying thing they have to do. So these two companies agreeing now in Steve Jobs's absence,

00:26:27   perhaps, to say, "Okay, let's stop all these lawsuits. They're just costing us money.

00:26:32   No one's going to really win definitively. It's just going to distract us for a long time, and

00:26:36   let's concentrate our lobbying efforts in Washington, however meager they may be,

00:26:41   on getting some sane form of patent reform through. And my first reaction to this, which I

00:26:47   tweeted and also put in the show notes, was, I guess it's Tim Cook holding up a picture of Samsung's

00:26:53   logo and saying "Fight the real enemy" and then tearing it up on screen, which is a reference that

00:26:57   I assume neither one of you would get. So I put it in the—

00:26:59   I actually did. I did. I honestly did.

00:27:01   Yay, Casey. Maybe this is the year of Casey. Marco, do you get that reference or not?

00:27:07   No, of course not. Come on.

00:27:08   All right, but anyway, it's in the show notes and I tweeted it so you can look at it.

00:27:11   But I mean, that's just the knee-jerk reaction.

00:27:13   The idea being that Apple and Google, that's not the real problem.

00:27:17   Apple's real problem is Samsung, which is ripping off not just their patents, but their

00:27:21   entire phone inexperience or whatever.

00:27:23   And to be clear, this doesn't really have anything to do with Apple fighting Samsung.

00:27:27   Yeah, it's just cool.

00:27:28   The whole idea is to fight the real enemy and saying, "Oh, maybe Google's not your

00:27:31   real enemy," or whatever.

00:27:32   So I think this is a good thing overall for both companies, because lawsuits really are

00:27:35   stupid distraction and they are expensive and after the Samsung, you know, whatever that the

00:27:41   result that lawsuit where Apple got peanuts, you know, like cost the problem. They probably

00:27:45   don't even cover the cost of litigation. They got like $120 million set them on or something after

00:27:49   years of fighting like I think river was saying that he thought it was like the principle of it

00:27:54   like well, see, we're willing to waste all of our money and just fight you in court to the death,

00:27:59   even though we know we're not gonna win anything at the end just so how mad we are at you how to

00:28:03   to show how Apple is irrationally aggressive

00:28:05   with his intellectual property

00:28:06   and to try to stop people from stealing their things.

00:28:08   But if that is their purpose, which I don't think it is,

00:28:12   it's stupid because what everyone else has learned

00:28:13   from this is if you have deep enough pockets,

00:28:15   you can steal everything Apple does

00:28:17   and you'll get a slap on the wrist after a couple years,

00:28:19   but you will reap the huge market benefits

00:28:21   of having stolen their stuff.

00:28:23   Again, this presumes that you believe in patents

00:28:25   and all the other stuff, which I do not

00:28:27   and I don't think Marco does either.

00:28:28   But anyway, I'm glad to see Apple and Google

00:28:31   dismiss their current lawsuits.

00:28:33   I'm glad to see them concentrate on doing better things,

00:28:37   making their products better,

00:28:38   and maybe helping patent reform.

00:28:40   - Maybe.

00:28:41   - Do we really think that, A,

00:28:43   they're actually going to do anything

00:28:45   to try to reform patents,

00:28:47   and B, even if they want to,

00:28:49   is there anything they can really do?

00:28:51   - I think they will.

00:28:51   Like, they do lobbying.

00:28:53   Apple and Google do lobby for their interests in Washington.

00:28:55   It's just that their money is massively outweighed

00:28:57   by the people on the other side of this.

00:29:00   And so, yeah, I mean,

00:29:01   It's good to see more of the good guys, good guys being people that I agree with, obviously,

00:29:06   getting into the fight. But realistically speaking, the bad guys on the other side have

00:29:13   way more money and way more influence. And the whole thing is about patents. Like,

00:29:17   that's the reason when I talk about patents at Hypercritical that I didn't talk at all

00:29:20   about changing the system, because it's in the Constitution. Like, good luck with that.

00:29:24   You can't get people to agree. You can't even get laws passed that 90 percent of the people

00:29:28   in the country agree with. Good luck trying to get something that's in the Constitution. So,

00:29:31   So I have dim hopes that things will get fixed there.

00:29:34   But I do like to see these companies actually

00:29:38   fighting for their interests when their interests align

00:29:41   with mine.

00:29:42   We are also sponsored this week by our friends at Backblaze.

00:29:45   So Backblaze is, quite simply, it is online backup.

00:29:49   It's $5 a month.

00:29:51   It is native to the Mac.

00:29:53   It is unlimited, unthrottled, and uncomplicated.

00:29:56   So it's exactly what it sounds like.

00:29:58   It's online backup.

00:29:59   There's no tricks.

00:29:59   there's no upsells or different purchases.

00:30:02   You pay $5 a month for unlimited space for one computer.

00:30:05   If you have multiple computers,

00:30:06   each additional one is just another $5 a month.

00:30:09   Really very simple.

00:30:10   I've used it for years and it's fantastic.

00:30:14   I have, from my computer, I have about a terabyte.

00:30:18   From my wife's computer,

00:30:19   we have about another two terabytes from that.

00:30:23   I back up my mom's computer to it and it's fantastic.

00:30:27   It's just a great service.

00:30:28   You can easily restore all your files,

00:30:31   or you can just restore one file through their web interface.

00:30:34   So you can use it even as an extended time machine.

00:30:37   So you can say, oh, you know what?

00:30:38   I deleted that file a month ago.

00:30:40   And they keep some retention there,

00:30:41   so they can go find out, stuff like that.

00:30:43   You can see if it's there.

00:30:45   Or if you're on the road somewhere

00:30:47   and you need a file off your desktop,

00:30:48   you can get the file right from Backblaze.

00:30:50   They also have iOS and Android apps, I believe.

00:30:53   At least they have iOS apps.

00:30:54   I forget this every time.

00:30:56   Anyway, I'm going to go with that at least.

00:30:58   They have an iOS app where you can access any of your files that are backup to backblaze

00:31:02   from anywhere you are from your iOS device, simply and securely.

00:31:05   And of course, as usual, it's unlimited and simple and native.

00:31:10   It was actually founded by ex-Apple engineers, which is one of the reasons why the Mac software

00:31:14   is so good, it's native and everything else.

00:31:17   So try it out.

00:31:18   They have a 15-day free trial, no credit card required, you just enter an email and a password

00:31:23   and then you're off.

00:31:24   Once again, it's online backup.

00:31:26   And we always recommend this because you can have local backup, that's great.

00:31:31   But local backup does not really help if there's a fire in your house, if there's a flood,

00:31:35   or let's say you have water damage, if the apartment above you floods and then it drips

00:31:40   into your place and floods your computer desk and messes up all your equipment.

00:31:43   It protects you from that.

00:31:44   Theft.

00:31:45   There's all sorts of environmental things that can happen that can knock out your computer

00:31:49   and anything connected to it or plugged in nearby.

00:31:52   And Backblaze takes care of it.

00:31:54   backup, you have all your files off in the cloud somewhere. And they're really great,

00:31:57   great company. Thanks a lot to Backblaze. Go to backblaze.com/ATP for just $5 a month,

00:32:04   simple, unlimited, unthrottled backup.

00:32:07   There's another reason you should go to backblaze.com. They have a great blog where they do what

00:32:10   I think every tech company should do is they blog about not like, oh, here's they do blog

00:32:14   about but here's the new feature of our new version 2.0 of the product they blog instead

00:32:18   what they do is mostly blog about the crazy things they have to do to store your data

00:32:22   to like their big devices filled with hard drives

00:32:25   and all the stats on their hard drives

00:32:26   and the failure rates.

00:32:27   And the most recent one was trying to correlate

00:32:30   failure rates with temperature changes.

00:32:32   It's just awesome stuff if you care about storage,

00:32:34   just to look at, you know, it's kind of like, you know,

00:32:38   open source type development where they discover things

00:32:42   as over the course of doing their work

00:32:44   and then they write about it in this sort of an open way.

00:32:46   And you're like, oh, don't you want your competitors

00:32:47   not knowing how you do things?

00:32:48   So like, they don't care.

00:32:49   Here's everything we learned.

00:32:50   Here's the reliability rates for hard drives

00:32:53   over multiple years.

00:32:54   They have like, what did they say?

00:32:55   Like 34,000 hard drives or something?

00:32:56   So they have a pretty good sample size going.

00:32:58   I love reading that stuff.

00:33:00   And it makes it, it should be unrelated to the product,

00:33:02   but it makes me feel better using the product,

00:33:04   reading those blog posts.

00:33:05   - Yeah, I definitely enjoy those myself as well.

00:33:08   So Beats.

00:33:10   - Yeah, Apple supposedly is spending some serious money.

00:33:14   - Well, that's the best part of the story

00:33:16   before we even get to the story.

00:33:17   The best, my favorite part of the story is the,

00:33:20   and I'm sure you two both do the same thing,

00:33:23   you'll see some tweets go by

00:33:25   and you can infer what it is they're about.

00:33:28   'Cause they're like the first,

00:33:29   maybe the first couple of tweets you see

00:33:30   don't link to any story,

00:33:31   but they make some kind of vague comment.

00:33:32   And you know something's up.

00:33:34   Sometimes you know a company's involved,

00:33:37   but you're not sure what the deal is.

00:33:38   And then you have to like scroll and you see a couple more.

00:33:41   If you're lucky, some person will put a link in,

00:33:43   a link to a story that explains what it's talking about.

00:33:45   But a lot of the times, in my experience anyway,

00:33:47   I'll just get the commentary.

00:33:48   I won't get the story.

00:33:49   and I had to figure out what it's about.

00:33:51   And so, you know, and do my own,

00:33:53   sometimes you go to Google

00:33:54   and you just type in a couple of keywords

00:33:55   and then you find like the top result.

00:33:57   And so this one was that, you know,

00:33:58   Apple was supposedly in talks to buy Beats,

00:34:01   the music company that makes the headphones

00:34:04   and has the streaming media,

00:34:05   music service and stuff like that.

00:34:07   And the next question is, did they already buy them

00:34:10   and people are writing snarky tweets

00:34:11   about the fact that it happened or is it just a rumor?

00:34:13   And so more googling around, you find,

00:34:15   oh, it's just like, you know, an article that says

00:34:18   Apple is in talks to blah, blah, blah, right?

00:34:21   And that process repeated itself

00:34:22   and continues to repeat itself to this very day.

00:34:25   Every time I see people tweeting about it,

00:34:26   people will write headlines like why Apple bought Beats.

00:34:29   I'm like, oh, did they announce it?

00:34:30   Nope, nope, not yet.

00:34:31   Why Apple should buy Beats?

00:34:33   Okay, I kind of get that one.

00:34:34   You know, it's like why Apple buying Beats

00:34:36   is the best thing ever, I can't really tell.

00:34:38   So I'm constantly, every time I see tweet,

00:34:39   it's like, did they announce it?

00:34:40   Did they announce it?

00:34:41   And since it's been going on for what, a week now?

00:34:43   More than a week?

00:34:44   It's just, it's both frustrating and hysterical

00:34:47   that this can be a story without actually there being an announcement yet.

00:34:51   So suppose it's real because I think there's there's enough.

00:34:57   Oh, yeah. No, there's tons of smoke.

00:35:00   It's just and there's been no denials from anybody. Yeah, right.

00:35:03   And it's been it was reported by The Wall Street Journal at first.

00:35:06   Like these are you know, there's this is pretty substantial smoke.

00:35:09   So I would say it's very likely to be real at this point.

00:35:12   All right. So the next question is, why has it not been announced?

00:35:15   assuming we all believe that it's real and with everything points in that direction,

00:35:20   why no announcement?

00:35:21   Well, you know, they could just be delaying it until WWDC to combine it into one big PR

00:35:25   announcement. It could just really not be finished, you know, not be a done deal yet,

00:35:29   so they kind of can't and shouldn't talk about it yet. You know, there's lots of plausible

00:35:32   reasons why it was, you know, leaked but not announced yet.

00:35:36   WWDC was my guess as well, but then, like, why leak so early? That seems like if it was

00:35:41   a planned leak--

00:35:42   It's not that early.

00:35:43   I guess maybe I'm in denial about when I'm going to have to be on a plane for six hours,

00:35:46   but it's coming up soon, isn't it?

00:35:50   But yeah, I think this is a little bit weird because normally Apple's sort of planned leaks

00:35:54   happen in closer proximity.

00:35:58   Maybe this was just an unplanned leak or whatever.

00:36:00   But anyway, it's a weird story, the fact that it just lives on in the zombie mode.

00:36:05   Everyone is writing as if it has already happened, which will be funny if it doesn't happen for

00:36:10   some weird reason, but just like we've moved on now.

00:36:13   Now we're just talking about the repercussions of this deal

00:36:15   that hasn't been announced.

00:36:16   All right, so anyway, we can talk about the actual deal.

00:36:19   - Yeah, I mean, so if it's true,

00:36:21   let's assume for now it's true.

00:36:22   So it's really interesting, 'cause first of all,

00:36:26   yeah, it's for $3 billion,

00:36:27   and that's more than what they bought Next for,

00:36:28   but these days, that's a mid-priced acquisition.

00:36:33   That's not even a massive acquisition in tech anymore.

00:36:36   So okay, it's a lot of money,

00:36:38   but they are a profitable hardware company.

00:36:41   I think somebody said that Beats makes

00:36:43   like a billion dollars a year, something like that.

00:36:46   So the price really isn't that crazy for that.

00:36:50   But anyway, so it's unusual for Apple.

00:36:54   It's worth mentioning because this is not

00:36:57   the kind of acquisition Apple has really ever done.

00:36:59   You know, normally they buy small technology companies

00:37:02   that are doing something cool and they buy them

00:37:04   for the technology or for the people

00:37:06   and you never hear about it.

00:37:09   They don't buy big established consumer brands

00:37:12   and like Beats and do God knows what with it.

00:37:17   This is very unlike Apple.

00:37:18   But this is a new Apple, this is Tim Cook's Apple

00:37:22   and it's a shifting landscape

00:37:24   and Apple does what they think is best

00:37:26   and I think there's a lot of reasons why this makes sense.

00:37:30   A lot of people are like, "What are they gonna do?

00:37:31   This doesn't make any sense, this is stupid."

00:37:33   I think this makes tons of sense.

00:37:36   Before I explain why, what do you guys think about it?

00:37:39   - I don't really have that much of an opinion,

00:37:42   which bothers me because I know I should.

00:37:44   But I've thought about it on and off

00:37:46   since we heard this going on.

00:37:49   And the only opinion I have about it

00:37:53   is that I'm really pissed off

00:37:54   that I didn't immediately think to pitch Dr. Dre

00:37:58   as the WWDC Beer Bash artist.

00:38:01   It took me a couple days to think of that joke.

00:38:03   - He's way too big for that.

00:38:05   - Oh, I know.

00:38:05   It took me a couple days to think of that joke though and I'm a little bothered by that.

00:38:08   But I mean, I guess it makes sense.

00:38:10   It's hard to...

00:38:12   There are two wildly different businesses that Beats has.

00:38:16   There's the streaming music service, kind of similar to Spotify, although I've never

00:38:19   used it.

00:38:21   And then there's the headphones.

00:38:23   And from everything I've heard from audio files, which I don't want to piss them off

00:38:29   ever again, because by God, that was a mistake.

00:38:32   That was awesome.

00:38:33   You and I have different definitions of awesome.

00:38:36   Anyway, every audiophile I've ever heard who has had a set of Beats headphones on their

00:38:42   head says that they're terrible.

00:38:44   Now I am not saying that's right, I'm not saying that's wrong, I'm just saying that's

00:38:49   what I've heard.

00:38:50   And I've never tried them.

00:38:51   I probably should find a pair somewhere that's been on 3,000 years because they're at like

00:38:55   a Best Buy or whatever and try them.

00:38:57   But there's the hardware business and then there's the streaming music business, which

00:39:02   which supposedly is very, very good.

00:39:04   And then once you talk about the streaming music business,

00:39:07   do they get, does Apple get licenses?

00:39:09   If they just buy up Beats and otherwise leave them alone,

00:39:14   does Beats keep the licenses?

00:39:15   There's like so many different moving parts here.

00:39:17   And I just, I don't know what to make of it.

00:39:19   And I can't decide if it's good, bad,

00:39:22   or somewhere in between.

00:39:23   Jon, what do you think?

00:39:25   - This is weird in a couple of ways.

00:39:26   A lot of them have to be speculative ways

00:39:28   because it hasn't been announced.

00:39:31   we don't know anything about it. And so everyone has to first decide, okay, assuming it's true,

00:39:35   does Apple keep the Beats brand or do they fold it in? Does Apple keep the streaming service or

00:39:40   just use the technology to make a new service? Does Apple keep the headphones or ditch them?

00:39:43   And so everyone has to sort of build their own Beats acquisition. It's like a kid.

00:39:47   So I think they're going to keep the brand. They're going to drop the headphones. They're

00:39:51   going to integrate the streaming service with iTunes Radio. I think they're going to keep the

00:39:53   brand and keep the streaming service but drop the headphones. I think they're going to keep

00:39:56   the headphones but drop the streaming service and keep, you know, there's so many possible

00:39:59   I think the licenses won't come with them because they'll have to be renegotiated. No, actually I think licenses will come with them

00:40:04   Actually, I don't think it doesn't matter because they're gonna have the Beats guys negotiate with the record labels instead of Apple

00:40:08   No do better. Why will they do better? Isn't it? Once they become part of Apple don't they become the enemy as well?

00:40:13   You know, it's like so many permutations and so many unknowns. It's hard to solve for things a few things

00:40:17   I think we can address and I think Marco talked about some of them already here

00:40:20   One the people saying this is a sign of weakness because if Apple has to go outside for this stuff

00:40:26   It shouldn't have to go outside the company for this. This is in its strength

00:40:28   Why does it have to buy another company to do streaming music? Why does that divide on the company to do headphones?

00:40:33   Why does have to buy another company to do to make deals with record labels?

00:40:36   It's a sign of weakness that strategy always worked for Microsoft keep everything in-house

00:40:40   Don't never look anything outside never admit anything outside is better than what you have

00:40:43   Well, the thing is Apple has never been like that when they wanted to get semiconductor manufacturing expertise

00:40:48   They bought PA semi when they wanted to you know

00:40:52   well, this is a bad example,

00:40:53   they wanted to upgrade their store,

00:40:54   they bought that company that did the app store thing,

00:40:57   that Chomper or whatever it was.

00:40:59   They're constantly buying outside companies

00:41:00   right in the areas of expertise

00:41:02   because it's hard to staff up,

00:41:04   and it's much easier to buy a bunch of experienced people

00:41:07   who've already done what you want.

00:41:08   They're constantly buying,

00:41:09   these small companies they're buying,

00:41:10   it's because they have people and technology

00:41:12   that Apple wants, and yes, they do fold them in,

00:41:14   but that's a separate question.

00:41:15   So I don't think this acquisition

00:41:16   is a sign of Apple's weakness,

00:41:17   and I don't think it's unprecedented to acquire companies

00:41:22   that have things that Apple wants

00:41:23   instead of building them all in-house.

00:41:25   So that's all fine.

00:41:26   Unprecedented would be keeping the Beats brand

00:41:28   and keeping it separate from Apple,

00:41:29   'cause they don't do that.

00:41:30   Once you get acquired by Apple historically,

00:41:32   your people and your technology become part

00:41:33   of the Apple fold and whatever branding

00:41:35   and product you have before it goes away.

00:41:37   And that works with small companies,

00:41:38   but once you're buying companies

00:41:39   for multiple billions of dollars,

00:41:40   it's like, do we really wanna throw away that brand?

00:41:43   And that brings me to me,

00:41:44   to what I think this acquisition is about,

00:41:46   this phantom acquisition with no announced parameters,

00:41:49   so that I have to just speculate about.

00:41:51   And this says one thing to me and one thing about the future of Apple, and we'll talk

00:41:55   about it if we ever talk about wearables, is fashion, which has always been a part of

00:41:59   what Apple does.

00:42:02   Every part of the research in Apple has been about fashion in some way from the Bondi Blue

00:42:06   iMac to the iPod and all their advertisements on television with the dancing silhouette

00:42:14   people.

00:42:15   Yes, fashion has always been part of Apple.

00:42:17   I think is going further down that road with a possible wearable coming out the line and what does beats bring?

00:42:24   Beats is a fashion phenomenon. You talked about the the quality of the headphones not being a great in fashion

00:42:30   It doesn't matter that much when the quality of the headphones is

00:42:33   It's the fact that they're cool and that people like them and you can say they're right or wrong to like them

00:42:38   But they are definitely in fashion the streaming

00:42:40   Service as well

00:42:43   Could Apple do a streaming service sure, you know Beats is not a big streaming services, you know Spotify and RDO are way bigger

00:42:49   But beats seems to have a good brand and it's possible and people like their streaming service

00:42:55   And if Apple got behind it they could get the numbers up

00:42:58   but this just I mean without knowing anything this definitely seems like a

00:43:02   Fashion acquisition and when you buy something with fashion like if Apple bought Versace or something, which I'm probably mispronouncing. Sorry fashion people

00:43:10   They would not get rid of the brand like you buy Calvin Klein

00:43:13   You don't say and we're not gonna use the Calvin Klein name anymore

00:43:15   Of course, you're gonna use the name like that's what you bought

00:43:17   So if I'm right and that Apple has bought beats because of for fashion reasons

00:43:22   I have to think that it's going to keep the brand because you don't buy something

00:43:25   You don't buy a fashion company and then throw away the name brand

00:43:29   Yeah, I think I think you're on the right track with all this. I mean

00:43:33   So I think again first to address that questions everyone's asking, you know, what will they do with the beats brand?

00:43:38   I think it's a no-brainer. The beats brand is really strong

00:43:40   They're gonna keep it, no question.

00:43:42   Like it would be royally stupid to shut all this down

00:43:47   and be like, all right, these are now just Apple headphones

00:43:50   and this is now the new iTunes Radio 2.0.

00:43:52   That would be a huge mistake.

00:43:54   I really, I don't think Apple is stupid in this regard.

00:43:58   That would be royally stupid.

00:44:00   So that's one thing.

00:44:01   The other thing is, if you look at,

00:44:06   this is two very different businesses, right?

00:44:08   This is headphones, headphone hardware,

00:44:11   that's the premium price segment that is very high margin

00:44:15   versus this music service which is probably very low margin

00:44:20   and not very popular yet.

00:44:23   So here's what I think.

00:44:26   Basically, the Beats headphones,

00:44:29   people think I'm all up in arms about Beats headphones

00:44:32   because they're bad.

00:44:33   And the fact is I don't think they're that bad.

00:44:35   They're not great and you can,

00:44:37   It's like Bose, Bose headphones are not bad headphones.

00:44:42   You can just get better sound quality

00:44:44   at those prices from other brands.

00:44:47   Or you can get better sound quality for less,

00:44:49   usually from other brands that are less well known

00:44:52   or less fashionable or just targeted differently

00:44:56   or prioritized differently.

00:44:58   So Beats headphones are not terrible.

00:45:01   They're better than the earbuds, certainly.

00:45:03   They're better than any earbud I've ever tried.

00:45:06   And they look nice and they're pretty comfortable.

00:45:11   Most of them are.

00:45:12   So really, that's pretty good.

00:45:15   And they don't necessarily sound accurate.

00:45:19   They do not accurately represent

00:45:21   with a flat frequency response.

00:45:23   But most people don't like flat frequency responses.

00:45:25   Most people like a boost in bass and treble.

00:45:28   And that's what they supposedly do.

00:45:30   And so they make the sound more appealing,

00:45:34   even if it's artificial.

00:45:36   And so you combine the whole package here,

00:45:40   it's pretty appealing to people.

00:45:42   You have good looking headphones that are cool,

00:45:45   they're from a popular brand,

00:45:47   and they sound appealing to you,

00:45:50   and they make you look good,

00:45:52   or they make you look like a status symbol.

00:45:54   That's a very appealing thing.

00:45:57   Now, I was in an Apple store a couple days ago,

00:46:00   and they had these two giant tables set up

00:46:03   with all premium headphones.

00:46:05   Like the cheapest pair of headphones on these tables

00:46:07   was I think 200 bucks, probably the Bose AE series.

00:46:10   And I tried a bunch of them

00:46:12   'cause I had to wait a little while.

00:46:13   And the Beats ones were fine.

00:46:15   Like, you know, they didn't sound amazing,

00:46:18   but they sounded good, you know, just not great.

00:46:21   They didn't sound like $300,

00:46:23   but they sounded like maybe 80 bucks.

00:46:26   You know, like I've had $80 headphones

00:46:28   that sounded worse than that.

00:46:29   - Now really quickly, what is the price point

00:46:31   for a set of Beats headphones?

00:46:33   Because I genuinely don't know.

00:46:34   - I believe they span two to four,

00:46:36   or two to three at least.

00:46:37   - A hundred?

00:46:38   - Yeah, something like that.

00:46:39   - Okay.

00:46:40   - And I'm actually not that familiar with the product line.

00:46:41   Like I'll try them out in the Apple store

00:46:43   every once in a while,

00:46:43   but I don't usually do more than that.

00:46:47   But if you look at everything else

00:46:49   in that segment in the store,

00:46:50   everything else they have at the Apple store

00:46:52   on those tables,

00:46:53   they're all these like premium fashiony brands,

00:46:56   brands like Bose or Bang and Olufsen,

00:46:58   like these like super high end brands

00:47:00   that audio files really don't even look twice at

00:47:03   because their sound profiles are almost never very neutral.

00:47:07   They usually have a pretty, pretty wacky sound profile

00:47:12   like the frequency response line is nowhere near flat.

00:47:15   And so, you know, for audio files,

00:47:18   that's not really what we're looking for

00:47:20   but the fact is these headphones are popular.

00:47:23   They're expensive, they're nice, they're well made,

00:47:26   they look cool, they are usually extremely comfortable

00:47:29   lightweight. Some of them have noise canceling, which is a very useful feature for travelers,

00:47:33   air travelers especially. So like, they're useful to people, they're practical. So it's a very

00:47:38   successful headphone brand in a very successful segment that is booming partially, in fact,

00:47:43   a lot because of Beats. Beats has made this segment popular among young people who were

00:47:48   previously just wearing crappy earbuds. So if you like Beats to me, and I mean this in the good and

00:47:55   in bad ways, there are good ways here,

00:47:58   Beats has done to headphones what Starbucks did for coffee.

00:48:01   You know, it isn't the best coffee,

00:48:04   but it brought coffee to the masses

00:48:06   that was above and beyond both the price

00:48:10   and the quality of like 7-Eleven crap

00:48:12   that you'd get at gas stations.

00:48:13   And that's, you know, Beats has done that to headphones.

00:48:15   It's way better than earbuds by a long shot.

00:48:19   It's way better than the crappy little,

00:48:20   you know, $20 things you get, you know, at the drugstore.

00:48:24   It's a lot more expensive and you can do a lot better,

00:48:29   but it's bringing, it brought full-sized headphones

00:48:32   to the masses again.

00:48:34   And it's bringing this whole category

00:48:36   of expensive headphones to the masses

00:48:39   and making that cool, making it cool to walk around

00:48:41   wearing anything beyond earbuds.

00:48:43   I mean, I would love to walk around

00:48:46   wearing nice big headphones that sound good,

00:48:48   but until about this year,

00:48:50   I would have felt like an idiot walking around like that

00:48:52   'cause I would look ridiculous.

00:48:54   Now, everyone's wearing big headphones,

00:48:57   and that was largely started by Beats.

00:48:59   So anyway, it's a very good headphone brand.

00:49:02   It's not for me, but it's a very good successful brand.

00:49:06   And they're selling a lot of $300 things in Apple stores.

00:49:09   And it's a very high margin business.

00:49:11   So I look at this primarily as a retail buy.

00:49:15   Like I think the music service,

00:49:16   I'll get to that in a second,

00:49:17   but I think the music service

00:49:18   is actually a secondary deal here.

00:49:20   I think this is primarily about the retail headphone brand.

00:49:23   and they already have tons of real estate in Apple stores.

00:49:27   Apple sells a ton of them,

00:49:28   and they're gonna get a nice boost

00:49:30   in just retail margins from this.

00:49:33   - But do they really need that?

00:49:34   I mean, I don't know.

00:49:35   I don't buy that they're not going to make Beats headphones

00:49:39   become Apple headphones,

00:49:41   'cause they don't need more money.

00:49:42   I mean, they're freaking printing money, Apple is.

00:49:45   - Well, no, but think of it as a strategic thing,

00:49:47   like about wearables.

00:49:48   How many things does Apple sell that you wear

00:49:50   that they're successful selling?

00:49:52   I mean, the earbuds.

00:49:54   - I guess them and it kind of like the iPod Nano

00:49:57   at various times has clipped to you

00:49:59   or the shuffle stuff like that.

00:50:00   But like, it's clear that,

00:50:02   seems clear that Apple wants to get into wearables.

00:50:04   Beats is a company that sells something you wear

00:50:07   that is very popular.

00:50:09   And like, and even though I said,

00:50:10   I think they'll keep the brand,

00:50:12   the reason this build your own acquisition thing

00:50:14   is so much fun is all scenarios are plausible

00:50:17   'cause it would be plausible that they bought Beats,

00:50:20   they will destroy the Beats brand

00:50:22   never use it and merely have bought it because they want the expertise of people who know how

00:50:27   to sell something expensive that you wear that is cool and say please do that for us and they want

00:50:31   Jimmy Iovine to do deals with the record labels because he knows them or whatever like that is

00:50:36   less likely than what I think but it's not it's not outside the realm of possibility like most

00:50:39   people aren't talking about that but do you guys think that's impossible that they would ditch the

00:50:43   headphones turn the streaming service into an apple streaming service and what they would be

00:50:48   be getting out of deals is relationships with music companies, if not necessarily license

00:50:51   agreements depending what the legality is, and the expertise of a company that had figured

00:50:56   out how to build something with 300 bucks that people wear that they'll happily buy.

00:51:00   Well, so let's get to the music thing then, because I think, again, I think the headphone

00:51:06   business is way too big and successful for Apple to shut down that brand or get rid of

00:51:12   that.

00:51:13   Mmm, I still disagree.

00:51:15   People love Beats.

00:51:16   Everyone except audiophiles loves Beats.

00:51:18   But see, if they killed the business, it would leave a vacuum in the market.

00:51:21   Because as Marco pointed out, this is like the Starbucks moment for big headphones.

00:51:26   Kind of like a retread of the '70s where big headphones were in briefly, or the '60s and

00:51:29   '70s where big headphones were in then, mostly because you couldn't have decent sounding

00:51:32   small headphones.

00:51:34   But I don't think it's implausible that they would ditch it entirely.

00:51:40   I don't know.

00:51:41   anything they would become Beats by Apple and then it would become just Apple.

00:51:46   Like maybe they don't flush the Beats brand in its entirety immediately, but I don't know

00:51:51   if they're after headphones at all, which obviously none of us know if that's the case,

00:51:55   but if they're after headphones, I don't see the point in owning a company that continues

00:52:01   to operate autonomously when you've already got a crap load of money.

00:52:06   It'd be one thing if Apple was barely profitable and then they buy this hugely profitable business,

00:52:10   Okay, well in that case don't mess with what works but Apple, like I said, they're printing

00:52:16   money.

00:52:17   Why would they not fold that into the Apple brand and hopefully bring those customers

00:52:22   with them?

00:52:23   But they would, by getting rid of the Beats brand, you'd be putting a void in the market

00:52:27   and who fills that void?

00:52:28   You're hoping it will be Apple to fill that void but you'd be immediately created.

00:52:31   It's like if Starbucks folded and then it would be like, well, but someone's got to

00:52:34   buy their, you know, high priced coffee from somewhere.

00:52:36   I'm not saying stop having Starbucks stores.

00:52:39   I'm saying put the words blue bottle on the store

00:52:44   instead of Starbucks, you know, or whatever.

00:52:45   - Please email Casey.

00:52:46   - Yeah, but what they're selling is the brand though.

00:52:50   Like, you know what I mean?

00:52:50   Like Beats is not the headphone.

00:52:53   If someone else sold the headphone

00:52:55   that looks slightly different

00:52:56   and didn't have the word Beats in front of it,

00:52:57   someone would ask you, hey, is that a new pair of Beats?

00:52:59   You'd say, no, it's what, insert name of credit knockoff.

00:53:02   You'd be creating a void in the market

00:53:04   that would have to be filled by somebody.

00:53:05   And it would be up to Apple to fight

00:53:07   with all the other people to fill that void.

00:53:09   "Oh, please buy our Apple headphones."

00:53:10   They're designed by the same guys who designed Beats.

00:53:12   - Fine, Beats by Apple.

00:53:13   - That will take over the cache that Beats had established.

00:53:17   And I mean, it's fashion, you know?

00:53:18   If Calvin Klein goes away,

00:53:20   you don't immediately get their market share

00:53:22   because you made them go away.

00:53:23   Like if you acquire Calvin Klein and sunset the brand,

00:53:26   you don't get all those customers automatically.

00:53:28   Everyone's gotta fight for them again.

00:53:29   - Yeah, and also like,

00:53:31   you can't underestimate the impact

00:53:32   that Beats has had on the market.

00:53:34   If you look around at any other headphone company,

00:53:37   like even old companies like Sennheiser, AKG,

00:53:41   you know, these big old headphone companies

00:53:43   that are making these things forever,

00:53:45   they all now have headphones in the $1 to $300 range

00:53:49   that have certain colors, colored cables,

00:53:52   like all this stuff, like all these design cues

00:53:55   and adjustments and these brands, brands,

00:53:58   all these like, these old boring brands

00:54:02   made these like new young model names

00:54:05   and like the Sennheiser Momentum and all this stuff

00:54:07   and they all look like Beats.

00:54:10   They all took all those design cues.

00:54:12   It's clearly inspired by Beats, if nothing else.

00:54:17   And yeah, they sound way better.

00:54:18   I would have the Sennheiser Momentum over Beats any day

00:54:20   even though I didn't even like the Momentum that much.

00:54:22   But it's impossible to understate

00:54:27   how dominant Beats is in this market

00:54:29   and how much their brand is really worth

00:54:32   and how much people have been inspired by it

00:54:34   and are aspiring to be like them.

00:54:37   And other headphone brands are copying them left and right,

00:54:39   trying to be more like them,

00:54:41   but they are dominant in this market.

00:54:42   So here's why I think this all ties in.

00:54:45   So the hardware business I think is very good.

00:54:49   It's a nice boost to their retail margins

00:54:51   and everything else, that's fine.

00:54:53   I think the bigger, and John, I think you're right

00:54:55   that this is more about Apple becoming a fashion

00:54:58   and lifestyle company.

00:54:59   That is a very, very good reason for this.

00:55:02   But I think the music angle and the cool factor is the biggest.

00:55:07   If you look at what iTunes is, iTunes is, it's never been that financially important

00:55:13   to Apple, but it's always been spiritually important and important for their public perception

00:55:19   in marketing and branding.

00:55:21   Steve Jobs said a long time ago, he had dismissed streaming services or the demand for them,

00:55:29   saying that people want to own their music.

00:55:32   And that has proven to be wrong.

00:55:34   Like many Steve Jobs dismissals over time.

00:55:38   I'm sure if he was still around today,

00:55:39   he would totally deny that and say,

00:55:41   oh yeah, streaming services are great,

00:55:42   'cause now we have one, you know,

00:55:43   but in typical Jobs style.

00:55:46   But Steve Jobs was wrong.

00:55:49   And it turns out, sorry Merlin,

00:55:53   turns out that a lot of people don't care

00:55:55   about owning their music.

00:55:56   And a lot of people want streaming

00:55:57   and that's all they want.

00:55:58   I know so many people, I mean listen to the prompt,

00:56:00   every week I talk about this.

00:56:02   (laughing)

00:56:03   So many people just use streaming music now

00:56:06   and they don't even keep iTunes libraries anymore.

00:56:10   iTunes, like Apple is dominant in the digital music realm,

00:56:15   like in selling digital music.

00:56:17   But I think the world of selling digital music

00:56:19   is on the decline.

00:56:20   Like iTunes posted pretty disappointing numbers recently

00:56:22   and this has been kinda in the analysis

00:56:26   or in the analyst world a little bit.

00:56:28   but I think it's pretty clear that Apple

00:56:31   is the king of a sinking ship here.

00:56:32   This is a terrible mixed metaphor.

00:56:34   (laughing)

00:56:35   Sorry.

00:56:36   You know, Apple is so dominant in this world

00:56:41   that a whole bunch of people no longer care about.

00:56:45   And they try to get into streaming with iTunes Radio,

00:56:49   and nobody cares.

00:56:50   iTunes Radio is not that good.

00:56:51   I've used it here and there,

00:56:53   'cause I don't use streaming enough

00:56:54   to get one of the better services,

00:56:56   but even I can look at iTunes Radio

00:56:57   and say this is, I think, the worst of the streaming

00:57:00   services.

00:57:01   And they're just not--

00:57:05   they're not getting it.

00:57:08   And Beats-- if you look at the other streaming services that

00:57:12   are more successful than Beats and raw user numbers,

00:57:14   I think they're a little bit less Apple-like.

00:57:17   Beats is much more about editorial choice

00:57:21   and featured playlists made by actual artists and editors

00:57:24   and stuff like that.

00:57:25   it's less about just pure algorithms.

00:57:28   And I think that's more Apple's style,

00:57:30   and I think that would fit in better with the iTunes store

00:57:32   if it was ever merged in,

00:57:33   where it's more about editorial curation

00:57:37   from the music industry.

00:57:38   That is kind of very Apple versus RDO or Spotify,

00:57:43   or the other ones.

00:57:44   I think it makes sense for them to buy,

00:57:46   and I think there's only,

00:57:48   they have to be realizing that Apple is run by a,

00:57:53   for the most part, the same very long standing group

00:57:57   of pretty uncool middle aged white guys

00:58:00   who work at a tech company in California.

00:58:03   And that was cool for a while,

00:58:05   and I think that time has passed, and I think they know it.

00:58:07   And it's pretty clear now that Apple is no longer

00:58:10   like inherently cool.

00:58:12   They make good stuff here and there that people like,

00:58:14   but Apple as a brand is no longer like just the coolest

00:58:19   thing in the world, where it was, you know,

00:58:22   three to five years ago, say.

00:58:23   It is no longer up in that peak.

00:58:25   And Beats is, you know, it's not as big as Apple,

00:58:30   but it is probably better regarded.

00:58:32   And it's certainly, in the area of music alone,

00:58:35   you know, obviously Beats doesn't make phones

00:58:37   and everything, in the area of music alone,

00:58:39   I think Beats is a way better and more promising brand

00:58:43   now and in the future than iTunes is.

00:58:46   I think iTunes is really on its way out of dominance

00:58:49   just because the thing it does is falling out of favor

00:58:51   so quickly and probably more quickly

00:58:53   than Apple even imagined.

00:58:54   And Beats is really good at it

00:58:56   and it has a really good foundation

00:58:58   and they can bring these people in,

00:58:59   they're gonna bring in the executives from Beats

00:59:02   and if the rumors are true,

00:59:05   they're gonna take on executive roles

00:59:06   and lead the music division at Apple,

00:59:08   that's awesome 'cause that's exactly what Apple needs.

00:59:11   - Let's think about why downloads,

00:59:14   why Steve Jobs thought the streaming wasn't a thing

00:59:18   and the downloads would be better.

00:59:20   I mean, a lot of it is that times change,

00:59:22   and the infrastructure changes that

00:59:25   make streaming more feasible.

00:59:26   But even when he said it, if he had thought about it

00:59:29   a little bit differently, I think

00:59:31   he would have realized that streaming was inevitable.

00:59:33   And maybe he did, because he very often did not

00:59:35   reveal his inner thinking about these things.

00:59:37   But it was like he was coming from an era

00:59:38   where there was two ways to get music.

00:59:41   You bought a record at the record store,

00:59:42   or you turn on the radio and listen to it.

00:59:44   And one, you controlled entirely,

00:59:45   and you purchased music, and you owned it.

00:59:46   You could pick which songs you wanted.

00:59:48   You could go to the store and buy them.

00:59:49   You could play them whenever you want.

00:59:51   And the other one you had no control over other than changing the radio station.

00:59:53   Even that was limited control due to payola and limited bandwidth and various other things.

00:59:59   But he should have seen coming is that, okay, we're offering a digital version of you going

01:00:03   to the record store and buying music.

01:00:05   There will be a digital version of the radio, but you will have some control over it.

01:00:09   It won't be like the radio radio where it's broadcast over certain wavelengths and you

01:00:13   all just receive it in a certain number of stations.

01:00:16   Why shouldn't the listener be able to have almost as much control over what they listen

01:00:20   to on a streaming service as they do buying things?

01:00:22   That's basically what's happened.

01:00:23   No one wants to listen to just a radio station that just plays music.

01:00:29   Oh yeah, radio sucks.

01:00:30   They want control.

01:00:32   These services are like, "Fine, we can give you that.

01:00:34   Give us a seed and we'll make you a playlist.

01:00:36   We'll have people editorially pick things.

01:00:38   We'll have you be able to say songs you don't want to hear again or songs that you do like."

01:00:43   All that technology is there.

01:00:45   Once that's there, you've got the buying music,

01:00:48   and now you've got the listening to the radio,

01:00:50   but the listening to the radio starts to have

01:00:51   almost all the advantages, in fact, some advantages

01:00:53   that buying music doesn't have, which is you're surprised

01:00:55   what's gonna come next, you're gonna discover

01:00:57   new music that way.

01:00:59   And yeah, the business model's different,

01:01:00   it's not free within terminal ads,

01:01:01   you have to pay some money for it,

01:01:03   or iTunes does have ads.

01:01:06   Is there a pay tier for iTunes radio?

01:01:07   I don't even know.

01:01:08   - It's heightened to iTunes match,

01:01:10   if you pay for iTunes match,

01:01:11   you don't get ads on iTunes radio.

01:01:12   Yeah. But anyway, it's streaming, but it's streaming with many, many of the advantages

01:01:19   of purchasing music. So it seems like it was almost inevitable that radio's been popular

01:01:23   forever. Why were people willing to put up with that crap? Well, it was a nice way to

01:01:26   ambiently have music on the go and be surprised, relatively.

01:01:29   No, it wasn't. Just our standards were lower. We had fewer alternatives. Radio has always

01:01:34   been terrible.

01:01:35   The idea that somehow purchasing music of your own would completely replace any kind

01:01:39   of broadcast medium, that was never going to happen, and it was clear that streaming

01:01:43   would be able to become the thing that it is today.

01:01:46   And interesting about Beats, and speaking of streaming and everything, people talk about

01:01:49   how Beats, and I just said it earlier, is so small in the streaming market compared

01:01:53   to the big players in the streaming market.

01:01:55   And even in the headphones market, I mean, yeah, they're the big gorilla in big expensive

01:01:59   headphones, but in the grand scheme of things, which I think is what Casey was getting at,

01:02:04   how much money is that?

01:02:05   A billion here, a billion there, Apple loses that in its sofa, right?

01:02:09   So when you're going to buy a company, and we talked about this with Facebook, you want

01:02:14   to buy it before you have to pay $19 billion.

01:02:17   If you think a company is going to be a $19 billion company, buy it when you can get them

01:02:21   for $3 billion.

01:02:23   And so all the people are saying, "Why would they buy this small company?"

01:02:27   It's buy low, sell high, or buy low, sell never.

01:02:30   It's not wait until they're gigantic and say, "Oh, I want to buy the number one streaming

01:02:34   company."

01:02:35   you know, the number one streaming company that is Spotify at this point, it would probably

01:02:39   cost them more, and it's not—this is a safer bet, because like I said, $3 billion,

01:02:44   if it goes out, the beats fizzle out, because fashion things often do, it ends up not being

01:02:49   Calvin Klein, but it ends up being, like, I don't know, the Swatch Watch or something

01:02:54   else from the 80s that kind of came and went. But that happens in fashion all the time.

01:02:58   Hey, you're only out $3 billion. No big deal, right?

01:03:03   Also, I mean and this is probably a much smaller concern, but it might it might grow to be a bigger one

01:03:07   Beats is on all the platforms or at least on Android. I mean who cares about Windows mobile, but it's on you know

01:03:14   So beats might be a way. I don't think Apple would ever swallow its pride and bring iTunes to Android

01:03:20   But but having beats radio, whatever. What's the music service called? Just called beats the beats music maybe yes beats music

01:03:28   OK, I don't think Apple would be opposed to keeping Beats Music

01:03:32   on Android and maintaining it and growing that business there

01:03:34   too.

01:03:35   So it's a way for them to--

01:03:36   for their music streaming business

01:03:39   to get to as many people as possible.

01:03:42   iTunes for Windows.

01:03:43   I mean, that's the precedent is sometimes

01:03:45   in some businesses that Apple wants to be in,

01:03:48   you have to be on other platforms.

01:03:51   If you want to be $0.70 market share of digital music players,

01:03:54   you need iTunes for Windows.

01:03:55   And if Apple ever wants to be some big number market

01:03:58   share in streaming music, they're gonna have to be

01:04:01   another platforms.

01:04:02   - Where is Beats Music available?

01:04:04   Is it only in the States?

01:04:06   - I think so, but it's a very young service.

01:04:09   Like usually, the streaming services start out

01:04:11   in one country and they broaden as they can negotiate

01:04:14   the rights everywhere else.

01:04:15   Beats has only been around for a few months, right?

01:04:18   It's a very young service.

01:04:19   - Launched at the end of January.

01:04:21   - Yeah, so it's, I'm pretty sure,

01:04:24   I'm pretty sure that's not really that much of a concern

01:04:26   Like I'm sure if Apple really is buying Beats that they will make it available

01:04:30   worldwide as soon as they can negotiate all that. And I don't think that this is going to come inherently with the deals that Beats

01:04:36   negotiated already. I have a feeling there's got to be a clause in those contracts that says that they're that they get renegotiated

01:04:41   on acquisition.

01:04:43   But yeah, I should also point out that Beats apparently was MOG way back when and MOG was available is available or was

01:04:50   available in the US and Australia.

01:04:52   But I believe Beats is only available in the US. I think you're right.

01:04:56   But, well you know what's available worldwide?

01:04:58   Tell us Marco. Our next sponsor,

01:05:00   lynda.com, L-Y-N-D-A dot com slash A-T-P.

01:05:04   lynda.com helps you learn and keep up to date with your software,

01:05:08   pick up brand new skills, or explore new hobbies with easy to follow

01:05:12   video tutorials. Whether you want to learn a new programming language,

01:05:16   create a graceful user experience for your website, or get your first code up and running with Objective C,

01:05:20   lynda.com offers thousands of video courses in a variety of topics.

01:05:24   They have over 2400 courses taught by industry experts

01:05:28   and they add more every week.

01:05:30   Lynda.com works with software companies

01:05:32   to provide you with updated training

01:05:33   the same day new versions hit the market.

01:05:35   So you're always up to speed with things

01:05:37   like the new version of Photoshop or Illustrator

01:05:39   or Final Cut.

01:05:40   They have all these courses on applications,

01:05:43   programming languages, all this stuff.

01:05:45   And this is for all experience levels,

01:05:47   whether you're beginner or advanced.

01:05:49   They have all this available for one low monthly price

01:05:53   of just $25 a month that gets you unlimited access

01:05:57   to the entire lynda.com library.

01:06:00   So if you want, you can be like me and learn PHP.

01:06:04   They have a course on dynamic data-driven websites with PHP.

01:06:07   You can learn everything from using PHP in a web page

01:06:10   to building applications for Facebook.

01:06:12   Because I once heard a wise programmer say,

01:06:17   the world needs more PHP.

01:06:19   - What?

01:06:20   - If you wanna go with Common Wisdom like Casey

01:06:22   and learn Node.js.

01:06:24   They have that as well.

01:06:25   You can learn to create entire JavaScript applications

01:06:27   with Node.js right on lynda.com.

01:06:29   They even have courses right there on new stuff like that.

01:06:33   They even have courses on branding.

01:06:35   So you can learn how to manage the way you're perceived

01:06:37   online and off with personal branding strategies.

01:06:40   - Oh my God.

01:06:41   - I'm hoping they put that in there

01:06:42   knowing how to read it like that.

01:06:43   We'll find out.

01:06:44   You can learn that at lynda.com

01:06:49   along with a lot of more useful stuff like programming.

01:06:51   So you can bring, they have new stuff with iOS 7,

01:06:55   new, you know, every time there's a new SDK,

01:06:57   they release a new video, like I'm sure this fall

01:06:59   they'll have a new iOS 8 SDK video.

01:07:01   You can even explore ASP.NET if you wanna join Casey

01:07:04   at his day job.

01:07:05   - Yep.

01:07:06   - You can learn the structure behind robust ASP.NET

01:07:08   applications and the tools you need to manage data,

01:07:11   construct APIs, and establish real-time web connections

01:07:14   with a course that they call Up and Running with App.NET,

01:07:17   sorry, ASP.NET, sorry.

01:07:19   App.net, that would not be very useful these days.

01:07:21   Anyway, so go to lynda.com, L-Y-N-D-A.com/ATP,

01:07:27   and you can start a free seven-day trial.

01:07:31   Once again, it's 25 bucks a month after that,

01:07:35   gets you access to the entire catalog,

01:07:36   unlimited access to everything.

01:07:38   I've learned things about logic and audio editing there

01:07:40   for editing this show.

01:07:42   I've looked up a few things about some of the languages

01:07:44   I was interested in, so really, this is a very good service.

01:07:46   The videos are top-notch.

01:07:48   They're really professionally made.

01:07:49   They have nice little live transcripts on the side.

01:07:50   You can scroll around, you can seek right there

01:07:52   in the transcript.

01:07:53   It's amazing.

01:07:54   You can watch them on an iPhone or an iPad.

01:07:55   Really great stuff.

01:07:56   lynda.com, L-Y-N-D-A dot com slash ATP.

01:08:00   Thanks a lot.

01:08:01   - Okay, so there's been some interesting developments

01:08:05   in the JavaScript world lately.

01:08:06   - There have?

01:08:07   - Yes.

01:08:08   - It's like he doesn't even read my Twitter feed.

01:08:10   (laughing)

01:08:11   - Or the show notes.

01:08:12   - I've been a little busy.

01:08:14   - Overcast isn't gonna ship this year,

01:08:15   so why are you bothering?

01:08:16   Hey-o!

01:08:17   So, there's been some interesting motion in WebKit and JavaScript.

01:08:24   And it's funny because I put a link in the show notes and I'm going to put it in the

01:08:28   chat and it's about how Java, or excuse me, WebKit is leveraging LLVM to do some

01:08:37   optimizations.

01:08:38   We'll get into what that means in just a second.

01:08:40   But it's funny because in the show notes, I knew that one or both of you, probably just

01:08:44   Marco was going to get snarky about JavaScript.

01:08:47   And so in the show notes I have JavaScript Optimization WebKit using LLVM, which is the

01:08:50   link.

01:08:51   Then in the show notes I have, or in our show notes I have, when do we realize that JavaScript

01:08:55   is for real?

01:08:56   Marco, explain to us how this is worse than HHVM.

01:09:00   And I don't want you to go there yet, but start thinking.

01:09:02   So what the crap are we talking about?

01:09:04   So I'm a little fuzzy on the boundaries, and John, interrupt me whenever you're ready.

01:09:08   But basically when you run JavaScript in WebKit, there are different stages of compilation

01:09:14   and an interpretation that the JavaScript will go through.

01:09:18   So at first crack, it'll just run the JavaScript

01:09:21   interpreted, which is very quick to get going,

01:09:24   but not terribly efficient, because it doesn't look

01:09:26   for ways to make the code that other people have written

01:09:30   to be a little leaner and a little more efficient.

01:09:33   If your code, if any bit of code runs so many times that it

01:09:37   crosses a threshold-- and this is where I start to get fuzzy--

01:09:41   it will do like a kind of quickie compilation into native code. Is that right, Jon? Or am

01:09:48   I already going off the rails? You should have stuck with broader generalities,

01:09:52   but I confess that I don't know the specifics either.

01:09:54   Okay. Well, let's keep it broad then. That's fine. Good call. So basically, with time,

01:09:58   you can go through several stages where each further stage requires a little bit more upfront

01:10:05   work, and in some cases, a lot more upfront work, but the results are that much quicker.

01:10:11   And the final stage was--

01:10:15   after the final stage, I should say--

01:10:17   the WebKit developers started thinking to themselves, well,

01:10:19   you know what?

01:10:19   We really should optimize this code that we've generated.

01:10:22   So we've taken JavaScript and kind of translated it into a

01:10:25   different kind of code.

01:10:26   We should try to optimize this really well.

01:10:29   Because if you've gotten all the way down this path, this

01:10:32   is something that we feel like is running a lot.

01:10:34   Oh, and to be clear, WebKit is the rendering engine that's

01:10:37   used in Safari and Chrome.

01:10:38   So if you've gotten all the way to stage three, which is

01:10:41   the maximum stage up until now, then you're running this code a lot.

01:10:45   It's already made as quick as can be without some serious optimizations.

01:10:49   Well they thought, "All right, well let's optimize this code and start trying to cut

01:10:52   things out that we don't need."

01:10:54   Kind of like MP3s, if you will.

01:10:55   And so then they decided—

01:10:57   Wait, it's lossy?

01:10:58   Okay, fair enough.

01:10:59   That was a poor analogy.

01:11:00   All right, but I'm going to get here.

01:11:01   I'm going to get there.

01:11:02   That would be amazing.

01:11:03   Give me time.

01:11:04   I'm going to get there.

01:11:06   So they decided, "Well, you know what?

01:11:08   another project that's really, really, really good and that is about optimizing, and that's

01:11:13   LLVM, which is half of the Clang and LLVM compilation combo.

01:11:18   And so they thought, "Well, why don't we just leverage LLVM to do this optimization for

01:11:23   us?"

01:11:24   And so if you've got JavaScript that runs in WebKit so often that it escalates all the

01:11:29   way to this fourth level or fourth tier, I believe they call it, compilation and optimization,

01:11:37   In theory, it will get optimized the same way native Objective-C code gets optimized.

01:11:43   And so in principle, it should run pretty darn fast.

01:11:47   Okay, that's the setup.

01:11:49   Jon, go ahead and tear me apart or add what you have to add.

01:11:53   Here's how I would have summarized it because I don't have the thing in front of me, so

01:11:56   I wouldn't go to the details of the thing.

01:11:58   You basically hit all the points, but for people who want the even shorter summary of

01:12:03   of it, it's basically, JavaScript comes down

01:12:06   as a bunch of text, and you have to,

01:12:09   you have a trait, two things you have to balance here.

01:12:11   One is how fast can I start running code,

01:12:13   and second is how fast is that code when I run it.

01:12:16   And that's an important trade off,

01:12:17   because if you have some tiny little snippet of JavaScript,

01:12:20   you don't wanna wait like, I'm gonna make up numbers here,

01:12:23   these aren't real, but you don't wanna wait a second

01:12:25   to start running it and then run the code

01:12:27   for like a tenth of a second, that's a waste.

01:12:30   You wanna start running immediately, right?

01:12:32   And that continuum exists.

01:12:33   They had three tiers previously to do this.

01:12:36   We can run code immediately,

01:12:38   but it's not gonna be that fast.

01:12:39   We can take a little bit longer

01:12:40   and then the code will be a little bit faster.

01:12:41   And we can take even longer than that

01:12:42   and the code will be really fast.

01:12:43   And they're adding a fourth tier.

01:12:45   This is the FTL, what is it?

01:12:47   Fourth tier, someone look up what that is.

01:12:51   - I'm looking, but I can't find it.

01:12:52   (upbeat music)

01:12:56   Oh, fourth tier LLVM.

01:12:57   - Yeah, fourth tier LLVM.

01:12:58   The joke I made on Twitter is that,

01:13:00   And people think FTL, they think faster than light, obviously.

01:13:04   But the secret internal code name

01:13:05   might as well be, as far as I'm concerned, F this language.

01:13:08   Because they've already had an existing three tiers

01:13:12   of figuring out how can we run this language fast.

01:13:16   We want to start running immediately

01:13:18   and also have it run fast and figure out

01:13:19   which one of these tiers to do everything at.

01:13:21   So that's the trade-off they're making.

01:13:22   And the fourth tier is, all right, for code that--

01:13:26   we've gone through all three of those other tiers,

01:13:28   and we still want to go faster.

01:13:29   and this is just in this piece of code that's running,

01:13:31   you know, it's running all the time,

01:13:33   it's in some tight loop, it's using a lot of CPU,

01:13:36   we will take a huge amount of time, relatively speaking,

01:13:39   and figure out how to compile it with our actual compiler,

01:13:42   our actual, you know, their core compiler system,

01:13:44   LLVM system.

01:13:45   And the tricky part of this,

01:13:46   and the reason why I say it's F this language,

01:13:48   is because all along those three tiers,

01:13:51   you don't wanna stop and be like,

01:13:52   "Okay, we compiled everything with the really fast ones

01:13:54   that starts running stuff immediately,

01:13:56   but it's kinda slow when it's running."

01:13:57   You know, we got up and running really fast,

01:13:59   but it's kind of slow when it's running.

01:14:00   We would like to, for this function,

01:14:02   and this function, and this function, use the second tier.

01:14:04   You can't pause the world and say,

01:14:06   "Wait a second, wait a second.

01:14:07   "It turns out these two functions are called a lot.

01:14:09   "I want to take a little some time here

01:14:11   "to compile this in a faster form and run it."

01:14:14   You can't pause execution.

01:14:15   That will kill your performance.

01:14:17   You have to sort of, you know,

01:14:18   the old programmer analogy,

01:14:19   you have to swap the engine

01:14:21   while the airplane is in the air, right?

01:14:24   So you have to let everything run along

01:14:25   and make an optimized version of this thing

01:14:28   on another thread in the background

01:14:29   and swap it in for the new one and all the way down the line.

01:14:32   And the same thing with the LLVM thing,

01:14:33   the fourth tier is it's gonna take you

01:14:35   a long time to compile.

01:14:36   You know, you find something,

01:14:37   you think this is running so much,

01:14:39   we really want this to be super fast,

01:14:40   we're gonna spend the time to compile this

01:14:42   with our actual compiler.

01:14:44   You cannot pause execution when that's going on.

01:14:46   You have to compile it with the compiler

01:14:48   and then when it's ready, swap it in.

01:14:51   And this technology for swapping in the faster versions

01:14:53   of functions take longer to compile.

01:14:54   They already had more or less,

01:14:56   and this fourth tier is more difficult

01:14:57   because what they're compiling is like,

01:14:59   LVM is used to compiling more static languages like C, C++,

01:15:04   where variables don't change their type, for example,

01:15:07   and where you know the type of things up front.

01:15:09   And they had to put in,

01:15:10   they have to make a compiled version

01:15:11   that they can sort of self modify to say,

01:15:13   oh, well, it turns out this optimization

01:15:16   or this assumption is violated.

01:15:18   So bump back down to one of the slower versions

01:15:20   that has the more dynamic properties.

01:15:21   Oh, it turns out with this,

01:15:23   we don't actually know the type of this,

01:15:25   it's actually a different type now,

01:15:26   swap in a different type there.

01:15:27   You can read the article which we put in the show,

01:15:28   it's very long and very complicated,

01:15:30   but this is essentially the trick they're doing,

01:15:32   is they're doing this trade off between

01:15:34   how fast can we start running and how fast do we run,

01:15:36   and they're doing this thing all in parallel

01:15:38   where they don't stop the running of the program

01:15:40   to swap in the faster versions.

01:15:42   And finally in the fourth tier,

01:15:44   they're shoving in a much more rigidly optimized version

01:15:47   in the hopes that all their assumptions

01:15:49   about the version will be correct,

01:15:50   and when they're not correct, they have fallbacks.

01:15:52   And it's a really great article,

01:15:55   in the same sense as the backlays thing,

01:15:57   telling you the internals of how they decided to do something.

01:16:01   It's great insight into how do you make JavaScript fast, essentially.

01:16:06   How do you F this language?

01:16:08   How do you apply brains and engineering experience and say, "We're going to make JavaScript

01:16:13   fast.

01:16:14   I don't care if this is a terrible language that is incredibly resistant to optimization.

01:16:19   We're just going to throw engineering resources at it until we get fast."

01:16:21   I mean, same thing with the PHP and HHVM.

01:16:24   If you have enough money and enough engineering resources, you can make them with any language

01:16:28   fast.

01:16:29   And that's what they're doing.

01:16:30   And it's an amazing engineering feat.

01:16:33   And by the way, the other JavaScript engines that are used by Firefox and that Chrome is

01:16:39   doing with their V8 engine, Google's doing with the V8 engine.

01:16:42   And by the way, Casey, you said that WebKit is used by Chrome.

01:16:45   It's not.

01:16:46   That's Blink now, which is a fork of WebKit.

01:16:47   But anyway.

01:16:48   Right, right, right.

01:16:50   They all have similar things to this.

01:16:51   They all have to make the same exact trade-off.

01:16:53   How do we start running immediately, but also be able to run the thing that runs a lot faster?

01:16:58   And they do similar type of things with tracing execution, seeing which things are run frequently

01:17:03   and compiling them into a faster form and swapping them in.

01:17:05   Like this is not an amazing breakthrough from Apple that is unprecedented in the JavaScript

01:17:09   industry.

01:17:10   We have tons of really smart people all trying to make JavaScript faster.

01:17:14   And as to your question, Casey, when do you realize JavaScript is for real?

01:17:19   I think everyone realizes we're stuck with it.

01:17:21   except for maybe Google is trying to make Dart,

01:17:23   like it's in web browsers everywhere.

01:17:26   And so that's why we're like,

01:17:27   well, we're just gonna have to make it faster.

01:17:28   And we're trying to make JavaScript better,

01:17:30   but that's such a slow process.

01:17:31   You have to wait for all the web browsers to turn over

01:17:33   and to get a new version of ECMAScript approved.

01:17:35   And it's just such a long timeline.

01:17:37   It's like, JavaScript is what we've got.

01:17:39   Is it for real?

01:17:41   Well, it's what we're stuck with.

01:17:42   And so we're just gonna do what we can to make it fast.

01:17:44   And I think everybody who is

01:17:47   into dynamic programming languages,

01:17:49   pick your favorite PHP, Perl, Python, Ruby.

01:17:53   We all wish that we had the engineering resources

01:17:56   put towards our favorite language to make it fast

01:17:58   because it suffers from all the same hard to optimize bits

01:18:00   about, you know, type list variables or dynamic types

01:18:03   or things that could be faster.

01:18:05   It's like, man, can you imagine how fast Python would run

01:18:09   if it had this amount of engineering resources thrown at it

01:18:12   or Ruby or Perl or I mean,

01:18:13   PHP is kind of getting a similar amount of resources

01:18:16   thrown at it by at least by one company.

01:18:17   So it's interesting, not so much because it's novel,

01:18:21   but just because you get to see Apple

01:18:23   doing what it does best, which is great engineering.

01:18:25   The WebKit team is very skilled.

01:18:27   And yes, they're doing something similar

01:18:29   to what other people have done,

01:18:30   but in a slightly different way.

01:18:31   And it's smart of them to leverage the compiler

01:18:34   that they've sort of brought up

01:18:35   to be a world-class compiler, which is, it's open source.

01:18:39   Other people could have used LLVM as well.

01:18:40   And I think I saw a lot of people poo-pooing LLVM saying,

01:18:43   "Well, it's too slow.

01:18:44   "You can't use that for a just-in-time compiler."

01:18:45   No, you can't.

01:18:46   have to save it for the bits that you really know are going to be running quickly and you

01:18:49   have to be able to swap them in.

01:18:50   And they did some clever changes to LLVM itself to make this happen, which is nice when you're

01:18:55   kind of steering the LLVM project as well.

01:18:57   So I think I tweeted, I don't know whether to give a standing ovation or weep.

01:19:03   And the standing ovation would be, good job, guys.

01:19:05   This is great engineering.

01:19:06   You know, it's interesting.

01:19:08   Great blog post about it.

01:19:09   Thumbs up.

01:19:11   You know, I like JavaScript being faster.

01:19:12   weep to say, "You guys have got to go through heroic measures to make JavaScript fast."

01:19:17   And why?

01:19:18   Because it's the language we're all stuck with.

01:19:20   So I guess I've turned a new leaf in my appreciation for JavaScript because it, in so many ways,

01:19:28   it really is a terrible, terrible language.

01:19:30   And I forget the name of the—oh, Gary Barnhart did a great, like, literally two or three

01:19:36   minute video about how JavaScript and Ruby are really kind of wonky and we'll put a link

01:19:43   in the show notes.

01:19:45   But be that as it may, I feel like JavaScript, like it or not, whether or not it's academically

01:19:53   a good language, it is, just like you said John, it's here.

01:19:57   And this is the real deal and this is what we're using for certain things at certain

01:20:04   times.

01:20:05   come back to I've started to write a lot or do a lot more DOM manipulation my day

01:20:11   job with JavaScript and jQuery and the things you can get done are really

01:20:16   really impressive with not that much code. I wrote not a lot of code to get my

01:20:20   blogging engine going. Now granted I stood on the work of many other people

01:20:24   in a lot of code that they wrote but I didn't write that much and I feel like

01:20:29   in this the same guy Gary Barnhart did a really great talk about the birth and

01:20:32   death of JavaScript we'll put that in the show notes this one is about half an

01:20:35   hour, but it's worth it. And really, I agree that JavaScript is academically

01:20:41   just a terrible language in so many ways, but at what point do we realize, you know

01:20:47   what, it's good enough. And to me, I don't see why it's that terribly different

01:20:54   than PHP, which in some ways is far superior academically, but really in the

01:21:01   same boat. It's kind of slow, or slow enough that you need

01:21:05   HHVM to make it quick. So Marco, I'm trolling, but I'm also honestly

01:21:09   asking you, how do you feel like PHP and JavaScript are not

01:21:13   very similar? Why do you like PHP so much?

01:21:17   No, why do you like PHP so much? I'm not talking about the particulars of the language. Why do you like PHP so much

01:21:21   and why do you snicker so much at JavaScript? PHP is actually

01:21:25   a pretty C-like language. There's a lot

01:21:29   that I like about it that is because it resembles the way C works.

01:21:33   And not at the low level of course, but conceptually, syntactically,

01:21:37   a lot of the direct mappings to C libraries that are available

01:21:41   within it, stuff like that. I like that about it.

01:21:45   I like that it's everywhere. It is way faster than JavaScript.

01:21:49   Even like five years ago it was way faster than JavaScript. Like even before

01:21:53   HHVM, just inherently it is

01:21:57   possible to make way faster I think. I don't know if I'm about to say that for sure but it at least

01:22:01   always has been way faster and I'm like no one has ever really complained that oh my god the PHP on my

01:22:07   server is too slow except Facebook only because they have a billion servers so it actually matters

01:22:12   for them but PHP in general is has always been very fast there's lots of other problems with it

01:22:17   but but performance has never been one of them and you know obviously it's not as fast as like C or

01:22:23   a really fancy compiler like the way HVN can make it super optimized and just

01:22:29   compile it and everything but it's still really fast for what it is. So I don't

01:22:34   see a whole lot of parallels here honestly except that they're both

01:22:38   academically bad languages that we are stuck with by ubiquity. That's a very

01:22:43   good point. Or by familiarity you know like I still like I don't like JavaScript

01:22:47   to me I I still don't look forward to having to use JavaScript to do anything

01:22:52   I try to avoid it where possible. Even on the web, I will use it sparingly.

01:22:58   And I certainly have never been tempted by Node because of the language that it is.

01:23:04   I like the idea of Node, of its structure and its event-driven system.

01:23:10   I don't like the JavaScript language at all. And so that's why I've never been tempted by it.

01:23:15   Can I try to tempt you for a moment?

01:23:17   Yeah, sure.

01:23:18   So the temptation that should get you into JavaScript is that it lets you run your code

01:23:24   on other people's computers instead of your servers, and it lets you make your servers

01:23:28   act more like boring transaction processors that send and receive JSON in response to

01:23:32   like RESTful requests.

01:23:35   And it's kind of refreshing, as someone who's sort of gone from the server-side programming

01:23:38   to the client-side programming throughout the history of the web, to suddenly be able

01:23:42   to run all your crap on someone else's computer, because their computer is way faster than

01:23:47   the proportion of your server that they're going to get, right?

01:23:50   They're not going to get your entire server, they're going to get one eight-thousandth

01:23:53   of it, depending on how many people are hitting it.

01:23:56   And there's a lot of freedom in that.

01:23:57   And then it lets you write your server in a more sort of structured, boring way, where

01:24:03   it is just like, you end up just writing an API.

01:24:07   It doesn't make the language any better, but it is kind of an interesting change.

01:24:11   If you think of web development as, "Oh, I have to write things on the server that spit

01:24:14   out HTML to my clients with a little bit of JavaScript, and changing it to "I send my

01:24:19   clients something once and they run a persistent JavaScript application that talks to my server

01:24:23   through API endpoints that just talk in data."

01:24:26   That is a refreshing change for web development.

01:24:29   It may make you think on it less harshly.

01:24:32   I mean, that's certainly interesting, and there are some benefits to that by all means.

01:24:38   I'm not denying that at all, especially with modern browser support for things like pushing

01:24:43   onto the URL bars without actually making a request so that you can take over the back

01:24:48   button and kind of simulate a hierarchy without actually causing page reloads, stuff like

01:24:52   that.

01:24:53   There are a lot of benefits to that, to a lot of different application types, but I

01:24:56   hardly write web applications anymore.

01:24:58   I hardly have a rhythm to begin with and usually I write web backends and then I started writing

01:25:04   iOS frontends.

01:25:06   And my web applications have always been like, I'll do the minimum required to get the job

01:25:11   done. But as I mentioned in the past, like I'm really not, I'm not into it. Like I'm

01:25:17   not driven to make an amazing web front end for anything. I don't care.

01:25:23   If you ever needed one, though, since you have to write the backends to talk to your

01:25:26   iOS app, you've already got a back end that's ready for your JavaScript app to talk to like

01:25:30   you wouldn't have to you wouldn't have to, you know, duplicate that code and like having

01:25:34   direct queries from your PHP to your database that does the same thing with the API endpoint,

01:25:38   If you do it once for your iOS app,

01:25:40   you could use that same back end if you've done a good job

01:25:42   to do your web front end as well.

01:25:44   And that would save you some time.

01:25:46   - Right, and one of the things I like,

01:25:48   like in Overcast, I'm actually using a CDN

01:25:53   for part of the API as a way to,

01:25:56   and I'm thinking about what API requests

01:25:58   can be cacheable at the CDN layer.

01:26:01   So it's another layer of caching that is

01:26:03   both faster for clients to access

01:26:05   and doesn't involve many hits to my server.

01:26:08   And so that'll make scaling a lot easier

01:26:10   because not every single request will hit me.

01:26:13   And so if I'm looking at it from a JavaScript perspective,

01:26:17   that could be useful there too.

01:26:18   If I can pull feed or episode data off of the CDN,

01:26:23   'cause a feed, no matter who's looking at it,

01:26:25   has the same episodes in it,

01:26:27   which might have different progress,

01:26:29   different settings, stuff like that,

01:26:31   but the episode list itself is shared data.

01:26:36   So there's cool things I could do with that,

01:26:38   but I don't see myself putting that much effort

01:26:42   into the web side of things.

01:26:43   So I'm a bad example to even be asking this question to,

01:26:46   but I don't know, I see this whole thing

01:26:49   with JavaScript optimization is a really technically

01:26:54   interesting progress and solution to a problem

01:26:58   I just don't care about and that I don't really

01:27:00   personally have very often.

01:27:02   I don't even use very many heavy JavaScript web apps.

01:27:06   I use Google Maps on the web, but that's it.

01:27:08   Like I don't use Gmail,

01:27:09   I don't use a whole lot of like crazy web stuff like that.

01:27:12   So I don't even, this will benefit a lot of people,

01:27:15   but not me.

01:27:16   - It will definitely benefit you,

01:27:17   because the bottleneck on mobile clients still

01:27:21   is JavaScript execution speed.

01:27:23   You don't think it is,

01:27:24   you think, oh, this page is loading slowly,

01:27:26   but JavaScript, there's tons of it everywhere.

01:27:28   And the speed of JavaScript execution on mobile phones

01:27:31   is still a limiting factor.

01:27:33   I mean, just compare the render times on desktop

01:27:35   versus, you know, it's not like over the same connection,

01:27:37   desktop versus mobile, yeah, phones are getting faster,

01:27:40   but JavaScript is not, you know,

01:27:42   it's difficult to optimize.

01:27:43   Look at all these things they're doing to optimize it.

01:27:45   So you'll benefit from it as a user

01:27:46   more than a developer perhaps.

01:27:48   You know, if they do a good job, it should,

01:27:51   again, not in web views probably,

01:27:52   'cause we assume this is all gonna only be in Safari,

01:27:54   but hey, at least in mobile Safari,

01:27:56   things will get a little bit faster.

01:27:58   Like in some respects, what Apple is doing here

01:28:00   is just the cost of being in the web browser business.

01:28:02   If you want to be in this business,

01:28:04   which is we make a web rendering engine

01:28:06   and Apple does want to and should be in it,

01:28:08   you've got to keep up with the Joneses

01:28:09   and competition is good and everyone's getting faster

01:28:12   along the same rate.

01:28:13   So I think you will benefit from it.

01:28:17   And if you don't think you will,

01:28:18   try loading the same webpage,

01:28:20   pick one of these web pages that you think

01:28:21   doesn't use any JavaScript to speak of,

01:28:23   load it in a web view,

01:28:24   which presumably run without the optimizations

01:28:26   and then load it in mobile Safari and just time it

01:28:28   and see which one takes longer

01:28:29   before you can interact with the page before it renders.

01:28:32   I think you'll be able to measure the difference

01:28:33   with a stopwatch.

01:28:34   Now, Jon, out of curiosity, I didn't

01:28:37   think you did very much front end development at your day job.

01:28:42   So what is the stack that you're using?

01:28:44   Are you using Angular or something like that?

01:28:46   I know you're using--

01:28:47   A full stack developer, Casey.

01:28:49   Didn't we do this?

01:28:49   That's what they call it in the resumes.

01:28:52   We need a full stack developer.

01:28:53   Anyway, web development, as I've said--

01:28:56   Ninja Rockstar.

01:28:57   As I've said in the past, yeah, right.

01:28:59   Being in web development means you-- in most places,

01:29:03   They don't have these regimented roles where you are a backend and you are a frontend.

01:29:08   You end up having to learn everything, the full stack.

01:29:12   It's not a ridiculous term to say "full stack developer."

01:29:15   I've used a lot of different frameworks.

01:29:17   The thing about JavaScript that people love and hate is that the framework that's popular

01:29:21   now will not be popular in 18 months.

01:29:23   It's a lot of churn.

01:29:24   There's a lot of the Cambrian explosion of different species, and we're hoping there's

01:29:30   some sort of consolidation, but it never seems to come.

01:29:32   So it is a young and vibrant community.

01:29:35   And yeah, I've tried a lot of the ones that are out there.

01:29:38   At a certain point, each project has to commit to one library or framework or a set of them,

01:29:43   and then you use them for a long period of time, and then the next thing you do will

01:29:46   go through the same process and you'll make different choices, including new things that

01:29:50   didn't exist when you made the first choice.

01:29:52   So what's the flavor of the month over at where you work?

01:29:55   Well, I mean, jQuery seems to have more or less won out over the alternatives.

01:30:00   The alternatives are still out there and people still like them, so it hasn't totally squashed

01:30:03   them, but jQuery is fairly dominant in the realm of "let me manipulate the DOM without

01:30:07   crying," that category of thing.

01:30:11   Underscore and Backbone, I'm not saying they have their individual markets sewn up, but

01:30:16   they seem to be pretty popular these days.

01:30:17   I don't even know what those are.

01:30:20   Yeah, well, so that's why you hate JavaScript so much.

01:30:23   They take away some of the pain.

01:30:25   Like in the same—you know what jQuery is, right?

01:30:27   So jQuery—

01:30:28   Yeah.

01:30:29   Although I've hardly used it, honestly.

01:30:30   jQuery very little, because I just haven't needed to.

01:30:33   Most of my DOM stuff is simple, and I just

01:30:36   use the DOM straight for it.

01:30:38   Yeah, so using the DOM straight used to be a nightmare,

01:30:40   because of IE, right?

01:30:41   And maybe you missed those days, but like--

01:30:43   Oh, I just never cared about supporting it.

01:30:44   Yeah, part of the big selling point initially of jQuery

01:30:47   is, oh, god, thank god I don't have to do the 8,000 things I

01:30:49   have to do to manipulate the DOM directly,

01:30:51   because the APIs were just so incredibly different,

01:30:53   semantically, and different function names and everything.

01:30:55   It's like, I need something to paper over that.

01:30:58   And these days, the DOM APIs are more or less the same

01:31:03   on all popular browsers.

01:31:04   You still don't want to use them directly

01:31:06   'cause you want to do stuff like use CSS selectors

01:31:08   to select elements and you're relying on jQuery

01:31:09   to do something that's fast.

01:31:11   It's kind of like using a database where you're like,

01:31:12   oh, I can just type arbitrary CSS selectors into jQuery

01:31:15   and I'll get the elements that I want

01:31:16   and my problems are all solved.

01:31:18   And that's like the honeymoon period of jQuery.

01:31:20   Do you realize, like the query planner

01:31:22   that makes poor life choices,

01:31:23   you say, I'm assuming right now it will do,

01:31:26   get elements by class name, which is native,

01:31:27   And then I assume after it does that, it will do it.

01:31:29   No, it is not.

01:31:31   The query optimizer in jQuery, again,

01:31:32   it has to do the same trade-off.

01:31:34   Trade-off between start doing what you asked me to do

01:31:36   right now or spend some time thinking about

01:31:38   what you asked me to do.

01:31:39   Come up with a really awesome plan and execute that.

01:31:41   And so like in a database, you have to learn,

01:31:44   well, you can write this expression in jQuery,

01:31:46   but your code will be 10 times faster

01:31:47   if you split it up into two jQuery selectors,

01:31:50   or if you use native DOM to get these elements

01:31:52   and then use jQuery on them.

01:31:53   And anyway, I think I've lost my thread.

01:31:56   and wondering and discussion of jQuery.

01:31:58   The question was, what is your framework or frameworks

01:32:01   du jour at the moment?

01:32:02   You had mentioned underscore and jQuery and one other one

01:32:07   that is--

01:32:07   Backbone for-- I don't know.

01:32:09   What else are we using that's--

01:32:11   Wait, are we talking about David Smith

01:32:12   or a different underscore?

01:32:13   [LAUGHTER]

01:32:14   It's a different underscore, yeah.

01:32:15   I'm surprised people don't make that joke anymore often.

01:32:17   Maybe different circles.

01:32:19   And the other thing is, how do you modularize JavaScript?

01:32:23   Because the JavaScript designers were kind enough

01:32:25   not to include namespaces, just like some other language we are all familiar with.

01:32:28   >> Yep. >> And so the various conventions for

01:32:33   defining JavaScript modules, which are standardized into AMD modules. I don't know if that's an ECMA

01:32:37   thing or not. But anyway, there's RequireJS, which is AMD-like modules, and there's Node's module

01:32:43   system, which actually is AMD, I believe, and then they're half compatible with shims. And

01:32:47   this whole practice of how do I write a JavaScript application, because you're not going to write

01:32:52   write your JavaScript application by writing a big long single .js file from top to bottom,

01:32:56   right? That's not PHP we're talking about here. You're gonna do it in modules and how

01:33:01   do the modules require each other and integrate with each other and stay out of each other's

01:33:06   namespaces and then, you know, that's, I mean, Casey's familiar with it because he's done

01:33:10   a little bit of the Node stuff, but that's what modern JavaScript looks like these days

01:33:14   and it's not great, but you can, every part of it, if you squint at it, you're like, "Yeah,

01:33:18   I can kind of see why if you're going to write a serious application you need something that

01:33:21   does this, and you need something that does that, and if you're going to manipulate the DOM, it would

01:33:24   be nice to have something like jQuery that can paper over some of the weird things for you and

01:33:27   provide some conveniences. And if you want to go really insane, you can talk about what's the

01:33:32   meteor thing that lets you query the database directly from JavaScript, which seems like a

01:33:38   terrible idea to me. But anyway, there's lots of interesting things out there. Ember and Angular

01:33:43   are the cool things that I've only vaguely looked at if not used to do anything serious. So maybe

01:33:49   be Casey can write his next blogging engine using one of those and tell us how it is.

01:33:53   A couple of coworkers using Angular and have very good things to say about it. I'd like

01:33:56   to check out React, both React and JavaScript and reactive Cocoa, but I haven't had the

01:34:03   time. And shoot, oh, I was going to say the other reason that JavaScript is really appealing

01:34:07   to me, which will mean nothing to Marco, is that in my day job I tend to work on top of

01:34:15   content management systems. Things like SharePoint, although not always SharePoint, and a recent project we did,

01:34:20   we did it using this

01:34:23   really not awesome cloud-based

01:34:26   content management system where we had not a lot of control over what the CMS was doing.

01:34:32   And so content management system, if you're not familiar, basically means it's easy for a regular

01:34:36   shmo to go in and add and edit the things that are on the website.

01:34:40   So in our case, we had this cloud-based CMS that we really couldn't do all that much to,

01:34:45   And so what we ended up doing was basically just making an API to get data in and out of its database and then hitting that

01:34:53   with JavaScript, with jQuery, with Handlebars, which is a templating engine. And

01:34:58   in that situation was great because I

01:35:01   couldn't do a lot of the things that I would have otherwise chosen to do server-side.

01:35:06   So just like John was saying earlier, I pushed that to the client and it actually worked out really really well.

01:35:10   well. And that was the beginning of perhaps not my love affair with JavaScript, but that's

01:35:16   when I started to turn the corner from Marco's point of view of, "Oh, this is crap," to,

01:35:20   "You know what? This actually can be pretty good if you're using it for the right reasons."

01:35:25   That's another one I forgot to mention. Handlebars, Mustache, JavaScript templating systems, all

01:35:29   of which I think are terrible. But people are always looking for, speaking of Node, you

01:35:34   don't want to duplicate code on the client side and the server side. And if you write

01:35:37   any serious JavaScript application, you end up having to do that. It's like, "What if

01:35:41   we just use JavaScript on the server side, thus Node.js? Then we could use the same code

01:35:45   client-side and server-side, but we wouldn't have this duplication. And what if we had

01:35:49   ...?" And then I want to use the same templating system client-side and server-side, too. So

01:35:52   they came up with these terrible templating systems using multiple curly braces that I

01:35:55   hate because they're- Why do you hate them?

01:35:57   You know how many templating systems there have been in Perl? It's like 9,000. And we've

01:36:01   evolved way past, "This is my first template. I had no idea. Let's let you put variables."

01:36:07   and we don't want to have too much logic because that would mix code and templates.

01:36:10   So I'll make some kind of simple conditional, but no loops.

01:36:12   Okay, we'll have loops, but we'll only have a simple kind of loop.

01:36:16   But you'll still have to make a Boolean to check.

01:36:17   Or you just pass in a flag.

01:36:18   It's like, stop it.

01:36:19   We did this already.

01:36:20   We did this for two decades doing this.

01:36:22   Never mind.

01:36:24   They'll figure it out in ten years.

01:36:26   I think what drives me nuts about this, and what turns me off from learning a lot of this new web stack stuff,

01:36:32   is, like, when you're talking about,

01:36:36   like, I looked in the chat,

01:36:37   I've never heard of almost anything

01:36:38   that we're talking about.

01:36:39   Somebody pasted a link to React,

01:36:41   and so I looked at that for a second,

01:36:43   and like, React, when you look at React,

01:36:45   it is not JavaScript, it's React, it's its own thing.

01:36:49   Like, it--

01:36:49   - jQuery is kinda like that too.

01:36:51   - Exactly, jQuery is exactly like that,

01:36:53   where like, they add so much on top of the language,

01:36:56   and they replace so much built into functionality

01:36:58   with their own way of doing it,

01:37:00   that they become like a little sub-language of themselves.

01:37:04   Like the language, like--

01:37:06   - Well we haven't even started talking about

01:37:07   like CoffeeScript and--

01:37:09   - Yeah, CoffeeScript, TypeScript.

01:37:10   - Yeah, yeah. - Right.

01:37:11   And like if you, like if I were to invest

01:37:13   a whole bunch of my time learning quote, JavaScript,

01:37:17   well what does that include?

01:37:18   And you have all these like,

01:37:20   it seems like the web developers these days

01:37:22   are so happy to pile on pretty large frameworks

01:37:26   and components, pretty complex stuff

01:37:28   that replaces so much built-in stuff that like,

01:37:31   you're really a jQuery developer,

01:37:33   you're really a React developer,

01:37:34   you're really an X developer,

01:37:35   and the problem is that changes quickly over time,

01:37:39   and that fragments everything.

01:37:41   And so if I have a problem with something

01:37:43   in iOS development using Fx2C and the Cocoa frameworks,

01:37:48   everyone's using that, everyone's using the same thing,

01:37:51   and it doesn't change over years and years and years.

01:37:54   And so it's easy for me to both learn it,

01:37:58   to master it and to find answers to questions I have about it,

01:38:02   because everyone's working with the same base

01:38:05   and with the same API.

01:38:07   Whereas if you go into the web development world--

01:38:10   and CSS has the same problem with all the crazy stuff they have,

01:38:13   all the crazy frameworks they have going on with CSS,

01:38:15   with JavaScript, all this crazy stuff--

01:38:17   there are all these bolt-ons that all

01:38:19   want to be radically different and all

01:38:21   want to provide extremely rich functionality, where

01:38:24   you write three characters and you have a blogging engine.

01:38:27   and all this stuff, and that it just,

01:38:31   it piles on so many layers and layers and layers

01:38:34   that it all feels not only very brittle,

01:38:37   but you specialize your learning

01:38:39   to this one little set of what you have,

01:38:43   and you have to be constantly updating your knowledge

01:38:45   and throwing away expertise to keep up

01:38:47   with all the crazy new stuff that's always coming out

01:38:49   with there's gonna be a new JavaScript framework next week,

01:38:52   and after that, there's gonna be a new CSS compiler

01:38:55   or the month after that.

01:38:56   There's so many of these things,

01:38:58   and none of them are ever dominant.

01:39:00   jQuery is as dominant as any of them have ever become,

01:39:03   and that's even pretty old by today's standards.

01:39:05   And so you end up having such fragmented knowledge

01:39:10   that you end up being like a master in liquid markup

01:39:14   or whatever, one of these creative things,

01:39:15   and it's like, okay, well, the next year,

01:39:17   that's out of fashion, and you gotta relearn everything

01:39:18   from whatever's new then.

01:39:20   - It's not as bad as you make it out to be,

01:39:21   because jQuery is vastly more popular than Objective-C

01:39:25   in the grand scheme of things.

01:39:26   And it's like, what you end up doing is you pick

01:39:28   the technologies for your current project

01:39:31   and you use them for your project.

01:39:32   And your current project is I'm making an iOS app.

01:39:34   And yes, you're lucky that an iOS technology

01:39:36   has changed much more slowly than I do in JavaScript world,

01:39:38   but at a certain point you pick what you're gonna use.

01:39:39   Am I gonna use core data?

01:39:40   Am I gonna use auto layout or whatever?

01:39:42   And you may change your mind and evolve that product,

01:39:44   but when you go to your next product, you say,

01:39:45   oh, this one, I'm gonna use auto layout,

01:39:47   or I'm gonna use Arc where a previous one I didn't.

01:39:49   So it's a slow motion version of the same thing.

01:39:51   But in terms of like being able to find an answer,

01:39:54   believe me, you can find answers to your jQuery questions,

01:39:56   your backbone questions, your underscore questions.

01:39:59   There's enough popularity, because the total market size

01:40:02   of people who write web developers is so much bigger

01:40:04   than the size of people who write iOS apps,

01:40:06   you'll be able to find the answers.

01:40:07   But you're right, there is more turnover and less stability.

01:40:09   But the analogy I would use in terms of building

01:40:12   on top of things is, first you learn C.

01:40:16   That will really help you understand Objective-C,

01:40:18   because Objective-C is essentially a program written in C.

01:40:20   The Objective-C runtime, if you understand how C works,

01:40:22   then you can understand how the Objective-C runtime works,

01:40:24   then you understand this new syntax that is basically like CoffeeScript, but that lets

01:40:27   you run, you know, I write this crazy syntax with square brackets, and it calls these C

01:40:31   functions and there's a runtime, and the runtime is fairly small and understandable, and once

01:40:35   you understand it, like, that's the layering, and it's like, "Oh, now I'm not a C programmer,

01:40:39   I'm an objective C programmer."

01:40:41   You can go a bridge too far, I would say things that are like source filters, like CoffeeScript

01:40:44   and stuff, that maybe is taking it too far, and obviously you're not going to dive into

01:40:48   one of those expecting it to disappear, but at this point you're pretty sure Objective-C

01:40:51   C is not a flash in the pan for iOS development. And even though it's based on C and there's

01:40:56   a C runtime, if anything it's evolving into a direction where that may not necessarily

01:40:59   be the case if they can help it. But it's not much different than that. First you have

01:41:04   to learn the JavaScript language, because without that you'll be lost. In the same way

01:41:07   you have to learn C before you know Objective-C, at least these days anyway. And then you build

01:41:14   on top of that and pick a library and a framework and use it for an entire project to use it.

01:41:19   - I think AF networking is very popular in the iOS space.

01:41:22   So for example, are you using AF networking in Overcast?

01:41:25   - I'm using, the only part I'm using is the category

01:41:28   that lets you load images off the network,

01:41:32   because I just haven't had much of a reason

01:41:34   to rewrite that, but I actually,

01:41:36   the old AF networking before iOS 7 made a lot more sense.

01:41:40   It added a lot more value.

01:41:42   New AF networking with URL session stuff

01:41:45   is such a thin layer on top of it,

01:41:47   I actually don't think it's necessary for the most part.

01:41:50   And I wrote my own API layer wrapper around my API

01:41:55   so I could standardize things like

01:41:57   what different return values mean and stuff like that.

01:41:59   And so I write everything through that,

01:42:01   so it's a little bit different.

01:42:03   Again, I think there's tons of reasons to use

01:42:05   AP Networking, but I think if what it presented

01:42:08   was a vastly different interface,

01:42:10   like reactive cocoa is something that I don't know

01:42:13   a lot about, but I've seen a few things here and there

01:42:15   about it. And reactive cocoa is very, very different in from

01:42:22   from the way you'd regularly write stuff. And to me, like,

01:42:25   that's a big risk, because it's so different. And it's so

01:42:28   specialized. And so you know, that

01:42:31   is not from the platform vendor. Like I know, these were all

01:42:33   talking about third party things. But like to give an

01:42:35   example, something that's sort of from the platform vendor and

01:42:37   web parlance, it would be like local storage, where it's like,

01:42:40   if you're deploying a web application for people with

01:42:42   iPads, like hospital or something, right? And you know,

01:42:45   they're all going to have iPads, and Apple adds local storage to a mobile Safari, you

01:42:49   have more confidence in that than you do in like, "I'm going to build everything on Reactive

01:42:52   Cocoa," even though it's awesome, because what if the company that makes Reactive Cocoa

01:42:56   goes out of business, whereas you're not worried about Apple going out of business, because

01:42:58   if it does, you have bigger problems than WebKit local storage.

01:43:02   Right, and I don't want to pick on that. That was just the first thing I thought of. Maybe

01:43:06   this doesn't apply to them as much as I'm thinking, but generally, I don't add a lot

01:43:13   of third party code that requires dramatic changes

01:43:16   in everything I'm doing in something.

01:43:18   Like I try to add things that are small and thin,

01:43:21   like self-contained utility functions.

01:43:24   Like I added a thing called Lockbox,

01:43:25   which is an easy wrapper on the keychain APIs,

01:43:28   which are terrible.

01:43:29   So it's a perfect thing to have like CocoaPod installed,

01:43:33   just get me this nice little wrapper,

01:43:34   it's a couple of files around this terrible API

01:43:37   so I can use it simply, done and done.

01:43:39   - But see, the JavaScript guys are writing

01:43:41   these same things, but they've written them for you.

01:43:43   Like, they're essentially writing, you know,

01:43:46   they're essentially writing cocoa, right?

01:43:49   And so--

01:43:49   - Right, but they're writing a different cocoa

01:43:51   every six months.

01:43:52   - But, yeah, I know, but like,

01:43:53   but if you pick the ones that you wanna use,

01:43:54   again, there's different cocos for

01:43:55   how am I gonna do layouts,

01:43:57   springs and starts are a layout,

01:43:58   how am I gonna do my data,

01:43:59   core data, a bunch of plists, my own custom thing,

01:44:00   like there's always choices within the stack,

01:44:02   and Apple keeps adding new choices,

01:44:04   granted at a slower pace and with more definitive,

01:44:06   like this is officially supported

01:44:08   than the JavaScript community,

01:44:09   but it's not all that different.

01:44:11   And a lot of the things that you're writing yourself

01:44:13   to get like the keychain API,

01:44:14   if you're doing the JavaScript world,

01:44:16   some would have already written

01:44:17   several different wrappers for that

01:44:18   and you would have found a reasonable one

01:44:20   and you could have used,

01:44:21   like I think you'd be working at a higher level

01:44:24   in the JavaScript world.

01:44:25   It may be more confusing,

01:44:26   especially if you don't know which ones to pick or whatever,

01:44:29   but a lot of the work you're doing with FC model,

01:44:32   like there are equivalent JavaScript frameworks

01:44:35   that multiple ones of them that have already hashed out

01:44:37   and there have been one or two ones

01:44:39   that have sort of come out on top that you could use.

01:44:42   And you wouldn't have to do that.

01:44:43   And you'd be like, "Oh, I'll just use Backbone.

01:44:44   "I don't have to write FC model.

01:44:46   "It's already there for me," or whatever.

01:44:47   Maybe you wouldn't like it,

01:44:48   and maybe you'd write one yourself anyway.

01:44:50   But it's not that as different an experience

01:44:53   as you might think coming in from the outside.

01:44:56   It's just that I think you're more comfortable

01:44:57   doing the things you're doing in Objective-C,

01:45:00   because it seems like you have more of an idea

01:45:02   of like, "Apple is the firmament upon which I build,

01:45:05   "and they provide so much stuff already."

01:45:07   Like all those libraries, they're not third party,

01:45:10   they're first party.

01:45:11   Like the entire framework and everything there is from Apple

01:45:13   and you can trust it and when they add new stuff,

01:45:15   you can choose from it.

01:45:16   And then you just add a thin layer of third party stuff

01:45:18   on top of that.

01:45:20   - Right, 'cause and you know, like I,

01:45:21   that's what I prefer, like the strong, rich,

01:45:24   rich frameworked built-in platform

01:45:27   to like to the official language.

01:45:28   Like the Microsoft world is very much like this, right, Casey?

01:45:31   Like the .NET framework is very rich and full featured

01:45:35   And, you know, Casey, like how,

01:45:38   I mean, I haven't done Microsoft stuff ever professionally,

01:45:41   and even as a hobby, not for about 15 years,

01:45:44   but how much third party code do you end up having to add

01:45:50   to a typical .NET project?

01:45:52   - See, this is a very simple question

01:45:56   with kind of a complex answer,

01:45:58   but the short version is you don't really have

01:46:02   add anything, but there's a project called NuGet, N-U-G-E-T, that is approximately the

01:46:12   equivalent of NPM or CocoaPods.

01:46:16   And so because of that, it used to be that nobody ever used third-party anything because

01:46:20   it was impossible to add to the project.

01:46:23   But now with NuGet, it's just like CocoaPods, it's just like NPM, where you can just,

01:46:29   in the case of Microsoft, obviously, point and click your way into getting a package

01:46:33   added into your project. And because of that, what used to be a pain and kind of taboo is

01:46:40   now actually fairly popular. And you'll see a lot of projects that are like Underscore

01:46:49   in JavaScript or ReactiveCoco is probably not the best example, AF Networking is a better

01:46:54   example. So you'll see a lot of that, but that's a very new thing. And Microsoft actually

01:46:58   started bundling NuGet in with Visual Studio, which is a big deal because this was a third-party

01:47:04   thing that they decided to kind of unofficially yet officially bless as being the package

01:47:10   manager for .NET applications.

01:47:13   So years ago, you never saw third-party code used, or certainly not often.

01:47:17   Today, it happens relatively often.

01:47:21   That's having a good management system like CocoaPods or NPM or CPAN with Perl makes such

01:47:26   a difference in the experience of using a language. It's not surprising that Apple wasn't all gung

01:47:33   ho, let's give you guys a great way to add this. So the community had to come up with its own way

01:47:37   to do it, and it seems like CocoaPods is the popular one now. And having that really changes

01:47:44   the culture in terms of, it's not just a bunch of people sharing their projects, "Oh, if you want

01:47:48   AF Network, go to this GitHub page and you can get it." It's so much easier if there's a command

01:47:52   you can type and say, "Oh, now you've got it, now it's added to your project." And obviously,

01:47:56   Obviously doing that without Apple support is in itself risky and weird, and you never

01:48:00   know when Apple will do something that makes CocoaPods stop working or have to update stuff

01:48:04   when you would hope that Apple would do something.

01:48:06   Think of how easy it would be if Apple had a way to share, like, basically the equivalent

01:48:12   of CPAN in Perl or NPM even.

01:48:13   It was just a giant directory of third-party code in a particular format that you could

01:48:18   easily integrate with your Xcode projects and share between projects and do it like...

01:48:22   Developers would love that.

01:48:23   Apple would love it because Apple was saying, "What are you using AF networking for? That

01:48:26   shows there's a hole in our API. We're going to go back to the drawing board and come out

01:48:29   with the NS URL session." Or what is it called? NS...

01:48:32   Yeah, that's it. NS URL session, yeah. Anyway. And same thing

01:48:36   with all their file handling. Every time they would come up with an API, they should probably

01:48:39   just sit there in GitHub and look at all the third-party Cocoa things and see what people

01:48:44   are wrapping. Granted, it hasn't happened with Keychain yet, so sorry Marco. But see

01:48:49   the things that people are wrapping and then come back the next year at WRC and say, "Stop

01:48:53   those wrappers, we don't like that. We don't like it all our applications are using this

01:48:57   particular wrapper. We don't like when all our applications are built on PowerPlant to go way

01:49:03   back in time and talk about a dark time that both of you missed. That's a bad situation to be in,

01:49:07   and now Apple is totally crazed about avoiding that in the future. So I don't know if it's a

01:49:13   healthy dynamic, but I'm glad something like CocoaPods exists, and I wish it was even better

01:49:18   than it is. Yeah, and I think in the end of the day, what we're running against, and Marco,

01:49:22   Marco, you and I went back and forth about this on an episode or two ago, is that you

01:49:27   tend to have this just deep-rooted need for control over almost everything.

01:49:34   And so that makes you reticent, I think, to use some of this third-party code.

01:49:39   It makes you reticent to use Heroku, where you would rather just roll your own VPS.

01:49:45   And so I think this is another reflection of that, that you want to control everything.

01:49:50   And I think that is both your greatest strength

01:49:52   and your biggest weakness all at once.

01:49:54   - Well, certainly there's like,

01:49:57   there are some weaknesses,

01:49:57   there are some downsides to that, no question.

01:50:00   And I do, I am overly controlling in some ways.

01:50:03   However, a lot of that comes from

01:50:05   having gotten burned in the past.

01:50:07   - Sure.

01:50:08   - And like that's what, like, you know,

01:50:09   people as they get older tend to get more conservative

01:50:12   with choices that they make because they are,

01:50:14   you know, they're fighting the last battle.

01:50:16   Like they're trying not to repeat bad things

01:50:19   that have happened to them in the past, even to a fault.

01:50:22   And so I try to avoid third party code

01:50:25   because I've relied on so much bad third party code before

01:50:29   that I've had to replace or rewrite under pressure

01:50:32   because it stopped working or it broke

01:50:35   or it had some major shortcoming

01:50:38   that I didn't hit until a certain point

01:50:40   and then oh crap, this is really bad

01:50:43   and the server's down as a result and stuff like that.

01:50:46   Or oh yeah, this doesn't support this many users anymore

01:50:48   and stuff like that.

01:50:49   just little, you know, just stuff that, you know,

01:50:53   it has caused small and large problems in the past.

01:50:57   And I also try to get by with as little code as I can.

01:51:00   You know, I try to not have thousands and thousands

01:51:05   of lines of third party includes in my files

01:51:09   if I only need like one function.

01:51:10   That's why like I'm trying to remove AF networking

01:51:12   from my project because I'm only using it

01:51:16   for that one small thing now.

01:51:17   And as soon as I can write my own thing

01:51:20   or even just pull those files out and just use those,

01:51:22   I'll do that, it just hasn't been worth the time yet.

01:51:24   But it's so easy and so common to get burned by this stuff

01:51:28   that that's why I'm so conservative.

01:51:31   And from, a lot of it's also from a laziness angle,

01:51:34   like when it comes to learning a new language

01:51:37   or learning a new platform or learning a new library,

01:51:39   I don't want my knowledge to be out of date in six months.

01:51:42   And so that's why I look at the web language landscape

01:51:46   And it's so easy now.

01:51:50   There's so many people who make new frameworks

01:51:52   and new tools and new compilers and new languages

01:51:54   and new libraries on top of everything else.

01:51:56   Like there's gonna be a new everything every six months.

01:51:59   And all the cool kids are gonna switch to it

01:52:02   and then switch to the next thing right after that.

01:52:04   And so if I take that six months to learn something

01:52:07   and to really get involved and to become an expert in it,

01:52:10   which takes longer than six months usually,

01:52:13   but if I invest a whole bunch of my time

01:52:15   to become an expert in something that goes out of fashion

01:52:18   soon after I become an expert in it, that sucks.

01:52:20   That's a lot of wasted time and effort,

01:52:22   and I don't want to spend all of my time gaining expertise

01:52:25   in constantly new things.

01:52:28   I want to spend my time applying that expertise

01:52:30   to build stuff.

01:52:31   That's where I get more satisfaction,

01:52:33   and a lot of programmers aren't like that.

01:52:36   A lot of programmers get more satisfaction

01:52:38   out of learning the new stuff, and that's fine,

01:52:40   but that's not me.

01:52:41   And so it's much more important to me

01:52:43   to master a small number of things

01:52:47   and then use that knowledge to produce stuff

01:52:49   that is satisfying to me.

01:52:52   - So you don't want your knowledge

01:52:54   to be out of date in six months?

01:52:56   Is that what you just said?

01:52:57   - Yeah, that's right.

01:52:58   - Well, you better get the hell off PHP

01:53:00   'cause that shit's older than hell.

01:53:02   - Thanks a lot to our three sponsors this week,

01:53:04   lynda.com, PDF Pen Scan Plus, and Backblaze.

01:53:09   And we will see you next week.

01:53:12   And now the show is over, they didn't even mean to begin

01:53:18   Cause it was accidental, accidental, accidental

01:53:24   John didn't do any research, Marco and Casey wouldn't let him

01:53:29   Cause it was accidental, accidental, accidental

01:53:35   And you can find the show notes at ATP.fm

01:53:41   And if you're into Twitter, you can follow them

01:53:46   S-C-A-S-O-Y-M-I-S-S-K-C-U-S-M-A-R-C-O-A-R-M

01:53:55   N-T-O-O-M-N-T-M-A-R-C-O-A-M-E-T

01:53:58   S-I-R-A-C-U-S-A-C-O-R-Q-S-O

01:54:04   ♪ I said I don't, I said I don't ♪

01:54:07   ♪ Can you handle me like a child ♪

01:54:09   ♪ I said I don't, I said I don't ♪

01:54:12   ♪ Take my cares, take me so long ♪

01:54:17   - Hey, we went long, but that felt good.

01:54:19   I really didn't want to stop.

01:54:20   In fact, I kind of wanted to keep going on this conversation,

01:54:21   which is probably for the best that we killed it.

01:54:23   - Yeah, 'cause I mean, there's so much to say on it,

01:54:25   you know, 'cause it's,

01:54:27   and this isn't even the first time

01:54:28   we've had this conversation.

01:54:29   - Yeah, yeah, yeah.

01:54:30   - But there's always more to say, you know?

01:54:32   topic is Marco's developer therapy. Trying to work through his issues as a developer

01:54:37   and trying to make sure that everything he's doing is the right thing.

01:54:41   Yeah, you know, and the only point I wanted to bring up, so now we're starting it again,

01:54:44   it's my fault, but I wonder if part of the reason you're so against using third-party

01:54:48   code is because so much of the PHP third-party code is crap.

01:54:52   I'm sure that's a big part of it. By far, like, the objective C code that I've used

01:54:57   from third parties has been way better

01:55:00   than any third party PHP code I've ever seen from anybody.

01:55:04   From Zend all the way down.

01:55:06   The PHP code that I've seen third party is awful.

01:55:10   Now granted, because of that,

01:55:13   I haven't looked at third party PHP code

01:55:14   in probably three years or so for the most part.

01:55:19   So I miss the whole Composer revolution that's happened

01:55:22   since Composer is like a new package manager for PHP

01:55:25   that everyone loves and I miss that whole revolution.

01:55:27   So maybe it's better now, but it was so terrible

01:55:30   for so long, I'm not willing to try it again.

01:55:34   And my PHP needs are pretty small.

01:55:37   I have my own framework that I've written

01:55:39   over the last eight years or whatever.

01:55:41   It's great, it works for me, it's fantastic.

01:55:43   I'll open source it eventually.

01:55:45   In fact, I even bought a .plumbing domain for it

01:55:50   because I figured that it is plumbing,

01:55:54   so that makes sense, and there were no other

01:55:55   ones available. PHP works for me the way I do it, but one of the reasons why I have an

01:56:02   open source framework in the last eight years yet is because I don't think anyone cares

01:56:08   except me. Everyone has their own way of doing PHP and that's fine. There's the whole

01:56:12   community of pro PHP people that I not only am not a part of but never want to be a part

01:56:18   of and have never wanted to even pay attention to because it's so different from the way

01:56:21   way I do things with the language. Whereas with Objective-C, I care a lot about the way

01:56:26   the community does that. I write my Objective-C code with the goal of it looking like Apple

01:56:32   code and with the APIs looking like Apple APIs. And to the standards, the third parties

01:56:39   consider best practices. I want to be part of the good, elite Objective-C community,

01:56:46   or at least pay very close attention to it if I can't be a part of it. Whereas PHP has

01:56:50   has been so awful I've never even wanted to be a part of that community.

01:56:53   It's hard for me to reconcile you, I don't know if slandering is the right word, but

01:56:58   you being very dismissive of the community, yet being, and sometimes, often even the language,

01:57:05   and yet being such a repeat customer, for lack of a better way of phrasing it, of this

01:57:11   language.

01:57:12   Like, I don't love the Microsoft community, but man do I love the language.

01:57:19   I really do love C#, and it is really, really, really good.

01:57:23   It's got problems, but it's really, really good.

01:57:27   And it would be really crummy, I think, for me to use a language that I don't respect

01:57:36   that much.

01:57:37   I'm not trying to put words in your mouth, but a language I don't respect in a community

01:57:41   I don't care about and make my living off of that.

01:57:44   And if it works for you, which it clearly does, there's nothing wrong with that.

01:57:47   It's just, man, that's so different than what I would want.

01:57:50   - Well, but again, it's like, I don't care as much

01:57:52   about the website of things.

01:57:53   I care about the client side of things a lot.

01:57:55   And so, you know, if it was flipped,

01:57:57   if I was very unhappy and critical of the community

01:58:01   and not caring about quality relative

01:58:04   to what other people think about it,

01:58:06   on the client side, where I really care,

01:58:09   that would be discouraging, at least.

01:58:14   But because I just don't care about the website,

01:58:17   Like the reason I use PHP still,

01:58:19   and I keep using the same framework

01:58:21   that I keep modifying over time,

01:58:23   but it's still basically the same thing.

01:58:26   The reason I keep doing that is because it allows me

01:58:30   to get done with the website quickly

01:58:33   in a way that I know will work, that will scale,

01:58:36   and that will be cheap to run and easy to run.

01:58:39   That's why I do it.

01:58:40   And I do respect the language for a lot of those things.

01:58:44   And there's a reason why,

01:58:45   Like the biggest reason why I haven't learned

01:58:48   a new language on the website anytime recently

01:58:51   is because they haven't really been motivating me to.

01:58:53   Like there has been no language

01:58:55   that I've been very tempted to learn on the website.

01:59:00   The advantages they offer just don't get me.

01:59:04   Like they don't motivate me to go through

01:59:05   the massive cost of switching.

01:59:07   So like I'm, 'cause I have to keep in mind

01:59:10   like with Overcast the last thing I wanna be doing

01:59:14   is if I launch this thing, if it gets popular,

01:59:16   the last thing I wanna be doing is having to mess

01:59:19   with the server for days and weeks on end

01:59:20   to just get it optimized, get it to scale.

01:59:23   I just can't possibly, that would crush my spirit

01:59:28   if I had to spend a lot of time doing that.

01:59:31   If I stick with what I know on that side of things,

01:59:34   I know I'll have to do very little.

01:59:35   - Do we wanna do titles?

01:59:39   - We probably should do titles.

01:59:41   - It is self-serving, I do think the year of Casey

01:59:42   adorable but I think F This Language is probably my second favorite although a

01:59:47   little on the risque side. I think I'd go Year of Casey. The Year of Casey is

01:59:52   a better title than F This Language. It's also the clear winner by a

01:59:56   long shot. That's true we haven't had a, well, accepting some stupid title like a

02:00:00   Syracuse County title which we'll never use, we haven't had this clear winner in

02:00:05   a long time. It's all the more unfortunate that you two both didn't get the

02:00:08   reference and made me explain it. Someday, John, someday we will get a reference

02:00:12   The sad thing is John and I were having a conversation in the Google Doc and I wrote

02:00:19   in it.

02:00:20   Sounds exciting.

02:00:21   Yeah, it was pretty bad.

02:00:22   Yeah, speaking of ways to different mediums for communication, please note that the Google

02:00:26   Doc is instant message, Casey.

02:00:27   This is a hybrid of your discussion on IRL Talk.

02:00:30   I know, I know.

02:00:32   But yeah, so we were kind of typing back and forth very briefly and I wrote, "You're killing

02:00:36   me Smalls and I felt compelled to indicate that I knew that was Sandlot by putting Sandlot.

02:00:43   But you were making the reference.

02:00:44   You don't have to show me that you know your own references.

02:00:46   I wanted you to know that it wasn't just something I've heard somewhere, that I knew where it

02:00:51   was from.

02:00:52   Alright, have you seen the movie?

02:00:53   Yeah, and I didn't like it.

02:00:54   Yeah, okay, well I've seen it too.

02:00:55   Also didn't like it, but I got the reference.

02:00:55   I've seen it too. Also didn't like it, but I got the reference.

02:00:57   [BLANK_AUDIO]