The Year Of Casey

Episode 65 • Released May 18, 2014 • Speakers detected

Episode 65 artwork
00:00:00 John: What do you keep saying?
00:00:01 John: You'll be at what?
00:00:02 Casey: Prom.
00:00:03 John: I don't know what that is.
00:00:03 John: I don't know how to spell what you're saying.
00:00:05 Casey: P-R-O-M.
00:00:05 Casey: High school prom.
00:00:07 John: Oh, you're one of those people who leaves off the the.
00:00:09 John: Probably Marco does, too, because he's from Ohio.
00:00:11 John: Yeah, there was never a the.
00:00:12 Casey: Yeah, there's never a the.
00:00:13 John: Yeah, where I'm from, there's a the in front of it.
00:00:15 Casey: You're going to the prom?
00:00:17 John: Yep.
00:00:17 Casey: That's the dumbest thing I've ever heard.
00:00:19 John: No, the rest of the country is dumb.
00:00:20 John: New York is right, as always.
00:00:23 Casey: You're the worst.
00:00:25 John: We also don't put mustard on our hamburgers, and that's right!
00:00:28 Casey: Say that again.
00:00:29 Casey: You don't put mustard on the hamburgers?
00:00:30 John: No.
00:00:31 John: McDonald's does not put mustard on its hamburgers in the New York metro area.
00:00:35 John: Interesting.
00:00:36 John: I didn't know they did it in the rest of the country until I went to Boston and asked for a hamburger from McDonald's that had mustard on it.
00:00:41 John: I said, what the hell's going on?
00:00:43 Marco: So what's going on this week?
00:00:46 Casey: Well, let's start with Overcast.
00:00:49 Casey: Something happened over the last few days.
00:00:51 Marco: Yeah, I shipped the Overcast beta, and it's been really awesome, actually.
00:00:55 Marco: I've been extremely impressed and happy and just overwhelmed and humbled by the amount of feedback I've gotten from the beta.
00:01:03 Marco: The beta went out to about 30 or so people, and...
00:01:08 Casey: And let me interrupt you right there.
00:01:09 Casey: You are not currently seeking any more testers.
00:01:11 Casey: Is that correct?
00:01:12 Marco: That's right.
00:01:12 Marco: Well, I'm running low on UDIs because the problem is like, you know, you have these 30 people, you know, that's plus my own device.
00:01:19 Marco: That's about 40 devices.
00:01:21 Marco: You only get 100 per year.
00:01:23 Marco: and i have to realize also like in the fall half these people are gonna get new phones so if i want to have them keep testing i'm gonna have to overlap for a little while like and you know your your device limit resets like on on some calendar anniversary of your developer account or something and so and i don't i don't even know when i think it's that's like in july for me or something so it's sometimes not ideal for the iphone release cycle so uh
00:01:46 Marco: so basically i have to like keep my number of actual devices i care about under 50 plus if i ever make an ipad version i gotta account for people's ipads and that's a whole other thing so it's really a pain in the butt um but overall the beta is going fantastically i'm getting tons of feedback um i'm extremely happy about it meanwhile casey you have way better news than that
00:02:08 Casey: Yes, indeed.
00:02:09 Casey: So the great news is my blogging engine works and can sustain traffic from your site, which is significant.
00:02:16 Casey: Great.
00:02:16 Casey: Moving on.
00:02:17 Casey: Moving on.
00:02:18 Casey: No, just kidding.
00:02:19 Casey: The reason I know that is because I announced a couple of days ago that Aaron is pregnant finally, which is extremely exciting.
00:02:28 Casey: Congratulations.
00:02:29 Casey: Thank you.
00:02:29 Casey: We have been working on this for quite literally three and a half years, and I won't go into the details here on the show.
00:02:36 Marco: Right, because we aren't an explicit show.
00:02:38 Yeah, right.
00:02:38 Casey: Well, here's what we did.
00:02:40 Casey: We went to the bedroom.
00:02:42 Casey: So anyway, I wrote a blog post about this, which I entitled Finally, which I thought was hysterical, and only a couple people, I think, really picked up on the joke there.
00:02:52 Casey: But anyway, I wrote a blog post about this, which Marco, you linked to and tweeted about, and John, you tweeted about, and that was very kind of you guys.
00:03:00 Casey: And so I went into kind of the nitty-gritty of the journey from –
00:03:05 Casey: saying in 2010, hey, we should probably start trying to have kids, to being here we are all the way in 2014, saying, oh, my God, we're finally pregnant.
00:03:14 Casey: And it was a long and difficult road, but we are here, and that's all that matters.
00:03:18 Casey: And so far, everything sounds good and is healthy, and we'll meet our little sprout, as we're calling it, in the first week in November.
00:03:26 Casey: So we're seriously, seriously excited.
00:03:29 John: I'm glad to see that you got to go public before Overcast did.
00:03:32 LAUGHTER
00:03:33 Casey: Yes.
00:03:34 Casey: Although if I'm honest, it's still wearing on me that I haven't gotten my iOS 7 update for fast text out because I cannot get auto layout working right.
00:03:45 Casey: And I'm too stubborn to revert to springs and struts.
00:03:48 Casey: And I've got something, the composed message view is just not working properly.
00:03:53 Casey: And I think it's the, what is it, the content inset or something like that.
00:03:56 Casey: So basically I have a, I wasn't planning on going into this, but since I have... Oh, is it under the nav bar?
00:04:01 Marco: Yep.
00:04:02 Marco: That's a very common thing.
00:04:03 Marco: Yeah.
00:04:04 Casey: Yeah.
00:04:04 Casey: And I haven't figured out how to fix it yet.
00:04:05 Casey: And I've been trying to go back and look at the old the auto layout talks from old WWDCs.
00:04:11 Casey: But I haven't really had time because, well, we've had something else going on lately.
00:04:16 Casey: That's a pretty good reason.
00:04:17 Casey: Yeah, so I like to think of it as a good reason, but I will be upset if I don't get the iOS 7 update in before overcast ships.
00:04:26 Casey: I won't be necessarily upset if I don't get it in before iOS 8 is in beta, but I will be upset if I don't get it in before overcast ships.
00:04:32 Casey: So I've got to find some time to do that.
00:04:33 Marco: You have some time, don't worry.
00:04:35 Casey: To bring this back around, 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:43 Casey: So I'm pretty excited about that.
00:04:45 Casey: It seems like it didn't crumble Heroku, although I will say that, and I probably shouldn't, but I will say that I noticed in my Google Analytics referrers, something
00:04:55 Casey: I genuinely don't remember what it was, but it was like dailysomething.heroku.com, which I tried to load, and it challenged me for authentication, which makes me wonder if I had actually hit some sort of threshold wherein the Heroku people were like...
00:05:13 Casey: hmm what's going on over there but to this to this moment i'm running on a single dyno which is heroku speak for you know one process and i'm using node and 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 uh well it's weird to be in the spotlight which probably sounds really weird given that i'm on this podcast but it's weird to be in the spotlight uh it sounds like you but
00:05:40 Casey: But that's true.
00:05:42 Casey: But no, we're super, super excited.
00:05:44 Casey: And oh, I'm such a jerk.
00:05:46 Casey: I forgot to mention that after I put up this post, a lot of people came out of the woodwork to send emails and tweets and just unbelievably, unbelievably kind things.
00:05:56 Casey: And if you were one of those people, thank you so very, very much.
00:05:59 Casey: And I'm still going through all the email and trying to reply to every single one of them.
00:06:03 Casey: And I will at some point.
00:06:04 Casey: But
00:06:05 Casey: The support has been amazing, and not to completely get us derailed, but it's been interesting seeing how many people come out of the woodwork and say, we too had fertility problems, or alternatively, we know someone who has had fertility problems, and oh man, this really rings true.
00:06:24 Casey: And that's been...
00:06:25 Casey: That's been really kind of, well, it's sad in that I would never wish this upon anyone, but also really awesome to know that it's not just us and that people appreciate talking about something that's actually fairly taboo and not something you hear talked about a lot.
00:06:40 Casey: So I'm happy as can be.
00:06:43 Casey: Aaron is overjoyed.
00:06:44 Casey: It is a tragedy that Aaron isn't already a mom because I think she'll be a great mom.
00:06:49 Casey: So I'm really, really excited.
00:06:52 John: Awesome.
00:06:53 John: Let's hope the year of Casey goes better than the year of Luigi.
00:06:55 Casey: I wish I understood that joke.
00:06:57 John: That's okay.
00:06:58 Marco: Is that a Nintendo joke about their... Yeah, you're going to explain that one.
00:07:03 John: Sorry.
00:07:05 John: I believe it was the beginning of 2013.
00:07:07 John: Nintendo said this is going to be the year of Luigi, which means they're going to release games featuring Luigi more prominently.
00:07:14 John: And 2013 was not a good year financially for the company.
00:07:18 John: you should never have me explain these references to you on the show you just let them go by you can you two can acknowledge that you don't get them but rest assured i was surprised that the chat room didn't already make this joke so i'm just kind of disappointed in them but you two expect it but like whoever liked luigi like that's the whole point if that's the whole point is the year of luigi who cares about luigi well this is the year of the i don't know right that's terrible like who who was ever in the million years who's ever said like you know nintendo needs more luigi
00:07:46 Marco: You know, I would like to play more games with Luigi, please.
00:07:49 Marco: And the games that support multiple players, I want to spend more time playing as Luigi.
00:07:53 John: They launched the GameCube with Luigi, with Luigi's Mansion, because they didn't have a Mario game ready.
00:07:57 Casey: Yeah, look how well that went.
00:07:59 John: Well, the GameCube did much better than the Wii U, I'll tell you that.
00:08:02 Casey: Well, everything is done better than the Wii U, and we'll probably get to that later.
00:08:05 Marco: I think the 3DO did better than the Wii U. No.
00:08:08 Casey: Wow.
00:08:09 Casey: We have another piece of follow-up.
00:08:10 Casey: And speaking of things that are expected, Marco, did you do your homework?
00:08:13 Casey: Of course not.
00:08:15 Casey: Okay.
00:08:15 Casey: I did my homework, John.
00:08:17 Casey: Do I get a gold star?
00:08:18 John: I thought maybe you tweeting a screenshot would have shamed Marco or reminded him that this homework existed.
00:08:24 John: Let's start with that.
00:08:25 John: Reminded him that it existed because we know he's not looking at the notes file.
00:08:28 Marco: Well, to be fair, last night I told Tiff about the game and she installed it and she played it next to me in bed.
00:08:35 Marco: So I heard some of it.
00:08:37 John: Wow.
00:08:38 Marco: And she thinks it's pretty good.
00:08:39 John: Did she finish it?
00:08:40 John: It doesn't take long, right, Casey?
00:08:42 John: I'm assuming you finished it?
00:08:43 Casey: Yes.
00:08:44 Casey: Well, and that's the funny thing is – okay, so let me back up.
00:08:47 Casey: So we're talking about Monument Valley, which was – which came out – what would you say?
00:08:50 Casey: A couple months ago maybe?
00:08:52 Casey: A month ago?
00:08:53 John: Something like that.
00:08:53 Casey: I don't remember.
00:08:56 Casey: And as we've talked about in the past, it seems that they're oftentimes premier iOS games.
00:09:03 Casey: Letterpress is a great example.
00:09:04 Casey: Threes is a great example.
00:09:06 Casey: Flight Control, way back when, was a great example.
00:09:08 Casey: And so Monument Valley was one of the premier games recently.
00:09:12 Casey: And so I downloaded it last night and started playing it.
00:09:16 Casey: And Aaron was watching over my shoulder and was like, hmm, that looks kind of interesting.
00:09:20 Casey: And so we share an iTunes store account.
00:09:23 Casey: And so she had it already.
00:09:25 Casey: And so there we were sitting on our iPads next to each other playing Monument Valley and
00:09:29 Casey: And I definitely have some thoughts about it.
00:09:31 Casey: But the funny yet frustrating thing about it was I had started playing somewhere between five and 30 minutes before Aaron.
00:09:37 Casey: I wasn't paying close attention.
00:09:39 Casey: And sure enough, by the time we finished, which was only about an hour to an hour and a half later, she finished easily just a couple of minutes after I did.
00:09:47 Casey: And we had started quite a bit more than a couple of minutes apart.
00:09:51 Casey: So I was a little annoyed by that.
00:09:53 Casey: But I guess she's the smart one in the family.
00:09:55 Casey: Nevertheless, it was very good.
00:09:57 Casey: It was very, very good.
00:09:58 Casey: I quite liked it.
00:09:59 Casey: Did you want us to play it for any particular reason, John?
00:10:02 John: No, it was the last show when we talked about the game.
00:10:06 John: I was mentioning that a lot of people said they had gotten stuck on it or that it was hard, but that I couldn't tell if they were joking because I thought it was just relentlessly linear and extremely easy.
00:10:14 John: And then I thought since you two hadn't been playing...
00:10:17 John: a lot of the kind of games you used to play, but playing more casual games, that this was the casual game that you might enjoy.
00:10:23 John: And I thought it had some interesting aspects to it, like the artwork I thought was great, and the idea was very clever, and it took advantage of touch in an interesting way, like it's a type of game that wouldn't have been as interesting if you did it on a console or on a PC.
00:10:39 John: And so I figured you should give it a try.
00:10:40 John: So the two things I wanted to know was basically, did you find it easy, and what did you think of it overall?
00:10:47 Casey: At the beginning, I most certainly did not find it easy.
00:10:51 Casey: And when you download Monument Valley, which you should do, it was absolutely a great game.
00:10:55 Casey: And it's worth the, what was it, $4?
00:10:58 Casey: But we'll get to that later.
00:11:00 Casey: When you download it, they kind of just dump you in a level.
00:11:03 Casey: And I almost thought something was wrong because they don't explain anything.
00:11:08 Casey: And I've seen this before, but...
00:11:10 Casey: It seemed surprising how little explanation there was.
00:11:15 Casey: And it took me a minute to realize what the crap I had to do.
00:11:19 Casey: And Monument Valley, if I were to summarize it, is kind of a game playing off the drawings of, was it M.C.
00:11:25 Casey: Escher?
00:11:25 Casey: Is that correct?
00:11:26 Casey: Yeah.
00:11:26 Casey: Yeah, you got it.
00:11:28 Casey: OK, so the stairs guy.
00:11:29 Casey: Yeah, the stairs guy.
00:11:30 Casey: So it's it's geometry that can't really be real.
00:11:34 Casey: But, you know, it's I don't know how to explain this.
00:11:37 Casey: I won't try.
00:11:37 John: But suffice to say, I had to explain it to my kids.
00:11:40 John: And this is what I came up with.
00:11:42 John: If it looks like it touches, it touches.
00:11:44 Casey: Yeah, that's a good way of looking at it.
00:11:46 Casey: And two things that look like they shouldn't be able to touch with the same intermediary piece, depending on how things are set up, may actually touch if you spin that intermediary piece around.
00:11:58 Casey: So anyways, they dump you into this game, and it didn't have a lot of explanation.
00:12:02 Casey: And at first, I was like, what the crap is going on?
00:12:05 Casey: And I was...
00:12:06 Casey: I almost started to get frustrated at the very beginning.
00:12:08 Casey: And then right when I was going from this is weird to, oh my God, what the hell?
00:12:12 Casey: That's when I figured it out.
00:12:14 Casey: And then I was okay.
00:12:15 Casey: And so for the first half to two thirds of the game, I did not find it easy.
00:12:20 Casey: I found it to be the correct balance of...
00:12:23 Casey: hard, but not annoying.
00:12:25 Casey: And I also would not say it was terribly linear in at least the way I experienced it, because I had to think about things.
00:12:32 Casey: Then there were a couple levels.
00:12:33 Casey: I should have taken a note on which ones they were, but there were a couple levels where I was like, okay, this is seriously linear and it's beautiful and it sounds great.
00:12:42 Casey: And I didn't realize that I should have been wearing headphones to play it, but I heard after the fact that it's, I guess it uses, you know, stereo to its advantage or whatever, but it sounds great.
00:12:51 Casey: It's beautiful.
00:12:52 Casey: But there were some levels, I think there was one going into like a dungeon.
00:12:56 Casey: It actually, I think, is what leads up to the picture I tweeted that it was extremely linear.
00:13:01 Casey: And as you're tapping about moving this little girl around the stage that you're playing, things are happening.
00:13:08 Casey: So it's not like boring, but nevertheless, it was very linear.
00:13:11 Casey: Then after that, there were other levels like the one with the box that...
00:13:15 Casey: I just took forever to figure out, and I wouldn't have said it was linear at all.
00:13:20 Casey: What did you think, John?
00:13:21 John: Well, here's what I mean by linear.
00:13:22 John: What I mean by linear and the sense of this game is that every time you solve some problem, you're presented with a new problem, and there's one way to do it, more or less.
00:13:33 John: Like...
00:13:34 John: You know, if you hit this switch, it opens up the door.
00:13:37 John: Next step is that you're going to go through that door and then you're not going to be able to go anyplace except for one place.
00:13:41 John: And to get that place, you do something and it takes you there.
00:13:43 John: Like it basically says, solve this problem.
00:13:45 John: Here's your new problem.
00:13:46 John: Solve this problem.
00:13:47 John: Here's your new problem.
00:13:48 John: You know, like not linear in that it's like a long series of corridors or whatever, but gameplay wise and flowchart wise, it doesn't make you...
00:13:55 John: It doesn't make you do 10 things.
00:13:56 John: It doesn't make you like, OK, let me set this up over here.
00:13:58 John: Let me set that up over there.
00:13:59 John: Let me go through and do this and do this and then go over there and do that and then come back here.
00:14:02 John: And when I come back here, you know, it doesn't it doesn't ask that of you, which many, you know, games for more experienced gamers do.
00:14:08 John: So this is definitely in the category of casual game.
00:14:11 John: And it's more of like a game-like experience in that you feel like you're participating in the narrative, but it's very clearly you're just pushing the character along a certain little arc.
00:14:20 John: My main complaint is not so much with the casualness, because again, like I said in the past show, a lot of people can make the same complaint about Journey.
00:14:27 John: It's very linear.
00:14:28 John: It's relentlessly linear.
00:14:29 John: It's just that there's...
00:14:30 John: there's more freedom within the linearity and there's more of an overarching story to get you wrapped up.
00:14:35 John: And this one had kind of like a hint of a story, but it didn't, you know, I don't want to ruin journey for journey for people, but I think comparing monument Valley to journey is would be very instructive for like a game design perspective because they are so similar in so many ways.
00:14:48 John: And yet the experience of playing them is so very, very different.
00:14:51 John: And people like monument Valley is getting good reviews, but I don't think any game critic would hold it anywhere near a journey.
00:14:57 John: And it, it,
00:14:58 John: Figuring out why.
00:14:59 John: Why is Journey so much a better game than Monument Valley?
00:15:02 John: Despite them sharing so many characteristics, that I think is an interesting thing to think about, that I would probably blog about if I ever blogged.
00:15:12 Casey: Yeah, and the funny thing is, if I were to describe Monument Valley...
00:15:17 Casey: In just a couple of words, it would be broken promises.
00:15:20 Casey: And an example of this is the level selector, which I didn't realize when it was first introduced to you.
00:15:28 Casey: This is kind of like, and I'm using huge air quotes here, the menuing system.
00:15:32 Casey: It's a building, and you twist the building to advance from level one to two to three, et cetera, et cetera.
00:15:38 Casey: Well, when they show you this building originally, they spin the building around and I didn't pay close attention.
00:15:44 Casey: So I get through level one, level two, level three, level four.
00:15:48 Casey: And at this point, I've seen all four sides of the building.
00:15:51 Casey: And so I'm like, okay, well, am I going to see a new building now or what's going to happen?
00:15:54 Casey: And sure enough, there's a fifth side of the building.
00:15:58 Casey: And that was a silly example of just a continual series of broken promises.
00:16:03 Casey: Right.
00:16:04 John: But that's that's part.
00:16:04 John: Didn't you catch that being part of the theme?
00:16:07 John: Like, how can something have more than four sides?
00:16:08 John: It's the impossible geometries.
00:16:10 Casey: Absolutely.
00:16:11 Casey: And it's not a bad thing.
00:16:12 Casey: I don't mean to make that sound like it's a bad thing.
00:16:15 Casey: But any time that you didn't think that something was an option, like, for example, walking vertically or walking off the side of something where in the real world you would just fall right off.
00:16:26 Casey: Or at least I didn't suspect that such moves were legal.
00:16:31 Casey: And then you find out, oh, you can do that.
00:16:33 Casey: And so it's like one series of broken promise – or one broken promise after the other, which is what made it so magical and wonderful.
00:16:40 Casey: But at the same time, it was like, oh, okay, I guess that's a thing.
00:16:44 Casey: So I really liked it.
00:16:45 Casey: The only thing is – and I didn't get a chance to press Aaron on this because I really wanted to hear her opinion.
00:16:51 Casey: And we didn't do any research, but –
00:16:53 Casey: um and when it was all over and it lasted like i said about an hour hour and a half it was all over and aaron said wait that's it how much did we pay for this and it was so interesting to me because my first reaction which i didn't say out loud was wait that's it how much did i pay for this and then immediately after that i was like well you know a lot of work went into this game it costs half as much as a movie ticket and it lasted about as long as half a movie right and
00:17:20 Casey: It's funny you say that because I didn't talk to Aaron about this, but that's exactly what I thought to myself.
00:17:24 Casey: And in our case, we shared this quote unquote movie ticket because we have the same store account.
00:17:29 Casey: So we paid $4 once and each got an hour to an hour and a half of enjoyment out of it.
00:17:36 Casey: So really, it's a great deal.
00:17:38 Casey: But something about software has just programmed both of us.
00:17:43 Casey: I wish I could – I don't mean this that way, but I kind of wish I could throw Erin under the bus and be like, oh, well, she doesn't know what she's talking about.
00:17:49 Casey: She's not a developer.
00:17:49 Casey: But no, I had the same thought.
00:17:51 Casey: And it's really kind of crummy that there's this race to the bottom and race to free.
00:17:56 Casey: But I enjoyed it.
00:17:57 Casey: I'd recommend spending the $4.
00:17:59 Casey: I would have done it again.
00:18:00 Casey: But I'd be lying if I said I didn't think to myself, wow, that was short.
00:18:06 John: Well, see, the production values were super high, though.
00:18:09 John: Like, that game is so, so polished.
00:18:11 John: Like, everything, there's no part of that game that looks like it's broken, that looks artificial.
00:18:15 John: Like, every part of it, even, like you said, the menu system, it's all of a piece.
00:18:19 John: It is a beautifully made game.
00:18:21 John: Like...
00:18:22 John: I mean, if there's a bug in that game, I didn't find it.
00:18:25 John: If there's some visual element out of place, I didn't find it.
00:18:28 John: And it's not a simple game.
00:18:30 John: It's not like, oh, I mean, not to say that Threes is simple, but like graphics-wise and gameplay-wise, Threes is a much simpler game than the things that Minium Value pulls off.
00:18:41 John: It is an amazingly well-made game in terms of just the construction of how the pieces are put together.
00:18:45 John: So production values are high, so I don't mind paying more for it.
00:18:48 John: And I don't buy things based on length and price or anything like that.
00:18:51 John: I just wish that,
00:18:52 John: if it's not going to have difficult gameplay for for experienced gamers it should have a more compelling story like a year walk was like that and that the gameplay in your walk is not particularly difficult for anyone who's played point and click adventures their entire life uh but the atmosphere and mood and story pulls you in and and feels and like makes it feel like more of an experience i felt like your walk was was a better game overall but also one that would probably repel most casual players
00:19:18 John: Monument Valley, I don't know.
00:19:22 John: I hate coming down with a mediocre opinion on this and people feel like I'm pushing them away like you shouldn't get this game.
00:19:30 John: That's why I wanted you to play it to see if someone who doesn't consider himself a gamer or doesn't play games all the time, will they find this game much more compelling than I did?
00:19:39 John: And it seems like you identified a lot of the same problems as I did.
00:19:44 John: And the one thing you brought up that I didn't realize was that I didn't think of is that
00:19:47 John: if you're not familiar with sort of the, the joke, like the, not the joke or the, the background or the theme, like the, the moment I saw a screenshot of this game, I'm like, Oh, it's an MC Escher game.
00:19:57 John: I know exactly what to expect of the entire game.
00:19:59 John: Cause I've played a lot of games.
00:20:00 John: I know what MC Escher is.
00:20:01 John: I know I'm going to be walking on walls.
00:20:02 John: I know if it looks like it touches, it touches.
00:20:04 John: Like I, I see the whole game before I, before I've even installed the thing.
00:20:08 John: Whereas if you come into a cold and have some vague memory of some water, impossible waterfall looking thing,
00:20:14 John: or you're not a big gamer, maybe you won't realize immediately, oh, that's what this game is going to be about.
00:20:19 John: And I think that's a lot of the complaints that gamers have about this is that you show them a screenshot and they feel like they've played the whole game.
00:20:25 John: And then you play the whole game.
00:20:26 John: You're like, yeah, that's more or less what I expected to be beautifully made, you know, nicely constructed, but they didn't add a lot on top of that.
00:20:32 Casey: Yeah, I would agree.
00:20:33 Casey: And I was familiar with Escher, but not intimately familiar.
00:20:37 Casey: And so I knew what the point of the game was, but it still took thought in order to figure out what I needed to do to accomplish things.
00:20:48 Casey: And as a casual gamer, I absolutely recommend it.
00:20:51 Casey: I thought it was very good.
00:20:53 Casey: I will say the story...
00:20:55 Casey: either was way over my head or was way too esoteric for me to understand what they were saying.
00:21:02 Casey: And I'm not going to spoil it or anything, but I definitely think the game is worth it.
00:21:07 Casey: It is, to John's point, about half as – well, probably at this point a third as much as a movie ticket, and will probably keep you occupied about half as long.
00:21:16 Casey: So –
00:21:17 Casey: marco i do recommend playing it it's only about an hour maybe two of uh of time to spend but it's really really good and i definitely definitely liked it marco let adam play it i can try i mean i think he'll be able to do well on it he's two but all right so maybe maybe a couple years he can play it he can play it and report back to you
00:21:36 Marco: We are sponsored this week, once again, by our friends at Smile Software.
00:21:40 Marco: They are promoting this week PDF Pen Scan Plus.
00:21:44 Marco: Now, PDF Pen Scan Plus, they recently did a great update to the software.
00:21:48 Marco: Now, what this is, is it's a scanning and OCR app for iPhone and iPad.
00:21:53 Marco: And all the OCR takes place locally right on the device.
00:21:58 Marco: So it doesn't have to like upload your file to some cloud OCR service, get the OCR results, send it back.
00:22:04 Marco: It's all happening right there locally on your device.
00:22:08 Marco: And small software, I'll tell you what, I use a lot of their stuff.
00:22:10 Marco: I use PDF pen.
00:22:12 Marco: And they make high quality stuff.
00:22:14 Marco: They really do.
00:22:15 Marco: It's the kind of stuff that you might think you don't need some kind of PDF adjustment tool until you do.
00:22:21 Marco: And then you go to them.
00:22:23 Marco: And their software has saved my butt so many times doing some quick thing or doing an edit or having to sign something, send it back.
00:22:31 Marco: And yeah, you can do some of this stuff with Preview on the Mac.
00:22:33 Marco: But trust me, you can do a lot more with PDF Pen.
00:22:36 Marco: And I end up turning to it quite a lot.
00:22:39 Marco: So PDF Pen Scan Plus for iPhone and iPad.
00:22:42 Marco: lets you scan directly from your iphone or ipad camera and that they have batch scanning batch scanning is speedy with you can do post processing and editing there you can automatically crop the scan or you can do it manually quickly and precisely you can preview the results and then you can copy the text out immediately for use elsewhere so if you want to like scan a document
00:23:04 Marco: copy the text paste or something else you know edit it email it you know whatever you want to do put it in draft and do a billion things with it you can do all that stuff right there with pdf pen scan plus uh this new update has been updated for maximum usability um it has uh not only an improved ui but effortless multi-page scans with post-process image editing they have customs paper size settings for receipts you can also customize the paper size settings to whatever you want
00:23:29 Marco: You can preview the OCR text overlaid right on the page, which helps you proofread, make sure it got everything right.
00:23:36 Marco: So really, and of course, they're always improving the accuracy of the OCR engine and the text layout and everything.
00:23:42 Marco: So really, it's a fantastic update.
00:23:44 Marco: It's gotten critical acclaim.
00:23:46 Marco: And once again, this is from Smile Software, and they make really good stuff.
00:23:49 Marco: The whole PDF pen family is really great.
00:23:51 Marco: To learn more about this, go to smilesoftware.com slash ATP.
00:23:56 Marco: Once again, that is smilesoftware.com slash ATP.
00:23:59 Marco: Thanks a lot to them and to PDF Pen Scan Plus for iPhone and iPad.
00:24:04 Casey: All right, so there's breaking news.
00:24:06 Casey: Breaking.
00:24:07 Casey: About an hour or two ago.
00:24:10 Casey: And apparently Apple and Google are sitting in a tree now.
00:24:15 Casey: K-I-S-S-I-N-G.
00:24:16 Marco: Yeah, what is that about?
00:24:17 Marco: I don't know if we can really talk about that yet because it just happened.
00:24:20 Marco: We don't really know it.
00:24:21 John: Well, we know enough.
00:24:22 John: I mean, what I posted in the notes that you should be looking at is enough.
00:24:26 John: It's not like people will know about it by the time they listen to this, of course, or whatever.
00:24:30 John: But so Apple and Google have been suing each other over patents because that's what big companies do these days.
00:24:35 John: I mean, I'd love to see.
00:24:37 John: They had this diagram in some article once, like the diagram of who's suing who.
00:24:41 John: Everyone's suing everybody anyway.
00:24:42 John: But Apple and Google were suing each other, you know, over the over.
00:24:45 John: You'd expect iPhone patents and Android stuff and who knows what else.
00:24:48 John: And now they're not anymore.
00:24:50 John: They have agreed to dismiss all current lawsuits that exist between the two companies.
00:24:56 John: And they've agreed to work together on patent reform of some form.
00:25:00 John: They haven't said what.
00:25:02 John: I assume nothing will come with that.
00:25:03 John: But anyway.
00:25:04 John: uh they basically agreed to uh put their guns back in the holsters for now on the patent uh they are not doing a patent cross license which is what apple has done with microsoft in the past which is okay you can use my patents and i can use your patents so they're keeping their own pat i don't i don't know how that works like we just agree we won't sue each other anymore i mean they don't even agree to just say they're stopping all current lawsuits i guess they probably both reserve the right to sue each other about it later but
00:25:27 John: And they declined to comment as to why.
00:25:29 John: And so both companies, this is like the net neutrality thing.
00:25:34 John: Technology companies, I mean, I heard some comedians talk about net neutrality.
00:25:38 John: And they assume that technology companies like Microsoft, Apple, Google, or if they're really old comedian, IBM, are on the bad side of net neutrality.
00:25:48 John: They're against it.
00:25:50 John: When that's not the case.
00:25:51 John: In fact, companies like Apple, Google, and even AOL, I saw recently,
00:25:55 John: are on the good side of net neutrality.
00:25:57 John: They're in favor of net neutrality.
00:25:59 John: And Apple and Google, they hate patents.
00:26:00 John: Yeah, they have millions of patents because they have to have them, but they don't like the systems any more than anyone else does.
00:26:05 John: It's just a cost of doing business, a terrible cost center for them.
00:26:08 John: They have to spend billions of dollars on...
00:26:10 John: defending their patent.
00:26:11 John: I mean, maybe Steve Jobs would disagree, because he seemed to love patents and love patenting things.
00:26:16 John: But in general, technology companies, I think, would all agree that patents, there's a problem with the current patent system, and it's just an annoying thing they have to do.
00:26:24 John: So these two companies agreeing now in Steve Jobs' absence, perhaps...
00:26:29 John: To say, OK, let's stop all these lawsuits.
00:26:31 John: They're just costing us money.
00:26:32 John: No one's going to really win definitively.
00:26:34 John: It's just going to distract us for a long time.
00:26:36 John: And let's concentrate our lobbying efforts in Washington, however meager they may be, on getting some sane form of patent reform through.
00:26:45 John: And my first reaction to this, which I tweeted and also put in the show notes, was, I guess it's Tim Cook holding up a picture of Samsung logo and saying, fight the real enemy and then tearing it up on screen, which is a reference that I assume neither one of you would get.
00:26:59 Casey: I actually did.
00:27:00 Casey: I did.
00:27:00 Casey: I honestly did.
00:27:01 John: yay casey you're on maybe this is the year of casey marco do you get that reference or no of course not come all right but anyway it's in the show notes and i tweeted it so you can look at it but i mean that's just the knee-jerk reaction the idea being that apple apple and google that's not the real problem your apple's real problem is samsung which is ripping off not just their patents but like their entire phone and experience or whatever so right and to be clear this doesn't really have anything to do with apple fighting samsung
00:27:27 John: Yeah, it's just the whole idea is fight the real enemy and saying, oh, maybe Google is not your real enemy or whatever.
00:27:32 John: So I think this is a good thing overall for both companies because lawsuits really are a stupid distraction and they are expensive.
00:27:38 John: And after the Samsung, you know, whatever that the result of that lawsuit where Apple got peanuts, you know, like cost, they probably don't even cover the cost of litigation.
00:27:47 John: They got like one hundred and twenty million dollars settlement or something after years of fighting like.
00:27:51 John: I think Ruba was saying that he thought it was like the principle of it, like, well, see, we're willing to waste all of our money and just fight you in court to the death, even though we know we're not going to win anything at the end, just to show how mad we are at you, to show how Apple is irrationally aggressive with its intellectual property and to try to stop people from stealing their things.
00:28:08 John: But...
00:28:09 John: That if that is their purpose, which I don't think it is, it's stupid because what everyone else has learned from this is if you have deep enough pockets, you can steal everything Apple does and you'll get a slap on the wrist after a couple of years.
00:28:19 John: But you will reap the huge market benefits of having stolen their stuff.
00:28:23 John: Again, this presumes that you believe in patents and all the other stuff, which I do not.
00:28:27 John: And I don't think Marco does either.
00:28:28 John: But anyway, I'm glad to see Apple and Google.
00:28:31 John: Dismissed their current lawsuits.
00:28:33 John: I'm glad to see them concentrate on doing better things, making their products better and maybe helping patent reform.
00:28:40 Casey: maybe.
00:28:41 Casey: Do we really think that a, they're actually going to do anything to try to reform patents and be, even if they want to, is there anything they can really do?
00:28:51 John: I think they will.
00:28:51 John: Like they do, they do lobbying.
00:28:53 John: Apple and Google do lobby for their interests in Washington.
00:28:55 John: It's just that their money is massively outweighed by the people on the other side of this.
00:29:00 John: Uh, and so, yeah, I mean, it's good to see more of the good guys, good guys being people that I agree with, obviously, uh, getting, getting into the fight.
00:29:09 John: But, uh,
00:29:10 John: realistically speaking the bad guys on the other side have way more money and way more influence and all the whole things about patents like this the reason when i talked about patents that hypercritical that i was didn't talk at all about changing the system because it's like it's in the constitution like good luck with that you can't get people to agree you can't even get laws passed that 90 of the people in the country agree with good luck trying to get something that's in the constitution so i have dim hopes that things will get fixed there but but i do like to see these companies uh you know
00:29:37 John: actually fighting for their interests when their interests align with mine.
00:29:42 Marco: We are also sponsored this week by our friends at Backblaze.
00:29:45 Marco: So Backblaze is quite simply, it is online backup.
00:29:49 Marco: It's $5 a month.
00:29:51 Marco: It is native to the Mac.
00:29:53 Marco: It is unlimited, unthrottled, and uncomplicated.
00:29:56 Marco: So it's exactly what it sounds like.
00:29:58 Marco: It's online backup.
00:29:59 Marco: There's no tricks.
00:29:59 Marco: There's no upsells or different purchases.
00:30:02 Marco: You pay $5 a month for unlimited space for one computer.
00:30:05 Marco: If you have multiple computers, each additional one is just another $5 a month.
00:30:09 Marco: Really very simple.
00:30:10 Marco: I've used it for years, and it's fantastic.
00:30:16 Marco: From my computer, I have about a terabyte.
00:30:18 Marco: from my wife's computer we have about another uh two terabytes from that i back up my mom's computer to it and it's it's fantastic it's it's just a great service you can easily restore all your files or you can just restore one file through their web interface um so you know you can use it even as like an extended time machine so you can say oh you know what i deleted that file a month ago uh and they keep some retention there so they can go find out stuff like that you can see if it's there
00:30:44 Marco: Or if you're on the road somewhere and you need a file off your desktop, you can get the file right from Backblaze.
00:30:50 Marco: They also have iOS and Android apps, I believe.
00:30:53 Marco: They at least have iOS apps.
00:30:54 Marco: I forget this every time.
00:30:56 Marco: Anyway, I'm going to go with that at least.
00:30:57 Marco: They have an iOS app where you can access any of your files that are backed up to Backblaze from anywhere you are from your iOS device, simply and securely.
00:31:05 Marco: And of course, as usual, it's unlimited and simple and native.
00:31:09 Marco: It was actually founded by ex-Apple Engineers, which is one of the reasons why the Mac software is so good.
00:31:15 Marco: It's native and everything else.
00:31:17 Marco: So try it out.
00:31:18 Marco: They have a 15-day free trial.
00:31:20 Marco: No credit card required.
00:31:21 Marco: You just enter an email and a password, and then you're off.
00:31:24 Marco: Once again, it's online backup.
00:31:26 Marco: And we always recommend this because...
00:31:28 Marco: You can have local backup.
00:31:29 Marco: That's great.
00:31:31 Marco: But local backup does not really help if there's a fire in your house, if there's a flood, or let's say you have water damage.
00:31:37 Marco: If the apartment above you floods and then it drips into your place and floods your computer desk and messes up all your equipment, it protects you from that.
00:31:44 Marco: Theft.
00:31:45 Marco: There's all sorts of environmental things that can happen that can knock out your computer and anything connected to it or plugged in nearby.
00:31:51 Marco: And Backblaze takes care of it.
00:31:53 Marco: The online backup, you have all your files off in the cloud somewhere, and they're really great.
00:31:57 Marco: Great company.
00:31:58 Marco: Thanks a lot to Backblaze.
00:32:00 Marco: Go to backblaze.com slash ATP for just $5 a month, simple, unlimited, unthrottled backup.
00:32:07 John: There's another reason you should go to backblaze.com.
00:32:09 John: They have a great blog where they do what I think every tech company should do is they blog about not like, oh, here's they do blog about
00:32:15 John: But here's the new feature of our new version 2.0 of the product.
00:32:18 John: Instead, what they do is mostly blog about the crazy things they have to do to store your data, like their big devices filled with hard drives and all the stats on their hard drives and the failure rates.
00:32:27 John: And the most recent one was trying to correlate failure rates with temperature changes.
00:32:32 John: It's just awesome stuff if you care about storage, just to look at... It's kind of like...
00:32:37 John: you know, open source type development where they discover things over the course of doing their work, and then they write about it in this sort of an open way.
00:32:46 John: And you're like, oh, don't you want your competitors not knowing how you do things?
00:32:49 John: Like, they don't care.
00:32:49 John: Here's everything we learned.
00:32:50 John: Here's the reliability rates for hard drives over multiple years.
00:32:54 John: You know, they have like, what did they say, like 34,000 hard drives or something.
00:32:56 John: So they have a pretty good sample size going.
00:32:59 John: I love reading that stuff.
00:33:00 John: And it makes, you know, it should be unrelated to the product, but it makes me feel better using the product, reading those blog posts.
00:33:05 Marco: Yeah, I definitely enjoy those myself as well.
00:33:08 Marco: So, Beats.
00:33:10 Casey: Yeah, Apple supposedly is spending some serious money.
00:33:14 John: Well, that's the best part of the story before we even get to the story.
00:33:18 John: My favorite part of the story is, and I'm sure you two both do the same thing, uh...
00:33:23 John: you'll see some tweets go by and you can infer what it is they're about because they're like the first maybe the first couple tweets you see don't link to any story but they make some kind of vague comment and you know something's up sometimes you know a company's involved but you're not sure what the deal is and you have to like scroll and you see a couple more if you're lucky some person will put a link in a link to a story that explains what it's talking about but a lot of the times in my experience anyway i'll just get the commentary i won't get the story and i have to figure out what it's about and
00:33:51 John: So, you know, and do my own.
00:33:53 John: Sometimes you go to Google and you just type in a couple of keywords and then you find like the top result.
00:33:57 John: And so this one was that, you know, Apple was supposedly in talks to buy Beats, the music company that makes the headphones and has the streaming media music service and stuff like that.
00:34:07 John: And the next question is, did they already buy them and people are writing snarky tweets about the fact that it happened?
00:34:13 John: Or is it just a rumor?
00:34:13 John: And so more Google you run, you find, oh, it's just like, you know, an article that says Apple isn't talks to blah, blah, blah.
00:34:20 John: Right.
00:34:21 John: And that process repeated itself and continues to repeat itself to this very day.
00:34:25 John: Every time I see people tweeting about it, people will write headlines like why Apple bought Beats.
00:34:29 John: I'm like, oh, did they announce it?
00:34:30 John: No, no, not yet.
00:34:31 John: why why apple should buy beats okay i kind of get that one you know it's like why apple buying beats is the best thing ever i can't really tell so i'm constantly every time i see tweet it's like they announce it do they announce it and so this has been going on for what a week now more than a week it's just yeah it's it's both frustrating and hysterical that this can be a story without actually there being an announcement yet
00:34:52 Marco: so suppose it's real because i think there's there's enough oh yeah no there's tons of smoke it's just and there's been no denials from anybody yeah right and it's been it was reported by the wall street journal at first like these are you know there's this is pretty substantial smoke so i would say it's very likely to be real at this point all right so the next question is why has it not been announced assuming we all believe that it's real and with everything points in that direction why no announcement
00:35:21 Marco: Well, you know, they could just be delaying it until WWDC to combine it into one big PR announcement.
00:35:26 Marco: It could just really not be finished, you know, not be a done deal yet.
00:35:29 Marco: So they kind of can't and shouldn't talk about it yet.
00:35:31 Marco: You know, there's lots of plausible reasons why it was, you know, leaked but not announced yet.
00:35:36 John: WWDC was my guess as well.
00:35:38 John: But then, like, why leak so early?
00:35:40 John: It seems like if it was a planned leak.
00:35:41 John: It's not that early.
00:35:42 John: Well, 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 John: But it's coming up soon, isn't it?
00:35:49 John: But yeah, I think this is a little bit weird because normally Apple's sort of planned leaks happen in closer proximity.
00:35:58 John: Maybe this just was an unplanned leak or whatever.
00:36:01 John: But anyway, it's a weird story, the fact that it just lives on in the zombie mode.
00:36:05 John: Everyone is writing as if it has already happened, which will be funny if it doesn't happen for some weird reason.
00:36:11 John: But just like we've moved on now.
00:36:13 John: Now we're just talking about the repercussions of this deal that hasn't been announced.
00:36:16 John: All right.
00:36:16 John: So anyway, we can talk about the actual deal.
00:36:18 Marco: Yeah, I mean, so if it's true, let's assume for now it's true.
00:36:22 Marco: So, you know, it's really interesting because, you know, first of all, yeah, it's for $3 billion and that's more than what they bought next for.
00:36:28 Marco: But these days, you know, that's a mid-priced acquisition.
00:36:33 Marco: That's not even like a massive acquisition in tech anymore.
00:36:36 Marco: So, you know, okay, it's a lot of money, but they are a profitable hardware company.
00:36:41 Marco: I think somebody said that Beats makes like a billion dollars a year.
00:36:45 Marco: something like that so like it's the price really isn't that crazy uh for that but anyway so it's it's unusual for apple it's worth mentioning because this is not the kind of acquisition apple has really ever done that you know this is you know normally they buy like small technology companies that are doing something cool and they buy them for the technology or for the people and you never hear about it um
00:37:08 Marco: They don't buy big established consumer brands like Beats and do God knows what with it.
00:37:17 Marco: This is very unlike Apple.
00:37:18 Marco: But this is a new Apple.
00:37:21 Marco: This is Tim Cook's Apple.
00:37:22 Marco: And it's a shifting landscape.
00:37:24 Marco: And Apple does what they think is best.
00:37:27 Marco: And I think there's a lot of reasons why this makes sense.
00:37:30 Marco: A lot of people are like, what are they going to do?
00:37:31 Marco: This doesn't make any sense.
00:37:32 Marco: This is stupid.
00:37:33 Marco: I think this makes tons of sense.
00:37:36 Marco: Before I explain why, what do you guys think about it?
00:37:39 Casey: I don't really have that much of an opinion, which bothers me because I know I should.
00:37:44 Casey: But I've thought about it on and off since we heard this going on.
00:37:50 Casey: And the only opinion I have about it is that I'm really pissed off that I didn't immediately think to pitch Dr. Dre as the WWDC beer bash artist.
00:38:01 Casey: It took me a couple days to think of that joke.
00:38:03 Casey: He's way too big for that.
00:38:05 Casey: Oh, I know.
00:38:06 Casey: It took me a couple days to think of that joke, though, and I'm a little bothered by that.
00:38:08 Casey: Yeah.
00:38:08 Casey: I mean, I guess it makes sense.
00:38:10 Casey: It's hard to... There are two wildly different businesses that Beats has.
00:38:16 Casey: There's the streaming music service, kind of similar to Spotify, although I've never used it.
00:38:20 Casey: And then there's the headphones.
00:38:23 Casey: And from everything I've heard from audiophiles, which I don't want to piss them off ever again, because by God, that was a mistake.
00:38:32 Casey: That was awesome.
00:38:33 Casey: You and I have different definitions of awesome.
00:38:36 Casey: Anyway, every audiophile I've ever heard who has had a set of Beats headphones on their head says that they're terrible.
00:38:44 Casey: Now, I am not saying that's right.
00:38:46 Casey: I'm not saying that's wrong.
00:38:48 Casey: I'm just saying that's what I've heard.
00:38:50 Casey: And I've never tried them.
00:38:51 Casey: I probably should find a pair somewhere that's been on 3,000 ears because they're at like a Best Buy or whatever and try them.
00:38:57 Casey: But...
00:38:58 Casey: Um, there's the hardware business and then there's the streaming music business, which supposedly is very, very good.
00:39:05 Casey: And then there, once you talk about the streaming music business is there, do they get, does Apple get licenses?
00:39:09 Casey: If they, if they just buy up beats and otherwise leave them alone, just beats, keep the licenses.
00:39:15 Casey: There's like so many different moving parts here.
00:39:16 Casey: And I just, I don't know what to make of it.
00:39:19 Casey: And I can't decide if it's good, bad, or somewhere in between.
00:39:23 Casey: John, what do you think?
00:39:25 John: This is weird in a couple of ways.
00:39:26 John: A lot of them have to be speculative ways because because it hasn't been announced, we don't know anything about it.
00:39:32 John: And so everyone has to first decide, OK, assuming it's true, does Apple keep the Beats brand or do they fold it in?
00:39:39 John: Does Apple keep the streaming service or just use the technology to make a new service?
00:39:42 John: Does Apple keep the headphones or ditch them?
00:39:44 John: And so everyone has to sort of build their own Beats acquisition.
00:39:47 John: It's like a kid.
00:39:47 John: I think they're going to keep the brand.
00:39:49 John: They're going to drop the headphones.
00:39:51 John: They're going to integrate the streaming service iTunes radio.
00:39:53 John: I think they're going to keep the brand and keep the streaming service, but drop the headphones.
00:39:56 John: I think they're going to keep the headphones, but drop the streaming service and get, you know, there's so many possible comments.
00:39:59 John: I think the licenses won't come with them because they'll have to be renegotiated.
00:40:02 John: No, actually, I think licenses will come with them.
00:40:04 John: Actually, I don't think it doesn't matter because they're going to have the beats guys negotiate with the record labels instead of Apple and they'll do better.
00:40:09 John: Why will they do better?
00:40:10 John: Isn't it once they become part of Apple, don't they become the enemy as well?
00:40:13 John: You know, it's like,
00:40:14 John: So many permutations and so many unknowns, it's hard to solve for things.
00:40:17 John: A few things I think we can address, and I think Marco talked about some of them already, are one, the people saying this is a sign of weakness because if Apple has to go outside for this stuff, it shouldn't have to go outside the company for this.
00:40:28 John: This is in its strength.
00:40:29 John: Why does it have to buy another company to do streaming music?
00:40:31 John: Why does it have to buy another company to do headphones?
00:40:33 John: Why does it have to buy another company to make deals with record labels?
00:40:36 John: It's a sign of weakness.
00:40:38 Marco: That strategy always worked for Microsoft.
00:40:39 Marco: Keep everything in-house.
00:40:40 Marco: Don't never look anything outside.
00:40:41 Marco: Never admit anything outside is better than what you have.
00:40:44 John: Well, the thing is, Apple has never been like that.
00:40:45 John: When they wanted to get semiconductor manufacturing expertise, they bought PA Semi.
00:40:49 John: When they wanted to, you know...
00:40:52 John: well, this is a bad example.
00:40:53 John: They wanted to upgrade their store.
00:40:54 John: They bought that company that had, that did the, you know, the app store thing, that chomp or whatever it was like.
00:40:59 John: They're constantly buying outside companies right in the areas of expertise because it's hard to, to staff up, you know, and it's much easier to buy a bunch of experienced people who've already done what you want.
00:41:08 John: They're constantly buying these small companies they're buying.
00:41:10 John: It's because they have people and technology that Apple wants.
00:41:13 John: And yes, they do fold them in, but that's a separate question.
00:41:15 John: So I don't think this acquisition is a sign of Apple's weakness.
00:41:18 John: And I don't think it's unprecedented to acquire, uh,
00:41:21 John: companies that have things that Apple wants instead of building them all in-house.
00:41:25 John: So that's all fine.
00:41:26 John: Unprecedented would be keeping the Beats brand and keeping it separate from Apple because they don't do that.
00:41:30 John: Once you get acquired by Apple historically, your people and your technology become part of the Apple fold and whatever branding and product you had before goes away.
00:41:37 John: And that works with small companies.
00:41:38 John: But once you're buying companies for multiple billions of dollars, it's like, do we really want to throw away that brand?
00:41:43 John: And that brings me to me to what I think this acquisition is about, this phantom acquisition with no announced parameters so that I have to just speculate about it.
00:41:51 John: And this says one thing to me and one thing about the future of Apple, and we'll talk about if we were to talk about wearables, is fashion, which has always been a part of what Apple does.
00:42:01 John: You know, every part of the resurgent Apple has been about fashion in some way from the, you know, Bondi Blue iMac.
00:42:07 John: to the the ipod and you know the all their advertisements on television with the dancing silhouette people like yes fashion has always been part of apple this i think is going further down that road with a possible wearable coming out the line and what does beats bring beats is a fashion phenomenon you talked about the the uh the quality of the headphones not being that great in fashion it doesn't matter that much what the quality of the headphones is uh
00:42:34 John: It's the fact that they're cool and that people like them.
00:42:37 John: And you can say they're right or wrong to like them, but they are definitely in fashion.
00:42:40 John: The streaming service as well.
00:42:43 John: Could Apple do a streaming service?
00:42:44 John: Sure.
00:42:46 John: Beats is not a big streaming service.
00:42:48 John: Spotify and RDO are way bigger.
00:42:51 John: But Beats seems to have a good brand and people like their streaming service.
00:42:56 John: And if Apple got behind it, they could get the numbers up.
00:42:58 John: but this just i mean without knowing anything this definitely seems like a fashion acquisition and when you buy something with fashion like if apple bought versace or something which i'm probably mispronouncing sorry fashion people uh they would not get rid of the brand like you buy calvin klein you don't say and we're not going to use the calvin klein name anymore of course you're going to use the name like that's what you bought so if i'm right in that apple has bought beats because of
00:43:20 John: for fashion reasons, I have to think that it's going to keep the brand because you don't buy something, you don't buy a fashion company and then throw away the name brand.
00:43:30 Marco: yeah i think i think you're on the right track with all this i mean so i i think again first to address that question everyone's asking you know what will they do with the beats brand i think it's a no brand or the beats brand is really strong they're going to keep it no question like that it's it would be royally stupid to you know shut all this down and be like all right these are now just apple headphones and this is now the new itunes radio 2.0 that would be a huge mistake i really i don't think apple is is stupid in this regard like that would be that would be royally stupid
00:44:00 Marco: um so that's one thing the other thing is you know the if you look at this is two this is two very different businesses right this is headphones you know headphone hardware that's you know the premium price segment that is very high margin um versus this music service which is probably very low margin uh and um and not very popular yet so here's you know here's what i think basically um
00:44:27 Marco: The Beats headphones, you know, people think I'm all up in arms about Beats headphones because they're bad.
00:44:33 Marco: And the fact is, I don't think they're that bad.
00:44:35 Marco: They're not great.
00:44:36 Marco: And you can, you know, it's like Bose.
00:44:38 Marco: Bose headphones are not bad headphones.
00:44:42 Marco: You can just get better sound quality at those prices from other brands.
00:44:46 Marco: Or you can get better sound quality for less, usually, from other brands that are less well-known or less fashionable or just targeted differently or prioritized differently.
00:44:58 Marco: So Beats headphones are not terrible.
00:45:01 Marco: They're better than the earbuds, certainly.
00:45:03 Marco: They're better than any earbud I've ever tried.
00:45:06 Marco: And they look nice, and they're pretty comfortable.
00:45:11 Marco: Most of them are.
00:45:12 Marco: So really, that's pretty good.
00:45:16 Marco: And they don't necessarily sound accurate.
00:45:19 Marco: They do not accurately represent with a flat frequency response.
00:45:23 Marco: But most people don't like flat frequency responses.
00:45:25 Marco: Most people like a boost in bass and treble.
00:45:28 Marco: And that's what they supposedly do.
00:45:30 Marco: And so they make the sound more appealing, even if it's artificial.
00:45:36 Marco: And so you combine the whole package here is pretty appealing to people.
00:45:42 Marco: You have...
00:45:42 Marco: good looking headphones that are cool they're from a popular brand and they sound appealing to you and they make you look good or you know like they make they make you look like a status symbol like that's that's a very appealing thing now you know i was in an apple store a couple days ago and they had these two giant tables set up with all premium headphones like the cheapest pair of headphones on these tables wasn't was i think 200 bucks probably the bose ae series um
00:46:11 Marco: And I tried a bunch of them because I had to wait a little while.
00:46:13 Marco: And the Beats ones were fine.
00:46:15 Marco: Like, you know, they didn't sound amazing, but they sounded good.
00:46:19 Marco: You know, just not great.
00:46:21 Marco: They didn't sound like $300, but they sounded like maybe $80.
00:46:26 Marco: You know, I've had $80 headphones that sounded worse than that.
00:46:29 Casey: Now, really quickly, what is the price point for a set of Beats headphones?
00:46:33 Casey: Because I genuinely don't know.
00:46:34 Marco: I believe they span two to four or two to three at least.
00:46:37 Marco: A hundred?
00:46:38 Marco: Yeah, something like that.
00:46:39 Marco: Okay.
00:46:39 Marco: Okay.
00:46:39 Marco: And I'm actually not that familiar with the product line.
00:46:42 Marco: I'll try them out in the Apple Store every once in a while, but I don't usually do more than that.
00:46:47 Marco: But if you look at everything else in that segment in the store, everything else they have at the Apple Store on those tables, they're all these premium fashion-y brands, brands like Bose or Bang & Olufsen, these super high-end brands that audiophiles really don't even look twice at.
00:47:03 Marco: Because their sound profiles are almost never very neutral.
00:47:07 Marco: They usually have a pretty, pretty wacky sound profile.
00:47:12 Marco: Like the frequency response line is nowhere near flat.
00:47:16 Marco: And so, you know, for audiophiles, that's not really what we're looking for.
00:47:20 Marco: But the fact is these headphones are popular.
00:47:23 Marco: They're expensive.
00:47:24 Marco: They're nice.
00:47:25 Marco: They're well made.
00:47:26 Marco: They look cool.
00:47:27 Marco: They are usually extremely comfortable and lightweight.
00:47:30 Marco: Some of them have noise canceling, which is a very useful feature for travelers, air travelers especially.
00:47:34 Marco: So like they're useful to people.
00:47:37 Marco: They're practical.
00:47:38 Marco: So it's a very successful headphone brand in a very successful segment that is booming partially, in fact, a lot because of Beats.
00:47:46 Marco: Beats has made this segment popular among young people who were previously just wearing crappy earbuds.
00:47:51 Marco: So if you'd like Beats to me, and I mean this in the good and bad ways, there are good ways here.
00:47:58 Marco: Beats has done to headphones what Starbucks did for coffee.
00:48:01 Marco: It isn't the best coffee, but it brought coffee to the masses that was above and beyond both the price and the quality of 7-Eleven crap that you get at gas stations.
00:48:14 Marco: Beats has done that to headphones.
00:48:15 Marco: It's way better than earbuds by a long shot.
00:48:19 Marco: It's way better than the crappy little $20 things you get at the drugstore.
00:48:24 Marco: It's a lot more expensive.
00:48:26 Marco: And you can do a lot better.
00:48:29 Marco: But it's bringing... It brought full-size headphones to the masses again.
00:48:34 Marco: And it's bringing this whole category of expensive headphones to the masses.
00:48:39 Marco: And making that cool.
00:48:40 Marco: Making it cool to walk around wearing...
00:48:42 Marco: Anything beyond earbuds.
00:48:43 Marco: I mean, I would love to walk around wearing nice big headphones that sound good.
00:48:49 Marco: But until about this year, I would have felt like an idiot walking around like that because I would look ridiculous.
00:48:54 Marco: Now, everyone's wearing big headphones.
00:48:57 Marco: And that was largely started by Beats.
00:48:59 Marco: So anyway, it's a very good headphone brand.
00:49:02 Marco: It's not for me, but it's a very good, successful brand.
00:49:06 Marco: And they're selling a lot of $300 things in Apple stores.
00:49:09 Marco: And it's a very high margin business.
00:49:11 Marco: So I look at this primarily as a retail buy.
00:49:15 Marco: Like, I think the music service, I'll get to that in a second, but I think the music service is actually a secondary deal here.
00:49:20 Marco: I think this is primarily about the retail headphone brand.
00:49:24 Marco: And they already have tons of real estate in Apple stores.
00:49:27 Marco: Apple sells a ton of them.
00:49:28 Marco: And they're going to get a nice boost in just retail margins from this.
00:49:32 Casey: But do they really need that?
00:49:34 Casey: I mean, I don't know.
00:49:35 Casey: I don't buy that they're not going to make Beats headphones become Apple headphones because they don't need more money.
00:49:42 Casey: I mean, they're freaking printing money.
00:49:44 Casey: Apple is.
00:49:45 John: Well, no, but think of it as a strategic thing, like about wearables.
00:49:48 John: How many things does Apple sell that you wear that they're successful selling?
00:49:52 John: I mean, the earbuds, I guess them and a kind of like the iPod Nano at various times is clipped to you or the shuffle, stuff like that.
00:50:00 John: But like, it's clear that seems clear that Apple wants to get into wearables.
00:50:04 John: Beats is the company that sells something you wear.
00:50:07 John: that is very popular and like and even though i said i think they'll keep the brand the reason this build your own acquisition thing is so much fun is all scenarios are plausible because it would be plausible that they bought beats they will destroy the beats brand and never use it and merely have bought it because they want the expertise of people who know how to sell something expensive that you wear that is cool and say please do that for us and they want jimmy ivine
00:50:33 John: to do deals with the record labels because he knows them or whatever.
00:50:36 John: That is less likely than what I think, but it's not outside the realm of possibility.
00:50:39 John: Most people aren't talking about that, but do you guys think that's impossible?
00:50:42 John: That they would ditch the headphones, turn the streaming service into an Apple streaming service, and what they would be getting at a deal is relationships with music companies, if not necessarily license agreements, depending on what legality is, and the expertise of a company that had figured out how to build something with $300 that people wear that they'll happily buy.
00:51:00 Marco: Well, so let's get to the music thing then, because I think, again, I think the headphone business is way too big and successful for Apple to shut down that brand or get rid of that.
00:51:12 Casey: I still disagree.
00:51:14 Marco: People love Beats.
00:51:16 John: everyone except audiophiles loves beats but see if they if they killed the business it would leave a vacuum in the market because as marco pointed out this is like the starbucks moment for our big headphones kind of like a retread of the 70s where big headphones were in briefly or the 60s and 70s where big headphones were in then mostly because you couldn't have decent sounding small headphones but uh you know i don't think it's implausible that they would ditch it entirely
00:51:40 Casey: I don't know.
00:51:40 Casey: I think if anything, they would become Beats by Apple, and then it would become just Apple.
00:51:46 Casey: Maybe they don't flush the Beats brand in its entirety immediately, but I don't know.
00:51:51 Casey: If they're after headphones at all, which obviously none of us know if that's the case, but if they're after headphones...
00:51:57 Casey: I don't see the point in owning a company that continues to operate autonomously when you've already got a crap load of money.
00:52:06 Casey: It'd be one thing if Apple was barely profitable and then they buy this hugely profitable business.
00:52:11 Casey: Okay, well, in that case, don't mess with what works.
00:52:13 Casey: But Apple, like I said, they're printing money.
00:52:16 Casey: Why would they not fold that into the Apple brand and hopefully bring those customers with them?
00:52:23 John: But they would by getting rid of the Beats brand, you'd be putting a void in the market.
00:52:27 John: And who fills that void?
00:52:28 John: You're hoping it will be Apple to fill that void, but you'd be immediately.
00:52:31 John: It's like if Starbucks folded and then it would be like, well, but someone's got to buy their, you know, high price coffee from somewhere.
00:52:36 Casey: I'm not saying stop having Starbucks stores.
00:52:40 Casey: I'm saying put the words blue bottle in front of the on the store instead of Starbucks.
00:52:44 John: Please email Casey.
00:52:47 John: Yeah, but what they're selling is the brand, though.
00:52:50 John: You know what I mean?
00:52:52 John: Beats is not the headphone.
00:52:53 John: If someone else sold the headphone that looks slightly different and didn't have the word Beats in front of it, someone would ask you, hey, is that a new pair of Beats?
00:52:59 John: You'd say, no, it's what insert name of credit knockoff.
00:53:02 John: You'd be creating a void in the market that would have to be filled by somebody, and it would be up to Apple to fight with all the other people to fill that void.
00:53:09 John: Oh, please buy our Apple headphones.
00:53:10 John: They're designed by the same guys who designed Beats.
00:53:12 John: Fine, Beats by Apple.
00:53:13 John: That will take over the cachet that Beats had established.
00:53:17 John: I mean, it's fashion.
00:53:18 John: If Calvin Klein goes away, you don't immediately get their market share because you made them go away.
00:53:23 John: If you acquire Calvin Klein and sunset the brand, you don't get all those customers automatically.
00:53:28 John: Everyone's got to fight for him again.
00:53:29 Marco: Yeah.
00:53:30 Marco: And also, you can't underestimate the impact that Beats has had on the market.
00:53:34 Marco: If you look around at any other headphone company, even old companies like Sennheiser, AKG, these big old headphone companies that are making these things forever, they all now have headphones in the $100 to $300 range that have certain colors, colored cables, all this stuff like...
00:53:53 Marco: all these design cues and adjustments and these brands brands all these like these these these old boring brands made these like new young model names uh and like the sennheiser momentum and all this stuff like and they all look like beats like they all they all took all those design cues they it's clearly inspired by beats if nothing else like and yeah they sound way better you know i i would have the sennheiser momentum over beats any day even though i didn't even like the momentum that much
00:54:22 Marco: but uh but it's impossible to understate how dominant beats is in this in this market and how much their brand is really worth and how much people have been inspired by and are aspiring to be like them and other headphone brands are copying them left and right trying to be more like them but they are dominant in this market so here's here's why i think this all ties in so
00:54:46 Marco: The hardware business, I think, is very good.
00:54:49 Marco: It's a nice boost to their retail margins and everything else.
00:54:52 Marco: That's fine.
00:54:53 Marco: And John, I think you're right that this is more about Apple becoming a fashion and lifestyle company.
00:54:59 Marco: That is a very, very good reason for this.
00:55:02 Marco: But I think the music angle and the cool factor is the biggest.
00:55:07 Marco: You know, if you look at what iTunes is, iTunes is, it's never been that financially important to Apple, but it's always been spiritually important and important for their public perception and marketing and branding.
00:55:21 Marco: Steve Jobs said a long time ago, you know, a long time ago he had dismissed streaming services or the demand for them, saying that people want to own their music.
00:55:32 Marco: And that has proven to be wrong, like many Steve Jobs dismissals over time.
00:55:38 Marco: I'm sure if he was still around today, he would totally deny that and say, oh, yeah, streaming services are great because now we have one, you know, in typical Jobs style.
00:55:47 Marco: um you know he steve jobs was wrong and it turns out that sorry merlin turns out that a lot of people don't care about owning their music and a lot of people want streaming and that's all they want i know so many people i mean listen to the prompt every week they talk about this like and you know so many people just use streaming music now and they don't like they don't even keep itunes libraries anymore itunes like apple is dominant in that in the digital music realm like in selling digital music
00:56:17 Marco: But I think the world of selling digital music is on the decline.
00:56:20 Marco: iTunes posted pretty disappointing numbers recently and this has been kind of in the analysis or in the analyst world a little bit.
00:56:28 Marco: But I think it's pretty clear that Apple is the king of a sinking ship here.
00:56:32 Marco: This is a terrible mixed metaphor.
00:56:35 Marco: Sorry.
00:56:37 Marco: Apple is so dominant in this world that a whole bunch of people no longer care about.
00:56:45 Marco: And
00:56:46 Marco: They try to get into streaming with iTunes Radio, and nobody cares.
00:56:50 Marco: iTunes Radio is not that good.
00:56:52 Marco: I've used it here and there, because I don't use streaming enough to get one of the better services.
00:56:56 Marco: But even I can look at iTunes Radio and say, this is, I think, the worst of the streaming services.
00:57:01 Marco: And they're just not... They're not getting it.
00:57:06 Marco: They...
00:57:08 Marco: And Beats, if you look at the other streaming services that are more successful than Beats in raw user numbers, I think they're a little bit less Apple-like.
00:57:17 Marco: Beats is much more about editorial choice and featured playlists made by actual artists and editors and stuff like that.
00:57:25 Marco: It's less about just pure algorithms.
00:57:28 Marco: And I think that's more Apple's style.
00:57:30 Marco: And I think that would fit in better with the iTunes store if it was ever merged in, where it's more about editorial choice
00:57:36 Marco: from the music industry, right?
00:57:39 Marco: That is kind of very Apple versus RDO or Spotify or the other ones.
00:57:43 Marco: So I think it makes sense for them to buy.
00:57:46 Marco: And I think there's only... They have to be realizing that Apple is run...
00:57:51 Marco: By a for the most part, the same very longstanding group of pretty uncool middle aged white guys who work at a tech company in California.
00:58:03 Marco: And that was cool for a while.
00:58:05 Marco: And I think that time has passed and I think they know it.
00:58:07 Marco: And it's pretty clear now that Apple is no longer like inherently cool.
00:58:12 Marco: They make good stuff here and there that people like, but Apple as a brand is no longer like just the coolest thing in the world where it was, you know, three to five years ago, say it is no longer up in that peak.
00:58:26 Marco: And yeah,
00:58:26 Marco: Beats is, it's not as big as Apple, but it is probably better regarded.
00:58:33 Marco: And it's certainly in the area of music alone.
00:58:35 Marco: Obviously, Beats doesn't make phones and everything.
00:58:37 Marco: In the area of music alone, I think Beats is a way better and more promising brand now and in the future.
00:58:45 Marco: than iTunes is.
00:58:46 Marco: I think iTunes is really on its way out of dominance just because the thing it does is falling out of favor so quickly and probably more quickly than Apple even imagined.
00:58:54 Marco: And Beats is really good at it and it has a really good foundation and they can bring these people in.
00:58:59 Marco: They're going to bring in the executives from Beats and if the rumors are true, they're going to take on executive roles and lead the music division at Apple.
00:59:08 Marco: That's awesome because that's exactly what Apple needs.
00:59:11 John: i was thinking about why why downloads uh why steve jobs thought the streaming wasn't uh a thing and the downloads would be better uh i mean a lot of it is that you know times change and you know that the infrastructure changes that make streaming more feasible but even when he said it he if he had thought about it uh a little bit differently i think he would have realized that streaming was inevitable and maybe he did because he very often did not reveal his inner thinking about these things but it was like
00:59:37 John: He was coming from an era where there was two ways to get music.
00:59:40 John: You bought a record at the record store or you turn on the radio and listen to it.
00:59:44 John: And one you controlled entirely and you purchased music and you owned it.
00:59:46 John: You could pick which songs you wanted.
00:59:48 John: You could go to the store and buy them.
00:59:49 John: You could play them whenever you want.
00:59:51 John: And the other one you had no control over other than changing the radio station.
00:59:53 John: Even that was limited control due to payola and limited bandwidth and various other things.
00:59:59 John: but he should have seen it coming, is that, okay, we're offering a digital version of you going to the record store and buying music.
01:00:05 John: There will be a digital version of the radio, but you will have some control over it.
01:00:09 John: It won't be like the radio radio where it's broadcast over a certain, you know, wavelengths and you all just receive it into a certain number of stations.
01:00:16 John: Why shouldn't the listener be able to have almost as much control over what they listen to on a streaming service as they do buying things?
01:00:22 John: And that's basically what's happened.
01:00:23 John: No one wants to listen to just a radio station.
01:00:26 John: that just plays music.
01:00:29 John: Oh yeah, radio sucks.
01:00:30 John: They want control and these services are like, fine, we can give you that.
01:00:34 John: Give us a seed and we'll make you a playlist.
01:00:36 John: We'll have people editorially pick things.
01:00:38 John: We'll have you be able to say songs that you don't want to hear again or songs that you do like and do like...
01:00:43 John: All that technology is there.
01:00:44 John: And once that's there, like, you know, you've got the buying music and now you've got the listening to the radio.
01:00:50 John: But listening to the radio starts to have almost all the advantages.
01:00:53 John: In fact, some advantages that buying music doesn't have, which is you're surprised what's going to come next.
01:00:56 John: You're going to discover new music that way.
01:00:58 John: And yet the business model is different.
01:01:00 John: It's not free with interminable ads.
01:01:01 John: You have to pay some money for it or iTunes does have – iTunes Radio does have ads.
01:01:06 John: Is there a pay tier for iTunes Radio?
01:01:07 John: I don't even know.
01:01:08 Marco: It's tied into iTunes Match.
01:01:10 Marco: If you pay for iTunes Match, you don't get ads on iTunes Radio.
01:01:12 John: Yeah.
01:01:13 John: But anyway, like it's –
01:01:15 John: as you know it's streaming but it's streaming with many many of the advantages of purchasing music so it seems like it was almost inevitable that like radio's been popular forever why were people willing to put up with that crap well it was a nice way to ambiently have music on the go and be surprised relatively no it wasn't just our standards were lower
01:01:31 Marco: We had fewer alternatives.
01:01:34 Marco: Radio has always been terrible.
01:01:35 John: The idea that somehow purchasing music of your own would completely replace any kind of broadcast medium, it was never going to happen, and it was clear that streaming would be able to become the thing that is today.
01:01:46 John: And interestingly about Beats, and speaking of streaming and everything, people talk about how Beats, and I just said it earlier, is so small in the streaming market compared to the big players in the streaming market, and even in the headphones market.
01:01:56 John: I mean, yeah, they're the big gorilla in big expensive headphones, but
01:02:00 John: In the grand scheme of things, which I think is what Casey was getting at, how much money is that?
01:02:05 John: A billion here, a billion there.
01:02:06 John: Apple loses that in its sofa, right?
01:02:10 John: But when you're going to buy a company, and we talked about this with Facebook, you want to buy it before you have to pay $19 billion.
01:02:17 John: If you think a company is going to be a $19 billion company, buy it when you can get them for $3 billion.
01:02:22 John: And so, like, all the people who are saying, why would they buy this small company?
01:02:26 John: You don't, you know, it's buy low, sell high, or buy low, sell never.
01:02:30 John: It's not wait until they're gigantic and say, oh, I want to buy the number one streaming company, because if they tried to buy...
01:02:36 John: you know the number one streaming company ever that is spotify at this point it would probably cost them more and it's not this is a safer bet because like i said three billion dollars if it goes south it beats fizzles out because fashion things often do if it ends up not being calvin klein but it ends up being like i don't know the swatch watch or or something something else from the 80s that kind of come came and went because that happens at fashion all the time hey you're only out three billion dollars
01:03:01 Marco: no big deal right also i mean and this is probably a much smaller concern but it might it might grow to be a bigger one um beats is on all the platforms or at least on android i mean who cares about windows mobile um but it's on you know so beats might be a way i don't think apple would ever swallow its pride and bring itunes to android um but but having beats radio whatever what's the music service called just called beats the beats music maybe yes beats music okay
01:03:29 Marco: I don't think Apple would be opposed to keeping Beats Music on Android and maintaining it and growing that business there, too.
01:03:35 Marco: So it's a way for them to, you know, for their music streaming business to to be to get as many people as possible.
01:03:42 John: iTunes for Windows.
01:03:43 John: I mean, that's the precedent is sometimes in some businesses that Apple wants to be in.
01:03:48 John: You have to be on other platforms.
01:03:50 John: Yeah.
01:03:51 John: If you want to be 70 cent market share of digital music players, you need iTunes for Windows.
01:03:55 John: And if Apple ever wants to be some big number market share in streaming music, they're going to have to be in other platforms.
01:04:02 Casey: Where is Beats Music available?
01:04:04 Casey: Is it only in the States?
01:04:06 Marco: I think so.
01:04:07 Marco: But it's a very young service.
01:04:09 Marco: Usually, the streaming services start out in one country, and they broaden as they can negotiate the rights everywhere else.
01:04:16 Marco: Beats has only been around for a few months, right?
01:04:18 Marco: It's a very young service.
01:04:19 Casey: Launched at the end of January.
01:04:20 Marco: yeah it's so it's i'm i'm pretty sure uh i'm pretty sure that's not really that much of a concern right now like i'm sure if if apple really is buying beats that they will make it available 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 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 uh on acquisition but
01:04:44 Casey: Yeah, I should also point out that Beats apparently was MOG way back when, and MOG is available or was available in the U.S.
01:04:51 Casey: and Australia.
01:04:53 Casey: But I believe Beats is only available in the U.S.,
01:04:55 Marco: I think you're right.
01:04:57 Marco: But you know what's available worldwide?
01:04:59 Casey: Tell us, Marco.
01:05:00 Marco: Our next sponsor, lynda.com, L-Y-N-D-A dot com slash A-T-P.
01:05:05 Marco: lynda.com helps you learn and keep up to date with your software, pick up brand new skills, or explore new hobbies with easy-to-follow video tutorials.
01:05:14 Marco: Whether you want to learn a new programming language, create a graceful user experience for your website, or get your first code up and running with Objective-C, Lynda.com offers thousands of video courses and a variety of topics.
01:05:25 Marco: They have over 2,400 courses taught by industry experts, and they add more every week.
01:05:30 Marco: Lynda.com works with software companies to provide you with updated training the same day new versions hit the market.
01:05:36 Marco: So you're always up to speed with things like the new version of Photoshop or Illustrator or Final Cut.
01:05:40 Marco: They have all these courses on applications, programming languages, all this stuff.
01:05:45 Marco: And this is for all experience levels, whether you're a beginner or advanced.
01:05:49 Marco: They have all this available...
01:05:51 Marco: for one low monthly price of just $25 a month.
01:05:55 Marco: That gets you unlimited access to the entire lynda.com library.
01:06:00 Marco: So if you want, you can be like me and learn PHP.
01:06:04 Marco: They have a course on dynamic data-driven websites with PHP.
01:06:07 Marco: You can learn everything from using PHP in a web page to building applications for Facebook.
01:06:12 Marco: Because I once heard a wise programmer say, the world needs more PHP.
01:06:19 Marco: What?
01:06:20 Marco: If you want to go with common wisdom like Casey and learn Node.js, they have that as well.
01:06:25 Marco: You can learn to create entire JavaScript applications with Node.js right on Lynda.com.
01:06:29 Marco: They even have courses right there on new stuff like that.
01:06:33 Marco: They even have courses on branding.
01:06:35 Marco: So you can learn how to manage the way you're perceived online and off with personal branding strategies.
01:06:40 Casey: Oh, my God.
01:06:41 Marco: I'm hoping they put that in there knowing how to read it like that.
01:06:43 Marco: We'll find out.
01:06:47 Marco: You can learn that at lynda.com along with a lot of more useful stuff like programming.
01:06:51 Marco: So you can bring... They have new stuff with iOS 7.
01:06:55 Marco: Every time there's a new SDK, they release a new video.
01:06:58 Marco: I'm sure this fall they'll have a new iOS 8 SDK video.
01:07:01 Marco: You can even explore ASP.net if you want to join Casey at his day job.
01:07:06 Marco: You can learn the structure behind robust ASP.net applications.
01:07:09 Marco: and the tools you need to manage data, construct APIs, and establish real-time web connections with a course that they call up and running with app.net.
01:07:17 Marco: Sorry, ASP.net.
01:07:18 Marco: Sorry.
01:07:19 Marco: App.net.
01:07:19 Marco: That would not be very useful these days.
01:07:22 Marco: Anyway, so go to lynda.com, L-Y-N-D-A dot com slash ATP.
01:07:28 Marco: And you can start a free seven-day trial.
01:07:32 Marco: Once again, it's $25 a month after that, gets you access to the entire catalog, unlimited access to everything.
01:07:38 Marco: I've learned things about logic and audio editing there for editing the show.
01:07:42 Marco: I've looked up a few things about some of the languages I was interested in.
01:07:45 Marco: So really, this is a very good service.
01:07:46 Marco: The videos are top-notch.
01:07:48 Marco: They're really professionally made.
01:07:49 Marco: They have nice little live transcripts on the side.
01:07:50 Marco: You can scroll around.
01:07:51 Marco: You can seek right there in the transcript.
01:07:53 Marco: It's amazing.
01:07:54 Marco: You can watch them on an iPhone or an iPad.
01:07:55 Marco: Really great stuff.
01:07:56 Casey: lynda.com l-y-n-d-a dot com slash a-t-p thanks a lot okay so there's been some interesting developments in the javascript world lately there have yes it's like he doesn't even read my twitter feed or the show notes i've been a little busy overcast isn't going to ship this year so why are you bothering hey uh anyway so i'm waiting for ios 8
01:08:19 Casey: All right, so there's been some interesting motion in WebKit and JavaScript, and it's funny because I put a link in the show notes, and I'm going to put it in the chat, and it's about how WebKit is leveraging LLVM
01:08:35 Casey: Yeah.
01:08:51 Casey: Then in the show notes I have, or in our show notes I have, when do we realize that JavaScript is for real?
01:08:57 Casey: Marco, explain to us how this is worse than HHVM.
01:09:00 Casey: And I don't want you to go there yet, but start thinking.
01:09:02 Casey: So what the crap are we talking about?
01:09:04 Casey: So I'm a little fuzzy on the boundaries, and John, interrupt me whenever you're ready.
01:09:08 Casey: But basically, when you run JavaScript in WebKit, there are different stages of compilation and interpretation that the JavaScript will go through.
01:09:18 Casey: So at first crack, it'll just run the JavaScript interpreted, which is very quick to get going, but not terribly efficient because it doesn't look for ways to make the code that other people have written to be a little leaner and a little more efficient.
01:09:33 Casey: Yeah.
01:09:33 Casey: If any bit of code runs so many times that it crosses a threshold, and this is where I start to get fuzzy, it will do like a kind of quickie compilation into native code.
01:09:47 Casey: Is that right, John?
01:09:48 Casey: Or am I already going off the rails?
01:09:50 John: You should have stuck to the broader generalities, but I confess that I don't know the specifics either.
01:09:54 Casey: Okay.
01:09:54 Casey: Well, let's keep it broad then.
01:09:55 Casey: That's fine.
01:09:56 Casey: Good call.
01:09:57 Casey: So basically, with time, you can go through several stages where each further stage requires a little bit more upfront work, and in some cases, a lot more upfront work, but the results are that much quicker.
01:10:11 Casey: And the final stage was – after the final stage, I should say –
01:10:17 Casey: the WebKit developers started thinking to themselves, well, you know what?
01:10:20 Casey: We really should optimize this code that we've generated.
01:10:22 Casey: So we've taken JavaScript and kind of translated it into a different kind of code.
01:10:26 Casey: We should try to optimize this really well, because if you've gotten all the way down this path, this is something that we feel like is running a lot.
01:10:35 Casey: Oh, and to be clear, WebKit is the rendering engine that's used in Safari and Chrome.
01:10:38 Casey: So...
01:10:39 Casey: If you've gone all the way to stage three, which is the maximum stage up until now, then you're running this code a lot.
01:10:45 Casey: And it's already made as quick as can be without some serious optimizations.
01:10:49 Casey: Well, they thought, all right, well, let's optimize this code and start trying to cut things out that we don't need.
01:10:53 Casey: Kind of like MP3s, if you will.
01:10:55 Casey: And so then they decided... Wait, it's lossy?
01:10:58 Casey: Okay, fair enough.
01:11:00 Casey: That was a poor analogy.
01:11:01 Casey: All right, but I'm going to get here.
01:11:02 Casey: I'm going to get there.
01:11:02 Casey: That would be amazing.
01:11:03 Casey: Give me time.
01:11:04 Casey: I'm going to get there.
01:11:06 Casey: So they decided, well, you know what?
01:11:07 Casey: There's another project that's really, really, really good, and that is about optimizing, and that's LLVM, which is half of the Clang and LLVM compilation combo.
01:11:18 Casey: And so they thought, well, why don't we just leverage LLVM to do this optimization for us?
01:11:24 Casey: Yeah.
01:11:24 Casey: And so if you've got JavaScript that runs in WebKit so often that it escalates all the way to this fourth level or fourth tier, I believe they call it, a compilation and optimization, in theory, it will get optimized the same way native Objective-C code gets optimized.
01:11:43 Casey: And so in principle, it should run pretty darn fast.
01:11:47 Casey: Okay, that's the setup.
01:11:49 Casey: John, go ahead and tear me apart or add what you have to add.
01:11:52 John: Here's how I would have summarized it, because I don't have the thing in front of me, so I wouldn't go into the details of the thing.
01:11:58 John: But you basically hit all the points.
01:11:59 John: But for people who want the even shorter summary of it, it's basically JavaScript comes down as a bunch of text.
01:12:07 John: And you have two things you have to balance here.
01:12:11 John: One is, how fast can I start running code?
01:12:13 John: And second is, how fast is that code when I run it?
01:12:16 John: And that's an important trade-off, because if you have some tiny little snippet of JavaScript, you don't want to wait like,
01:12:22 John: I'm going to make up numbers here.
01:12:23 John: These aren't real.
01:12:24 John: But you don't want to wait a second to start running it and then run the code for like a tenth of a second.
01:12:29 John: That's a waste.
01:12:30 John: You want to start running immediately, right?
01:12:32 John: And that continuum exists.
01:12:33 John: They had three tiers previously to do this.
01:12:36 John: We can run code immediately, but it's not going to be that fast.
01:12:39 John: We can take a little bit longer, and then the code will be a little bit faster.
01:12:41 John: And we can take even longer than that, and the code will be really fast.
01:12:43 John: And they're adding a fourth tier.
01:12:45 John: This is the FTL.
01:12:47 John: What is it?
01:12:47 John: Fourth tier...
01:12:49 Casey: I'm looking, but I can't find it.
01:12:55 John: Oh, fourth tier LLVM.
01:12:57 John: Yeah, fourth tier LLVM.
01:12:58 John: The joke I meant on Twitter is that, you know, and people think FTL, they think faster than light, obviously, but the secret internal codename might as well be, as far as I'm concerned, F this language.
01:13:10 John: They've already had an existing three tiers of figuring out how can we run this language, you know, fast.
01:13:16 John: We want to start running immediately and also have it run fast and figure out which one of these tiers to do everything.
01:13:21 John: So that's the trade-off they're making.
01:13:22 John: And the fourth tier is, all right,
01:13:24 John: for code that you know we've we've gone through all three of those other tiers and we still want to go faster and this is just in this piece of code that's running you know it's running all the time it's in some tight loop it's using a lot of cpu we will take a huge amount of time relatively speaking and figure out how to compile it with our actual compiler our actual you know the their core compiler system lvm system and the tricky part of this and the reason why i say it's f this language is because
01:13:49 John: All along those three tiers, you don't want to stop and be like, okay, we compiled everything with the really fast one that starts running stuff immediately, but it's kind of slow when it's running.
01:13:57 John: We got up and running really fast, but it's kind of slow when it's running.
01:14:00 John: We would like to, for this function and this function and this function, use the second tier.
01:14:04 John: You can't pause the world and say, wait a second, wait a second.
01:14:07 John: It turns out these two functions are called a lot.
01:14:09 John: I want to take a little some time here to compile this in a faster form and run it.
01:14:14 John: You can't pause execution.
01:14:15 John: That will kill your performance.
01:14:17 John: You have to sort of, you know, the old programmer analogy, you have to swap the engine while the airplane is in the air, right?
01:14:24 John: Right.
01:14:24 John: So you have to let everything run along and make an optimized version of this thing on another thread in the background and swap it in for the new one and all the way down the line.
01:14:32 John: And the same thing with the LLVM thing.
01:14:33 John: The fourth tier is it's going to take you a long time to compile.
01:14:36 John: But, you know, you find out something you think this is running so much.
01:14:39 John: We really want this to be super fast.
01:14:40 John: We're going to spend the time.
01:14:42 John: To compile this with our actual compiler.
01:14:44 John: You cannot pause execution when that's going on.
01:14:46 John: You have to compile it with the compiler.
01:14:48 John: And then when it's ready, swap it in.
01:14:50 John: And this technology for swapping in the faster versions of functions take longer to compile.
01:14:54 John: They already had more or less.
01:14:56 John: And this fourth tier is more difficult because what they're compiling is like LVM is used to compiling.
01:15:01 John: more static languages like C, C++, where variables don't change their type, for example, and where you know the type of things up front.
01:15:09 John: And they had to put in, they have to make a compiled version that they can sort of self-modify to say, oh, well, it turns out this optimization or this assumption is
01:15:17 John: is violated.
01:15:18 John: So bump back down to one of the slower versions that has the more dynamic properties.
01:15:21 John: Oh, which turns out with this, we don't actually know the type of this is actually a different type.
01:15:25 John: Now swap in a different type there that you can read the article, which we put in the show.
01:15:29 John: It is very long and very complicated, but this is essentially the trick they're doing is they're, they're doing this trade off between how fast can we start running and how fast do we run?
01:15:36 John: And they're doing this thing all in parallel where they don't stop the running of the program to swap in the faster versions.
01:15:42 John: And finally in the fourth tier, they're shoving in a,
01:15:45 John: much more rigidly optimized version in the hopes that all their assumptions about that version will be correct and when they're not correct they have fallbacks and it's a really great article in the same sense as the backblaze thing telling you the internals of like how they decided to do something uh
01:16:01 John: It's great insight into how do you make JavaScript fast, essentially?
01:16:06 John: How do you F this language?
01:16:08 John: How do you apply, like, brains and engineering experience and say, we're going to make JavaScript fast.
01:16:13 John: I don't care if this is a terrible language that is incredibly resistant to optimization.
01:16:19 John: We're just going to throw engineering resources at it until we get fast.
01:16:21 John: I mean, same thing with the PHP and, you know, HHVM.
01:16:24 John: If you have enough money and enough engineering resources, you can make almost any language fast, you know, and that's what they're doing.
01:16:30 John: They're just, you know, and it's an amazing engineering feat.
01:16:33 John: And by the way, the other JavaScript engines that used by Firefox and that, you know, what Chrome is doing with their V8 engine, Google's doing in the V8 engine.
01:16:42 John: And by the way, Casey, you said that WebKit is used by Chrome.
01:16:45 John: It's not.
01:16:45 John: That's Blink now, which is a fork of WebKit.
01:16:47 John: But anyway, right, right, right, right.
01:16:49 John: they're all they all have similar things to this they all have they all have to make the same exact trade-off how do we start running immediately but also be able to run the thing that runs a lot faster and they do similar similar type of things of tracing execution seeing which things are run frequently and compiling them into a faster form and swapping them in like this is not an amazing breakthrough from apple that no one is unprecedented in the javascript industry we have tons of really smart people all trying to make jobs faster and as to your question casey one when do you realize javascript is for real
01:17:19 John: I think everyone realizes we're stuck with it.
01:17:21 John: Like, except for maybe Google is trying to make dark, like it's in web browsers everywhere.
01:17:26 John: And so that's why we're like, well, we're just going to have to make it faster.
01:17:28 John: And we're trying to make JavaScript better, but that's such a slow process.
01:17:31 John: You have to wait for all the web browsers to turn over and to get a new version of ECMAScript approved.
01:17:35 John: And it's just such a long timeline.
01:17:37 John: It's like JavaScript is what we've got.
01:17:39 John: Is it for real?
01:17:41 John: Well, it's what we're stuck with.
01:17:42 John: And so we're just going to do what we can to make it fast.
01:17:44 John: And I think,
01:17:45 John: Everybody who is into dynamic programming languages, pick your favorite, you know, PHP, Perl, Python, Ruby.
01:17:53 John: We all wish that we had the engineering resources put towards our favorite language to make it fast.
01:17:58 John: Because it suffers from all the same hard to optimized bits about, you know...
01:18:01 John: typeless variables or dynamic types or things that you know could be faster it's like man can you imagine how fast like python would run if it had this amount of engineering resources to run it or ruby or pearl or i mean php is kind of getting a similar amount of resources thrown at it by at least by one company so
01:18:19 John: It's interesting, not so much because it's novel, but just because it's you get to see Apple doing what it does best, which is great engineering.
01:18:25 John: The WebKit team is very skilled.
01:18:27 John: And yes, they're doing something similar to what other people have done, but in a slightly different way.
01:18:31 John: And it's smart of them to leverage the compiler that they've sort of brought up to be a world class compiler.
01:18:37 John: Which is, it's open source.
01:18:39 John: Other people could have used LLVM as well.
01:18:40 John: And I think I saw a lot of people poo-pooing LLVM saying, well, it's too slow.
01:18:44 John: You can't use that for a just-in-time compiler.
01:18:45 John: No, you can't.
01:18:46 John: You have to save it for the bits that you really know are going to be running quickly and you have to be able to swap them in.
01:18:50 John: And they did some clever changes to LLVM itself to make this happen, which is nice when you're kind of steering the LLVM project as well.
01:18:57 John: So...
01:18:58 John: I think I tweeted, I don't know whether to give a standing ovation or weep.
01:19:03 John: And the standing ovation would be, good job, guys.
01:19:05 John: This is great engineering.
01:19:06 John: You know, it's interesting.
01:19:07 John: Great blog post about it.
01:19:09 John: Thumbs up.
01:19:11 John: You know, I like JavaScript being faster.
01:19:12 John: And weep to say, you guys have got to go through heroic measures to make JavaScript fast.
01:19:17 John: And why?
01:19:17 John: Because it's the language we're all stuck with.
01:19:20 Casey: So I guess I've turned a new leaf in my appreciation for JavaScript because in so many ways it really is a terrible, terrible language.
01:19:30 Casey: And I forget the name of the – oh, Gary Barnhart did a great – like literally two or three-minute video about how JavaScript and Ruby are really kind of wonky.
01:19:42 Casey: And we'll put a link in the show notes.
01:19:45 Casey: But in that – be that as it may –
01:19:49 Casey: I feel like JavaScript, like it or not, whether or not it's academically a good language, it is, just like you said, John, it's here.
01:19:57 Casey: And this is the real deal, and this is what we're using.
01:20:01 Casey: Or what we're using for certain things at certain times.
01:20:05 Casey: And I come back to, I've started to write...
01:20:08 Casey: or do a lot more DOM manipulation in my day job with JavaScript and jQuery.
01:20:13 Casey: And the things you can get done are really, really impressive with not that much code.
01:20:17 Casey: I wrote not a lot of code to get my blogging engine going.
01:20:21 Casey: Now, granted, I stood on the work of many other people in a lot of code that they wrote, but I didn't write that much.
01:20:27 Casey: And I feel like, and this is the same guy, Gary Barnhart, did a really great talk about the birth and death of JavaScript.
01:20:33 Casey: We'll put that in the show notes.
01:20:34 Casey: This one is about half an hour, but it's worth it.
01:20:37 Casey: And really...
01:20:38 Casey: I agree that JavaScript is academically just a terrible language in so many ways.
01:20:44 Casey: But at what point do we realize, you know what, it's good enough.
01:20:49 Casey: And to me, I don't see why it's that terribly different than PHP, which in some ways is far superior academically, but really in the same boat, you know, it's kind of slow or slow enough that you need HHVM to make it quick.
01:21:06 Casey: So, Marco, I'm trolling, but I'm also honestly asking you, like, how do you feel like PHP and JavaScript are not very similar?
01:21:14 Casey: Why do you like PHP so much?
01:21:17 Casey: No, why do you like PHP so much?
01:21:18 Casey: I'm not talking about the particulars of the language.
01:21:20 Casey: Why do you like PHP so much and why do you snicker so much at JavaScript?
01:21:24 Marco: PHP is actually a pretty C-like language.
01:21:28 Marco: There's a lot that I like about it that is because it resembles the way C works.
01:21:33 Marco: And not at the low level, of course, but conceptually, syntactically, a lot of the direct mappings to C libraries that are available within it, stuff like that.
01:21:43 Marco: I like that about it.
01:21:44 Marco: I like...
01:21:46 Marco: I like that it's everywhere.
01:21:47 Marco: It is way faster than JavaScript.
01:21:49 Marco: Even five years ago, it was way faster than JavaScript.
01:21:52 Marco: Even before HHVM, just inherently, it is possible to make way faster, I think.
01:21:59 Marco: I don't know enough about it to say that for sure, but it at least always has been way faster.
01:22:04 Marco: No one has ever really complained that, oh my god, the PHP on my server is too slow, except Facebook.
01:22:09 Marco: only because they have a billion servers so it actually matters for them but PHP in general has always been very fast there's lots of other problems with it but performance has never been one of them and you know obviously it's not as fast as like C or a really fancy compiler like the way HFVM can make it super optimized and just compile and everything but it's still really fast for what it is so I don't see a whole lot of parallels here honestly
01:22:37 Marco: Except that they're both academically bad languages that we are stuck with by ubiquity.
01:22:42 Casey: That's a very good point.
01:22:44 Marco: Or by familiarity.
01:22:45 Marco: I don't like JavaScript.
01:22:47 Marco: To me, I still don't look forward to having to use JavaScript to do anything.
01:22:53 Marco: I try to avoid it where possible.
01:22:55 Marco: Even on the web, I will use it sparingly.
01:22:58 Marco: And I certainly have never been tempted by Node because of the language that it is.
01:23:05 Marco: I like the idea of Node, of its structure and its event-driven system.
01:23:11 Marco: I don't like the JavaScript language at all.
01:23:13 Marco: And so that's why I've never been tempted by it.
01:23:15 John: Can I try to tempt you for a moment?
01:23:18 Marco: Yeah, sure.
01:23:19 John: So the temptation that should get you into JavaScript is that it lets you run your code on other people's computers instead of your servers.
01:23:27 John: And it lets you make your servers act more like boring transaction processors that send and receive JSON in response to like RESTful requests.
01:23:35 John: And it's kind of refreshing as someone who's sort of gone from the server side programming to the client side programming throughout the history of the web to suddenly be able to run all your crap on someone else's computer.
01:23:44 John: Yeah.
01:23:44 John: their computer is way faster than your server way faster than the proportion of their of your server that they're going to get right they're not going to get your entire server they're going to get one eight thousandth of it depending on how people are hitting it uh and there's a lot of freedom in that and then it lets you write your server in a more sort of structured boring way where it is just like you end up just writing an api uh
01:24:07 John: It doesn't make the language any better, but it is kind of an interesting change.
01:24:11 John: If you think of web development as, oh, I have to write things on the server that spit out HTML to my clients with a little bit of JavaScript and changing it to I send my clients something once and they run a persistent JavaScript application that talks to my server through API endpoints that just talk in data.
01:24:26 John: That is it's a refreshing change for web development.
01:24:29 John: It may make you think on it less harshly.
01:24:32 Marco: I mean, that's certainly interesting, and there are some benefits to that, by all means.
01:24:38 Marco: I'm not denying that at all, especially with modern browser support for things like pushing onto the URL bars without actually making a request so that you can take over the back button and simulate a hierarchy without actually causing page reloads, stuff like that.
01:24:52 Marco: There are a lot of benefits to that, to a lot of different application types, but I hardly write web applications anymore.
01:24:58 Marco: I hardly ever wrote them to begin with, and usually I write web backends, and then I started writing iOS frontends.
01:25:06 Marco: And my web applications have always been like, I'll do the minimum required to get the job done.
01:25:12 Marco: But as I mentioned in the past, I'm really not into it.
01:25:17 Marco: I'm not driven to make an amazing web frontend for anything.
01:25:21 Marco: I don't care.
01:25:22 John: If you ever needed one, though, since you have to write the back ends to talk to your iOS app, you've already got a back end that's ready for your JavaScript app to talk to.
01:25:31 John: You wouldn't have to duplicate that code in having direct queries from your PHP to your database that does the same thing that the API endpoint.
01:25:38 John: If you do it once for your iOS app, you could use that same back end if you've done a good job to do your web front end as well.
01:25:45 John: And that would save you some time.
01:25:46 Marco: Right, and one of the things I like, in Overcast, I'm actually using a CDN for part of the API as a way to, and I'm thinking about what API requests can be cacheable at the CDN layer.
01:26:01 Marco: So it's another layer of caching that is both faster for clients to access and doesn't involve many hits to my server.
01:26:08 Marco: And so that'll make scaling a lot easier because not every single request will hit me.
01:26:13 Marco: um and so like you know if i'm looking at it from a javascript perspective that could be useful there too like if i can pull you know feed or episode data off of the cdn um because like you know a feed no matter who's looking at it has the same episodes in it um just might have different you know different progress different settings stuff like that but you know the the episode list itself is shared data
01:26:36 Marco: So there's, you know, cool things I could do with that.
01:26:38 Marco: But, like, I just, I don't see myself putting that much effort into the web side of things.
01:26:43 Marco: So I'm a bad example to even be asking this question to.
01:26:46 Marco: But I don't know, like, I see this whole thing with JavaScript optimization is a really...
01:26:53 Marco: technically interesting progress and and solution to a problem i just don't care about and that i don't really personally have very often i don't even use very many like heavy javascript web apps like i use google maps on the web but that's it like i don't use gmail i don't use a whole lot of like crazy web stuff like that's like i i don't even this will benefit a lot of people but not me
01:27:16 John: It will definitely benefit you because the bottleneck on mobile clients still is JavaScript execution speed.
01:27:23 John: You don't think it is.
01:27:24 John: You think, oh, this page is loading slowly.
01:27:26 John: But JavaScript, there's tons of it everywhere.
01:27:28 John: And the speed of JavaScript execution on mobile phones is still a limiting factor.
01:27:33 John: I mean, just compare the render times on desktop versus, you know, it's not like over the same connection, desktop versus mobile.
01:27:39 John: Yeah, phones are getting faster, but JavaScript is not, you know, it's difficult to optimize.
01:27:43 John: Look at all these things they're doing to optimize it.
01:27:45 John: So you'll benefit from it as a user more than a developer, perhaps.
01:27:48 John: You know, if they do a good job, it should, again, not in web views probably because we assume this is all going to only be in Safari.
01:27:55 John: But hey, at least in mobile Safari, things will get a little bit faster.
01:27:58 John: Like in some respects, what Apple is doing here is just the cost of being in the web browser.
01:28:02 John: business if you want to be if you want to be in this business which is we make a web rendering engine and apple does want to and should be in it you've got to keep up with the joneses and you know competition is good and everyone's getting faster along the same rate um so i you know i think you will benefit from it and if you don't think you will try loading the same web page pick one of these web pages that you think doesn't use any javascript to speak of
01:28:23 John: Load it in a web view, which presumably run without the optimizations, and then load it in mobile Safari and just time it and see which one takes longer before you can interact with the page before it renders.
01:28:32 John: I think you'll be able to measure the difference with a stopwatch.
01:28:34 Casey: Now, John, out of curiosity, I didn't think you did very much front-end development at your day job.
01:28:43 Casey: So what is the stack that you're using?
01:28:44 Casey: Are you using like Angular or something like that?
01:28:46 John: I know you're using – A full stack developer, Casey.
01:28:49 John: Didn't we have this?
01:28:50 John: That's what they call it in the resumes.
01:28:52 John: We need a full stack developer.
01:28:53 John: Anyway, yeah, now web development, as I've said... Ninja rock star.
01:28:57 John: As I've said in the past, yeah, right.
01:28:59 John: Being in web development means you... Like, in most places, they don't have these regimented roles where you are a back end and you are a front end.
01:29:07 John: Like, you end up having to learn...
01:29:10 John: Everything.
01:29:10 John: The full stack.
01:29:11 John: It's not a ridiculous term to say full stack developer.
01:29:15 John: I've used a lot of different frameworks.
01:29:17 John: The thing about JavaScript that people love and hate is that the framework that's popular now will not be popular in 18 months.
01:29:23 John: It's a lot of churn.
01:29:24 John: There's a lot of...
01:29:26 John: sort of the Cambrian explosion of different species.
01:29:29 John: And we're hoping there's some sort of consolidation, but it never seems to come.
01:29:32 John: So it is a young and vibrant community.
01:29:34 John: And yeah, I've tried a lot of the ones that are out there.
01:29:39 John: At a certain point, each project has to commit to one library or framework or a set of them, and then you use them for a long period of time.
01:29:44 John: And then the next thing you do, we'll go through the same process and you'll make different choices, including new things that didn't exist when you made the first choice.
01:29:52 Casey: So what's the flavor of the month over it where you work?
01:29:56 John: well i mean jQuery has seems to have more or less won out over the alternatives although the alternatives are still out there and people still like them so it hasn't totally squashed them but jQuery is fairly dominant in the realm of let me manipulate the dom without crying uh that category of thing um underscore and backbone i'm not saying they have their individual markets sewn up but they seem to be pretty popular these days uh i don't even know what those are
01:30:20 John: Yeah, that's why you hate JavaScript so much.
01:30:23 John: They take away some of the pain.
01:30:25 John: You know what jQuery is, right?
01:30:27 Marco: Although I've hardly used it, honestly.
01:30:29 Marco: I use jQuery very little because I just haven't needed to.
01:30:33 Marco: Most of my DOM stuff is simple and I just use the DOM straight for it.
01:30:38 John: Yeah.
01:30:38 John: So using the DOM straight used to be a nightmare because of IE.
01:30:41 John: Right.
01:30:41 John: And maybe you missed those days.
01:30:42 John: But like, oh, I just never cared about support.
01:30:44 John: Yeah.
01:30:45 John: Part of the big selling point initially of jQuery is, oh, God, thank God I don't have to do the 8000 things I have to do to manipulate the DOM directly because the APIs were just so incredibly different semantically and different function names and everything.
01:30:55 John: It's like I need something to paper over that.
01:30:57 John: And these days, the DOM APIs are more or less the same on all popular browsers.
01:31:04 John: You still don't want to use them directly because you want to do stuff like use CSS selectors to select elements, and you're relying on jQuery to do something that's fast.
01:31:11 John: It's kind of like using a database where you're like, oh, I can just type arbitrary CSS selectors into jQuery, and I'll get the elements that I want, and my problems are all solved.
01:31:18 John: And that's like the honeymoon period of jQuery until you realize, like the query planner that makes poor life choices...
01:31:23 John: You said, I'm assuming right now it will do, you know, get elements by class name, which is native.
01:31:27 John: And then I assume after it does that, it will do it.
01:31:29 John: No, it is not.
01:31:31 John: The query optimizer in jQuery, again, it has to do the same tradeoff.
01:31:34 John: Tradeoff between start doing what you asked me to do right now or spend some time thinking about what you asked me to do.
01:31:39 John: Come up with a really awesome plan and execute that.
01:31:41 John: And so...
01:31:42 John: Like in a database, you have to learn, well, you can write this expression in jQuery, but your code will be 10 times faster if you split it up into two jQuery selectors, or if you use native DOM to get these elements and then use jQuery on them.
01:31:53 John: And anyway, I think I've lost my thread wandering in the discussion of jQuery.
01:31:58 Casey: The question was, what is your framework or frameworks du jour at the moment?
01:32:02 Casey: You had mentioned underscore and jQuery and one other one that is... Backbone for, you know, for, I don't know, what else are we using that's...
01:32:11 Marco: Wait, are we talking about David Smith or a different underscore?
01:32:14 John: It's a different underscore, yeah.
01:32:15 John: I'm surprised people don't make that joke down more often.
01:32:17 John: Maybe different circles.
01:32:18 John: And the other thing is, like, how do you modularize JavaScript?
01:32:23 John: Because the JavaScript designers were kind enough not to include namespaces, just like some other language we are all familiar with.
01:32:29 John: Yep.
01:32:30 John: And so...
01:32:31 John: The various conventions for defining JavaScript modules, which are standardized into AMD modules.
01:32:36 John: I don't know if that's an ECMA thing or not.
01:32:38 John: But anyway, there's required JS, which is sort of AMD-like modules.
01:32:41 John: And there's nodes module system, which actually is AMD, I believe.
01:32:44 John: And then they're sort of half compatible with shims.
01:32:47 John: And this whole practice of how do I write a JavaScript application?
01:32:51 John: Because you're not going to write your JavaScript application by writing a big, long single .js file from top to bottom, right?
01:32:57 John: It's not PHP we're talking about here.
01:33:00 John: You're going to do it in modules, and how do the modules require each other and integrate with each other and stay out of each other's namespaces?
01:33:07 John: I mean, Casey's familiar with it because he's done a little bit of the Node stuff, but that's what modern JavaScript looks like these days, and it's not great, but every part of it, if you squint at it, you're like...
01:33:18 John: Yeah, I can kind of see why if you're going to write a serious application, you need something that does this, and you need something that does that.
01:33:23 John: And if you're going to manipulate the DOM, it would be nice to have something like jQuery that can paper over some of the weird things for you and provide some conveniences.
01:33:30 John: And if you wanted to go really insane, you could talk about what's the Meteor thing that sort of lets you query the database directly from JavaScript, which seems like a terrible idea to me.
01:33:39 John: But anyway, there's lots of interesting things out there.
01:33:42 John: Ember and Angular are the cool things that I've only...
01:33:46 Casey: vaguely looked at it and not used to do anything serious so maybe casey can write his next blogging engine using one of those and tell us how it is a couple of co-workers using angular and have very good things to say about it i'd like to check out react um both react in javascript and reactive coco but i haven't had the time um
01:34:03 Casey: Oh, I was going to say, the other reason that JavaScript is really appealing to me, which will mean nothing to Marco, is that in my day job, I tend to work on top of content management systems.
01:34:17 Casey: Things like SharePoint, although not always SharePoint.
01:34:19 Casey: And a recent project we did, we did it using this...
01:34:23 Casey: Really not awesome cloud based content management system where we had not a lot of control over what CMS was doing.
01:34:32 Casey: And so content management system, if you're not familiar, basically means it's easy for a regular schmo to go in and add and edit the things that are on the website.
01:34:40 Casey: So in our case, we had this cloud-based CMS that we really couldn't do all that much to.
01:34:45 Casey: 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 with JavaScript, with jQuery, with handlebars, which is a templating engine.
01:34:59 Casey: Yeah.
01:34:59 Casey: In that situation, it was great because I couldn't do a lot of the things that I would have otherwise chosen to do server side.
01:35:07 Casey: So just like John was saying earlier, I pushed that to the client and it actually worked out really, really well.
01:35:11 Casey: And that was the beginning of perhaps not my love affair with JavaScript, but that's when I started to turn the corner from Marco's point of view of, oh, this is crap to, you know what?
01:35:21 Casey: This actually can be pretty good if you're using it for the right reasons.
01:35:25 John: That's another one I forgot to mention, handlebars, mustache, JavaScript templating systems, all of which I think are terrible, but they have, like, people are always looking for, speaking of Node, like, you don't want to duplicate code on the client side and server side, and if you write any serious JavaScript application, you end up having to do that.
01:35:41 John: It's like, what if we just use JavaScript on the server side, thus, you know, Node.js?
01:35:44 John: Then we could use the same code client side and server side.
01:35:47 John: We wouldn't have this duplication.
01:35:48 John: And what if we had, you know, and then you want, I want to use the same templating system client side and server side too.
01:35:52 John: So they came up with these terrible templating system using multiple curly braces that I hate because they're, why do you hate them?
01:35:57 John: You know how many templating systems there have been in Perl?
01:36:00 John: like 9 000 and we've evolved way past but like this is like my first template i had an idea let's let you put variables and we don't want to have too much logic because that would mix code and templates so i'll make some kind of simple conditional but no loops okay we'll have loops and but we only have a simple kind of but oh you'll start to make a boolean to check or you just pass in a flag it's like stop it we did this already we did for two decades doing this never mind they'll figure it out in 10 years
01:36:26 Marco: I think what drives me nuts about this, and what turns me off from learning a lot of this new web stack stuff, is when you're talking about... I looked in the chat.
01:36:37 Marco: I've never heard of almost anything that we're talking about.
01:36:39 Marco: Somebody pasted a link to React, and so I looked at that for a second, and I'm like...
01:36:44 Marco: When you look at React, it is not JavaScript.
01:36:47 Marco: It's React.
01:36:48 Marco: It's its own thing.
01:36:49 Casey: jQuery is kind of like that, too.
01:36:51 Marco: Exactly.
01:36:52 Marco: jQuery is exactly like that, where they add so much on top of the language and they replace so much built-in functionality with their own way of doing it that they become like a little sub-language of themselves.
01:37:04 Marco: The language...
01:37:05 Casey: We haven't even started talking about CoffeeScript and... Yeah, CoffeeScript.
01:37:10 Marco: Yeah, yeah.
01:37:10 Marco: Right.
01:37:11 Marco: And if I were to invest a whole bunch of my time learning, quote, JavaScript, well, what does that include?
01:37:19 Marco: And you have all these... It seems like the web developers these days are so happy to pile on pretty large frameworks and components, pretty complex stuff that replaces so much built-in stuff that...
01:37:31 Marco: You're really a jQuery developer.
01:37:33 Marco: You're really a React developer.
01:37:34 Marco: You're really an X developer.
01:37:35 Marco: And the problem is that changes quickly over time.
01:37:39 Marco: And that fragments everything.
01:37:41 Marco: And so if I have a problem with something in iOS development using Objective-C and the Cocoa frameworks...
01:37:48 Marco: Everyone's using that.
01:37:49 Marco: Everyone's using the same thing, and it doesn't change over years and years and years.
01:37:54 Marco: And so it's easy for me to both learn it, to master it, and to find answers to questions I have about it because everyone's working with the same base and with the same API.
01:38:07 Marco: Whereas if you go into the web development world, and CSS has the same problem with all the crazy stuff they have, all the crazy frameworks they have going on with CSS, with JavaScript, all this crazy stuff,
01:38:17 Marco: there are all these like bolt ons that all want to be radically different and all want to provide like extremely rich functionality where like you write three characters and you have a blogging engine and you know, like all this, all this stuff and that it just, it's, it piles on so many layers and layers and layers that,
01:38:34 Marco: that it all feels not only very brittle, but you specialize your learning to this one little set of what you have.
01:38:43 Marco: And you have to be constantly updating your knowledge and throwing away expertise to keep up with all the crazy new stuff that's always coming out with, you know, there's going to be a new JavaScript framework next week.
01:38:52 Marco: And after that, like, there's going to be a new CSS compiler or the month after that.
01:38:56 Marco: Like, there's so many of these things and none of them are ever dominant.
01:39:00 Marco: jQuery is as dominant as any of them have ever become and that's even pretty old by today's standards and so you end up having such fragmented knowledge that you end up being like a master in you know liquid markup or whatever you know one of these creative things and it's like okay well the next year that's out of fashion and you got to relearn everything from whatever's new then
01:39:20 John: It's not as bad as you make it out to be because jQuery is vastly more popular than Objective-C in the grand scheme of things.
01:39:26 John: And it's like what you end up doing is you pick the technologies for your current project and you use them for your project.
01:39:32 John: And your current project is I'm making an iOS app.
01:39:34 John: And yes, you're lucky that in iOS, technologies change much more slowly than they do in JavaScript world.
01:39:38 John: But at a certain point, you pick what you're going to use.
01:39:39 John: Am I going to use core data?
01:39:40 John: Am I going to use...
01:39:41 John: use auto layout or whatever and you may change your mind and evolve that product but when you go your next product you say oh this one i'm going to use auto layout whereas i'm going to use arc where a previous one i didn't so it's a slow motion version of the same thing but in terms of like being able to find an answer believe me you can find answers to your jQuery questions your backbone questions your underscore questions like i've you know there's enough popularity because the the total market size of people who write web developers is so much bigger than the size of people who write ios apps you'll be able to find the answer
01:40:07 John: but you're right there is more turnover and less stability but the analogy i would use in terms of building on top of the things is first you learn c that will really help you understand objective c because objective c is essentially a program written in c the objective c runtime if you understand how c works and you can understand how the objective c runtime works then you understand this new syntax it is basically like coffee script that lets you run you know i write this crazy syntax with square brackets
01:40:31 John: And it calls the C functions and there's a runtime and the runtime is fairly small and understandable.
01:40:35 John: And once you understand, like that's the layering.
01:40:37 John: And it's like, oh, now I'm not a C programmer, I'm an Objective-C programmer.
01:40:41 John: You can go a bridge too far.
01:40:42 John: I would say things that are like source filters, like CoffeeScript and stuff, that maybe is taking it too far.
01:40:47 John: And obviously you're not going to dive into one of those expecting to disappear.
01:40:50 John: But at this point, you're pretty sure Objective-C is not a flash in the pan for iOS development.
01:40:54 John: And even though it's like based on C and there's a C runtime, if anything, it's evolving into a direction where that may not necessarily be the case if they can help it.
01:41:01 John: But it's not much different than that.
01:41:04 John: First, you have to learn the JavaScript language because without that, you'll be lost in the same way you have to learn C before you know objective C, at least these days anyway.
01:41:12 John: And then you'll build on top of that and pick a library and a framework and use it for an entire project and use it.
01:41:18 Casey: Like AF networking is very popular in the iOS space.
01:41:22 Casey: So, for example, are you using AF networking in Overcast?
01:41:25 Marco: I'm using... The only part I'm using is the category that lets you load images off the network because I just haven't had much of a reason to rewrite that.
01:41:34 Marco: But I actually... The old AF networking before iOS 7...
01:41:39 Marco: made a lot more sense.
01:41:40 Marco: It added a lot more value.
01:41:42 Marco: New AF networking with URL session stuff is such a thin layer on top of it, I actually don't think it's necessary for the most part.
01:41:51 Marco: I wrote my own API layer wrapper around my API so I could standardize things like what different return values mean and stuff like that.
01:41:59 Marco: I write everything through that, so it's a little bit different.
01:42:04 Marco: Again, I think there's tons of reasons to use AF networking, but I think
01:42:07 Marco: If what it presented was a vastly different interface, like reactive Cocoa is something that I don't know a lot about, but I've seen a few things here and there about it.
01:42:16 Marco: And reactive Cocoa is very, very different from the way you'd regularly write stuff.
01:42:23 John: and to me like that's a big risk because it's so different and it's so specialized and so you know that and it's not from the platform vendor like i know these we're all talking about third-party things but like to give an example something that's sort of from the platform vendor in web parlance it would be like local storage where it's like if you're deploying a web application for people with ipads like hospital or something right and you know they're all going to have ipads and apple adds local storage to mobile safari
01:42:49 John: you have more confidence in that than you do.
01:42:51 John: And like, I'm going to build everything on reactive cocoa, even though it's awesome because what if the company that makes reactive cocoa goes out of business?
01:42:57 John: Whereas you're not worried about Apple going out of business because if it does, you have bigger problems than a web to local storage.
01:43:02 Marco: Right.
01:43:02 Marco: And, and, you know, and I don't want to pick them.
01:43:04 Marco: That was just the first thing I thought of.
01:43:05 Marco: I mean, you know, maybe, maybe this doesn't apply to them as much as, as much as I'm thinking, but, but you know, like generally like I don't, I don't add a lot of third party code that requires dramatic changes in everything I'm doing in something.
01:43:18 Marco: Yeah.
01:43:18 Marco: Like, I try to add things that are small and thin, like, you know, self-contained utility functions.
01:43:24 Marco: Like, I added a thing called Lockbox, which is an easy wrapper on the keychain APIs, which are terrible.
01:43:29 Marco: So, like, it's a perfect thing to have, like, CocoaPod install.
01:43:33 Marco: Just get me this nice little wrapper that's a couple of files around this terrible API so I can use it simply.
01:43:38 Marco: Done and done.
01:43:39 John: But see, the JavaScript guys are writing these same things, but they've written them for you.
01:43:43 John: They're essentially writing Cocoa, right?
01:43:49 John: Right.
01:43:50 John: But they're writing a different Cocoa every six months.
01:43:52 John: Yeah, I know.
01:43:53 John: But if you pick the ones that you want to use, again, there's different Cocos for how am I going to do layout, springs and starts of auto layout, how am I going to do my data, core data, a bunch of P lists, my own custom thing.
01:44:01 John: There's always choices within the stack.
01:44:02 John: And Apple keeps adding new choices, granted at a slower pace and with more definitive, like, this is officially supported than the JavaScript community.
01:44:09 John: But it's not all that different.
01:44:11 John: And a lot of the things that you're writing yourself to get, like, the keychain API, if you were doing the JavaScript world, someone would have already written several different wrappers for that.
01:44:18 John: You would have found a reasonable one.
01:44:20 John: And you could have used, like, I think you'd be working at a higher level in the JavaScript world.
01:44:25 John: It may be more confusing, especially if you don't know which ones to pick or whatever.
01:44:29 John: But...
01:44:30 John: a lot of the work you're doing with fc model like it's like there are there are equivalent javascript frameworks that multiple ones of them that have already hashed it out and there have been one or two ones that have sort of come out on top that you could use uh and you wouldn't have to do that and you'd be like oh i'll just use backbone i don't have to write fc model like it's it's already there for me or whatever maybe you wouldn't like it maybe you'd write one yourself anyway but
01:44:51 John: But it's not that as different an experience as you might think coming in from the outside.
01:44:56 John: It's just that I think you're more comfortable doing the things you're doing in Objective-C because it seems like you have more of an idea of, like, Apple is the firmament upon which I build, and they provide so much stuff already.
01:45:07 John: Like...
01:45:08 John: All those libraries, they're not third-party.
01:45:10 John: They're first-party.
01:45:11 John: The entire framework and everything there is from Apple, and you can trust it.
01:45:14 John: When they add new stuff, you can choose from it.
01:45:16 John: Then you just add a thin layer of third-party stuff on top of that.
01:45:20 Marco: Right.
01:45:21 Marco: That's what I prefer.
01:45:22 Marco: The strong, rich framework built-in platform to the official language.
01:45:29 Marco: The Microsoft world is very much like this, right, Casey?
01:45:31 Marco: The .NET framework is very rich and full-featured.
01:45:35 Marco: Casey, how...
01:45:37 Marco: I mean, I haven't done Microsoft stuff ever professionally and even as a hobby, not for about 15 years.
01:45:44 Marco: But how much third party code do you end up having to add to a typical .NET project?
01:45:53 Casey: See, this is a very simple question with kind of a complex answer, but the short version is you don't really have to add anything, but there's a project called NuGet, N-U-G-E-T,
01:46:09 Casey: that is approximately the equivalent of NPM or CocoaPods.
01:46:16 Casey: And so because of that, it used to be that nobody ever used third-party anything because it was impossible to add to the project.
01:46:23 Casey: But now with Nougat, it's just like CocoaPods, which is just like NPM, where you can just, in the case of Microsoft, obviously, point and click your way into getting a package added into your project.
01:46:35 Casey: And because of that...
01:46:37 Casey: what used to be a pain and kind of taboo is now actually fairly popular.
01:46:42 Casey: And you'll see a lot of projects that are like Underscore in JavaScript or ReactiveCoco is probably not the best example.
01:46:53 Casey: AF Networking is a better example.
01:46:54 Casey: So you'll see a lot of that, but that's a very new thing.
01:46:58 Casey: And Microsoft actually started bundling Nougat
01:47:00 Casey: In with Visual Studio, which is a big deal because this is a third party thing that they decided to kind of unofficially yet officially bless as being the package manager for for dotnet applications.
01:47:13 Casey: So years ago, you never saw third party code reused or certainly not often today.
01:47:17 Casey: It happens relatively often.
01:47:20 John: Having a good management system like CocoaPods or NPM or CPAN with Perl makes such a difference in the experience of using a language.
01:47:30 John: It's not surprising that Apple wasn't all gung-ho.
01:47:33 John: Let's give you guys a great way to add this.
01:47:36 John: The community had to come up with its own way to do it, and it seems like CocoaPods is the popular one now.
01:47:41 John: And...
01:47:43 John: having that really changes the culture in terms of there.
01:47:46 John: It's not just like a bunch of people sharing their projects.
01:47:48 John: Oh, if you want AF network and go to this GitHub page and you can get it.
01:47:51 John: Like it's so much easier if there's like a command you could type and just say, Oh, now you've got it.
01:47:54 John: Now it's added to your project.
01:47:55 John: And obviously doing that without Apple support is in itself risky and weird.
01:47:59 John: And you never know when Apple will do something that makes Cocoa pods,
01:48:03 John: stop working or have to update stuff and you would hope that apple would do something think of how easy it would be if apple had a way to share like basically the equivalent of cpan and pearl or npm even it was just a giant directory of third-party code in a particular format that you could easily integrate with your xcode projects and share between projects and do it like developers would love that i'm not sure apple would love it because apple was saying what are you using f networking for that shows there's a hole in our api we're going to go back to the drawing board and come out with the ns url session or what is it called ns
01:48:32 John: Yeah, that's it.
01:48:34 John: NSQRL session, yeah.
01:48:34 John: Anyway, same thing with all their file handling.
01:48:37 John: Every time they would come out with an API, they should probably just sit there in GitHub and look at all the third-party Cocoa things and see what people are wrapping.
01:48:45 John: I mean, granted, it hasn't happened with Keychain yet, so sorry, Marco, but...
01:48:48 John: see the things that people are wrapping and then come back the next year at wadc and say stop doing those wrappers we don't like that uh we don't like it all our applications are using this particular wrapper we don't like when all our applications are built on powerpoint to power plant to go way back in time and talk about a dark time that both of you missed that's a bad situation to be in and now apple is totally crazed about avoiding that in the future uh
01:49:12 John: So I don't know if it's a healthy dynamic, but I'm glad something like Cocoa Pods exists, and I wish it was even better than it is.
01:49:19 Casey: Yeah, and I think in the end of the day, what we're running against, and Marco, you and I went back and forth about this on an episode or two ago, is that you tend to have this...
01:49:29 Casey: this just deep rooted need for control over almost everything.
01:49:34 Casey: And so that makes you reticent, I think, to use some of this third party code.
01:49:39 Casey: It makes you reticent to use Heroku, where you would rather just roll your own VPS.
01:49:45 Casey: And so I think this is another reflection of that, that you want to control everything.
01:49:50 Casey: And I think that is both your greatest strength and your biggest weakness all at once.
01:49:54 Marco: Well, certainly there are some weaknesses.
01:49:57 Marco: There are some downsides to that, no question.
01:50:00 Marco: And I am overly controlling in some ways.
01:50:03 Marco: However, a lot of that comes from having gotten burned in the past.
01:50:07 Marco: Sure.
01:50:09 Marco: People, as they get older, tend to get more conservative with choices that they make because they're fighting the last battle.
01:50:16 Marco: They're
01:50:17 Marco: They're trying not to repeat bad things that have happened to them in the past, even to a fault.
01:50:22 Marco: And so I try to avoid third party code because I've relied on so much bad third party code before that I've had to like replace or rewrite under pressure because it stopped working or it broke or it had some major shortcoming that I didn't hit until a certain point that, oh, crap.
01:50:41 Marco: this is really bad and the server's down as a result and stuff like that.
01:50:46 Marco: Or, oh yeah, this doesn't support this many users anymore and stuff like that.
01:50:49 Marco: Just little stuff that has caused small and large problems in the past.
01:50:57 Marco: And
01:50:58 Marco: I also try to get by with as little code as I can.
01:51:00 Marco: I try to not have thousands and thousands of lines of third-party includes in my files if I only need one function.
01:51:10 Marco: That's why I'm trying to remove AF networking from my project because I'm only using it for that one small thing now.
01:51:17 Marco: And as soon as I can write my own thing or even just pull those files out and just use those, I'll do that.
01:51:22 Marco: It just hasn't been worth the time yet.
01:51:24 Marco: Yeah.
01:51:24 Marco: It's so easy and so common to get burned by this stuff that, you know, that's why I'm so conservative.
01:51:31 Marco: And a lot of it's also from a laziness angle.
01:51:34 Marco: You know, like when it comes to learning a new language or learning a new platform or learning a new library, I don't want my knowledge to be out of date in six months.
01:51:42 Marco: And so that's why I look at the web language landscape and it's so easy now.
01:51:50 Marco: There's so many people who make new frameworks and new tools and new compilers and new languages and new libraries on top of everything else.
01:51:56 Marco: There's going to be a new everything every six months.
01:52:00 Marco: And
01:52:00 Marco: All the cool kids are going to switch to it and then switch to the next thing right after that.
01:52:04 Marco: And so if I take that six months to learn something and to really get involved and to become an expert in it, which takes longer than six months usually, but if I invest a whole bunch of my time to become an expert in something that goes out of fashion soon after I become an expert in it, that sucks.
01:52:20 Marco: That's a lot of waste of time and effort.
01:52:22 Marco: And I don't want to spend all of my time
01:52:24 Marco: gaining expertise in constantly new things i want to spend my time applying that expertise to build stuff that's where that's where i get more satisfaction and a lot of programmers aren't like that a lot of programmers get more satisfaction out of learning the new stuff and that's fine but that's not me and so it's much more important to me to master a small number of things and then use that knowledge to produce stuff that that is satisfying to me
01:52:51 Casey: So you don't want your knowledge to be out of date in six months?
01:52:56 Casey: Is that what you just said?
01:52:57 Marco: Yeah, that's right.
01:52:58 Casey: Well, you better get the hell off PHP because that shit's older than hell.
01:53:02 Marco: Thanks a lot to our three sponsors this week, Lynda.com, PDFPenScanPlus, and Backblaze.
01:53:09 Marco: And we will see you next week.
01:53:12 John: And now the show is over.
01:53:34 John: They didn't even mean to begin.
01:53:35 John: Cause it was accidental.
01:53:35 John: Accidental.
01:53:35 John: Accidental.
01:53:36 John: Accidental.
01:53:36 John: John didn't do any research.
01:53:37 John: Marco and Casey wouldn't let him.
01:53:38 John: Cause it was accidental.
01:53:38 John: Accidental.
01:53:39 John: And it was accidental.
01:53:39 John: Accidental.
01:53:39 John: And you can find the show notes at ATP.fm.
01:53:40 Marco: And if you're into Twitter, you can follow them.
01:53:46 Casey: That's C-A-S-U-I-M-I-S-S-K-C-U-S-M-A-R-C-O-A-R-M-O-N-T-M-O-O-M-E-N-T-S-I-R-A-C-U-S-A-S-I-R-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-
01:54:11 Casey: We'll be right back.
01:54:16 Casey: We went long, but that felt good.
01:54:19 Casey: I really didn't want to stop.
01:54:20 Casey: In fact, I kind of wanted to keep going on this conversation, but it's probably for the best that we killed it.
01:54:23 Marco: Yeah, because there's so much to say on it.
01:54:25 Marco: And this isn't even the first time we've had this conversation.
01:54:29 Marco: Yeah, yeah, yeah.
01:54:30 John: But there's always more to say, you know?
01:54:31 John: This topic is Marco's developer therapy.
01:54:36 John: Trying to work through his issues as a developer and trying to make sure that everything he's doing is the right thing.
01:54:41 Casey: Yeah, you know, and the only point I wanted to bring up, so now we're starting it again.
01:54:44 Casey: It's my fault.
01:54:45 Casey: But I wonder if part of the reason you're so against using third-party code is because so much of the PHP third-party code is crap.
01:54:52 Marco: I'm sure that's a big part of it.
01:54:53 Marco: By far, the Objective-C code that I've used from third parties has been way better than any third-party PHP code I've ever seen from anybody.
01:55:04 Marco: From Zend all the way down.
01:55:06 Marco: It's...
01:55:07 Marco: the php code that i've seen third party is awful now granted i haven't because of that i haven't looked at third party php code in probably three years or so for the most part so i missed the whole composer revolution that's happened since composer is like a new package manager for php that that everyone loves and i missed that whole revolution so maybe it's better now
01:55:29 Marco: But it was so terrible for so long, I'm not willing to try it again.
01:55:34 Marco: And my PHP needs are pretty small.
01:55:37 Marco: I have my own framework that I've written over the last eight years or whatever.
01:55:41 Marco: It's great.
01:55:42 Marco: It works for me.
01:55:43 Marco: It's fantastic.
01:55:43 Marco: I'll open source it eventually.
01:55:45 Marco: In fact, I even bought a .plumbing domain.
01:55:49 Marco: Yeah.
01:55:49 Marco: for it because i figured that you know it's it is plumbing so that makes sense and there were no other good ones available so uh you know like php works for me the way i do it um but one of the reasons why i have an open source framework in the last eight years yet is because i don't think anyone cares except me everyone has their own way of doing php and that's fine um there's the whole community of pro php people that i
01:56:15 Marco: that I not only am not a part of, but never want to be a part of and have never wanted to even pay attention to because it's so different from the way I do things with the language.
01:56:23 Marco: Um, whereas like with objective C, I care a lot about the way the community does that.
01:56:27 Marco: Like I, I write my objective C code, um,
01:56:30 Marco: with the goal of it looking like Apple code and the, with the API is looking like Apple APIs and, and to, to, to the standards that third parties consider best practices, you know, like, like I want to be part of the good elite objective C community, or at least pay very close attention to it.
01:56:48 Marco: If I can't be a part of it, whereas PHP has always been so awful.
01:56:51 Marco: I've never even wanted to be a part of that community.
01:56:53 Casey: It's hard for me to reconcile you, I don't know if slandering is the right word, but you being very dismissive of the community, yet being, and sometimes, often even the language, and yet being such a repeat customer, for lack of a better way of phrasing it, of this language.
01:57:13 Casey: I don't love the Microsoft community anymore.
01:57:17 Casey: But man, do I love the language.
01:57:19 Casey: I really do love C sharp and it is really, really, really good.
01:57:23 Casey: It's got problems, but it's really, really good.
01:57:26 Casey: And it's just it would be it would be really crummy, I think, for me to be a part of for me to use a language that I don't respect that much.
01:57:37 Casey: I'm not trying to put words in your mouth, but a language I don't respect in a community I don't care about and make my living off of that.
01:57:44 Casey: And if it works for you, which it clearly does, there's nothing wrong with that.
01:57:47 Casey: It's just, man, that's so different than what I would want.
01:57:50 Marco: Well, but again, it's like I don't care as much about the web side of things.
01:57:53 Marco: I care about the client side of things a lot.
01:57:55 Marco: And so if it was flipped, if I was very unhappy and critical of the community and not caring about quality relative to what other people think about it,
01:58:06 Marco: on the client side where I really care, that would be discouraging at least.
01:58:14 Marco: But because I just don't care about the website, like the reason I use PHP still, and I keep using the same framework that I keep modifying over time, but it's still basically the same thing.
01:58:26 Marco: The reason I keep doing that,
01:58:28 Marco: is because it allows me to get done with the website quickly in a way that I know will work, that will scale, and that will be cheap to run and easy to run.
01:58:39 Marco: That's why I do it.
01:58:41 Marco: And I do respect the language for a lot of those things.
01:58:44 Marco: And there's a reason why...
01:58:46 Marco: The biggest reason why I haven't learned a new language on the website any time recently is because they haven't really been motivating me to.
01:58:54 Marco: There has been no language that I've been very tempted to learn on the website.
01:59:00 Marco: The advantages they offer just don't get me.
01:59:04 Marco: They don't motivate me to go through the massive cost of switching.
01:59:09 Marco: Because I have to keep in mind...
01:59:11 Marco: With Overcast, the last thing I want to be doing is if I launch this thing, if it gets popular, the last thing I want to be doing is having to mess with the server for days and weeks on end to just get it optimized, get it to scale.
01:59:23 Marco: I just can't possibly... That would crush my spirit if I had to spend a lot of time doing that.
01:59:31 Marco: If I stick with what I know on that side of things, I know I'll have to do very little.
01:59:36 Casey: Do we want to do titles?
01:59:39 Casey: We probably should do titles.
01:59:41 Casey: It is self-serving.
01:59:41 Casey: I do think The Year of Casey is adorable, but I think FThis Language is probably my second favorite, although a little on the risque side.
01:59:49 John: I think I'd go Year of Casey.
01:59:51 John: The Year of Casey is a better title than FThis Language.
01:59:54 Marco: It's also the clear winner by a long shot.
01:59:57 Casey: That's true.
01:59:57 Casey: We haven't had a... Well, excepting some stupid title like a Syracuse County title, which we'll never use, we haven't had this clear winner in a long time.
02:00:05 John: It's all the more unfortunate that you two both didn't get the reference and made me explain it.
02:00:10 Marco: Someday, John.
02:00:11 Marco: Someday we will get a reference.
02:00:12 Casey: The sad thing is, John and I were having a conversation in the Google Doc, and I wrote in it.
02:00:19 Casey: Sounds exciting.
02:00:20 Casey: It was pretty bad.
02:00:22 John: Speaking of different mediums for communication, please don't.
02:00:25 John: The Google Doc is instant message, Casey.
02:00:27 John: This is a hybrid of your discussion and IRL talk.
02:00:30 Casey: I know, I know.
02:00:31 Casey: But yeah, so we were kind of typing back and forth very briefly.
02:00:35 Casey: And I wrote, you're killing me, Smalls.
02:00:38 Casey: And I felt compelled to indicate that I knew that was Sandlot by putting Sandlot.
02:00:43 John: Well, you were making the reference.
02:00:44 John: You don't have to show me that you know your own references.
02:00:47 Casey: I wanted you to know that it wasn't just something I've heard somewhere that I knew where it was from.
02:00:52 John: All right.
02:00:52 John: Have you seen the movie?
02:00:54 Casey: Yeah, and I didn't like it.
02:00:55 John: Yeah.
02:00:55 John: Okay.
02:00:55 John: Well, I've seen it too.
02:00:56 John: Also didn't like it, but I got the reference.

The Year Of Casey

00:00:00 / --:--:--