PodSearch

ATP

16: John, We Don't Play Games

 

00:00:00 ◼   ► Don't let Marco say hi to you.

00:00:01 ◼   ► That's a good, that's a good guideline because like, what do you do to stop it?

00:00:06 ◼   ► He's coming towards me.

00:00:07 ◼   ► He might say, oh, he's fine.

00:00:09 ◼   ► Oh my God.

00:00:10 ◼   ► [MUSIC]

00:00:20 ◼   ► >> Who the hell is Casey?

00:00:37 ◼   ► Who the hell is Casey? Who the hell is Casey?

00:00:40 ◼   ► It was an accident! It was an accident!

00:00:43 ◼   ► Accidentally podcasted!

00:00:46 ◼   ► Accident! It was an accident!

00:00:48 ◼   ► Accidentally podcasted!

00:00:52 ◼   ► Accident! It was an accident!

00:00:54 ◼   ► Accidentally podcasted!

00:00:58 ◼   ► One of the big problems with Mac development

00:01:02 ◼   ► is that even though you have all this hardware to burn these days,

00:01:06 ◼   ► is you have all this memory, all these CPU cores,

00:01:09 ◼   ► you have tons of resources to take advantage of

00:01:13 ◼   ► on the desktop.

00:01:14 ◼   ► But the APIs and the widgets and the UI stuff on the Mac

00:01:20 ◼   ► is very, very old.

00:01:23 ◼   ► And compared to iOS programming, Mac programming

00:01:26 ◼   ► is in many ways harder.

00:01:27 ◼   ► And I wonder if Apple has any desire

00:01:31 ◼   ► to really dramatically improve that and take advantage

00:01:34 ◼   ► of all these people who are iOS developers, who

00:01:37 ◼   ► are learning UIKit, which is way, way easier than AppKit

00:01:41 ◼   ► and to do a lot of very common things.

00:01:44 ◼   ► And to try to modernize the Mac OS X APIs,

00:01:49 ◼   ► and to try to bring over more iOS developers,

00:01:53 ◼   ► and make life easier, more productive for existing Mac

00:01:56 ◼   ► developers, that's something they really haven't done much

00:02:00 ◼   ► in the last few Mac OS X releases.

00:02:02 ◼   ► And I'd really like to see that happen.

00:02:04 ◼   ► As an iOS developer who's kind of scared of Mac programming,

00:02:07 ◼   ► I'd love to see that happen.

00:02:09 ◼   ► So are you thinking like a UI kit for OS X?

00:02:13 ◼   ► I don't know if they could-- the UI kit is

00:02:15 ◼   ► very specific for touch.

00:02:17 ◼   ► And I don't think they could directly bring it over.

00:02:20 ◼   ► I don't think that would make sense.

00:02:21 ◼   ► But they could definitely modernize a lot of AppKit,

00:02:25 ◼   ► maybe make a whole new API.

00:02:27 ◼   ► They probably wouldn't go that far.

00:02:28 ◼   ► But at least modernize it a lot and bring

00:02:32 ◼   ► a lot of the conveniences and the modern choices from UIKit

00:02:36 ◼   ► into app kits, widgets, and

00:02:40 ◼   ► bring over new widgets, better widgets, all the layer-backed stuff that

00:02:44 ◼   ► iOS does that Mac OS still I think is half done.

00:02:48 ◼   ► All sorts of stuff like that that people like Lauren Brikter are way

00:02:52 ◼   ► more qualified to talk about, but I know it's still a problem.

00:02:56 ◼   ► Well, didn't Chalkenberry and Icon Factor do Chameleon?

00:03:00 ◼   ► And then Lauren did Twi, I don't know how to say that, the Twitter UI thing that we

00:03:05 ◼   ► use up there.

00:03:06 ◼   ► And I think there's even been one or two other ones similar to that.

00:03:09 ◼   ► And so because these frameworks exist, obviously there's demand for this.

00:03:15 ◼   ► But until Apple does their own thing with the official APIs, it's never going to take

00:03:20 ◼   ► off in the same way.

00:03:22 ◼   ► Well, do either of you guys know how modern they've made AppKit recently?

00:03:28 ◼   ► I mean, I know you've just spent a few minutes saying how not modern it is, but what I mean by that is,

00:03:31 ◼   ► do they have like block support pretty

00:03:33 ◼   ► prevalently throughout any of AppKit? John, do you happen to know this? Because I have not done it.

00:03:36 ◼   ► I was gonna say, like, the stuff they do to foundation, everybody gets, like, fast enumeration,

00:03:41 ◼   ► Right.

00:03:41 ◼   ► Right.

00:03:42 ◼   ► The block support for the low-level stuff where you can, like, iterate over an NSRA and

00:03:46 ◼   ► execute some block on the contents. Like, whenever they do that stuff, it benefits both platforms.

00:03:50 ◼   ► So there is some sharing and monitoring, plus all like the, you know, the Objective-C, whatever version

00:03:55 ◼   ► they're up to with the properties and all that.

00:03:57 ◼   ► That's all shared.

00:03:58 ◼   ► So that bottom layer of both OSes

00:04:00 ◼   ► does get better over the years.

00:04:04 ◼   ► Existing sore points, like the whole NSL

00:04:06 ◼   ► versus NSView for the stupid table views and stuff like that.

00:04:09 ◼   ► That's just like legacy hanging around.

00:04:11 ◼   ► When I see stuff like that, I think, well,

00:04:14 ◼   ► it makes me think about the Mac as a platform overall.

00:04:19 ◼   ► What's their motivation to make it better?

00:04:21 ◼   ► Is someone saying, I would develop for the Mac

00:04:24 ◼   ► except these APIs are slightly more crufty than they are on the phone, or they're not

00:04:29 ◼   ► close enough or whatever.

00:04:30 ◼   ► Is that demotivating them?

00:04:32 ◼   ► Or is what really is demotivating them is that the market share is small compared to

00:04:35 ◼   ► the phone, and they don't feel like they have an idea for a great app?

00:04:41 ◼   ► Or is it that Mac apps are necessarily much more complicated and most of your application

00:04:48 ◼   ► is not in the UI framework part?

00:04:50 ◼   ► Like if you think of something like Photoshop, which is ostensibly a cocoa app now, they

00:04:54 ◼   ► don't care how old and creaky the cocoa APIs are.

00:04:58 ◼   ► Like that app is custom from top to bottom and then just this little thin layer to throw

00:05:03 ◼   ► up some stuff on the screen.

00:05:04 ◼   ► So I wonder, given its market share, its growth rate, and what the Blockbuster apps on the

00:05:11 ◼   ► Mac are actually like, what would be the return on Apple's investment for modernizing the

00:05:16 ◼   ► the OS X API in ways that aren't just like, oh, we did this modernization and it helps

00:05:21 ◼   ► both iOS and Mac OS X.

00:05:24 ◼   ► Well I think part of it is if you make it easier, not only does it help developers,

00:05:30 ◼   ► it also helps Apple, it helps their developers, and also it gives more chance of there being

00:05:39 ◼   ► good apps for the platform. You could use a lot of those same arguments against improving

00:05:44 ◼   ► Xcode or improving LLVM or improving the fundamentals of the language.

00:05:49 ◼   ► Like all the convenient little short syntaxes we got last year for a lot of the

00:05:55 ◼   ► boxing classes and stuff like that. There's a lot of stuff like that that Apple's

00:06:01 ◼   ► adding, not because they really have to, not because it's going to help them

00:06:06 ◼   ► competitively directly, but just because it's nice to do for developers.

00:06:09 ◼   ► and then they benefit, we benefit, and then maybe there's this trickle-down effect of

00:06:13 ◼   ► nicer apps eventually come out for their platforms.

00:06:16 ◼   ► Well, there is competitive pressure from Google on the mobile platform, like their dev tools,

00:06:21 ◼   ► their ID, their language, and so Apple has to keep up with, at least have parity with

00:06:26 ◼   ► that.

00:06:27 ◼   ► And their language is memory-managed, and Apple's isn't.

00:06:30 ◼   ► So they keenly feel that pressure, I feel like.

00:06:32 ◼   ► And that is a much more competitive landscape versus the Mac, where it's like, "What are

00:06:35 ◼   ► you going to do?

00:06:36 ◼   ► figure out something for the umpteen

00:06:38 ◼   ► crappy API is available for Windows 8

00:06:41 ◼   ► like which one should you use and how many people you're gonna sell to and how are you gonna sell the app through the Windows Store

00:06:46 ◼   ► like

00:06:47 ◼   ► You know the desktop is yesterday's news anyway

00:06:50 ◼   ► according to you know, the prevailing wisdom of the time and

00:06:55 ◼   ► Like it's not a growth market no matter where you are

00:06:58 ◼   ► And I just feel like Apple doesn't feel the pressure on the desktop that they do on

00:07:03 ◼   ► mobile, so they're highly motivated to make their mobile experience better for developers

00:07:08 ◼   ► to make sure they keep those developers.

00:07:10 ◼   ► They're somewhat motivated to make things better on the desktop.

00:07:13 ◼   ► I almost feel like if they really were separate, like imagine they were separate IDEs, like

00:07:18 ◼   ► completely separate, like there was no shared core foundation or, you know, or plain old

00:07:23 ◼   ► foundation code between them and there was no, they use a different IDE, so improvements

00:07:27 ◼   ► Xcode didn't benefit.

00:07:29 ◼   ► What would the Mac toolchain look like at this point if they didn't also get the benefits

00:07:33 ◼   ► of, "Oh, Apple's doing all this stuff," and it benefits both of them.

00:07:37 ◼   ► I don't know.

00:07:38 ◼   ► Whenever I think about this, I think to applications like iPhoto on the Mac that just has not gotten

00:07:45 ◼   ► the kind of attention that it would have gotten if iOS wasn't around, you know?

00:07:50 ◼   ► I would say that's true of almost every Apple/Mac application.

00:07:53 ◼   ► Yeah, Safari they seem to keep up with.

00:07:57 ◼   ► Maybe that's also because it's benefiting iOS.

00:07:58 ◼   ► It's hard to tease them apart because so much of their work does benefit both, and that's

00:08:03 ◼   ► to their credit, right? There was a good decision to use the same

00:08:07 ◼   ► core OS, both of them. But it's hard to figure out how much does Apple care about improving

00:08:11 ◼   ► things with the Mac versus how much is the Mac just getting the spillover of their

00:08:15 ◼   ► frenzied improvement to iOS. Yeah, it also does

00:08:19 ◼   ► feel like, we've talked about before how in many ways Apple still behaves

00:08:23 ◼   ► like a much smaller company than it really is, and often that's to its detriment. And one of the

00:08:27 ◼   ► examples of that is that they do have this kind of tunnel vision where

00:08:31 ◼   ► whatever is the cool thing that they're really focusing on,

00:08:36 ◼   ► everything else just gets ignored and neglected for years

00:08:39 ◼   ► until somebody comes around and gives it

00:08:43 ◼   ► what's often a half-assed update.

00:08:45 ◼   ► Sorry, go ahead, John.

00:08:49 ◼   ► I was going to say, if that has changed,

00:08:51 ◼   ► if that tunnel vision has changed,

00:08:52 ◼   ► we won't see the results of it until,

00:08:55 ◼   ► it's not the type of thing,

00:08:58 ◼   ► when they did the big reorganization

00:08:59 ◼   ► along different lines, I forgot what they changed it to,

00:08:58 ◼   ► change it to long functional lines or something instead of long product lines or whatever.

00:09:02 ◼   ► When they did the big reorg and, you know, forced all out and I've been, that could have

00:09:06 ◼   ► been the beginning of a change to this tunnel vision, but we won't know until, I mean, I

00:09:10 ◼   ► guess until at least WWDC and possibly later, see the fruits of that reorganization because

00:09:15 ◼   ► you can't turn this thing on a dime.

00:09:16 ◼   ► But it kind of gets back to what we talked about a couple of shows about the bandwidth

00:09:20 ◼   ► of the organization.

00:09:22 ◼   ► Does Apple have the capacity to go full steam on multiple fronts of the scene?

00:09:28 ◼   ► Do they have the capacity to have a team every single year making iPhoto better?

00:09:32 ◼   ► Have a team every single year making iMovie better?

00:09:35 ◼   ► The team that was doing iDVD?

00:09:36 ◼   ► Fine, you can repurpose those people.

00:09:38 ◼   ► But any existing active application, is there a dedicated team whose only job is to make

00:09:42 ◼   ► this application better and better year after year until that application is irrelevant?

00:09:46 ◼   ► And often from the outside, it seems like that's not the case.

00:09:50 ◼   ► kind of this swing group of people where like, you know, once the finder is good enough,

00:09:56 ◼   ► everybody except one guy and like his apprentice gets pulled off of that, and they get put

00:10:01 ◼   ► onto whatever like, you know, all hands on deck for working on the next version of iOS

00:10:04 ◼   ► or something is that that's what it seems like from the outside. Because if your application

00:10:08 ◼   ► isn't, you know, Steve Jobs is darling in the past, and I don't know what the current

00:10:13 ◼   ► criteria is maybe like, really important to the company. Like, it's very clear that iOS

00:10:18 ◼   ► 7 is getting the attention right now.

00:10:22 ◼   ► And OS X maybe a little bit, but as you

00:10:26 ◼   ► go down the chain of applications

00:10:27 ◼   ► that you may be using day after day and you think,

00:10:29 ◼   ► boy, this has not been--

00:10:31 ◼   ► iWork, God, poor iWork.

00:10:35 ◼   ► I don't know.

00:10:36 ◼   ► It's so hard to tell from the outside what really goes on

00:10:38 ◼   ► there, but it sure seems like it doesn't.

00:10:40 ◼   ► Whereas when you look at a company like Google,

00:10:42 ◼   ► it seems like every time they--

00:10:44 ◼   ► Google I/O, it's like--

00:10:45 ◼   ► well, first of all, they drop tons of their products.

00:10:48 ◼   ► That's one way to do it, right?

00:10:48 ◼   ► Just get rid of your products

00:10:50 ◼   ► that you weren't bringing forward.

00:10:51 ◼   ► Everything is gone except for Google+ and six other things.

00:10:54 ◼   ► When they say, well, all those things that we did keep,

00:10:56 ◼   ► here's awesome new versions of every single one of those.

00:10:59 ◼   ► - Yeah.

00:11:00 ◼   ► Is iWork on the Mac older than the Mac Pro?

00:11:05 ◼   ► - I don't know.

00:11:08 ◼   ► I think so.

00:11:09 ◼   ► Isn't it 09 is the newest version of iWork?

00:11:10 ◼   ► - Yeah, Wikipedia says iWork 09 came out January 6th, 2009.

00:11:14 ◼   ► So that's like a year and a half older

00:11:16 ◼   ► in the current generation of the Mac Pro.

00:11:18 ◼   ► Yeah, and your fake new Mac Pro is--

00:11:21 ◼   ► That does not count at all.

00:11:24 ◼   ► I was thinking also, on the lines of-- going back

00:11:26 ◼   ► a second-- on the lines of API updates and modernizations,

00:11:32 ◼   ► I was listening earlier today-- I made a little note of this.

00:11:35 ◼   ► I was listening earlier today to another podcast named

00:11:37 ◼   ► Springboard.

00:11:38 ◼   ► We'll put a link in the show notes.

00:11:40 ◼   ► It's springboardshow.com.

00:11:41 ◼   ► And in episode 10, they were talking

00:11:43 ◼   ► about how the guest was Caleb Davenport.

00:11:47 ◼   ► And they were talking about how with Arc,

00:11:51 ◼   ► we're training people not to worry about memory management.

00:11:54 ◼   ► But then we still have to call down into these carbon APIs

00:11:58 ◼   ► to do certain things on iOS even,

00:12:01 ◼   ► things like address book or key chain, things that still have

00:12:04 ◼   ► no cocoa wrappers, that you still

00:12:06 ◼   ► have to go down to the carbon level API or the raw C

00:12:10 ◼   ► API and do core foundation memory management and stuff

00:12:14 ◼   ► like that and all these old style things.

00:12:18 ◼   ► And it really messes with Arc, and it

00:12:20 ◼   ► makes things very confusing.

00:12:21 ◼   ► And if we're teaching people, you

00:12:22 ◼   ► don't have to think about memory management anymore.

00:12:25 ◼   ► But then they have to use one of these APIs,

00:12:27 ◼   ► and they're leaking strings all over the place,

00:12:29 ◼   ► not realizing that there's all these exceptions.

00:12:31 ◼   ► Like, you don't have to worry about memory management,

00:12:33 ◼   ► except in this case.

00:12:35 ◼   ► And so one thing I would love to see

00:12:37 ◼   ► just some stupid wrappers around all those ancient C APIs that still don't have nice

00:12:44 ◼   ► Objective-C wrapper classes around them, even on iOS. And if iOS 7 brought that, that would--it's

00:12:51 ◼   ► not going to make any headlines, it's not going to set the world on fire, but it's going

00:12:54 ◼   ► to make a minor convenience for so many developers so often.

00:12:59 ◼   ► Oh, I couldn't agree more. I have a very, very, very simple and basic app in the App

00:13:04 ◼   ► store and what it allows you to do is to send canned text messages quickly. And when I started

00:13:10 ◼   ► doing the address book integration, it was a total pain in the butt for exactly that

00:13:15 ◼   ► reason. I mean, it's nothing I can't handle. I cut my teeth in C++ as I think you did Marco

00:13:19 ◼   ► C and C++ and John. I don't know, you're so damn old that you probably cut it on like

00:13:24 ◼   ► assembly. But anyway, Fortran. The point being, all kidding aside, that the address book API

00:13:32 ◼   ► is terrible because it's all straight C and it's so frustrating. This was pre-arc that

00:13:36 ◼   ► I did all this and it was so frustrating having to drop down into that, even with retain release,

00:13:41 ◼   ► considerably more tedious framework in order to get what seems to be a very simple job

00:13:47 ◼   ► done. So I hadn't thought about that. That's a very good point and certainly would make

00:13:51 ◼   ► me happy to see some of that get improved. Although, I think, like you said, Marco, you

00:13:56 ◼   ► and I might be the only ones.

00:13:57 ◼   ► But we're not, because it's like the whole 80/20 feature

00:14:02 ◼   ► myth.

00:14:03 ◼   ► Yeah, only x percentage of the APIs

00:14:06 ◼   ► don't have nice Cocoa wrappers around them,

00:14:09 ◼   ► but almost every developer eventually

00:14:12 ◼   ► has to use one of them, at least.

00:14:15 ◼   ► And there's so many APIs out there that it's stupid.

00:14:18 ◼   ► It would take them not very long, not that much effort,

00:14:21 ◼   ► not any kind of significant long-term maintenance cost,

00:14:24 ◼   ► just to make really basic wrappers around these things,

00:14:26 ◼   ► just so that we never have to think about that again.

00:14:28 ◼   ► Did you just do the thing where you say that a feature that you want is really easy to

00:14:31 ◼   ► program and they should just do it?

00:14:33 ◼   ► I did.

00:14:34 ◼   ► Yeah, SMOP, simple matter of programming.

00:14:37 ◼   ► Will Shipley, this is one of his hobby horses because he really likes Objective-C and he

00:14:40 ◼   ► hates these C APIs.

00:14:42 ◼   ► And again, the impression I get from the outside is that the reason this is the way it is is

00:14:46 ◼   ► because there's some team that's responsible for the address book API and the person in

00:14:49 ◼   ► charge of that team thinks their C API is just fine and they don't have people on the

00:14:53 ◼   ► team who are either skilled enough, experienced enough, or motivated enough to do Objective-C

00:14:59 ◼   ► wrappers because they've cultivated a team of people who are expert C programmers.

00:15:04 ◼   ► And that's the ultimate sort of lateral move project.

00:15:09 ◼   ► What do we get when we're at the end of this?

00:15:10 ◼   ► Well, we get no new functionality.

00:15:11 ◼   ► We actually make it a little bit slower.

00:15:13 ◼   ► Hey, but it's easier to use, right?

00:15:14 ◼   ► And they're like, "Why are we doing this?

00:15:16 ◼   ► Why are you dedicating one person for the length of this release to make this wrapper

00:15:20 ◼   ► because Bill Shipley wants it?

00:15:21 ◼   ► No, just go do something else that's new,

00:15:23 ◼   ► or you're needed on this project, or whatever.

00:15:25 ◼   ► Because there's so much motion in the address book API.

00:15:27 ◼   ► I don't know.

00:15:28 ◼   ► Don't you get the impression that there's

00:15:30 ◼   ► teams who manage these APIs?

00:15:32 ◼   ► This is the team in charge of the whatever API,

00:15:34 ◼   ► and it's all filled with C or C++ or whatever programmers,

00:15:37 ◼   ► and they made it the way they made it,

00:15:38 ◼   ► and I think it's perfectly fine, and they fixed their bugs.

00:15:41 ◼   ► And they can't be convinced that what they need to do

00:15:44 ◼   ► is make a wrapper or re-implement their API

00:15:47 ◼   ► in some different language.

00:15:48 ◼   ► Or they have good reasons for it being only in C,

00:15:51 ◼   ► And I don't even use these APIs, but I

00:15:56 ◼   ► can understand it being a continuous source

00:15:58 ◼   ► of frustration, but it seems to me like an organizational

00:16:01 ◼   ► failure, more than a technical failure or a failure

00:16:05 ◼   ► of leadership or whatever.

00:16:06 ◼   ► It's just like something about the organization

00:16:08 ◼   ► does not allow for this to happen.

00:16:12 ◼   ► Well, and I thought-- perhaps I made this up--

00:16:14 ◼   ► but I thought a lot of these APIs,

00:16:16 ◼   ► address book being a great example,

00:16:18 ◼   ► were very thin layers on top of SQLite or SQLite,

00:16:22 ◼   ► or whatever we're pronouncing it as, GIF, databases.

00:16:25 ◼   ► And maybe I made that up.

00:16:26 ◼   ► But I thought that address book is

00:16:29 ◼   ► the example that comes to mind.

00:16:30 ◼   ► But I could swear I've seen a couple others.

00:16:32 ◼   ► Well, now address book has all these permissions

00:16:34 ◼   ► and sandboxing things around it to prevent--

00:16:36 ◼   ► No, that's true.

00:16:37 ◼   ► --to prevent Path from uploading the entire address

00:16:40 ◼   ► book to their servers without anybody knowing.

00:16:42 ◼   ► But one way or another, the point I'm driving at is,

00:16:44 ◼   ► some of these old and arcane APIs, I think,

00:16:47 ◼   ► just very light wrappers around SQLite and so nobody thought to bother with

00:16:51 ◼   ► them or to your point John they just didn't have the desire. Well core data is

00:16:56 ◼   ► on top of SQLite if you choose that as the if you choose the good back end or

00:17:00 ◼   ► whatever like I don't think it's a technical I don't think it's a

00:17:02 ◼   ► technical thing I think it's comes down to is if you have if you have a bunch of

00:17:05 ◼   ► C programmers and you're tasked with creating a new API it's going to be a C

00:17:10 ◼   ► API right? Yeah. It's not like they can't learn Objective-C or whatever but like you

00:17:14 ◼   ► If you go to development with the programmers you have, I don't know.

00:17:21 ◼   ► You can't just transform them into an experience.

00:17:24 ◼   ► You have the guys who made AppKit and the guys who made UIKit.

00:17:27 ◼   ► Your experience battle-hardened.

00:17:28 ◼   ► We can make a new API in Objective-C. We know how to do that the right way because we've

00:17:32 ◼   ► made crappy APIs over and over again.

00:17:35 ◼   ► Now we have experience and we know, "Okay, you're making an Objective-C API.

00:17:39 ◼   ► Here's what it should look like.

00:17:40 ◼   ► Here's the dos and don'ts.

00:17:42 ◼   ► how to avoid making an API that people can accidentally use badly.

00:17:47 ◼   ► All the people who learned that NSL was a bad idea over years of experience, when they

00:17:51 ◼   ► made UIKit, they didn't make the same mistakes a second time.

00:17:53 ◼   ► Well, if you take the address book team, a team of people who maybe have never written

00:17:58 ◼   ► an Objective-C API, and you tell them, "Make a wrapper," maybe they'll make one, but will

00:18:04 ◼   ► it be a great Objective-C API?

00:18:06 ◼   ► It'll be like my first Objective-C wrapper API.

00:18:09 ◼   ► And I think actually making a wrapper is probably harder than just writing a straight up, like

00:18:13 ◼   ► if you had started from scratch, right?

00:18:15 ◼   ► But they've got the C API that works, it's called from everywhere that they have to maintain

00:18:18 ◼   ► compatibility with it.

00:18:19 ◼   ► And you're asking them to add another abstraction on top of that while maintaining compatibility

00:18:24 ◼   ► for the people who go to the low level API.

00:18:26 ◼   ► It's actually kind of annoying, and I can imagine them not being motivated to do that

00:18:30 ◼   ► unless there's some compelling business reason.

00:18:32 ◼   ► And they'll always have some excuse of why there's not a compelling business reason.

00:18:35 ◼   ► Well there is.

00:18:36 ◼   ► First of all, there's, as I said, for the same reason why Mac development should be

00:18:42 ◼   ► as easy as possible, relatively speaking, within reason, iOS benefits from quality of

00:18:48 ◼   ► apps being good.

00:18:50 ◼   ► If there's a whole bunch of people out there who are mismanaging memory from these low-level

00:18:54 ◼   ► APIs because they don't know how to do it or they don't know that they have to do it,

00:18:57 ◼   ► then there's a bunch of apps taking up more memory than they should, and that's bad for

00:19:00 ◼   ► the entire iOS running experience.

00:19:03 ◼   ► like Keychain, the easy thing to do is just be insecure and write your credentials into

00:19:09 ◼   ► a file somewhere. They want you to use Keychain for security reasons, but using Keychain is

00:19:14 ◼   ► hard. So by not making the secure thing easy, apps are less secure. So there's a lot of

00:19:21 ◼   ► little reasons that all add up.

00:19:23 ◼   ► Well, that's like abstract reasoning. We try to take it to a manager, they want to see

00:19:26 ◼   ► a business reason. I think what actually happens is the C API just sits there and gets older

00:19:31 ◼   ► and older and more and more disgusting over the years. And then eventually it's like,

00:19:34 ◼   ► look, you can't make people use this. It's just like, it's too old. That's what happened

00:19:39 ◼   ► with QuickTime, right? So QuickTime was a C API, which was amazing at the time it was written,

00:19:43 ◼   ► but it was like, I forget what the first version of QuickTime came out, like 1990? 1991?

00:19:49 ◼   ► It was ancient. The movies were the size of like one inch by one inch squares and the Cinepack API

00:19:54 ◼   ► or Kodak, and it was just terrible looking, right? But there was a C API, right? And we

00:19:59 ◼   ► We carry that same C API forward and forward, and tons of applications are built on it,

00:20:02 ◼   ► and blah, blah, blah.

00:20:03 ◼   ► And eventually, it's just like it's untenable to make people write to that.

00:20:06 ◼   ► So they do QTKit, which is Objective-C wrapper around the gross C API.

00:20:10 ◼   ► That's what motivated the wrapper.

00:20:11 ◼   ► It's like, "No one wants to use the QuickTime API in C, unless you've been using it that

00:20:16 ◼   ► way since 1990.

00:20:18 ◼   ► No one wants to learn that as a new API.

00:20:20 ◼   ► It's crazy pants."

00:20:21 ◼   ► So they do the wrapper, and then they say, "What comes right after the wrapper?

00:20:27 ◼   ► You know what?

00:20:28 ◼   ► That old C API is deprecated.

00:20:29 ◼   ► for everything, please, because we just can't, you know, it's too disgusting.

00:20:32 ◼   ► And maybe AdWords, Book, and Keychain aren't quite at that point yet,

00:20:35 ◼   ► but when they reach that point, like, that'll be, maybe that's like the canary in the coal mine.

00:20:39 ◼   ► First they give you the Objective-C wrapper with massively more limited functionality

00:20:42 ◼   ► that just lets you easily play a damn movie in your Cocoa application, right?

00:20:45 ◼   ► I just want to put an NSMovie view, I just want to play a damn movie,

00:20:48 ◼   ► I don't want to see that crazy API, right?

00:20:50 ◼   ► And everyone else is like, "Wait, what about all the umpteen functions that you can do with a straight--

00:20:53 ◼   ► Oh, that straight C API will still be there, you can use it."

00:20:55 ◼   ► And then fast forward two years, it's like, yeah, that C API is going away.

00:20:58 ◼   ► here's the new thing, written from the ground up to be different.

00:21:01 ◼   ► Although I think AB Foundation is still a C API for performance reasons,

00:21:04 ◼   ► but maybe they can make a better wrap around that.

00:21:07 ◼   ► I don't know, someone in the chat room can correct me.

00:21:08 ◼   ► Is AB Foundation an Objective-C API or a C API?

00:21:12 ◼   ► You might know, Marco.

00:21:13 ◼   ► I actually don't know. I've never used it.

00:21:15 ◼   ► Well, you will.

00:21:17 ◼   ► Either way, what needs to get worse about the address book API

00:21:22 ◼   ► before we get to that point?

00:21:25 ◼   ► It just needs to look dated.

00:21:28 ◼   ► I don't know.

00:21:29 ◼   ► It does.

00:21:29 ◼   ► It looks dated now.

00:21:30 ◼   ► Well, I don't know enough about the QuickTime API,

00:21:32 ◼   ► but I can imagine it might have dealt with handles, which

00:21:34 ◼   ► were a big thing back in the classic Mac days.

00:21:37 ◼   ► And I don't know if that's the case.

00:21:38 ◼   ► Again, the chat room is failing me with these.

00:21:40 ◼   ► Where's underscore?

00:21:42 ◼   ► He needs to correct me with the real-time feedback

00:21:44 ◼   ► about whether the QuickTime API used handles.

00:21:47 ◼   ► We're lost without underscore.

00:21:49 ◼   ► Stuff like that that, hypothetically speaking,

00:21:53 ◼   ► It's a concept that doesn't even make sense anymore in a modern, you know, memory protected,

00:21:59 ◼   ► preemptive multitasking, virtual memory world.

00:22:04 ◼   ► And when people look at that, it just seems crazy, right?

00:22:07 ◼   ► So that's the point where you're like, all right, this isn't just like awkward to use

00:22:10 ◼   ► and difficult because it doesn't use nice Objective-C fake name parameters and stuff

00:22:14 ◼   ► like that.

00:22:15 ◼   ► This has got concepts that have no purpose in the modern world and it makes me jump through

00:22:19 ◼   ► hoops for no reason.

00:22:20 ◼   ► And I'm like, are you getting-- do they still have OS errors

00:22:23 ◼   ► where you get your result back as--

00:22:24 ◼   ► Yes.

00:22:25 ◼   ► All right.

00:22:26 ◼   ► Well, to me, this entire world is like-- even

00:22:29 ◼   ► the nice Objective-C APIs seem gross to me,

00:22:32 ◼   ► because you've got to use pointers everywhere

00:22:34 ◼   ► and pretend they're not pointers.

00:22:36 ◼   ► And pretend they're not pointers.

00:22:37 ◼   ► Z. Woldowski says it's Objective-C

00:22:41 ◼   ► and pasted the link to the documentation,

00:22:43 ◼   ► and it reads as follows.

00:22:44 ◼   ► The AV Foundation framework provides an Objective-C

00:22:46 ◼   ► interface for blah, blah, blah, blah, blah.

00:22:48 ◼   ► Yeah.

00:22:48 ◼   ► Like, the C API just got so old and so gross,

00:22:52 ◼   ► even though it was incredibly feature rich,

00:22:53 ◼   ► and that's why it stayed around for so long,

00:22:54 ◼   ► 'cause you could do such amazing things with it,

00:22:56 ◼   ► but at a certain point, it was like,

00:22:57 ◼   ► if you had a legacy application built around QuickTime,

00:23:00 ◼   ► your app was amazing, you could do amazing things,

00:23:01 ◼   ► but if you wanted to write a new one,

00:23:02 ◼   ► no one wanted to dive in and make, like,

00:23:05 ◼   ► a video editing application,

00:23:07 ◼   ► especially if you're gonna do, like,

00:23:10 ◼   ► not a not professional video editor,

00:23:13 ◼   ► something you'd imagine seeing on the Mac App Store.

00:23:14 ◼   ► Hey, easily edit your videos, right?

00:23:18 ◼   ► You don't want to have to throw someone at the deep end of the full-fledged, old-school

00:23:23 ◼   ► C API to QuickTime.

00:23:24 ◼   ► It would be much easier if there was a more modern API that they could use to do most

00:23:29 ◼   ► of that same stuff.

00:23:30 ◼   ► And so they started over with AB Foundation.

00:23:32 ◼   ► And it's taken them years to get to the point where I'd—they're still not at the point,

00:23:35 ◼   ► I don't think, where AB Foundation doesn't even close what the old QuickTime API did,

00:23:38 ◼   ► but they're clearly moving that direction.

00:23:41 ◼   ► And let's take a break to thank our first sponsor.

00:23:43 ◼   ► It is—can you guys guess?

00:23:46 ◼   ► Is it Squarespace?

00:23:47 ◼   ► It is Squarespace. How could they not? They are so awesome. They are. This episode is brought to you by Squarespace, the all-in-one platform

00:23:53 ◼   ► that makes it easy to create your own website. For a free trial and 10% off, go to squarespace.com and use the offer code

00:24:01 ◼   ► ATP6 for Accidental Tech Podcast month of 6, that's June.

00:24:05 ◼   ► Squarespace is constantly updating their platform with new features, new designs, and more support.

00:24:09 ◼   ► They have beautiful designs for you to start with and tons of style options for you to adjust. We even actually we inject a script

00:24:16 ◼   ► tag and a style tag into ours.

00:24:18 ◼   ► They let you do that.

00:24:19 ◼   ► You can do whatever you want.

00:24:20 ◼   ► You can really create your own space

00:24:22 ◼   ► online with Squarespace.

00:24:24 ◼   ► They take care of hosting, SEO,

00:24:26 ◼   ► even automatically resizing your site

00:24:28 ◼   ► to look great on any device with responsive design.

00:24:31 ◼   ► It's incredibly easy to use.

00:24:33 ◼   ► If you end up needing any help though,

00:24:35 ◼   ► Squarespace has an amazing support team.

00:24:37 ◼   ► They work 24/7, really 24/7.

00:24:40 ◼   ► Squarespace starts at just $8 a month

00:24:42 ◼   ► and if you order for a whole year,

00:24:44 ◼   ► it includes a free domain name.

00:24:47 ◼   ► So try Squarespace for free.

00:24:48 ◼   ► They have literally a free trial, no credit card required,

00:24:52 ◼   ► which is pretty awesome.

00:24:53 ◼   ► If you purchase, make sure you get an additional 10% off

00:24:56 ◼   ► by using our coupon code ATP6 this month in June here.

00:25:01 ◼   ► Use our coupon code, get 10% off,

00:25:03 ◼   ► and then that'll tell them that you came from here

00:25:06 ◼   ► and that they should keep buying sponsorships on our show

00:25:08 ◼   ► 'cause they are that awesome.

00:25:10 ◼   ► Squarespace is everything you need

00:25:11 ◼   ► to create an exceptional website.

00:25:13 ◼   ► And thanks again to those guys.

00:25:14 ◼   ► We host our site there and no complaints.

00:25:17 ◼   ► They've been awesome.

00:25:18 ◼   ► - Yep, thanks Squarespace.

00:25:20 ◼   ► So before we get away from this kind of low level murdery,

00:25:24 ◼   ► do we all agree, and I didn't think about this

00:25:26 ◼   ► when I wrote my blog post about what to expect at WWDC.

00:25:30 ◼   ► - You have a blog?

00:25:31 ◼   ► - Once every two years, I'll write on it.

00:25:34 ◼   ► I think I'm up to like a post a month

00:25:35 ◼   ► for the last two or three.

00:25:36 ◼   ► - So this is what you get for not skipping anyone's tweets

00:25:38 ◼   ► from whoever Casey tweets about his blog post?

00:25:41 ◼   ► I see it because I read them all.

00:25:42 ◼   ► Marco commented on the last one. He's just, he's just... I did actually have it to

00:25:46 ◼   ► catch that one. Yeah, how about that? But anyway, one of the things I didn't think

00:25:51 ◼   ► about that I wanted to ask you guys, are we going to get the equivalent of the VAR

00:25:56 ◼   ► keyword in C#? And I forget what the term is for that, but basically

00:25:59 ◼   ► inferred type. Right, like a future declared something, something... C++ auto. I think

00:26:05 ◼   ► that's the same. I believe it is. Type inference. Or a visual basic variant. No,

00:26:11 ◼   ► Type inference is what I was looking for, I believe you're right.

00:26:14 ◼   ► So in other words, you can say, I've got some variable here, and I don't want to explicitly

00:26:20 ◼   ► tell you what type it is.

00:26:21 ◼   ► Compiler, you're smart, you figure it out.

00:26:23 ◼   ► So I guess my question is actually twofold.

00:26:25 ◼   ► Firstly, do we expect type inference in Objective-C come Monday?

00:26:30 ◼   ► And secondly, what with the crazy awesomeness, and I don't mean that sarcastically, with

00:26:35 ◼   ► the static analyzer, I couldn't think of the word I was looking for, the static analyzer

00:26:40 ◼   ► and all that craziness, do we think that we'll see any advancements, kind of maybe not as big,

00:26:45 ◼   ► but kind of in the same way we saw ARC? I don't think there's any pressing need

00:26:48 ◼   ► for type inference. The reason I suggested it is because it's like it's right there sitting in

00:26:53 ◼   ► front of them because they've already got a static analyzer. Type inference can be implemented in

00:26:57 ◼   ► such a way that it doesn't actually change anything about the language. It just basically saves you

00:27:00 ◼   ► typing because if the static analyzer can figure out that that can only possibly be one type

00:27:06 ◼   ► that could ever make sense, it lets you not put like the class name two times on the same line,

00:27:10 ◼   ► when you're declaring the stupid pointer variable

00:27:12 ◼   ► and then calling the class method to make the alloc init

00:27:17 ◼   ► and all that other stuff, right?

00:27:18 ◼   ► Why does it have to be that twice?

00:27:19 ◼   ► Can't it just figure it out?

00:27:21 ◼   ► So it's kind of a nice to have,

00:27:22 ◼   ► but the memory image of the program it creates

00:27:25 ◼   ► isn't different, unlike Arc, for example,

00:27:27 ◼   ► which actually does create a different

00:27:28 ◼   ► actual running program than you would have written manually.

00:27:31 ◼   ► So this is an even less invasive change than that,

00:27:35 ◼   ► but it's along the category of stuff like dot syntax

00:27:37 ◼   ► where it's like, was dot syntax

00:27:40 ◼   ► people saying, "Oh, I can't type any more square brackets. I want to do a dot." I mean,

00:27:43 ◼   ► maybe some people were. The thing is, if they had the time to implement it and it's ready,

00:27:51 ◼   ► it'll be there. But if it wasn't, it's not like, "Oh my God, this year we got to have

00:27:54 ◼   ► type inference because we're really getting dinged on not having type inference." They

00:27:58 ◼   ► were getting dinged much more on memory management, so that was more of a pressing need. So I

00:28:02 ◼   ► feel like it's a 50/50 chance. If it's not there, no one's going to complain. And if

00:28:05 ◼   ► it is there, people are like, "Oh, that's nice. Save some typing. Pretty cool."

00:28:09 ◼   ► So I'm really not trying to troll you.

00:28:12 ◼   ► Does Perl have type inference?

00:28:14 ◼   ► And if so, do you believe in it?

00:28:16 ◼   ► Type inference and type inference.

00:28:17 ◼   ► You really know nothing about Perl.

00:28:19 ◼   ► No, I haven't used Perl and so darn well.

00:28:21 ◼   ► Perl doesn't even believe in types, does it?

00:28:23 ◼   ► It's all like type unsafe and crap.

00:28:24 ◼   ► I think everything's a duck.

00:28:25 ◼   ► No, no.

00:28:26 ◼   ► Yeah, that's right.

00:28:27 ◼   ► Everything is a duck.

00:28:28 ◼   ► That's the thing about Ruby.

00:28:29 ◼   ► We're going to get into trouble for speaking loosely about type safe and unsafe and--

00:28:36 ◼   ► Is it statically typed and dynamically typed and strongly typed and weakly typed?

00:28:41 ◼   ► And I do not have the definitions of all those terms in front of me, so it's much easier to

00:28:45 ◼   ► talk in more specific terms. But suffice it to say, the type inference is not...

00:28:49 ◼   ► As we're talking about it, Objective-C is basically an irrelevant concept in Perl,

00:28:55 ◼   ► as it's basically irrelevant in JavaScript or PHP for that matter.

00:28:58 ◼   ► Right, right. Because everything is very loosely typed.

00:29:01 ◼   ► High-level language. You don't have to worry about those low-level.

00:29:03 ◼   ► Oh, listen to this guy.

00:29:05 ◼   ► Did you just indirectly complement PHP?

00:29:07 ◼   ► I'm just saying, you're not dealing with pointers in PHP, and you're also not worried about

00:29:11 ◼   ► it. It's not even like Ruby, you know, 2S to get the string version of a thing. You

00:29:15 ◼   ► don't have to do that in PHP, do you?

00:29:17 ◼   ► No.

00:29:18 ◼   ► No, that's what I'm saying. It's like JavaScript. You just have a value and a variable, and

00:29:21 ◼   ► you just use it in a certain way, and it becomes-- it's not as bad as JavaScript with the crazy

00:29:25 ◼   ► coercions, and you have to use the triple equal to avoid them, and all that. JavaScript

00:29:29 ◼   ► is gross. But yeah, it's not relevant.

00:29:32 ◼   ► So someone asked in the chat, it already flew by, why not use id or id or whatever the crap

00:29:38 ◼   ► it's called everywhere.

00:29:40 ◼   ► And that's something different.

00:29:41 ◼   ► You know, when you use id or id or whatever in Objective-C, that's saying, hey, I don't

00:29:46 ◼   ► really know what this is, just figure it out at runtime.

00:29:49 ◼   ► What type inference does is say, hey, I know that this can only be one type, just like

00:29:53 ◼   ► John was saying earlier, but I don't want to spend the time typing NSString, I just

00:29:57 ◼   ► want to type the letters VAR.

00:30:00 ◼   ► compiler will figure out what is this type and fill it in for you, not literally speaking,

00:30:05 ◼   ► but figuratively speaking, it won't change your code or anything. And so that gives you

00:30:09 ◼   ► all the benefits of strong typing, of which John doesn't believe in them because he writes

00:30:13 ◼   ► Perl, but it saves you a little bit of time. And that's very different than using ID.

00:30:19 ◼   ► See, do you think it—I mean, is this something like—to me, I'm thinking if I have—if

00:30:24 ◼   ► if I'm reading the code, writing it, okay, you can type in the same

00:30:28 ◼   ► keyword for everything. Okay, that's, you know, that's

00:30:32 ◼   ► interesting. Reading it, though,

00:30:36 ◼   ► do you really want to see a bunch of code that just, you know, a bunch of var declarations, like is that

00:30:40 ◼   ► is that really an improvement? Well, and that's exactly what I was, that's when I

00:30:44 ◼   ► started to ask Jon about this, that's where I was going with it, is do you guys even believe

00:30:48 ◼   ► in this in the first place? Well, wouldn't it not let you do it in a case where there's

00:30:52 ◼   ► ambiguity? Like wouldn't it... I don't know how the C++ auto keyword works or the VAR

00:30:57 ◼   ► keyword in C# for that matter, but what I would imagine that Apple would bring to Objective-C,

00:31:01 ◼   ► assuming it doesn't just bring the straight port of the auto keyword, because they do

00:31:04 ◼   ► have really good C++ support at this point, and they could just say, "Hey, write everything

00:31:07 ◼   ► in Objective-C++ and use the auto keyword. Done and done." Like, we didn't have to invent

00:31:11 ◼   ► the feature, it's already there, right? But assuming they bring their own keyword for

00:31:15 ◼   ► type inference, my guess would be that it would just not compile if there's any possible

00:31:20 ◼   ► ambiguity and the place where you would not have any ambiguity is the typical thing where

00:31:25 ◼   ► you're declaring a variable of a particular type and making a new object of that type

00:31:30 ◼   ► and sticking it into it right in the same line.

00:31:32 ◼   ► And there you just do not need the class name twice.

00:31:34 ◼   ► That's the classic example of like, that's annoying and stupid and nobody looking at

00:31:38 ◼   ► that is going to be confused by like var foo equals and then class name, block, you know,

00:31:43 ◼   ► they're not going to be confused by that.

00:31:44 ◼   ► It's right there.

00:31:45 ◼   ► You know what's going into that thing, right?

00:31:47 ◼   ► So that is the most obvious case, and then you scale down from there to the point where

00:31:50 ◼   ► at a certain point the static analyzer says, "Well, I can't assume what type you're trying

00:31:55 ◼   ► to say here because there's multiple possible values that would be valid," and maybe it

00:31:59 ◼   ► would just not compile that and say, "No, you've got to explicitly declare that type."

00:32:04 ◼   ► That's exactly how it is in C#, where if you don't say on that same line exactly what this

00:32:09 ◼   ► is, the compiler will puke it up and say, "I need some more info," or, "You need to provide

00:32:14 ◼   ► an actual type because I can't just infer what this is.

00:32:17 ◼   ► So, yeah, so if you have to have a mix of declared types and automatic types, doesn't

00:32:24 ◼   ► that kind of introduce a lot of bug potential and make code harder to read?

00:32:27 ◼   ► Well, what's the bug potential?

00:32:29 ◼   ► Well, I guess if you have a keyword, if you can declare them without keywords, like you

00:32:33 ◼   ► can in most scripting languages, then that's rough because then you can, like, and there's

00:32:39 ◼   ► like, okay, well if you misspell a variable name.

00:32:44 ◼   ► - No, it's not JavaScript. - Stuff like that.

00:32:46 ◼   ► - JavaScript where you could just, yeah,

00:32:48 ◼   ► you just start typing it.

00:32:49 ◼   ► - Well, PHP and Perl have this problem too.

00:32:51 ◼   ► - Well, but you know, Perl had it first

00:32:53 ◼   ► and Perl had the solution first,

00:32:54 ◼   ► and I'm assuming PHP has the same solution as Perl,

00:32:56 ◼   ► does it not?

00:32:57 ◼   ► Where you have a mode where you're not allowed to do that

00:32:59 ◼   ► and everybody uses that mode, please tell me that's the case.

00:33:01 ◼   ► - Are you getting a head start?

00:33:02 ◼   ► - No, no, it has, well, it'll throw a notice

00:33:04 ◼   ► which you can catch and treat as an error if you want to,

00:33:06 ◼   ► and I do, where if you are using an undeclared variable,

00:33:10 ◼   ► it can throw the error.

00:33:12 ◼   ► But if you assign to a variable,

00:33:14 ◼   ► that implicitly declares it.

00:33:15 ◼   ► But there still is that risk of,

00:33:20 ◼   ► "Oh, I'm assigning to a variable

00:33:21 ◼   ► "that I thought was the same one that I used 10 lines ago,

00:33:23 ◼   ► "but I mistyped it."

00:33:24 ◼   ► - It doesn't catch that?

00:33:26 ◼   ► - If you assign to it, no.

00:33:28 ◼   ► - Yeah, well.

00:33:28 ◼   ► - If you're testing it or calling something--

00:33:29 ◼   ► - PHP screw something else up again.

00:33:31 ◼   ► They should have just copied the Perl solution.

00:33:32 ◼   ► But anyway, JavaScript hilariously

00:33:36 ◼   ► copied the Perl-- didn't we talk about this in a past episode?

00:33:38 ◼   ► Hilariously copied the Perl solution.

00:33:40 ◼   ► The Perl solution is they added a pragma,

00:33:42 ◼   ► or you type use strict, and then it turns it into the good mode

00:33:45 ◼   ► where it's like, if you make any typo,

00:33:47 ◼   ► it's like, I don't know what variable you're talking about.

00:33:48 ◼   ► I will not-- I refuse to create a new variable that you have

00:33:51 ◼   ► not declared, like C or any other language in that mode,

00:33:54 ◼   ► right?

00:33:56 ◼   ► And in JavaScript, which works the other crazy way,

00:33:58 ◼   ► they said, we want that too, but we

00:34:00 ◼   ► can't change the language because it's

00:34:01 ◼   ► in a bazillion browsers.

00:34:02 ◼   ► So in JavaScript, if you just make a string literal

00:34:05 ◼   ► where you put double quote or single quote or whatever,

00:34:08 ◼   ► use space strict and then close that string literal

00:34:11 ◼   ► and put a semicolon.

00:34:12 ◼   ► Like no assignment, no nothing.

00:34:13 ◼   ► Just like that string literal in your JavaScript code,

00:34:17 ◼   ► most modern browsers will see that, interpret it as,

00:34:20 ◼   ► oh, you want to go into that strict mode that's

00:34:22 ◼   ► kind of like Perl's use strict.

00:34:23 ◼   ► It's hilarious that it uses the exact same phrase,

00:34:25 ◼   ► use space strict all lowercase.

00:34:27 ◼   ► And then it will go into that mode.

00:34:29 ◼   ► Sometimes it will, sometimes it won't.

00:34:30 ◼   ► And for browsers that don't understand that,

00:34:33 ◼   ► But they just see a use of a string literal and void context to use Perl parlance.

00:34:38 ◼   ► And so it's valid code.

00:34:40 ◼   ► It compiles.

00:34:41 ◼   ► You don't choke the other browsers.

00:34:42 ◼   ► But if you're using a modern browser that helps you out, you get the benefits of working

00:34:48 ◼   ► in that environment.

00:34:49 ◼   ► So yeah, I mean, JavaScript has an excuse because it's really old and, again, made by

00:34:52 ◼   ► one guy under time pressure and didn't think he was going to be creating the next language

00:34:56 ◼   ► for the next millennium.

00:34:59 ◼   ► But I would never imagine that a language with so much bondage and discipline as Objective-C

00:35:06 ◼   ► would ever allow that type of thing where you just type a variable name and it springs

00:35:11 ◼   ► into existence.

00:35:12 ◼   ► It would always need some sort of word, whether that be "var," "auto," or whatever word

00:35:16 ◼   ► Apple would make up for it.

00:35:17 ◼   ► Do you want to talk about WVDC anymore?

00:35:19 ◼   ► Yeah, I was going to say—

00:35:20 ◼   ► I do.

00:35:21 ◼   ► I have more things to talk about.

00:35:23 ◼   ► Don't let me steer this conversation.

00:35:25 ◼   ► We're going off into the weeds.

00:35:26 ◼   ► It's like we're nerds or something.

00:35:28 ◼   ► Yeah.

00:35:29 ◼   ► That's not good.

00:35:30 ◼   ► If you really think about it, we as a group have kind of made a podcasting career out

00:35:34 ◼   ► of going off topic.

00:35:38 ◼   ► That's very true.

00:35:39 ◼   ► But in an attempt to stay on topic, Jon, what were you thinking was coming over the keynote

00:35:45 ◼   ► in WWDC?

00:35:46 ◼   ► So the blog post that I was too lazy to write this week that I was on podcast about—yes,

00:35:53 ◼   ► this is the pattern.

00:35:54 ◼   ► Sometimes the blog post comes first, I suppose—is about hardware.

00:35:58 ◼   ► Now we've had the extra week of time, and it's like the Haswell-based laptops, right?

00:36:05 ◼   ► Assuming Apple decides to put them in the keynote, which I imagine they would, because

00:36:08 ◼   ► why not?

00:36:09 ◼   ► They did it last year, and the new ones are coming, whether they've talked about it in

00:36:12 ◼   ► the keynote or not.

00:36:14 ◼   ► The thing that I hadn't realized, really hadn't thought about actually, was like, last year

00:36:18 ◼   ► and since last year, people have been asking me, "Should I get a Retina MacBook Pro or

00:36:24 ◼   ► a MacBook Air?"

00:36:25 ◼   ► telling people if you can wait, wait, because the Airs have such a terrible screen, especially

00:36:32 ◼   ► compared to the Retinas. But the Retinas, the integrated GPU, the one that's on the

00:36:38 ◼   ► CPU, the Intel graphics one, is just barely able to handle that screen. And I think it's

00:36:42 ◼   ► a shame, it's like a first generation thing. And that will be solved by Haswell, which

00:36:46 ◼   ► is coming and will have much better integrated graphics, right? So that's what I've been

00:36:49 ◼   ► telling people. If you can wait, wait, because they're going to revise the Airs and presumably

00:36:52 ◼   ► you'll have a nicer screen and faster and all that stuff.

00:36:55 ◼   ► And the retinas, well there's also

00:36:57 ◼   ► the image retention issue which I hope is being solved

00:37:00 ◼   ► by them picking different screen supplier or whatever.

00:37:02 ◼   ► And the next ones are gonna have, you know,

00:37:05 ◼   ► faster CPU, better battery life

00:37:06 ◼   ► because of the Hassell power savings,

00:37:07 ◼   ► but also a much better integrated GPU.

00:37:10 ◼   ► Now what I hadn't been thinking about

00:37:11 ◼   ► when I've been telling people that is,

00:37:14 ◼   ► what if they ship them with just the integrated GPU

00:37:18 ◼   ► and no external GPU anymore?

00:37:20 ◼   ► Because I'd been thinking, okay,

00:37:21 ◼   ► So the integrated GPU is going to be better and it's going to finally be able to comfortably handle a retina display

00:37:26 ◼   ► But of course when you would load up a game or something, I suppose

00:37:29 ◼   ► They'll just you know, they'll use the discrete GPU for the game, right?

00:37:32 ◼   ► In theory. Yeah after reading the non tech

00:37:35 ◼   ► Review of this thing you can see that the integrated GPU is still slightly slower than the current discrete GPU that they use in the retina

00:37:43 ◼   ► pros

00:37:44 ◼   ► But that Apple could probably get away with not having discrete GPU in the 15-inch MacBook Pro

00:37:49 ◼   ► Oh, I would love that.

00:37:50 ◼   ► Just using the integrated, because the power savings would be huge, right?

00:37:55 ◼   ► And it would be a cost saving, right?

00:37:59 ◼   ► Heat, noise, battery, everything gets better, cost.

00:38:05 ◼   ► But on the other hand, wouldn't you feel bad if you bought a Retina MacBook Pro this year

00:38:10 ◼   ► and it didn't play a game at as high a frame rate as the one you could have bought last

00:38:14 ◼   ► year at the same time?

00:38:15 ◼   ► John, we don't play games.

00:38:16 ◼   ► We have Macs.

00:38:17 ◼   ► Some people do.

00:38:18 ◼   ► Some people do.

00:38:19 ◼   ► You want to run Diablo 3 in that crazy retina resolution, right?

00:38:23 ◼   ► It's not that it's a gaming laptop or anything like that.

00:38:26 ◼   ► It would be weird.

00:38:27 ◼   ► Wouldn't it be weird for a year later, the new top-of-the-line Apple laptop would have

00:38:31 ◼   ► a GPU that is ever so slightly slower than the previous one?

00:38:35 ◼   ► And I'm sure that Apple...

00:38:36 ◼   ► See, here's the way you can go on this.

00:38:37 ◼   ► I think Apple could whip up some benchmark BS that makes the integrated one look slightly

00:38:43 ◼   ► faster than the discrete, because there are tests.

00:38:46 ◼   ► If you look at the NFTEC thing, there are tests where it gets like 10% or 7% faster.

00:38:50 ◼   ► But overall, it's mostly slightly slower.

00:38:53 ◼   ► So Apple could do the selective thing where they just pick their benchmark and say, "Hey,

00:38:56 ◼   ► look, we ditched the discrete GPU.

00:38:59 ◼   ► It's just got an integrated one.

00:39:00 ◼   ► And look, it's actually faster than the previous discrete one."

00:39:02 ◼   ► And they'll show some single or small double-digit gain on the carefully chosen benchmarks.

00:39:07 ◼   ► Well, another thing they could do is what they did, I think, about three years ago.

00:39:13 ◼   ► They introduced a 15-inch model at $1699, something like that.

00:39:18 ◼   ► It was significantly below the previous $1999 minimum.

00:39:22 ◼   ► It was a low-end 15-inch MacBook Pro that didn't have a discrete GPU.

00:39:27 ◼   ► It only had the Intel one.

00:39:28 ◼   ► And all the other 15-inches, the higher-priced ones, all had discrete GPUs.

00:39:33 ◼   ► And everyone's like, "Oh, they don't want to have multiple SKUs or multiple different

00:39:35 ◼   ► GPUs."

00:39:36 ◼   ► Well, they've done it before.

00:39:37 ◼   ► They do it for other things.

00:39:38 ◼   ► If it makes sense, they can do it.

00:39:41 ◼   ► If they did this, maybe they would keep the discrete GPU in the most expensive configuration,

00:39:48 ◼   ► but then in the cheapest one, leave it out.

00:39:54 ◼   ► If I was buying, I'd actually buy that one because it would be cooler running, longer

00:39:59 ◼   ► battery life, everything else.

00:40:03 ◼   ► The whole dual GPU thing has always been buggy in the OS.

00:40:08 ◼   ► If you use something like, I believe it's Cody Krieger's graphics card status program,

00:40:15 ◼   ► it'll tell you which one's in use and it has a mode where you can attempt to force it to

00:40:19 ◼   ► use one or the other and it doesn't always work because of weird OS things.

00:40:23 ◼   ► But it doesn't just use the discrete GPU for games.

00:40:26 ◼   ► It has some kind of conditions where I think if something uses layer-backed views or core

00:40:32 ◼   ► animation in a certain way, then it automatically turns the GPU on if that app is running at

00:40:37 ◼   ► all.

00:40:38 ◼   ► And that includes things like iCal.

00:40:39 ◼   ► I mean, really commonly used apps.

00:40:42 ◼   ► They tweaked it to not go to the discrete GPU quite as easily.

00:40:47 ◼   ► They've made changes to the OS of, say, it used to be, right?

00:40:49 ◼   ► Like if you did almost anything involving applications that were not impressive, it

00:40:53 ◼   ► was like, "Oh, sorry.

00:40:54 ◼   ► If you touch this framework at all, we're going to the discrete GPU."

00:40:57 ◼   ► But then they kept moving it back, saying, "Well, the integrated GPU can handle that.

00:41:01 ◼   ► Okay.

00:41:02 ◼   ► to do is trade off of jerky scrolling and bad drawing

00:41:05 ◼   ► performance.

00:41:07 ◼   ► They know it could be better if it was on a discrete,

00:41:08 ◼   ► but they're trying to balance power.

00:41:10 ◼   ► That's what I was saying about that machine being compromised.

00:41:12 ◼   ► Yeah, you're right.

00:41:13 ◼   ► That dual GPU thing is never quite right,

00:41:15 ◼   ► and it always leads to lots of weird drawing glitches.

00:41:17 ◼   ► And people have retinas.

00:41:18 ◼   ► They're always talking about, oh, I

00:41:19 ◼   ► was scrolling through Safari.

00:41:20 ◼   ► That could be retina bugs, and it also

00:41:22 ◼   ► could be the GPU switching.

00:41:24 ◼   ► Well, and think about the customer experience of,

00:41:27 ◼   ► if you don't know about the switching,

00:41:28 ◼   ► and if you don't know which apps are causing it,

00:41:31 ◼   ► then you have a situation where your laptop will seemingly

00:41:36 ◼   ► randomly get like 30% less battery life on some days

00:41:40 ◼   ► or when you're doing certain things.

00:41:41 ◼   ► And it's really hard to tell why that is.

00:41:43 ◼   ► Or if you--

00:41:44 ◼   ► It's an app running in the background that never lets

00:41:45 ◼   ► the discrete GPU be turned off.

00:41:47 ◼   ► Right, like in my case, it was always iCal doing that,

00:41:50 ◼   ► which is annoying, or Twitter or Tweetbot.

00:41:52 ◼   ► They almost, so many apps do this now,

00:41:55 ◼   ► including so many Apple apps,

00:41:57 ◼   ► that if you're multitasking at all,

00:42:00 ◼   ► you probably have something keeping that discrete GPU

00:42:02 ◼   ► running.

00:42:02 ◼   ► And so you'll end up having these bursts of time

00:42:06 ◼   ► where you'll get dramatically less battery life.

00:42:08 ◼   ► And there's no obvious answer to most people as to why that is.

00:42:12 ◼   ► And that's terrible.

00:42:14 ◼   ► It makes Apple look bad.

00:42:15 ◼   ► It makes the customers unhappy.

00:42:17 ◼   ► Everything runs too hot.

00:42:18 ◼   ► I mean, that's why I think there would be a performance

00:42:22 ◼   ► trade-off for certain conditions, like games,

00:42:25 ◼   ► by going integrated only.

00:42:28 ◼   ► But in almost every other way, that would actually be better.

00:42:32 ◼   ► Yeah, I agree.

00:42:32 ◼   ► And to go back just a quick step, another great example

00:42:36 ◼   ► is because I think that there's some sort of multiplexer

00:42:39 ◼   ► in between the graphics cards and the DisplayPort such

00:42:43 ◼   ► that if you have an external display

00:42:46 ◼   ► connected of any capacity, you're

00:42:48 ◼   ► running on that discrete GPU.

00:42:49 ◼   ► So let's say you're sitting at your desk,

00:42:52 ◼   ► and you've been using your computer for hours,

00:42:54 ◼   ► and nothing's gone wrong, and you have half your battery

00:42:57 ◼   ► left and then you go to do a presentation and suddenly you have an

00:43:01 ◼   ► external monitor that being your projector hooked up to your computer and

00:43:05 ◼   ► your battery power just disappears instantly. And that's because of

00:43:09 ◼   ► the multiplexer in front of the display port or something along those lines.

00:43:12 ◼   ► And it doesn't need to be that way because the 13-inch and the Ayres don't have discrete GPUs

00:43:16 ◼   ► and output to external monitors is just fine. With the new

00:43:21 ◼   ► Haswell chips a lot of these problems will be lessened severely because

00:43:25 ◼   ► they can do almost everything on the integrated now,

00:43:27 ◼   ► like they won't have to go to the integrated

00:43:28 ◼   ► just because they have an external GPU,

00:43:30 ◼   ► they won't have to go to the integrated

00:43:31 ◼   ► when you do something fancy, right?

00:43:32 ◼   ► So you can basically,

00:43:33 ◼   ► or won't have to go to the discrete, rather.

00:43:35 ◼   ► They'll be able to stick to the integrated GPU

00:43:37 ◼   ► almost all the time, except for perhaps things like games.

00:43:41 ◼   ► So that's why I'm coming up with the question of like,

00:43:44 ◼   ► it's totally an Apple move to just say,

00:43:46 ◼   ► sorry, no more discrete GPU.

00:43:48 ◼   ► And that means that this machine,

00:43:50 ◼   ► either Apple's gonna say it's only slightly faster

00:43:53 ◼   ► in graphics performance than the previous one,

00:43:55 ◼   ► always on par, but hey, and they'll super duper tout,

00:43:58 ◼   ► like, oh, look at the power set,

00:43:59 ◼   ► like all the other things we were talking about, right?

00:44:00 ◼   ► Isn't it amazing, right?

00:44:02 ◼   ► So that's definitely one way they could go.

00:44:04 ◼   ► I would be a little bit disappointed in that,

00:44:05 ◼   ► but I can see the Apple pitch,

00:44:07 ◼   ► I can see the slides in my head

00:44:08 ◼   ► of how they're gonna sell that,

00:44:09 ◼   ► and people will be like, oh, it's not so bad, right?

00:44:11 ◼   ► Because it would be, I mean,

00:44:12 ◼   ► for almost every person who's not doing

00:44:14 ◼   ► like 3D graphics or games, it would be a clear win,

00:44:18 ◼   ► like, 'cause I never cared about the frame rate

00:44:20 ◼   ► of some game, all I know is my battery life is better,

00:44:22 ◼   ► I don't have to deal with GPU switching, everything's great.

00:44:24 ◼   ► But the thing, you said Marco about,

00:44:25 ◼   ► all right, so maybe there's just one top end model

00:44:28 ◼   ► where they put the discrete GPU in there

00:44:29 ◼   ► for the gamers or whatever.

00:44:31 ◼   ► And then the question is, what is that discrete GPU?

00:44:33 ◼   ► Like the other one was a 650M or something.

00:44:35 ◼   ► I think like the 750M is out or something like that.

00:44:39 ◼   ► I could also see them going that route.

00:44:40 ◼   ► And Apple knows better than us

00:44:43 ◼   ► 'cause they never give us the breakdowns,

00:44:44 ◼   ► but say they produce a line like that.

00:44:46 ◼   ► What is the breakdown between the ones with the discrete

00:44:49 ◼   ► and the ones with it?

00:44:50 ◼   ► Like I start to think of the guys

00:44:51 ◼   ► to opt for the discrete GPU being kind of like the people

00:44:54 ◼   ► who would buy the Mac Pro.

00:44:55 ◼   ► Like we think we're super important

00:44:57 ◼   ► and we think it's awesome and everything,

00:44:58 ◼   ► but if it's like 0.05% of the customers,

00:45:02 ◼   ► it's really difficult for Apparel to keep doing that

00:45:04 ◼   ► year after year.

00:45:05 ◼   ► But the thing that makes me feel a little bit better

00:45:06 ◼   ► is the, remember the super high res 15 inch,

00:45:09 ◼   ► where you get the 15 inch with the higher res screen?

00:45:12 ◼   ► - Yep. - That's what I'm looking at.

00:45:13 ◼   ► - They did that for a long time.

00:45:15 ◼   ► And I have to think that like almost nobody bought

00:45:17 ◼   ► that stupid thing.

00:45:18 ◼   ► Like the matte screen and the high res,

00:45:20 ◼   ► like the only people who buy that are people like that.

00:45:21 ◼   ► - Casey and I both did.

00:45:22 ◼   ► - Right, right, I know what you mean.

00:45:24 ◼   ► Exactly, people who like Mac Pros.

00:45:26 ◼   ► But I've been in lots of Apple stores

00:45:29 ◼   ► and I have never known anyone who is not a super nerd

00:45:31 ◼   ► who opted for that screen because you say,

00:45:32 ◼   ► "This one is more expensive, it's matte,

00:45:34 ◼   ► "which doesn't look as shiny as shiny," right?

00:45:37 ◼   ► And everyone's like, "Why would you get the one

00:45:39 ◼   ► "that's uglier, quote unquote uglier,

00:45:41 ◼   ► "and I have to squint to see it and it's more expensive?

00:45:43 ◼   ► "I'll take that one please."

00:45:45 ◼   ► Like, that's gotta be what everybody picks, so.

00:45:46 ◼   ► - Well, you'd be surprised.

00:45:47 ◼   ► I mean, granted I am talking about nerds,

00:45:49 ◼   ► but everyone in my office that has a MacBook Pro

00:45:51 ◼   ► one of those. I'm looking at two within arms reach right now, my personal one as well as

00:45:54 ◼   ► my work one. I mean they are unbelievably great machines if you're not going to go

00:45:58 ◼   ► retina and they were the best of the 15 inch MacBook Pros up until the retina MacBook Pros.

00:46:04 ◼   ► So any of those who are checkbox nerds who said, "Oh, I want the best, darn it," then

00:46:10 ◼   ► they would get these. And they are unbelievably great machines, excepting the discrete GPU

00:46:15 ◼   ► Yeah, so this is my fun litmus test for this keynote is when they, I'm assuming they'll

00:46:23 ◼   ► introduce this line of things to look to see, will any of them have a discrete GPU?

00:46:28 ◼   ► And if they don't, like, what does that say about, I mean, it gets back to the whole Mac

00:46:31 ◼   ► Pro thing.

00:46:32 ◼   ► Like, what kind of signals is Apple sending about the kind of company is?

00:46:35 ◼   ► Is it the kind of company that has decided that it just doesn't care about top end performance

00:46:42 ◼   ► anymore and it considers battery life and suitability for like the 80% or 90% or 99.5%

00:46:50 ◼   ► or whatever percent it is to just be so much more important than everything else. So I've got my

00:46:55 ◼   ► fingers crossed for at least one model still with this great GPU, but I think I'd be mostly okay for

00:47:02 ◼   ► this to be a transition year where they go integrated only because the next round of chips,

00:47:06 ◼   ► like maybe Intel will continue dedicating 65% or more of its CPU space to graphics,

00:47:15 ◼   ► and at 14 nanometers, that gives you a pretty darn good GPU on the CPU. And so by that point,

00:47:22 ◼   ► you're like, "All right, well, discrete GPU. How barbaric," right?

00:47:25 ◼   ► So now keeping with hardware. Well, Marco, do you have anything to add on laptops?

00:47:30 ◼   ► No, I think that covers it. I mean, I'm looking forward to what they do. I currently own

00:47:36 ◼   ► the cheapest model of the current, which is the first 15-inch Retina MacBook Pro.

00:47:41 ◼   ► And I use it as a travel and upstairs computer.

00:47:46 ◼   ► And so I don't use it a lot. I'm not using it constantly. I'm not pushing its boundaries.

00:47:51 ◼   ► So I don't plan to upgrade at all.

00:47:56 ◼   ► So with that in mind, gentlemen, it is time. Will there be a Mac Pro?

00:48:01 ◼   ► or something equivalent thereof.

00:48:03 ◼   ► - Before we get into this, let me do our second sponsor

00:48:06 ◼   ► 'cause I know this is gonna take a while.

00:48:08 ◼   ► - Yep, that's a good call.

00:48:09 ◼   ► - So, all right, our second sponsor,

00:48:11 ◼   ► this is a new sponsor this week,

00:48:13 ◼   ► but I hope you guys have already heard of them

00:48:14 ◼   ► and I'm gonna convince you to buy them.

00:48:16 ◼   ► The sponsor is Tonks, T-O-N-X,

00:48:19 ◼   ► and Tonks is a coffee subscription service.

00:48:23 ◼   ► I wrote this blog post a while back.

00:48:26 ◼   ► People always ask me, oh, how do you make great coffee?

00:48:29 ◼   ► or what kind of setup do I need to make great coffee,

00:48:32 ◼   ► because people are always obsessed with gear and stuff

00:48:34 ◼   ► like that.

00:48:35 ◼   ► And the fact is the answer is actually pretty boring.

00:48:38 ◼   ► The answer is, well, get an AeroPress, which is $25,

00:48:43 ◼   ► on Amazon.

00:48:44 ◼   ► Get an AeroPress and get a really good grinder,

00:48:48 ◼   ► which you can get a good burr grinder for between $50

00:48:52 ◼   ► and $200, depending on what kind of quality and durability

00:48:56 ◼   ► and heft you want to it.

00:48:59 ◼   ► So get a good grinder, get an AeroPress,

00:49:01 ◼   ► and then just get freshly roasted beans

00:49:02 ◼   ► that are really good.

00:49:04 ◼   ► Well, that last part is not very easy in most places.

00:49:07 ◼   ► Most people don't live right next to a really great roaster.

00:49:12 ◼   ► And even if you live next to a great roaster,

00:49:14 ◼   ► you might not like the way they roast.

00:49:16 ◼   ► You might not like their taste.

00:49:18 ◼   ► Tonks is a really, really great roaster,

00:49:20 ◼   ► and they will ship you with fast shipping,

00:49:25 ◼   ► I believe anywhere in the US.

00:49:26 ◼   ► I don't think they serve outside of the US yet,

00:49:28 ◼   ► but I'll have to double check that.

00:49:30 ◼   ► They will ship you every two weeks,

00:49:33 ◼   ► some amount of coffee, whatever you pick,

00:49:35 ◼   ► either six ounces, 12, or 24.

00:49:38 ◼   ► And they roast it and they ship it out almost immediately,

00:49:42 ◼   ► so by the time it gets to you, it is very, very fresh.

00:49:45 ◼   ► And they pick world-class beans,

00:49:47 ◼   ► they go all over the place trying to find the best beans,

00:49:49 ◼   ► and so every week is different, you get a nice variety.

00:49:52 ◼   ► So you basically don't have to do anything.

00:49:54 ◼   ► You can sign up with Tonks.

00:49:55 ◼   ► Go to tongx.org, T-O-N-X.org/ATP so that they know you came from us.

00:50:03 ◼   ► Just sign up for a trial and you can even get them to send you a trial of their beans.

00:50:08 ◼   ► You can taste how good they are.

00:50:11 ◼   ► This is my answer.

00:50:12 ◼   ► When people say, "What should I get?"

00:50:13 ◼   ► I say, "Get an AeroPress, get the Good Grinder, and just sign up for tongx."

00:50:18 ◼   ► And then you don't have to worry about it.

00:50:19 ◼   ► Then you will just get fresh beans every two weeks and they're just really, really good.

00:50:24 ◼   ► you really can't go wrong with this.

00:50:26 ◼   ► It'll probably be the best coffee you've ever had.

00:50:28 ◼   ► And I've been a Tonks member for a long time.

00:50:32 ◼   ► I currently have paused my subscription

00:50:34 ◼   ► only because I've been self-roasting,

00:50:37 ◼   ► but whenever I can't keep up self-roasting,

00:50:40 ◼   ► I always go back to Tonks, and they are awesome.

00:50:42 ◼   ► I have lots of friends who use them.

00:50:44 ◼   ► They're just fantastic, highly recommended.

00:50:47 ◼   ► They're also having a Father's Day promotion.

00:50:50 ◼   ► It's Tonks' way of honoring the dads among us

00:50:52 ◼   ► new customers only from June 7th through 17th, they're giving away an AeroPress if you sign

00:50:58 ◼   ► up directly for a standard subscription. Everyone signing up will have their first delivery

00:51:03 ◼   ► shipped out on the 17th, and the AeroPress will come shortly after that, depending on

00:51:06 ◼   ► how quickly they can get them. So that's pretty cool. You basically sign up for Tonks and

00:51:12 ◼   ► get a free AeroPress during this Father's Day promotion. So check that out. Go to tonks.org/atp.

00:51:17 ◼   ► That's T-O-N-X dot org slash ATP. Thanks a lot to Tonks for sponsoring the show. Seriously,

00:51:21 ◼   ► Seriously guys, check them out, they're awesome.

00:51:23 ◼   ► Mac Pro or equivalent?

00:51:25 ◼   ► Yes, no, maybe.

00:51:27 ◼   ► Announce the WWDC?

00:51:28 ◼   ► I'd say no.

00:51:29 ◼   ► Are we going to see it this year then?

00:51:31 ◼   ► Yes.

00:51:32 ◼   ► We'll see something this year.

00:51:33 ◼   ► Tim Cook said...

00:51:34 ◼   ► He said...

00:51:35 ◼   ► "No enthusiasm."

00:51:36 ◼   ► Yeah, I'm reading all the stories, I read Marco's thing, like, yeah, I'm prepared to

00:51:43 ◼   ► be.

00:51:44 ◼   ► Like, my judgment for the Mac Pro thing is no matter how well suited it is to my particular

00:51:49 ◼   ► which I know what my needs are, I'll know whether I met them, but regardless of whether

00:51:53 ◼   ► I'm disappointed in it or not, what I want to see from the company, what I think I need

00:51:57 ◼   ► to see from the company is this thing better be faster than all the existing Macs.

00:52:01 ◼   ► That sounds stupid, it's like, "Why would they even make it if it's not--" Seriously,

00:52:04 ◼   ► I want it to be not just like, "Oh, and it's 5% faster than an iMac." No, I want it to

00:52:08 ◼   ► crush the iMac, I want it to be ridiculous, I want it to-- in every way, disk I/O, memory,

00:52:14 ◼   ► You know, CPU speed, number of cores, like everything.

00:52:18 ◼   ► It should just crush all the other Macs

00:52:20 ◼   ► 'cause why even have this product that's not gonna do that?

00:52:22 ◼   ► And if to make something that crushes all the other Macs,

00:52:25 ◼   ► you have to make something with no internal drive bays

00:52:27 ◼   ► that just uses like the equivalent of Marco's crazy

00:52:30 ◼   ► PCI express SSD card or whatever, fine.

00:52:33 ◼   ► Whatever you gotta do to make this thing ridiculously faster

00:52:35 ◼   ► when macro puts up little graphs showing

00:52:37 ◼   ► like how this computer compares,

00:52:39 ◼   ► I don't want to see just a bunch of little lines

00:52:41 ◼   ► looks like your cell phone signal strength, and the last one is a little bit longer. I

00:52:46 ◼   ► want to see the last one be much longer, you know, in every possible way. That's the purpose

00:52:50 ◼   ► of this machine. And I'm not so picky to say like, "Oh, you have to make it exactly to

00:52:54 ◼   ► my needs," because I like cheap internal drives because I'm cheap, so you have to have room

00:52:58 ◼   ► for five internal drives or whatever. If you have to make it with no internal drives and

00:53:02 ◼   ► it's just like a sealed box but it's insanely fast, fine, then do that. So that's my wish

00:53:06 ◼   ► for the Mac Pro at this point. I'm into the bargaining stage.

00:53:09 ◼   ► I think there's a few things to consider here.

00:53:12 ◼   ► You know, one is that when people are thinking about what to do with the Mac Pro and what

00:53:16 ◼   ► the future might hold, people always throw out these weird ideas like, "Oh, you're going

00:53:19 ◼   ► to be able to daisy chain multiple Mac Minis with Thunderbolt and combine all the computing

00:53:24 ◼   ► power."

00:53:25 ◼   ► Like, people have these crazy ideas.

00:53:27 ◼   ► But the fact is--

00:53:28 ◼   ► Like a cell.

00:53:29 ◼   ► Like a cell.

00:53:30 ◼   ► Exactly.

00:53:31 ◼   ► Like I said on the ad hoc progress, you're going to have a cell processor inside your

00:53:33 ◼   ► TV and it'll make your games look better.

00:53:34 ◼   ► Exactly.

00:53:35 ◼   ► Right.

00:53:36 ◼   ► Get back to me on that.

00:53:37 ◼   ► But the reality is the Mac Pro is a Xeon workstation.

00:53:41 ◼   ► It runs stock Intel CPUs on an almost stock Intel motherboard.

00:53:47 ◼   ► There's not a lot of custom Apple low level engineering

00:53:52 ◼   ► going into this.

00:53:53 ◼   ► It's mostly assembling stock Intel parts with stock Intel

00:53:56 ◼   ► chipsets with some modifications for Apple,

00:53:59 ◼   ► but not a whole lot.

00:54:00 ◼   ► And so I think it's very easy to just look

00:54:03 ◼   ► at what Intel has available.

00:54:05 ◼   ► And that will roughly tell us what the possibilities are here,

00:54:10 ◼   ► because that's how the Mac Pro has always worked.

00:54:12 ◼   ► And it doesn't seem like a massively growing industry

00:54:15 ◼   ► for Apple to dump a whole bunch of custom engineering into.

00:54:17 ◼   ► Well, see, like, Intel has custom engineering resources,

00:54:20 ◼   ► too.

00:54:20 ◼   ► Remember back when Larrabee was still going on at Intel?

00:54:24 ◼   ► And the rumors I heard was that Apple was totally into that.

00:54:27 ◼   ► Like, oh, yeah, Intel, you want to take on the GPU world

00:54:30 ◼   ► by making tons of little cheap x86 cores

00:54:32 ◼   ► and making the GPU out of that?

00:54:34 ◼   ► We're all over that because we've got all this OpenCL stuff that we think would work

00:54:38 ◼   ► great with that.

00:54:40 ◼   ► That project came to nothing, but that's an example of where Intel may have this notion

00:54:45 ◼   ► of doing something weird and custom, and Apple would be like, "Yeah, we can do that because

00:54:49 ◼   ► we'll build the machine around this crazy thing."

00:54:51 ◼   ► So I don't think it's inconceivable that Apple could come up with a machine that uses some

00:54:55 ◼   ► crazy thing that Intel made, and it's like a collaboration where no one else was telling

00:55:00 ◼   ► Intel, we want this crazy thing because the rest of the industry does want just give us

00:55:03 ◼   ► CPUs, give us chipsets, we'll put them into our servers, we'll sell them like they just

00:55:07 ◼   ► want straight up stuff. But Apple has an appetite, or used to have an appetite anyway, for weird

00:55:12 ◼   ► stuff. Even like on the MacBook Air, can you make us like a weird shrunken version of whatever

00:55:15 ◼   ► that Core 2 Duo was? Because without this weird shrunken version, we can't make the

00:55:20 ◼   ► original MacBook Air.

00:55:21 ◼   ► But even that was just a custom package though. It wasn't that much work.

00:55:25 ◼   ► I mean, Larrabee was a project Intel was doing, you know, it wasn't like they were doing it

00:55:28 ◼   ► because of Apple.

00:55:29 ◼   ► Like, they had their own reasons to do it, but Apple saw it and said, you know, we can

00:55:32 ◼   ► make a machine around that.

00:55:33 ◼   ► And so apparently the reminder was that Apple had them in the labs and they were fiddling

00:55:36 ◼   ► around with it.

00:55:37 ◼   ► It was the time they were making OpenCL, I think, which is a great fit for that, so they'd

00:55:40 ◼   ► work on the drivers, see how it's going to work out.

00:55:43 ◼   ► Had that come to fruition, it would have produced a very interesting machine.

00:55:46 ◼   ► And I think there's still room for that kind of collaboration where I don't think it's

00:55:49 ◼   ► out of the question that Intel could want to make something independently of Apple.

00:55:55 ◼   ► bring it to Apple and Apple be excited by it and say we can make a machine around that.

00:55:58 ◼   ► And you know, we're all looking for some crazy conspiracy theory of why has it been three

00:56:01 ◼   ► years ago.

00:56:02 ◼   ► We got this great thing, you really like it.

00:56:04 ◼   ► Is it because they couldn't decide for two and a half years and in the last six months

00:56:07 ◼   ► they slapped something together?

00:56:08 ◼   ► That's a possibility.

00:56:09 ◼   ► The other possibility is they're working on something weird and crazy and it took this

00:56:12 ◼   ► long for it to come out because Intel's thing was late or whatever.

00:56:16 ◼   ► Like we don't know at this point, but I would be perfectly happy with Apple trying to do

00:56:21 ◼   ► something daring in cooperation with Intel.

00:56:24 ◼   ► I don't think it's out of the question for us to see something that's weird, but you're right.

00:56:27 ◼   ► It would much more likely at this point, as I just said to Lex today, at this point,

00:56:33 ◼   ► even the stupid boring thing of just taking Intel's legacy on sticking it in a box and selling it to

00:56:37 ◼   ► us, like that would be fine. Well, that's all people wanted last year. Like when we were all

00:56:42 ◼   ► upset, that's all we want to just take the new CPUs and do it, give an update like you always have.

00:56:46 ◼   ► Yeah. Like we're not like the super boring obvious thing at this point would just be like,

00:56:51 ◼   ► "That's great! Yes! Fine! Go with that!" But I still like to think, in the absence of any actual product, this is our last chance to fantasize about something really weird and interesting.

00:57:02 ◼   ► Well, and I think it's worth considering, you know, they skipped a generation for some reason. There was something that made it worth skipping a generation.

00:57:12 ◼   ► And maybe it was Intel's weird stuff.

00:57:14 ◼   ► Well, I mean, come on, probably not.

00:57:17 ◼   ► Maybe it was like Intel's weird stuff with Thunderbolt

00:57:19 ◼   ► and the Xeon chipsets, because like they couldn't,

00:57:22 ◼   ► last year, there was some good stuff on AnandTech

00:57:25 ◼   ► about this where like basically last year,

00:57:28 ◼   ► that server chipset, there was no good way

00:57:30 ◼   ► to put Thunderbolt on it.

00:57:31 ◼   ► And there still kind of isn't a good way

00:57:32 ◼   ► to put Thunderbolt on a Xeon board

00:57:35 ◼   ► that has a PCI express GPU on a card.

00:57:39 ◼   ► Like there's still no way to route the video through it

00:57:41 ◼   ► something like that. There's some relatively minor problem that prevents

00:57:45 ◼   ► Thunderbolt from working the way it should on a board that has a slotted

00:57:49 ◼   ► video card. Well that also means they couldn't convince Intel to like, "Can you

00:57:52 ◼   ► just fix that for us? Like I know we're the only customer who wants it, but could you just do

00:57:55 ◼   ► that for us?" And like the answer for the volumes of the Mac Pro from Intel is

00:57:58 ◼   ► probably like, "Yeah, no." Right, because they don't sell enough for them to make it.

00:58:02 ◼   ► So this is what has me interested but concerned is that it does seem

00:58:08 ◼   ► like, from what we're hearing, even from what Apple has said,

00:58:14 ◼   ► it seems like this isn't just, oh, we skipped one Xeon

00:58:17 ◼   ► generation, and then the next generation, which

00:58:19 ◼   ► is going to be this fall, we're just

00:58:21 ◼   ► going to update the CPUs and call it a day.

00:58:24 ◼   ► This sounds like they're going to be

00:58:26 ◼   ► doing a more significant change than that,

00:58:29 ◼   ► but I'm kind of worried as to what that change might be.

00:58:31 ◼   ► And I think-- so, OK, so my thesis earlier on

00:58:36 ◼   ► has always been like, and I linked to this in the post,

00:58:38 ◼   ► like if you try to scale down the Mac Pro,

00:58:41 ◼   ► if you try to remove any part of it that currently makes it

00:58:44 ◼   ► big and beefy and expensive, say you switch to consumer CPUs.

00:58:48 ◼   ► That's usually the one that geeks say you should do.

00:58:50 ◼   ► Oh, just switch to Ivy Bridge, Haswell,

00:58:52 ◼   ► switch to whatever desktop CPU family is current.

00:58:56 ◼   ► And then that'll make it way cheaper,

00:58:58 ◼   ► and then you can make it small and everything.

00:58:59 ◼   ► And all those things are true.

00:59:00 ◼   ► But then if you go away from Xeons

00:59:03 ◼   ► and you go to the desktop CPUs, then you

00:59:05 ◼   ► you have way fewer RAM slots, a lower RAM ceiling,

00:59:08 ◼   ► no support for ECC.

00:59:10 ◼   ► So you have slightly more chances

00:59:12 ◼   ► of things going a little bit wacky, especially later on

00:59:14 ◼   ► in life.

00:59:17 ◼   ► And so it wrecks some things.

00:59:19 ◼   ► If you--

00:59:20 ◼   ► If you have fewer cores and smaller amounts of cache

00:59:22 ◼   ► in the past, too.

00:59:23 ◼   ► Right.

00:59:24 ◼   ► And video editors who-- or scientific computing-- people

00:59:29 ◼   ► who actually buy today's dual-socket Mac Pros for like

00:59:33 ◼   ► five grand and up, if you cut the socket count in half,

00:59:37 ◼   ► you cut the performance of parallelizable tasks in half.

00:59:40 ◼   ► And to most of us, like me and you, it doesn't really matter.

00:59:44 ◼   ► My current one is the single socket six core, because that just made the most sense when I bought it.

00:59:48 ◼   ► But for a lot of people,

00:59:52 ◼   ► they don't want to give up a socket. They would buy a four socket model

00:59:56 ◼   ► if it was available, because it actually matters a lot to them

01:00:00 ◼   ► if something renders in half the time. And so that's not to be taken lightly to just remove half the cores out of one of these computers,

01:00:06 ◼   ► and then it also affects the RAM limit and stuff like that. So there's other problems with that.

01:00:12 ◼   ► Then there's people who say, "Oh, you should remove the card slots." Well, that ruins a lot of different things in small ways.

01:00:20 ◼   ► It ruins people who want to have more than one GPU to have a bunch of monitors. And that's surprisingly common, actually.

01:00:28 ◼   ► And yeah, you can say, oh, you can use Thunderbolt to daisy chain.

01:00:30 ◼   ► Well, then you're adding hacks, and that's more limited,

01:00:32 ◼   ► and stuff like that.

01:00:33 ◼   ► And you can't use half your monitors that exist in the world

01:00:36 ◼   ► and stuff like that.

01:00:36 ◼   ► So there's all these edge cases with the Mac Pro.

01:00:40 ◼   ► And you said this before.

01:00:41 ◼   ► There are so many edge cases of every other Apple computer

01:00:46 ◼   ► says no in some way.

01:00:48 ◼   ► No, you can't have this.

01:00:49 ◼   ► No, you can't expand this.

01:00:50 ◼   ► No, this is limited to this.

01:00:51 ◼   ► The Mac Pro only says no to affordability and size

01:00:56 ◼   ► constraints.

01:00:57 ◼   ► And power usage.

01:00:59 ◼   ► Right, but it's like the Mac Pro basically covers

01:01:02 ◼   ► all of the edge cases in one computer.

01:01:04 ◼   ► And if you changed any of its fundamental attributes,

01:01:09 ◼   ► you would cut off a large slice of those edge cases.

01:01:13 ◼   ► And there's certain things like you

01:01:16 ◼   ► can't make it cheaper without not using Xeons anymore,

01:01:19 ◼   ► but then that breaks into things.

01:01:20 ◼   ► You can't really make it smaller without removing some card

01:01:24 ◼   ► support or removing a bunch of beige,

01:01:26 ◼   ► but that's the reason why people buy these things.

01:01:28 ◼   ► And if you make it a lot smaller,

01:01:29 ◼   ► then you're still running hot chips,

01:01:31 ◼   ► so you'll need different fans,

01:01:32 ◼   ► and they might be louder.

01:01:33 ◼   ► There's all these trade-offs that make you realize

01:01:37 ◼   ► that the Mac Pro today is the way it is

01:01:40 ◼   ► for really good reasons.

01:01:42 ◼   ► And that if you dramatically change something about it,

01:01:45 ◼   ► you're gonna anger a lot of people,

01:01:47 ◼   ► or you're gonna make it suddenly not be possible

01:01:51 ◼   ► for a lot of people to use it

01:01:52 ◼   ► for what they need to do anymore.

01:01:54 ◼   ► I don't know why this bit of information

01:01:57 ◼   ► has not seemed to penetrate the fanboy community,

01:01:59 ◼   ► but I was surprised by the fact that you wrote this

01:02:02 ◼   ► into your article again today and had people respond

01:02:04 ◼   ► on Twitter, like the fact that you can't have high-end GPUs

01:02:07 ◼   ► hanging off of Thunderbolt.

01:02:08 ◼   ► Like we're going to go completely through the Thunderbolt

01:02:11 ◼   ► 1 error with that never dying.

01:02:14 ◼   ► In every single form, it's like, oh, don't worry.

01:02:16 ◼   ► It'll just be a bunch of boxes connected by Thunderbolt.

01:02:18 ◼   ► And someone will say, oh, you can't have a high-end video

01:02:20 ◼   ► card in there.

01:02:21 ◼   ► Why?

01:02:21 ◼   ► And it seems like that piece of wisdom

01:02:25 ◼   ► should have eventually penetrated the community.

01:02:28 ◼   ► But that's a nonstarter, the daisy chain type box thing.

01:02:31 ◼   ► Like, there are some things you can externalize in daisy chain.

01:02:34 ◼   ► The gimme one is optical, right?

01:02:36 ◼   ► Optical slow, that could have been outside the computer

01:02:38 ◼   ► forever.

01:02:39 ◼   ► Guarantee the next Mac Pro is not

01:02:40 ◼   ► going to have my optical inside it,

01:02:42 ◼   ► unless the case continues to be huge, in which case,

01:02:45 ◼   ► we'll fine put them in there, because whatever.

01:02:46 ◼   ► But you can externalize an optical,

01:02:49 ◼   ► and you have not lost anything.

01:02:51 ◼   ► because optical are so cheap and they're so slow,

01:02:54 ◼   ► there's no problem with the buses or anything like that.

01:02:56 ◼   ► But almost everything else you externalize,

01:02:58 ◼   ► you lose something.

01:02:59 ◼   ► Externalizing video cards, well,

01:03:01 ◼   ► you can't do it with current Thunderbolt.

01:03:02 ◼   ► Even with the new Thunderbolt,

01:03:03 ◼   ► I don't think it's fastest like whatever the 16x PCI

01:03:07 ◼   ► express lines, maybe it would be able to do that,

01:03:09 ◼   ► I don't know, but certainly not with existing Thunderbolt,

01:03:10 ◼   ► you just can't, right?

01:03:12 ◼   ► Externalizing drives, well, you can go to eSATA.

01:03:15 ◼   ► Do they have six gigabit eSATA?

01:03:17 ◼   ► They probably do.

01:03:18 ◼   ► - But I think so.

01:03:19 ◼   ► But that's like, you need some sort of enclosure

01:03:21 ◼   ► and you have these things dangling around.

01:03:23 ◼   ► - And you have like a desk covered in wires and enclosures

01:03:26 ◼   ► and power bricks and all these,

01:03:27 ◼   ► like you have a million different things

01:03:28 ◼   ► all over your desk.

01:03:29 ◼   ► - And it's more expensive if you,

01:03:30 ◼   ► oh, I'm gonna use Thunderbolt home external drives.

01:03:32 ◼   ► That's fast.

01:03:33 ◼   ► Well, you know, good luck finding,

01:03:36 ◼   ► you can buy a drive mechanism

01:03:37 ◼   ► or you could buy like one eighth

01:03:39 ◼   ► of an external Thunderbolt drive.

01:03:41 ◼   ► - Right, you can buy like an empty Thunderbolt enclosure

01:03:43 ◼   ► for like $200 or something.

01:03:45 ◼   ► - Twice the price of the actual drive, right?

01:03:47 ◼   ► And you know, video cards, you know, like I said,

01:03:49 ◼   ► You can't externalize those.

01:03:50 ◼   ► And the CPU sockets, you're not going

01:03:53 ◼   ► to have one of those in another box.

01:03:54 ◼   ► I think once they come up with the new interconnects,

01:03:57 ◼   ► like Thunderbolt, everything will

01:03:58 ◼   ► be connected by Thunderbolt. The second CPU

01:03:59 ◼   ► will be a Thunderbolt cable away.

01:04:01 ◼   ► No, it's not magic.

01:04:02 ◼   ► It's just a bus.

01:04:03 ◼   ► And there's only limited bandwidth.

01:04:04 ◼   ► And you can't-- right?

01:04:05 ◼   ► And so maybe someday we will get to that modular point.

01:04:08 ◼   ► But we're definitely not there yet.

01:04:11 ◼   ► And even if we were, what would be the motivation

01:04:14 ◼   ► for the modularization in that way?

01:04:15 ◼   ► Because it would just create a big, hairy mess.

01:04:17 ◼   ► And Apple's not the company that wants

01:04:19 ◼   ► 800 boxes, unless they could be connected wirelessly or something.

01:04:23 ◼   ► We still have power adapters everywhere.

01:04:25 ◼   ► Fast forward 25 years and maybe we'll have a bunch of Mac Mini-like things that all talk to each other

01:04:29 ◼   ► and provide a magical computing experience, but we're not there yet.

01:04:33 ◼   ► So, I don't know what this new Mac Pro is going to be.

01:04:37 ◼   ► Well, the other thing too is if they're going to make any of these dramatic changes to the Mac Pro,

01:04:41 ◼   ► what's in it for them and what's in it for us?

01:04:45 ◼   ► Who's demanding these changes?

01:04:47 ◼   ► Mac Pro owners, we already keep the computer on the floor next to our desk or under our desk.

01:04:52 ◼   ► We don't really need it to be much smaller.

01:04:55 ◼   ► I don't really care what size it is because I don't see it. It's under my desk.

01:04:59 ◼   ► Size is not really that important. Power usage is not that important either.

01:05:04 ◼   ► It's plugged into the wall, and electricity in most places where you could afford a Mac Pro is not that expensive.

01:05:10 ◼   ► And these are computers made for people who are doing important things with them and doing

01:05:17 ◼   ► demanding things.

01:05:20 ◼   ► Is there really that much demand to shrink it or to make it cooler running or anything

01:05:26 ◼   ► like that?

01:05:27 ◼   ► I just don't see it.

01:05:28 ◼   ► And so obviously, if they're going to make something dramatically different, that sounds

01:05:34 ◼   ► for the most part, if it really is going to be dramatically different, it sounds like

01:05:38 ◼   ► for existing Mac Pro fans, it's going to be significantly

01:05:40 ◼   ► worse in some way.

01:05:42 ◼   ► So the question is, is there going to be something better

01:05:45 ◼   ► to make up for that?

01:05:46 ◼   ► 'Cause Apple, what they're saying, you know,

01:05:48 ◼   ► Tim Cook said, "Oh, you'll be very pleased by it next year."

01:05:51 ◼   ► And then that thing I linked to today,

01:05:52 ◼   ► the guy said, "You're going to be so happy you waited."

01:05:56 ◼   ► It seems like Apple is really happy with this.

01:05:59 ◼   ► Apple's really saying, "This is awesome."

01:06:00 ◼   ► And I have to wonder--

01:06:01 ◼   ► - Don't you disbelieve them when they say that?

01:06:03 ◼   ► Like, "I'm not going to be happy with it."

01:06:04 ◼   ► As soon as you say that, it makes me know

01:06:05 ◼   ► that I'm not going to be happy with it.

01:06:06 ◼   ► - Well, I'm suspicious.

01:06:07 ◼   ► Because we now believe that the people in charge of deciding anything about the Mac

01:06:13 ◼   ► Pro do not have our interests at heart because they've left us out in the cold for three

01:06:16 ◼   ► years.

01:06:17 ◼   ► So now we've already decided, if you cared about my needs, we would not be in this situation.

01:06:22 ◼   ► So clearly you don't.

01:06:23 ◼   ► And this is kind of like how the Final Cut Pro people felt.

01:06:26 ◼   ► They're like, "I think you're going to love the new Final Cut Pro," and they're like,

01:06:29 ◼   ► "I can't get my work done because you didn't support X, Y, and Z. And even though you think

01:06:32 ◼   ► we shouldn't be using whatever that stupid file format was that Apple didn't want to

01:06:35 ◼   ► of support. I actually needed to do my work. So screw you. Apple did eventually have to

01:06:40 ◼   ► go back and add support for that, whatever that thing was that I can't remember the name

01:06:43 ◼   ► of. That was the type of thing where Apple was totally on board. And I was mostly on

01:06:48 ◼   ► board with it as a non-video editor saying, "Yeah, someone's got to drive this stuff forward.

01:06:52 ◼   ► But if you just need to get your work done and Apple comes out with a new version of

01:06:55 ◼   ► Final Cut Pro, it's like a non-starter for you. That's great, Apple, but I can't use

01:06:59 ◼   ► that program. You have made something that's not good for me." But Apple was telling those

01:07:02 ◼   ► people, we think you're really gonna love it."

01:07:04 ◼   ► Like if they had told before Final Cut Pro X came out, they were like, "You guys, man,

01:07:08 ◼   ► just trust me, the next version of Final Cut Pro, you're just gonna love it.

01:07:11 ◼   ► It's gonna be awesome."

01:07:12 ◼   ► And Apple, I think, probably really believed that.

01:07:15 ◼   ► And it arrived, and those people did not love it.

01:07:18 ◼   ► Right or wrong, they said they were wrong to not love it, or they, you know, it doesn't

01:07:22 ◼   ► matter who's right or wrong.

01:07:23 ◼   ► The fact is that Apple told those people, "You are gonna love this program," and they

01:07:27 ◼   ► didn't love it.

01:07:28 ◼   ► And so I feel like we're exactly in that situation where Apple's telling us we're gonna love

01:07:31 ◼   ► it and we're not. We're just not. We may be wrong. It may be that, "Oh, you should love

01:07:37 ◼   ► it because that's the future." Maybe it is the future, but I just don't feel like we're

01:07:40 ◼   ► going to love it.

01:07:41 ◼   ► Yeah, and I think Final Cut Pro X, you hope at least, I hope at least, I hope that Apple

01:07:49 ◼   ► learned from that, that their arrogance of saying, "We're going to take things away and

01:07:55 ◼   ► you're going to like the result better because we think it's better," that has worked a lot

01:08:00 ◼   ► of the time. And a lot of times they're right. But that only works to a point, and at some

01:08:06 ◼   ► point you cross the line and you just anger people, or you make it so that you can't do

01:08:11 ◼   ► your work anymore.

01:08:12 ◼   ► It only works if you can do like, "We don't care about existing customers. This is going

01:08:17 ◼   ► to be better for new customers. New customers are the future. There's more of them." If

01:08:21 ◼   ► that's true, you're fine. If it's not true, all you're left with is your old customers

01:08:24 ◼   ► who are pissed at you.

01:08:26 ◼   ► And so I feel like the Mac Pro, it's a similar market.

01:08:31 ◼   ► In many ways, it overlaps the market of people who use Final Cut.

01:08:36 ◼   ► And I worry, I'm reassured that I hope Apple learn from Final Cut Pro 10

01:08:41 ◼   ► and from it being relatively a debacle and costing them a lot of customers, I think.

01:08:46 ◼   ► But also, so the Mac Pro, it's a lot of the same people with a lot of the same problems,

01:08:51 ◼   ► of the same people with a lot of the same problems. And it's a very similar situation

01:08:56 ◼   ► where if Apple dramatically changes this in some way they think is better, it better really

01:09:01 ◼   ► be better in the customer's eyes. Otherwise, a lot of people are going to be angry.

01:09:06 ◼   ► And it's going to be, you know, Apple can tolerate losing some small

01:09:11 ◼   ► percentage of an audience, you're right, to gain a bigger one. But the Mac Pro, like the only people

01:09:16 ◼   ► buy this thing are people who are needy and picky like us or like professionals who do

01:09:22 ◼   ► video editing and stuff like that. Those are the people who buy these things. This is not

01:09:26 ◼   ► a mass market product. It's a lot like the enterprise computing market. You can be that

01:09:31 ◼   ► aggressive with removing features and changing things around in the consumer market. But

01:09:35 ◼   ► once you get into things that people need to do with their jobs, our needs are a lot

01:09:39 ◼   ► less flexible. And so when you start messing with things, you run a much bigger risk. And

01:09:46 ◼   ► And I hope they learned from that, but I don't know if they did.

01:09:49 ◼   ► I want to reiterate, though, that I really do believe that Final Cut Pro X was the correct

01:09:54 ◼   ► move and it is better than the old one.

01:09:55 ◼   ► It's just the transition period that's difficult.

01:09:57 ◼   ► And that's why I said before that I will actually be okay with them producing something new

01:10:04 ◼   ► that does not satisfy the needs of existing customers, provided the reason they did it

01:10:09 ◼   ► was because we decided that if we totally ignore the needs of existing customers and

01:10:14 ◼   ► and went off in this new direction, we can make a computer that is dramatically more

01:10:18 ◼   ► powerful dramatically faster.

01:10:19 ◼   ► In the same way that Apple believed, and I think is actually the case, that Final Cut

01:10:23 ◼   ► Pro, by leaving behind all that legacy cruft, lets them do things they would not be able

01:10:28 ◼   ► to do.

01:10:29 ◼   ► Like the demo that they gave of Final Cut Pro X, as someone who is not a professional

01:10:32 ◼   ► video editor, I watched that and I'd used the old version of Final Cut.

01:10:35 ◼   ► And I said, "Wow, this new version is much better," for the reasons that they stated

01:10:38 ◼   ► that it is.

01:10:39 ◼   ► It's just the people who needed to get their job done that were pissed off, right?

01:10:42 ◼   ► So I'm willing to say, fine, you're gonna make a machine

01:10:44 ◼   ► that is unsuitable according to my current leads,

01:10:46 ◼   ► that is unsuitable for a large number

01:10:48 ◼   ► of current Mac Pro customers,

01:10:49 ◼   ► but it's like super awesomely fast

01:10:52 ◼   ► and you can do amazing things that you could never do,

01:10:54 ◼   ► like if they traded it for something, right?

01:10:57 ◼   ► And I feel like in Final Cut Pro,

01:10:57 ◼   ► they did trade it for something.

01:10:58 ◼   ► They traded a program that their existing customers

01:11:01 ◼   ► would like for a better way to edit video.

01:11:04 ◼   ► That may have been a dumb trade business-wise or whatever,

01:11:06 ◼   ► but I think like time is on their side

01:11:08 ◼   ► with that type of transition,

01:11:09 ◼   ► assuming they continue to develop the product.

01:11:11 ◼   ► And I'm okay with that with the Mac Pro.

01:11:13 ◼   ► What I don't want to see is them trade away all the stuff

01:11:16 ◼   ► their existing customers want,

01:11:17 ◼   ► and just give me like a monitor-less iMac.

01:11:19 ◼   ► And then I'd be like, screw you, like who cares?

01:11:21 ◼   ► Like, you know, it's like a faster Mac Mini,

01:11:24 ◼   ► or Mac Mini with a good GPU in it.

01:11:26 ◼   ► Like that is just helping nobody, right?

01:11:29 ◼   ► So Final Cut Pro, even though I just slammed it,

01:11:31 ◼   ► I think is an example of them doing the right thing

01:11:34 ◼   ► and getting punished for it by their existing customers.

01:11:39 ◼   ► But like, it's much easier to fix software

01:11:41 ◼   ► you shiver. They went back to Final Cut Pro X and they said, "Okay, I think it was edit

01:11:44 ◼   ► decision list. So you need support for that? Okay, we'll put it in. All right, so you need

01:11:48 ◼   ► this? Okay, we'll put it in." They did go back, but you cannot release a point release

01:11:55 ◼   ► that includes more PCI slots. So I don't know what they're going to—it's much harder

01:11:59 ◼   ► when it comes to hardware.

01:12:00 ◼   ► Yeah, I'm a little worried. What do you think about the retina possibility?

01:12:07 ◼   ► I think you were right that it sure looks like it's borderline.

01:12:11 ◼   ► Like maybe you could squeeze it in this year and maybe it would be like you could just

01:12:16 ◼   ► barely get it under the wire, but it would sure be better to wait until next year, right?

01:12:21 ◼   ► I'm thinking from the panel point of view, Apple obviously has really good connections

01:12:27 ◼   ► to the panel manufacturers and can get things before everybody else.

01:12:31 ◼   ► You can look at the original 27-inch iMac for an example of that.

01:12:34 ◼   ► And when the 27-inch iMac first came out, and it had the same horizontal resolution

01:12:39 ◼   ► as the 30-inch monitor, and cost a few hundred dollars less, I believe, right?

01:12:46 ◼   ► Or like $200 more?

01:12:47 ◼   ► Yeah, it was much cheaper, but it had lower res, and 30-inch fans were pissed at that.

01:12:51 ◼   ► But it only cut off a little bit off the bottom.

01:12:53 ◼   ► It went from $1610 to $1690.

01:12:55 ◼   ► And so, you know, it was this panel that—

01:12:59 ◼   ► No, 30-inch was $2500-something.

01:13:02 ◼   ► something 2560 by 1600 versus 2560 by 1440 no the current 27 inches 1920 by 1200 isn't it no

01:13:10 ◼   ► what the hell you're a size off that's the 21 anyway so when this thing came out it had like

01:13:17 ◼   ► the same resolution roughly a very close resolution as the 30 inch monitor that actually cost

01:13:22 ◼   ► almost the same amount as the entire iMac it was it was like you were buying this awesome monitor

01:13:27 ◼   ► and getting a free computer to loot the back of it.

01:13:30 ◼   ► That was glossy, too.

01:13:31 ◼   ► Yeah.

01:13:34 ◼   ► Never forget, Matt displays forever, right?

01:13:36 ◼   ► And so at the time, it seemed impossible.

01:13:41 ◼   ► People like me who were geeks about this stuff

01:13:43 ◼   ► were like, how can Apple afford to put this ridiculously

01:13:46 ◼   ► expensive panel in a computer that only costs that much?

01:13:50 ◼   ► And it turned out that they had a good deal

01:13:53 ◼   ► with the manufacturers.

01:13:54 ◼   ► They were the first ones to get a panel of those specs.

01:13:57 ◼   ► and in that size, and they got a really great price

01:14:01 ◼   ► on it for a while, and that's how they were able to do it.

01:14:04 ◼   ► And so, today it comes, or the other day it came out that,

01:14:09 ◼   ► who was it, ASUS, somebody had a--

01:14:11 ◼   ► - ASUS, not ASUS.

01:14:12 ◼   ► - ASUS had a 31.5 inch 4K panel,

01:14:14 ◼   ► which is 3840 by something.

01:14:17 ◼   ► And at my sitting resolution, that is officially retina

01:14:22 ◼   ► by Steve Jobs' old definition of it.

01:14:24 ◼   ► so, at my sitting distance rather, and so, you know, a retina 4K panel now exists, and

01:14:32 ◼   ► they say the price for ASUS's monitor is going to be like $4,000.

01:14:36 ◼   ► Well, what if Apple, excuse me, what if Apple has some really good deal with somebody to

01:14:41 ◼   ► make similar panels, to make them 4K panels, and what if they can sell it for $3,000?

01:14:46 ◼   ► Well, I do think it's much harder to get that deal when you don't put it in an iMac,

01:14:50 ◼   ► though, because if you just put it in the Mac Pro, not that I'm saying they wouldn't

01:14:53 ◼   ► do it because they can't get a great deal on it or whatever because they have no problem

01:14:56 ◼   ► charging obscene amounts for a big monitor.

01:14:58 ◼   ► Like, look, the original price for the 30-inch was outrageous.

01:15:00 ◼   ► Right, wasn't it $3,500?

01:15:01 ◼   ► Yeah, it was outrageous.

01:15:02 ◼   ► So I don't think it's a hardware limitation, and I don't even think it's because they can't

01:15:08 ◼   ► get a good deal on them.

01:15:10 ◼   ► I worry about how balanced the machine would be with that high a resolution.

01:15:16 ◼   ► I mean, I guess if you had-- fine with the Mac Pro is you're going to have a really big,

01:15:20 ◼   ► hopefully, a really big powerful GPU in there.

01:15:22 ◼   ► But if the Mac Pro is the only machine you can hook up that monitor to, then I feel like

01:15:27 ◼   ► people with laptops would be like, "Hey, can I buy that monitor?"

01:15:29 ◼   ► But no, you can't drive it from your laptop.

01:15:32 ◼   ► And it's like you said in the thing, it would make more sense economy of scale-wise to just

01:15:37 ◼   ► wait until all of Apple's line of computers can drive this monitor.

01:15:43 ◼   ► And then just by then it would be cheaper anyway naturally and then bring it out then.

01:15:48 ◼   ► It comes down to the reason I'm doubting is because Apple's just shown so little interest

01:15:53 ◼   ► in the super high end, why would they even bother to put out a monitor that only a Mac

01:15:58 ◼   ► Pro can run?

01:16:00 ◼   ► They're not even updating the computer for three years, and suddenly they're going to

01:16:02 ◼   ► give it its very own special monitor for an entire year that no one else can use in the

01:16:06 ◼   ► entire product line.

01:16:08 ◼   ► Even if they charge five grand for that monitor, that just doesn't seem like the kind of thing

01:16:11 ◼   ► that Apple does these days.

01:16:12 ◼   ► But then again, the Mac Pro doesn't seem like the kind of thing that Apple does these days.

01:16:15 ◼   ► So we're just in this, it's hard to envision in this period of time here,

01:16:18 ◼   ► we are without an update for the Mac Pro and forever that we're going to get both

01:16:22 ◼   ► the new Mac Pro and a fancy new awesome monitor that only the Mac Pro can then

01:16:27 ◼   ► provide like that would be a hell of a turnaround, don't you think?

01:16:29 ◼   ► Well, it could, but also, you know, you know, what if, what if this is part of

01:16:34 ◼   ► the new Apple under Tim Cook, where they start caring about the high end more,

01:16:37 ◼   ► because the high end is very profitable.

01:16:39 ◼   ► It's, it's very low units, but it's very profitable per unit.

01:16:44 ◼   ► Plus, they just want to make you happy.

01:16:45 ◼   ► I mean, really, that's what it boils down to.

01:16:47 ◼   ► They just want John happy.

01:16:48 ◼   ► - I point to the Finder and the file system

01:16:50 ◼   ► as examples of how they do not want to make me happy.

01:16:53 ◼   ► They don't care.

01:16:54 ◼   ► - Oh my God.

01:16:55 ◼   ► - I think if you look at, assuming Haswell laptops

01:16:59 ◼   ► come out next week, I think you're right

01:17:01 ◼   ► that it would be really a stretch for them

01:17:04 ◼   ► to release a monitor that only worked with Mac Pros.

01:17:08 ◼   ► That would definitely be a big stretch.

01:17:10 ◼   ► I think there's two interesting possibilities here.

01:17:13 ◼   ► One is, what if the Haswell laptops can output 4K?

01:17:18 ◼   ► What if they actually can output these monitors?

01:17:20 ◼   ► And it's either not talked about or--

01:17:23 ◼   ► - No, they can.

01:17:24 ◼   ► Even the integrated GPU can drive 4K, can it?

01:17:26 ◼   ► - Yeah, it's basically an issue of the internet.

01:17:28 ◼   ► It's like you can use DisplayPort 1.2

01:17:30 ◼   ► or you can use Thunderbolt 2.0, which isn't ready yet.

01:17:32 ◼   ► - But I worry like, okay, can drive it

01:17:35 ◼   ► versus like can drive it and still scroll things

01:17:38 ◼   ► at a recent, you know what I mean?

01:17:39 ◼   ► Like it's kind of like the current,

01:17:40 ◼   ► the current, when they have to render the off-screen thing to be larger than native

01:17:44 ◼   ► resin scale and stuff like that, that off-screen is really pushing the limit of the current

01:17:49 ◼   ► integrated GPU. And is that like, I've always felt like that's not, if I spend...

01:17:52 ◼   ► Yeah, but you know what? The 15 inches biggest off-screen is 4K.

01:17:59 ◼   ► When you put it in the simulated 1920 mode, that's, it's almost exactly 4K, if not exactly.

01:18:05 ◼   ► So it can already kind of do it. Yeah, I'm thinking of like, if you spend

01:18:10 ◼   ► the amount of money you're going to spend on the high-end thing, you don't want it to

01:18:13 ◼   ► scroll jerkily because you feel like, "All right, fine, if I'm doing something taxing, it's okay to get a little stuttery."

01:18:19 ◼   ► But the whole reason I'm buying this expensive thing is everything else has to be like butter, and any experience that isn't, you know.

01:18:24 ◼   ► So I guess you're right. If that off-screen, I didn't ever look at the actual rest thing. If the current off-screen is

01:18:30 ◼   ► similar to 4K, then maybe it can drive it, and it's just a question of the interconnect.

01:18:35 ◼   ► And

01:18:37 ◼   ► They could do all sorts that's why everyone thinks it was come to the Mac Pro because with you know

01:18:41 ◼   ► Thunderbolt 2 or the rebadged Thunderbolt 2 hadn't been officially announced yet

01:18:45 ◼   ► So everyone's like well, how is Apple going to drive these external displays and people would come up with scenarios of well

01:18:51 ◼   ► Apple could do some crazy custom thing because Apple is Apple and they only have to support what they have to support and

01:18:57 ◼   ► So what you buy the Apple monitor you hook it up to the Apple Mac Pro replacement and it runs 4k, right?

01:19:03 ◼   ► But with Thunderbolt 2, my understanding is that all Thunderbolt 2 is, my understanding

01:19:08 ◼   ► from a single tweet from a cranky person, is that all they let you do is take the two

01:19:11 ◼   ► 10 gigabit links and gang them together so you have a single 20 gigabit link.

01:19:16 ◼   ► Oh, that's all it is?

01:19:17 ◼   ► And that's why it's 2X as fast.

01:19:19 ◼   ► Instead of having two bidirectional 10 gigabits, you have one bidirectional 20 gigabit thing.

01:19:24 ◼   ► Oh, that's not true.

01:19:25 ◼   ► I mean, again, the sourcing for that is a single tweet, so it's 140 characters of non-research,

01:19:30 ◼   ► so feel free to email me and tell me that is not the case.

01:19:32 ◼   ► But not that you know if it drives a display drives display. What do you care? But uh

01:19:36 ◼   ► Yeah, well, so the I think the other interesting possibility though, is that what if this crazy cool new thing is

01:19:44 ◼   ► a retina iMac

01:19:46 ◼   ► That's positioned at the very high end and maybe has you know more RAM slots or two hardware base or something like that

01:19:52 ◼   ► Yeah, that was the other one

01:19:53 ◼   ► You don't have to worry about driving it over Thunderbolt because it'll be in the same case right thing

01:19:57 ◼   ► But then what because you know

01:19:58 ◼   ► - But the reason why you can't get one of these panels

01:20:01 ◼   ► into the existing iMacs, presumably,

01:20:03 ◼   ► is mostly because of cost concerns.

01:20:05 ◼   ► That the iMac is not a very expensive computer,

01:20:08 ◼   ► even at the high end, it's still,

01:20:10 ◼   ► there's not a whole lot of room there

01:20:13 ◼   ► to charge an extra grand for an iMac

01:20:16 ◼   ► in the current lineup with the current specs and buyers.

01:20:20 ◼   ► But if the next Mac Pro solution for pro buyers

01:20:26 ◼   ► is just an iMac that has some amped up specs

01:20:29 ◼   ► and maybe a little, maybe like one or two extra drive bays

01:20:31 ◼   ► in it where you take the whole butt of it off

01:20:35 ◼   ► and somehow shove a drive in there.

01:20:36 ◼   ► God, taking part in iMacs is awful.

01:20:39 ◼   ► But if you, if they somehow address it with a modified iMac,

01:20:44 ◼   ► and I'm picturing this being not just looking exactly

01:20:49 ◼   ► like the 27 inch but with a higher resolution screen,

01:20:51 ◼   ► I'm picturing it being like larger, thicker,

01:20:54 ◼   ► bigger and more substantially different

01:20:58 ◼   ► from the current iMac, but not as big and beefy as a Mac Pro.

01:21:01 ◼   ► There probably wouldn't be enough room in there

01:21:04 ◼   ► with thermals and everything for Xeons.

01:21:06 ◼   ► Maybe it would just use the high-end desktop chips,

01:21:09 ◼   ► but so it would probably max out at 32 gigs of RAM,

01:21:13 ◼   ► but maybe you'd have a nicer GPU and more Bays

01:21:18 ◼   ► and new Thunderbolt, and maybe that would be enough.

01:21:21 ◼   ► I would probably buy that computer

01:21:23 ◼   ► because I want retina that badly.

01:21:25 ◼   ► - That sounds like a really good high-end iMac,

01:21:26 ◼   ► does not sound like a Mac Pro.

01:21:27 ◼   ► Someone just posted in the Anotech article

01:21:29 ◼   ► and it reminded me, well I was,

01:21:31 ◼   ► reminded me that like, so yeah,

01:21:32 ◼   ► what I said about Thunderbolt 2 was correct,

01:21:33 ◼   ► but like DisplayPort is alongside

01:21:35 ◼   ► the two 10 gigabit channels, I believe.

01:21:37 ◼   ► So the Thunderbolt 2 will have DisplayPort 1.2

01:21:41 ◼   ► and it will support 4K video.

01:21:43 ◼   ► So it's not like, the fact that Thunderbolt 2

01:21:46 ◼   ► is just getting together the two 10 gigabit things

01:21:49 ◼   ► is not actually relevant to the display part of it

01:21:51 ◼   ► because I think the DisplayPort stuff runs alongside both of those channels.

01:21:55 ◼   ► Someone's saying "nope".

01:21:56 ◼   ► I don't know. This is what happens when we don't have any research beforehand.

01:21:59 ◼   ► ♪ Marco and KC wouldn't let him ♪

01:22:01 ◼   ► I don't know.

01:22:02 ◼   ► But anyway, like, all these things lead to the fact that

01:22:06 ◼   ► it is plausible that we could have

01:22:09 ◼   ► 4K-ish retina-ish displays being driven by all of Apple's laptops

01:22:15 ◼   ► and whatever the MagPair replacement is this year.

01:22:17 ◼   ► And it's also plausible that they just decide to wait it out

01:22:21 ◼   ► until next year for the retina desktop displays.

01:22:24 ◼   ► So the geek says 20 gigabits per channel

01:22:28 ◼   ► carries both video and data.

01:22:30 ◼   ► - So now that we're somewhere around an hour and a half in,

01:22:33 ◼   ► do we wanna talk about iOS 7?

01:22:35 ◼   ► - Boring.

01:22:36 ◼   ► (laughing)

01:22:38 ◼   ► Who uses iOS anyway?

01:22:40 ◼   ► Does anyone use that?

01:22:41 ◼   ► Is that popular?

01:22:43 ◼   ► - I mean, Casey, like what do you wanna see in it?

01:22:45 ◼   ► You haven't talked much recently.

01:22:47 ◼   ► I shouldn't have brought up the Mac Pro.

01:22:49 ◼   ► You had said a while back, a good way

01:22:51 ◼   ► to see what was coming in iOS is to look

01:22:53 ◼   ► at what the low-hanging fruit is, and Apple will fix it.

01:22:57 ◼   ► So for example, Notification Center is a great example.

01:23:01 ◼   ► Backgrounding, copy and paste, all very good,

01:23:03 ◼   ► very classic examples of let's get the low-hanging fruit.

01:23:06 ◼   ► And I think you had said a few months ago, maybe even with us,

01:23:10 ◼   ► that there isn't a lot of low-hanging fruit left.

01:23:12 ◼   ► And I had echoed that in my blog post on the blog that

01:23:14 ◼   ► doesn't exist and no one reads.

01:23:16 ◼   ► And Justin Williams actually commented to me on app.net that, you know, even though

01:23:22 ◼   ► there's not a lot that is, that is, that annoys me about iOS is what I had said.

01:23:27 ◼   ► And the things that do, I doubt Apple will fix.

01:23:32 ◼   ► Justin had said, well, you know what?

01:23:33 ◼   ► That could bite Apple in the butt in that they could get a little complacent and

01:23:38 ◼   ► they could end up getting left behind.

01:23:40 ◼   ► And I think that's a very interesting point.

01:23:43 ◼   ► And so what do I want an iOS seven?

01:23:45 ◼   ► I don't even really know.

01:23:48 ◼   ► I expect to see some amount of UI change.

01:23:52 ◼   ► I don't think it'll be the sweeping, "Oh my goodness, everything is flat, looks like

01:23:56 ◼   ► Windows, Phone 8, Series 7, 8, 9," whatever it's called.

01:24:00 ◼   ► But I do think there'll be a difference.

01:24:01 ◼   ► But other than that, I'm not really sure what to expect.

01:24:04 ◼   ► I wish I had some sort of grand epiphany that I could share with everyone so I can cackle

01:24:09 ◼   ► during the keynote and say, "Oh, look at me, I was so bright."

01:24:12 ◼   ► but I can't come up with anything that I think is really,

01:24:16 ◼   ► that we're really in dire need of.

01:24:18 ◼   ► - You know, looking at the popularity of things

01:24:22 ◼   ► like X-callback URL and all these apps

01:24:25 ◼   ► that just launch other apps or that do things

01:24:28 ◼   ► with URL callbacks in creative ways,

01:24:30 ◼   ► it's very, very clear that we are just starving

01:24:32 ◼   ► for better inter-app communication

01:24:34 ◼   ► and that we keep doing all these hacks

01:24:37 ◼   ► because that's all we have.

01:24:39 ◼   ► basically look what people are doing terrible hacks to accomplish,

01:24:43 ◼   ► and see if there's a good way that the OS could just support that in some better way.

01:24:47 ◼   ► And I think the two big ones there are interapp communication

01:24:51 ◼   ► and periodic updates of an app.

01:24:55 ◼   ► Periodic background updates. Because right now, you have things that do geofence

01:24:59 ◼   ► updates, which is just a terrible hack. I mean, I did it. It's a terrible hack, because it's all you have.

01:25:03 ◼   ► If they could solve those two problems

01:25:07 ◼   ► of apps updating in the background periodically,

01:25:11 ◼   ► and interapp communication.

01:25:13 ◼   ► That would be two major changes to the OS that would please

01:25:16 ◼   ► many, many users and developers.

01:25:19 ◼   ► All right, so I'll bite on interapp communication.

01:25:21 ◼   ► I think you're right about that.

01:25:23 ◼   ► I think they're going to have some sort of improvement.

01:25:25 ◼   ► I'm not convinced it's going to be hyper robust.

01:25:28 ◼   ► It'll probably disappoint a lot of nerds,

01:25:30 ◼   ► but I think it'll be a lot better.

01:25:32 ◼   ► But how do you suspect they're going

01:25:34 ◼   ► to manage backgrounding in such a way

01:25:37 ◼   ► that it won't be the Android "every app installs a daemon just because they can"

01:25:42 ◼   ► situation?

01:25:43 ◼   ► I really don't know. I've had some ideas over the years on how they might be able to

01:25:48 ◼   ► do it. It's interesting if you look at one case where they do it, which is Newstand.

01:25:56 ◼   ► Newstand apps are allowed to wake up in the background once a day by getting a special

01:26:02 ◼   ► push notifications sent by their servers. So, you know, well now Glenn, as a magazine

01:26:08 ◼   ► publisher, can send a push notification to make the application wake up in the background

01:26:14 ◼   ► and do stuff for up to ten minutes. I think that system can be extended a little bit,

01:26:20 ◼   ► you know, to non-new standard apps. If you tie it to a push notification, then it does

01:26:26 ◼   ► restrict it on some level to just, you know, apps and services that are big enough to have

01:26:31 ◼   ► a push back end, and it adds an economic cost,

01:26:35 ◼   ► I mean it's a very small one, but it adds a cost to the app creator

01:26:39 ◼   ► that you can't just have every app wake up constantly for everything

01:26:43 ◼   ► there's going to be some kind of weight and

01:26:47 ◼   ► cost of sending all those push notifications. And that

01:26:51 ◼   ► then gives Apple a way to throttle it at the system level and at the policy level.

01:26:55 ◼   ► You can say, right now, newsstand being once a day is

01:26:59 ◼   ► and frequent and wouldn't really solve the needs of most apps that do this, but what

01:27:03 ◼   ► if it's limited to, I mean once an hour would be plenty. You know, you could even do it

01:27:07 ◼   ► less than that. And what if you'd have to like have some kind of good justification

01:27:15 ◼   ► for it that's enforced at app review level. Like, you know, there's like, maybe you could

01:27:19 ◼   ► apply it again to certain tiers of, you know, you have to justify being able to, you know,

01:27:24 ◼   ► being hourly versus being daily or versus being twice a day.

01:27:28 ◼   ► There are ways they can do this, and there's precedence for all of this. They've already done

01:27:32 ◼   ► many of these things. They've already introduced certain

01:27:36 ◼   ► half measures or limited measures.

01:27:40 ◼   ► From what I gather in talking to various Apple people over the years on this exact

01:27:45 ◼   ► topic and begging them to do something about it, it sounds like it was always

01:27:49 ◼   ► a topic of significant internal debate as to

01:27:53 ◼   ► how to allow this kind of stuff, whether to allow it.

01:27:55 ◼   ► And you can do things like only when it's on Wi-Fi

01:27:58 ◼   ► or only when it's plugged in.

01:27:59 ◼   ► There's all sorts of things you can

01:28:01 ◼   ► do to mitigate some of the downsides of a bunch of apps

01:28:04 ◼   ► waking up here and there.

01:28:06 ◼   ► You can do it like only apps that you've launched in the last week.

01:28:10 ◼   ► There's so many things you can do to limit it so it's not

01:28:13 ◼   ► totally out of hand.

01:28:15 ◼   ► And maybe the internal debates about this,

01:28:20 ◼   ► maybe that is different now that iOS has different leadership. We don't know yet. And Tim made

01:28:28 ◼   ► those comments at all things D about how they need to open up some things in the APIs and

01:28:32 ◼   ► they're going to be doing that. He didn't just throw that out there. That was, as we

01:28:38 ◼   ► discussed last episode, that was a significant statement that I think we should pay attention

01:28:42 ◼   ► to. And I don't think he meant that lightly.

01:28:45 ◼   ► It could have been about default apps, it could have been about inter-app communication.

01:28:50 ◼   ► There are many things that fall under the category of that vague phrase about opening

01:28:54 ◼   ► up things.

01:28:55 ◼   ► But those are all big things.

01:28:56 ◼   ► Things that we don't want.

01:28:57 ◼   ► Those are all very big things.

01:28:58 ◼   ► I know, but we just don't know which one it is, though.

01:28:59 ◼   ► Sure.

01:29:00 ◼   ► Oh, yeah.

01:29:01 ◼   ► Yeah.

01:29:02 ◼   ► We could be all three, none, just one.

01:29:03 ◼   ► And I was thinking for the background stuff, Apple's MO so far, and it has served them

01:29:06 ◼   ► well, is anytime you have anything that wants to be done in the background, don't let applications

01:29:10 ◼   ► do it.

01:29:11 ◼   ► Let a single system service do it, and let the application register with that system

01:29:14 ◼   ► service.

01:29:15 ◼   ► the push notifications.

01:29:16 ◼   ► You've got one process that is responsible for doing all that, and the applications register

01:29:21 ◼   ► their intent for that.

01:29:22 ◼   ► I don't actually-- is that how all push notifications work?

01:29:25 ◼   ► Is there a single daemon process that handles it?

01:29:30 ◼   ► What you don't want to have is the-- you don't want to have n processes if you have n applications

01:29:36 ◼   ► that use this feature.

01:29:37 ◼   ► You want to have one process that n applications register with.

01:29:40 ◼   ► So almost any-- if you want to go the longest thing,

01:29:44 ◼   ► if you just had-- you don't want to have that one application

01:29:48 ◼   ► like load bundles from other applications.

01:29:50 ◼   ► So then the other application is just

01:29:52 ◼   ► going to crash the daemon process

01:29:53 ◼   ► and everyone's going to be sad.

01:29:54 ◼   ► So you need to have some scenario where

01:29:56 ◼   ► a single daemon process-- like if you wanted to just do

01:29:58 ◼   ► the arbitrary one.

01:29:59 ◼   ► A single daemon process loads arbitrary code supplied

01:30:02 ◼   ► by other applications, doesn't crash when their code is crappy,

01:30:05 ◼   ► but interleaves their code in an efficient manner.

01:30:07 ◼   ► So when someone's in I/O, wait, some other process

01:30:08 ◼   ► could be running.

01:30:09 ◼   ► and you only have one process, like that's the idealized version.

01:30:12 ◼   ► Hey everybody, anyone can do anything in the background they want,

01:30:14 ◼   ► but all of your work will be put through this single funnel

01:30:17 ◼   ► and it will throttle you and it will let your, it'll like, you know,

01:30:20 ◼   ► it's like a little mini scheduler for background type tasks

01:30:23 ◼   ► and it could apply policies, like you said, once per day or whatever,

01:30:26 ◼   ► but that's the extreme where we don't care what kind of code you do,

01:30:29 ◼   ► it doesn't have to just be a specific set of APIs,

01:30:31 ◼   ► you will just take your arbitrary code and we'll run it

01:30:33 ◼   ► and we'll do it all within this one gatekeeper application

01:30:36 ◼   ► that runs your stuff.

01:30:38 ◼   ► But I think that is too extreme.

01:30:40 ◼   ► I think you're much more likely to have a more limited set

01:30:44 ◼   ► of things you can do run by a single process.

01:30:47 ◼   ► It's just that the boundaries expand ever so slightly outward

01:30:50 ◼   ► from what they are now.

01:30:51 ◼   ► Like, there's a fence around what we can do now.

01:30:53 ◼   ► The fence gets a little bit bigger.

01:30:54 ◼   ► Now there's a little bit more stuff you can do.

01:30:55 ◼   ► But still, it's like--

01:30:56 ◼   ► So much of that stuff is already in newsstand.

01:30:58 ◼   ► The way they-- you have the push that wakes things up

01:31:01 ◼   ► in the background.

01:31:01 ◼   ► And then you have the asset download system,

01:31:04 ◼   ► which is you basically register a URL handler

01:31:07 ◼   ► And then you say, "Crawl this URL with this request

01:31:12 ◼   ► "and just let me know whenever you're done."

01:31:15 ◼   ► Or, "Next time I wake up."

01:31:17 ◼   ► - Does your full-fledged app get to run,

01:31:19 ◼   ► or does just like a loadable bundle

01:31:21 ◼   ► inside your app get to run?

01:31:22 ◼   ► - There is no such differentiation in iOS today.

01:31:25 ◼   ► If your app runs at all, you can do whatever you want.

01:31:28 ◼   ► And so, you get woken up for the 10 minutes

01:31:31 ◼   ► when the push comes in.

01:31:33 ◼   ► And you can do whatever you want,

01:31:34 ◼   ► including download stuff directly.

01:31:36 ◼   ► But then if you enqueue the URL download, the NK asset URL

01:31:40 ◼   ► download, or whatever, NK asset something download,

01:31:43 ◼   ► then that goes into a background queue

01:31:45 ◼   ► that your application doesn't own, doesn't manage.

01:31:47 ◼   ► You don't see that again until it's done.

01:31:50 ◼   ► But your app does not get woken up when it's done.

01:31:54 ◼   ► But next time you launch, you can then

01:31:56 ◼   ► fetch the results of it.

01:31:57 ◼   ► So if you're woken up to do your thing,

01:31:59 ◼   ► and you start doing your thing, and then

01:32:01 ◼   ► you get killed because of memory pressure,

01:32:03 ◼   ► you didn't get a chance to do your thing,

01:32:05 ◼   ► but you just got killed.

01:32:06 ◼   ► The only thing that's helping you is that if during that time you had registered something

01:32:10 ◼   ► like that asset to go download or whatever, then you getting killed is not a big deal

01:32:14 ◼   ► because you've already registered your intent to, "I have this task that I would like to

01:32:17 ◼   ► perform.

01:32:18 ◼   ► I'm not going to do it.

01:32:19 ◼   ► You do it.

01:32:20 ◼   ► Oops, sorry, I got killed."

01:32:21 ◼   ► And then when you come back later, you can say, "Hey, that thing I told you about last

01:32:23 ◼   ► time, did you do that for me?"

01:32:24 ◼   ► And get the result of it.

01:32:26 ◼   ► Exactly.

01:32:27 ◼   ► And one of the things, actually, one of the things that kept biting me whenever I would

01:32:30 ◼   ► write things against this API is that the nkasset download seems to go into a single

01:32:38 ◼   ► item at a time queue that seems to be possibly the same queue as app updates and other system

01:32:47 ◼   ► downloads. And so you might enqueue something and it might not finish for hours, even if

01:32:53 ◼   ► it would take a minute to download because there's a bunch of crap in front of it.

01:32:56 ◼   ► - That's what I was getting at with like a,

01:32:57 ◼   ► this is like a mini scheduler,

01:32:59 ◼   ► because it has all the same problems as an OS scheduler,

01:33:00 ◼   ► where you don't want to starve low priority processes,

01:33:03 ◼   ► because that's like, you know,

01:33:04 ◼   ► that's a pathological case where you're like,

01:33:06 ◼   ► oh, great schedule, high priority tests always get serviced,

01:33:08 ◼   ► and then you end up with some low priority tests

01:33:10 ◼   ► that would be accomplished in half a second,

01:33:11 ◼   ► if only you would ever get up,

01:33:12 ◼   ► but there's always higher priority stuff,

01:33:13 ◼   ► so you have to have some way to invert that priority,

01:33:17 ◼   ► and say, okay, well we do need to give low priority ones

01:33:19 ◼   ► a chance to go, or maybe you should like schedule them

01:33:21 ◼   ► based on how long you think they're gonna take,

01:33:23 ◼   ► and again, like when things are an IO wait,

01:33:24 ◼   ► you wanna do something else,

01:33:25 ◼   ► and it's just being dumb.

01:33:26 ◼   ► Those are all exactly the same process that the entire OS has for scheduling processes.

01:33:31 ◼   ► But instead of having the whole OS do it, like, because you say, "Oh, fine, let me just

01:33:35 ◼   ► do the Android thing then.

01:33:36 ◼   ► We'll actually let the OS kernel schedule all this stuff for us."

01:33:38 ◼   ► And then you just end up with everyone making a million processes and you kill your battery.

01:33:42 ◼   ► So that's the balance Apple is trying to strike here.

01:33:45 ◼   ► And it sounds like the thing they have doing Newsdan is like a really terrible OS kernel

01:33:50 ◼   ► in terms of like, "Oh, you're blocked because someone's updating some game that's

01:33:55 ◼   ► it's like 1.3 gigabytes and you just want a 4k URL. Well, sorry, you suck.

01:33:59 ◼   ► Right. But, so what else in iOS seven?

01:34:05 ◼   ► Any quick guesses? Cause we do have to wrap up soon,

01:34:07 ◼   ► but either you guys silence.

01:34:10 ◼   ► All right. Good talk.

01:34:13 ◼   ► Default apps wouldn't be crazy. Like, I don't know.

01:34:15 ◼   ► I give that less than 50% chance, but that's not totally crazy. Right?

01:34:19 ◼   ► I mean, if they revamp pick, if they would revamp better app communication,

01:34:23 ◼   ► that would also give them a good opportunity

01:34:26 ◼   ► to rethink this whole URL scheme registration system

01:34:29 ◼   ► and maybe tie a SQL to that into the new system.

01:34:33 ◼   ► And it would be a convenient time

01:34:38 ◼   ► to let you change the defaults while you're

01:34:40 ◼   ► doing all this other stuff with having

01:34:43 ◼   ► some kind of interapp registry and some kind of file

01:34:47 ◼   ► association type thing.

01:34:50 ◼   ► This would be the time to do it, if they're going to do it,

01:34:52 ◼   ► what I'm saying.

01:34:53 ◼   ► Well, and plus, I know it sounds silly, but as you guys pointed out, what is the big room

01:35:00 ◼   ► Presidio in Moscone?

01:35:03 ◼   ► It's going to be bigger this year, and it seems like every—I'm not being literal,

01:35:08 ◼   ► but it appears that a lot of the TB announced sessions are going to be happening in Presidio,

01:35:14 ◼   ► and Presidio's going to be bigger, which infers, as I think you said, Marco, or implies,

01:35:18 ◼   ► excuse me, that there's going to be some really massive changes happening.

01:35:25 ◼   ► But one thing, I do want to temper excitement for the whole TBA thing a little bit, that

01:35:31 ◼   ► typically what they do is they will mark a session "TBA" even if it's not talking

01:35:37 ◼   ► about a whole new category of things. They'll mark it as "TBA" if its description even

01:35:43 ◼   ► contains one word of something that's not public yet. They won't just do two things

01:35:48 ◼   ► descriptions, one for before and one for after the keynote. So if it mentions like, "What's new in iOS 7?"

01:35:53 ◼   ► Well, they haven't actually said the name iOS 7 anywhere yet. They told us

01:35:58 ◼   ► they're going to be showing us the latest of iOS, but they haven't named it yet.

01:36:03 ◼   ► And so the name iOS 7, if that's what they're calling it, is probably still private under

01:36:08 ◼   ► SuperApple NDA.

01:36:13 ◼   ► might not, it isn't a great correlation of amount of new stuff to number of TBA sessions.

01:36:21 ◼   ► It just means the new stuff is going to be of general interest. Like, so Xcode,

01:36:24 ◼   ► everyone there cares about Xcode 5. And sometimes they repeat sessions too. So it's like, you know,

01:36:29 ◼   ► your introduction to Xcode 5, the amazing new ID, right? And then they repeat that session later in

01:36:33 ◼   ► the week, both times in Presidio, because everyone at the conference can benefit from that session,

01:36:38 ◼   ► and they want to make sure everyone can see it. So stuff like that is not earth shattering,

01:36:42 ◼   ► but it does require a big room twice.

01:36:45 ◼   ► Do you want to give any W2C tips?

01:36:46 ◼   ► I see that on our document here.

01:36:48 ◼   ► Ah, look at you looking.

01:36:50 ◼   ► My cursor is resting in the official cursor resting area.

01:36:53 ◼   ► On Monday morning, everyone just sleep in

01:36:55 ◼   ► because there's really no point in lining up early.

01:36:58 ◼   ► If you just stroll in at like 8 o'clock,

01:36:59 ◼   ► you'll walk right into the keynote, no problem.

01:37:01 ◼   ► Front row.

01:37:02 ◼   ► Yeah.

01:37:04 ◼   ► As far as tips go, if we had a little more time,

01:37:06 ◼   ► I could rattle off a bunch.

01:37:07 ◼   ► But you and I both, Marco, have put up blog posts

01:37:10 ◼   ► about this in the past.

01:37:10 ◼   ► and if we remember, maybe we can put them in our show notes.

01:37:12 ◼   ► - Yes, and so have a lot of other people too.

01:37:14 ◼   ► Like there's no shortage of first-timers guides

01:37:17 ◼   ► and tips for the conference and everything.

01:37:20 ◼   ► - Yeah, the one thing I think I'd like to say though

01:37:23 ◼   ► is I believe I speak for the both of you guys

01:37:26 ◼   ► in saying that if you are one of the people

01:37:28 ◼   ► who is in San Francisco and you happen to run into one

01:37:31 ◼   ► or all of us, definitely say hi.

01:37:33 ◼   ► Not during a session, of course, but if it is socially--

01:37:36 ◼   ► - Oh, during a session too, who cares?

01:37:38 ◼   ► - Well, not when they're talking.

01:37:39 ◼   ► - Don't talk during the session.

01:37:40 ◼   ► Well, if you're sitting next to us, you can say hello.

01:37:43 ◼   ► Well, okay, that is allowed.

01:37:44 ◼   ► Yeah, just whisper.

01:37:46 ◼   ► Yeah, exactly.

01:37:47 ◼   ► Just don't interrupt the speaker.

01:37:48 ◼   ► But seriously, please say hi, because I've been around Marco and John at WWDC for the

01:37:54 ◼   ► last couple of years, and they're always extremely excited to meet people.

01:37:58 ◼   ► I'm excited to meet people.

01:37:59 ◼   ► I'm excited to meet people?

01:38:00 ◼   ► Are you sure you're with me?

01:38:01 ◼   ► I'm not excited.

01:38:02 ◼   ► Oh, you say you're not.

01:38:04 ◼   ► Casey's the only one of us who could possibly be an extrovert.

01:38:07 ◼   ► I like meeting people.

01:38:08 ◼   ► Yeah, I think you guys don't give yourselves enough credit. But seriously, please say hi

01:38:14 ◼   ► because it's always fun to meet people that enjoy your work. And I can actually sort of

01:38:20 ◼   ► include myself in that this year, which is pretty exciting. So definitely say hi if possible.

01:38:25 ◼   ► Any tips from you two?

01:38:27 ◼   ► I think you nailed it, Casey. If you see anybody who you know from the internet or something,

01:38:31 ◼   ► go up and say hi because everyone you know from the internet is not a celebrity. And

01:38:38 ◼   ► nobody ever in real life recognizes them and says, "Oh, hey, I love your work," because

01:38:44 ◼   ► nobody ever knows what they do when they're back in their regular places that they live.

01:38:48 ◼   ► Yeah, but the WWC has always been like that, because even when Steve Jobs was there, if

01:38:53 ◼   ► you just plunk Steve Jobs down into a random place in the United States and had him go

01:38:57 ◼   ► into a store, do you think the guy behind the counter would recognize him?

01:39:00 ◼   ► No.

01:39:01 ◼   ► Maybe 50/50, if you're lucky. And he was the most famous person ever to work for the

01:39:05 ◼   ► the new Apple, right? Tim Cook probably can go anywhere in America that's outside the

01:39:12 ◼   ► tech nerd world, not get recognized. Everyone else at WBC is way, way, way below all those

01:39:18 ◼   ► guys.

01:39:19 ◼   ► Exactly.

01:39:20 ◼   ► So this is the only, as I said in the podcast last year, this is the only place where any

01:39:24 ◼   ► of us are, many levels of scare quotes, famous. So yeah, this is the one place where we get

01:39:30 ◼   ► to get recognized, unlike the Apple store for me when they won't let me pick my hard

01:39:34 ◼   ► because they don't know who I am. So yeah, we all enjoy that and try not to let it go to our heads

01:39:41 ◼   ► because we know that this is literally the only place on the planet where people are likely to

01:39:45 ◼   ► even know who we are and recognize us. So it's nice. And if Marco can go up and introduce himself

01:39:50 ◼   ► to Forrestal, then you can certainly introduce yourself to us. I was so nervous about that.

01:39:55 ◼   ► Yeah, well then they had to fire him later, so. Yeah. That was it. You talked to that Armin guy,

01:40:02 ◼   ► didn't you? You're out! I doomed that guy. That was it. That was the

01:40:05 ◼   ► beginning of the end for Scott Forstall. Don't let Marco say hi to you. Yeah, maybe you

01:40:09 ◼   ► shouldn't say hi to Marco, but John and I say hi to us. And also before we go, we

01:40:13 ◼   ► should probably explain the pre-roll song. Yes, definitely. So a very close

01:40:18 ◼   ► friend of mine, Larry King, who is not the one from CNN, he decided to create not an

01:40:27 ◼   ► alternative theme song because, let's be honest, we'll never replace our existing

01:40:31 ◼   ► theme song by Jonathan Mann, but he thought he'd write us a little tune, and even though

01:40:37 ◼   ► it kind of makes fun of me, I got a good kick out of it, and so that was the pre-roll. So

01:40:42 ◼   ► we appreciate and thank Larry King, who is @laking—not @lakings, which is the soccer—excuse

01:40:48 ◼   ► me, not soccer, the hockey team—but we appreciate him doing that, and we'll put a link to

01:40:53 ◼   ► the song in the show notes as well.

01:40:55 ◼   ► Well, and he's allowed to make fun of you because he only knows you. Like, he's friends

01:40:58 ◼   ► with you.

01:40:59 ◼   ► Yes.

01:41:00 ◼   ► your jaw and can't make fun of you because that would just be mean. But this guy actually

01:41:04 ◼   ► just knows you.

01:41:06 ◼   ► Exactly. So he gets a bye.

01:41:09 ◼   ► Thanks a lot to our two sponsors of this episode, Squarespace. Go to squarespace.com and you

01:41:13 ◼   ► can make your own website really easily and really great. And then go to Tonks, t-o-n-x.org/atp,

01:41:21 ◼   ► to get really great coffee, fresh roasted and shipped to you on a regular basis. You

01:41:25 ◼   ► really can't do any better than that. Thanks a lot to Squarespace and Tonks for sponsoring

01:41:30 ◼   ► And thank you guys, and we'll see each other next week at the conference.

01:41:37 ◼   ► The show is over, they didn't even mean to begin

01:41:41 ◼   ► 'Cause it was accidental (accidental)

01:41:44 ◼   ► Oh, it was accidental (accidental)

01:41:47 ◼   ► John didn't do any research, Marco and Casey wouldn't let him

01:41:51 ◼   ► 'Cause it was accidental (accidental)

01:41:54 ◼   ► Oh, it was accidental (accidental)

01:41:57 ◼   ► And you can find the show notes at ATP.fm

01:42:02 ◼   ► And if you're into Twitter, you can follow them

01:42:07 ◼   ► @C-A-S-E-Y-L-I-S-S

01:42:11 ◼   ► So that's Kasey Liss, M-A-R-C-O-A-R-M

01:42:15 ◼   ► Auntie Marco Armin, S-I-R-A-C

01:42:20 ◼   ► USA, Syracuse

01:42:23 ◼   ► It's accidental

01:42:26 ◼   ► They didn't mean to

01:42:28 ◼   ► Accidental

01:42:31 ◼   ► ♪ Tech podcast so long ♪

01:42:34 ◼   ► - Oh, but now I'm getting my Skype call

01:42:38 ◼   ► from my other podcast, so I have to run.

01:42:40 ◼   ► - All right, they're early.

01:42:41 ◼   ► - Well, you and I-- - Yes, they are.

01:42:43 ◼   ► - You and I-- - Jason Snell's

01:42:44 ◼   ► little face is insistent.

01:42:45 ◼   ► - You can get it. - You can hang on.

01:42:46 ◼   ► You can hang on. - All right,

01:42:47 ◼   ► I'll decide this without you.

01:42:48 ◼   ► - Yeah. - Later, guys.

01:42:49 ◼   ► - Let's see it. - Later.

01:42:50 ◼   ► - All right, now we can talk about 'em.

01:42:53 ◼   ► - Yeah, right, can we make the title

01:42:55 ◼   ► Jason Snell's Face is Insistent?

01:42:57 ◼   ► (laughing)

01:42:59 ◼   ► - If that would actually be in the show,

01:43:00 ◼   ► that would be good.

01:43:01 ◼   ► Oh, God. Well, you could put it in the show.

01:43:04 ◼   ► I could.

01:43:04 ◼   ► How come you put all the crap about me in the show and none about him?

01:43:08 ◼   ► What are you kidding? Almost every episode ends with him.

01:43:10 ◼   ► That's true.

01:43:11 ◼   ► All right. Well, I am going to see you, what, Sunday?

01:43:16 ◼   ► Yeah, Sunday afternoon.

01:43:17 ◼   ► As we—I am very excited. Actually, that should be really fun. I'm really looking forward to that.

01:43:21 ◼   ► I can't wait. We can't force Jon to have fun.

01:43:24 ◼   ► But—

01:43:24 ◼   ► I know. No matter how—another title. No matter how hard we try, we can't force Jon.

01:43:28 ◼   ► And we do try.

01:43:30 ◼   ► And we do try. I'm slight, I'm almost willing to say make that the title just to troll him.

01:43:36 ◼   ► But the funny thing is he wouldn't have fun and it wouldn't help at all.

01:43:41 ◼   ► No, it wouldn't.