PodSearch

ATP

7: The Forecast For iCloud

 

00:00:00 ◼   ► Is this interesting at all?

00:00:02 ◼   ► I don't know.

00:00:03 ◼   ► Maybe not.

00:00:04 ◼   ► I'm bored.

00:00:05 ◼   ► What are we talking about tonight then?

00:00:06 ◼   ► I don't know.

00:00:07 ◼   ► Is there anything to talk about with this Summly thing?

00:00:09 ◼   ► I don't know.

00:00:10 ◼   ► I thought your post about David was really interesting.

00:00:15 ◼   ► This is obviously mutual admiration of society, but I thought it was very—it was very prescient

00:00:21 ◼   ► and impressive that he was smart enough not to reveal his age and then made an oops.

00:00:28 ◼   ► And like you said, suddenly every article about Tumblr became about his age rather than

00:00:31 ◼   ► the fact that Tumblr was really well done.

00:00:34 ◼   ► And that's too bad.

00:00:35 ◼   ► But I've never used Summly, so I don't know if it's any good.

00:00:39 ◼   ► Apparently you say it's not good.

00:00:41 ◼   ► I mean, I don't know what they did in the last six to nine months.

00:00:49 ◼   ► They had their whole app that was this whole news browsing thing.

00:00:53 ◼   ► That all came about fairly recently.

00:00:55 ◼   ► Before all that is when I tried it.

00:00:56 ◼   ► So I didn't try any of the new stuff.

00:00:57 ◼   ► So I can't really speak to what it was.

00:01:00 ◼   ► But originally the whole summarization engine I was really not impressed by.

00:01:07 ◼   ► I think it was a reasonable idea to try to do something like that, but it wasn't that

00:01:15 ◼   ► compelling.

00:01:16 ◼   ► Something like that where, okay, so the idea of this thing is to take any web article,

00:01:22 ◼   ► news article, whatever the case, and summarize it into like three little one-sentence bullet

00:01:27 ◼   ► points.

00:01:29 ◼   ► So the idea is that you don't have to read everything.

00:01:31 ◼   ► First of all, as somebody who likes reading things, that's kind of missing the point.

00:01:36 ◼   ► But okay, there's some uses for that.

00:01:37 ◼   ► I can see that.

00:01:38 ◼   ► The problem is that the summaries were so bad.

00:01:42 ◼   ► Occasionally it would get maybe one and a half of the three bullet points would make

00:01:47 ◼   ► sense, but that was the best I ever saw it do.

00:01:52 ◼   ► So it was a way to poorly summarize news stories sometimes.

00:01:58 ◼   ► And so to me, I just don't have anywhere where that fits into my life.

00:02:01 ◼   ► You guys probably don't remember this because you didn't start using Macs until recently,

00:02:05 ◼   ► but back in the classic Mac OS days, Apple made a big stink at one point in its sad decline

00:02:11 ◼   ► in the '90s about a system-wide text summarization service, where you could select text and ask

00:02:17 ◼   ► it to summarize it, and it would summarize it down to a couple sentences.

00:02:20 ◼   ► sounding familiar yet. Yeah, exactly.

00:02:23 ◼   ► And this was classic Mac OS. And that feature, it might still be in there. You should go

00:02:27 ◼   ► look in Automator and see if there's a summarized text thing. But it predates Mac OS X, my recollection.

00:02:34 ◼   ► And yeah, that feature did not set the world on fire.

00:02:39 ◼   ► And I don't know what the state of the art is with natural language processing doing

00:02:43 ◼   ► summarization. I'm sure there's probably good stuff out there. But the thing with lots of

00:02:49 ◼   ► natural language processing or AI-type algorithms is that a lot of times the best they can ever

00:02:57 ◼   ► do is like an 80% job. And so there's a lot of cases in the world where that's useful.

00:03:02 ◼   ► But usually when you're directly between the data and the human and you're trying to do

00:03:08 ◼   ► just this one smart thing that involves language and concepts and very subjective, difficult,

00:03:15 ◼   ► complicated things, it's not usually a good idea to expose the AI's output directly

00:03:22 ◼   ► to people. Let's say it's 95% good. Five percent is still pretty often. You're still

00:03:29 ◼   ► going to hit that a lot.

00:03:31 ◼   ► So, Jon, you've talked a lot about speech recognition software because you use it a

00:03:36 ◼   ► lot and dictation software. What do you think is the highest acceptable error rate that

00:03:45 ◼   ► you would still use it? For summarization or for speech recognition? For speech recognition.

00:03:49 ◼   ► Well, speech recognition, I mean, the error rate is pretty high, and I think I'd be willing to put

00:03:57 ◼   ► up with a much higher error rate than I currently get. In fact, I think I'd be willing to trade

00:04:01 ◼   ► correctness for responsiveness, because when you're trying to speak, you don't want to be

00:04:08 ◼   ► waiting. Like, the built-in dictation in OS X is the worst case, because you activate the

00:04:15 ◼   ► little thing, and then you see a little blinky cursor in front of you, then you talk,

00:04:18 ◼   ► then you have to activate the thing again to say, "Okay, take what I just said and do something with

00:04:25 ◼   ► it," and then you stare at the blinky thing, and then a whole bunch of text comes on the screen.

00:04:28 ◼   ► And that's when you find out whether it has been totally off the rails. Whereas if it had exactly

00:04:32 ◼   ► the same error rate but did it a word at a time, kind of like the difference between Siri and the

00:04:37 ◼   ► Google iOS speech searching thing, responsiveness, I think, is more important than correctness in

00:04:45 ◼   ► Obviously, if it was 70% error rate, you'd be annoyed, but I think being responsive is

00:04:50 ◼   ► more important than being exactly correct.

00:04:52 ◼   ► Because Dragon has really, really good accuracy, really high accuracy, but it still frustrates

00:04:57 ◼   ► me sometimes when I'm talking faster than the text is appearing and I have to stop.

00:05:01 ◼   ► Maybe I don't have to stop, but I do stop to wait to see the last 15 words come splatting

00:05:05 ◼   ► out on the screen usually all at once to see that it's on the same page.

00:05:08 ◼   ► Because if you don't do that, if you just close your eyes and talk, it will do an amazingly

00:05:12 ◼   ► good job.

00:05:13 ◼   ► in a while I'll look at something off and I'll go back and I'll read what I, you know,

00:05:17 ◼   ► quote unquote, "wrote" by speaking and I'll have no idea what the hell I was saying. And I'll have

00:05:21 ◼   ► to like, I'll look at it and try to think of homonyms, you know, like which word that sounds

00:05:25 ◼   ► like the words on the page, because when you make your own typos, it's like, oh, I was typing the

00:05:29 ◼   ► right word and I screwed up a couple characters, you could figure out what it was you said. But

00:05:32 ◼   ► when you do like speachos where it transcribes the wrong thing, it could be so far off semantically.

00:05:39 ◼   ► And I've literally had times where I say, I have no idea what the heck I was trying to say here,

00:05:42 ◼   ► because the sentence actually makes no sense whatsoever. Even though all the words are spelled

00:05:45 ◼   ► correctly in their English words, they don't make any sense. And I don't remember what I was saying,

00:05:49 ◼   ► and I got to say the word as written out loud and close my eyes and think of what it sounds like.

00:05:54 ◼   ► But I don't think many people would choose to use speech recognition. Let's put it this way.

00:06:00 ◼   ► I wouldn't be using it if I didn't have RSI things with typing. I think that's when you'll know

00:06:06 ◼   ► speech recognition has really arrived when people who can already type very quickly choose to use

00:06:13 ◼   ► speech recognition instead because it's like either equally as fast or, you know, it's so

00:06:19 ◼   ► accurate that why would you bother flicking your fingers around, you know? But we're far from that

00:06:24 ◼   ► right now. Well, plus it's not a group activity. What I mean by that is if you're working in an

00:06:31 ◼   ► an office full of cubicles like John, I presume you do,

00:06:34 ◼   ► and I certainly do, if all of us are talking

00:06:37 ◼   ► to our computers, that's going to be a bit loud,

00:06:41 ◼   ► to say the least.

00:06:42 ◼   ► And furthermore, doing the sorts of things

00:06:45 ◼   ► that all three of us do, which is write code,

00:06:47 ◼   ► which is a far cry from regular prose,

00:06:51 ◼   ► I've never imagined nor tried to do speech recognition

00:06:55 ◼   ► for writing code, but John, I can't imagine

00:06:57 ◼   ► you're writing Perl and regular expressions,

00:07:00 ◼   ► which is basically the same thing, using speech recognition.

00:07:03 ◼   ► It is not the same thing, and no, I am not

00:07:05 ◼   ► using speech recognition for that.

00:07:06 ◼   ► [LAUGHTER]

00:07:09 ◼   ► Aye, aye, aye.

00:07:11 ◼   ► That was a good troll.

00:07:12 ◼   ► I do my best.

00:07:14 ◼   ► Now, I feel like there's places for this stuff.

00:07:18 ◼   ► Like, a lot of people have said that, first of all,

00:07:22 ◼   ► there are opportunities for anything

00:07:25 ◼   ► that could be considered an assistive technology

00:07:28 ◼   ► for people, like dictation is great for people who can't type, and RSI is, you know, a

00:07:35 ◼   ► usually mild but still a handicap, and so if you can't or would rather not use your

00:07:42 ◼   ► hands to type, then it's great to have alternatives. But the place for a lot of this stuff is,

00:07:50 ◼   ► in other contexts, people who don't permanently have a specific disability but who might temporarily

00:07:55 ◼   ► have one. For example, when you're driving, you really shouldn't be typing. And when

00:08:01 ◼   ► driving you're also theoretically, hopefully partially blind to your computing device.

00:08:08 ◼   ► So that's why things like voice command and audio cues can be so useful in a mobile

00:08:13 ◼   ► app that you're expected to use while you're in the car. And so Siri is great for that,

00:08:18 ◼   ► but Siri is not good enough for me to dictate everything that way. As Jon said, when you

00:08:24 ◼   ► you have alternatives, you'll take them, but it's still good to have this thing when

00:08:29 ◼   ► you don't have alternatives, or when your alternatives are worse.

00:08:32 ◼   ► I'm trying to look up the text summarization service from Classic Mac OS in Google, and

00:08:35 ◼   ► I can't find it. All I can find are the references to it existing in Mac OS X. So maybe I'm misremembering,

00:08:40 ◼   ► but I could have sworn that this was from Mac OS 8 or whatever. But anyway, if you want

00:08:45 ◼   ► to just fire up TextEdit now in Mac OS X, paste a bunch of text in there from an article,

00:08:50 ◼   ► select the text, go to the services menu, Summarize will be in there if you didn't deactivate

00:08:53 ◼   ► in your pref pane, and you get a little slider that lets you crank it down to one sentence,

00:09:00 ◼   ► if you want. So I don't understand how... I don't know anything about this summary thing,

00:09:05 ◼   ► except for what I read on Marco's blog and one or two other news stories.

00:09:09 ◼   ► And summarization is not the whole thing. I think it was like... It was basically a way to let you

00:09:16 ◼   ► consume news without you having to look through all the news. It would try to give you a condensed

00:09:19 ◼   ► version, but not, "Am I getting this right?" but not having a human do it, having the computer

00:09:24 ◼   ► do it, and summarization would be a part of that.

00:09:28 ◼   ► But if it's the summarization part that they were excited about—again, this feature obviously

00:09:33 ◼   ► existed for a long time, whether it's in classic Mac OS or not.

00:09:35 ◼   ► No one cares that it's there.

00:09:37 ◼   ► Is it patent encumbered?

00:09:40 ◼   ► I still don't understand why they paid $30 million for it all.

00:09:43 ◼   ► I don't understand it at all.

00:09:46 ◼   ► And so that's what a lot of the debate has been about. First of all, it's cool to say

00:09:50 ◼   ► Yahoo is being stupid because Yahoo's had some pretty bad decades. So everyone's like,

00:09:56 ◼   ► "Oh, look at how stupid Yahoo is being."

00:09:58 ◼   ► Again.

00:09:59 ◼   ► But I don't think it's them being stupid. Usually, if you think a company is being stupid,

00:10:04 ◼   ► usually you aren't looking at the whole picture, or there's something that you're

00:10:08 ◼   ► missing, or there's some better reason for what they're doing that's better explained

00:10:12 ◼   ► than they're idiots.

00:10:15 ◼   ► So I think you can—unless the company is RIM, now called BlackBerry—anyway, they

00:10:22 ◼   ► actually are idiots.

00:10:23 ◼   ► But for the most part, everybody else, when the explanation is, "Oh, they're being

00:10:27 ◼   ► stupid," there's usually more to it.

00:10:28 ◼   ► So I think in this case, a lot of people have suggested—so here's the deal.

00:10:33 ◼   ► They bought suddenly the product and part of the staff for $30 million, most of which

00:10:40 ◼   ► was cash.

00:10:41 ◼   ► I think they said 10% was stock, but all the numbers are actually rumored or from inside

00:10:45 ◼   ► sources that are unnamed. The numbers were not officially made public, but everyone's

00:10:49 ◼   ► saying $30 million, mostly, in cash. It's a classic textbook, AquaHire. The product

00:10:56 ◼   ► is immediately shut down, and Yahoo paid—for this size startup, it's a relatively modest

00:11:02 ◼   ► sum for basically three people, for the three most important people by their definition,

00:11:11 ◼   ► to work for Yahoo for a minimum of 18 months.

00:11:15 ◼   ► So basically they've paid like 10 million ahead

00:11:18 ◼   ► for these key people.

00:11:19 ◼   ► - And that sounds even more crazy.

00:11:21 ◼   ► Now that you're telling me more about this,

00:11:22 ◼   ► I'm thinking it sounds even crazier than I thought.

00:11:24 ◼   ► So they're shutting down the stupid product

00:11:26 ◼   ► that summarizes stuff?

00:11:28 ◼   ► - Oh, it's gone.

00:11:29 ◼   ► They pulled it from the App Store already.

00:11:30 ◼   ► - I don't understand it at all.

00:11:32 ◼   ► Like there's no way those three people

00:11:34 ◼   ► are worth $30 million.

00:11:36 ◼   ► There's just no way.

00:11:37 ◼   ► Like I don't know how.

00:11:37 ◼   ► - And there's part of the debate

00:11:39 ◼   ► that some people are saying that the technology was actually licensed from SRI, the parent

00:11:45 ◼   ► company of Siri, before Apple bought it, that the speech recognition, or sorry, the natural

00:11:51 ◼   ► language processing technology was actually SRIs, and it was licensed from them, that

00:11:55 ◼   ► some people didn't develop that, but then the some people are denying that, so it's

00:11:59 ◼   ► unclear what is the truth there, but at least what Yahoo bought, at least what we know that

00:12:03 ◼   ► they bought, was they paid $30 million for these three people, one of whom is the second

00:12:09 ◼   ► 17-year-old kid, Nick—oh, God, I should not try to pronounce his last name.

00:12:14 ◼   ► It starts with a D.

00:12:16 ◼   ► D. Aloisio, maybe?

00:12:18 ◼   ► D. Aloisio?

00:12:19 ◼   ► I'm sorry, Nick.

00:12:20 ◼   ► I'm probably butchering that.

00:12:23 ◼   ► Nick D. But not Nick Denton.

00:12:27 ◼   ► Gosh, this is tough.

00:12:29 ◼   ► Anyway, Nick D. Aloisio, sorry.

00:12:33 ◼   ► He started this company when he was 15.

00:12:35 ◼   ► Now he's 17.

00:12:37 ◼   ► So now he's a 17-year-old tech whiz kid millionaire, which of course the press loves to bang on

00:12:41 ◼   ► that angle so much.

00:12:43 ◼   ► And I kind of ripped them apart yesterday for that, as we were saying at the top of

00:12:48 ◼   ► the show about how that was originally a problem at Tumblr because David was so young.

00:12:56 ◼   ► So all the stories are about how young this kid is, or about the tech press freaking out

00:13:01 ◼   ► that why the heck did they buy this and why the heck did they pay so much.

00:13:04 ◼   ► But to bring this back a little bit, a couple weeks ago we had a question from Abhi Beckert.

00:13:11 ◼   ► He suggested an interesting topic.

00:13:13 ◼   ► He said, "What if Apple bought Yahoo?"

00:13:17 ◼   ► And the idea there was Apple needs good server-side and services talent, and Yahoo might have

00:13:26 ◼   ► that.

00:13:27 ◼   ► And I thought about this topic for a little bit.

00:13:30 ◼   ► Yahoo is still very popular, especially among non-geek demographics, like normal people

00:13:37 ◼   ► as we like to say in the geek world, which is probably condescending or somehow weird,

00:13:41 ◼   ► but sorry about that.

00:13:42 ◼   ► Anyway, I don't know what the right term is.

00:13:45 ◼   ► Non-geeks I think is fair.

00:13:49 ◼   ► But I think Yahoo is for the most part resting on their previously achieved laurels, and

00:13:55 ◼   ► I don't think they've really done a lot in the last decade, maybe, to really get new

00:14:02 ◼   ► users and to really grow the company.

00:14:03 ◼   ► That's why everyone has said they've been in trouble.

00:14:06 ◼   ► That's why it was interesting when they brought in Marissa Meyer, a CEO from Google.

00:14:10 ◼   ► That was interesting.

00:14:11 ◼   ► But either way, this is a company that needs to make a comeback of some sort.

00:14:16 ◼   ► They've also, in the last decade, gone through a lot of layoffs.

00:14:20 ◼   ► A lot of very talented people have left or gotten fired or gotten laid off.

00:14:28 ◼   ► I don't have any inside sources at Yahoo, but I have to imagine they probably have a

00:14:33 ◼   ► talent shortage.

00:14:36 ◼   ► If you're really good, you probably were not happy working at Yahoo in the last decade

00:14:41 ◼   ► and you probably left or didn't go there in the first place because they've just

00:14:44 ◼   ► lost so many good people over the last few years.

00:14:49 ◼   ► And they have some good properties like Flickr that we've just seen just languish and stagnate

00:14:55 ◼   ► as all the good people have left or they've gotten fired.

00:14:59 ◼   ► So Yahoo, talent-wise, I have to imagine is not in good shape.

00:15:05 ◼   ► So the other angle people are discussing with the Summly deal is, first of all, Nick D'Aloisio,

00:15:12 ◼   ► again I'm sorry, he might be a really good product sensibility person.

00:15:19 ◼   ► And that's the kind of person that in one way Steve Jobs was, it's the kind of person

00:15:25 ◼   ► certainly that David Karp is at Tumblr.

00:15:27 ◼   ► Believe me, he is definitely that kind of person.

00:15:31 ◼   ► And that's a very valuable kind of person, just shorthand called "product people."

00:15:40 ◼   ► Product people can make or break a company because they make the decisions about what

00:15:44 ◼   ► a product should be, and they have the sensibilities to know what people will like and what will

00:15:49 ◼   ► work. So if Nick DiAloisio is a really good product person, then it would be valuable

00:15:57 ◼   ► to bring him onto Yahoo, because Yahoo needs people like that.

00:16:00 ◼   ► Not $30 million valuable. I was trying to think of some sane reason that you'd pay

00:16:04 ◼   ► $30 million, and here's what I've come up with, and it's not great, and it's based

00:16:07 ◼   ► on no information. One, there's a bidding war. You're not the only one who wants to

00:16:11 ◼   ► buy these people. You pay with the market demands. If you want them more than someone

00:16:14 ◼   ► else, you just go up, up, up, and we get them in. And two is intellectual property. They

00:16:19 ◼   ► They have some stuff that would, you know, it would cost you, it's more important for

00:16:24 ◼   ► you to own this intellectual property because it would cost you more to let someone else

00:16:27 ◼   ► scoop it up and then you have to license it from them long term.

00:16:29 ◼   ► Those are the only two things I can think of.

00:16:31 ◼   ► Well, what I'm thinking is, there are two factors here that could have driven the price

00:16:37 ◼   ► up a little bit artificially.

00:16:40 ◼   ► One is that Yahoo is, again, not in good shape.

00:16:45 ◼   ► And you could argue that having a really good product person is very valuable to the company.

00:16:53 ◼   ► You could counter-argue that, well, he's only obligated to stay there for 18 months.

00:16:58 ◼   ► So, they might—

00:16:59 ◼   ► It doesn't matter how good you are.

00:17:01 ◼   ► 18 months, one thing.

00:17:02 ◼   ► And the second thing is unproven.

00:17:04 ◼   ► Show me you're a great product person.

00:17:05 ◼   ► Where's your great product?

00:17:06 ◼   ► Was it this thing that we just can't and no one was really interested in?

00:17:08 ◼   ► Because that ain't great.

00:17:09 ◼   ► I mean, even Steve Jobs didn't get $30 million the day he arrived at Apple in 1997.

00:17:13 ◼   ► he had to kind of sort of A, kick out the old CEO,

00:17:16 ◼   ► and B, kind of sort of prove himself before,

00:17:18 ◼   ► like they were like, okay, well, you know what I mean?

00:17:20 ◼   ► He didn't come out the gate and say,

00:17:21 ◼   ► oh, Steve Jobs, you're wonderful,

00:17:23 ◼   ► we're gonna immediately let you take over

00:17:24 ◼   ► and give you tons and tons of money

00:17:25 ◼   ► and shower you with praise.

00:17:27 ◼   ► If Steve Jobs has to prove himself,

00:17:28 ◼   ► this kid has to as well.

00:17:29 ◼   ► Like this is not, you don't pay $30 million

00:17:31 ◼   ► for a couple of employees, no matter who they are,

00:17:33 ◼   ► even if they literally are the best employees

00:17:35 ◼   ► in the entire world.

00:17:36 ◼   ► You don't, you just don't pay that much money for it.

00:17:38 ◼   ► - Well. - You wouldn't have to.

00:17:39 ◼   ► You could get those employees for less money

00:17:42 ◼   ► if they didn't know, they obviously know they have something or think or know they have

00:17:47 ◼   ► something that's actually worth much more than they would be individually as employees.

00:17:52 ◼   ► Maybe Yahoo can't get them for less. Again, Yahoo has a problem, because if you're really

00:17:57 ◼   ► good in this industry, do you want to work at Yahoo? Probably not. That's a problem.

00:18:03 ◼   ► I think $5 million a head for 18 months would do it.

00:18:06 ◼   ► Anyway, one thing I think they can justify the high price by saying, "We're Yahoo.

00:18:11 ◼   ► We need people. We need good people.

00:18:13 ◼   ► The other thing is Nick DiAloisio, again, I'm sorry,

00:18:17 ◼   ► is extremely relentless and really, really good

00:18:22 ◼   ► at self-promotion.

00:18:23 ◼   ► This guy, I linked to this Gizmodo article,

00:18:27 ◼   ► which is really kind of tasteless, honestly.

00:18:29 ◼   ► I felt bad even linking, I almost didn't link to it.

00:18:31 ◼   ► - Wait, on Gizmodo? Really?

00:18:33 ◼   ► (laughing)

00:18:35 ◼   ► Weird.

00:18:36 ◼   ► - Because when, you know, you gotta keep in mind,

00:18:38 ◼   ► this is a teenager, or at least he was.

00:18:40 ◼   ► well, he's 18 now, I guess, or 17, whatever.

00:18:42 ◼   ► But this is a teenager.

00:18:45 ◼   ► If I started a company when I was a teenager

00:18:48 ◼   ► and got a whole bunch of publicity

00:18:50 ◼   ► and got all over the press and was able to email people

00:18:52 ◼   ► who were important in the industry,

00:18:54 ◼   ► I don't know that I would have acted that much better,

00:18:56 ◼   ► honestly, 'cause when I was a teenager, I was an idiot.

00:18:59 ◼   ► And I guess I'm probably going to look back at this time

00:19:02 ◼   ► in 10 years and say I was an idiot now,

00:19:04 ◼   ► but I at least feel like I'm way less of an idiot now

00:19:07 ◼   ► than I was when I was a teenager.

00:19:09 ◼   ► So I got to give this kid the benefit of the doubt that, OK, he was 15 when he started

00:19:13 ◼   ► all this stuff, and when I was 15 I was an idiot.

00:19:20 ◼   ► But he emailed this Gizmodo reporter relentlessly, like every day, making up all this stuff like,

00:19:28 ◼   ► "Oh, my boss is going to get on my back if you don't put my app in the Hall of Fame,"

00:19:31 ◼   ► or something like that, and everything was marked urgent.

00:19:34 ◼   ► So I didn't see that story when it came out, but Nick gave me a similar email barrage about

00:19:41 ◼   ► six months later trying to get me to integrate Summly into Instapaver.

00:19:48 ◼   ► The emails he sent were...

00:19:50 ◼   ► I don't want to be mean to the kid, but it was ridiculous.

00:19:55 ◼   ► He would email me multiple times a day on some of these days.

00:19:58 ◼   ► Everything was marked super urgent, even though it wasn't urgent, which is just kind of a

00:20:02 ◼   ► of a rude thing to do. And he would impose this artificial sense of urgency and everything

00:20:11 ◼   ► had to be done quickly, right now, oh my god. A lot like a high pressure car salesman. You

00:20:15 ◼   ► know, like really high pressure manipulation, I would say. And really, I was not left with

00:20:22 ◼   ► a very good impression of Nick from these emails, just because I felt like I was being

00:20:25 ◼   ► manipulated and badgered and annoyed.

00:20:30 ◼   ► And clearly, because he did the exact same thing as somebody else, I have to imagine

00:20:33 ◼   ► this is just part of his personality where he can badger the crap out of people until

00:20:38 ◼   ► they do what he wants.

00:20:41 ◼   ► And so, if you look at his company, his company has some fairly prominent investors.

00:20:48 ◼   ► He had a promotional video done with Stephen Fry, among other people he did a few things

00:20:54 ◼   ► with too.

00:20:55 ◼   ► And he has a lot of connections, obviously.

00:20:58 ◼   ► And I don't know if he badgered his way in or if he earned them or what.

00:21:01 ◼   ► This kid is really, really good at getting people on his side and badgering people into

00:21:07 ◼   ► paying attention to him and doing what he wants for his product.

00:21:10 ◼   ► So it's very possible that just Yahoo's desperation and that could have been the only two factors

00:21:17 ◼   ► that made this price go way higher than we think it probably should have.

00:21:21 ◼   ► That seems highly unlikely to me.

00:21:23 ◼   ► You didn't get these kids' emails.

00:21:24 ◼   ► I saw, I read the articles.

00:21:25 ◼   ► Yes, he's enthusiastic and annoying, but there's obviously something there that we don't know

00:21:33 ◼   ► or have information about.

00:21:34 ◼   ► There's something.

00:21:35 ◼   ► It's a bidding war, it's intellectual property, it's obviously not the product because they

00:21:39 ◼   ► can that.

00:21:40 ◼   ► So it's not that the product has a big user base that they're transferring?

00:21:43 ◼   ► No, I don't think that's it either.

00:21:44 ◼   ► It's got to be something else.

00:21:47 ◼   ► The product had less than a million downloads and no revenue.

00:21:49 ◼   ► I mean, because think about it.

00:21:51 ◼   ► If you're running a company, you can't hire a superstar person for $10 million a head.

00:21:57 ◼   ► All your existing people who are like, "Wait, aren't I a superstar?

00:22:00 ◼   ► Why didn't I get $10 million for a team?"

00:22:02 ◼   ► You just can't do that.

00:22:03 ◼   ► There's got to be something there worth money to the company besides those human beings.

00:22:09 ◼   ► I think it's clear.

00:22:10 ◼   ► I think you're right that we don't know the whole story here because obviously this still

00:22:14 ◼   ► seems ridiculous.

00:22:16 ◼   ► But I don't think there needs to be that much more to it for it to be understandable or

00:22:22 ◼   ► plausible.

00:22:24 ◼   ► I don't think they had some kind of awesome super-duper natural language processing technology

00:22:29 ◼   ► that Yahoo now owns.

00:22:30 ◼   ► I don't think that's it at all, because I saw the technology and it wasn't that compelling.

00:22:33 ◼   ► Well, it might just be patents.

00:22:34 ◼   ► Like I said, intellectual property doesn't have to actually be awesome.

00:22:36 ◼   ► It can be super-duper dumb.

00:22:37 ◼   ► In fact, those are the best kind of patents, the super-dumb patents.

00:22:40 ◼   ► I don't think they were in business long enough to get a patent issued.

00:22:43 ◼   ► The company was only 18 months old.

00:22:44 ◼   ► Oh, everybody's got a patent.

00:22:46 ◼   ► Well, and I read somewhere today, and I wish I remember where I read this, so this is probably

00:22:50 ◼   ► false since I barely remember where I read it, but somebody said that it wasn't even

00:22:55 ◼   ► their tech.

00:22:56 ◼   ► That they—it was like quasi-Siri in that they licensed the tech from someone else and

00:23:01 ◼   ► just put a UI in front of it and called it theirs.

00:23:05 ◼   ► So I agree with you, Jon, that if it's not the people, then it should be IP, but supposedly

00:23:12 ◼   ► the IP isn't theirs anyway.

00:23:14 ◼   ► So what gives?

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

00:23:18 ◼   ► I don't know.

00:23:19 ◼   ► Again, I think John's right.

00:23:22 ◼   ► There has to be something else here that has not been reported.

00:23:25 ◼   ► Well, and if it's the desperation of Yahoo, something that I've heard or I've read

00:23:30 ◼   ► a lot about lately is how desperate Apple is.

00:23:33 ◼   ► So how far is Apple from being in this position?

00:23:36 ◼   ► And I know that's kind of a ridiculous and absurd thing to ask, but it's also kind

00:23:41 ◼   ► of a legitimate thing to ask.

00:23:42 ◼   ► I mean, is Apple really where the super incredible mega nerds

00:23:47 ◼   ► want to be these days?

00:23:49 ◼   ► That's a very good question.

00:23:51 ◼   ► I've heard a lot of things, rumors and some things

00:23:54 ◼   ► from people in Apple, that they have a lot of problems

00:23:57 ◼   ► retaining good talent.

00:23:59 ◼   ► Getting good talent-- maybe getting good talent

00:24:01 ◼   ► they still are OK with, but retaining good talent,

00:24:04 ◼   ► they're having a big problem there.

00:24:06 ◼   ► It makes sense that they have trouble retaining,

00:24:08 ◼   ► because the way Apple works is if you

00:24:12 ◼   ► or a really smart, great performer, lots of talent, can do lots of different things, you're

00:24:19 ◼   ► not going to go to Apple and get to do what you want to do.

00:24:23 ◼   ► Because the company does so few things, like it's focused, right?

00:24:26 ◼   ► So you can help contribute to what may be a big deal, but you're not going to go, "You

00:24:31 ◼   ► know, I have this really great idea for this thing," and Apple's going to be like, "No."

00:24:34 ◼   ► They shoot down everyone's idea.

00:24:36 ◼   ► Only very, very few ideas actually get implemented.

00:24:38 ◼   ► So eventually, after you've worked on one or two things that Apple decided to do and

00:24:44 ◼   ► you were important in contributing to them or whatever, you will inevitably say, "Well,

00:24:49 ◼   ► you know what?

00:24:50 ◼   ► But now I want to actually do the thing that I was thinking of that I think is cool."

00:24:52 ◼   ► There's no way for you to do that inside of Apple.

00:24:55 ◼   ► So you inevitably have to leave.

00:24:56 ◼   ► And it's not like the fault of Apple for doing this because they have to be focused as a

00:25:01 ◼   ► company.

00:25:02 ◼   ► But if you get really smart and multi-talented people, you can't keep them in this community

00:25:08 ◼   ► confined place where they can only contribute to the one or two or three things that are

00:25:12 ◼   ► important for Apple to do. They will want to go off on their own, even if it's just

00:25:15 ◼   ► like, you know, like, I just want to go off and make letterpress or something. Like, you

00:25:21 ◼   ► know, Apple's not interested in that, but maybe you are, and you can't do that with

00:25:24 ◼   ► an Apple. And so you're like, "Alright, well, you know, I worked on this, I worked

00:25:28 ◼   ► on that, they were great, it's really important work, lots of people use it, but I just want

00:25:31 ◼   ► to do my thing." So, I think that's inevitable.

00:25:34 ◼   ► I think also you can kind of get some idea that most of the people I know, and maybe

00:25:41 ◼   ► this is just the people I've observed because it's who I follow on Twitter or whatever,

00:25:44 ◼   ► but most of the people I know who have left Apple have gone to much smaller companies.

00:25:51 ◼   ► Oftentimes they've gone to start a startup.

00:25:54 ◼   ► And I think it's part of what you said, John.

00:25:56 ◼   ► It's part of them wanting to do something on a much smaller scale where they can have

00:25:59 ◼   ► a bigger role or make a product that Apple would never make.

00:26:03 ◼   ► But I think part of it also is that Apple has created this entire environment, this

00:26:09 ◼   ► entire ecosystem of small startups being able to succeed and one person shops being able

00:26:14 ◼   ► to succeed on the App Store.

00:26:18 ◼   ► And their people being in charge of this stuff or working on the frameworks or working in

00:26:24 ◼   ► this world or at least being surrounded by other developers who are working in this world,

00:26:29 ◼   ► That has to be very tempting for people who work inside of Apple to be looking at all

00:26:34 ◼   ► these other people making probably way more money than they make at their job at Apple

00:26:38 ◼   ► and doing really cool things and making products from scratch and having no boss.

00:26:45 ◼   ► To watch that from the inside and not be able to participate, that has to be very tempting.

00:26:53 ◼   ► I bet that pulls a lot of people out of Apple.

00:26:55 ◼   ► But isn't the converse also true in the sense that, let's say I was a middle-of-the-road

00:27:01 ◼   ► self-employed iOS developer, and I have a few apps or maybe just one app in the App

00:27:08 ◼   ► Store that's popular but not, it's barely self-sustaining.

00:27:13 ◼   ► And then Apple says to me, "Hey, why don't you interview with us?"

00:27:16 ◼   ► I can't imagine I would be like, "No, I really like being my own person."

00:27:21 ◼   ► And it's hard for me to fathom what it's like to be self-employed because I've worked for

00:27:26 ◼   ► the man my entire life.

00:27:28 ◼   ► But I guess what I'm saying is if I was not a superstar, if I was just a regular Joe who

00:27:34 ◼   ► was trying to do his own thing in the app store and Apple said, "Hey, we've seen what

00:27:38 ◼   ► you do and we really like it and we'd like you to interview," I got to imagine I'd be

00:27:43 ◼   ► thrilled at that opportunity.

00:27:44 ◼   ► I would be so beside myself.

00:27:45 ◼   ► I know.

00:27:46 ◼   ► They want you to move to California, though.

00:27:47 ◼   ► How do you feel about it now?

00:27:48 ◼   ► Well, and that's a very, very fair point.

00:27:51 ◼   ► Because they don't do the telecommuting thing, really.

00:27:54 ◼   ► And that's another limiting factor.

00:27:56 ◼   ► You want to work for Apple, you've got to live in Appleland, and living in Appleland

00:27:59 ◼   ► is expensive, and maybe that's not where your family is, and maybe that's not where

00:28:01 ◼   ► you want to live.

00:28:02 ◼   ► And if you do live out there, you have a lot of competition for that job.

00:28:08 ◼   ► People have a lot of competition for an employer.

00:28:11 ◼   ► If you live out there already, then you can go work for any number of big tech companies

00:28:16 ◼   ► plus an infinite number of small ones.

00:28:18 ◼   ► And that's a really good point. It really honestly is. And I'm hypothesizing, I don't

00:28:25 ◼   ► know what any of this is like, but I guess what I'm saying is as much as Apple is arguably

00:28:30 ◼   ► bleeding talent, I can't imagine that it's that hard for them to find new talent. That

00:28:35 ◼   ► being said, a revolving door is clearly not a sustainable approach. So I don't know, it's

00:28:41 ◼   ► an odd thing to think about.

00:28:43 ◼   ► Yeah, I think it's not just the people who go there, are a superstar, do something awesome,

00:28:50 ◼   ► design the UI for the original iOS or the iPhone OS as it was then known, launch the

00:28:54 ◼   ► original iPhone, maybe do one or two other projects and say, "All right, well, now I

00:28:58 ◼   ► feel like I have all the talents under my belt to do Brady's basically whatever I want,

00:29:02 ◼   ► and I want to be the one in charge."

00:29:03 ◼   ► Because you can only have so many chiefs.

00:29:05 ◼   ► It's mostly got to be Indians, especially at a company like Apple.

00:29:08 ◼   ► You only do a limited number of things, only a limited number of people are in charge.

00:29:11 ◼   ► Is this an H1B reference or?

00:29:13 ◼   ► Native Americans Marco. I don't know if we're allowed to call them

00:29:18 ◼   ► We've taken a turn

00:29:21 ◼   ► So like there's there's that feeling that you want to like I want to be the guy who calls the shots, right?

00:29:27 ◼   ► And so that those people go off and do that

00:29:29 ◼   ► But it's not just the people who are like well I came in at the bottom

00:29:32 ◼   ► I learned some stuff and now I'm able to go off on my own

00:29:34 ◼   ► It was like, you know, like you said you can make more money

00:29:36 ◼   ► My friends are making these hit applications and making tons more money than I am

00:29:39 ◼   ► I could be a proprietor of my own business.

00:29:41 ◼   ► I could have unlimited income, limited only by my success, not by a review process and

00:29:45 ◼   ► like cost of living raises and bonuses and maybe stock options are unlucky.

00:29:49 ◼   ► Think about Bertrand, Bertrand Cerlet, who was one of the guys in charge, making presumably

00:29:55 ◼   ► tons of money.

00:29:57 ◼   ► He didn't leave Apple because he didn't get to be in charge of stuff.

00:30:02 ◼   ► He wasn't Steve Jobs, but he was like two or three rungs down from there.

00:30:06 ◼   ► There's very few people who have that level of power.

00:30:09 ◼   ► And he certainly wasn't, "Oh, well, I'm so bitter that these people are making money

00:30:12 ◼   ► in the App Store."

00:30:13 ◼   ► He just wanted to go and do something different.

00:30:16 ◼   ► And no matter where you are, except maybe if you're at the very, very top of that pyramid,

00:30:21 ◼   ► if you have an itch to go do something, you can't do it with an apple if it's not something

00:30:26 ◼   ► that Apple wants to do.

00:30:27 ◼   ► And so he left to do whatever his secret startup is right now.

00:30:32 ◼   ► He didn't retire to sit on the beach and count his money and watch the waves come.

00:30:38 ◼   ► He had an intellectual itch, and he wanted to do something, and so he left to do it.

00:30:45 ◼   ► That's inevitably going to happen in a company where you hire people who...

00:30:49 ◼   ► Because that's what you want in your company, people who could be the Steve Jobs of their

00:30:53 ◼   ► own company.

00:30:54 ◼   ► But you want them to work for you, and you want to get them as long as you possibly can

00:31:00 ◼   ► and get what you can out of them, but I don't think Apple is bitter that they go off and

00:31:03 ◼   ► do things on their own. If we have an employee who couldn't leave Apple and go off and

00:31:08 ◼   ► do better for themselves, maybe we didn't make the right hire. That's the calculus

00:31:13 ◼   ► there. They want all people who could do better outside of Apple, but they want to keep them

00:31:17 ◼   ► for as long as they can and get the best work out of them, I guess.

00:31:22 ◼   ► I think it's interesting maybe to distinguish. We're talking about how Apple's having

00:31:27 ◼   ► trouble getting talent, but that seems to be mostly at the lower levels of the company

00:31:32 ◼   ► and the mid-levels of the company. At the upper levels of the company, they seem to

00:31:35 ◼   ► have, for the most part, pretty strong loyalty and pretty long-running people there.

00:31:41 ◼   ► Well, executives, can a middle manager go off and do their own thing and be as successful

00:31:51 ◼   ► as they are as Apple? No, because at a certain point when you get high enough—Bertrand

00:31:54 ◼   ► is an exception because he was in the engineering organization, but there are people who are

00:31:57 ◼   ► just managers. If you're a long-time manager at Apple, you're going to be making lots

00:32:01 ◼   ► of money. Maybe you don't care that you don't get to tell the company what the company

00:32:04 ◼   ► gets to do. There's room for middle management everywhere. Those people aren't going to

00:32:09 ◼   ► leave voluntarily.

00:32:10 ◼   ► Yeah, I guess that's true. If you look at other companies, I think Apple is pretty good

00:32:15 ◼   ► at retaining the upper people. I guess the question is, the upper people, obviously,

00:32:23 ◼   ► frequent changes there would probably be way more disruptive to the company than frequent

00:32:28 ◼   ► changes at the lower levels of the company. Are frequent changes at the lower levels really

00:32:34 ◼   ► something that they should be worried about, or should they just keep trying to make the

00:32:38 ◼   ► best stuff and keep retaining the upper people and just hope that the lower people keep coming

00:32:45 ◼   ► in faster than they're going out?

00:32:47 ◼   ► I think they probably need to figure out some way to prolong the really smart people's

00:32:54 ◼   ► stay by giving them some way to flex their independence and desire to do something.

00:32:58 ◼   ► Like it's totally against Apple's MO to do the computer equivalent of concept cars,

00:33:04 ◼   ► or have something like Google Labs, or 20% time.

00:33:07 ◼   ► Those are just not in Apple's culture.

00:33:10 ◼   ► But Apple culture is so far in the other direction.

00:33:12 ◼   ► If you can just give people some outlet within that structure to say, "There is a slim chance,

00:33:19 ◼   ► however slim," it's like the lottery, "however slim that you may be able to get us to do

00:33:23 ◼   ► your crazy idea."

00:33:25 ◼   ► Think of the original Xbox.

00:33:26 ◼   ► I think it was J.L.R. and maybe one other person had the idea, "You know what?

00:33:30 ◼   ► Microsoft should do a gaming console."

00:33:32 ◼   ► And they were not vice presidents when they came up with this idea.

00:33:35 ◼   ► They were pretty much rank and file employees who had been there for a while but were not

00:33:39 ◼   ► in a position to say Microsoft should make a game console, but they were able to take

00:33:44 ◼   ► that idea and pitch it up up up the ladder and eventually convince Microsoft to make

00:33:48 ◼   ► a game console and they became a big part of that process.

00:33:51 ◼   ► Not like say, oh good, that's a great idea guys, now go back and toil.

00:33:54 ◼   ► No, they became, you know, bigwigs in charge of that project.

00:33:58 ◼   ► That can happen inside Microsoft, or at least happen once.

00:34:01 ◼   ► There are plenty of people in lower positions in Apple whose ideas come to fruition and

00:34:05 ◼   ► become a big type of thing, but I'm not sure they go with those ideas up the ladder.

00:34:10 ◼   ► So if you could just make some sort of forum within the company for these independent people

00:34:14 ◼   ► to come up with something that it's possible to pitch its way up and become the next big

00:34:20 ◼   ► pillar on the stool, even if that only happens once every 10 years or something.

00:34:23 ◼   ► I don't know.

00:34:24 ◼   ► None of us have ever worked for Apple, so we're all just speculating on the outside

00:34:28 ◼   ► what it might be like.

00:34:31 ◼   ► I think that type of 20% time, however BS it is at Google these days, and Google Labs

00:34:36 ◼   ► type things, in the pre-Google+ days, let's say, before Google tried to become maniacally

00:34:41 ◼   ► focused, that was a lot of the reason I think a lot of really smart people stayed at Google.

00:34:46 ◼   ► Because whether anything actually came to fruition or not, there was the idea that it

00:34:50 ◼   ► was a bunch of smart people doing lots of interesting things in all sorts of directions,

00:34:54 ◼   ► and why would you leave to go anyplace else?

00:34:56 ◼   ► Because here they give you a nice salary, they feed you, they take care of you, you

00:35:00 ◼   ► have health insurance, it's a nice job, and you kind of sort of get to do whatever you

00:35:04 ◼   ► want.

00:35:05 ◼   ► Who knows that thing, whatever you want, could become the next Gmail, because that's where

00:35:06 ◼   ► Gmail came from, right?

00:35:08 ◼   ► Or the next Google Reader before, you know.

00:35:11 ◼   ► So like that environment within Google, that environment within Google, the pre-Google

00:35:15 ◼   ► Plus Google, I think that served as a magnet to pull people into Google and to keep people

00:35:21 ◼   ► into Google.

00:35:22 ◼   ► Maybe the wrong kind of people, maybe not the kind of people Apple wants, but Apple

00:35:25 ◼   ► needs just a tiny little taste of that, a little bit more than they have now, and I

00:35:29 ◼   ► that would help them keep people for, say, six months longer.

00:35:33 ◼   ► Yeah, hopefully longer than that.

00:35:36 ◼   ► But yeah, I think that's wise.

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

00:35:39 ◼   ► Casey, what do you think?

00:35:41 ◼   ► I agree with everything you said.

00:35:43 ◼   ► What's hard for me to reconcile is if you look at the big players in California—and

00:35:48 ◼   ► let me hedge heavily by saying I'm an East Coast guy, I've only been to California

00:35:52 ◼   ► a handful of times in my life, in fact, at least half of them were for WWDC—I don't

00:35:58 ◼   ► what the culture and what the technology sector looks like out there.

00:36:03 ◼   ► So I apologize for getting all the following wrong, email Marco.

00:36:06 ◼   ► But if you're a really bright engineer and you're really passionate about writing code,

00:36:14 ◼   ► where are your options?

00:36:15 ◼   ► I mean, you can go to Microsoft, but most people would perceive that as just corporate

00:36:19 ◼   ► stuageland.

00:36:21 ◼   ► You can go to Google, which means your entire purpose in life is to sell ads.

00:36:26 ◼   ► You can go to Yahoo, which means you're the only bright star in a cloudy sky,

00:36:31 ◼   ► which some people might like, but is not my cup of tea.

00:36:34 ◼   ► Or you can go to Apple.

00:36:36 ◼   ► And at least Apple is devoted to pleasing customers as opposed to telling

00:36:44 ◼   ► customers they're out to please them and actually in their eyeballs for

00:36:47 ◼   ► advertisements.

00:36:48 ◼   ► Does that make sense?

00:36:50 ◼   ► Like, I don't see why anyone else would be compelling with the exception, as you

00:36:54 ◼   ► guys mentioned of startups, but I don't know, I guess I'm so risk adverse that that doesn't

00:36:59 ◼   ► seem that compelling to me either.

00:37:01 ◼   ► Well, that's one of the reasons that I think that senior executives stay as well, is because

00:37:04 ◼   ► especially if you're a senior executive, like it's the, you know, you want to sell sugar

00:37:08 ◼   ► water for the rest of your life or come with me and change the world.

00:37:10 ◼   ► Like those executives really feel like they can have the biggest impact on the world by

00:37:17 ◼   ► being a regular good old middle manager in Apple, then being a regular good old middle

00:37:23 ◼   ► manager at Coca-Cola or GM or Procter & Gamble, because they don't feel like they can go to

00:37:28 ◼   ► parties.

00:37:29 ◼   ► "Oh, I work for Apple.

00:37:30 ◼   ► Yes, I'm a very important person.

00:37:31 ◼   ► You know the iPod?

00:37:32 ◼   ► You've heard of that?

00:37:33 ◼   ► Yeah, that's the company that I work for."

00:37:34 ◼   ► You know what I mean?

00:37:35 ◼   ► There's all sorts of angles to that, but there really is a chance.

00:37:37 ◼   ► And same thing for engineers.

00:37:38 ◼   ► To do something that you think will have an impact that used to be Microsoft, that was

00:37:44 ◼   ► certainly Google and probably still is Google, because you could say you work for Google,

00:37:47 ◼   ► and that like, I don't know, we call it job satisfaction, or feeling like your job is

00:37:51 ◼   ► important and can change the world. You're not just toiling away. And I think Apple is

00:37:55 ◼   ► just as much a corporate student job as Microsoft or any other place. It's a big corporation.

00:37:59 ◼   ► It's like, it is what it is. It's not crazily different than any other large corporation,

00:38:05 ◼   ► like say, Valve or something, where it's totally outside the realm of expectations. They have

00:38:08 ◼   ► managers and employees and teams, and there may be a couple of things that are different

00:38:12 ◼   ► about them. And certainly at the top levels, the company behaves very differently in terms

00:38:15 ◼   ► of focus and everything, but to employees, I don't know. I don't think it's that

00:38:22 ◼   ► different.

00:38:23 ◼   ► Maybe it's naïve of me, but I feel like Microsoft's purpose in life—maybe up until

00:38:27 ◼   ► recently, but Microsoft's purpose in life was to please other companies. And Yahoo's

00:38:33 ◼   ► purpose in life is to buy cool things and ruin them. And Google's purpose in life—

00:38:39 ◼   ► Google buys cool things and ruins them, too.

00:38:41 ◼   ► That's true.

00:38:42 ◼   ► And Google's purpose in life is to sell advertisements.

00:38:45 ◼   ► And at least Apple's building cool stuff, right?

00:38:50 ◼   ► If you're going to choose a corporate stooge job, and I think John, you're right.

00:38:53 ◼   ► Apple's more corporate stooge-y than I care to admit.

00:38:56 ◼   ► But if you're going to choose a corporate stooge job on the left coast, is Apple not

00:39:01 ◼   ► the best option?

00:39:03 ◼   ► It also depends on what kind of person you are.

00:39:05 ◼   ► Here's the problem we were talking about with Apple and its services.

00:39:09 ◼   ► Say you are someone who does something on the server side, data centers, infrastructure

00:39:15 ◼   ► type software, you don't want to go work for Apple because Apple has not shown that it

00:39:20 ◼   ► values those people or that part of its business.

00:39:23 ◼   ► It just wants it to work, doesn't want to hear about it.

00:39:25 ◼   ► And the smartest, best server side people are not going to go work.

00:39:29 ◼   ► They don't want to work at Apple because they want to be valued.

00:39:31 ◼   ► If they go work at Google, they're practically gods.

00:39:34 ◼   ► You get to work on GFS version 3 or Spanner or whatever these infrastructure things like

00:39:39 ◼   ► Like, those are like serious business.

00:39:42 ◼   ► That's the whole company, right?

00:39:44 ◼   ► But at Apple, you're just like, we don't want to hear you or know who you are or anything

00:39:48 ◼   ► about you.

00:39:49 ◼   ► And all we ever hear is that you're screwing up and just make it like, the people who get

00:39:53 ◼   ► the glory are either the iPhone interface or I'm designing the next piece of hardware

00:39:56 ◼   ► I work on the operating system.

00:39:58 ◼   ► Nobody's getting any glory or any fame or any recognition or putting anything in open

00:40:03 ◼   ► source or contributing to anything who's working on server-side at Apple.

00:40:06 ◼   ► Forget it.

00:40:07 ◼   ► Apple, I think, cannot hire those people.

00:40:09 ◼   ► We're talking about like, oh, if you're a client-side programmer,

00:40:13 ◼   ► or if you're a designer, yeah.

00:40:15 ◼   ► Designers want to go to Apple.

00:40:16 ◼   ► Client-side native app people want to go to Apple.

00:40:19 ◼   ► But if you're a web developer or server-side person,

00:40:22 ◼   ► you don't want to go to Apple, probably.

00:40:24 ◼   ► That's not entirely true.

00:40:27 ◼   ► I think that's mostly true.

00:40:29 ◼   ► But if you happen to be one of the six people on the planet that

00:40:32 ◼   ► knows how to do web objects, I think you can--

00:40:35 ◼   ► Yeah, it's like COBOL.

00:40:36 ◼   ► They're gathering up the COBOL programmers.

00:40:38 ◼   ► No, you're right.

00:40:39 ◼   ► You're right.

00:40:40 ◼   ► But I think that the six people that do WebObjects in the world and an acquaintance of a friend

00:40:47 ◼   ► of a friend of a friend does WebObjects and actually lives nearby to where I live, and

00:40:53 ◼   ► he works for Apple because, or at least that's my understanding.

00:40:57 ◼   ► I could be totally wrong.

00:40:59 ◼   ► But my point is if you do one of the things that Apple does that nobody else does, like

00:41:05 ◼   ► objects, you can pave your own way.

00:41:08 ◼   ► John "Slick" Baum: But I'm saying like, that's why Apple's

00:41:09 ◼   ► having trouble hiring the people they need to make their server

00:41:12 ◼   ► side stuff better, because hiring a bunch of web objects

00:41:15 ◼   ► programmers is not going to help them make their stuff better,

00:41:18 ◼   ► right? They want the people who are taking the jobs elsewhere

00:41:20 ◼   ► who are going to come up with the next big thing, or at least

00:41:22 ◼   ► just bring Apple up to date with like, 10 years ago, tech or I,

00:41:25 ◼   ► you know, they're so far behind. And so out in the weeds on this,

00:41:28 ◼   ► they just want to get good server side people to do their

00:41:32 ◼   ► stuff. And I bet it's not just that maybe they can get the good service-high people. Once the

00:41:37 ◼   ► good service-high people get there and they go, the first thing they want to do is, "We've got to

00:41:40 ◼   ► get rid of this WebObjects crap. What the hell are you guys doing?" And they'll find out that the

00:41:44 ◼   ► culture is like, "No, we can't get rid of the WebObjects. It runs in the iTunes store that sells

00:41:48 ◼   ► 20 hodgillion songs every three seconds, and you can't break it, and you're not going to

00:41:53 ◼   ► rewrite it in something else. Just help us get better, but don't change anything." That type of

00:41:57 ◼   ► attitude, that is totally, you know, talk about corporate student jobs, like that's

00:42:02 ◼   ► the way it is. I mean, there are realities that have to be dealt with. You can't come

00:42:05 ◼   ► in and say, "No, no, no, no, no, like the Apple store, that should not be written that

00:42:09 ◼   ► way. You just got to get rid of it and replace it with something else." That's not a big,

00:42:13 ◼   ► you know, what's the payoff? So we're going to risk destroying our entire, you know, multi-billion

00:42:18 ◼   ► transaction business. From what's the benefit at the end? Oh, that we're not on web. It's

00:42:23 ◼   ► all, well, you have to see it. It'll give you a path forward and you'll be able to,

00:42:26 ◼   ► like it's so hard to sell those type of projects, right?

00:42:29 ◼   ► - Well, that's true. - And so I think

00:42:30 ◼   ► those people go there and then realize

00:42:33 ◼   ► that they're not gonna be able to change anything

00:42:34 ◼   ► and then leave and get a job at Facebook.

00:42:36 ◼   ► - And that's true until you have somebody like The Verge

00:42:39 ◼   ► writing an article about how crummy iCloud is.

00:42:42 ◼   ► - That's not the server-side guy's fault.

00:42:44 ◼   ► (laughs)

00:42:45 ◼   ► - Is it not? - No, no.

00:42:47 ◼   ► - Well, we'll get to that in a minute.

00:42:48 ◼   ► Before that, let me give our sponsor break here.

00:42:50 ◼   ► This episode is once again sponsored by Squarespace.

00:42:55 ◼   ► Squarespace is just an awesome way to make a website and have it hosted and designed

00:42:59 ◼   ► and managed for you.

00:43:00 ◼   ► It is fantastic.

00:43:02 ◼   ► It's a website hosting platform.

00:43:04 ◼   ► You can put up your blog.

00:43:05 ◼   ► You can put up a store, a portfolio, a site for your business, a site for your music.

00:43:11 ◼   ► Whatever you want to do, you can put it up on Squarespace.

00:43:15 ◼   ► Plans start at just $10 a month and really, I mean, it could not be easier.

00:43:19 ◼   ► They have a whole bunch of great templates designed by professional designers and if

00:43:24 ◼   ► If you want to jump in and customize all the CSS and HTML and JavaScript, you can do all

00:43:28 ◼   ► that.

00:43:29 ◼   ► Our site is hosted there, ATP.fm.

00:43:32 ◼   ► You can check it out.

00:43:33 ◼   ► That's totally a Squarespace site with minimal hacking involved.

00:43:37 ◼   ► If you don't want to mess with the hacking, you don't have to.

00:43:40 ◼   ► You can just go there and sign up and move stuff around, drag and drop.

00:43:43 ◼   ► Everything is hosted.

00:43:44 ◼   ► It is just so low needs and awesome.

00:43:48 ◼   ► I really can't overstate this enough.

00:43:54 ◼   ► website on Squarespace is just so ridiculously easy. It's where I tell everybody in my life

00:43:58 ◼   ► who asks me, "Oh, how do I make a site? Where should I host this? Could you help me with

00:44:02 ◼   ► this?" I say, "Yes, I can help you. I will tell you to go to Squarespace, and that's

00:44:06 ◼   ► it. Go there. That's it." It's like telling people who

00:44:10 ◼   ► want tech support, it's like telling them to just get a Mac. Because you know you can give them that directive

00:44:14 ◼   ► and they won't come back to you, calling you every five minutes with some problem, and making you fix their computer.

00:44:18 ◼   ► Squarespace is that for web hosting and website

00:44:22 ◼   ► construction. Trust me, it is awesome. Go check out Squarespace. You can use our

00:44:27 ◼   ► coupon code ATP3 for Accidental Tech Podcast in the month of three. That's

00:44:33 ◼   ► code ATP3. Use that code at checkout to save 10% and again plans are at $10 a

00:44:39 ◼   ► month. You can even sell stuff. You can do commerce. I can't even

00:44:42 ◼   ► fit everything they do into one ad break. Believe me, Squarespace is great. You can

00:44:47 ◼   ► host any kind of website you want. A beautiful site and you don't have to

00:44:50 ◼   ► worry about hosting, you don't have to worry about designing everything from

00:44:54 ◼   ► scratch, it's all done for you. It's fantastic. Go to squarespace.com

00:44:58 ◼   ► and check it out today. And thanks to Squarespace for supporting us once again.

00:45:02 ◼   ► So there's this article on the Verge called "Why

00:45:06 ◼   ► Doesn't iCloud Just Work?" and it's getting a lot of attention. And I think

00:45:10 ◼   ► this is worth a little bit of discussion here. And there was a great follow-up

00:45:14 ◼   ► from Brent Simmons that we'll get to in a little bit. But

00:45:18 ◼   ► I mean, what do you think about this article?

00:45:21 ◼   ► It basically cites a lot of users and developers

00:45:25 ◼   ► basically all saying, we tried to build iCloud sync

00:45:28 ◼   ► into our apps, and it just didn't work,

00:45:29 ◼   ► and we had to cancel it.

00:45:32 ◼   ► The problem I had with it was very few of the developers

00:45:35 ◼   ► were named.

00:45:35 ◼   ► And I don't blame them, because if it were me,

00:45:37 ◼   ► I wouldn't want to be named.

00:45:39 ◼   ► I have tremendous respect for-- I

00:45:41 ◼   ► think Pasco from Black Pixel was named.

00:45:46 ◼   ► I think Justin Williams was named.

00:45:47 ◼   ► And I have tremendous respect for those who were named.

00:45:50 ◼   ► But I don't think the message was unfair or invalid.

00:45:56 ◼   ► Everything I've ever heard from both prominent people whom

00:45:59 ◼   ► I follow on Twitter, for example, and even friends

00:46:02 ◼   ► whom do this locally, or who do this locally, all of them

00:46:06 ◼   ► have said--

00:46:06 ◼   ► You said boom too much.

00:46:07 ◼   ► Yeah, I know.

00:46:08 ◼   ► You saw that feedback, didn't you?

00:46:10 ◼   ► Anyway, the people who I know that do this locally,

00:46:13 ◼   ► everyone has universally said it's crap.

00:46:16 ◼   ► So in the same way that auto layout is either crap or so impossibly difficult to get right

00:46:22 ◼   ► that it's effectively crap, it's all crap, I tell you.

00:46:26 ◼   ► No, this is much worse than auto layout.

00:46:28 ◼   ► It is.

00:46:30 ◼   ► It really is.

00:46:31 ◼   ► But I mean, so at what point is this wheel squeaky enough for Apple to really fix it?

00:46:35 ◼   ► And can they fix it?

00:46:36 ◼   ► I know, John, you've talked at length about how you're skeptical whether they can.

00:46:39 ◼   ► Well, this is separate issues.

00:46:41 ◼   ► That's why I said that the iCloud Core Data thing, and that's specifically what we're

00:46:44 ◼   ► talking about here is it's not so much the server side people sort. The server side people

00:46:48 ◼   ► have the answer for, yeah, the server side stuff being flaky or whatever. But as far

00:46:54 ◼   ► as I can tell from listening to all the same developers and talking to some of them in

00:46:57 ◼   ► person and reading all the different articles in their blogs, it's a design problem. It's

00:47:02 ◼   ► a high-level, box-level design and also an API design problem. The high-level design

00:47:09 ◼   ► is like, is there a way to have 17 different devices with just a bunch of, you know,

00:47:14 ◼   ► related objects stored in local databases and get them all to sync together without having,

00:47:19 ◼   ► without doing like what Google does, which is like, okay, well, Google has your mail,

00:47:23 ◼   ► your email is on their servers, and that is the one source of truth in the entire world.

00:47:28 ◼   ► And when you pull it up in your web browser, you're not like synchronizing the state on your

00:47:31 ◼   ► web browser for that thing. It's just like, oh, well, I can, there's one central source

00:47:35 ◼   ► of truth everywhere and everyone synchronizes with that and all their actions like modified.

00:47:39 ◼   ► this is a bunch of local things to do modifications, then they all try to synchronize with each other

00:47:42 ◼   ► later, sort of in a peer-to-peer type fashion. And I'm not sure that conceptually and algorithmically

00:47:49 ◼   ► they've worked out how that's supposed to work for arbitrary object models. Because with Core Data,

00:47:54 ◼   ► you could make up your own object model and make your own relations between things.

00:47:57 ◼   ► It's not a fixed schema. It's not schema-less. But they don't know how your application works. So

00:48:06 ◼   ► So they're trying to make a general purpose system for any sort of tree of objects that

00:48:12 ◼   ► you can modify in any sort of way, and that later go to another thing that has its own

00:48:16 ◼   ► tree of objects that's in a different state, modify that one, and then have the two reconcile

00:48:20 ◼   ► themselves with each other and have that actually work.

00:48:23 ◼   ► Sometimes you don't even know what's supposed to happen.

00:48:26 ◼   ► So that's the first problem.

00:48:27 ◼   ► The second problem is it looks like the API design that's on top of this conceptual thing

00:48:31 ◼   ► doesn't give the developers nice ways to do the things they want, because the problems

00:48:35 ◼   ► complicated, like one of the ones they put in the articles. What if someone takes my app,

00:48:39 ◼   ► starts doing stuff with it, essentially builds an object model for their data,

00:48:43 ◼   ► and then they sign into iCloud? And their iCloud account, they had previously installed this

00:48:48 ◼   ► application elsewhere, and they had a bunch of object data from there. How do I reconcile?

00:48:54 ◼   ► Do I erase everything that I have and replace it with their iCloud version of this thing? Do I try

00:48:59 ◼   ► to merge the two? What if they're not related at all? It is just a nightmarish type problem.

00:49:04 ◼   ► And I think conceptually, like, ignore bugs, ignore server availability,

00:49:07 ◼   ► ignore service speed, ignore visibility of anything.

00:49:10 ◼   ► I just think conceptually, they don't have something that is nailed down

00:49:15 ◼   ► that will work 100% of the time.

00:49:16 ◼   ► And then layer on top of that, oh, well, you know, there are bugs

00:49:20 ◼   ► and there are APIs that there's no hook for me to say,

00:49:23 ◼   ► "Hey, tell me when this thing changes."

00:49:25 ◼   ► And sometimes it gets corrupted and it gets wedged

00:49:27 ◼   ► and you can't tell what's wrong because I have no API to query,

00:49:29 ◼   ► is this thing available, is it not available,

00:49:31 ◼   ► has new data come in, has new data not come in.

00:49:33 ◼   ► Like, it's just failure on top of failure on top of failure, and it's not just one thing.

00:49:37 ◼   ► So that's why I think, like, get the best service side people in the world. It's not going to save

00:49:42 ◼   ► them from this, because they still have seven other layers of things that have gone wrong with

00:49:45 ◼   ► this specifically. And I think the conceptually simpler ones, like the key value storage and

00:49:49 ◼   ► document storage, because there's a solid design under there, whether it's like, "Well, last update

00:49:55 ◼   ► wins," like in key value, I think key value is less update wins, and something a little more

00:49:58 ◼   ► sophisticated for document, it's like a very simple conceptual model, then they can put an

00:50:02 ◼   ► an implementation on top of that, which may or may not have a few bugs, but it's okay,

00:50:06 ◼   ► and there's enough visibility into it, and you can get stuff done.

00:50:08 ◼   ► Like, I mean, we're all developers.

00:50:10 ◼   ► You know what it's like when you start programming something, and you didn't think it through

00:50:13 ◼   ► conceptually to begin with?

00:50:15 ◼   ► There's no amount of typing you can do after that to make it better.

00:50:17 ◼   ► You have to just go, "Wait, wait, wait a second.

00:50:19 ◼   ► What the hell am I doing here?

00:50:20 ◼   ► This is never going to work right.

00:50:21 ◼   ► I haven't even thought it through yet.

00:50:23 ◼   ► I can't just start blindly typing and putting in weird cases and try to make this work."

00:50:27 ◼   ► And that's a situation I think they're in with iCloud Core Data stuff.

00:50:31 ◼   ► stuff.

00:50:32 ◼   ► Yeah, and I think from what I've heard and from what I've seen from other developers,

00:50:35 ◼   ► I haven't done much with iCloud. I should say that upfront. The only thing I've done

00:50:38 ◼   ► with iCloud was a very basic feature of syncing your position and currently read article in

00:50:44 ◼   ► the magazine, which works sometimes.

00:50:46 ◼   ► What did you say? Was that key value stuff?

00:50:49 ◼   ► Yeah, I just used key value because it's just way easier. Literally, I'm just storing

00:50:54 ◼   ► article positions in each article because that's small, and I'm storing, there's

00:50:59 ◼   ► that tells me what article you're currently reading. That's it.

00:51:04 ◼   ► The main concerns I've heard have been what you said, the core data sync,

00:51:09 ◼   ► which is I have this whole database of objects in my app.

00:51:14 ◼   ► When iLab was unveiled, I believe Steve Jobs was doing this part of the presentation,

00:51:19 ◼   ► he even said, "And it works with the core data.

00:51:24 ◼   ► and it just works.

00:51:29 ◼   ► I think that got a huge applause because

00:51:30 ◼   ► the whole audience was blown away.

00:51:33 ◼   ► Really?

00:51:38 ◼   ► Because that's a really hard problem.

00:51:38 ◼   ► That's amazing.

00:51:40 ◼   ► He should have said, "No, not really."

00:51:41 ◼   ► Just kidding.

00:51:43 ◼   ► And so we were promised that this would work

00:51:45 ◼   ► and so a lot of developers relied on that.

00:51:49 ◼   ► So the core data sync, that I've always heard

00:51:50 ◼   ► has been a complete disaster.

00:51:50 ◼   ► But I think-- and the key value storage is fine and everything.

00:51:53 ◼   ► Documents-- I don't know a lot of developers who've

00:51:55 ◼   ► used the document model, because originally everybody just

00:51:57 ◼   ► did either key value or core data if they could.

00:52:01 ◼   ► Well, there are things that do documents.

00:52:03 ◼   ► And to be unfair to the server side of people,

00:52:07 ◼   ► like back in the iOS 5 days, almost nothing worked right.

00:52:10 ◼   ► Like, key value is obviously the simplest.

00:52:12 ◼   ► And that has mostly-- and document storage mostly worked,

00:52:15 ◼   ► but had some kind of annoying bugs and quirks.

00:52:17 ◼   ► Even that can be a little bit weird.

00:52:19 ◼   ► So all these things were flaky to begin with, but the reason this is coming to a head now

00:52:23 ◼   ► is because, all right, these things have had time to stew. iCloud didn't come out three

00:52:28 ◼   ► months ago, right? iCloud is not brand spanking new. All these APIs, we gave them the one

00:52:33 ◼   ► major version of iOS to mature, the one major version of Mac OS 10 to mature. And now that

00:52:39 ◼   ► key value storage and document storage seem to be following the typical path of Apple

00:52:42 ◼   ► APIs, and core data is not getting better fast enough.

00:52:48 ◼   ► The biggest problem, I have heard that Core Data is

00:52:53 ◼   ► the most unreliable part of the iCloud sync stuff,

00:52:57 ◼   ► but I think the much bigger problem,

00:53:00 ◼   ► which you breezed past a little bit ago,

00:53:02 ◼   ► is that everything is tied to the Apple ID

00:53:05 ◼   ► that's currently signed in, and that people sign out of

00:53:08 ◼   ► Apple IDs and into different Apple IDs on their devices

00:53:11 ◼   ► fairly frequently.

00:53:13 ◼   ► everyone's not doing it every day,

00:53:14 ◼   ► but there's a good number of people who do it regularly.

00:53:17 ◼   ► Because-- - And they have APIs

00:53:18 ◼   ► for that, they have APIs for it.

00:53:20 ◼   ► They're like, oh, and you're gonna keep in mind

00:53:21 ◼   ► that when you launch, you may not be in the same Apple ID

00:53:24 ◼   ► as when your stuff was made,

00:53:25 ◼   ► and you may get this callback

00:53:26 ◼   ► that means they changed Apple IDs.

00:53:27 ◼   ► And they're aware that this is gonna happen,

00:53:30 ◼   ► but they kind of shove it under the carpet of the program

00:53:32 ◼   ► and say, oh, and you'll figure out what to do

00:53:34 ◼   ► when that happens.

00:53:35 ◼   ► Like, what am I supposed to do?

00:53:36 ◼   ► In some cases, all the pre-existing data gets deleted,

00:53:40 ◼   ► like it was in your local directory.

00:53:42 ◼   ► Like, you know, and what if I hadn't synced that

00:53:44 ◼   ► and like it's gone now?

00:53:45 ◼   ► Like, you don't have, it's like, you know,

00:53:49 ◼   ► throwing an exception if you can't, you know,

00:53:50 ◼   ► if the disk is full or something.

00:53:51 ◼   ► Well, I'll catch that exception.

00:53:53 ◼   ► What are you gonna do about it, delete stuff?

00:53:55 ◼   ► - Right. (laughs)

00:53:56 ◼   ► - Sometimes you can't, there's no sane recovery

00:53:59 ◼   ► or there's nothing smart for you to do.

00:54:00 ◼   ► That's why I talk about like the conceptually,

00:54:01 ◼   ► not like, oh, well we have a callback

00:54:03 ◼   ► for when they change things

00:54:04 ◼   ► and we'll automatically clean up all the old data

00:54:07 ◼   ► and you're ready to go again.

00:54:07 ◼   ► I'm like, but wait a second, like from a user perspective,

00:54:10 ◼   ► Like, what if you want to do something different?

00:54:12 ◼   ► What if you want to tell people that this is happening,

00:54:14 ◼   ► that they're going to end up deleting all their local data?

00:54:16 ◼   ► And like, I just don't think it's been thought through yet.

00:54:20 ◼   ► I mean, and this is all like old data,

00:54:21 ◼   ► like with the frustration of the Verge article,

00:54:24 ◼   ► it was like, "We talked to Apple, and they don't tell us."

00:54:25 ◼   ► Of course they're not going to tell you anything.

00:54:26 ◼   ► That's their MO.

00:54:27 ◼   ► They're just like total silence,

00:54:28 ◼   ► and either at WWDC they're going to come out with like,

00:54:31 ◼   ► you know, the API equivalent of the Apology Mouse

00:54:34 ◼   ► from Macworld, New York, 2000, you know,

00:54:36 ◼   ► where they're, "We're sorry for the puck.

00:54:38 ◼   ► "Look under your chair.

00:54:39 ◼   ► there's a sane database thinking, you know, like they'll come out.

00:54:43 ◼   ► It's kind of, this gives me some hope because MobileMe was a disaster and they had to change

00:54:48 ◼   ► the name and you get iCloud. But they have had at least one instance where they had something that

00:54:52 ◼   ► was a disaster and they came out with a much better awesome version of it and didn't change

00:54:56 ◼   ► the name. And that's FileVault. Where FileVault 1 was just a mess and FileVault 2 kept the same name,

00:55:03 ◼   ► but it's totally unrelated other than a name and that it did the same function and is awesome.

00:55:07 ◼   ► So, FileVault 2 is awesome, FileVault 1 was terrible.

00:55:09 ◼   ► So, if iCloud core data syncing, if this is considered just awful and then something else

00:55:13 ◼   ► comes out that's different and they say, "Here's this new thing, just forget about the old

00:55:17 ◼   ► thing," they can still call it iCloud, because iCloud is an umbrella term that already covers

00:55:20 ◼   ► umpteen different things, and why not just keep changing out the scope?

00:55:25 ◼   ► And they have the advantage of not having this user base, like, "Wait, what about all

00:55:29 ◼   ► the successful applications built on iCloud and core data syncing?

00:55:31 ◼   ► They'll have to rewrite."

00:55:32 ◼   ► Oh, there aren't any, don't worry.

00:55:34 ◼   ► I think you're right, though.

00:55:39 ◼   ► Conceptually, this is a problem.

00:55:42 ◼   ► The biggest problem being usually that people who sign in

00:55:48 ◼   ► and out of different Apple IDs, what is the app supposed to do about that?

00:55:51 ◼   ► I don't think that's the kind of thing that could necessarily be fixed

00:55:54 ◼   ► with a revision to the API or a new server-side backend.

00:55:59 ◼   ► Remember a year ago, there was a whole debate about the guy whose iPhone alarm went off in the symphony,

00:56:04 ◼   ► and it was this whole thing, well, you know,

00:56:06 ◼   ► what should the behavior of the alarm be

00:56:09 ◼   ► with overwriting the sound switch?

00:56:11 ◼   ► And I wrote a big thing back then about it,

00:56:14 ◼   ► and my theory was, you know, this is a hard problem

00:56:18 ◼   ► because you've told the phone,

00:56:20 ◼   ► wake me up at this time no matter what,

00:56:22 ◼   ► and you've also told the phone, don't make noise right now,

00:56:25 ◼   ► and so you've given it these conflicting directives.

00:56:28 ◼   ► - That was the problem with HAL 9000, too.

00:56:30 ◼   ► (laughing)

00:56:31 ◼   ► - See, you've given it these conflicting directives,

00:56:33 ◼   ► And no matter what choice you make,

00:56:35 ◼   ► it's going to anger some portion of the user base that's

00:56:37 ◼   ► non-trivial.

00:56:38 ◼   ► And so that's kind of a problem with the user at that point.

00:56:41 ◼   ► Well, with this, with iCloud syncing,

00:56:45 ◼   ► you've made this system where your data is

00:56:50 ◼   ► tied to whatever Apple ID is signed in in all your apps.

00:56:54 ◼   ► Your data is just tied to that.

00:56:56 ◼   ► But a lot of people have different Apple IDs.

00:56:58 ◼   ► Some people, like a couple, will share one Apple ID

00:57:01 ◼   ► so they don't have to pay for apps twice to be on both of their phones. Some people will

00:57:04 ◼   ► have a different Apple ID for being a developer versus being a consumer. There's lots of reasons

00:57:09 ◼   ► why people will have different Apple IDs, and Apple does not make it easy to merge them

00:57:15 ◼   ► or switch them or anything like that. It's a very common thing.

00:57:20 ◼   ► If your app has its own sync platform, then it has some kind of concept of being logged

00:57:26 ◼   ► in to that. And so if you change your Apple ID system-wide to go use a certain app or

00:57:33 ◼   ► to do a certain thing, and then you launch my note-taking app, whatever, HDCloud Plus,

00:57:39 ◼   ► then I don't lose that sync association from your Apple ID because I'm using my own custom

00:57:47 ◼   ► sync thing that you've logged into. And if you actually go into my app and want to sync

00:57:53 ◼   ► sync with a different thing. You have to go into my app and log out explicitly of that

00:57:57 ◼   ► account. And presumably that stuff is all stored server-side, and then you can log in

00:58:01 ◼   ► to something else. It's a deliberate user action. Whereas if you're using iCloud syncing,

00:58:05 ◼   ► users might not realize, but they probably almost never do

00:58:09 ◼   ► realize, that if they log out system-wide of iCloud, then

00:58:13 ◼   ► the data in app XYZ is going to be blown away.

00:58:17 ◼   ► And the worst part is that that data may be blown away, and that data may never have made it to any other

00:58:21 ◼   ► device. It may never have been synchronized, so it's actually gone.

00:58:24 ◼   ► And I don't know that the app has any way to tell that.

00:58:27 ◼   ► Well, some of these things you could fix with APIs. Say the existing APIs were all completely

00:58:31 ◼   ► bug-free, and you got these callbacks, and you were given an opportunity to add new APIs

00:58:37 ◼   ► like, "Oh, we're about to change your Apple ID. Maybe they already have this," and you

00:58:39 ◼   ► have an opportunity to save this stuff off to the side or whatever. You still end up

00:58:43 ◼   ► with situations where like, "What if I do these three changes in this device, do these

00:58:46 ◼   ► four changes in that device that are conflicting, these four changes in that device that are

00:58:49 ◼   ► conflicting. And they all happen more or less simultaneously. And I turn these two on,

00:58:52 ◼   ► then turn those two off, then turn the third one back on, to try to figure out what the state—

00:58:57 ◼   ► should I allow modifications to continue? What about when I turn those two back on?

00:59:00 ◼   ► Reconciling these all without a single central source of truth like Gmail, where just everyone

00:59:07 ◼   ► communicates up to the server and makes modifications there, allowing you to make

00:59:10 ◼   ► local modifications and trying to resolve that into a replayable transaction law that results

00:59:16 ◼   ► and some sort of consistent thing, you can make something that's provably like it will have a

00:59:21 ◼   ► deterministic consistent result. But the odds of that result being what the users expected it to be

00:59:26 ◼   ► are probably zero because the users will inevitably issue a series of conflicting

00:59:31 ◼   ► instructions. And when the thing's synchronized, no matter what the stuff picks, sometimes it's

00:59:37 ◼   ► not going to be what they wanted because they gave conflicting instructions. There is actually no

00:59:41 ◼   ► right answer. So that's what I'm saying. The model they're using for core data, arbitrary

00:59:47 ◼   ► object graph syncing, even if it's 100% bug-free, is never going to look to users like the magical,

00:59:54 ◼   ► "Hey, everything just works." Because they will issue conflicting commands with their actions on

01:00:00 ◼   ► their individual devices. And when those devices synchronize, even assuming zero bugs and perfect

01:00:05 ◼   ► performance, they're going to be sad that they're going to end up "losing data."

01:00:10 ◼   ► Right.

01:00:11 ◼   ► Even if you were to say, "No, let me see.

01:00:13 ◼   ► You didn't actually lose data because here's how we reconcile things, and you can see these

01:00:16 ◼   ► series of conflicting plans can only lead to one thing, and you can't have this and

01:00:19 ◼   ► that and have that."

01:00:20 ◼   ► And you're like, "Well, but I wanted the other thing.

01:00:21 ◼   ► Actually, what I really wanted was a merge of those two."

01:00:24 ◼   ► But with me manually picking, it can't know that.

01:00:27 ◼   ► So that's never going to make people happy.

01:00:31 ◼   ► I'm not sure what the solution there is, except for maybe having...

01:00:36 ◼   ► I mean, you can't do what Google does.

01:00:38 ◼   ► can't have every single change to your application sending commands up to a server.

01:00:43 ◼   ► Google has offline mode in Gmail, too.

01:00:47 ◼   ► The reason they work with Gmail, I think, is because they have a defined data model

01:00:50 ◼   ► that is not as complicated.

01:00:52 ◼   ► And it's an email application with messages and labels and stuff.

01:00:57 ◼   ► It's not arbitrarily structured, interrelated data objects in Objective-C that you get to

01:01:03 ◼   ► write yourself.

01:01:05 ◼   ► And this is a good segue to the Brent Simmons response article.

01:01:08 ◼   ► Did you read this yet?

01:01:10 ◼   ► It's called "Why Developers Shouldn't Use iCloud Sync, Even If It Worked."

01:01:15 ◼   ► I retweeted it.

01:01:16 ◼   ► Oh.

01:01:17 ◼   ► Yeah, I read it as well.

01:01:18 ◼   ► And I was going to bring this up as well because—and forgive me for kind of interrupting your tangent—but

01:01:26 ◼   ► one of the things that I find very interesting about iCloud is that Aaron and I share the

01:01:31 ◼   ► same Apple store ID so we can share the same apps and so on and so forth.

01:01:37 ◼   ► We have different iCloud IDs.

01:01:40 ◼   ► And thus, if we had, say, a shared grocery list, we can't share a grocery list if we're

01:01:47 ◼   ► using iCloud or if that app is using iCloud in the background.

01:01:50 ◼   ► And Brent talks a lot about this.

01:01:53 ◼   ► iCloud is very personal and not very social.

01:01:56 ◼   ► And I hate social because that's about as big a buzzword as "brand."

01:02:01 ◼   ► But nonetheless, I feel like there's some amount of truth to that.

01:02:04 ◼   ► And Brent brings this up, and I presume Marco, you're about to recap some of the other things

01:02:08 ◼   ► he said.

01:02:09 ◼   ► But that rang true.

01:02:10 ◼   ► I quoted two things.

01:02:11 ◼   ► That's one of them.

01:02:12 ◼   ► Yeah.

01:02:13 ◼   ► I mean, it's exactly true.

01:02:16 ◼   ► And if I were to write…

01:02:17 ◼   ► I've thought about writing a very, very simple shared list-keeping app so that Aaron

01:02:24 ◼   ► and I can share a grocery list or a packing list or a Home Depot or Lowe's list, but I

01:02:30 ◼   ► can't use iCloud for that because we can't share it because we're on different iCloud

01:02:33 ◼   ► IDs.

01:02:34 ◼   ► That's just terrible.

01:02:35 ◼   ► What do you use?

01:02:36 ◼   ► Do you use Google Docs for that?

01:02:37 ◼   ► No, actually we use Wunderlist, which I'm not a tremendous fan of, but it does the job.

01:02:41 ◼   ► A lot of people I know use Google Docs for that, and we use Google Calendar to share

01:02:45 ◼   ► our calendars.

01:02:46 ◼   ► Oh, we do use Google Calendar to share calendars.

01:02:48 ◼   ► One of the reasons we do that is because, I mean, I don't think it's been thought of

01:02:53 ◼   ► at this kind of deep level, but the reality is that we never worry about Google documents

01:02:58 ◼   ► staying in sync.

01:02:59 ◼   ► We never worry about Google calendars staying in sync with our various devices, because

01:03:02 ◼   ► we always know when we're making changes, we are directly manipulating the state of

01:03:05 ◼   ► something on a server somewhere, and it's always in sync.

01:03:10 ◼   ► It's never not in sync, because we don't use any offline modes.

01:03:15 ◼   ► The downside, of course, is that we can't actually make modifications to our calendar

01:03:19 ◼   ► ever offline, but thus far that has not come up.

01:03:22 ◼   ► It usually doesn't for most users.

01:03:25 ◼   ► That scenario is going to be less and less likely.

01:03:28 ◼   ► That conceptual simplicity of how does document sharing with a Google document work, live

01:03:35 ◼   ► in real time, always synchronize.

01:03:36 ◼   ► That's how it works.

01:03:39 ◼   ► And you just don't think about it.

01:03:41 ◼   ► That model, it's very difficult to do well and bug-free and fast and all that stuff,

01:03:46 ◼   ► but conceptually, it's understandable to people

01:03:49 ◼   ► and they come to trust it.

01:03:51 ◼   ► Whereas no one, not even developers of the applications,

01:03:54 ◼   ► can have any idea how things are working,

01:03:55 ◼   ► even with zero bugs.

01:03:56 ◼   ► And then like the bugs,

01:03:58 ◼   ► there's a couple of things I've read about

01:04:00 ◼   ► iCloud Core Data stuff, some of it unpublished as yet.

01:04:03 ◼   ► Hopefully it will be published

01:04:05 ◼   ► at some point in the future somewhere.

01:04:07 ◼   ► The worst part of any of these types of things

01:04:09 ◼   ► is when you add on top of all the stuff we talked about,

01:04:12 ◼   ► the type of bugs where there's nothing you can do

01:04:15 ◼   ► help your user. There's nothing like Apple can do to help your user. Just like things

01:04:20 ◼   ► get wedged in a way that even a developer can't be expected to figure out on their own,

01:04:24 ◼   ► let alone an individual user. And that's what they were talking about in the Verge article,

01:04:27 ◼   ► is like a support time suck. Because sometimes things just get wedged and don't work, and

01:04:32 ◼   ► there's no visibility of that. There's not even visibility to the developer unless you

01:04:36 ◼   ► can let the developer SSH into your machine and start digging through supposedly hidden

01:04:40 ◼   ► directories containing big binary blobs and daemon processes that are hung that are not

01:04:45 ◼   ► putting the binary blobs in the right place and just like it's the worst nightmare of

01:04:49 ◼   ► trying to debug. At least when you're debugging server-side stuff, at least you have access

01:04:52 ◼   ► to the server and you can see what's going on there. This is like the worst of all possible

01:04:56 ◼   ► words. It's like every single person literally does have their own little server on their

01:04:59 ◼   ► local machine, their own little data store on their machine, and you can't see any of

01:05:03 ◼   ► that. And it's talking to Apple servers that you also can't see, all of which have bugs,

01:05:07 ◼   ► none of which code you wrote, and you don't even have the source code for it. And good

01:05:10 ◼   ► luck debugging that.

01:05:12 ◼   ► - That's so true.

01:05:13 ◼   ► So Marco, I'm sorry I interrupted you.

01:05:15 ◼   ► You were gonna bring up the social aspect

01:05:17 ◼   ► and you said you were gonna bring up something else.

01:05:19 ◼   ► - Yeah, and yet the other thing is that, you know,

01:05:21 ◼   ► Brent says, you know, keep in mind that, you know,

01:05:24 ◼   ► iCloud is Apple only.

01:05:25 ◼   ► He says, "You may think you'll never want

01:05:27 ◼   ► "an Android or browser-based version of your app,

01:05:29 ◼   ► "but are you sure, really, really sure?"

01:05:32 ◼   ► - Yeah, Marco, are you sure?

01:05:32 ◼   ► (laughing)

01:05:34 ◼   ► Sounds familiar.

01:05:36 ◼   ► - Well, yeah, and I'm pretty sure about Android.

01:05:38 ◼   ► But no, I think this is a very good point that if you're

01:05:45 ◼   ► in the iCloud platform business, if your app relies on that,

01:05:49 ◼   ► then sure, that's fine if today you only have an iOS platform.

01:05:55 ◼   ► But if you really invest heavily in that,

01:05:57 ◼   ► you have to be really sure that you're only ever going

01:05:59 ◼   ► to have an iOS platform.

01:06:00 ◼   ► And I don't think that's a very safe assumption for a lot

01:06:04 ◼   ► of things these days.

01:06:05 ◼   ► The best part was when he brought up,

01:06:07 ◼   ► what about a Mac app that's not sold through the Mac App Store?

01:06:09 ◼   ► Because you can't use iCloud there either.

01:06:10 ◼   ► Right.

01:06:11 ◼   ► Exactly.

01:06:11 ◼   ► They've been forgotten about.

01:06:12 ◼   ► They always forget about it.

01:06:13 ◼   ► Remember when it was like, oh, well, they're

01:06:14 ◼   ► putting iCloud only in the Mac App Store.

01:06:16 ◼   ► That'll be like, that's to lure you into the Mac App Store.

01:06:19 ◼   ► Now it's like, it's like another repulsor.

01:06:21 ◼   ► It's the opposite effect.

01:06:22 ◼   ► It's not like saying, well, I really

01:06:25 ◼   ► don't want to be in the Mac App Store.

01:06:26 ◼   ► But ooh, only the Mac App Store apps

01:06:28 ◼   ► get to use this awesome new iCloud API.

01:06:30 ◼   ► I guess it is kind of true for key value storage or document

01:06:33 ◼   ► storage.

01:06:33 ◼   ► But yeah, like it's so incredibly--

01:06:36 ◼   ► you choose iCloud, not only are you just choosing Apple's platform, but you're choosing also

01:06:40 ◼   ► their sales channels, like irrevocably. Yeah, exactly. And so I think, and you know,

01:06:47 ◼   ► obviously on iOS, if you're making an iOS app, you're always stuck in there, and that's

01:06:50 ◼   ► fine, but I just think it's unwise to limit yourself unnecessarily. Like, it's one thing

01:06:58 ◼   ► to say, "I'm only going to have an iOS app right now," but it's a whole other thing to

01:07:01 ◼   ► say I will never have anything but an iOS and Mac App Store app. That's a very, very

01:07:07 ◼   ► limiting thing.

01:07:08 ◼   ► And Apple can always change this because these are policy decisions. They could say, "Hey,

01:07:11 ◼   ► guess what? We have a web API with a JavaScript library. Now you can use iCloud APIs from

01:07:15 ◼   ► your web app that you write yourself." That would open up the door.

01:07:17 ◼   ► That would change a lot. If Apple ever opened it up to server side or web side interaction,

01:07:23 ◼   ► that would open it up tremendously. But I don't think they ever will.

01:07:25 ◼   ► They don't understand the web.

01:07:26 ◼   ► No.

01:07:27 ◼   ► Why would we ever do that? That makes no sense.

01:07:29 ◼   ► Right. There's no immediately obvious benefit to them to do that, and so I don't think they

01:07:34 ◼   ► will. I think that would be a big giveaway. They want to lock iCloud down to their devices

01:07:38 ◼   ► and their stores, and part of it's just for control, and part of it's so they can make

01:07:43 ◼   ► sure that nobody goes crazy and abuses it through the APIs and everything. But whatever

01:07:48 ◼   ► the reason, I don't think that's ever going to happen.

01:07:52 ◼   ► Brent also points out that for most apps' needs for syncing, it really isn't that hard

01:07:58 ◼   ► to write your own server and to run your own server, and it really isn't that expensive,

01:08:02 ◼   ► and it really isn't that complicated.

01:08:05 ◼   ► You can design server-side stuff to make your life really easy in two key ways.

01:08:11 ◼   ► You can make it really cheap to run and scale and low needs, and you can design the app

01:08:16 ◼   ► so that if the server is not reachable, the app is still useful.

01:08:22 ◼   ► And obviously depending on what you're doing with the server, how useful it can be will

01:08:26 ◼   ► vary, but like with Instapaper it was really easy for me to do this because

01:08:30 ◼   ► Instapaper is made to be used offline. So if the server

01:08:34 ◼   ► is not reachable, the app thinks it's offline, it still works.

01:08:38 ◼   ► It works just fine, like you just can't load new stuff into it, but it still works.

01:08:42 ◼   ► Everything queues up and once it gets a connection again it works. So like, if Instapaper's

01:08:46 ◼   ► server goes down for an hour, which is a pretty major downtime for

01:08:50 ◼   ► a web thing, I'll hear about it from a few people.

01:08:54 ◼   ► but not nearly as many as you would think because everyone else is still just using

01:09:00 ◼   ► the app just fine.

01:09:01 ◼   ► There is a big advantage to these types of—what Apple wants to happen with these services

01:09:05 ◼   ► does happen a lot.

01:09:07 ◼   ► It's easy for you to talk about it because you have server-side development experience,

01:09:10 ◼   ► but what if you're just a client-side guy?

01:09:12 ◼   ► Maybe you just want someone to take care of that other stuff for you.

01:09:16 ◼   ► Those types of APIs allow developers who would otherwise not be able to make these types

01:09:22 ◼   ► of products to make them or would otherwise need more people.

01:09:26 ◼   ► Some examples might be, "Okay, so Lauren Brick, your genius programmer, great app designer,

01:09:30 ◼   ► but he used GameSetter.

01:09:31 ◼   ► Well, I guess he doesn't want to write that crap."

01:09:32 ◼   ► And if it works, kind of sort of didn't work when he launched his game.

01:09:35 ◼   ► But if it eventually sort of works, he doesn't have to do matchmaking.

01:09:39 ◼   ► He doesn't have to do accounts and stuff like that.

01:09:40 ◼   ► He gets to just write the game part.

01:09:43 ◼   ► You with Newsstand.

01:09:44 ◼   ► I mean, that's mostly monetary things because you want to get the money and everything.

01:09:47 ◼   ► It's not like you couldn't have done that.

01:09:48 ◼   ► But hey, you can make an application that does subscriptions, that does something that

01:09:53 ◼   ► a native application wouldn't do by using Apple services.

01:09:56 ◼   ► And then you went and did the web thing yourself anyway, because of course you can.

01:09:59 ◼   ► But that's just an extension of the App Store model, where maybe you don't want to run a

01:10:05 ◼   ► store.

01:10:06 ◼   ► You don't want to figure out how to sell things to people and give them the downloads and

01:10:08 ◼   ► host and do all this stuff.

01:10:10 ◼   ► We'll take over that for you.

01:10:11 ◼   ► And Apple wants to take over all those things and provide these infrastructural services,

01:10:16 ◼   ► And that's all great when the services actually work and are things that people want done.

01:10:24 ◼   ► And I think iCloud is all those things except for the working part and maybe right up to

01:10:30 ◼   ► the part where if you were designing your own service to synchronize your stuff, you

01:10:35 ◼   ► might design something like key value storage, and you might design something like iCloud's

01:10:39 ◼   ► documents in the clouds, and you might design something like Game Center or whatever.

01:10:43 ◼   ► Those are functions you can imagine doing.

01:10:44 ◼   ► would you undertake on your own to say, you know what?

01:10:47 ◼   ► I'm going to provide arbitrary server-side synchronization

01:10:50 ◼   ► of core data across multiple devices?

01:10:52 ◼   ► I don't think an individual developer would bite that off.

01:10:56 ◼   ► They would think of something simpler like the simple--

01:10:58 ◼   ► what is that one?

01:10:59 ◼   ► The simple node server-side API?

01:11:00 ◼   ► Like when third parties created these services,

01:11:03 ◼   ► they've looked more like--

01:11:04 ◼   ► traditional-- more like modern web services

01:11:08 ◼   ► and less like what iCloud core data thing--

01:11:13 ◼   ► because they can't do that. They can't have little demons running on everyone's

01:11:16 ◼   ► machines, synchronizing. They can't make a demon process on iOS that does all this stuff.

01:11:20 ◼   ► They would be forced to do something that is listening on HTTP endpoint that their

01:11:25 ◼   ► applications talk to. You know what I mean? They wouldn't be able to do all this crazy stuff that

01:11:28 ◼   ► Apple did, and I think Apple just bit off more than it could chew in this case.

01:11:32 ◼   ► I mean, this is kind of a problem, as we discussed, I think, two episodes ago,

01:11:37 ◼   ► or last episode about iCloud's model to the users, that it is the certain simplification

01:11:44 ◼   ► of hiding the file system and doing these things, but it's so limited. I mean, this

01:11:47 ◼   ► is kind of like, it sounds like Apple bit off more than they can chew with a lot of

01:11:53 ◼   ► parts of iCloud, not just like, "Oh, it doesn't work reliably," but like, "This was a bad

01:11:58 ◼   ► idea."

01:11:59 ◼   ► Well, I don't know if it was a bad idea, but I just don't know if it's been executed well.

01:12:06 ◼   ► And when, John, when you were talking a minute ago,

01:12:09 ◼   ► I feel to some degree you're describing me

01:12:11 ◼   ► in that I have iOS experience

01:12:13 ◼   ► and I have server-side experience,

01:12:15 ◼   ► but the thing is I have server-side experience

01:12:17 ◼   ► in Microsoft technologies, which are expensive.

01:12:21 ◼   ► And if I was to write, say, a grocery shopping list

01:12:25 ◼   ► that I could share between multiple people,

01:12:27 ◼   ► like Aaron and myself, what are my options?

01:12:30 ◼   ► I can't use iCloud because that's tied

01:12:32 ◼   ► to a single iCloud ID, so what am I gonna do?

01:12:36 ◼   ► I could do like Perl and be like John, or I could do PHP and be like Marco. I could

01:12:41 ◼   ► do Python and be terrible according to you two. I could do Ruby, which is also probably

01:12:47 ◼   ► -- well, you know what I mean.

01:12:48 ◼   ► I don't know Python, but if I was going to learn something else for the web backend stuff,

01:12:52 ◼   ► I would learn Python.

01:12:54 ◼   ► You can email Marco. But the point I'm driving at is, what do I do? And interestingly, and

01:12:58 ◼   ► I think Brent talked about this in a different post, maybe I would go to Azure, and maybe

01:13:03 ◼   ► Maybe I would do, and that doesn't necessitate using C#,

01:13:07 ◼   ► it doesn't necessitate using .NET,

01:13:09 ◼   ► but from what I've gathered,

01:13:10 ◼   ► having never played with this,

01:13:12 ◼   ► Azure's a pretty decent way to get some sort of quick

01:13:17 ◼   ► server side or cloud database without too much effort

01:13:21 ◼   ► with an iOS API.

01:13:23 ◼   ► And that's just not a place,

01:13:25 ◼   ► I don't think that's a position Apple

01:13:26 ◼   ► wants themselves to be in.

01:13:28 ◼   ► Maybe they don't care, I don't know,

01:13:29 ◼   ► but that just doesn't seem right.

01:13:30 ◼   ► - You know what you might end up doing,

01:13:31 ◼   ► and I've seen people do,

01:13:32 ◼   ► This is a low-tech solution to client-side people who don't want to write a big server-side

01:13:37 ◼   ► service, but they know they need one, and they're like, "All right, I'll just buy for

01:13:39 ◼   ► the grocery list."

01:13:40 ◼   ► Look, it's not rocket science.

01:13:41 ◼   ► Oh, don't tell me Dropbox.

01:13:42 ◼   ► Don't tell me Dropbox.

01:13:43 ◼   ► Not Dropbox, but something like, what if I just shove a JSON file up onto S3 and have

01:13:48 ◼   ► the thing pull it down and reconcile it?

01:13:51 ◼   ► Because it's just a grocery list, how many possible things could go wrong?

01:13:54 ◼   ► Worst case scenario, I get the superset of a bunch of changes and there's some extra

01:13:57 ◼   ► items that you don't want.

01:13:58 ◼   ► I can de-duplicate.

01:14:00 ◼   ► When you have a confined problem domain, you can get away with just the most ridiculous,

01:14:05 ◼   ► simple possible solution.

01:14:06 ◼   ► If you're like, "S3 would be enough.

01:14:08 ◼   ► All I need is something other, something not my device, something not that other device,

01:14:12 ◼   ► but something in this third place that's always available.

01:14:15 ◼   ► And I don't want to make it always available, and that's annoying, and that's really all

01:14:18 ◼   ► I need is just a bucket that's shared that's always available, and I'll do everything else

01:14:22 ◼   ► myself in client-side code because I can because it's a grocery list app."

01:14:25 ◼   ► That's what people end up doing.

01:14:27 ◼   ► That's annoying.

01:14:28 ◼   ► They would like to not be able to do that.

01:14:29 ◼   ► If their needs are satisfied by key value storage, you're like, "Oh, well, everyone's

01:14:33 ◼   ► got iCloud, and I know everyone's going to have an Apple ID, and I'm storing, like Mark

01:14:37 ◼   ► was saying, your last read position, and it's really easy to reconcile."

01:14:42 ◼   ► That's not critical.

01:14:45 ◼   ► It's two bits of data.

01:14:46 ◼   ► If I don't have it, I can throw it away, and it's no big deal.

01:14:49 ◼   ► Or worst case, I can just pick the later one, the zoom that you read from top to bottom.

01:14:54 ◼   ► Not having to do that and saying, "I can just use iCloud key value storage," that just makes

01:14:58 ◼   ► people smile, like, "Hey, wait, I don't have to do any of that crap. I just want to store

01:15:02 ◼   ► a number somewhere, and iCloud key value storage can do that for me." And it's like plists,

01:15:07 ◼   ► where when Mac OS X came out and had these property lists, people were using them for

01:15:10 ◼   ► everything. But it's like, "Oh, well, I didn't need to design some stupid, like, I'm going

01:15:14 ◼   ► to design a C struct, and then I'm going to serialize it with an NS encoder and this kind

01:15:17 ◼   ► of thing." No, I just need the store, like, lists of values. Like, I'll just use a plist.

01:15:21 ◼   ► And plist mainly goes a little bit crazy, and then you end up trying to make a plist

01:15:26 ◼   ► into your entire database, and that's bad. But if you give developers a little tiny bit of

01:15:32 ◼   ► cool infrastructure, that makes them happy. But if you keep ramping that up, you say,

01:15:37 ◼   ► "You know, we're basically going to do everything for you, and don't worry, it'll work." And it

01:15:41 ◼   ► doesn't, then people scale back and say, "You know what? Maybe I should go back to uploading JSON

01:15:45 ◼   ► files to S3, because that, at least, I can have some guarantees about it working in a predictable

01:15:51 ◼   ► way." Right. It's predictable. It's mostly reliable. And to some degree, it's a known

01:15:56 ◼   ► quantity. I completely agree with you.

01:15:58 ◼   ► Yeah, and again, if you have simple needs,

01:16:02 ◼   ► you can write your own sync stuff, and granted, not everyone's going to get their sync

01:16:06 ◼   ► stuff correct, but again, if it's a grocery list and you have to sync stuff,

01:16:10 ◼   ► what's the worst that can happen? It's not that bad. And if it's not correct, you can fix it, because you have

01:16:14 ◼   ► all the source code and you can throw both ends. Exactly. That's the worst part.

01:16:18 ◼   ► If it's going wrong and the demons running on your local Mac are

01:16:22 ◼   ► are wedged and are not synchronizing or notifying your applications. You don't control that

01:16:26 ◼   ► code. You're not making it run. You don't have the source. You can file bugs into the

01:16:31 ◼   ► black hole and just wait patiently for the next major version, but in the meantime, your

01:16:35 ◼   ► customers just want their stuff to sync.

01:16:38 ◼   ► As Brent pointed out, too—this is such a good article and it's so short, you should

01:16:41 ◼   ► read it before we just quote the whole thing—doing the server-side stuff has really gotten so

01:16:48 ◼   ► easy in the last five years as so many tools have come out to make it really easy, really

01:16:55 ◼   ► cheap. You have to write so little custom code these days. There are great frameworks,

01:17:00 ◼   ► there are great services, there are companies that will automatically scale up and down

01:17:05 ◼   ► everything. And granted, there are a lot of things that are more complex that will require

01:17:10 ◼   ► custom work, but for the most part, for simple needs, for most app developers' needs, you

01:17:15 ◼   ► don't need anything bigger than a Linode instance or paying by the cycle on something like Heroku

01:17:22 ◼   ► or Azure or S3 or EC2 and the things that use EC2. For most developers' needs, one virtual

01:17:32 ◼   ► server somewhere will cover it. And you can write something in whatever framework you

01:17:37 ◼   ► find that is understandable to you. And as Brent says, I think this is a very good point,

01:17:43 ◼   ► I'm just going to read this whole article. As Brent says, if you could learn Cocoa, you

01:17:47 ◼   ► could learn this stuff. Cocoa is so obtuse in so many ways. Web programming, to somebody

01:17:53 ◼   ► who does iOS programming, web programming will seem easy by comparison.

01:17:57 ◼   ► I just basically don't have to deal with pointers and types. I would rephrase that part of his

01:18:03 ◼   ► article. It's not so much that it's so much easier than it was before, or at least rephrase

01:18:07 ◼   ► your summary of it. It's that it used to be that for a given amount of effort, you could get a

01:18:14 ◼   ► certain result. Now if you put in that same amount of effort, your result will be so much better.

01:18:18 ◼   ► The base level has risen so much. It's still going to be complicated. There's lots of stuff to learn

01:18:23 ◼   ► and stuff like that. But previously, if you put in a week into getting your server-side stuff,

01:18:28 ◼   ► you'd end up with something that looks like someone who had been doing server-side development

01:18:32 ◼   ► for a week. But now you have such an incredible leg up with all of these infrastructure and these

01:18:36 ◼   ► frameworks, if you put in the week, your end result will be you're standing on the shoulders

01:18:40 ◼   ► of giants who've created all this infrastructure for you. You're not staring at a blinking cursor

01:18:45 ◼   ► on a bare Linux machine and saying, "Okay, now I guess I start writing a CGI script or something?"

01:18:52 ◼   ► You have such a leg up. So it is really complicated, and that's why I think people stay away.

01:18:57 ◼   ► It's like anything else. If you are a server-side developer, you take a lot of stuff for granted.

01:19:02 ◼   ► But a lot of client-side people are starting from a base of knowledge that doesn't really help them

01:19:05 ◼   ► them that much. But if they can follow a tutorial to get some sort of Rails thing up, or even

01:19:10 ◼   ► like Node and just to get some sort of Node instance up and, you know, put a little tiny

01:19:14 ◼   ► snippet of code like echo some string back, and you can run that instance on a virtual

01:19:18 ◼   ► machine that you could scale up, you are so far ahead of where expert server-side developers

01:19:24 ◼   ► were in 1993 with your stupid little one-line echo node program, right? Like the things

01:19:29 ◼   ► that thing can do, the scalability, performance, and reliability of that are just worlds beyond

01:19:35 ◼   ► expert level knowledge from two decades ago. So that's what I think.

01:19:37 ◼   ► Even one decade ago. That's where I think, you know, that's what

01:19:40 ◼   ► he's getting at is like, even though you don't know anything about this, you will be able

01:19:44 ◼   ► to get something up that has good performance, scalability, and reliability, even if you

01:19:49 ◼   ► have almost no idea what you're doing, if you just put in a little bit of time. And

01:19:52 ◼   ► that was not true many, many years ago. And also remains not true if you were on to have

01:19:57 ◼   ► 500 million users, which is why Apple's screwed. But you're not going to have 500 million users,

01:20:02 ◼   ► And if you do, presumably you can hire some smart people to figure it out for you.

01:20:06 ◼   ► Instapaper runs on about 10 servers because it does a lot of stuff for a lot of people.

01:20:10 ◼   ► But the magazine runs on the cheapest

01:20:14 ◼   ► VPS at Linode. It's $20 a month. The entire service runs

01:20:18 ◼   ► on that. My blog, market.org, it serves a good number of page

01:20:22 ◼   ► hits these days. That runs on the cheapest VPS at

01:20:26 ◼   ► Linode. Again, because it's

01:20:30 ◼   ► The stuff that we can get today is so advanced,

01:20:32 ◼   ► and everything is so fast.

01:20:34 ◼   ► Hardware is so cheap to rent, and bandwidth is so cheap.

01:20:38 ◼   ► I've never bought bandwidth separately

01:20:40 ◼   ► from any of these things.

01:20:41 ◼   ► Like with Instapaper, all the bandwidth is pooled

01:20:42 ◼   ► from all the servers, and I've never exceeded that pool.

01:20:45 ◼   ► Like just whatever each server comes with,

01:20:47 ◼   ► it's all pooled together,

01:20:48 ◼   ► and I've never needed to buy more than that.

01:20:51 ◼   ► And that's a pretty bandwidth-intensive app.

01:20:53 ◼   ► Like, you can do so much now with so little money,

01:20:58 ◼   ► and so relatively few servers.

01:21:01 ◼   ► And yeah, if you're using one of these crazy hosted things,

01:21:03 ◼   ► you don't even have to deal with the individual servers directly.

01:21:07 ◼   ► You can just do so much.

01:21:09 ◼   ► And the fact is, most iPhone app developers

01:21:12 ◼   ► aren't going to need to do some crazy, ridiculous, complex thing

01:21:16 ◼   ► during the life of their app.

01:21:17 ◼   ► You should finish quoting, but I assume going by memory here,

01:21:20 ◼   ► because I don't have the article in front of me.

01:21:21 ◼   ► The very bottom part about how-- or maybe this

01:21:24 ◼   ► was in someone else's commentary-- Apple's thing

01:21:26 ◼   ► about how they want to own and control

01:21:27 ◼   ► the important parts of their business.

01:21:29 ◼   ► Read that part.

01:21:30 ◼   ► Yeah.

01:21:30 ◼   ► Well, anyway, I can't find the exact part.

01:21:34 ◼   ► But he said Tim Wood of the Omni Group

01:21:39 ◼   ► tweeted the phrase, "own the wheel."

01:21:42 ◼   ► Here's the thing.

01:21:44 ◼   ► This is Brent's words here.

01:21:45 ◼   ► Here's the thing.

01:21:46 ◼   ► Half the mobile revolution is about designing and building

01:21:49 ◼   ► apps for smartphones and tablets.

01:21:50 ◼   ► The other half is about writing the web services

01:21:53 ◼   ► that power those apps.

01:21:54 ◼   ► How comfortable are you with outsourcing half of your app

01:21:57 ◼   ► to another company.

01:21:58 ◼   ► Yeah, it was Gruber's commentary that I was remembering.

01:22:01 ◼   ► It said, "Don't take Brent's word for it.

01:22:03 ◼   ► Consider Tim Cook's doctrine.

01:22:04 ◼   ► We believe that we need to own and control the primary technologies behind the products

01:22:08 ◼   ► we make."

01:22:09 ◼   ► I mean, it's just, if you want to make a great product, you want to have certain things under

01:22:12 ◼   ► your control, obviously you don't control everything.

01:22:14 ◼   ► You don't control the App Store, you don't control Cocoa, you don't even have the source

01:22:18 ◼   ► code for that in most cases, unless it's something that's part of Darwin.

01:22:22 ◼   ► So many things are out of your control.

01:22:25 ◼   ► And this is what's frustrating, I think, good developers with iCloud is they've accepted

01:22:31 ◼   ► the things that are outside their control, the platform, the store, the language, the

01:22:35 ◼   ► API, the compiler, lots of things are outside their control.

01:22:39 ◼   ► But they always felt like I can wrangle the things that are within my control to make

01:22:43 ◼   ► sure my customers have a good experience.

01:22:44 ◼   ► And this iCloud thing is like they're between a rock and a hard place because the customers

01:22:47 ◼   ► think they want it and are demanding it.

01:22:49 ◼   ► They want the sync features and they specifically ask for iCloud by name because it has good

01:22:52 ◼   ► PR, and they can't make it work.

01:22:56 ◼   ► And that's an uncomfortable situation to be in.

01:22:58 ◼   ► Brent didn't have that problem with Glassboard because they controlled that side of it, and

01:23:02 ◼   ► it was on them to make it work, and they could make it work, because they controlled everything

01:23:06 ◼   ► from top to bottom.

01:23:07 ◼   ► They never were going to hit a barrier where they're like, "This isn't behaving in a deterministic

01:23:11 ◼   ► way.

01:23:12 ◼   ► It's buggy, and I can't fix the bugs."

01:23:13 ◼   ► That was never going to be—it's a blocker, right?

01:23:16 ◼   ► They never had those blockers.

01:23:17 ◼   ► If it wasn't working right, they would tweak their server-side software.

01:23:19 ◼   ► And if you really want to control your destiny to the extent possible, like Brent's article

01:23:26 ◼   ► said, why would you give up control over half of your application unless—giving up control

01:23:32 ◼   ► is one thing.

01:23:33 ◼   ► The other thing is not having to worry about those details.

01:23:35 ◼   ► So Lauren gave up control of half of his application to Game Center.

01:23:39 ◼   ► If that had not worked out for him, that would have been very bad.

01:23:43 ◼   ► And actually, he had a lot of problems with that.

01:23:45 ◼   ► I know, but eventually it sorted itself out.

01:23:48 ◼   ► I mean, there were scaling problems because no one used Gave Center before letterpress,

01:23:51 ◼   ► and it's buggy and weird, but he didn't want to write that stuff himself because that's

01:23:55 ◼   ► not what interested him.

01:23:56 ◼   ► I think he almost had to.

01:24:00 ◼   ► That's the tradeoff he made there.

01:24:02 ◼   ► Maybe he regrets it.

01:24:03 ◼   ► Maybe the second time he would do the server-side part himself.

01:24:05 ◼   ► But that uncomfortable situation where you're giving up control in exchange for, you hope,

01:24:12 ◼   ► not having to do that, and if it comes out well, you're like, "Hey, look at all that

01:24:16 ◼   ► work I saved.

01:24:17 ◼   ► And you know, I got featured on the App Store because I'm using Game Center.

01:24:19 ◼   ► And there's other fringe benefits to using, you know, Apple's APIs, right?

01:24:23 ◼   ► If it doesn't work out and you can't ship your application,

01:24:25 ◼   ► you're rewriting it for the ninth time, then you're sad.

01:24:28 ◼   ► And you're like, "Oh, I'm never going to let that happen again.

01:24:30 ◼   ► From now on, I'm writing everything from scratch,

01:24:32 ◼   ► like Lauren Brikter, who doesn't use UIKit."

01:24:36 ◼   ► So to wrap this up, what's going to happen in June

01:24:40 ◼   ► or whenever WWDC is with regard specifically to iCloud?

01:24:44 ◼   ► I mean, is they going to have a new API?

01:24:46 ◼   ► Are they going to say, oh man, everything is finally fixed?

01:24:49 ◼   ► And if so, is it going to be real,

01:24:50 ◼   ► or is it going to be a bunch of baloney?

01:24:52 ◼   ► I mean, what do you guys think?

01:24:54 ◼   ► WWDC is all about the new file system, Casey.

01:24:56 ◼   ► I don't know if you--

01:24:57 ◼   ► Yeah.

01:24:58 ◼   ► And don't forget that I watch on the smart TV.

01:25:01 ◼   ► No, no, no.

01:25:01 ◼   ► John Saracuz will be so happy.

01:25:02 ◼   ► Yeah.

01:25:03 ◼   ► No, but seriously, I mean, do you guys

01:25:05 ◼   ► think that they're going to make a big push for iCloud?

01:25:07 ◼   ► Are they going to be repentant for it?

01:25:09 ◼   ► Are they going to say, oh no, really, for sure?

01:25:13 ◼   ► I promise this time it's fixed.

01:25:15 ◼   ► I don't know if they have enough time has elapsed for them to be able to, you know,

01:25:20 ◼   ► they know they need to do something. I don't know if enough time has passed for them to have

01:25:24 ◼   ► actually done it. I don't know if they can come to W3C and say, "Here is the thing, and we have

01:25:29 ◼   ► a solution. Is the solution fixing it? Is the solution scrapping and replacing it? Is the

01:25:33 ◼   ► solution something in between?" I don't think that enough time has passed for that to happen.

01:25:38 ◼   ► All I think they can do when they show up there is hopefully engage the developers,

01:25:43 ◼   ► acknowledge the issues and have something for them that improves their lives in some way,

01:25:48 ◼   ► while also acknowledging that, because I don't think they're going to come out. It's not like

01:25:51 ◼   ► a FileVault 2 thing. We're going to say, "FileVault 1, forget that existed. There's another thing.

01:25:56 ◼   ► It's awesome. It works great. You will forget FileVault 1 ever existed." And people go, "Oh,

01:26:01 ◼   ► wow. That is awesome. All right." And then they just forget. I don't think there's been enough

01:26:04 ◼   ► time that's passed for that because maybe I'm pessimistic, but what was in the Verge story?

01:26:11 ◼   ► I think they said they had like four people working on the iCloud stuff or whatever or something

01:26:14 ◼   ► You know Apple has smaller teams than anyone thinks they have right? Yeah, and I don't I know how much work

01:26:20 ◼   ► Handful of developers can get done in like a year's time and I just I'm not optimistic

01:26:25 ◼   ► But them coming down from the mountain with new stone tablets and saying we have solved your problems, you know

01:26:30 ◼   ► Not because they don't want to or negligent but just because not enough time has passed. I

01:26:35 ◼   ► don't think that

01:26:39 ◼   ► My theory that I said earlier about iCloud is that I think there's problems in both the

01:26:44 ◼   ► API implementations and problems with just the user conceptual model of iCloud and of

01:26:51 ◼   ► where your data is in your apps, how it's tied to the Apple ID that's signed into the

01:26:55 ◼   ► device.

01:26:56 ◼   ► I think there are such conceptual problems there that I'm not expecting iCloud as it

01:27:02 ◼   ► is named today to ever be fixed.

01:27:05 ◼   ► I'm expecting it to happen more like MobileMe, which is some next generation thing will come

01:27:13 ◼   ► out in a few years to replace or upgrade iCloud, and it will work differently for the users,

01:27:19 ◼   ► not just the developers.

01:27:20 ◼   ► I think it'll have to be conceptually different for the user.

01:27:24 ◼   ► But won't they keep the name, though?

01:27:26 ◼   ► I don't think they'll do the name change.

01:27:27 ◼   ► That's what I was talking about, FileVault.

01:27:30 ◼   ► Because it already is an umbrella term, and there are parts of iCloud that work okay.

01:27:35 ◼   ► don't have to scrap key value storage. You just don't. It's fine. It's all under the umbrella of

01:27:38 ◼   ► iCloud. So when you say that iCloud is conceptually... There is no such thing as iCloud. iCloud core

01:27:43 ◼   ► data stuff is conceptually bankrupt and needs to perhaps be replaced or modified. And iCloud's

01:27:48 ◼   ► conception of, "Hey, when you sign out, we dump all your data that was linked to it," that whole

01:27:52 ◼   ► connection between your Apple ID, your iCloud thing, and the data and applications, that can

01:27:57 ◼   ► be revised. And all of that, I think, can happen over the course of several years without ever

01:28:01 ◼   ► having to have a Mobile Meet iCloud type transition. I think they can keep the name, because it

01:28:06 ◼   ► is an umbrella term that really has no relation to—like, why is key value storage and documents

01:28:15 ◼   ► in the cloud all under the umbrella of iCloud? No reason. They don't share the same servers.

01:28:19 ◼   ► The back ends might be written by entirely different teams with entirely different code.

01:28:23 ◼   ► The front end APIs, also entirely different teams. They could be entirely different languages

01:28:26 ◼   ► for all we knew. They're all Objective-C, but one could be core found.

01:28:30 ◼   ► They're as unrelated as anything else, except for the fact that they're both network services

01:28:34 ◼   ► and marketing decided they're going to be under the umbrella of iCloud.

01:28:37 ◼   ► So I think Apple has plenty of runway and room to totally change everything about iCloud

01:28:42 ◼   ► while still calling it iCloud and just making it look like, "Oh, we're making it better."

01:28:46 ◼   ► Yeah, but I think, though, they're going to have to do something that's changing the way

01:28:54 ◼   ► way, the whole portion of iCloud that is app storage, like app storing their own data and

01:29:01 ◼   ► having that sync somehow.

01:29:02 ◼   ► That, I think, is—

01:29:03 ◼   ► Well, they'll fix that when they do multiple uses in iOS.

01:29:05 ◼   ► Right, yeah, right.

01:29:07 ◼   ► I just think that that whole concept, as we talked about in another episode about the

01:29:12 ◼   ► file storage thing not necessarily making a lot of sense or being too simple and not

01:29:18 ◼   ► really addressing the problem domain well enough, I think the entire iCloud data model

01:29:22 ◼   ► for apps has that problem. The entire iCloud data model is too simple, too limited, doesn't

01:29:28 ◼   ► really address the real-life problems and usage well enough for a lot of apps.

01:29:32 ◼   ► I think we're not going to see that get fixed with the product that we currently know today

01:29:37 ◼   ► as iCloud or this section of it. What we will probably instead see is people will start

01:29:42 ◼   ► following Brent's instructions of, "We'll just see fewer and fewer apps relying on iCloud,

01:29:47 ◼   ► especially from big developers who know better and have the resources to not use it.

01:29:53 ◼   ► I tend to agree.

01:29:55 ◼   ► And I feel like, just like the both of you said, key value storage, I think that'll

01:30:01 ◼   ► carry on.

01:30:02 ◼   ► I think documents in iCloud will probably carry on.

01:30:05 ◼   ► I feel like core data sync in iCloud will go the way of garbage collection.

01:30:11 ◼   ► And no matter how you look at it, the forecast for iCloud, it's cloudy.

01:30:15 ◼   ► Oh my God.

01:30:16 ◼   ► we have to end the show now.

01:30:18 ◼   ► - I did that just for you guys.

01:30:18 ◼   ► - We are not allowed to keep talking after that.

01:30:21 ◼   ► (laughing)

01:30:23 ◼   ► - I knew that was terrible, but I--

01:30:25 ◼   ► - I was gonna go eyes on one before,

01:30:27 ◼   ► but I restrained myself.

01:30:29 ◼   ► - See, that's 'cause you're a professional.

01:30:31 ◼   ► - Yeah, we should, we'll end with this awesome song

01:30:33 ◼   ► by Jonathan Mann.

01:30:35 ◼   ► - How awesome was that?

01:30:36 ◼   ► That was seriously fantastic.

01:30:38 ◼   ► (upbeat music)

01:30:41 ◼   ► ♪ Now the show is over ♪

01:30:43 ◼   ► ♪ They didn't even mean to begin ♪

01:30:46 ◼   ► 'Cause it was accidental (accidental)

01:30:48 ◼   ► Oh, it was accidental (accidental)

01:30:51 ◼   ► John didn't do any research

01:30:53 ◼   ► Marco and Casey wouldn't let him

01:30:56 ◼   ► 'Cause it was accidental (accidental)

01:30:59 ◼   ► Oh, it was accidental (accidental)

01:31:02 ◼   ► And you can find the show notes at ATP.fm

01:31:07 ◼   ► And if you're into Twitter

01:31:10 ◼   ► You can follow them

01:31:12 ◼   ► at c-a-s-e-y-l-i-s-s so that's k-c-l-i-s-s-m-a-r-c-o-a-r-m-n-t-m-a-r-c-o-r-m-n-s-i-r-a-c-u-s-a-c-r-a-c-u-s-a

01:31:28 ◼   ► it's accidental, accidental they didn't mean to

01:31:33 ◼   ► accidental, accidental tech podcast so long

01:31:41 ◼   ► Did you see his follow-up song? I like his second version even better.

01:31:44 ◼   ► I didn't see that. He made a second version?

01:31:45 ◼   ► Yes, he said, I said the song he made was nice, but it didn't like thematically, whatever.

01:31:52 ◼   ► It didn't seem right for the show. And he said, "Well, what would sound right for the show?"

01:31:58 ◼   ► I said, "I don't know, bleeps and boops or something?"

01:32:00 ◼   ► And so he made one with bleeps and boops, which is also awesome.

01:32:03 ◼   ► [MUSIC PLAYING]

01:32:08 ◼   ► Thus concludes another thrilling episode

01:32:12 ◼   ► The accidental tech podcast is done for the day

01:32:18 ◼   ► But have no fear, 'cause they'll return again next week

01:32:23 ◼   ► They've tried before, but they can't seem to stay away

01:32:28 ◼   ► (upbeat music)

01:32:30 ◼   ► - That's awesome.

01:32:43 ◼   ► - You'll have to send that around,

01:32:44 ◼   ► 'cause I did not see that, I had no idea.

01:32:47 ◼   ► - Well, I will have to paste one of them in,

01:32:48 ◼   ► and we'll give him a good link in the show notes.

01:32:50 ◼   ► And thanks to Jonathan Mann,

01:32:52 ◼   ► the Song of Day guy on YouTube, for doing this.

01:32:57 ◼   ► so i thought i'd law i lost my job when i saw that in the sense that i cannot

01:33:01 ◼   ► believe that i'd really been a good way the good way

01:33:04 ◼   ► in that i can't believe that somebody on the internet would care enough about

01:33:09 ◼   ► a city it's particularly me

01:33:11 ◼   ► to to include me slash us in a song that that i i was beside myself excited that

01:33:16 ◼   ► we have to make a seat

01:33:17 ◼   ► i'm good enough

01:33:19 ◼   ► uh... and got started people are

01:33:23 ◼   ► people like me

01:33:24 ◼   ► [music]

01:33:40 ◼   ► People aren't sick of us yet anyway, but eventually people will be sick of us.

01:33:43 ◼   ► Then we'll have to do something. It'll take at least 100 episodes, don't you worry.

01:33:48 ◼   ► Nobody's going to be sick of us. No one isn't already sick of us. I always wonder if

01:33:54 ◼   ► Marco and I, we had our podcast, right? Are we getting the union of the people, or are

01:34:00 ◼   ► we getting the intersection for the people who can tolerate me and can tolerate Marco?

01:34:06 ◼   ► Is the sum of our parts less than, you know?

01:34:09 ◼   ► I think you guys are confused. Really, I'm the big draw, and you two are just riding

01:34:13 ◼   ► on my coattails.

01:34:14 ◼   ► Yeah. Yep, that's it.

01:34:17 ◼   ► What your job is is to make all the people who hate both me and Marco have someone likable.

01:34:22 ◼   ► - ...clashing onto the show. - ...on the show.

01:34:24 ◼   ► - 'Cause there are those people, and, you know...

01:34:26 ◼   ► - Oh, that would be wrong. - So once you start--

01:34:27 ◼   ► once Casey starts getting haters of his own, then we'll-- then we'll have a problem.

01:34:30 ◼   ► - It's only a matter of time. I mean, you can't do a podcast for-- for that long and not get haters.

01:34:35 ◼   ► - He's very likable. He's very likable. - That's true.

01:34:37 ◼   ► - Yeah, he's not-- he's not obnoxious like we are, so...

01:34:41 ◼   ► - Are you sure? Have we met? Well, did you see somebody, was it earlier today,

01:34:45 ◼   ► tweeted about how ugly we all are? - Yeah, well, you know.

01:34:46 ◼   ► - Yeah, that was great. - What am I gonna argue?