PodSearch

The Talk Show

124: ‘Schiller Did Not Have to Put Up With This Bullshit’ With Guest Guy English

 

00:00:00 ◼   ► Tough act to follow a little bit. I'd like to thank Phil for warming up the crowd for me

00:00:06 ◼   ► Also a very different vibe it's

00:00:10 ◼   ► The live show atmosphere is so great and it it when it worked and it I think it worked pretty well last week

00:00:17 ◼   ► It's pretty good feeling. I can't even imagine doing that every week though

00:00:21 ◼   ► No, it's a different show

00:00:24 ◼   ► It's yeah, it's good. But I mean I

00:00:26 ◼   ► I know you get nervous before a big interview, but you know, I'm not gonna be that hard to just you know, I'll go easy on you

00:00:32 ◼   ► That was pretty good though

00:00:35 ◼   ► He's great. Yeah, you know what? He was way more candid than I thought it was gonna be

00:00:39 ◼   ► I don't think he would have done it

00:00:41 ◼   ► Otherwise, you know

00:00:42 ◼   ► I mean like and I feel like that is that's the like I think that's the thing that people were most surprised by the other thing

00:00:47 ◼   ► That I think people were surprised by was how clear it was that he reads our stuff, you know, like his familiarity with Marco's

00:00:55 ◼   ► complaints and a couple of other things too but it a couple people like the the

00:00:59 ◼   ► the most common comments I got afterwards were wow that's a side of

00:01:03 ◼   ► Phil Schiller I've never seen before he was very you know he just was casual and

00:01:07 ◼   ► combined with Wow he obviously you know pays attention to us yeah well moles too

00:01:14 ◼   ► I mean we've known for years that he's been meeting multiple stuff but it was

00:01:18 ◼   ► nice of him to give a shout out to you you know to your level guests very good

00:01:24 ◼   ► It was a fun time at the show too.

00:01:26 ◼   ► Yeah, it was great.

00:01:28 ◼   ► It was nice.

00:01:30 ◼   ► But you know what? Good job. I know I told you in person,

00:01:32 ◼   ► but I'm sure everybody listening to this is thinking it.

00:01:34 ◼   ► You did not screw up.

00:01:36 ◼   ► So, get on here.

00:01:38 ◼   ► And you nailed him quite a bit.

00:01:40 ◼   ► Not nailed him, but you know what I mean? Like you...

00:01:42 ◼   ► Held his feet to the fire.

00:01:44 ◼   ► Yeah, a little bit without being a jerk.

00:01:46 ◼   ► That was the dance. You know, how do I ask the

00:01:48 ◼   ► questions that everybody in the room

00:01:50 ◼   ► kind of wants me to ask. And there's other ones

00:01:52 ◼   ► that I missed too. I mean, we could—and I had to—it's like I had to decide what not to ask.

00:01:56 ◼   ► Because, you know, an hour is, A, it was a little bit longer than I think that I told him that he'd

00:02:02 ◼   ► be on stage. I'd said like maybe like 45, 50 minutes. And I think he was on stage for like 56

00:02:07 ◼   ► minutes or something like that, which was not a complaint. He thought it went well. It was all—

00:02:10 ◼   ► smiles all around backstage. But the other thing too is I feel like just the atmosphere of a live

00:02:15 ◼   ► room, you can't do it like we do on these, you know, Skype shows. You can't go more than 60

00:02:21 ◼   ► minutes yeah there's something about Skype they just let you go off into the

00:02:25 ◼   ► weeds and right whatever like take a break gather your senses and just not

00:02:30 ◼   ► make sense right a little bit but no it's very direct right like we could

00:02:33 ◼   ► have gone in like one that one thing like people have sent like oh I wish I

00:02:36 ◼   ► all you know that was a great interview but I wish you would have you know

00:02:39 ◼   ► talked about blank and the one that's very common is the App Store right yeah

00:02:44 ◼   ► I had one of the reasons I didn't is there was nothing really new about it

00:02:47 ◼   ► and I kind of wanted to focus a little bit more on you know current event

00:02:51 ◼   ► And the other thing too is I feel like once you open that can of worms, that's a root,

00:02:55 ◼   ► you know, that's hard to do in just a couple minutes.

00:02:59 ◼   ► It's a very complicated thing.

00:03:00 ◼   ► I mean, but both the App Store distribution models, what adapting existing business models

00:03:07 ◼   ► to work on the App Store provisioning, like the code signing nightmare is all kind of

00:03:13 ◼   ► Yeah, and the big one, too, especially and I don't know, I actually don't know, I suspect

00:03:18 ◼   ► that my audience and the audience that was in the room for the live show is skewed a little bit

00:03:24 ◼   ► more towards Mac developers than the overall Apple developer community in general. But it's certainly

00:03:30 ◼   ► of interest to me is the whole sandboxing situation with the Mac. And I kind of, we can

00:03:37 ◼   ► kind of get into that with you and I talk about some of the stuff today. I kind of wonder whether

00:03:41 ◼   ► the, what are they calling this rootless thing?

00:03:44 ◼   ► Uh, system integrity.

00:03:46 ◼   ► Right.

00:03:46 ◼   ► I kind of hope that that might be a way of backing away from sandboxing.

00:03:50 ◼   ► Could be, could be.

00:03:52 ◼   ► We'll get there.

00:03:53 ◼   ► Um, but I do think that, I mean, you only had an hour, well, you had less on paper.

00:03:58 ◼   ► Uh, I, I agree that Mac App Store would, or even any App Store would have been a

00:04:03 ◼   ► can of worms and frankly, he just couldn't answer anything.

00:04:07 ◼   ► Yeah, that's part of it.

00:04:08 ◼   ► Like, I know, I mean, I know he's the boss of the App Stores, but, uh, I mean, he's

00:04:12 ◼   ► not going to make promises on stage to you.

00:04:16 ◼   ► Like that's, you know, as forthcoming as he was

00:04:20 ◼   ► with other stuff, he didn't say anything that was counter to,

00:04:25 ◼   ► you know, he's very, very good at his job, basically.

00:04:27 ◼   ► He didn't say anything that was counter to the messaging.

00:04:29 ◼   ► - One thing that people asked throughout the week,

00:04:32 ◼   ► and so, you know, I love it, I do love WWDC,

00:04:34 ◼   ► and it is weird and different.

00:04:36 ◼   ► Like, I went to the beer bash.

00:04:39 ◼   ► Did you go to the beer bash this year?

00:04:40 ◼   ► You probably didn't.

00:04:42 ◼   ► But I went and Dalrymple was there.

00:04:44 ◼   ► And I always go one of the—and I'm always on the fences to whether to go.

00:04:47 ◼   ► Amy was with me out there all week as you know.

00:04:49 ◼   ► And I always feel a little bad going to the beer bash because—actually, I—that's

00:04:54 ◼   ► bad.

00:04:55 ◼   ► I knew you weren't there because that's who I left her with.

00:05:01 ◼   ► I left her with you now that I think about it.

00:05:03 ◼   ► But I go because it used to be in years past that that was the place where I would run

00:05:07 ◼   ► into some people from Apple that I know who I hadn't seen throughout the week.

00:05:11 ◼   ► if you want to bump into somebody from Apple.

00:05:14 ◼   ► And whether we end up talking about anything interesting

00:05:17 ◼   ► or not, even if it's just shooting the shit,

00:05:20 ◼   ► it's a good place to run into them.

00:05:22 ◼   ► And it's funny, that's what I thought about,

00:05:23 ◼   ► that's why I went, and it turned out that it was

00:05:26 ◼   ► really sort of the opposite.

00:05:27 ◼   ► It was people coming up to me who wanted to say hi

00:05:30 ◼   ► and thank me and et cetera, et cetera.

00:05:32 ◼   ► - So you're Big Show, that's what you're talking about.

00:05:34 ◼   ► - No, not really, and I think the reason that it really,

00:05:37 ◼   ► it was so,

00:05:41 ◼   ► like one person after the other is that I was walking around with Dalrymple.

00:05:45 ◼   ► Which, and he's got a rather distinctive figure.

00:05:49 ◼   ► Little bit. Little bit. Less of one recently though.

00:05:53 ◼   ► Yeah, definitely. He looks great. Dude's lost some weight and he looks badass now.

00:05:57 ◼   ► He really does. He looks younger. I mean, yeah, exactly. I mean, he always looked formidable.

00:06:01 ◼   ► Now he just looks like he will definitely mess you up.

00:06:05 ◼   ► And somehow, I swear to God, it's like he, you know, you want to talk about who's influential.

00:06:09 ◼   ► They only had three beers available at the beer bash and one of them was Heineken.

00:06:12 ◼   ► I was like, did they ask you or did they just do it in advance? He goes, "They're no better."

00:06:20 ◼   ► So I went to his beer bash party and I ordered a Stella. Yeah, a Stella. I didn't want to touch

00:06:31 ◼   ► the Heineken just because...

00:06:32 ◼   ► Yeah, your words is gonna...

00:06:33 ◼   ► Well, I didn't know which way it would break, right? Either I'm drinking his beer and he's

00:06:38 ◼   ► going to be pissed or I'm not drinking a Heineken and he's going to be pissed.

00:06:42 ◼   ► You've got to roll the bones every now and then, you know?

00:06:46 ◼   ► Anyway, we ought to get to it because we have a lot to cover.

00:06:49 ◼   ► And the whole idea, the basic idea that I have for this episode is to cover more or

00:06:55 ◼   ► less loosely the State of the Union stuff, platforms – what do they call that session?

00:07:00 ◼   ► Platform State of the Union?

00:07:01 ◼   ► Platform State of the Union.

00:07:02 ◼   ► Yeah, they used to break it up into like three, I think, and then it comes out of the box.

00:07:05 ◼   ► Right.

00:07:06 ◼   ► Because the basic structure of Monday at WWDC has sort of remained unchanged since forever,

00:07:13 ◼   ► which is in the morning, there's the main keynote.

00:07:16 ◼   ► And that's the one that the press gets led into, and that's the one people line up all

00:07:19 ◼   ► night for.

00:07:22 ◼   ► That's the one that anything that's written on real TV or newspapers the next day, all

00:07:27 ◼   ► the news from there is what comes out of it.

00:07:30 ◼   ► Then they clear the room.

00:07:31 ◼   ► go and have lunch and

00:07:35 ◼   ► i think on two thirty is when it starts it's it's a bit later you have like a

00:07:38 ◼   ► good two hours for lunch to fit uh... everybody but then at that point it's

00:07:44 ◼   ► real developer badges only you get to come in and then they have it's more or

00:07:48 ◼   ► less a second keynote but it's truly for developers

00:07:52 ◼   ► uh...

00:07:53 ◼   ► i mean like i was saying uh... you know she was very good at its job and i

00:07:56 ◼   ► believe he constrained all of his answers to

00:08:00 ◼   ► what was actually in the keynote

00:08:03 ◼   ► rather than the rest of the stuff and they've been getting a little bit

00:08:05 ◼   ► loosey-goosey with the NDA stuff so I'm not really sure what...

00:08:08 ◼   ► I don't even think that that's...

00:08:10 ◼   ► I don't think there is stuff. I don't think there is an NDA anymore because my

00:08:13 ◼   ► Apple TV uh...

00:08:15 ◼   ► there's a WWDC app and you can just... I don't think I put my

00:08:18 ◼   ► ADC

00:08:19 ◼   ► so yeah I've been watching that too and I wasn't sure if because the the login

00:08:23 ◼   ► that I've got

00:08:24 ◼   ► has an Apple ID account

00:08:26 ◼   ► like I wasn't sure if maybe it was cleared for...

00:08:29 ◼   ► Yeah, and they've been doing some stuff to combine the Apple IDs, but it's not the same Apple ID I usually sign in for ADC stuff. I'm pretty sure that that stuff is just not, they don't really have an NDA anymore. I think they, I think they

00:08:41 ◼   ► Well, you know what, let's gamble my career. It's not like I'm keeping my head down by appearing on this show.

00:08:47 ◼   ► I'm pretty sure that this stuff is. I just don't think that they're crazy about stuff like that anymore. I don't

00:08:52 ◼   ► No, and they shouldn't be. Because pretty much everything they say is,

00:08:57 ◼   ► what you don't want to do is say what people say to you in private or in the labs or something.

00:09:05 ◼   ► Right.

00:09:10 ◼   ► Because that's like, "Oh yeah, this is broken. Here's a workaround and we can't talk about the future stuff."

00:09:11 ◼   ► It gets a little bit more on the negative side.

00:09:15 ◼   ► But in a lot of ways, WWDC, especially because they sell out every year,

00:09:20 ◼   ► I don't want to call it, it's not a marketing or advertising thing, but it's

00:09:25 ◼   ► one of the very few times a year, if not the only time a year, that Apple

00:09:30 ◼   ► actually gets to speak to developers. And in a way, limiting that is kind of

00:09:35 ◼   ► productive. Because it's not like Google doesn't know what the hell was said

00:09:40 ◼   ► in every 80 WWDC session.

00:09:45 ◼   ► Yeah, I think it's actually sort of this shift towards a more open

00:09:47 ◼   ► Apple PR department. I'm not going to pin it all on Katie Cotton, but it ties in with

00:09:53 ◼   ► her leaving. It started a year or two ago, I think, when they lightened up on the NDA

00:10:01 ◼   ► a little bit, and she was still there. But it's definitely the shift that they're making.

00:10:05 ◼   ► I think it was always about PR optics. It was that they don't want people saying anything

00:10:12 ◼   ► in public about the beta version of OS they've shown until they've released the OS. But now,

00:10:18 ◼   ► you know, they've even—there was obviously like an embargo on Monday morning where they

00:10:22 ◼   ► seeded a bunch of people from the press with the current developer beta of OS X El Capitan

00:10:33 ◼   ► and let them write about it. I mean, and it's—I think they emphasized—well, in fact, I know,

00:10:38 ◼   ► because they gave me the same copy too. I didn't write anything. I didn't know. I told them. I was

00:10:45 ◼   ► like, "There's an absolutely zero percent chance that I'm going to be ready to write anything,

00:10:48 ◼   ► publish anything by Monday." But they're like, "Well, take it anyway." But I think they wanted

00:10:53 ◼   ► the people to know that, just emphasize that this is a preview, it's a beta. You're reviewing the

00:10:59 ◼   ► ideas of what we're doing, not the current state that they're in. And I just think in the past,

00:11:04 ◼   ► they just wanted the opposite. They did not want anybody writing about that.

00:11:07 ◼   ► Matthew 24 Well, I think they're slowly growing into

00:11:10 ◼   ► like a comfort zone that they did not have back in like the late '90s, right?

00:11:17 ◼   ► Dave Yeah.

00:11:17 ◼   ► Matthew 24 Like they were really on their heels for a while.

00:11:19 ◼   ► Dave Yeah.

00:11:20 ◼   ► Matthew 24 And so, you know,

00:11:21 ◼   ► you can understand it backs to the wall, being defensive kind of thing. But, you know,

00:11:26 ◼   ► times are different now.

00:11:27 ◼   ► Dave Yeah, and I think Steve Jobs, too, was also a lot less

00:11:32 ◼   ► willing to have people writing about stuff before it came out. And the whole idea that stuff can

00:11:38 ◼   ► change. I just feel like if something changes, something that they announced last week ends up

00:11:45 ◼   ► not shipping in the fall, people are gonna call it out, but I don't think that he's gonna... I think

00:11:52 ◼   ► he was more crazy about stuff like that than Apple is now. Yeah. Well, that's made clear in that

00:11:57 ◼   ► becoming Steve Jobs.

00:11:59 ◼   ► - Yeah.

00:12:00 ◼   ► - Which, please, everybody read

00:12:02 ◼   ► rather than the Isaacson biography.

00:12:04 ◼   ► Well, read both, just the context.

00:12:05 ◼   ► - Right, they're both worth reading,

00:12:06 ◼   ► but if you're only gonna read one,

00:12:07 ◼   ► read that one first.

00:12:09 ◼   ► - Yeah, 'cause, I mean, he's,

00:12:11 ◼   ► oh, man, you've met these guys,

00:12:12 ◼   ► I'm gonna blank on his name,

00:12:13 ◼   ► but the author through whose experiences it's written.

00:12:18 ◼   ► 'Cause there's two of them, but they'd have like a--

00:12:20 ◼   ► - Brent Schlesinger, I forget how you pronounce his last name.

00:12:23 ◼   ► - Schlesinger, something like that?

00:12:24 ◼   ► Anyway, yeah, oops.

00:12:26 ◼   ► - I can, hold on a second.

00:12:26 ◼   ► There's a lot of show notes.

00:12:31 ◼   ► There's parts of that story where he basically just, Steve Jobs calls him up and

00:12:36 ◼   ► just yells at him for saying bad stuff about Apple.

00:12:40 ◼   ► But they're friends, their kids hang out together and all that.

00:12:43 ◼   ► Brent is slender.

00:12:45 ◼   ► Shlander, okay.

00:12:47 ◼   ► So yeah, I think a lot of that came from Steve and even if you were a pal, I don't think

00:12:51 ◼   ► he'd be shuddered.

00:12:54 ◼   ► So yeah, times are changing. Apple is the hugest of companies at this point.

00:12:59 ◼   ► So you never want to be punching down, right?

00:13:04 ◼   ► So I think there's more open attitudes, benefits.

00:13:08 ◼   ► But anyway, who better to have on? And I want to talk about some of this developer-level news and try to put it in

00:13:16 ◼   ► what would you call it, layman's terms of what exactly Apple has done.

00:13:21 ◼   ► And there's a lot.

00:13:22 ◼   ► Like, you've put together a pretty nice outline,

00:13:24 ◼   ► which is a lot more preparation than I usually do for the show.

00:13:27 ◼   ► And just looking at it, it's like, man.

00:13:30 ◼   ► Well, I did have a tough act to follow.

00:13:33 ◼   ► There really is, though.

00:13:34 ◼   ► I didn't want to screw this one up.

00:13:35 ◼   ► The other takeaway I had from--

00:13:37 ◼   ► and watching the State of the Union--

00:13:40 ◼   ► is that I feel like Apple is really

00:13:44 ◼   ► starting to get better at being a big company.

00:13:47 ◼   ► And it's-- and clearly, a lot of this stuff

00:13:51 ◼   ► has been delegated and it's a lot less is going through one person even like someone

00:13:56 ◼   ► like Craig Federighi who obviously is in charge of the engineering teams in charge of both

00:14:03 ◼   ► OS 10 and iOS clearly the man has a lot of responsibilities but there's a lot of stuff

00:14:09 ◼   ► that's being delegated I think clearly because it's more stuff is being done year over year

00:14:15 ◼   ► than before.

00:14:18 ◼   ► that way, certainly appears that way from the on stage presence.

00:14:23 ◼   ► That could have been a conscious decision to kind of bring more people on stage.

00:14:28 ◼   ► I mean, you probably know this more than I remember, but it seemed to me that there was

00:14:32 ◼   ► a cast of five people that ran Apple for 10 years there, between 2001 to let's say 2012.

00:14:37 ◼   ► They had maybe five people on stage with a couple of--

00:14:43 ◼   ► Are you talking about the regular keynote or the state of the union?

00:14:46 ◼   ► Yeah, the regular keynote. Not the state of the union. The state of the union was much broader.

00:14:51 ◼   ► Always.

00:14:53 ◼   ► But this year they seem to have broadened both the keynote and the state of the union and a lot of the sessions.

00:14:58 ◼   ► Well, I mentioned it with

00:15:01 ◼   ► Schiller last week where, you know,

00:15:03 ◼   ► they've broken this streak where there weren't any women in the regular keynote.

00:15:06 ◼   ► Now, there have been women in the state of the union, I believe, for a while.

00:15:09 ◼   ► And as a lot of people have brought up

00:15:12 ◼   ► for years and years. In fact, as long as I've been going to WWDC, this isn't even a new

00:15:18 ◼   ► thing. In the regular sessions, there have always been plenty of them that were presented

00:15:23 ◼   ► by women, either as the primary presenter or as one of the secondary presenters who

00:15:28 ◼   ► comes up just to demo a certain thing, simply because there have always, as long as I've

00:15:35 ◼   ► known anybody at the company, there have always been a ton of talented women in the engineering

00:15:40 ◼   ► ranks. And that's who presents at WWDC. If there's a new API for watch complications,

00:15:48 ◼   ► whoever worked on the watch complications part of the API does the presenting.

00:15:53 ◼   ► Ben

00:15:53 ◼   ► Yeah, there's, I like that you brought that up with Schiller

00:15:58 ◼   ► early on and I felt he addressed it well.

00:16:04 ◼   ► Because I mean, you said finally and he said, "Well, it's a good start."

00:16:08 ◼   ► Which I totally believe in.

00:16:11 ◼   ► But there's a lot of really talented women developers in Apple.

00:16:14 ◼   ► And the thing is, you're right.

00:16:19 ◼   ► Part of your job, if you're at Apple at that level, is to be able to present.

00:16:21 ◼   ► and they will spend the time with you and train you if you need it.

00:16:27 ◼   ► But you know, when it's your stuff and you're responsible for it, you expect it to get up

00:16:31 ◼   ► and talk about it, either internally, which can also be really harrowing or, you know,

00:16:36 ◼   ► in this case, externally.

00:16:37 ◼   ► And the one thing I know that they're not going to do and Shiller's answer last week

00:16:40 ◼   ► emphasize it, it's people, it's still people who are responsible for this.

00:16:43 ◼   ► So part of you know, the real thing isn't, hey, we need to pick more women to be in the

00:16:47 ◼   ► morning keynote.

00:16:49 ◼   ► We need to make sure that the talented women in the company are getting promoted when they

00:16:53 ◼   ► should be to have these areas of responsibility.

00:16:58 ◼   ► And combined with that, I think it's what you mentioned before is that they've just

00:17:02 ◼   ► in general broadened the number of people regardless of whether they're men or women,

00:17:09 ◼   ► whatever skin color they have, just that there's more than just the top three or four people

00:17:13 ◼   ► will get to present stuff in the keynote.

00:17:16 ◼   ► Yeah, I mean I do think the, I forget what that page is, but you know, the senior vice

00:17:22 ◼   ► presidents on that page.

00:17:23 ◼   ► I mean that's, you know, predominantly white older men.

00:17:28 ◼   ► And that's, you know, that's not great, but it's also the truth and it's a sad reflection

00:17:32 ◼   ► on the state of the industry as it has evolved.

00:17:36 ◼   ► Not that these people aren't awesome and good at it just, but you know what I mean, like

00:17:40 ◼   ► there is certainly a lag time between successful women getting up to go down in positions.

00:17:45 ◼   ► And it's slowly happening and it's really nice to see them taking it seriously.

00:17:51 ◼   ► I don't feel they're paying lip service to it because I know that there's a lot of women in

00:17:56 ◼   ► serious positions. And there have been some, you know, it is changing in the right direction. So

00:18:04 ◼   ► Lisa Jackson is now, she's not a senior vice president, she's vice president, but she's in

00:18:08 ◼   ► charge of their environmental stuff. And their human resources chief is a woman, I've never met

00:18:13 ◼   ► but her name is Denise Smith. She's a black woman. Lisa Jackson is a black woman or a

00:18:20 ◼   ► woman of color, whatever the right terminology is. But, you know, clearly adds to the diversity

00:18:25 ◼   ► of that page. The one thing that so many people, readers and listeners of the show, have speculated

00:18:31 ◼   ► on ever since she joined the company was that Angela Arens was going to become a major part

00:18:36 ◼   ► of the keynotes. And I… Well, exactly. I think what some people thought was, "Hey,

00:18:43 ◼   ► "Hey, Apple only lets the SVPs speak on keynotes.

00:18:48 ◼   ► She's the first non-white guy in the SVPs,

00:18:53 ◼   ► the senior vice president, so obviously she's gonna speak."

00:18:56 ◼   ► Whereas the way it works is she's only gonna get to speak

00:18:59 ◼   ► if there's something about retail

00:19:01 ◼   ► that is worth putting in a keynote.

00:19:04 ◼   ► Like if they do something,

00:19:05 ◼   ► if there's a major new redesign of the retail stores

00:19:08 ◼   ► and it's worth, "Hey, let's spend 10 minutes

00:19:11 ◼   ► keynote explaining this major new initiative we're taking with our retail stores, then

00:19:16 ◼   ► she'll get to do it because that's her domain. But they're not going to bring her up to talk

00:19:21 ◼   ► about…

00:19:22 ◼   ► Ben de la Torre

00:19:23 ◼   ► The sales figures in retail…

00:19:25 ◼   ► Dave Asprey

00:19:26 ◼   ► Yeah.

00:19:27 ◼   ► Ben de la Torre

00:19:28 ◼   ► Or something completely unrelated like Apple Pay, right? They weren't going to have heard…

00:19:33 ◼   ► Ben de la Torre

00:19:34 ◼   ► Yeah. Well, no. They had the woman that was in charge of Apple Pay talking about Apple

00:19:37 ◼   ► Pay because…

00:19:38 ◼   ► Dave Asprey

00:19:39 ◼   ► Right. Because that's her domain, right? And really what it is is that like… And

00:19:41 ◼   ► It's like what Schiller said last week.

00:19:43 ◼   ► So Jennifer Bailey, she's a vice president of the company.

00:19:45 ◼   ► She's not on that page, but she's a vice president and she's in charge of Apple Pay.

00:19:49 ◼   ► Ben

00:20:07 ◼   ► know, the chief of that, I guess, you know, she the whole news thing is under her. So

00:20:12 ◼   ► it made sense for her to do the demo. But it was only because they're expanding to like

00:20:16 ◼   ► other lower levels of the company that they can do stuff like that, which I think is great.

00:20:20 ◼   ► Yeah.

00:20:21 ◼   ► And, you know, Apple has had historically, you know, Ellen Hancock was a chief technical

00:20:27 ◼   ► officer when they bought next.

00:20:30 ◼   ► But that's, but but holding Ellen, I know that, yeah, holding Ellen Hancock up as, hey,

00:20:34 ◼   ► have been women in keynotes.

00:20:36 ◼   ► It was a bit of a stretch, and it was wearing thin.

00:20:38 ◼   ► Oh, no, I don't mean to do that.

00:20:40 ◼   ► I just mean that they have, in the past, been--

00:20:44 ◼   ► Women in high levels.

00:20:45 ◼   ► --C-level executives.

00:20:47 ◼   ► And obviously, they're not doing enough.

00:20:49 ◼   ► Well, it's not that they're not doing enough.

00:20:51 ◼   ► But I mean, this kind of systemic change takes time.

00:20:58 ◼   ► And I think just cherry picking people

00:21:00 ◼   ► to either appear on the keynote is wrong.

00:21:03 ◼   ► And they're not doing that.

00:21:08 ◼   ► They're building up a good stable of really effective speakers.

00:21:13 ◼   ► And I'm really happy that they're kind of

00:21:18 ◼   ► broadening more than the four to five sort of caricatures that we used to see.

00:21:23 ◼   ► Like Schiller used to jump off a roof with a Wi-Fi thing.

00:21:29 ◼   ► Like, these were caricatures, and it seems like they're expanding a little bit beyond that.

00:21:34 ◼   ► And I think that's good for Apple and good for XBLA.

00:21:42 ◼   ► I think Schiller will go down as well. He's certainly, to this day, the only.

00:21:46 ◼   ► He might end up being the only person ever who performed an actual stunt.

00:21:49 ◼   ► Live freak.

00:21:54 ◼   ► Yeah, exactly. I mean, Google is still trying to catch up when they did that thing with the GoPros jumping out of a plane onto the top of the sky.

00:21:58 ◼   ► I remember that.

00:21:59 ◼   ► Yeah, guess what?

00:22:00 ◼   ► When you strap your VP or senior VP of marketing into a plane,

00:22:07 ◼   ► then we can talk.

00:22:08 ◼   ► Let me take--

00:22:09 ◼   ► Also, you know what?

00:22:10 ◼   ► It's funny because for years, he surely came across as the goof

00:22:13 ◼   ► because he played it that way.

00:22:15 ◼   ► He is, wow, a bit of a smart guy.

00:22:18 ◼   ► Yeah, definitely.

00:22:19 ◼   ► Like, I knew that anecdotally, but just your conversation with him,

00:22:22 ◼   ► he's no dummy.

00:22:24 ◼   ► No, absolutely not.

00:22:25 ◼   ► No, and he's very, very quick.

00:22:27 ◼   ► And you can-- there were a couple of things

00:22:29 ◼   ► that he knew I was going to bring up,

00:22:31 ◼   ► but there were a couple other things I didn't.

00:22:33 ◼   ► And as I was asking--

00:22:34 ◼   ► Covering 604 is awesome, by the way.

00:22:38 ◼   ► There was like five people in that room that really got that.

00:22:41 ◼   ► I saw some tweets afterwards.

00:22:43 ◼   ► The people who really got that joke really loved it.

00:22:45 ◼   ► They felt like maybe that put a--

00:22:48 ◼   ► And he handled it well.

00:22:49 ◼   ► He just laughed.

00:22:50 ◼   ► And he gave a shrug, like, all right, you got me there.

00:22:53 ◼   ► Yeah, exactly.

00:22:54 ◼   ► But that might be a good example of the last time

00:22:57 ◼   ► that Apple pulled the carpet out from anybody.

00:23:02 ◼   ► In terms of that general discussion of, hey, we give hints,

00:23:05 ◼   ► and if you follow our hints, your job

00:23:07 ◼   ► will be easier going forward.

00:23:09 ◼   ► Yeah, and he's totally right.

00:23:11 ◼   ► And that's kind of the exception that proves the rule.

00:23:14 ◼   ► Because the year before, they'd been encouraging it,

00:23:16 ◼   ► and then they were like, eh, no, we're not going to do that.

00:23:19 ◼   ► So that kind of sucked.

00:23:20 ◼   ► But he said their track record was pretty good.

00:23:25 ◼   ► He didn't even say they were buying a thousand.

00:23:27 ◼   ► Did I get that right?

00:23:28 ◼   ► A thousand.

00:23:28 ◼   ► A thousand would be the best, yes.

00:23:30 ◼   ► Is 100%?

00:23:31 ◼   ► OK.

00:23:32 ◼   ► He didn't even say that.

00:23:33 ◼   ► He said that it's pretty good.

00:23:35 ◼   ► And it is pretty good.

00:23:37 ◼   ► So, you know.

00:23:38 ◼   ► All right.

00:23:39 ◼   ► Let me take a break.

00:23:39 ◼   ► Thank our--

00:23:40 ◼   ► Do you want to actually--

00:23:40 ◼   ► Thank our first sponsor.

00:23:41 ◼   ► Oh, you want to take a break?

00:23:42 ◼   ► We actually haven't talked about anything yet.

00:23:44 ◼   ► But we will.

00:23:46 ◼   ► Our first sponsor is our good friends at Harry's.

00:23:49 ◼   ► You guys know Harry's.

00:23:50 ◼   ► They make really high quality shaving products.

00:23:54 ◼   ► They've got little kits.

00:23:58 ◼   ► Here's the deal, you go to harrys.com

00:24:00 ◼   ► and you can buy it, get started, you can get a kit.

00:24:03 ◼   ► It starts at just like 15 bucks.

00:24:05 ◼   ► You get a razor blade, you get a couple of blades,

00:24:09 ◼   ► some shaving cream, really, really high end stuff.

00:24:12 ◼   ► It's so nice, it's so much better made, better designed

00:24:16 ◼   ► than the stuff from Gillette or Schick

00:24:19 ◼   ► whatever the hell other mainstream brands there are. I just noticed, I've got so that

00:24:23 ◼   ► the one they have, they've got one called the Truman set. It's got this orange like

00:24:28 ◼   ► a plastic handle. The one I have and it's from years now. I mean if anybody has been

00:24:32 ◼   ► listening to the show now, you know how long Harry's has been an occasional sponsor of

00:24:35 ◼   ► the show. When they got started, they sent me this the Winston kit and I still have that.

00:24:40 ◼   ► It's got a metal handle. That's 25 bucks, a little bit more expensive because it's made

00:24:44 ◼   ► of metal. I was actually looking at mine the other day. Now, I've had it at least two years.

00:24:47 ◼   ► I was looking at it, and I usually shave in the shower,

00:24:51 ◼   ► and it always drops, it falls in the tub all the time.

00:24:55 ◼   ► I was looking at it, it looks brand new.

00:24:57 ◼   ► It looks like I could put it back in the box

00:24:59 ◼   ► and sell it back to somebody as mint condition.

00:25:02 ◼   ► This stuff is really, really made to last.

00:25:05 ◼   ► Really well designed, just sort of a classic look.

00:25:10 ◼   ► And they really take this stuff seriously.

00:25:13 ◼   ► The blades, they were buying them from some company

00:25:17 ◼   ► Germany their German made blades and they like them so much that they just bought the whole factory and their make that's it

00:25:23 ◼   ► They make their own blade. So they're not like just putting the Harry's brand on

00:25:27 ◼   ► You know

00:25:28 ◼   ► White label razor blades that they buy from anybody in the commodity market. They make the Rome blades. They're really good

00:25:34 ◼   ► And the whole point that reason they can they can sell this stuff so much cheaper is that they're cutting out the middleman

00:25:40 ◼   ► They make this stuff they package it

00:25:42 ◼   ► They put it in really cool boxes you buy it and then they just ship it right to you free of charge free shipping on

00:25:47 ◼   ► everything

00:25:48 ◼   ► So there's no markup that you get by going through

00:25:51 ◼   ► distributors and distributors selling it to drugstores and

00:25:55 ◼   ► The drugstore is putting their markup on it and then the drugstores because there's people shoplift stuff like razor blades all the time putting it

00:26:01 ◼   ► Behind those stupid glass cabinets with a lock and then you got to find an employee

00:26:05 ◼   ► None of that you just go to Harry's calm you order it

00:26:09 ◼   ► 15 bucks will get you everything you need to get started

00:26:11 ◼   ► And then once you find out that the stuff is just as good as I've been telling you you can order stuff like new blades

00:26:18 ◼   ► That they're under two bucks a pop if you get them in quantity way less than then the name big brands are

00:26:26 ◼   ► Even when you buy them at places like Amazon if you get like a Gillette or whatever other brand like that

00:26:31 ◼   ► So you pay less you get a better product and it could not be more convenient

00:26:36 ◼   ► So great stuff if you have any reason to buy any kind of shaving stuff go check them out

00:26:41 ◼   ► here's where you go you go to Harry's calm and

00:26:43 ◼   ► Use the code talk show know the just talk show and on your first order you'll save five bucks

00:26:52 ◼   ► Fantastic deal. So go there check them out Harry's calm and the code is just plain talk show

00:26:59 ◼   ► No joke, I use the Molotov they they sponsored a show too and I

00:27:05 ◼   ► got hooked and I do use it so use debug I

00:27:09 ◼   ► Don't because don't because I don't actually think that

00:27:12 ◼   ► The talk show you could try debug. No, I think Harry's is one of the ones but but I swear to God

00:27:18 ◼   ► I do use it. Like I'm actually a fan. Yeah, I I probably wouldn't have followed up

00:27:23 ◼   ► but they you know, they sponsored us so they gave us like

00:27:26 ◼   ► the the shaving creams and the the aftershave and the razor and the blades and

00:27:33 ◼   ► And they've been doing a thing too also, sort of like Apple does, where they come out with the first thing and then they slowly iterate over time, where they've slowly added a few new things.

00:27:43 ◼   ► They started out, I think they only had shaving cream and then they had one and not the other.

00:27:50 ◼   ► And I think they added the gel is the second thing because a lot of people prefer gel.

00:27:54 ◼   ► And now you get a choice. When you buy any kit, you can choose between shaving cream, shaving gel, whichever one you prefer. They've got both. All sorts of other stuff.

00:28:02 ◼   ► of other stuff.

00:28:03 ◼   ► Peter: And now they've got an asterisk.

00:28:04 ◼   ► Tom Bilyeu (

00:28:12 ◼   ► was not coming out until two days before. Anyway, if you were smart two weeks ago,

00:28:15 ◼   ► you would have listened to me and bought that.

00:28:17 ◼   ► Yeah, that's a good gift. You know what? My lady friend's dad wants a gun cleaning kit and a knife.

00:28:25 ◼   ► So, you know, I'm going to treat her right.

00:28:29 ◼   ► That guy seems like, he's like a retired CIA guy or something. I'm scared to death of this guy.

00:28:38 ◼   ► I hope he's not asking for that stuff because of you.

00:28:42 ◼   ► I hope so too.

00:28:44 ◼   ► Alright, let's talk about some of this technical stuff from the WWDC.

00:28:49 ◼   ► And there really is a lot.

00:28:52 ◼   ► Do you want to go in the order of your outline?

00:28:55 ◼   ► Well, I mean, because we segue from Schiller, so yeah.

00:28:58 ◼   ► Yeah, so the first thing that you have in the list, and I think it's a good topic, is the app thinning.

00:29:04 ◼   ► And I think that ties into the whole idea from Federighi in the morning keynote about how they've significantly cut down on what's going to be the over-the-air size of...

00:29:16 ◼   ► Or, I don't know about the over-the-air size, but the minimum required open storage on your device to get started with the update to iOS 9.

00:29:25 ◼   ► I think it's got to be related.

00:29:27 ◼   ► I think so. I forget was it six to seven?

00:29:30 ◼   ► It went from like, you needed like four gigabytes free,

00:29:33 ◼   ► four gigs down to like 1.6.

00:29:35 ◼   ► So I think there's probably two things there. A, app thinning, which we'll describe in good detail in a moment.

00:29:40 ◼   ► And probably that new fancy pants comps

00:29:44 ◼   ► compression algorithm they mentioned.

00:29:49 ◼   ► It's probably a combination thing.

00:29:51 ◼   ► I wonder too if they're doing some of the resource stuff over, you know, like.

00:29:55 ◼   ► Oh, definitely. So app thinning is three things, basically.

00:30:01 ◼   ► And it is on-demand resources, which are...

00:30:09 ◼   ► The example that they give is a game where you're not going to get to level 10

00:30:17 ◼   ► if you just start playing the game until a little bit.

00:30:20 ◼   ► So you can have resources that are included in your application

00:30:23 ◼   ► but are not actually downloaded from the app store

00:30:28 ◼   ► until you start to need to use them.

00:30:30 ◼   ► So that's big, so that your downloads can be small,

00:30:34 ◼   ► but you can actually have a big application in general.

00:30:36 ◼   ► It used to be, I remember back in 2008, 2009,

00:30:42 ◼   ► when we were shipping Tap Tap Revenge stuff,

00:30:47 ◼   ► we sweated getting the app down to the size

00:30:51 ◼   ► size where it would be okay to download over cellular.

00:30:56 ◼   ► And I forget what it was at that time, 10 megabytes,

00:31:01 ◼   ► something like that?

00:31:03 ◼   ► And we had a lot of graphics and audio files, which MP3s add up.

00:31:04 ◼   ► So I think now the direct download size is limited.

00:31:12 ◼   ► I forget what it's limited to, and it's kind of a moving target.

00:31:17 ◼   ► But the total download size with these on-demand resources is about 20 gigabytes.

00:31:19 ◼   ► And it's definitely an issue.

00:31:21 ◼   ► I see it a lot.

00:31:22 ◼   ► I don't download a lot of games myself, but Jonas does.

00:31:25 ◼   ► And it's always like sitting on a whoopee cushion

00:31:31 ◼   ► emotionally when it's like, hey, can I get this new app?

00:31:33 ◼   ► And we say yes, but we're out.

00:31:36 ◼   ► Who knows?

00:31:37 ◼   ► We're out and about.

00:31:38 ◼   ► We're not in the house.

00:31:39 ◼   ► And it's like, wah, wah.

00:31:41 ◼   ► It's over the cellular download limit.

00:31:44 ◼   ► And so it's definitely a big deal.

00:31:46 ◼   ► And you know--

00:31:47 ◼   ► That was a huge engineering challenge for us.

00:31:49 ◼   ► We sweated that.

00:31:50 ◼   ► Because you need the impulse block for those kind of pop games.

00:31:54 ◼   ► Because I mean, do you and Jonas remember that when you go home?

00:31:57 ◼   ► Sometimes.

00:31:58 ◼   ► And sometimes not, right?

00:31:59 ◼   ► And even if most of the time you still remember to get the same game when

00:32:04 ◼   ► you're back on Wi-Fi, you're going to lose some number of downloads

00:32:08 ◼   ► that you would have gotten otherwise.

00:32:10 ◼   ► And that's definitely a big deal.

00:32:12 ◼   ► So I think it's a huge win for game developers.

00:32:17 ◼   ► Yeah.

00:32:22 ◼   ► So I mean, this does go to the

00:32:23 ◼   ► Schiller's remark on the 16 gigabyte,

00:32:26 ◼   ► which was kind of an unanswered little bit.

00:32:28 ◼   ► But at the same time, they're backing that up

00:32:31 ◼   ► with a bunch of this technology that they've put into iOS 9

00:32:33 ◼   ► in order to try to make that.

00:32:38 ◼   ► I mean, he, I don't want to say waffled,

00:32:38 ◼   ► He was vague and hand-wavy about, "Well, we're doing more things with the cloud."

00:32:43 ◼   ► But the technology that they've actually been adding supports that.

00:32:48 ◼   ► Supports the argument that they really do want to make 16 gigabytes

00:32:56 ◼   ► of valuable footprint for iOS devices.

00:33:04 ◼   ► Well, and my argument was--

00:33:07 ◼   ► I'm guessing most people listening to this episode

00:33:09 ◼   ► probably listen to that episode.

00:33:11 ◼   ► I mean, that episode had pretty good numbers.

00:33:13 ◼   ► I hope so.

00:33:14 ◼   ► Stop listening to me.

00:33:16 ◼   ► But my argument, my framing was that Apple, ever since Steve

00:33:20 ◼   ► came back, has done this good, better, best, three-way framing

00:33:24 ◼   ► of a product line.

00:33:25 ◼   ► And that to me, with the 16-64-128 split,

00:33:30 ◼   ► it's a little bit more like, OK, better, best.

00:33:32 ◼   ► It's hard for me to justify calling 16 good.

00:33:35 ◼   ► And he made the best case he could, I think,

00:33:38 ◼   ► that 16 is pretty good.

00:33:40 ◼   ► And depending on your needs,

00:33:42 ◼   ► that if you're gonna shoot a lot of video,

00:33:44 ◼   ► then no, you wanna upgrade.

00:33:46 ◼   ► But if you are buying devices

00:33:48 ◼   ► for a enterprise type employee type thing,

00:33:52 ◼   ► that you don't need that.

00:33:53 ◼   ► And that you can store stuff with photo,

00:33:57 ◼   ► even with video, you can use iCloud photo storage

00:34:01 ◼   ► and not keep all of your video on your device

00:34:04 ◼   ► and still have access to it on the fly when you need it

00:34:07 ◼   ► by downloading it when you need it.

00:34:09 ◼   ► - Yeah, I mean, if your company's buying a thousand of these

00:34:11 ◼   ► and giving them out to employees,

00:34:13 ◼   ► it's for emailing, doing calendar and messages

00:34:16 ◼   ► and that kind of stuff.

00:34:16 ◼   ► And it's, you know, maybe 60 gigs is fine for that.

00:34:21 ◼   ► Also, I did, I mean, not to get too meta,

00:34:23 ◼   ► but the way you framed that question was good.

00:34:26 ◼   ► 'Cause you, I mean, you kind of,

00:34:29 ◼   ► you bracketed off good, better, best,

00:34:32 ◼   ► and then showed that it wasn't actually that good.

00:34:36 ◼   ► So on the other hand, they are making--

00:34:43 ◼   ► they're investing a lot of software effort

00:34:45 ◼   ► in order to make these lower capacity phones viable.

00:34:49 ◼   ► The other thing I got--

00:34:50 ◼   ► so I got a lot of feedback on that question from people.

00:34:52 ◼   ► And some people were like, wow, you did a great--

00:34:54 ◼   ► like what you just said, you did a great job framing that

00:34:57 ◼   ► that you asked a tough question,

00:34:59 ◼   ► but you did it in a respectful way

00:35:01 ◼   ► where you weren't being, it wasn't confrontational.

00:35:05 ◼   ► Other people were like,

00:35:07 ◼   ► you should have followed up on that after his answer

00:35:10 ◼   ► and pressed him on it further.

00:35:13 ◼   ► Or other people who made what is a good point

00:35:17 ◼   ► was that I'm, it's like my own personal perspective on this

00:35:20 ◼   ► where I'm really only interested

00:35:21 ◼   ► in the current generation devices.

00:35:24 ◼   ► I didn't even mention the fact

00:35:25 ◼   ► that they're still selling eight gigabyte devices.

00:35:27 ◼   ► Like if you buy the iPhone 5C,

00:35:29 ◼   ► which is the one that's I think currently free

00:35:32 ◼   ► with contract, you only get eight gigabytes of storage,

00:35:35 ◼   ► which is really low.

00:35:37 ◼   ► But I do think, like you said,

00:35:38 ◼   ► like with this whole app thinning thing,

00:35:40 ◼   ► it's not like they're selling them

00:35:41 ◼   ► and engineering has, software engineering

00:35:43 ◼   ► has left them behind.

00:35:44 ◼   ► Like I think more than ever,

00:35:46 ◼   ► they're really focused on making sure

00:35:49 ◼   ► that the entire array of these iOS devices

00:35:53 ◼   ► that they're selling are moderately useful,

00:35:57 ◼   ► you know, pretty good devices going forward.

00:36:01 ◼   ► - Yeah, my other, I mean,

00:36:03 ◼   ► this is pretty much unsubstantiated,

00:36:07 ◼   ► but my understanding is that the RAM chips

00:36:11 ◼   ► that they use in the 16 gigabyte,

00:36:12 ◼   ► they don't come in 32 gigabyte.

00:36:16 ◼   ► - Yeah.

00:36:17 ◼   ► - So they need to find a different supplier,

00:36:19 ◼   ► like things get, like there's complicated stuff there

00:36:21 ◼   ► it.

00:36:22 ◼   ► Yeah, that's something I think we are.

00:36:25 ◼   ► There's like, there's some basic.

00:36:27 ◼   ► We heard this from the same person last week, but you know, sort of off the record.

00:36:32 ◼   ► But that it's a little bit more complicated than just the product marketing implications

00:36:36 ◼   ► of the way that it, if 16 to 64 to 128 is the split, boy, there's an awful lot of people

00:36:43 ◼   ► who if they were on the fence might have gone with the low, if it was 32 at the low end

00:36:48 ◼   ► would have bought that 32, but instead buy the hundred dollar, spend the extra hundred dollars

00:36:53 ◼   ► to get the 64. Clearly that's part of it. But that we heard that there's a technical reason,

00:36:58 ◼   ► and it was that it sounds crazy. Because I know that if the 32 gigabyte chips did exist,

00:37:05 ◼   ► it wouldn't be, it's not a hundred dollar expense to Apple, it's a couple of bucks at the most.

00:37:09 ◼   ► But that there were something very, very specific about these chips, but that the 32 ones

00:37:16 ◼   ► actually weren't there and that if they wanted to have them in the quantities they needed,

00:37:20 ◼   ► sixteen was actually, you know, there was actually like a,

00:37:23 ◼   ► what would you call it, an operational advantage to sixteen, sixty-four, one twenty-eight.

00:37:29 ◼   ► Right. Yeah.

00:37:30 ◼   ► So, you know, I mean, you know,

00:37:33 ◼   ► I can't, it's not like I've spoken to the guy that actually buys all of this stuff, but, you know,

00:37:38 ◼   ► that seems plausible to me and it's also not something Phil's going to say.

00:37:43 ◼   ► So, but on the other hand, they're trying to make it work. So really are all of this software technologies

00:37:48 ◼   ► Yeah, and a lot of it there's an awful lot of things

00:37:51 ◼   ► It's going to keep coming up because if if we even get to swift and stuff like that, but boy the whole

00:37:56 ◼   ► And you know and and one of the things that schiller said last week and I do think we're starting to see is is that

00:38:00 ◼   ► A lot of these things are years in the making

00:38:03 ◼   ► And some of it many years maybe close to a decade. I mean, when did apple first?

00:38:09 ◼   ► bring Chris Latner in, hire him, and sort of adopt LLVM as their official, you know, compiler technology going forward.

00:38:18 ◼   ► Oh, I should know this off the top of my head.

00:38:21 ◼   ► It may not... it's probably close to ten years.

00:38:25 ◼   ► Close to, but I think less. Like, I think ten years is on the outside.

00:38:30 ◼   ► Because he wrote a brilliant paper and he got LLVM going,

00:38:35 ◼   ► basically because GCC stank.

00:38:40 ◼   ► And that's not a--

00:38:45 ◼   ► I don't know if there's a lot of open source students that listen to this

00:38:47 ◼   ► and they're going to get all bent out of shape about GCC.

00:38:51 ◼   ► But it was great for its time, really hard to make the advancements

00:38:53 ◼   ► that we're seeing with LLVM.

00:39:00 ◼   ► I mean, FreeBSD has adopted it. I think there's some work for Linux, but I can never keep track of all of that.

00:39:07 ◼   ► Here, from Wikipedia, reports that Apple hired him in 2005, so 10 years.

00:39:13 ◼   ► And obviously, they've been reaping rewards from that big and small every year, step by step.

00:39:20 ◼   ► But it's really starting to--the way that that's--

00:39:28 ◼   ► It's not just, the first couple of years of advantages

00:39:32 ◼   ► of switching from GSC to LLVM were really about,

00:39:36 ◼   ► developers were the only people who saw those advantages.

00:39:39 ◼   ► And now we're starting to see this trickle out

00:39:42 ◼   ► into user-facing features,

00:39:44 ◼   ► things that would not have been possible with GCC, I believe.

00:39:48 ◼   ► Like app slicing.

00:39:50 ◼   ► - Oh.

00:39:53 ◼   ► - Don't you think?

00:39:54 ◼   ► You think I'm wrong?

00:39:54 ◼   ► - No, you're totally wrong.

00:39:55 ◼   ► - Okay. - No, I know you're wrong.

00:39:57 ◼   ► Just to double down on Latner.

00:40:02 ◼   ► Latner is like a snowball rolling downhill, and it's like exponential impact.

00:40:09 ◼   ► He's doing a great job.

00:40:14 ◼   ► We'll get to Swift eventually, but he's killing it.

00:40:16 ◼   ► So app slicing is, back in the next days before Apple even bought them, they had what was called fat binaries,

00:40:24 ◼   ► which are what we call universal binaries, which basically had code segments for each of the different chip architectures that the application had gone on.

00:40:34 ◼   ► So, you know, PowerPC or Intel or HP or some Spark stations, that kind of thing.

00:40:40 ◼   ► The idea is that there's a tiny sort of table of contents at the beginning of the file,

00:40:46 ◼   ► And you jump to the correct page and start reading the same book in your own language.

00:40:51 ◼   ► And one book would hold like four or five different versions of the text, each translated as appropriate for the architecture that you were running on.

00:41:01 ◼   ► And those were called FAT binaries that became Universal Apps on the Mac with Intel and PowerPC.

00:41:14 ◼   ► and now 32 and 64-bit ARM.

00:41:19 ◼   ► And one of the things that would happen

00:41:23 ◼   ► on old NeXT machines was that people would run

00:41:25 ◼   ► a command line, which I believe still exists,

00:41:30 ◼   ► called lipo.

00:41:33 ◼   ► And what lipo would do, would go into one of the executable files

00:41:35 ◼   ► and strip out the architectures that weren't native

00:41:38 ◼   ► to where you're going to run the app.

00:41:39 ◼   ► and that would save you some space. And back in those days there wasn't a lot of space, so

00:41:43 ◼   ► that would be something that people would like to do.

00:41:47 ◼   ► App slicing is very similar except that it happens on the App Store

00:41:51 ◼   ► level. When you download an app

00:41:55 ◼   ► on iOS 9 using app slicing,

00:41:59 ◼   ► only the code that is appropriate for the device that you're downloading it for

00:42:03 ◼   ► will be downloaded. So you won't have extraneous code

00:42:07 ◼   ► for 32-bit ARM, 64-bit ARM, and what have you.

00:42:12 ◼   ► Further, and this is probably the biggest win,

00:42:15 ◼   ► is that resources will be culled that aren't appropriate.

00:42:20 ◼   ► So if you have like an iPhone 6,

00:42:23 ◼   ► you will only download the @2x resources.

00:42:27 ◼   ► - Instead of the 3x resources that should be included.

00:42:30 ◼   ► - 6 plus. - Yeah, for the 6 plus.

00:42:32 ◼   ► - Right, right.

00:42:34 ◼   ► So it will be the minimum footprint.

00:42:38 ◼   ► It will be only exactly what the application needs.

00:42:43 ◼   ► And that will have huge gains in terms of the application

00:42:49 ◼   ► download size and the footprint on the device itself.

00:42:52 ◼   ► Yeah.

00:42:55 ◼   ► And it seems like that's going to be a big deal.

00:42:57 ◼   ► And it happens.

00:42:58 ◼   ► So you submit as a developer.

00:43:00 ◼   ► You submit one app with everything,

00:43:02 ◼   ► all of your resources, your 32-bit, your 64-bit compiled output, you submit that to the App Store.

00:43:07 ◼   ► And then the App Store takes care of serving the sliced up,

00:43:15 ◼   ► here's only what you need version to the customers.

00:43:20 ◼   ► Right.

00:43:26 ◼   ► Yeah.

00:43:26 ◼   ► Which is great.

00:43:28 ◼   ► And it's one of the benefits of having an App Store.

00:43:29 ◼   ► You get to slice and dice as you need to and then download the appropriate thing.

00:43:30 ◼   ► - Right, and so it's another way that apps can,

00:43:33 ◼   ► A, it just saves everything anyway.

00:43:35 ◼   ► It's less energy, less networking, it's, you know,

00:43:39 ◼   ► little bit, you know, it's good for everybody

00:43:41 ◼   ► to say everything's gonna be faster,

00:43:42 ◼   ► but it's another way that apps can get

00:43:44 ◼   ► under the cellular limit too.

00:43:45 ◼   ► - Oh, definitely.

00:43:49 ◼   ► Yeah, on demand is a big one,

00:43:50 ◼   ► and app slicing will also help a lot.

00:43:53 ◼   ► Especially with the,

00:43:55 ◼   ► there's so many devices now with so many requirements

00:43:58 ◼   ► and resources are getting kind of blown out,

00:44:01 ◼   ► it's gonna help a lot.

00:44:04 ◼   ► It's gonna make it so that every app that you download

00:44:08 ◼   ► is saying in terms of you would--

00:44:11 ◼   ► - Yeah, 'cause one of the other things

00:44:12 ◼   ► that's interesting to me about iOS 9,

00:44:14 ◼   ► and I'm not surprised because they're still selling

00:44:16 ◼   ► the A5 with the entry model non-retina iPad mini,

00:44:21 ◼   ► and since they're still selling it,

00:44:26 ◼   ► that makes sense that they're still supporting it

00:44:28 ◼   ► with iOS 9. But presumably they're going to have new iPads and new iPhones later this

00:44:35 ◼   ► year. So it's only going to be adding to the number of devices. So now we're going all

00:44:39 ◼   ► the way from a non-retina 1X stuff like the entry level iPad mini. The iPod touch is still

00:44:51 ◼   ► being sold.

00:44:53 ◼   ► Those are A5 devices that are--

00:44:55 ◼   ► I guess the iPod Touch is Retina.

00:44:57 ◼   ► But they're still non-Retina device being sold,

00:45:00 ◼   ► still being supported, all the way up to 3x devices like the 6 Plus.

00:45:06 ◼   ► Yeah.

00:45:06 ◼   ► Yeah.

00:45:07 ◼   ► And again, this kind of backs up what Sheila was saying with trying to make--

00:45:15 ◼   ► that's a big investment.

00:45:18 ◼   ► They put a lot of work into making that work or happen.

00:45:21 ◼   ► So it's not just lip service and trying to fob it off as some--

00:45:26 ◼   ► like the marketing guy being like, no, no, it's great.

00:45:28 ◼   ► They're trying to back it up.

00:45:29 ◼   ► So another thing they announced-- and I think this is the first time--

00:45:32 ◼   ► is that--

00:45:34 ◼   ► and it's a real struggle for developers.

00:45:36 ◼   ► If you're doing something that really presses the limits of the device,

00:45:40 ◼   ► think high-end game.

00:45:42 ◼   ► Think something like Pixelmator for iOS.

00:45:47 ◼   ► You're really, really stretching the limits

00:45:49 ◼   ► if you want to both take advantage of the latest

00:45:53 ◼   ► hardware and the fastest graphics stuff that's on like the current state of

00:45:58 ◼   ► the art

00:45:58 ◼   ► iPhone and iPad and yet still be able to even launch

00:46:02 ◼   ► on the A5 based ones.

00:46:07 ◼   ► So, well they still have to write the same code. Well, but the one thing they had...

00:46:10 ◼   ► You mean Vaps? Well, the other thing that they announced, this was in the morning

00:46:13 ◼   ► keynote with

00:46:14 ◼   ► Craig where they announced that if it's up to you as the developer,

00:46:18 ◼   ► but you can submit an app now for iOS that requires 64-bit.

00:46:26 ◼   ► Yeah, oh that yeah that's huge. And effectively that means the

00:46:31 ◼   ► A7 or later because the A7 with the iPhone 5s was the first 64-bit.

00:46:39 ◼   ► Yeah they're very rarely giving us for lack of a better word, break

00:46:45 ◼   ► points in terms of what can and can't be supported.

00:46:50 ◼   ► Generally, if an OS level supports it, they want third parties to support it.

00:46:54 ◼   ► This is one of the few that--and they added this in order to exactly support stuff,

00:47:01 ◼   ► like high-end graphics stuff or high-end games.

00:47:09 ◼   ► Because a lot of these things, the older architectures just can't handle it, and you can't

00:47:14 ◼   ► the development burden of supporting these older systems is going to outweigh any benefit

00:47:21 ◼   ► that you have to them.

00:47:23 ◼   ► And yet, in the app store, there's no way to indicate that.

00:47:27 ◼   ► Well, there is, but it's terrible.

00:47:29 ◼   ► You've seen it, I'm sure, is you see in the app description, it'll say, "Hey, if you're

00:47:36 ◼   ► not using A7 or above," or something like that, they'll say, "Don't download this game."

00:47:43 ◼   ► Yeah.

00:47:47 ◼   ► Yeah. I mean to express that in a manner

00:47:51 ◼   ► such that the App Store can... Nobody wants to cheat their customers.

00:47:55 ◼   ► Well, I mean, some people do.

00:47:59 ◼   ► The majority of people are good actors and nobody wants them to download something that they can't

00:48:03 ◼   ► possibly run. And yet there was no programmatic or there was no way

00:48:07 ◼   ► to express that this game requires a certain level of hardware in order

00:48:11 ◼   ► to be even remotely fun.

00:48:16 ◼   ► So they've added that, which is nice.

00:48:18 ◼   ► Because I mean, in the old days,

00:48:21 ◼   ► people were switching on like,

00:48:22 ◼   ► can this app shoot video, I think?

00:48:24 ◼   ► Or does it have a camera?

00:48:26 ◼   ► Like, there was some weird stuff

00:48:28 ◼   ► that happened to coincide with faster processors.

00:48:29 ◼   ► And so they claimed that they needed

00:48:33 ◼   ► some certain part of GPS.

00:48:35 ◼   ► Yeah, like a video camera.

00:48:36 ◼   ► But yeah, video's a good example.

00:48:38 ◼   ► Yeah, video camera or GPS.

00:48:39 ◼   ► Whatever it was, yeah, it was like,

00:48:37 ◼   ► "Well, we know that this device is faster,

00:48:42 ◼   ► and it also has this other thing,

00:48:45 ◼   ► so we're going to peg it on the other thing

00:48:49 ◼   ► in order to trick the app store into limiting who can buy it."

00:48:51 ◼   ► That's a crummy experience all around.

00:48:55 ◼   ► Because you're lying to Apple,

00:48:59 ◼   ► you're lying to the customers, and it's just bad.

00:49:00 ◼   ► Let's come back and talk about Bitcode.

00:49:03 ◼   ► But let me do another sponsor read.

00:49:03 ◼   ► but remind me if I forget which I want to do.

00:49:06 ◼   ► Let me remember that where we'll pick this up

00:49:09 ◼   ► is talking about big code.

00:49:10 ◼   ► I wanna tell you about our good friends at Igloo.

00:49:15 ◼   ► Igloo is the internet you will actually like.

00:49:20 ◼   ► You can share news, organize files, coordinate calendars,

00:49:23 ◼   ► manage projects, and more all in one place.

00:49:27 ◼   ► It's a place, it's an online intranet for your team,

00:49:30 ◼   ► your organization, your business, whatever you want to call it, your group where you

00:49:36 ◼   ► can do all this stuff in one place.

00:49:39 ◼   ► And you can do it on every device.

00:49:41 ◼   ► It's all web-based.

00:49:42 ◼   ► It works great.

00:49:43 ◼   ► Everything looks great on phones, tablets, desktops, big displays, small displays, anything

00:49:50 ◼   ► you want.

00:49:51 ◼   ► It's going to look great.

00:49:52 ◼   ► Their latest upgrade, they call it Viking.

00:49:55 ◼   ► That's like the El Capitan version number of their stuff.

00:49:59 ◼   ► They give them names like that.

00:50:02 ◼   ► Viking revolves around documents and how you interact with them, gather feedback, and make

00:50:07 ◼   ► changes.

00:50:08 ◼   ► They've even had the ability to track who has read critical information to keep everyone

00:50:12 ◼   ► on the same page.

00:50:14 ◼   ► So it's like read receipts in your email or read receipts on iMessage, something like

00:50:19 ◼   ► that.

00:50:20 ◼   ► But it's a lot more like iMessage than emails because it's not annoying.

00:50:22 ◼   ► It's just this little indication of who's read what.

00:50:26 ◼   ► And that helps you track whether key colleagues have read and acknowledged policies or legal

00:50:32 ◼   ► agreements or something like that.

00:50:34 ◼   ► And if you don't need that, then you don't need to worry about it.

00:50:37 ◼   ► But if you do, it's a major upgrade to Igloo that maybe was keeping you from using it before.

00:50:42 ◼   ► So that's great.

00:50:43 ◼   ► If your company or your team has a legacy internet that looks like it was built in the

00:50:47 ◼   ► '90s, it's probably because it was built in the '90s and you should give Igloo a try.

00:50:53 ◼   ► Here's where you go to find out more.

00:50:55 ◼   ► Go to igloosoftware.com/the-talk-show, and they have a tremendous, tremendous free trial

00:51:03 ◼   ► format.

00:51:05 ◼   ► For 10 people or fewer, you could just use it for as long as you want, free of charge.

00:51:11 ◼   ► That's it.

00:51:12 ◼   ► So if you've got a team that's fewer than 10 people, igloo is free.

00:51:15 ◼   ► Just use it, and you don't even have to worry about it.

00:51:17 ◼   ► And then if you have more than 10 people, they have really, really great pricing, depending

00:51:21 ◼   ► on your size.

00:51:22 ◼   ► can check them out for free and get started and just see how good it can be. So my thanks

00:51:27 ◼   ► to igloosoftware.com/thetalkshow for sponsoring the show. All right, what were we…

00:51:35 ◼   ► Jared: Canadians. Canadians, right?

00:51:36 ◼   ► Dave: They might as well be, I don't know, maybe they are. I think they are. They're

00:51:41 ◼   ► very nice. So I suspect that they are. Every time I interact with them, they're very,

00:51:47 ◼   ► very nice people.

00:51:48 ◼   ► Jared They've got to be Canadian then. That's

00:51:50 ◼   ► the only explanation.

00:51:51 ◼   ► Oh, that's right, Bitcode. All right, explain Bitcode. Because I think that this seems to

00:51:57 ◼   ► me like something that even in the State of the Union was sort of, they went through this

00:52:02 ◼   ► very quickly.

00:52:03 ◼   ► Yeah, so they talked about it, they kind of skimmed over it. The session explanation originally

00:52:13 ◼   ► mentioned it, and then they expunged it, like they updated the explanation in the WWC app

00:52:19 ◼   ► to remove mention of bitcode, and it wasn't really spoken about much publicly after that.

00:52:26 ◼   ► But my impression from what they said on stage was that bitcode was effectively a marketing

00:52:33 ◼   ► term for bytecode, like sort of the Java way of you compile things down to a bytecode where

00:52:47 ◼   ► can redeploy the same code across different platforms, right? Like in a traditional compiler,

00:52:53 ◼   ► you compile to a specific processor instruction set. So if you were on a, you know, an x86

00:53:02 ◼   ► chip, your compiler generates x86 machine code, that is directly it's the native language

00:53:09 ◼   ► of the CPU. And bytecode and Java is probably the most famous example of this. A Java compiler

00:53:18 ◼   ► compiles to bytecode and the bytecode is it's low level, but it's the same bytecode can

00:53:25 ◼   ► run on it's say, Intel or Power PC.

00:53:31 ◼   ► Right, because it's interpreted by a virtual CPU,

00:53:36 ◼   ► which is the runtime.

00:53:42 ◼   ► When people ask you to install Java,

00:53:44 ◼   ► that's what they mean.

00:53:47 ◼   ► So they need you to install the Java runtime

00:53:48 ◼   ► so that they can interpret this code.

00:53:50 ◼   ► So my understanding from what they said briefly

00:53:52 ◼   ► was that your code would be compiled down

00:53:56 ◼   ► into a Java-like bytecode,

00:53:57 ◼   ► and then recompiled by Apple with their latest compiler technology to target whatever new devices they felt like.

00:54:06 ◼   ► So this would enable stuff like CPU on the watch to change, or like an iPad with an Intel processor,

00:54:17 ◼   ► because it would be dynamically recompiled when you tried to download it. That's not the case.

00:54:26 ◼   ► It did sound like, I have to say, that sounded like what they said when I saw the...

00:54:31 ◼   ► Well, that's what they said, and I freaked out. I was like, "That?"

00:54:36 ◼   ► Because I ship software. I don't want my name attached to the software that I haven't been able to test.

00:54:40 ◼   ► So that was kind of a big...

00:54:47 ◼   ► That was troublesome.

00:54:50 ◼   ► What actually happens is that LLVM compiles your code down to bit.com.

00:54:54 ◼   ► to code down to bit code, which is what they call it.

00:54:59 ◼   ► And I know it's confusing, just bytes and bits and whatever.

00:55:03 ◼   ► But the bit code that LLVM emits

00:55:08 ◼   ► is very much targeted to the processor

00:55:13 ◼   ► that you planted the point on.

00:55:17 ◼   ► And the only changes that Apple is going to make

00:55:19 ◼   ► in this process are, quote, "proveably correct."

00:55:23 ◼   ► And that gets hard to explain.

00:55:28 ◼   ► If I'm doing something in a loop, and at the beginning of the loop,

00:55:34 ◼   ► if I have to do something 100 times, and every time I have to write down

00:55:38 ◼   ► five different things that never change and memorize them,

00:55:43 ◼   ► and then go through the loop, do all of the tasks I have to do,

00:55:48 ◼   ► and then do it again, and then I have to write them all down again.

00:55:53 ◼   ► One optimization would be to, "Well, why don't you just write them down once

00:55:56 ◼   ► and use them every time through the loop?"

00:56:01 ◼   ► Now, modern compilers can do that for you.

00:56:03 ◼   ► They can reorder your code in order to achieve efficiencies in this way,

00:56:06 ◼   ► and then to compile your code faster.

00:56:14 ◼   ► Not to compile it.

00:56:16 ◼   ► Right.

00:56:14 ◼   ► When you're saying in this case, those five things are exactly the same and have to be

00:56:19 ◼   ► exactly the same, you can prove that they'll be exactly the same all hundred times through

00:56:24 ◼   ► the loop.

00:56:25 ◼   ► Well, okay, so there's two things.

00:56:27 ◼   ► There's yes, there's that, which is basically the optimization level of rebutting code.

00:56:34 ◼   ► It'll pull those out and put them on top.

00:56:37 ◼   ► Now the problem with that comes from is that if – okay, here are the stages.

00:56:43 ◼   ► I'm going to ask you your name.

00:56:45 ◼   ► I'm going to ask you your family name.

00:56:49 ◼   ► And then I am going to write them down on a piece of paper

00:56:52 ◼   ► and I'm going to pass it to somebody else.

00:56:53 ◼   ► That's my iteration, OK?

00:56:55 ◼   ► Oh, I'm going to-- and I'll probably add a number

00:56:57 ◼   ► to how many times I've done it so that each iteration is

00:57:00 ◼   ► a little bit different.

00:57:02 ◼   ► Now, I ask you your name, ask you your family name,

00:57:06 ◼   ► and write them down.

00:57:07 ◼   ► And I'm doing that over and over and over.

00:57:09 ◼   ► Now, one day, you're like, "You know what?

00:57:14 ◼   ► "John is a shitty name.

00:57:19 ◼   ► "I'm going to call myself Guy, because that's an awesome name."

00:57:22 ◼   ► And so now, when I go through the loop,

00:57:26 ◼   ► I've asked you your name, and it's now Guy Gruber.

00:57:29 ◼   ► And so the output changes.

00:57:34 ◼   ► You're making me feel weird.

00:57:35 ◼   ► Yeah, I know.

00:57:35 ◼   ► I'm trying to explain in advanced compiler optimization.

00:57:40 ◼   ► No, that's a pretty good so forth.

00:57:43 ◼   ► So if you took those two steps,

00:57:45 ◼   ► like asking you your name and your last name

00:57:50 ◼   ► and took them out of the loop,

00:57:52 ◼   ► most of the time you'd be totally correct.

00:57:55 ◼   ► But there's a weird edge case where by analyzing the code

00:57:57 ◼   ► you can't necessarily tell that you're likely,

00:58:01 ◼   ► you may change your name at some point.

00:58:02 ◼   ► So that breaks code.

00:58:07 ◼   ► And that's the kind of optimization that happens with

00:58:11 ◼   ► 03 or 02.

00:58:15 ◼   ► You set a flag about how much you want the code to be

00:58:18 ◼   ► optimized when you compile these things.

00:58:21 ◼   ► Debug has no optimization so you can step through and see

00:58:23 ◼   ► exactly what's happening.

00:58:26 ◼   ► At higher and higher levels of optimization, the compiler gets smarter and smarter about doing this kind of thing.

00:58:28 ◼   ► But the compiler is not always able to reason fully about your code.

00:58:33 ◼   ► And therefore can introduce some bugs.

00:58:41 ◼   ► So that's why I was concerned.

00:58:48 ◼   ► And you're saying with bitcode that cannot happen.

00:58:49 ◼   ► So with bitcode, they're different.

00:58:53 ◼   ► They have already done that entire stage of trying to be smart and moving,

00:58:57 ◼   ► you know, rewriting the code in order to achieve algorithmic improvements.

00:59:00 ◼   ► They've done that on your machine, the machine underneath your desk as a developer.

00:59:04 ◼   ► And so what you've gotten from Xcode on your machine, you can test to your satisfaction.

00:59:12 ◼   ► Exactly. Yeah. Now, what Bitcode will allow Apple to do,

00:59:18 ◼   ► and I'm going to come up with a similarly stupid example,

00:59:23 ◼   ► is that if you have, I don't know, like some operations come, like a multiple operation,

00:59:32 ◼   ► maybe there's a fast way to do it. Like if you're only multiplying powers of, well,

00:59:41 ◼   ► the powers of two on a GPU, on a CPU, but if you're only multiplying powers of 10,

00:59:47 ◼   ► like so it's 10 and 100 and all that, all you have to do is add a bunch of zeros, right? Like,

00:59:51 ◼   ► logically, that's how you learn to do math.

00:59:56 ◼   ► There can be a very fast way to do multiplication

01:00:01 ◼   ► that this compiler can take advantage of,

01:00:06 ◼   ► because it's being introduced as a new--

01:00:11 ◼   ► it's called an intrinsic function, like it's a new capability of the CPU.

01:00:14 ◼   ► Now, a multiply is a multiply.

01:00:17 ◼   ► It doesn't matter if it happens fast or slow.

01:00:22 ◼   ► It's the same multiply, the same order of operations apply.

01:00:24 ◼   ► Everything is fine.

01:00:28 ◼   ► Whether they take a shortcut or they do the full-on multiply

01:00:30 ◼   ► is something that is basically a decision based on it

01:00:35 ◼   ► that the CPU has to make.

01:00:41 ◼   ► And so Apple is basically reserving the right

01:00:43 ◼   ► to change your code a little bit

01:00:43 ◼   ► in order to better take advantage of these minute

01:00:47 ◼   ► optimization. Right, and so it's not

01:00:50 ◼   ► as has widely been speculated

01:00:52 ◼   ► a way to future-proof compiled code

01:00:57 ◼   ► for as yet

01:00:59 ◼   ► altogether new

01:01:00 ◼   ► processors.

01:01:02 ◼   ► That's my understanding, yeah, this would be as hard to target, re-target to a new

01:01:06 ◼   ► processor as taking assembly

01:01:09 ◼   ► and targeting it to a new processor.

01:01:11 ◼   ► And under the hood--

01:01:12 ◼   ► - So this article that was on--

01:01:14 ◼   ► - This is getting way nerdy.

01:01:15 ◼   ► - I know, but there's a widely cited article written by,

01:01:17 ◼   ► I don't even know who it is.

01:01:19 ◼   ► He goes, he or she goes by the name Inertial Lemon,

01:01:23 ◼   ► and I don't know who this is,

01:01:24 ◼   ► but Inertial Lemon wrote an article that sort of,

01:01:29 ◼   ► I think we're saying that they're probably wrong.

01:01:35 ◼   ► - It's a good article, I recommend reading it.

01:01:37 ◼   ► It's where I started with,

01:01:39 ◼   ► until I spoke to people that had more information.

01:01:42 ◼   ► Right, it's a little bit more magic than they can probably get away with.

01:01:46 ◼   ► And maybe even like from your perspective as a developer, more magic than you would be comfortable with them trying to get away with.

01:01:53 ◼   ► Well, so, um, Ms. Lemon, I'm already forgetting the last name.

01:01:59 ◼   ► Inertial.

01:02:01 ◼   ► Inertial Lemon.

01:02:03 ◼   ► That's where I started.

01:02:08 ◼   ► They seem excited about the possibilities, and it is.

01:02:10 ◼   ► It's exciting that you could retarget an application to a different platform.

01:02:14 ◼   ► On the other hand, if somebody retargets my code to a different platform,

01:02:19 ◼   ► and I don't get to approve it,

01:02:23 ◼   ► and it's shipped under my name,

01:02:26 ◼   ► I am going to feel very uncomfortable with that.

01:02:28 ◼   ► Now, turns out that's not what they're doing.

01:02:31 ◼   ► they're doing small optimizations that can have probably pretty small benefits, but under certain conditions, they're certainly worth doing.

01:02:45 ◼   ► So I'm excited about that.

01:02:48 ◼   ► What next? So, and this was cool to me, and just as somebody who majored in computer science used to think about computer science,

01:02:58 ◼   ► It's like a purely computer science type thing. Is Apple unveiled a new compression algorithm?

01:03:06 ◼   ► They're calling LZFSE. Almost surprised me because Apple usually comes up with some

01:03:11 ◼   ► kind of name for everything. Yeah, but this is some hardcore. Yeah. And it's a replacement for

01:03:18 ◼   ► well, like sort of a drop in replacement for what was Zlib or whatever, but that it's

01:03:27 ◼   ► It's quite different. I mean, replacement is a weird thing, right?

01:03:30 ◼   ► Alternative. It's an alternative.

01:03:32 ◼   ► Yeah, alternative. Because they should look like speed versus compression factor.

01:03:37 ◼   ► It's way faster than Zlib, if I'm remembering the talk correctly.

01:03:42 ◼   ► And compresses better too, right?

01:03:47 ◼   ► But the only thing that they didn't unveil about this, they didn't say anything about it being open sourced.

01:03:52 ◼   ► being open sourced.

01:03:53 ◼   ► And I'm guessing that they probably will,

01:03:56 ◼   ► but they just didn't want to say anything right now

01:03:58 ◼   ► because they're not ready.

01:03:59 ◼   ► But who knows?

01:04:02 ◼   ► Well, like you said, I think this is serious comp sci nerd

01:04:05 ◼   ► territory.

01:04:06 ◼   ► Yeah.

01:04:07 ◼   ► If they don't open source it, there's

01:04:09 ◼   ► going to be a paper on it.

01:04:10 ◼   ► Yeah, it just seems to me like even if they've--

01:04:14 ◼   ► I can't see why they wouldn't open source it.

01:04:16 ◼   ► I mean, the only thing I can think of

01:04:17 ◼   ► is if there's some part of it that they've patented.

01:04:20 ◼   ► But even so, it's like, to me, it

01:04:21 ◼   ► be better for Apple if they... it would be more in Apple's interest to have this as widely

01:04:26 ◼   ► used as possible, assuming everything they say about it is as good, that it has the tight

01:04:30 ◼   ► compression that you want, but it's like three times faster than Zlib or whatever. They would...

01:04:36 ◼   ► Yeah, but you can patent something and still describe the algorithm.

01:04:40 ◼   ► Right.

01:04:41 ◼   ► Like that's kind of the point, right? You can even... like GIF existed like that for...

01:04:48 ◼   ► I mean, you'd know better than I. What, like for 20 years, it seems like, before the patent expired?

01:04:55 ◼   ► Yeah, the problem with GIF, though, Unisys owned the patent on GIF.

01:05:00 ◼   ► And it was like that they didn't enforce it. They had a patent on it, didn't enforce it. Then the web--

01:05:04 ◼   ► Yeah, they did the submarine patent.

01:05:09 ◼   ► Right, and it was like all of a sudden on the web everybody was using it, and then somebody at Unisys realized,

01:05:11 ◼   ► "Hey, we own a patent on this." And then, you know, everybody sort of--

01:05:15 ◼   ► - Yeah, specifically if I remember correctly, the LZW.

01:05:18 ◼   ► - Yeah, I think--

01:05:20 ◼   ► - Very much in the family of things that we're talking about.

01:05:21 ◼   ► - Right, I think what they could do,

01:05:23 ◼   ► what Apple could do, or anybody could do,

01:05:25 ◼   ► and I think other people have done,

01:05:26 ◼   ► is you can patent it and say this is an Apple patent,

01:05:29 ◼   ► but then they can bestow that patent,

01:05:32 ◼   ► they can say this is open to the world and--

01:05:35 ◼   ► - Yeah, once you have the patent, you're the boss.

01:05:38 ◼   ► - But they could like--

01:05:39 ◼   ► - Like you can license it freely--

01:05:40 ◼   ► - Right, in a legally binding way.

01:05:43 ◼   ► - You determine the licensing terms.

01:05:44 ◼   ► So if the terms are everybody can use it, then everybody can use it.

01:05:50 ◼   ► That's fine.

01:05:51 ◼   ► I don't see-- this is not a major benefit to Apple.

01:05:56 ◼   ► This is not going to--

01:05:57 ◼   ► It'd be more of a benefit--

01:05:58 ◼   ► How many more iPhones is it going to sell?

01:06:00 ◼   ► Zero more iPhones.

01:06:01 ◼   ► Right.

01:06:01 ◼   ► It would be more of a benefit to Apple if everybody else started using it.

01:06:05 ◼   ► So like Google servers were using it.

01:06:08 ◼   ► Amazon servers were using it.

01:06:10 ◼   ► or other startups, people with web services,

01:06:14 ◼   ► could deploy it anywhere, from anywhere,

01:06:16 ◼   ► so that iPhones receiving this stuff over the air

01:06:21 ◼   ► could take advantage of this and have tighter compression

01:06:24 ◼   ► and less CPU-intensive decompression of the compressed stuff.

01:06:29 ◼   ► - And one thing they pointed out was that

01:06:34 ◼   ► a lot of the compression algorithms that we use today

01:06:36 ◼   ► were developed 20, 30 years ago,

01:06:38 ◼   ► and CPUs looked very different back then.

01:06:42 ◼   ► So creating a modern one that takes full advantage

01:06:45 ◼   ► of modern instruction sets and the ability

01:06:50 ◼   ► to work on a lot of data with-- man,

01:06:54 ◼   ► we're getting into the nerd weeds on this one.

01:06:56 ◼   ► But there's methods to work with a lot of data

01:07:00 ◼   ► with very few instructions, and the CPU

01:07:02 ◼   ► can just optimize that.

01:07:04 ◼   ► Well, we don't have to say much more about it.

01:07:06 ◼   ► But I still think it's an interesting thing

01:07:08 ◼   ► to be coming out of. I'm not surprised, but it's an interesting just pure computer science

01:07:12 ◼   ► win to come out of Apple.

01:07:14 ◼   ► Yeah. One thing I did want to mention about this is what I mentioned to you while we were

01:07:19 ◼   ► kind of chatting about this before the show. I see FaceTime as the open source exception

01:07:24 ◼   ► rather than Google. They're really pretty good about releasing stuff that they said

01:07:28 ◼   ► they're going to be open source.

01:07:29 ◼   ► Yeah, but people remember that, though, the infamous one, when they unveiled FaceTime

01:07:33 ◼   ► and Steve Jobs said, "And it's going to be open, you know, an industry standard. We're

01:07:37 ◼   ► we're going to, tomorrow morning we're going to send this to all the industry standard,

01:07:42 ◼   ► the standard committees and blah, blah, blah.

01:07:47 ◼   ► And so whenever Apple says anything's going to be open, people are like,

01:07:49 ◼   ► "Yeah, well, I'm still holding my breath on FaceTime."

01:07:52 ◼   ► But FaceTime is definitely the exception.

01:07:54 ◼   ► Yeah, and I've said this before, but I'll say it on your show.

01:07:57 ◼   ► I went out to a party with the FaceTime guys the day it was announced, and they had no idea.

01:08:04 ◼   ► They were like, "What the fuck happened there? We don't know."

01:08:09 ◼   ► And I've since heard from people that would know that Steve asked somebody, "Can we open sources?"

01:08:13 ◼   ► And they just came back with, "Sure."

01:08:22 ◼   ► And then they didn't really check with the team at all.

01:08:25 ◼   ► Whoever gave the answer wasn't from engineering.

01:08:28 ◼   ► Yeah.

01:08:30 ◼   ► The manager and the entire team was sitting in the audience and they were like, "When they heard

01:08:30 ◼   ► they was going to be open source.

01:08:32 ◼   ► They were as shocked as we were, probably more so.

01:08:35 ◼   ► So anyway--

01:08:37 ◼   ► Yeah, and plus in the interim--

01:08:38 ◼   ► I know everybody, but that's not some kind

01:08:40 ◼   ► of weird Machiavellian thing.

01:08:42 ◼   ► That's just a complete fuck up, for lack of a better expression.

01:08:46 ◼   ► And it's sort of-- you've got to take the good with the bad

01:08:51 ◼   ► with Steve Jobs, where he can be impetuous and impulsive.

01:08:54 ◼   ► And sometimes that works to your advantage,

01:08:57 ◼   ► and sometimes it doesn't.

01:08:58 ◼   ► Right.

01:08:59 ◼   ► I get the impression that it was just like, "Sure, Steve."

01:09:03 ◼   ► - And they had all sorts of other problems with that too,

01:09:04 ◼   ► where they had like a patent lawsuit,

01:09:07 ◼   ► and there was a time, I might be yada, yada, yada-ing

01:09:10 ◼   ► some of the stuff in the middle, but some of this,

01:09:12 ◼   ► there were problems from when FaceTime debuted

01:09:16 ◼   ► to where we are today, where because of a patent lawsuit,

01:09:19 ◼   ► they had to unroll some stuff,

01:09:21 ◼   ► and it made it work less well,

01:09:23 ◼   ► and there were some dropped calls and stuff like that.

01:09:26 ◼   ► It got worse for a while before it got better

01:09:28 ◼   ► because they had to take out some stuff

01:09:29 ◼   ► because of a patent lawsuit.

01:09:30 ◼   ► Obviously, that would have been a problem

01:09:33 ◼   ► if they'd opened, if they had just quote unquote

01:09:36 ◼   ► open source the original thing anyway.

01:09:38 ◼   ► - Yeah, you don't just decide to open source

01:09:41 ◼   ► something like that.

01:09:42 ◼   ► There's technical and legal reasons that,

01:09:45 ◼   ► you know, that's complicated.

01:09:46 ◼   ► - All right, so next big topic.

01:09:48 ◼   ► We've got WatchKit 2.0,

01:09:50 ◼   ► which is seriously a major, major, major difference.

01:09:53 ◼   ► So WatchKit as we know it,

01:09:55 ◼   ► with what they unveiled last November,

01:09:57 ◼   ► What every single watch app in the App Store today

01:10:00 ◼   ► is code that runs on your phone and projects a UI onto the watch.

01:10:09 ◼   ► And WatchKit 2.0, as promised by Jeff Williams a month or so ago,

01:10:15 ◼   ► is native, native code that can run on the watch.

01:10:18 ◼   ► 1.0 still works, which is nice.

01:10:25 ◼   ► - And might be good for some uses.

01:10:27 ◼   ► I asked Schiller about that last week,

01:10:30 ◼   ► and there might be some apps

01:10:31 ◼   ► that don't even need to run natively.

01:10:32 ◼   ► If they really do just need occasional status updates,

01:10:35 ◼   ► why even bother with it?

01:10:37 ◼   ► - So I do think that the WatchKit was sort of the,

01:10:42 ◼   ► that was the big thing, right?

01:10:43 ◼   ► Like we've got a whole new platform.

01:10:45 ◼   ► - Yeah, I think so.

01:10:46 ◼   ► - What I was surprised about

01:10:54 ◼   ► was just exactly how much access we got to it.

01:10:59 ◼   ► Because we all expected apps, right?

01:11:02 ◼   ► But we get a lot more.

01:11:08 ◼   ► We get complications, notifications, glances, and apps.

01:11:09 ◼   ► I really did not think that we,

01:11:12 ◼   ► as third-party developers, would be afforded access

01:11:17 ◼   ► to the complications machinery.

01:11:20 ◼   ► I always expected that we would be eventually,

01:11:19 ◼   ► but I thought that would be a next year thing.

01:11:22 ◼   ► - Well, eventually, sure.

01:11:23 ◼   ► But as like a, I know it's called WatchKit 2.0,

01:11:28 ◼   ► but I'm, whatever I'm gonna call it,

01:11:29 ◼   ► like a first release of native.

01:11:32 ◼   ► - Yeah, and Apple would never use a version number like this

01:11:34 ◼   ► but more or less like what we had with the current,

01:11:38 ◼   ► you know, WatchKit is sort of like WatchKit 0.1.

01:11:41 ◼   ► - I'm surprised that they called it WatchKit still.

01:11:45 ◼   ► It seems like WatchKit could have been

01:11:48 ◼   ► that weird Bluetooth thing, and then, I don't know,

01:11:53 ◼   ► watch SDK could have been, I don't know.

01:11:58 ◼   ► But here's the interesting thing.

01:12:02 ◼   ► You still need to have an iPhone app

01:12:03 ◼   ► in order to have a watch app.

01:12:06 ◼   ► You cannot sell watch apps directly.

01:12:08 ◼   ► They need to be a complement to your iPhone app.

01:12:10 ◼   ► What that means is, you know, probably lost

01:12:15 ◼   ► the muddy Vegas reserve app approval.

01:12:16 ◼   ► Like can you just have a screen that comes up and say,

01:12:17 ◼   ► "Hey, check your watch."

01:12:19 ◼   ► Probably not.

01:12:20 ◼   ► But what WatchKit 2.0 is,

01:12:27 ◼   ► is remarkably robust and forward-looking,

01:12:32 ◼   ► especially compared to how we saw the launch of the iPhone.

01:12:37 ◼   ► - One of my go-to moves during WWDC

01:12:40 ◼   ► is when I run into somebody,

01:12:42 ◼   ► I haven't seen him at all, somebody I know,

01:12:44 ◼   ► It's just asked them, and especially this week,

01:12:47 ◼   ► last week while I was there, I had more meetings and stuff

01:12:51 ◼   ► outside Moscone than usual.

01:12:53 ◼   ► Almost every day I had something going on,

01:12:54 ◼   ► and I really, I didn't make it to any sessions at all,

01:12:58 ◼   ► all week long, so I was woefully under-informed,

01:13:00 ◼   ► even compared to usual.

01:13:02 ◼   ► So I just asked people, like,

01:13:03 ◼   ► "Tell me something cool you learned this week,

01:13:04 ◼   ► "and what's your take?"

01:13:06 ◼   ► And I kept hearing over and over from people

01:13:08 ◼   ► who were surprised, who were like,

01:13:09 ◼   ► "I knew they were gonna,

01:13:11 ◼   ► "that they said we were gonna get native watch apps.

01:13:13 ◼   ► I can't believe how much they've exposed to watch apps already.

01:13:18 ◼   ► Even knowing that we're going to have something quote unquote native running on the app,

01:13:23 ◼   ► developers are very surprised at how much there is.

01:13:26 ◼   ► I'm shocked.

01:13:31 ◼   ► You know, not to be too nice to you,

01:13:34 ◼   ► but I did like that you brought up the WatchKit 1.0 period to fill,

01:13:42 ◼   ► I'm calling him Phil Duesdijs to P-Dog last week.

01:13:45 ◼   ► It's killing you to give me all these compliments, isn't it?

01:13:48 ◼   ► Yeah, it really is.

01:13:49 ◼   ► I mean, you usually have me on the show and you want me to be addicted to you.

01:13:53 ◼   ► That's like…

01:13:54 ◼   ► Like when we disagree with something, you want me to…

01:13:58 ◼   ► You did a good job.

01:13:59 ◼   ► I texted Dalrymple today.

01:14:00 ◼   ► I forget what we were texting about, but I told him that it killed me to admit publicly

01:14:04 ◼   ► how good he looks.

01:14:06 ◼   ► I know.

01:14:07 ◼   ► I know.

01:14:08 ◼   ► I was like, "That was the most painful thing I've written on Daring Fireball all year."

01:14:11 ◼   ► He's a good-looking fellow these days.

01:14:14 ◼   ► I don't want to mess with him.

01:14:16 ◼   ► No.

01:14:17 ◼   ► I wish you don't want we got to buy him a long beer.

01:14:19 ◼   ► So here's an interesting thing.

01:14:21 ◼   ► So complications.

01:14:22 ◼   ► Everybody is excited that there's a really good complications API and that third-party

01:14:28 ◼   ► apps can add complications to all these faces.

01:14:31 ◼   ► It is a fascinating design challenge.

01:14:34 ◼   ► I was talking to the guys, my friends who work at MLB.com, and they do the MLB app.

01:14:42 ◼   ► And they were like, they heard about this.

01:14:44 ◼   ► They were just like us.

01:14:45 ◼   ► They were surprised that they were going to get it, and then they immediately started

01:14:48 ◼   ► plotting what they were going to do.

01:14:50 ◼   ► And for most of these complications, you're so limited in space and how much size.

01:14:54 ◼   ► It's like their first thought was that you could pick a favorite team and then you'd

01:14:58 ◼   ► have a complication that, while the game is going on, would show you the score.

01:15:02 ◼   ► But they, for most of the sizes of complications, they, there's, I don't know, maybe they

01:15:07 ◼   ► figured it out by now, but at least last week they still hadn't figured out how to do

01:15:10 ◼   ► it.

01:15:11 ◼   ► Because you can't use color, because the colors come from the…

01:15:15 ◼   ► Dr. Justin Marchegiani The settings are the same.

01:15:18 ◼   ► Dr. Justin Marchegiani Yeah.

01:15:19 ◼   ► So you can't like say the Yankees are blue and the Phillies are red and indicate it with

01:15:23 ◼   ► dots that way or something like that.

01:15:24 ◼   ► You have to—it has to be without using color to indicate that.

01:15:28 ◼   ► there's so little space that you, you know, it's really, it's going to be a great design

01:15:34 ◼   ► challenge in terms of like constraints being, you know, forcing you to be super creative.

01:15:42 ◼   ► Peter: Yeah, I agree. Just as a bit of backstory, I know you bring up the MLB guys a lot, but

01:15:53 ◼   ► it's not just your love for baseball. Those guys do an amazing job.

01:15:56 ◼   ► like we've had lunch but I mean I've joined you for lunch a couple of times.

01:16:01 ◼   ► You don't even know the rules of baseball and you have a good time talking to those guys.

01:16:06 ◼   ► Awesome to talk to. They are amazing to talk to. Like it's like they are very very smart guys

01:16:11 ◼   ► and they all love baseball and they're not jackasses when I'm like

01:16:16 ◼   ► so do you swing the bat this way?

01:16:21 ◼   ► Or batting a thousand is that's a hundred percent right?

01:16:22 ◼   ► I have to ask about it in a thousand years.

01:16:27 ◼   ► But they are killing it in terms of technology.

01:16:31 ◼   ► Like killing it.

01:16:32 ◼   ► I think I'm correct in that their back end is the one that's powering a bunch of other

01:16:37 ◼   ► stuff.

01:16:38 ◼   ► Yeah, their video back end does all of the WWE stuff and the HBO Now.

01:16:44 ◼   ► They're not doing HBO Go.

01:16:45 ◼   ► HBO Go is still the old HBO back end.

01:16:49 ◼   ► The new stuff is dead.

01:16:50 ◼   ► Yeah.

01:16:51 ◼   ► I think the new stuff is probably more popular.

01:16:53 ◼   ► Yeah.

01:16:54 ◼   ► And, I mean, just wrap your head around that.

01:16:58 ◼   ► MLB is a major technology company now.

01:17:01 ◼   ► Yeah, it's crazy.

01:17:02 ◼   ► Well, think about this.

01:17:03 ◼   ► Yeah.

01:17:04 ◼   ► They deserve it, because those guys are smart as hell.

01:17:05 ◼   ► Right.

01:17:06 ◼   ► And last year with HBO Go, when Game of Thrones, you know, last year's season of Game of Thrones

01:17:11 ◼   ► came out, their servers crapped out.

01:17:13 ◼   ► And they had to say stuff like, "We know it's Sunday night, and there's a new episode

01:17:19 ◼   ► of Game of Thrones.

01:17:20 ◼   ► want to watch it on HBO Go, why don't you wait a day or two? And there was none of that

01:17:27 ◼   ► this year with the HBO Now. And it's like one of those things people just, you know,

01:17:32 ◼   ► when when your online stuff fails, everybody talks about it. And when it works perfectly,

01:17:37 ◼   ► everybody just assumes that it was supposed to be but the the MLB.com back to HBO Now

01:17:43 ◼   ► stuff with Game of Thrones just just worked. And if you wanted to watch, you know, you

01:17:47 ◼   ► watch Sunday night.

01:17:49 ◼   ► Anyway, I just wanted to step out a bit there and sing their praises because those guys

01:17:54 ◼   ► are not dummies.

01:17:56 ◼   ► But you know, complications on the watch seem perfect for that.

01:18:01 ◼   ► I can't even tell you how many times I've been hanging out with you and you've like

01:18:06 ◼   ► just dodged a conversation in order to check out what's going on with the game.

01:18:10 ◼   ► That'd be great.

01:18:13 ◼   ► And the way complications work is pretty cool in that you provide a timeline.

01:18:19 ◼   ► Obviously that's not going to work for a game because you can't predict the future, but

01:18:23 ◼   ► for stuff like weather or upcoming events, you can provide a timeline.

01:18:29 ◼   ► And then when you start dialing the digital crown, you get to see into the future.

01:18:34 ◼   ► I haven't tried the beta because I don't want to put it on my regular watch.

01:18:41 ◼   ► you still have your…

01:18:42 ◼   ► Yeah, the review you don't watch. I thought about that. I do. I was getting ready to send

01:18:47 ◼   ► it back and now I'm wondering whether maybe I should keep it a couple of weeks so I can

01:18:51 ◼   ► put 2.0 on it.

01:18:52 ◼   ► Yeah, put 2.0. No, really. That's going in the garbage, man. They're going to incinerate

01:18:55 ◼   ► that thing.

01:18:56 ◼   ► Right, because I wore it?

01:18:57 ◼   ► Yeah.

01:18:58 ◼   ► Probably.

01:18:59 ◼   ► They don't want that. Someone with plastic gloves is going to put that in a Ziploc bag

01:19:05 ◼   ► and it's going right in the trash.

01:19:06 ◼   ► I think like a lot of people, while I was watching the keynote and they said, "Okay,

01:19:10 ◼   ► Now we've got this timeline interface for complications,

01:19:13 ◼   ► and you spin the digital crown to go forward or backward

01:19:16 ◼   ► in time, and it'll show you--

01:19:18 ◼   ► so if you have the temperature, obviously they're

01:19:20 ◼   ► not going to be able to show you the future temperature,

01:19:23 ◼   ► but you can go back in time and see the previous temperature,

01:19:26 ◼   ► or the joke that they made that the stock--

01:19:29 ◼   ► Right, the stock market.

01:19:30 ◼   ► --does not go into the future, but you can go into the past

01:19:33 ◼   ► and see the stock moving throughout the day

01:19:35 ◼   ► as the hours change on your hand.

01:19:39 ◼   ► I'm sure a lot of people I immediately thought well what the hell happens now when I spin the crown on my watch and I

01:19:43 ◼   ► Went and spun the crown and of course nothing happens

01:19:45 ◼   ► Well depends on the astronomy and I believe the Sun yeah the solar one

01:19:51 ◼   ► So the one yeah

01:19:54 ◼   ► You can do that. You can spin the thing and it shows you what happens

01:19:58 ◼   ► But that those are two faces where you don't get to customize the complications

01:20:01 ◼   ► Right, and it makes me wonder maybe because that might be why you didn't get to customize the complications

01:20:08 ◼   ► because they didn't want to have...

01:20:11 ◼   ► - Oh, that had an accrual.

01:20:16 ◼   ► - Yeah, so it makes me wonder whether in the 2.0,

01:20:20 ◼   ► what maybe they'll add some minor complications

01:20:22 ◼   ► to like the solar face because those will update too

01:20:26 ◼   ► as you spin the crown.

01:20:28 ◼   ► - Well, we'll have to ask our friends.

01:20:30 ◼   ► - Yeah, we'll have to see.

01:20:32 ◼   ► But I thought that was pretty cool

01:20:33 ◼   ► and I think that's a pretty cool use.

01:20:35 ◼   ► And in hindsight, it seems pretty obvious

01:20:37 ◼   ► that was going to come to everything. I feel like I should have been able to predict that, because why else is that, you know, why should spinning the crown be a no op?

01:20:42 ◼   ► Yeah, I also had a dummy moment there. I was like, well, of course.

01:20:51 ◼   ► Oh, well. I mean, they killed it. I think that's a great—just seeing

01:20:57 ◼   ► when your next UI, when your next calendar appointment is, is amazing.

01:21:05 ◼   ► And not only that, there's the tactile feel of, is it coming soon in that you move the digital crown very little?

01:21:10 ◼   ► Or is it a while where you have to spin it a bit?

01:21:18 ◼   ► You know what I mean?

01:21:22 ◼   ► There's a--it's like scrolling to the top of the page versus scrolling a couple of lines up.

01:21:22 ◼   ► You have a note in here that says foreground discouraged, background preferred.

01:21:29 ◼   ► What does that mean?

01:21:32 ◼   ► Oh, this is something Jan said to me when we were doing it.

01:21:34 ◼   ► you're doing a debug, WWDC recap.

01:21:39 ◼   ► Originally on the phone,

01:21:48 ◼   ► you could not do anything in the background.

01:21:51 ◼   ► When your app was not on screen,

01:21:56 ◼   ► you were dead to the world.

01:21:58 ◼   ► You weren't running.

01:22:00 ◼   ► You were expected to launch quickly

01:22:01 ◼   ► and get back to what you were doing,

01:22:00 ◼   ► but you weren't running.

01:22:05 ◼   ► And then when the user hit the home button

01:22:06 ◼   ► to go to another app, you had like a second or two

01:22:08 ◼   ► where the CPU would let you clean up.

01:22:11 ◼   ► And then once that time was over, you were cut off,

01:22:13 ◼   ► whether you were done cleaning up or not.

01:22:16 ◼   ► Yeah, exactly.

01:22:18 ◼   ► The OS says, "Okay, you're done."

01:22:19 ◼   ► One of the things I love about iOS

01:22:24 ◼   ► is that it is not afraid to just kill processes.

01:22:26 ◼   ► it'll tell you you've got to clean up and will kill you.

01:22:29 ◼   ► - Right, whereas the classic Unix mindset,

01:22:32 ◼   ► the true Unix mindset is to go to extraordinary lengths

01:22:35 ◼   ► to keep all processes running.

01:22:38 ◼   ► Like the whole system can be out of RAM

01:22:41 ◼   ► and it'll start swapping and going to using the disk

01:22:46 ◼   ► and swapping memory out to disk.

01:22:48 ◼   ► To extraordinary lengths, to the length

01:22:50 ◼   ► where it'll really slow everything to a crawl,

01:22:53 ◼   ► but technically everything is still running.

01:22:55 ◼   ► And iOS--

01:23:00 ◼   ► Yeah, it'll spend like half an hour trying to figure this out,

01:23:01 ◼   ► how to get some swap space for you.

01:23:03 ◼   ► But the Mac does that now.

01:23:05 ◼   ► If you try running low on disk space, bad things will happen.

01:23:07 ◼   ► But iOS, no, they'll just kill you.

01:23:12 ◼   ► So you're saying that Drance's observation is that the watch is different,

01:23:16 ◼   ► where it actually prefers that you do stuff in the background.

01:23:20 ◼   ► Well, it's not that processes are necessarily running in the background.

01:23:22 ◼   ► but in that you schedule a bunch of complication events,

01:23:27 ◼   ► provide them to the API, and then go away.

01:23:35 ◼   ► So as you're turning that dial,

01:23:39 ◼   ► your process is not involved in telling the watch

01:23:43 ◼   ► what comes next.

01:23:44 ◼   ► If you've given it 20 or 50 or 100 events in advance,

01:23:52 ◼   ► When the time travel dial, when the digital crown is turned,

01:23:57 ◼   ► your application will never be woken up.

01:24:05 ◼   ► All of the information that is required to present

01:24:08 ◼   ► that your data on screen has already been given to the app

01:24:11 ◼   ► and it won't bother you.

01:24:17 ◼   ► So in a way, it's more like you provide data

01:24:19 ◼   ► and times to the watch, and it decides what to do with them, rather than the phone, which

01:24:29 ◼   ► originally had a very immediate sort of interaction model.

01:24:34 ◼   ► Does that make sense?

01:24:36 ◼   ► I'm sure Matt can explain it better.

01:24:38 ◼   ► I do think so.

01:24:39 ◼   ► I know what you mean, though.

01:24:40 ◼   ► It's like you're supposed to keep your complication going.

01:24:43 ◼   ► just schedule like and you know it obviously it could be abused well I mean

01:24:50 ◼   ► this so here's the difference is like you and I trying to schedule the show

01:24:54 ◼   ► and you keep asking me like hey free now hey free now hey free now if you or I'm

01:25:02 ◼   ► like look these are the blocks of time I'm not free and this is when I am free

01:25:05 ◼   ► and you can go away and work with that information work it around your schedule

01:25:09 ◼   ► and then come back with, "Well, okay,

01:25:14 ◼   ► here's a time that works for both of us."

01:25:16 ◼   ► That's what the complications on the watch are doing,

01:25:23 ◼   ► in that you provide them with a timeline of events and data

01:25:26 ◼   ► rather than the watch asking you persistently,

01:25:31 ◼   ► so you as the application, asking the application

01:25:35 ◼   ► persistently to provide new information.

01:25:38 ◼   ► it asks the application up front for a list of events and time.

01:25:43 ◼   ► And there's this new, they call it a high priority notification,

01:25:48 ◼   ► where if it comes into your phone and you mark it as high priority,

01:25:51 ◼   ► it'll go to the watch right away.

01:25:54 ◼   ► And I was thinking that's perfect for something like a sports

01:25:56 ◼   ► app, like the MLB app, with scores.

01:25:59 ◼   ► Like if you say I want to have scores on my watch for the Yankees,

01:26:04 ◼   ► it seems to me like it can be really smart.

01:26:05 ◼   ► And it knows, well, the game hasn't even started yet.

01:26:07 ◼   ► The game doesn't start until 7 o'clock at night.

01:26:10 ◼   ► All you need to know is that there's a game starting at 7 o'clock and then the complication

01:26:14 ◼   ► can just say something 705 p.m.

01:26:18 ◼   ► Miami Marlins.

01:26:19 ◼   ► That's who the Yankees are playing tonight.

01:26:22 ◼   ► Once the game starts, they can just wait for the – every time the score changes, send

01:26:26 ◼   ► a high priority notification and then the watch would be up to date pretty much as soon

01:26:31 ◼   ► as the notification hits your iPhone.

01:26:33 ◼   ► It doesn't need to poll on a regular basis.

01:26:35 ◼   ► it can just wait for the phone app to get those notifications.

01:26:40 ◼   ► That'll only happen when the score changes.

01:26:46 ◼   ► Right. And so two things here.

01:26:49 ◼   ► First, notifications no longer need to be entirely presented to the user.

01:26:51 ◼   ► They can just go to the app.

01:26:57 ◼   ► Second, I love that you think that a Yankee score change is a high priority notification.

01:27:01 ◼   ► Well, this is another where… see, this is where it pays to be a fan of soccer, because

01:27:06 ◼   ► then you only have to get one notification per game since they all end one zero.

01:27:11 ◼   ► That's true.

01:27:12 ◼   ► I can't argue with that.

01:27:15 ◼   ► Okay, let's get moving, man.

01:27:18 ◼   ► iCloud kit, iCloud web services.

01:27:20 ◼   ► That was pretty surprising to me.

01:27:22 ◼   ► So the gist of that seems to be…

01:27:24 ◼   ► I didn't see the session, but I only saw the highlight of it in the State of the Union.

01:27:30 ◼   ► But that now they're going to have a set of APIs so that a web app can use iCloud for user ID and pretty much get the same data out of it that the native apps can.

01:27:42 ◼   ► Yeah, that is kind of remarkable.

01:27:50 ◼   ► Again, I haven't looked into it that much because web stuff is not my forte.

01:27:55 ◼   ► It seemed from this slide and what they said that you could use it for authentication

01:28:00 ◼   ► Would you guys at Q branch have used it for desperate login?

01:28:06 ◼   ► Because I know and I don't probably I mean it would have ruled this

01:28:10 ◼   ► anything because we kind of

01:28:12 ◼   ► That's if I'm not wrong that came up in like the beta glass motor and you considered Twitter and Facebook

01:28:17 ◼   ► Science right and the reason we turn those that cool to say because oh you can say that we thought about it

01:28:23 ◼   ► I don't know if I've talked about this publicly or not, but there's nothing secret about it.

01:28:26 ◼   ► We definitely thought about it because we didn't want to write our own authentication

01:28:31 ◼   ► system because every moment that we spent writing an authentication system was a moment

01:28:36 ◼   ► we weren't writing cool features that were specific to Vesper.

01:28:40 ◼   ► But the problem we found when we asked friends and family, normal people, and not like people

01:28:47 ◼   ► who are developers and know, "Hey, yeah, writing your own authentication system is

01:28:51 ◼   ► a pain in the ass, is that a lot of normal people really hate signing in with Twitter

01:28:56 ◼   ► or Facebook because, like, let's say they just want to use a notes app. And they think,

01:29:02 ◼   ► and I think reasonably so, they think, "Hey, I don't want to use my Facebook because I

01:29:07 ◼   ► don't want my Facebook getting messed up with these notes. I don't want Facebook posting

01:29:11 ◼   ► something from my notes. I don't want, I just want to keep them separate." People don't

01:29:15 ◼   ► really understand where one thing blurs with another, but they know if they never even

01:29:20 ◼   ► and sign in to this Notes app with Facebook,

01:29:23 ◼   ► then they can never get intertwined.

01:29:25 ◼   ► - Right. - And people are just

01:29:28 ◼   ► uncomfortable with it, people don't like doing it.

01:29:29 ◼   ► People like having, I know it sounds like,

01:29:32 ◼   ► it sounds counterintuitive, 'cause everybody knows

01:29:35 ◼   ► it's a problem to have 75 different user accounts

01:29:38 ◼   ► that you're active using, and you have, you know,

01:29:40 ◼   ► you're supposed to use a different password with each one.

01:29:43 ◼   ► And so developers think, oh, I'll solve this,

01:29:46 ◼   ► we'll just use, you know, Facebook as your login,

01:29:48 ◼   ► and then you can just use the account you already know.

01:29:51 ◼   ► But the truth is that people are uncomfortable with that

01:29:53 ◼   ► because they don't want Facebook getting mixed up

01:29:56 ◼   ► with these other services.

01:29:57 ◼   ► - You know what?

01:29:59 ◼   ► I've never signed in with Facebook to anything.

01:30:02 ◼   ► - I still don't have a Facebook account.

01:30:04 ◼   ► - Yeah.

01:30:06 ◼   ► - But I know--

01:30:07 ◼   ► - I do just for the sake of people--

01:30:08 ◼   ► - I worry about it when I use Twitter

01:30:10 ◼   ► to sign into something else though

01:30:11 ◼   ► because I don't think I've ever gotten burned by this

01:30:13 ◼   ► but I know there are stupid things

01:30:15 ◼   ► where you can sign in with Twitter

01:30:17 ◼   ► and you're not really paying attention.

01:30:22 ◼   ► And then they automatically tweet to your account,

01:30:23 ◼   ► "I'm using blah, blah, blah."

01:30:26 ◼   ► Oh, God, I've had that happen to me.

01:30:30 ◼   ► I hated it.

01:30:32 ◼   ► I had to apologize publicly.

01:30:33 ◼   ► Oh, it was app.net.

01:30:35 ◼   ► Yeah, maybe.

01:30:37 ◼   ► And I think the only reason I avoided that

01:30:39 ◼   ► was that I was late to it,

01:30:41 ◼   ► and I had a bunch of friends who got burned by it.

01:30:43 ◼   ► And so I knew not to do that.

01:30:42 ◼   ► Yeah, yeah. But by and large, I'd rather sign in with my Twitter account.

01:30:47 ◼   ► I mean, I very rarely use Facebook, but in theory, that's got a lot of personal information on me.

01:30:53 ◼   ► Twitter is like 99% me being a jackass in public.

01:31:01 ◼   ► I realize that everything I put into Twitter is pretty much going to be public.

01:31:09 ◼   ► DMs I expect to be private, but honestly,

01:31:14 ◼   ► if that failed, it wouldn't be that bad.

01:31:18 ◼   ► But if your app required a Facebook login,

01:31:24 ◼   ► I'd probably do it because it's you,

01:31:27 ◼   ► but I would be reticent to do it.

01:31:30 ◼   ► Because I have no idea what that would mean.

01:31:34 ◼   ► Even as a developer, I don't know.

01:31:36 ◼   ► I have no idea.

01:31:37 ◼   ► And I don't know if that can change in the future either.

01:31:38 ◼   ► Well, anyway, we might have been a lot more likely to use iCloud than anything else. And

01:31:44 ◼   ► we even thought about ways to use iCloud in a way that, you know, even if we weren't using

01:31:49 ◼   ► iCloud for the data, just using it as an authentication, having a token or something like that, and

01:31:53 ◼   ► there's ways you could do that. I think having the web service API, it certainly makes it

01:31:57 ◼   ► more interesting and more likely that we would have used it or that we might in the future

01:32:00 ◼   ► or something like that.

01:32:01 ◼   ► Yeah, I think that's a good step. Do you want to just start tearing some stuff up?

01:32:06 ◼   ► - Yeah, we can start, but let me take a break.

01:32:08 ◼   ► I have two more sponsors to thank,

01:32:09 ◼   ► so let me knock one out.

01:32:11 ◼   ► And it's our good friends at Hover.

01:32:14 ◼   ► Now you know Hover.

01:32:15 ◼   ► Hover is--

01:32:16 ◼   ► - Yeah, I just bought a domain from them three days ago.

01:32:20 ◼   ► - Well, good for you.

01:32:22 ◼   ► Hover--

01:32:25 ◼   ► - GooberSocks.com.

01:32:27 ◼   ► - It's the best way to register and manage domain names

01:32:31 ◼   ► in the world.

01:32:32 ◼   ► They take all the hassle and confusion

01:32:34 ◼   ► out of registering and managing your domain names.

01:32:36 ◼   ► They give you easy to use tools to manage them.

01:32:39 ◼   ► And you don't need to be like a DNS expert to do it.

01:32:42 ◼   ► Anyone can do it.

01:32:43 ◼   ► They explain everything,

01:32:44 ◼   ► and you'll be really comfortable figuring out yourself.

01:32:47 ◼   ► Their support team is always ready if you need a hand.

01:32:50 ◼   ► It takes five minutes from finding the domain name,

01:32:55 ◼   ► finding, you know, they have tools.

01:32:57 ◼   ► So if the one you want is taken,

01:32:59 ◼   ► they make really smart suggestions

01:33:00 ◼   ► about how you can fill it in with, you know,

01:33:02 ◼   ► maybe use a different top level domain,

01:33:05 ◼   ► maybe tweak the actual domain you're wanting slightly

01:33:07 ◼   ► to get one that's available.

01:33:09 ◼   ► If you've ever registered domain names somewhere else,

01:33:12 ◼   ► Hover is like the difference between night and day.

01:33:16 ◼   ► Most other domain name registrars,

01:33:17 ◼   ► it's like going into the bad part of town

01:33:19 ◼   ► and you feel like you gotta keep your hand on your wallet.

01:33:22 ◼   ► You gotta look for check boxes

01:33:24 ◼   ► where they're automatically upgrading you to stuff,

01:33:26 ◼   ► you have to opt out of stuff.

01:33:28 ◼   ► They charge you more,

01:33:31 ◼   ► they seem like they're charging you these great prices,

01:33:33 ◼   ► but if you want something like privacy

01:33:35 ◼   ► for your personal information

01:33:37 ◼   ► on the domain name registration, you have to pay extra.

01:33:40 ◼   ► All of that, you get that for free with Hover.

01:33:43 ◼   ► It's all built in.

01:33:44 ◼   ► And they have the most amazing thing,

01:33:46 ◼   ► I still think, it still sounds too good to be true,

01:33:48 ◼   ► but it's not, is they call it Valet Transfer Service.

01:33:51 ◼   ► It's free.

01:33:52 ◼   ► It's built into the price of being a Hover customer.

01:33:56 ◼   ► So you've got domain names you've already registered

01:33:58 ◼   ► from years ago at other registrars.

01:34:02 ◼   ► You sign up for Hover, you see for yourself that yes,

01:34:05 ◼   ► this is the place, this is the best place

01:34:07 ◼   ► for domain names that I've seen.

01:34:09 ◼   ► You think, I wish all my old domains were here.

01:34:11 ◼   ► Well, use their free valet transfer service.

01:34:13 ◼   ► You get in contact with them, you give them the information

01:34:15 ◼   ► to go to your old registrars, wherever you have the domains.

01:34:19 ◼   ► And they go and move them all to Hover for you.

01:34:23 ◼   ► They just go through all the hassles.

01:34:25 ◼   ► And as our friend Merlin Mann has said in his reads

01:34:29 ◼   ► for Hover on shows.

01:34:30 ◼   ► A lot of these other registrars,

01:34:32 ◼   ► they purposefully make it pretty hard to move your domains.

01:34:37 ◼   ► It's sort of like calling up to cancel your cable service.

01:34:41 ◼   ► And Hover knows all the tricks.

01:34:42 ◼   ► They know everything they need to do to get that working.

01:34:45 ◼   ► So great interface, great management tools,

01:34:49 ◼   ► great tools for registering new domains

01:34:51 ◼   ► and free valet transfer service.

01:34:54 ◼   ► What more do you need to hear?

01:34:55 ◼   ► Here's the deal.

01:34:56 ◼   ► They have a special code just for listeners of the show.

01:34:59 ◼   ► you get ten percent off

01:35:01 ◼   ► your first purchase go to hover dot com here's the code now they do

01:35:05 ◼   ► uh... per episode

01:35:07 ◼   ► codes so their code

01:35:09 ◼   ► for today's show this show

01:35:11 ◼   ► is elk happy time

01:35:13 ◼   ► all one word close it up no space elk happy time

01:35:16 ◼   ► and uh... they'll know you came from this episode of the show and you'll save

01:35:20 ◼   ► money

01:35:21 ◼   ► doing it so my thanks to hover

01:35:24 ◼   ► great sponsor

01:35:26 ◼   ► Yeah, they're good.

01:35:27 ◼   ► Also, please use that code, because that

01:35:31 ◼   ► means that they'll know that you like me more than Phil Schiller.

01:35:36 ◼   ► And that'll mean a lot.

01:35:37 ◼   ► Oh, man.

01:35:38 ◼   ► What else do we have to tear through here?

01:35:40 ◼   ► Swift 2.

01:35:41 ◼   ► Swift 2.

01:35:42 ◼   ► We got it.

01:35:43 ◼   ► Man, we're like halfway down this stage.

01:35:45 ◼   ► But yeah, Swift 2.

01:35:46 ◼   ► I don't know.

01:35:49 ◼   ► Do you want to set the stage for this one?

01:35:52 ◼   ► I think Swift is doing great.

01:35:54 ◼   ► I think the fact that it's as popular as it is one year in is fantastic.

01:35:58 ◼   ► But almost nobody is using it yet as their main language.

01:36:03 ◼   ► It's not reasonable.

01:36:05 ◼   ► That's not a failure.

01:36:07 ◼   ► It's the side effect of Apple releasing it as early as they did to get feedback.

01:36:13 ◼   ► I agree.

01:36:14 ◼   ► I think if Apple were a different company, this would be – what they're now calling

01:36:19 ◼   ► Swift 1.0 would have been Swift 0.x.

01:36:23 ◼   ► Swift 2 would have been Swift 1.0.

01:36:28 ◼   ► Because I really think that they've turned the corner.

01:36:31 ◼   ► But the difference is that this year's Swift, they're calling it 2.0.

01:36:32 ◼   ► Call it the real 1.0 if you want to, is informed by a year's worth of feedback from actual developers.

01:36:37 ◼   ► And as--

01:36:45 ◼   ► I mean, when Swift 1 came out, when Swift first came out, there was some banana stuff there.

01:36:46 ◼   ► You could mutate arrays in ways that would make no sense according to what you're doing.

01:36:52 ◼   ► to what you would expect from Swift.

01:36:57 ◼   ► Like if you copied array B into array A

01:37:00 ◼   ► and then changed something in array B,

01:37:04 ◼   ► it would also be changed inside array A.

01:37:08 ◼   ► Probably lost like 20 million of your listeners there.

01:37:14 ◼   ► But basically it would be like,

01:37:19 ◼   ► spooky action at a distance.

01:37:24 ◼   ► Like you would change one thing in one place

01:37:26 ◼   ► and it would affect something in some other place

01:37:28 ◼   ► and that makes it really hard to reason

01:37:30 ◼   ► about how programs work.

01:37:32 ◼   ► They fixed that, they've been improving the syntax

01:37:35 ◼   ► and with 2.0 I really think that they've kind of

01:37:38 ◼   ► turned a corner and I think it's definitely worth

01:37:42 ◼   ► considering adopting for new code now.

01:37:45 ◼   ► The big one, a big addition.

01:37:46 ◼   ► This isn't something they had to revisit.

01:37:49 ◼   ► It's something that they really didn't even talk about until now is error handling.

01:37:58 ◼   ► And it looks good to me, but my perspective on this is certainly a layman's perspective

01:38:02 ◼   ► at this point.

01:38:03 ◼   ► But it looks good to me in terms of, you know, it's, what are they calling it?

01:38:07 ◼   ► Try catch?

01:38:08 ◼   ► It's…

01:38:09 ◼   ► Well, yeah, it's do, try, and then catch.

01:38:14 ◼   ► And you know what? You're being too humble. Playgrounds have markdowns.

01:38:19 ◼   ► I know. That's pretty cool.

01:38:24 ◼   ► Yeah, good on you, man. No, I know you're laughing.

01:38:24 ◼   ► No, I'm blown away by that. I never really thought that anything I wrote would make it into

01:38:29 ◼   ► Apple's developer tools.

01:38:34 ◼   ► Oh, but I'm sure none of your code is in there.

01:38:35 ◼   ► No, definitely not.

01:38:35 ◼   ► But the ideas are, which is what counts.

01:38:40 ◼   ► The ideas were the best part.

01:38:42 ◼   ► So error handling.

01:38:45 ◼   ► You create a block and then you,

01:38:48 ◼   ► APIs that can, they're calling it throw,

01:38:52 ◼   ► that can return an error, or throw an error in Swift language.

01:38:56 ◼   ► You put try in front of them and then you can basically catch

01:39:03 ◼   ► those errors and process them accordingly.

01:39:08 ◼   ► I'm trying to come up with a way to describe this,

01:39:14 ◼   ► but it's almost like if every time you tried something,

01:39:17 ◼   ► if something went wrong, you would not follow the rest of the steps in the recipe.

01:39:21 ◼   ► Instead you would just go to the case where you clean everything up and you wipe down the kitchen

01:39:30 ◼   ► and then you just say, "Nah, it didn't work." So they've made kind of a pretty nice way,

01:39:35 ◼   ► I think, of handling it.

01:39:37 ◼   ► Yeah, and some of it, and I think, I forget, I'm stealing this from somebody when we were

01:39:41 ◼   ► out there last week, but somebody when we were, I don't know, hanging out, drinking

01:39:45 ◼   ► the Park 55 or something. Somebody mentioned that some of this stuff is not really for

01:39:50 ◼   ► the compiler. Some of it is, like the syntax is really for the programmer to know, "Hey,

01:39:57 ◼   ► LLVM can figure out, could figure out some of this without the syntax, but the syntax

01:40:01 ◼   ► is there so that when you're reading the code, you, the programmer, are like, "Oh, this could

01:40:06 ◼   ► throw an error."

01:40:07 ◼   ► VICTOR: I totally agree.

01:40:09 ◼   ► So if a--

01:40:10 ◼   ► SEAN: I might not get to the next line.

01:40:12 ◼   ► Like it's, you know, here's this--

01:40:13 ◼   ► VICTOR That's exactly it.

01:40:14 ◼   ► SEAN That's this method called to open the document.

01:40:17 ◼   ► I might not get to the next line because I can see right here that this might throw an

01:40:21 ◼   ► error and the error might be, "Well, the document isn't even there anymore," or something.

01:40:25 ◼   ► know, you don't even know, but it's gonna, you know, the flow

01:40:27 ◼   ► is going to change. And then here's where it's going to go if

01:40:30 ◼   ► it throws an error. And I can see where my, you know, you

01:40:33 ◼   ► know, what are the what do I do if something unexpected happens?

01:40:36 ◼   ► Exactly. Let's take you up open document example. The compiler

01:40:45 ◼   ► knows that open document may return with an error made throw

01:40:51 ◼   ► an error. You don't need to put try in front of it to appease

01:40:55 ◼   ► the compiler. You could just say open document, and the compiler would be totally happy being

01:41:02 ◼   ► like, "Oh, well that failed, so I'm going to go down here." But by requiring the use

01:41:06 ◼   ► of the keyword "try," you are forcing the programmer to reason about the way that the

01:41:13 ◼   ► code flow may change. So, one of the things that concerns me about Swift is that, you

01:41:20 ◼   ► One of the things that concerns me about Swift is that there's a lot of

01:41:25 ◼   ► ornamentation and decoration that is in order to appease the compiler,

01:41:31 ◼   ► or to present the compiler with better options in order to produce faster code,

01:41:36 ◼   ► rather than preferring more readable code.

01:41:43 ◼   ► That said, this try construct, I think it favors the

01:41:48 ◼   ► it favors the programmer and more so favors the person that comes back and tries to understand

01:41:55 ◼   ► that code.

01:41:56 ◼   ► Right.

01:41:57 ◼   ► Maybe you didn't write it in the first place or for me personally, any code I've ever written.

01:42:03 ◼   ► Six months later, it might as well have been written by somebody else.

01:42:06 ◼   ► Yeah.

01:42:07 ◼   ► Well, you write a lot of regex, so that's awful.

01:42:10 ◼   ► Well, that's what comments are for.

01:42:12 ◼   ► That to me is where…

01:42:13 ◼   ► Right.

01:42:14 ◼   ► Yeah, yeah.

01:42:15 ◼   ► And you know, to be fair, I've seen some of it and you've commented very well.

01:42:18 ◼   ► to me is the secret to me the secret to programming it was to when I when the

01:42:22 ◼   ► breakthrough for me was to realize that comments aren't for other people

01:42:25 ◼   ► comments are for yourself in a few months yeah yeah explain to my future

01:42:30 ◼   ► self exactly what the hell you were thinking when you wrote this right yeah

01:42:33 ◼   ► the Zen of programming is realize that you're not that smart just you know

01:42:38 ◼   ► realize that you're the dummy that you're looking down on right now and

01:42:41 ◼   ► and just become comfortable.

01:42:46 ◼   ► All right, Metal on the Mac.

01:42:49 ◼   ► Metal on the Mac.

01:42:52 ◼   ► Very cool.

01:42:54 ◼   ► So Metal was introduced last year on iOS.

01:42:55 ◼   ► It had the advantage that the GPU and CPU

01:42:59 ◼   ► were integrated on the same chip

01:43:04 ◼   ► and they shared the same memory.

01:43:06 ◼   ► On the Mac, that's not the case.

01:43:09 ◼   ► The Mac Pro has distinct, discrete graphics cards

01:43:11 ◼   ► cards, ATI, I'm not going to forget the part number, but

01:43:16 ◼   ► some Mac Pros have that too, they've got the integrated graphics and then they can wrap up to

01:43:22 ◼   ► have any discrete GPUs kick in. So Metal on the Mac

01:43:27 ◼   ► brings a very low level approach to graphics programming

01:43:32 ◼   ► from iOS to the Mac.

01:43:37 ◼   ► DirectX 12 has been doing this, ATI's Mantle API has been doing this.

01:43:46 ◼   ► I think in the big picture, I feel like there's a couple of factors.

01:43:50 ◼   ► I think one of them is that Apple, they're custom silicon teams.

01:43:54 ◼   ► Call it all Bob Mansfeld stuff, but they're doing amazing graphics stuff on iOS.

01:44:00 ◼   ► On the Mac, they're still doing, you know,

01:44:02 ◼   ► they're using ATI and what, NVIDIA graphics cards.

01:44:07 ◼   ► That could shift at some point, right?

01:44:08 ◼   ► Like they could start doing their own graphics chips

01:44:11 ◼   ► for the Mac, maybe.

01:44:14 ◼   ► But laying the ground--

01:44:15 ◼   ► - Oh, for the Mac, yeah, yeah.

01:44:17 ◼   ► - Laying the groundwork now with Metal

01:44:19 ◼   ► would make that sort of transition

01:44:21 ◼   ► a couple of years from now a lot easier.

01:44:23 ◼   ► If in a couple of years, anything graphic intensive of Mac

01:44:28 ◼   ► assumed to be written to metal so there's a hardware angle here all right

01:44:36 ◼   ► I could be wrong no you know I'm often wrong I'm over my head on this the other

01:44:42 ◼   ► the other thing and I know I made the mistake last week right but here's the

01:44:48 ◼   ► thing with OpenGL it runs on everything OpenGL ran on OS to Windows 16 Windows

01:44:56 ◼   ► Windows 32, SGI.

01:45:01 ◼   ► If you want that kind of cross-platform thing,

01:45:06 ◼   ► OpenGL is the way you do it.

01:45:09 ◼   ► Interfaces like Metal, Mantle, and DirectX 12

01:45:12 ◼   ► are a new way of reasoning about the GPU.

01:45:16 ◼   ► Originally, the GPU used to be about,

01:45:21 ◼   ► you would submit some triangles,

01:45:22 ◼   ► you would set some state in order to,

01:45:27 ◼   ► this is the color you're going to draw,

01:45:30 ◼   ► this is the texture you're going to map onto these triangles,

01:45:32 ◼   ► and then you would put them on the screen.

01:45:36 ◼   ► These days the GPU has got so fast and so capable

01:45:40 ◼   ► of just tearing through huge amounts of data

01:45:46 ◼   ► that the best way to address it

01:45:49 ◼   ► is not in this piecemeal fashion,

01:45:49 ◼   ► but rather to basically write out a command stream.

01:45:54 ◼   ► And a command stream is, I'm sure maybe the more technical

01:45:58 ◼   ► people in your audience will disagree with me,

01:46:05 ◼   ► but it's effectively a program.

01:46:07 ◼   ► There's no loops or if statements, but it's a recipe

01:46:10 ◼   ► of how to draw a scene.

01:46:14 ◼   ► And you feed that to the GPU and then the GPU

01:46:15 ◼   ► will just tear through it and produce the output.

01:46:17 ◼   ► And the interesting thing is that stuff like OpenGL was targeted at rendering 3D scenes.

01:46:22 ◼   ► It's, you know, GL is graphics language.

01:46:31 ◼   ► It's the open graphics language.

01:46:33 ◼   ► Traxx3D, similarly, all about that.

01:46:36 ◼   ► Metal is about leveraging the capabilities of this off-board, super-parallel compute device.

01:46:41 ◼   ► of this off-board, super-parallel compute device.

01:46:46 ◼   ► It happens that it's really good at rendering pixels

01:46:52 ◼   ► and transforming 3D stuff, but the math required to do 3D

01:46:57 ◼   ► and to shade the pixels and to make everything look pretty

01:47:02 ◼   ► is also the math that can be applied

01:47:05 ◼   ► in any number of different ways.

01:47:07 ◼   ► - It may not be graphics related at all.

01:47:09 ◼   ► - It may not be graphics related.

01:47:11 ◼   ► So Metal does what OpenGL does,

01:47:16 ◼   ► and it also does what OpenCL does.

01:47:22 ◼   ► Like our friend Chris Lucio does a lot of stuff in OpenCL

01:47:26 ◼   ► with Capo.

01:47:29 ◼   ► And Gus Miller with Acorn does a lot of stuff on the Mac

01:47:31 ◼   ► with OpenCL.

01:47:35 ◼   ► Metal presents the device as a massively parallel,

01:47:40 ◼   ► independent compute device.

01:47:42 ◼   ► - It gets down to the fact that ultimately,

01:47:45 ◼   ► you could describe computers in general

01:47:47 ◼   ► as machines that do math really fast.

01:47:50 ◼   ► And in recent years, it's the GPUs, not the CPUs,

01:47:55 ◼   ► that have gotten faster and faster and faster at that.

01:47:58 ◼   ► And that there's--

01:47:59 ◼   ► - I totally, so the CPUs are good at,

01:48:06 ◼   ► I guess they're better at switching on conditions.

01:48:11 ◼   ► If you've done this, then that, if this, then that.

01:48:15 ◼   ► They have a lower latency.

01:48:19 ◼   ► The GPUs are the most data you can throw at them

01:48:21 ◼   ► and just have them crunch on it in the same way

01:48:26 ◼   ► without changing any of the logic the faster they go.

01:48:29 ◼   ► And optimizing for the two is different.

01:48:34 ◼   ► not in terms of the programmer, but in terms of the CPU needs to be responsive and will latency.

01:48:41 ◼   ► The GPU needs to basically, I mean, you give it, play the stake and it's done in like two seconds.

01:48:49 ◼   ► And it's not, I made the mistake last week with Schiller about emphasizing gaming and it's great

01:48:53 ◼   ► for games, but it's definitely not. And one of the mistake, one of the reasons I made the mistake is

01:48:57 ◼   ► I hadn't seen the State of the Union yet. And in the State of the Union, I thought this was great.

01:49:01 ◼   ► I thought they were a it was a good to good demos, but I thought it was really cool to see Adobe on stage

01:49:06 ◼   ► You know, they had a guy from yeah stage. They showed this crazy complicated

01:49:11 ◼   ► Illustrator

01:49:14 ◼   ► document where you could zoom in live whereas

01:49:17 ◼   ► Prior to and this is a version that's not shipping yet because it's based on metal. It's on the Mac

01:49:22 ◼   ► And you could zoom into this crazy detail and with metal they could do it in real time and instead of typing a new number

01:49:29 ◼   ► in the Zoom box and then waiting a second for it to re-render at that resolution, you

01:49:33 ◼   ► just zoom in on the fly.

01:49:36 ◼   ► Then they showed video effects and after effects that previously rendered a really slow frame

01:49:40 ◼   ► rate.

01:49:41 ◼   ► Now they're rendering in real time.

01:49:44 ◼   ► All sorts of things already rendered in real time in after effects, but this was a totally

01:49:48 ◼   ► plausible demo of something somebody might be doing that's gone from you kind of get

01:49:53 ◼   ► like a preview to now it goes in real time.

01:49:56 ◼   ► So it's a big win for graphics professionals, too.

01:50:00 ◼   ► I totally agree.

01:50:01 ◼   ► And so there was a time there where Adobe was flash, not great.

01:50:08 ◼   ► But Adobe has been a longtime friend of Apple's,

01:50:10 ◼   ► going back to the first laser printer, the laser writer.

01:50:16 ◼   ► And I mean, Ken, what's his name?

01:50:19 ◼   ► The watch guy.

01:50:21 ◼   ► Oh, I know what you mean.

01:50:24 ◼   ► Ken, forget his name.

01:50:25 ◼   ► I know.

01:50:26 ◼   ► You can't forget his name.

01:50:28 ◼   ► Can't forget his name.

01:50:30 ◼   ► Yeah.

01:50:30 ◼   ► I'm not sure if that's how you pronounce it in the

01:50:33 ◼   ► original Irish, but yeah.

01:50:35 ◼   ► Um, he wrote a piece being like, yeah, flashes

01:50:40 ◼   ► forever, but whenever he came back, uh, Adobe and

01:50:43 ◼   ► Apple have had a very, very tight relationship

01:50:46 ◼   ► for a long time.

01:50:47 ◼   ► Uh, and say what you will about Adobe from, I

01:50:51 ◼   ► don't know what, like 98 to.

01:50:55 ◼   ► Are you thinking of Ken Ferry?

01:50:59 ◼   ► No, Ken Ferry is awesome.

01:51:00 ◼   ► Some other Ken.

01:51:01 ◼   ► Yeah, he was on AcuD.

01:51:02 ◼   ► He did eight-- I don't even want to talk.

01:51:05 ◼   ► Artileo, yeah.

01:51:06 ◼   ► But yeah, Apple and Adobe have had a long relationship.

01:51:13 ◼   ► And I'm so happy to see them back on stage.

01:51:16 ◼   ► Because they should be.

01:51:17 ◼   ► They should be hanging out.

01:51:18 ◼   ► There's problems with Adobe stuff.

01:51:23 ◼   ► but the notion that--

01:51:26 ◼   ► - I like that the--

01:51:27 ◼   ► - The creativity in Apple that they told us--

01:51:30 ◼   ► - I like that the relationship between Adobe and Apple

01:51:32 ◼   ► is on the upswing.

01:51:33 ◼   ► I feel like it bottomed out,

01:51:35 ◼   ► and instead of continuing to deteriorate,

01:51:37 ◼   ► it's obviously on the upswing.

01:51:38 ◼   ► And it's cool that they're working with Adobe

01:51:41 ◼   ► well in advance.

01:51:42 ◼   ► Certainly, clearly if they've got the demos already working,

01:51:45 ◼   ► Adobe didn't have to wait until WWDC to find out about Metal.

01:51:51 ◼   ► And it even ties in with my carbon 64 joke last week because whatever year that was 2006,

01:51:58 ◼   ► 2007 when the bottom dropped out on carbon 64 where the year before carbon was going

01:52:04 ◼   ► to 64 bits and then the next year it was like guess what? No. I know for a fact that Adobe

01:52:08 ◼   ► found out about it when it was announced at WWDC which is really probably the nadir, the

01:52:16 ◼   ► bottoming out of the Adobe-Apple relationship.

01:52:18 ◼   ► Well, thoughts on Flash might have been...

01:52:23 ◼   ► But I feel like that was, that's a specific team at Adobe, whereas the Carbon 64 thing,

01:52:29 ◼   ► I think, hit closer to home. But maybe that's just my bias towards being a long-time fan

01:52:35 ◼   ► of their creative tools. Yeah.

01:52:40 ◼   ► But neither of them helped. All right, let me take one last break here and thank our,

01:52:46 ◼   ► do our last sponsor read. And shockingly, surprisingly, it's our good friends at Squarespace,

01:52:54 ◼   ► longtime supporters of podcasts in general, but certainly a longtime supporter of this show.

01:52:58 ◼   ► You guys know Squarespace, simple, powerful, beautiful websites. It's a way to build your

01:53:05 ◼   ► own website. And instead of rolling it all from the ground up and getting a web hosting account

01:53:11 ◼   ► and writing code and figuring out and installing software and stuff like that, it's a platform

01:53:15 ◼   ► where you start with a website that works and you have templates to choose from and

01:53:20 ◼   ► you can customize these things through drag and drop right in your browser. What you see

01:53:25 ◼   ► really is what you get. You don't have to go into a special editing mode. You're just

01:53:29 ◼   ► logged in and you want to add something to the sidebar. You just add it to the sidebar.

01:53:33 ◼   ► You can see what it looks like. If you don't like it, you can move it to a different column

01:53:36 ◼   ► or something like that. All of these templates, they're all responsive so you don't have to

01:53:41 ◼   ► do anything right out of the box. Your website already looks great on iPhones and other

01:53:45 ◼   ► smartphones. Right out of the box you've got commerce. So if you want to set up a store,

01:53:50 ◼   ► you don't have to install anything. You don't have to upgrade your plan. That's just something

01:53:54 ◼   ► that you get right there. So you want to set up a store. You want to do something like that

01:53:58 ◼   ► right there in Squarespace. You want to set up a podcast. They've already got tools for that

01:54:03 ◼   ► where you just upload. You know, they've got an audio player. It rolls out your feed so that your

01:54:08 ◼   ► podcast already has a feed. Everything like that. All built in right from the start. You can get a

01:54:14 ◼   ► trial with no credit card required. You just go there, sign up, start using it. You get

01:54:20 ◼   ► 30 days and you don't pay until your trial is up. And here's a new thing they have right

01:54:26 ◼   ► now. I know you guys have heard me talk about Squarespace before. This is brand new. Start

01:54:30 ◼   ► your trial before June 30th. So you got about two weeks from when this show is going to

01:54:35 ◼   ► air and you get a free year of custom email and business tools when you sign up for either

01:54:44 ◼   ► their professional or business plan. Enter the offer code GRUBER, my last name, G-R-U-B-E-R.

01:54:52 ◼   ► In addition to that, you'll get 10% off, G-R-U-B-E-R. You get 10% off for whatever

01:54:59 ◼   ► you order. If you order a whole year, you save 10% off the whole year right there.

01:55:04 ◼   ► So Squarespace, build it beautiful. Go to squarespace.com and sign up today. Remember

01:55:12 ◼   ► code my last name Gruber you'll save some dough all right we got to cut

01:55:16 ◼   ► through the rest of this real quick there's you can see why apples can't

01:55:18 ◼   ► know one long yeah a little bit you know what I thought it was like nothing major

01:55:25 ◼   ► happened so what do we know because it's really what do we know about the name

01:55:28 ◼   ► power mode oh this is for I've okay so here's the thing I believe when you get

01:55:36 ◼   ► to 20%, they prompt you.

01:55:41 ◼   ► And they say, "Do you want to enter low power mode?"

01:55:44 ◼   ► If I'm not mistaken, Android phones did this already?

01:55:48 ◼   ► I don't know.

01:55:54 ◼   ► What I was curious about was why does the,

01:55:56 ◼   ► and this is kind of weird,

01:56:00 ◼   ► but I would be curious to know how a phone felt

01:56:03 ◼   ► if it just slowly got less responsive as the power went down.

01:56:08 ◼   ► - Here's what I know about low power so far.

01:56:12 ◼   ► I know that it turns off the highest energy,

01:56:16 ◼   ► highest performance parts of the CPU.

01:56:19 ◼   ► So like an app that might be able to kick the CPU

01:56:22 ◼   ► into a higher gear, it no longer does that.

01:56:24 ◼   ► So it'll slow some things down like that.

01:56:27 ◼   ► It turns off background downloads for some apps,

01:56:30 ◼   ► so it won't unnecessarily do things,

01:56:33 ◼   ► hit the network in the background until you need it.

01:56:35 ◼   ► Like it might switch your email from push to pull.

01:56:38 ◼   ► So it'll only check email when you go there.

01:56:40 ◼   ► And it turns out, this is one of the things when he said,

01:56:43 ◼   ► like when Craig Federighi said,

01:56:46 ◼   ► that it pulls some levers and gears

01:56:47 ◼   ► that you didn't even think were there.

01:56:49 ◼   ► And one of those is that it turns off

01:56:51 ◼   ► some of the animations in the UI.

01:56:54 ◼   ► So that things are, it just does less

01:56:57 ◼   ► and it looks less cool, cool things get turned off.

01:57:00 ◼   ► but that they can really stretch out the amount of time you get on that last 20% of the battery.

01:57:05 ◼   ► So here's, I think it's good. I think that's a good feature.

01:57:11 ◼   ► I'm just curious about like, how about when it gets below 33%

01:57:17 ◼   ► you just start throttling all of this back automatically.

01:57:22 ◼   ► In the, if you don't have a lot of power, your device is tired.

01:57:27 ◼   ► It's not going to be animating all the time,

01:57:29 ◼   ► or it's not going to be downloading that much.

01:57:31 ◼   ► And I think that's understandable to a user.

01:57:36 ◼   ► Is that crazy to think of?

01:57:38 ◼   ► - Yeah, like I see from your notes

01:57:40 ◼   ► that you're calling it anthropomorphic,

01:57:42 ◼   ► but yeah, like your iPhone's tired,

01:57:43 ◼   ► and so it's slowed down.

01:57:45 ◼   ► Like when you run out of energy--

01:57:46 ◼   ► - That seems natural to me, right, yeah.

01:57:48 ◼   ► - Like as we run out of energy on this show,

01:57:50 ◼   ► we start making less and less sense.

01:57:52 ◼   ► (laughing)

01:57:54 ◼   ► - People who are listening totally understand.

01:57:57 ◼   ► - Right, so I'm curious, I mean,

01:58:00 ◼   ► I don't even know if that was--

01:58:02 ◼   ► - Yeah, I don't know. - Really.

01:58:03 ◼   ► - It's just a funny thing.

01:58:04 ◼   ► It's sort of like we were saying about

01:58:06 ◼   ► the iOS turning the Unix model of app lifespan on its head,

01:58:12 ◼   ► where Unix keeps processes alive

01:58:15 ◼   ► until the process decides it wants to be dead

01:58:18 ◼   ► or wants to exit.

01:58:20 ◼   ► It is sort of similar to that,

01:58:23 ◼   ► where it's like the way computers have always worked

01:58:25 ◼   ► is to always run as fast as you can at all times.

01:58:28 ◼   ► And then all of a sudden you're out of energy.

01:58:29 ◼   ► You know, if you're running on a battery, well, that's it.

01:58:33 ◼   ► We have to go.

01:58:34 ◼   ► Whereas it's kind of interesting to think

01:58:35 ◼   ► of a machine that gets tired and does less

01:58:39 ◼   ► so that it can stay awake,

01:58:41 ◼   ► to be useful in some way longer.

01:58:43 ◼   ► - I think so, but on the other hand, I mean,

01:58:48 ◼   ► I mean, if Jonas is playing a game, don't you want,

01:58:53 ◼   ► Like, wouldn't he be pissed?

01:58:55 ◼   ► - I guess, I don't know if all of a sudden

01:58:56 ◼   ► he's dropping frame rates.

01:58:57 ◼   ► This kid, I'll tell you what,

01:58:58 ◼   ► there's one way to get this kid fired up,

01:59:00 ◼   ► it's to drop below 60 frames per second.

01:59:02 ◼   ► (laughing)

01:59:04 ◼   ► - Well, you're definitely the daddy, so.

01:59:06 ◼   ► Good work on that.

01:59:08 ◼   ► - Oh man, we're never gonna cover all this stuff.

01:59:10 ◼   ► What about the--

01:59:11 ◼   ► - I got a dog barking at you.

01:59:13 ◼   ► - Ah, that's all right, that's fun.

01:59:15 ◼   ► What do you call it?

01:59:16 ◼   ► When Joanna Stern was on, we had a dog pooping, so.

01:59:18 ◼   ► - Oh, I love that.

01:59:19 ◼   ► - Yeah, I mean, you can't.

01:59:20 ◼   ► - She's great, more of her.

01:59:22 ◼   ► You're never gonna beat that.

01:59:23 ◼   ► - She cracks me up like crazy.

01:59:24 ◼   ► - Having a dog poop mid-show is,

01:59:27 ◼   ► I would say the two highlights of the year so far.

01:59:31 ◼   ► Number two, having Phil Schiller as a guest.

01:59:33 ◼   ► And then number one was having

01:59:35 ◼   ► Joanna Stern's dog poop mid-show.

01:59:38 ◼   ► And even Phil Schiller can't beat that.

01:59:41 ◼   ► - Yeah, don't make me top that 'cause--

01:59:44 ◼   ► - Yeah, we don't even--

01:59:45 ◼   ► - You still wanna know where that's gonna go.

01:59:47 ◼   ► - What about the deep linking into apps?

01:59:50 ◼   ► There's this cool thing,

01:59:51 ◼   ► And I've got iOS 9 running on my old 5S,

01:59:56 ◼   ► and I'm just starting to notice it.

01:59:58 ◼   ► And part of it, one example is that Safari

02:00:01 ◼   ► is now available as a view controller within your app.

02:00:05 ◼   ► And the example that already works

02:00:07 ◼   ► is if you click a link in Mail, instead of switching to Safari,

02:00:12 ◼   ► you get a slide over panel that is Safari.

02:00:15 ◼   ► And so your bookmarks are there.

02:00:17 ◼   ► It's not just a web view.

02:00:18 ◼   ► It's Safari.

02:00:19 ◼   ► It's a Safari view.

02:00:20 ◼   ► But then you get this new back button up in the menu--

02:00:24 ◼   ► not the menu bar, the status bar.

02:00:26 ◼   ► And then when you're done, you just tap that,

02:00:28 ◼   ► and you're right back to where you were.

02:00:30 ◼   ► I think that's--

02:00:33 ◼   ► And it's--

02:00:35 ◼   ► Safari view controller is brilliant.

02:00:40 ◼   ► It's not technically that far off

02:00:42 ◼   ► from what we saw with extensions and presenting applications

02:00:46 ◼   ► within other contexts.

02:00:48 ◼   ► But man, does that ever resolve a lot of problems.

02:00:53 ◼   ► Like, I mean, what, I can't even, you know what?

02:00:58 ◼   ► I don't remember, what happens in Vesper

02:01:00 ◼   ► if you click the link?

02:01:01 ◼   ► - We have our own built-in web view.

02:01:03 ◼   ► That we would love to get rid of, frankly.

02:01:07 ◼   ► - Right, right.

02:01:08 ◼   ► - We would love to get rid of.

02:01:09 ◼   ► - Why would you wanna write that?

02:01:10 ◼   ► - Well, because it was better than switching it

02:01:12 ◼   ► to Safari every time, if you just wanted to type the link

02:01:14 ◼   ► and then not--

02:01:15 ◼   ► - I totally agree, and you know,

02:01:17 ◼   ► I don't want to speak for Brent, but pretty sure he did not.

02:01:21 ◼   ► - No, he definitely didn't.

02:01:23 ◼   ► - Right, yet another web view.

02:01:24 ◼   ► - No, nobody does really.

02:01:26 ◼   ► So I think that that's one of the things,

02:01:29 ◼   ► the fallouts in this is we're gonna see a lot of apps

02:01:31 ◼   ► this year switch from their built-in web views

02:01:33 ◼   ► to just relying on this once they can,

02:01:35 ◼   ► or they'll keep it around, but only for the people

02:01:39 ◼   ► who haven't upgraded to iOS 9 yet.

02:01:41 ◼   ► - Right, but down the road-- - Down the road,

02:01:44 ◼   ► they can just get rid of it.

02:01:45 ◼   ► And thank God it should because.

02:01:48 ◼   ► - And I like the solution so far

02:01:51 ◼   ► of having that back button up in the status menu,

02:01:54 ◼   ► which solves the problem that the hardware back button

02:01:57 ◼   ► on Android tries to solve,

02:01:59 ◼   ► but which I always find just confuses the hell out of me.

02:02:02 ◼   ► - Yeah.

02:02:04 ◼   ► - 'Cause the big difference is that with this iOS one,

02:02:06 ◼   ► it tells you exactly where you're going back to.

02:02:08 ◼   ► It says back to mail.

02:02:10 ◼   ► - Right, and it'll say that for any app

02:02:14 ◼   ► it in books at, yeah.

02:02:16 ◼   ► Right. And it's open. Like there's…

02:02:17 ◼   ► That's just the right way.

02:02:18 ◼   ► And their example is obviously that, you know, Twitter got invited to early access to this.

02:02:22 ◼   ► And so that you can have a twitter.com/gte/tweetid URL. And instead of opening it as a web view,

02:02:32 ◼   ► Twitter can claim that domain and then open it right in the Twitter app. And it's, again,

02:02:37 ◼   ► it's like a view controller. So it's not switching you to the app. It's just showing you a Twitter

02:02:41 ◼   ► view temporarily, and then you can hit back and you're right back to reading your email.

02:02:46 ◼   ► One big change is that they are not happy with HTTP, and they want to move over to HTTP.

02:02:53 ◼   ► For everything.

02:03:01 ◼   ► For everything. In fact, if you use their higher level APIs, HTTP connections will basically be rejected.

02:03:10 ◼   ► So we had to, you know, we got a cert for H and distilled.

02:03:15 ◼   ► And we were doing just benign stuff,

02:03:21 ◼   ► like asking for a list of tutorial text,

02:03:22 ◼   ► you know, like nothing bad.

02:03:26 ◼   ► But whatever, they're not wrong.

02:03:29 ◼   ► So we moved over to HTTPS.

02:03:32 ◼   ► You can have exceptions, like if you're writing,

02:03:36 ◼   ► like you said before, like a Twitter client

02:03:36 ◼   ► or Marco's Overcast or another podcasting app,

02:03:41 ◼   ► you're going to need to connect to domains that are not under your control,

02:03:45 ◼   ► and you cannot assume that they have a security certificate.

02:03:51 ◼   ► That said, that's a bit of a weird kind of change,

02:03:59 ◼   ► because things just keep breaking in weird places.

02:04:03 ◼   ► But I do think it's a skate to where the puck is going to be type of change like it

02:04:08 ◼   ► Yeah

02:04:08 ◼   ► I totally gets it you can smell it coming that pretty soon just playing HTTP is going to be considered gross

02:04:14 ◼   ► Like the way FTP is compared to SFTP or something like that, even though it's not as personal, you know

02:04:20 ◼   ► And I've got during fireball setup now to do HTTP at ass for I think I think everything works but

02:04:27 ◼   ► But I still don't link to that by default and I think I probably should and I think it's like the old-time

02:04:33 ◼   ► 90s web developer me who thinks well that's slow and if it isn't actually asking for personal

02:04:39 ◼   ► information of any sort you shouldn't you know there's no reason to do that whereas

02:04:43 ◼   ► I think in the modern day I think any modern web server can serve HTTP as like that's the

02:04:48 ◼   ► least of your problems performance wise yeah I mean even for static content like we I mean

02:04:55 ◼   ► these days we do full disk encryption like every block you read and write is getting

02:05:00 ◼   ► encrypted on the way in and out and it's effectively free.

02:05:05 ◼   ► I wouldn't worry about HTTPS.

02:05:07 ◼   ► I'm going to start doing that because you know what?

02:05:09 ◼   ► I want to get your bullshit, not some third party's bullshit.

02:05:14 ◼   ► Another thing, just small little thing, but one thing I noticed

02:05:17 ◼   ► was that the way that all the groundwork Apple

02:05:21 ◼   ► has laid for accessibility.

02:05:24 ◼   ► And the primary reason for that is to help people who need it,

02:05:28 ◼   ► people with low vision accessibility features for that.

02:05:32 ◼   ► Whatever the problems you might have

02:05:37 ◼   ► that you need accessibility,

02:05:38 ◼   ► that's the primary reason to do it.

02:05:40 ◼   ► But all sorts of good things are falling out with that.

02:05:42 ◼   ► So Xcode has a new UI debugging features

02:05:47 ◼   ► where you can debug the user interface of your app,

02:05:50 ◼   ► not just the logic of the app.

02:05:51 ◼   ► And it's all built on top of the accessibility features.

02:05:55 ◼   ► So it's two good things that come out of the same thing.

02:05:58 ◼   ► you make your app accessible and then Xcode can debug the user interface.

02:06:03 ◼   ► - So I'm so glad you brought this up, because whatever, we skipped over it.

02:06:10 ◼   ► Like in the order of the notes that we've got, we skipped over it.

02:06:15 ◼   ► Accessibility is almost a misnomer.

02:06:19 ◼   ► The way that you set up accessibility is basically to present your application

02:06:27 ◼   ► in such a way that it is open to alternative interfaces.

02:06:32 ◼   ► The primary interface is obviously UIKit

02:06:35 ◼   ► or AppKit on the Mac.

02:06:37 ◼   ► But accessibility presents your interface

02:06:41 ◼   ► in a way that it can be understood

02:06:45 ◼   ► by people who are,

02:06:47 ◼   ► have site impediments or,

02:06:52 ◼   ► you know, other...

02:06:56 ◼   ► disabilities, people with motor--

02:07:01 ◼   ► Disabilities, challenges, yeah, you're right,

02:07:03 ◼   ► motor disabilities, there's a lot of that too.

02:07:06 ◼   ► It exposes what the application's intent,

02:07:08 ◼   ► rather than the visual interface, which, you know,

02:07:12 ◼   ► we all pay a lot of attention to, mostly because

02:07:17 ◼   ► I believe the majority of us have some,

02:07:19 ◼   ► like a fair degree of visual acumen.

02:07:24 ◼   ► But Apple's really gone another way on this.

02:07:26 ◼   ► And you know what?

02:07:27 ◼   ► They don't make money on this.

02:07:29 ◼   ► There's no way.

02:07:31 ◼   ► - No, and it's one of those things that Tim Cook has said,

02:07:33 ◼   ► they don't do it for the ROI.

02:07:35 ◼   ► But good things come out of it though, right?

02:07:38 ◼   ► Like this--

02:07:39 ◼   ► - I totally agree, yeah.

02:07:40 ◼   ► I am like,

02:07:41 ◼   ► our friend Doug Russell is a huge proponent

02:07:50 ◼   ► of this kind of stuff.

02:07:51 ◼   ► I love it.

02:07:53 ◼   ► First of all, the accessibility API,

02:07:58 ◼   ► it makes you consider what your application is about

02:08:00 ◼   ► more than laying out buttons or laying out sliders

02:08:05 ◼   ► and table views and all of that.

02:08:09 ◼   ► Accessibility makes you reason about

02:08:11 ◼   ► how you're exposing your data model.

02:08:13 ◼   ► And I think for that reason alone, it's worth considering.

02:08:16 ◼   ► The other thing that I really,

02:08:20 ◼   ► Just as an aside, apparently the Helen Keller Achievement Award

02:08:27 ◼   ► was awarded to voiceover this year.

02:08:32 ◼   ► I didn't see that, but I'm way behind on that.

02:08:34 ◼   ► Yeah, it's on loop inside.

02:08:37 ◼   ► But the other thing that I found fascinating

02:08:40 ◼   ► was iOS has gone hard on adapting right to left.

02:08:46 ◼   ► Yeah, that's the other big thing I noticed.

02:08:48 ◼   ► And I'd note it's like if you set up your--

02:08:52 ◼   ► if you do this-- if you set up your layouts the way Apple wants

02:08:56 ◼   ► you to for your view controllers and for going into your hierarchy,

02:09:02 ◼   ► it sounds unbelievable to me.

02:09:04 ◼   ► But it's like it just works.

02:09:06 ◼   ► And so for people using right to left languages--

02:09:11 ◼   ► Hebrew and Arabic are obviously the two big ones that at least I know of--

02:09:17 ◼   ► your whole app can go right to left.

02:09:20 ◼   ► - Right. - And right.

02:09:22 ◼   ► - Which is great.

02:09:23 ◼   ► And I don't even know what proportion of the world,

02:09:26 ◼   ► I mean, so it's Arabic and Hebrew,

02:09:29 ◼   ► the big ones that I'm aware of.

02:09:30 ◼   ► - Yeah, that same here.

02:09:31 ◼   ► But it's like, it's mind blowing to me.

02:09:33 ◼   ► And what was I, I forget how you pronounce her last name,

02:09:37 ◼   ► but it was Sarah Rady, Rady, Rady?

02:09:39 ◼   ► - Rady, yeah. - Rady, who did the demo.

02:09:41 ◼   ► And it was like mind blowing.

02:09:42 ◼   ► 'Cause it's like, here's an app where it starts on the right

02:09:45 ◼   ► and the back button is top right and you go further into the hierarchy by going to the left

02:09:51 ◼   ► and it all, you know, sounds too good to be true, but it all just works.

02:09:56 ◼   ► But--

02:09:57 ◼   ► Yeah, they did not phone that in.

02:09:58 ◼   ► Like the pagination view where, I guess the best example is the home screen, the one that she used,

02:10:06 ◼   ► right, is like rather than going left to right to advance two pages, you go right to left.

02:10:12 ◼   ► That's brilliant, and that's a lot of work.

02:10:19 ◼   ► And I don't know, I haven't timed it out,

02:10:24 ◼   ► but her time on stage at the State of the Union

02:10:28 ◼   ► was certainly comparable to Josh and Eliza's.

02:10:31 ◼   ► Yeah.

02:10:32 ◼   ► And this was for something like Eliza and Josh

02:10:37 ◼   ► did Watch Kit, which everybody is like rabid for.

02:10:41 ◼   ► And Savarati did accessibility and user--

02:10:46 ◼   ► well, she didn't do accessibility--

02:10:50 ◼   ► user interface layer from right to left.

02:10:52 ◼   ► And they really hammered it home.

02:10:54 ◼   ► And it's one of the remarkable things about Apple

02:10:59 ◼   ► is that they--

02:11:01 ◼   ► I really think that it's these kind of things

02:11:09 ◼   ► that make me believe that they are being honest

02:11:14 ◼   ► when they say that they hold these things dear to them.

02:11:19 ◼   ► Is that the amount of minutes that they gave this talk,

02:11:23 ◼   ► the fact that they even bothered developing it,

02:11:27 ◼   ► why would you?

02:11:28 ◼   ► There's no reason.

02:11:30 ◼   ► I'm sure that there's enough bullshit phones out there

02:11:33 ◼   ► or bullshit devices that don't bother

02:11:35 ◼   ► to do the right to left thing.

02:11:38 ◼   ► but it's better.

02:11:39 ◼   ► And so we did it.

02:11:40 ◼   ► - Yeah, it's funny 'cause you don't,

02:11:41 ◼   ► I don't think of it as somebody who literally

02:11:45 ◼   ► only speaks one language, English.

02:11:47 ◼   ► But I don't think about the fact,

02:11:49 ◼   ► like if I think about it, I realize it makes sense,

02:11:51 ◼   ► but on a day-to-day basis, I don't think about the fact

02:11:53 ◼   ► that the way that the hierarchies work,

02:11:55 ◼   ► like just column view in the finder,

02:11:58 ◼   ► or you know, which is an old nextism

02:12:00 ◼   ► that goes back to the '80s, this sort of column view,

02:12:02 ◼   ► which really, really set the stage for the--

02:12:06 ◼   ► - Brilliant, it's the iPod, it's the future,

02:12:08 ◼   ► I mean, it's the iPhone.

02:12:10 ◼   ► But the reason we go left to right with that is because our language is left to right.

02:12:15 ◼   ► And that's how we go.

02:12:16 ◼   ► Our eyes go left to right.

02:12:18 ◼   ► And that for right to left languages, it would make more sense for the hierarchy of the interface

02:12:24 ◼   ► to go right to left as well.

02:12:28 ◼   ► And programmatically, it's honestly not that difficult.

02:12:33 ◼   ► The other thing that they've--

02:12:34 ◼   ► - You gotta bend your mind a little bit,

02:12:36 ◼   ► but it's just me.

02:12:38 ◼   ► - Yeah, the other thing I got out of that,

02:12:40 ◼   ► part of it is that it's the right thing to do.

02:12:42 ◼   ► And like you said, they didn't have to,

02:12:43 ◼   ► because I'm sure that people who run their iPhones in Arabic

02:12:48 ◼   ► are used to the fact that they're reading the words

02:12:51 ◼   ► right to left, but they're navigating

02:12:53 ◼   ► the interface left to right.

02:12:54 ◼   ► That they're just used to that.

02:12:56 ◼   ► - I'm left-handed, I've adapted to a world

02:12:59 ◼   ► that is right-handed.

02:13:01 ◼   ► And I'm sure that people that read right to left naturally are just like, "Well, screw

02:13:06 ◼   ► it.

02:13:07 ◼   ► My phone works this way, and that's fine."

02:13:08 ◼   ► But there's another aspect of this that does have a practical upside for Apple, and

02:13:12 ◼   ► that's the fact that they're making it—they keep adding features to add translations

02:13:17 ◼   ► to your app in other languages as easy as possible and as powerful as possible.

02:13:23 ◼   ► And they even emphasize now that only—I might get the number wrong—but somewhere

02:13:27 ◼   ► around 30 percent of app downloads are in the United States right now.

02:13:31 ◼   ► And I'm not quite sure.

02:13:32 ◼   ► They didn't do it by language, but if only 30% of app downloads are in the United States,

02:13:36 ◼   ► and a huge portion of them, just two countries alone, China and Japan, together account for

02:13:43 ◼   ► over 50% of app downloads.

02:13:45 ◼   ► So if you want to – you're leaving off a majority of the iOS user base if you don't

02:13:53 ◼   ► have Chinese and Japanese translations of your app.

02:13:57 ◼   ► And obviously, you and I, I can't translate Vesper into Chinese, and you can't translate

02:14:03 ◼   ► napkin into Japanese. But there are services that we can commission to do these translations

02:14:09 ◼   ► for us. Here's a list of English strings. Please give us the Japanese and Chinese equivalents.

02:14:15 ◼   ► Apple is bending over backwards, I think, to make that possible. And that's so that

02:14:18 ◼   ► you don't have—Chinese users don't have to only use apps written by Chinese developers,

02:14:24 ◼   ► they can get apps that are written from anybody, anywhere in the world,

02:14:29 ◼   ► that just takes the step of getting a translator to translate the UI.

02:14:34 ◼   ► Yeah, I totally agree. I didn't count them before the show, because

02:14:38 ◼   ► I wasn't sure if we'd need it. But I'm going to guess it was a minimum

02:14:43 ◼   ► of two, at least three or four sessions that addressed internationalization.

02:14:51 ◼   ► Like, they're not kidding about this.

02:14:54 ◼   ► I don't think we're done hearing about it.

02:14:56 ◼   ► I think that's going to be like a constant theme henceforth in WWDC.

02:15:01 ◼   ► And it should be, because, you know,

02:15:05 ◼   ► the world is a big place, and pretending that the US is the only place that matters is--

02:15:11 ◼   ► It's the only place that matters the most, though.

02:15:15 ◼   ► Well, it's the only place that matters historically, and that you can work out deals.

02:15:20 ◼   ► No, seriously. I'm Canadian. We're not going to get news.

02:15:25 ◼   ► We didn't even get to that.

02:15:31 ◼   ► We have some restrictions on Canadian content.

02:15:36 ◼   ► Quebec is predominantly Francophone, so there's that hurdle.

02:15:40 ◼   ► We know people who've worked in the iBooks side of things that have had difficulty landing deals with Canada.

02:15:47 ◼   ► had difficulty landing deals with Canada,

02:15:50 ◼   ► 'cause of that kind of thing.

02:15:51 ◼   ► So I understand it.

02:15:53 ◼   ► Just to bring it back to making fun of you,

02:15:57 ◼   ► how funny was it when they ran

02:16:01 ◼   ► Daring Fireball on the news thing?

02:16:03 ◼   ► - It was very funny, and I was writing a note at the time.

02:16:08 ◼   ► So what happened was whenever, what was it,

02:16:10 ◼   ► we said Susan Prescott was unveiling news,

02:16:12 ◼   ► and she was saying, you know, in addition to like

02:16:14 ◼   ► the New York Times and Wired Magazine

02:16:16 ◼   ► and all these big brands, she was like,

02:16:17 ◼   ► You could also read your favorite blogs, like Daring Fireball.

02:16:20 ◼   ► And I was like heads down writing notes in my notebook.

02:16:22 ◼   ► And I was like, wait.

02:16:24 ◼   ► And I look up.

02:16:26 ◼   ► The only thing-- and I had no idea.

02:16:27 ◼   ► The thing that made me mad about it, my first thought was, wow, that's incredible.

02:16:31 ◼   ► I cannot believe that just happened.

02:16:32 ◼   ► And my second thought is, I wish that they had told me in advance, because I would have

02:16:36 ◼   ► given them a much better graphic for the logo.

02:16:38 ◼   ► Like they made my logo--

02:16:39 ◼   ► Well, they also opted you in without-- like, don't worry.

02:16:44 ◼   ► He'll be in.

02:16:45 ◼   ► He'll be on my--

02:16:46 ◼   ► I'm signing up we don't have time to talk about apparently they had to change

02:16:52 ◼   ► it because you're gay looks yeah the color I didn't mind that they changed

02:16:55 ◼   ► the color because it doesn't look good projected what I don't like it's like

02:16:58 ◼   ► what I didn't like is that they made this circle with the star in it as big

02:17:02 ◼   ► as could possibly fit in the space whereas it should have been small and my

02:17:05 ◼   ► example all week long as I've been complaining about this incredibly great

02:17:10 ◼   ► publicity that they give me is that if you look at the back of your iPhone how

02:17:14 ◼   ► How big is the Apple on the back of the iPhone?

02:17:16 ◼   ► It's small.

02:17:17 ◼   ► Well, that's how small the Daring Fireball logo should have been in the overall rectangle

02:17:21 ◼   ► that they give you on the news site, whereas they made it as big as it could possibly be

02:17:25 ◼   ► to fit.

02:17:26 ◼   ► But that's a small.

02:17:27 ◼   ► Ben

02:17:27 ◼   ► You know what?

02:17:28 ◼   ► I've gone this entire show saying nice things about you.

02:17:32 ◼   ► You know what?

02:17:34 ◼   ► When they show my logo,

02:17:36 ◼   ► they can make it whatever fucking size they want.

02:17:38 ◼   ► - In the keynote.

02:17:39 ◼   ► - Okay.

02:17:40 ◼   ► Yeah.

02:17:41 ◼   ► - All right, fair enough.

02:17:43 ◼   ► All right, I gotta go.

02:17:44 ◼   ► This has been a great time.

02:17:46 ◼   ► - I'm done with it anyway.

02:17:47 ◼   ► - Really appreciate it.

02:17:48 ◼   ► Let me thank our sponsors, Harry's, Igloo,

02:17:52 ◼   ► Hover, and Squarespace.

02:17:53 ◼   ► Great sponsors.

02:17:55 ◼   ► Glad to have them all.

02:17:56 ◼   ► English people can see you on Twitter your username is GTE and you know you're

02:18:03 ◼   ► okay on Twitter and your app napkin is at you could just google it eight but

02:18:10 ◼   ► it's at age how do you spell the domain name h - and - distilled that come or

02:18:17 ◼   ► napkn. whatever just type it in type it in your favorite search engine just type

02:18:25 ◼   ► napkin and you'll find it a great great app for the Mac that I use all the time

02:18:29 ◼   ► so check it out and I'll talk to you soon and I peed up can that's it wait is

02:18:36 ◼   ► it really easy to remember anyway wait wait I should nap nap dot K and a P dot

02:18:47 ◼   ► KN well this is that's super exciting that's a great that's a great domain

02:18:52 ◼   ► You know what, Sheila did not have to put up with it.

02:19:01 ◼   ► [LAUGHTER]