PodSearch

ATP

71: Security By Guilt

 

00:00:00 ◼   ► If you'd only put feet on the fast tech logo, that would have been your ticket to financial freedom.

00:00:05 ◼   ► Oh, God, you're the worst. I hate you so much.

00:00:08 ◼   ► You know, it's so obvious now that Casey's error was making fast techs have too many features.

00:00:13 ◼   ► If it had just simply sent the word "yo" to everybody, he'd be a millionaire now.

00:00:16 ◼   ► Little did I know.

00:00:17 ◼   ► You thought too big, you're like, "Oh, I gotta have a way to configure different messages and send them all on buttons."

00:00:21 ◼   ► No! Just send the word "yo." Push notification. Done and done.

00:00:27 ◼   ► Seriously, how can the Valley take themselves seriously?

00:00:31 ◼   ► That was a product of the Valley, I assume, right?

00:00:33 ◼   ► I think Marco was the one who compared it to Million Dollar Homepage.

00:00:38 ◼   ► Million Dollar Homepage still wins because of that venture capital money.

00:00:40 ◼   ► Like he has to actually spend that to try to grow the business or whatever.

00:00:43 ◼   ► The Million Dollar Homepage guy just got the money and it's his free and clear.

00:00:47 ◼   ► He does not have to invest it into a business.

00:00:49 ◼   ► He's not expected to hire employees to get off the space.

00:00:52 ◼   ► The venture capital money this guy got comes with massive strings attached and he will

00:00:56 ◼   ► never be able to fulfill what these people want because he's stupid and his business

00:01:00 ◼   ► is stupid. So the million dollar homepage guy still wins for the best business plan

00:01:05 ◼   ► of any business in the entire universe. I continue to try to think of some equivalent.

00:01:12 ◼   ► Many have tried.

00:01:13 ◼   ► Yeah, God, that guy. He's the smartest person in the world. In case he had had to come up

00:01:20 ◼   ► with the idea he would have tried to do it with WebSockets and then it wouldn't have

00:01:22 ◼   ► worked.

00:01:23 ◼   ► [laughter]

00:01:24 ◼   ► It's just a web page. That's it. Your financial investment risk is, even when he did it, like

00:01:32 ◼   ► in 1995, like his total financial investment in a static web page, like hosting it and

00:01:37 ◼   ► paying for bandwidth, it must have been like, let's say $100 against a million in income.

00:01:46 ◼   ► Can we make this the intro?

00:01:47 ◼   ► Oh, I was already planning on doing that, yeah.

00:01:50 ◼   ► That guy, man.

00:01:52 ◼   ► Even if the intro is like five minutes long before we actually get to the real show, I'm

00:01:56 ◼   ► okay with that.

00:01:57 ◼   ► Yeah.

00:01:58 ◼   ► No one knows what Million Dollar Homepages are, do they, these days?

00:02:01 ◼   ► Of course.

00:02:02 ◼   ► Yeah, they can look it up, for God's sakes.

00:02:03 ◼   ► It isn't that hard to find.

00:02:04 ◼   ► Is it still up?

00:02:05 ◼   ► I hope.

00:02:06 ◼   ► It was guaranteed to be up for a certain amount of time, right?

00:02:08 ◼   ► Yep, it's still up.

00:02:10 ◼   ► It's still fast.

00:02:11 ◼   ► He's selling posters of it.

00:02:12 ◼   ► It's a genius.

00:02:14 ◼   ► Yeah, it didn't…

00:02:17 ◼   ► It probably doesn't lose all of its data if the server crashed.

00:02:20 ◼   ► You guys are so mean to me.

00:02:21 ◼   ► My goodness.

00:02:22 ◼   ► I have to admit, there's one aspect of it that I guess he had to do something.

00:02:25 ◼   ► Assuming he didn't program this, he would have to put in the pixels that they paid for

00:02:29 ◼   ► in their places, right?

00:02:30 ◼   ► Yeah, I'm pretty sure he did it manually, because otherwise it's kind of a layout issue.

00:02:34 ◼   ► The boxpacking problem, right?

00:02:36 ◼   ► Right.

00:02:37 ◼   ► So there is some small component of labor, but I'm sure the bed of money he was laying

00:02:42 ◼   ► on made that labor more valuable.

00:02:44 ◼   ► Wow.

00:02:45 ◼   ► God, this is so old.

00:02:47 ◼   ► And he had to make the image map and the links to it, I guess.

00:02:50 ◼   ► So he had to write HTML and click buttons in an image editor.

00:02:54 ◼   ► Oh yeah, because this was long before anything more useful than that.

00:02:57 ◼   ► Oh, he's got a mouse over on it now too.

00:02:58 ◼   ► This is advanced technology.

00:02:59 ◼   ► He really put a lot of time and effort into this.

00:03:03 ◼   ► So I just expanded the—I did inspect element on Safari and I expanded the map element and

00:03:10 ◼   ► I think I just crashed Safari.

00:03:13 ◼   ► The best part is he's got like fake tooltips for I guess the days before browsers didn't

00:03:16 ◼   ► do automatic tooltips.

00:03:17 ◼   ► And you see the fake one and the real one.

00:03:19 ◼   ► like the fake one follows the cursor but the real one lags behind it and it's just…

00:03:22 ◼   ► Yeah.

00:03:23 ◼   ► How many hits a day do you think this gets?

00:03:24 ◼   ► I mean, the only bad thing is that he, I guess, he's kind of small because a million dollars

00:03:27 ◼   ► doesn't really last that long. I'm sure he's already gone through this money or

00:03:29 ◼   ► whatever, but it's a hell of a start for like starting your adult life at 20 whatever

00:03:33 ◼   ► years old he was.

00:03:34 ◼   ► Oh, yeah.

00:03:35 ◼   ► And so like, and unfortunately, he's now in the same situation as the rest of the world

00:03:38 ◼   ► is like, "I need another idea that's like that." If he had done a $10 million homepage,

00:03:41 ◼   ► he would have been a lot more comfortable.

00:03:42 ◼   ► Wait, so you see this layout and you see how it's like all loud because he, you know,

00:03:46 ◼   ► didn't control who bought.

00:03:49 ◼   ► Yeah, so it's like visually very loud, right?

00:03:51 ◼   ► - Yeah, looks like the web in the 90s.

00:03:53 ◼   ► - Yeah, his new web, his new venture, com.com.

00:03:57 ◼   ► - C-O-M or C-A-L-M?

00:03:59 ◼   ► - C-A-L-M.

00:04:00 ◼   ► - They probably spent a million dollars in that domain.

00:04:03 ◼   ► - Probably.

00:04:03 ◼   ► (laughing)

00:04:04 ◼   ► As per his Twitter account,

00:04:05 ◼   ► he is the founder and CEO of com.

00:04:07 ◼   ► - I'll bet he is.

00:04:09 ◼   ► - It's not loading as quickly as the million dollar home.

00:04:10 ◼   ► - No, it isn't.

00:04:11 ◼   ► - Maybe, did we just like take it down

00:04:12 ◼   ► with three simultaneous requests?

00:04:14 ◼   ► - It's got a little water background

00:04:16 ◼   ► No, I'm seeing a cloud background.

00:04:18 ◼   ► I got water.

00:04:19 ◼   ► Prepare for your two-minute session.

00:04:21 ◼   ► Choose your preferred nature.

00:04:22 ◼   ► Some BS relaxation thing.

00:04:25 ◼   ► Your other day idea was better.

00:04:26 ◼   ► We're both BS.

00:04:28 ◼   ► Yeah, but one makes people send him money.

00:04:31 ◼   ► The site was guaranteed to be online at least through August 26, 2010.

00:04:36 ◼   ► However, the aim is to keep the site online forever or as long as humanly possible.

00:04:40 ◼   ► I love how he's still got the sold-out banner.

00:04:42 ◼   ► Yeah, right?

00:04:43 ◼   ► Just in case you still wanted to buy things.

00:04:46 ◼   ► out and the minimum purchase was 10 by 10 or $100 yeah it was a dollar pixel

00:04:50 ◼   ► so he that's that was his only thing is that he thought a little bit small

00:04:54 ◼   ► because anyone who bought this like I guess he probably did you get some

00:04:56 ◼   ► private individuals but mostly it's gonna be businesses and businesses are

00:05:00 ◼   ► willing to spend way more than $100 on BS boondoggles like this even back then

00:05:05 ◼   ► were they yo yeah definitely like I mean that's I'm not saying you could have got

00:05:09 ◼   ► thousands but you could have got you know 300 or 500 easy cuz a hundred a

00:05:14 ◼   ► 100 is under the petty cash threshold even of most businesses in the 90s, you know.

00:05:19 ◼   ► Type of site, Pixel advertising.

00:05:21 ◼   ► It's on Wikipedia.

00:05:23 ◼   ► Were there many others?

00:05:25 ◼   ► As opposed to non-Pixel advertising.

00:05:26 ◼   ► Oh, so you click on Pixel advertising and you end up back on the million dollar homepage

00:05:32 ◼   ► redirected from Pixel advertising.

00:05:35 ◼   ► Aye yai yai.

00:05:37 ◼   ► Marco, buy me an M3.

00:05:40 ◼   ► All right, let me do some extraordinarily quick follow-up.

00:05:44 ◼   ► The showbot is back, and if I was more prepared, which I'm not because this show is accidental,

00:05:50 ◼   ► I've had some people contributing to it.

00:05:54 ◼   ► And I know Jeremy Banks put a lot of work into it.

00:05:57 ◼   ► Kyle Cronin did, and Brad Schoet, who runs the showbot that actually works, he has also

00:06:04 ◼   ► contributed.

00:06:05 ◼   ► And I'm probably forgetting some people here and there, and for that I'm deeply

00:06:07 ◼   ► and I really mean that because I didn't pull up GitHub before we started.

00:06:12 ◼   ► But yes, the showbot is back. Weave, and by "we" I mean everyone but me,

00:06:17 ◼   ► has made some pretty good improvements to it. We'll see how long it lasts.

00:06:22 ◼   ► We are currently about two minutes into recording and it hasn't quite died yet.

00:06:26 ◼   ► But it's been a really, all kidding aside, it's been a really cool thing to see people issuing pull requests.

00:06:33 ◼   ► requests. The only bad thing about putting something that's semi-popular on the internet

00:06:38 ◼   ► and open-sourcing it is that, unbeknownst to me, when people actually pay attention,

00:06:43 ◼   ► which I'm not used to, you actually have some sort of implied time commitment to like

00:06:48 ◼   ► look at poll requests and figure things out.

00:06:50 ◼   ► That's a good topic for a show. Do you have an implied time commitment to do that? Obviously

00:06:57 ◼   ► you think you do, but do you actually? That's not for today's topic, but save it.

00:07:01 ◼   ► I was gonna say we could use the standard

00:07:03 ◼   ► Standard consulting term and we could put that in the parking lot for now. What wait, hold on. That's a real thing. Mm-hmm

00:07:10 ◼   ► Oh, I spent all day in meetings and I'm

00:07:12 ◼   ► I'm about to cry. What is wrong with you people? I

00:07:15 ◼   ► Regret to say that I do know about the parking lot. Only Marco doesn't know

00:07:20 ◼   ► Oh my god, what? Oh this you're you've already broken my brain. We're like three minutes into the show

00:07:27 ◼   ► That's it. I'm done. I can't say anything else. Wait, Google IO didn't do it?

00:07:31 ◼   ► No, that you just broke my brain more than Google IO did. That's really saying something.

00:07:36 ◼   ► You're welcome. You know, you should have been doing KC all this time and you haven't figured it out now

00:07:41 ◼   ► I will give you the hint to help you along that path

00:07:43 ◼   ► even though you're being dragged down it by other people. As soon as you had the chat room filled with people who were attacking your

00:07:48 ◼   ► bot and everything and how it's gonna help improve it and help you improve your code and be educational and entertaining for everyone involved

00:07:55 ◼   ► you should have immediately tried to enlist a faction of people who

00:07:59 ◼   ► For on your side because it's very easy to get programmers on your side when presented with a problem like hey a bunch of other

00:08:06 ◼   ► People are attacking this program help me make it stronger at least half of the people who are attacking probably would have said oh

00:08:13 ◼   ► I'd like to be on the defense side at this game. You know what I mean and gaming parlous

00:08:17 ◼   ► Do you wanna be attackers or defenders? You haven't done that it's been happening to you people have been saying here

00:08:21 ◼   ► Let me help you out with your bot

00:08:22 ◼   ► But I think you would have been successful even on the very first show saying I know people are going to attack this and if you

00:08:28 ◼   ► want to be on the defense side join me and then you could get a power dynamic going and I bet it would be a

00:08:34 ◼   ► Much more fair fight. Well, and that's true

00:08:38 ◼   ► But we've had like I said some volunteers come out of the woodwork and make some really excellent changes

00:08:44 ◼   ► A couple of them have started were looking at putting like memcached in front of it or some some equivalent thereof

00:08:51 ◼   ► I haven't had the time to look into the specifics of the more

00:08:55 ◼   ► invasive, but I mean that in a good way.

00:08:58 ◼   ► Edits that have been made to the show, but oh there are automated tests now, which I also haven't looked into yet.

00:09:03 ◼   ► But one of my cronies, and again I mean that in a good way, has added automated testing and

00:09:10 ◼   ► at some point I plan on turning that on so that as things get checked into master

00:09:14 ◼   ► and pushed into master and so on automated tests will run.

00:09:19 ◼   ► We did have somebody contribute some Regex and specifically call you out and say, in a happy way, saying,

00:09:26 ◼   ► "Oh, I don't know if this is up to John quality, but nevertheless I did something." I think it was around the suggest checking.

00:09:33 ◼   ► Checking for the exclamation point S. By the way, do you guys say bang S or would you say exclamation point?

00:09:39 ◼   ► Wait, why does it have to be a Regex? It's just two characters that always are the same.

00:09:42 ◼   ► Well, but it could be exclamation point S or it could be exclamation point suggest.

00:09:47 ◼   ► Yeah, but they both begin with exclamation point S.

00:09:49 ◼   ► Well, that's the way I looked at it, but apparently if you find yourself in the presence

00:09:54 ◼   ► of anyone who's ever touched Perl in their lives, then their hammer is made of regex

00:10:00 ◼   ► and everything looks like a nail.

00:10:01 ◼   ► You want to be permissive in what kind of input you take in, because humans are writing

00:10:05 ◼   ► it, so you have to allow for variable amounts of spacing, and inevitably you have to extract

00:10:08 ◼   ► the part that is not the command, and that is the title, and you're going to want to

00:10:11 ◼   ► do things with the title, like normalize it for deduplication purposes and trim out multiple

00:10:15 ◼   ► space runs for the official version that you display and all that good stuff and that's

00:10:19 ◼   ► exactly what regular expressions are for. If you're a C programmer and you're stepping

00:10:22 ◼   ► through the string of character at a time, I feel bad for your son as they say.

00:10:27 ◼   ► [laughter]

00:10:28 ◼   ► Now, I have two questions. With all these improvements to the Showbot, question number

00:10:33 ◼   ► one, is it rate limited?

00:10:36 ◼   ► Yes. Somebody added some modicum of rate limiting. I haven't been paying super close attention,

00:10:42 ◼   ► which comes back to what John said we should put in the parking lot, or what I said we

00:10:46 ◼   ► should put in the parking lot.

00:10:47 ◼   ► But anyways, there is a modicum of rate limiting and there's still no persistence.

00:10:53 ◼   ► So when this inevitably goes down, we're going to lose all our titles.

00:10:59 ◼   ► So I hope the actual showbot is still around.

00:11:02 ◼   ► Brad Schoetz's showbot.

00:11:03 ◼   ► But anyway, so I've turned a new leaf.

00:11:06 ◼   ► A friend of the show, Chris Harris, originally from the other media, now he's with Glide

00:11:11 ◼   ► publishing. He wrote me a very nice email saying in so many words, "Yes, it's annoying,

00:11:17 ◼   ► but it makes for good programming, so deal with it." So I'm going to try to put on

00:11:23 ◼   ► my happy face. When the Showbot inevitably goes down in like 10 minutes, I'm going

00:11:27 ◼   ► to probably end up really ticked off again. But standing here now, I'm going to put

00:11:31 ◼   ► on my happy face.

00:11:32 ◼   ► So—

00:11:33 ◼   ► So yeah, I bet the guy who wrote you in with like the—we were IMing about a particular

00:11:36 ◼   ► known bug that could take out the Showbot very quickly—the person who wrote in to

00:11:40 ◼   ► to you about that probably now feels bad about exploiting it and won't. So you've sort of

00:11:45 ◼   ► got that person on your side because it's no fun anymore, because if you know about

00:11:49 ◼   ► the bug and he told you about the bug and he knows it's not fixed, it's not as fun to

00:11:52 ◼   ► exploit it to bring the thing down.

00:11:54 ◼   ► Right, security by guilt.

00:11:56 ◼   ► Someone on the chatroom said, "Well, attacking is always more fun than defending." That's

00:12:01 ◼   ► like level one. Level two is that defending is more fun than attacking because the attackers

00:12:06 ◼   ► all think they're hot, but really if you're a defender, that shows you're better than

00:12:09 ◼   ► all the attackers, you know, it's the white hat, black hat thing. I feel like white hat

00:12:16 ◼   ► is the next level up from black hat, because everyone wants to be black hat, I'm going

00:12:19 ◼   ► to crack into things, but to be a white hat, you are saying that you are better than any

00:12:23 ◼   ► potential black hat, which is an even more boastful statement.

00:12:27 ◼   ► And we died. Gone.

00:12:28 ◼   ► That was it. Let me see if I— It doesn't mean that other people didn't

00:12:31 ◼   ► also know that, known bug, and weren't on your side.

00:12:35 ◼   ► Let's see, where did I, I see a stack trace, unspecified,

00:12:38 ◼   ► oh, apparently there was just some sort of error

00:12:40 ◼   ► in the web socket.

00:12:42 ◼   ► All right, you guys stall while I put up a gist

00:12:43 ◼   ► so people who actually know what the crap they're doing

00:12:46 ◼   ► can diagnose this.

00:12:48 ◼   ► - Our first sponsor this week is a new sponsor.

00:12:50 ◼   ► Yeah, right?

00:12:51 ◼   ► I'm getting good at this sometimes, maybe occasionally.

00:12:54 ◼   ► Our new sponsor this week is Raiz Labs,

00:12:57 ◼   ► it's R-A-I-Z-L-A-B-S, Raiz Labs.

00:13:00 ◼   ► They are a full service development firm

00:13:02 ◼   ► with offices in Boston and San Francisco.

00:13:04 ◼   ► They've been around for about 10 years now,

00:13:07 ◼   ► and they've been crafting great mobile products

00:13:09 ◼   ► for a variety of companies, big and small.

00:13:11 ◼   ► It's up from well-known brands like Macy's and Bloomingdale's

00:13:14 ◼   ► and B&H Photo Video to local startups like Sunsprite,

00:13:17 ◼   ► the creator of the first solar-powered

00:13:18 ◼   ► personal sun exposure tracker.

00:13:21 ◼   ► The company got its start by shipping one of the very first

00:13:22 ◼   ► several hundred apps in the app store called Runkeeper.

00:13:25 ◼   ► It's actually been there since the beginning.

00:13:27 ◼   ► It's a Boston-based GPS fitness tracking app.

00:13:29 ◼   ► Anyway, Raizelabs wants to change the world

00:13:32 ◼   ► with great software.

00:13:33 ◼   ► They care about crafting quality products

00:13:35 ◼   ► and they are looking for others that share this mentality.

00:13:38 ◼   ► See, this sponsorship's actually a job listing.

00:13:40 ◼   ► They are actively hiring for experienced mobile developers,

00:13:43 ◼   ► iOS and Android in both Boston and San Francisco

00:13:47 ◼   ► to engineer beautiful apps and influence product direction

00:13:49 ◼   ► for well-known Fortune 500 companies

00:13:52 ◼   ► and exciting new startups.

00:13:53 ◼   ► They're also looking for talented designers

00:13:56 ◼   ► to help craft a memorable experience for users

00:13:58 ◼   ► as well as product managers.

00:14:00 ◼   ► You'll be working with enthusiastic and supportive peers

00:14:03 ◼   ► in a trust-based work environment.

00:14:05 ◼   ► I wonder if they have a parking lot.

00:14:07 ◼   ► If a place doesn't have a parking lot,

00:14:10 ◼   ► can they still use that phrase?

00:14:12 ◼   ► - Sure.

00:14:12 ◼   ► - 'Cause they're in major metro areas,

00:14:14 ◼   ► they might not even have a parking lot,

00:14:15 ◼   ► 'cause those are, you know, they're in dense areas.

00:14:17 ◼   ► Anyway, we'll just assume they don't use that phrase,

00:14:20 ◼   ► 'cause they seem like good people.

00:14:21 ◼   ► So, you'll be working with enthusiastic

00:14:23 ◼   ► and supportive peers in a trust-based work environment.

00:14:26 ◼   ► They also have unique vacation and referral programs.

00:14:29 ◼   ► Their vacation policy is unlimited, unmetered,

00:14:32 ◼   ► It can be summed up in four words, "In team we trust."

00:14:36 ◼   ► How much time you take off is up to you.

00:14:38 ◼   ► They also have this referral program where anyone who refers a talented individual to

00:14:41 ◼   ► RaizLabs will receive a four-day all-expenses paid vacation for two.

00:14:46 ◼   ► You can learn about that at raizlabs.com/trip.

00:14:48 ◼   ► They also have hack days every two weeks.

00:14:50 ◼   ► The only requirement is that you must demo or present whatever you've learned.

00:14:54 ◼   ► And they're involved in the iOS community with sponsoring events such as AltConf and

00:14:58 ◼   ► Drinks on Tap.

00:14:59 ◼   ► So check out RaizLabs.

00:15:00 ◼   ► They're looking for good people.

00:15:01 ◼   ► If you want to work there, get in touch.

00:15:03 ◼   ► Go to Raizlabs, R-A-I-Z-L-A-B-S, .com/ATP.

00:15:08 ◼   ► Once again, that's Raiz with a Z, raizlabs.com/ATP.

00:15:12 ◼   ► Thanks a lot to Raizlabs for sponsoring the show,

00:15:14 ◼   ► and check 'em out if you want a good job.

00:15:16 ◼   ► - All right, so Jeremy Banks in the chat

00:15:18 ◼   ► is one of the people who has dedicated

00:15:22 ◼   ► not insignificant amount of time to improving the showbot,

00:15:25 ◼   ► and apparently one of the many branches and pull requests

00:15:28 ◼   ► that is out there that I haven't had a chance to look at

00:15:31 ◼   ► fixes this problem, which is to say that I wasn't catching or handling errors in

00:15:37 ◼   ► WebSockets. Now, of course, that error probably shouldn't have happened in the first place,

00:15:40 ◼   ► but eventually that exception just bubbled up and brought everything to its knees. So

00:15:44 ◼   ► that, I believe, is what happened. But it's event-driven.

00:15:48 ◼   ► Right. And it's scalable. This is how it scales.

00:15:51 ◼   ► Well, WebSockets are a little bit weird, but your point is not unreasonable. But anyway,

00:15:54 ◼   ► we could—we don't need to talk about the showbot anymore. It lasted, what, 10 minutes? That's not

00:15:58 ◼   ► Not even. It's an improvement. It's getting worse every week. It lasted 15 last week.

00:16:02 ◼   ► Oh, yeah, you're right.

00:16:04 ◼   ► I did my best trying to stall for time by guilting people into not bringing it down,

00:16:07 ◼   ► but it's not working. It's only worked for so long.

00:16:10 ◼   ► Do we have any actual other follow-up? I mean, we have like this, you know,

00:16:14 ◼   ► four pages worth in the document, but are we actually going to read this or what?

00:16:17 ◼   ► I put one item at the very top. I mean, it could be a topic, too. I just figured we would talk

00:16:21 ◼   ► about Google I/O, but then Casey said he didn't even watch it, so I'm not sure what we'll talk

00:16:24 ◼   ► about today, but I had one Apple WWDC sort of related topic, so it's kind of follow-up.

00:16:30 ◼   ► Well, you know, follow-up is the essence of experience design. The primary actions are

00:16:37 ◼   ► inflection points that transform the whole design. Their emphasis makes core functionality

00:16:42 ◼   ► immediately apparent and provides waypoints for the user. That's not the worst one, though. The

00:16:47 ◼   ► one that DHH tweeted was, I think that was, because I read that like six times and I'm like,

00:16:54 ◼   ► There's not even—is there a verb in the sentence anywhere? It was just—

00:16:57 ◼   ► Well, for what it's worth, I did at least look at a couple of recaps to see the general gist of what

00:17:03 ◼   ► was said, and I watched one of their, like—what is this silly term they have for design? Material-based

00:17:09 ◼   ► design or something like that? "A material metaphor is the unifying theory of a rationalized

00:17:14 ◼   ► space and a system of motion. Our material is grounded in tactile reality, inspired by our

00:17:21 ◼   ► study of paper and ink, yet open to imagination and magic."

00:17:25 ◼   ► The thing that scared me when he tweeted that, because the tweet was something like, "Apple

00:17:31 ◼   ► has some high-minded knowledge or BS language essentially in their copy sometimes, but this

00:17:38 ◼   ► really takes the cake." And I'm like, "That's from an Apple website?" Because I thought

00:17:41 ◼   ► he was saying that, "Yeah, Apple says some crazy stuff sometimes, but look at this, this

00:17:45 ◼   ► is the worst thing they've ever done." And I was looking at it, I'm like, "What

00:17:49 ◼   ► page could that possibly be from? That can't be from an Apple site, and I was relieved

00:17:53 ◼   ► to learn that it was not from an Apple site, but it was from a Google site. Yeah. Not great.

00:18:00 ◼   ► No, but I will say the literally two or two and a half minute video that they have on

00:18:05 ◼   ► their new design site where they don't really say much of anything, I don't think, but they

00:18:10 ◼   ► show the kind of idea behind the look and feel of, what is this, Android L. But anyway,

00:18:18 ◼   ► that actually looked good to me.

00:18:19 ◼   ► And a lot of it looked a lot like iOS, and some of it didn't.

00:18:22 ◼   ► But I thought it looked good.

00:18:24 ◼   ► I thought the Apple video, they're

00:18:26 ◼   ► a little introverted for iOS.

00:18:27 ◼   ► That would look better.

00:18:28 ◼   ► But it's not like--

00:18:30 ◼   ► we could do the whole show talking about how Google is

00:18:32 ◼   ► worse at giving keynotes than Apple.

00:18:34 ◼   ► But really, it doesn't matter that much

00:18:37 ◼   ► how good the keynote is or how good the copy

00:18:40 ◼   ► and marketing on their site matters a little bit more

00:18:43 ◼   ► because that's persistent.

00:18:45 ◼   ► But in terms of why do this thing, why do this material UI,

00:18:51 ◼   ► Google has been trying for the past several years

00:18:54 ◼   ► to address its perceived and, I think, actual shortcoming

00:18:57 ◼   ► in user interface by saying it should look less

00:19:00 ◼   ► like a bunch of programmers slapped something together

00:19:02 ◼   ► and more like there were designers involved.

00:19:05 ◼   ► And it's been a slow, long process,

00:19:06 ◼   ► and this is the next step in it, to try to unify Google's user

00:19:11 ◼   ► interface across all the things that have user interface

00:19:14 ◼   ► to give a family resemblance or whatever.

00:19:17 ◼   ► Don't you think that's a good idea?

00:19:19 ◼   ► I mean, you can argue whether it should

00:19:20 ◼   ► be unified across everything from watches to televisions,

00:19:23 ◼   ► but Apple kind of has a common design language

00:19:27 ◼   ► across everything that it does, even if they're not

00:19:29 ◼   ► as similar as this material UI is supposed to be.

00:19:34 ◼   ► - Yeah, I mean, I definitely think it's,

00:19:36 ◼   ► they're going in a good direction.

00:19:38 ◼   ► They're going in a direction they need to go in.

00:19:40 ◼   ► A lot of the things they talked about

00:19:42 ◼   ► while they were full of this blowhard in the clouds

00:19:45 ◼   ► language, and who knows what they were sniffing

00:19:48 ◼   ► over there when they came up with some of this,

00:19:49 ◼   ► but the design, the actual design below all this BS

00:19:53 ◼   ► looks pretty good to me, but it's easy,

00:19:56 ◼   ► we can't really judge yet, it's way too early to judge

00:20:00 ◼   ► because we don't really know how this will be in practice,

00:20:03 ◼   ► and the three of us will probably never know

00:20:04 ◼   ► 'cause we'll probably never use it regularly

00:20:06 ◼   ► to even see it, but it's easy to give a good demo

00:20:11 ◼   ► give a good demo.

00:20:12 ◼   ► - Well wait, is it easy?

00:20:14 ◼   ► Is it easy to give a good demo?

00:20:16 ◼   ► - Fair point.

00:20:17 ◼   ► There's gonna be some challenges with this,

00:20:19 ◼   ► like every design language,

00:20:21 ◼   ► especially every trendy looking design language.

00:20:24 ◼   ► One of the things I noticed immediately

00:20:27 ◼   ► was it seems extremely reliant

00:20:29 ◼   ► on fairly undiscoverable gestures.

00:20:33 ◼   ► And you can say that about a lot of iOS stuff as well,

00:20:36 ◼   ► but it seemed like this was especially so in that direction.

00:20:39 ◼   ► That's a little bit scary to me,

00:20:41 ◼   ► just from a usability perspective.

00:20:42 ◼   ► Anything that revolves around like,

00:20:44 ◼   ► oh well you can just pinch this out

00:20:46 ◼   ► and drag here and move this thing around.

00:20:48 ◼   ► Well, it has to be pretty clear to people,

00:20:51 ◼   ► what can move, what can't, what is draggable, what can't.

00:20:53 ◼   ► If there's something like a pinch or a drag

00:20:55 ◼   ► that can expose pretty good functionality,

00:20:57 ◼   ► how do you ever figure that out?

00:20:59 ◼   ► That's always tricky with gesture-based interfaces

00:21:02 ◼   ► and that's going to be a challenge here too.

00:21:05 ◼   ► That being said, again I think it's too early to tell

00:21:09 ◼   ► because anybody can, well, almost anybody

00:21:11 ◼   ► can make a good demo.

00:21:13 ◼   ► It's even easier to make a good video.

00:21:16 ◼   ► It's much harder to actually predict

00:21:18 ◼   ► how this will be once it's integrated

00:21:21 ◼   ► through the whole system and once apps start integrating it.

00:21:23 ◼   ► And none of the three of us know enough about Android

00:21:25 ◼   ► to even know what the main problems these days are.

00:21:29 ◼   ► - Well, not having used it is no reason

00:21:31 ◼   ► to not pick up things that you don't like about it.

00:21:33 ◼   ► So at least two things to complain about from the,

00:21:36 ◼   ► and the first complaint is to actually complain

00:21:38 ◼   ► about all recent visual redesign things,

00:21:43 ◼   ► is that iOS does it, Google's doing it with this,

00:21:47 ◼   ► everybody who does some sort of UI refresh

00:21:50 ◼   ► feels this need, is it peer pressure,

00:21:52 ◼   ► or is it just like, this is not new to computer interfaces,

00:21:55 ◼   ► I guess this has always been there.

00:21:56 ◼   ► They want some kind of theme or metaphor

00:22:00 ◼   ► to anchor their design, which is a common thing,

00:22:02 ◼   ► but in user interfaces on mobile devices and stuff,

00:22:07 ◼   ► Like, the metaphor that Google used was,

00:22:11 ◼   ► don't just think of it as a bunch of pixels.

00:22:12 ◼   ► Think of the pixels not just having X and Y coordinates,

00:22:15 ◼   ► but also Z coordinates, and down to the point

00:22:17 ◼   ► where in the demo they're like, in your UI,

00:22:19 ◼   ► you'll essentially give Z layering to all of your things,

00:22:23 ◼   ► and then our user interface library will make them

00:22:26 ◼   ► look like they have that Z layering by applying shadows

00:22:28 ◼   ► and rendering them real time and all this stuff or whatever.

00:22:30 ◼   ► But that metaphor, like that you need this metaphor,

00:22:33 ◼   ► that it's like pieces of paper and they're stacked,

00:22:35 ◼   ► and they have a z-index or like Apple where it's like translucent things sliding past

00:22:38 ◼   ► each other and it's a layered thing.

00:22:41 ◼   ► Those metaphors are important in that they inform the user interface, but it seems like

00:22:45 ◼   ► maybe, I don't know who's worse about this, Apple or Google, like they take that design

00:22:51 ◼   ► and they go beyond just having this be a way that humans who look at the screen can understand

00:22:56 ◼   ► what's supposed to happen.

00:22:57 ◼   ► And they just get lost in it and think that everything in their user interface has to

00:23:03 ◼   ► inform and reinforce that metaphor

00:23:05 ◼   ► for the sake of the metaphor, not for like, it flips.

00:23:09 ◼   ► Instead of the metaphor being,

00:23:10 ◼   ► this is how we're gonna get people to understand

00:23:11 ◼   ► how to use our device, it becomes,

00:23:13 ◼   ► the metaphor is the goal,

00:23:15 ◼   ► and every part of our user interface has to reinforce

00:23:17 ◼   ► and build on that metaphor,

00:23:19 ◼   ► right down to being clever expansions of that metaphor

00:23:21 ◼   ► and doing stuff like that.

00:23:22 ◼   ► And it's like they lose the forest of the tree.

00:23:23 ◼   ► So every time I see one of these videos

00:23:25 ◼   ► that explains what the underlying thing is

00:23:27 ◼   ► and then spends the rest of the video

00:23:28 ◼   ► showing how everything folds into an underlying thing,

00:23:31 ◼   ► I'd rather have them show me how the metaphor makes the interface more understandable to

00:23:36 ◼   ► people instead of showing me how every part of the user interface conforms to the metaphor.

00:23:40 ◼   ► So that's one thing.

00:23:41 ◼   ► And again, you can't tell until we use it, but I can tell from the presentations that

00:23:44 ◼   ► this is how they're presenting their UI.

00:23:48 ◼   ► And the second thing—what is the second thing, I feel like?

00:23:50 ◼   ► What's his name?

00:23:51 ◼   ► The guy who forgot the third thing, but I can't remember the second thing.

00:23:54 ◼   ► Nice.

00:23:55 ◼   ► It'll come to me in a second.

00:23:58 ◼   ► Go on.

00:23:59 ◼   ► I'll get it in a second.

00:24:00 ◼   ► So they only spent about the first 45 minutes or so talking about new stuff that was going

00:24:06 ◼   ► into Android.

00:24:07 ◼   ► Right?

00:24:08 ◼   ► Do I have that roughly right?

00:24:09 ◼   ► And then the rest of it was some of these new initiatives, like the Android Wear, Android

00:24:14 ◼   ► TV, Android in your vehicles, whatever their Android car, Android drive, what are they

00:24:18 ◼   ► calling it?

00:24:19 ◼   ► Auto Android, is that right?

00:24:20 ◼   ► Yeah.

00:24:21 ◼   ► Android Auto, other way.

00:24:22 ◼   ► Okay.

00:24:23 ◼   ► It seemed like, so the first 45 minutes, here's what's new in Android, basically.

00:24:26 ◼   ► Good.

00:24:27 ◼   ► You know, if you're into Android, that's probably very relevant.

00:24:29 ◼   ► And I think what got people to say it was so boring, because in the first part of it

00:24:34 ◼   ► everybody was quite interested in all that.

00:24:35 ◼   ► And I wasn't watching it live, but I was watching the Twitter response, and yeah, the

00:24:40 ◼   ► first part of it seemed pretty strong.

00:24:41 ◼   ► And then they get into this hour and a half more, two hours more, of talking about various

00:24:49 ◼   ► new hardware integration initiatives.

00:24:54 ◼   ► What's bad about that is that none of these things are actual products yet, or very few

00:24:57 ◼   ► of them are.

00:24:58 ◼   ► it's all about the promise of what you can maybe do with this in the future.

00:25:02 ◼   ► Like when Apple, you know, Apple unveiled the health book, health kit thing, home kit,

00:25:10 ◼   ► and they didn't even mention CarPlay, or if they did it was very quick in this keynote,

00:25:16 ◼   ► because I think it was, didn't it launch last year? Didn't they initially launch

00:25:21 ◼   ► CarPlay last year? Anyway.

00:25:22 ◼   ► - But they had a Ferrari.

00:25:25 ◼   ► - Right. But they didn't give it a whole lot of time in the keynote because there's

00:25:28 ◼   ► much really to say yet. It's, "Hey, we have this new thing. We hope people make devices

00:25:34 ◼   ► for it basically and we hope you make apps for it once these devices exist. Good luck

00:25:38 ◼   ► with that and moving on." And that's what they did this year with HealthKit and HomeKit

00:25:42 ◼   ► because there really was not much to say. Google devoted three quarters of their keynote

00:25:47 ◼   ► to that. And so I think that's why it was so boring because it's a lot like a CES

00:25:54 ◼   ► keynote at that point. CES keynotes are famously, especially when Microsoft would give them

00:25:59 ◼   ► our HP or whoever, they would always be famously full of vaporware. It would always be this

00:26:04 ◼   ► crazy stuff that kind of maybe sounds interesting during the demo and kind of sounds possibly

00:26:11 ◼   ► impossible or stretching the limits of what consumer products can be or can do realistically.

00:26:16 ◼   ► And then six months later they get cancelled and they were never released or they come

00:26:21 ◼   ► out and they're really disappointing and they flop badly in the market because they were

00:26:24 ◼   ► nothing like what they were going to be demoed like in the keynote.

00:26:28 ◼   ► And it's hard to look at Google's rest of their keynote and not make a parallel there

00:26:34 ◼   ► because it seems like almost everything they announced after the first 45 minutes was like

00:26:39 ◼   ► here's a bunch of new stuff that in the best case scenario might come out fairly soon and

00:26:45 ◼   ► might be kind of cool. But we're depending on a lot of other people for that to happen

00:26:49 ◼   ► And in the meantime, here's some pretty terrible smartwatches

00:26:52 ◼   ► to tide you over.

00:26:54 ◼   ► I think that's a little bit harsh because, A,

00:26:56 ◼   ► this is Google's-- part of Google's strategy

00:26:58 ◼   ► is that they make a platform that other hardware maker--

00:27:01 ◼   ► other people can build products on.

00:27:02 ◼   ► Like, that's their thing.

00:27:03 ◼   ► I mean, you could say you don't like that thing as much

00:27:05 ◼   ► as Apple's thing, but that is certainly their thing.

00:27:07 ◼   ► So to expect Google to come out and have products

00:27:11 ◼   ► behind every single one of these things

00:27:12 ◼   ► that their software platform provides

00:27:15 ◼   ► is probably-- expect them to be too much like Apple.

00:27:18 ◼   ► but the things that they show,

00:27:21 ◼   ► like the idea that we've got this platform,

00:27:23 ◼   ► the platform works obviously in phones and tablets,

00:27:26 ◼   ► here's how the platform works on television,

00:27:28 ◼   ► here's how it might work on a watch.

00:27:30 ◼   ► I didn't like the watches either,

00:27:33 ◼   ► but it is showing that their platform works there.

00:27:36 ◼   ► And the TV stuff looked pretty good to me.

00:27:38 ◼   ► Certainly, they have shown an ability

00:27:41 ◼   ► to have a single platform that spans all those devices

00:27:45 ◼   ► better than Apple has,

00:27:46 ◼   ► because Apple has its platform, it's got its desktop platform,

00:27:50 ◼   ► and its tablet and phone platform, and its TV platform,

00:27:52 ◼   ► and there's no unified story that includes all of them.

00:27:57 ◼   ► And you could say, well, we don't

00:27:59 ◼   ► want it to be unified across the Mac and iOS devices, which

00:28:02 ◼   ► is fine.

00:28:03 ◼   ► But the TV thing already runs iOS,

00:28:05 ◼   ► but it doesn't even run apps.

00:28:06 ◼   ► Like, they're not extending that platform out there.

00:28:09 ◼   ► So I think that Google is out ahead of Apple

00:28:11 ◼   ► in terms of having a unified platform across all

00:28:13 ◼   ► their products.

00:28:13 ◼   ► It just so happens that they're not

00:28:14 ◼   ► responsible for making all their products because their whole deal is they let other people build on them and so on and so forth

00:28:18 ◼   ► But the TV stuff that they showed that looks a hell of a lot better than the Apple TV

00:28:22 ◼   ► You I don't don't you guys think yeah, I didn't see very much of it

00:28:25 ◼   ► But it's the one or two images I saw looked very good and the Apple TV is starting to look a little dated

00:28:31 ◼   ► But to go back just a step what's so bad about these watches? I'm I don't I mean I'll tell you what's bad about the watches

00:28:37 ◼   ► Oh, so let me finish my thought

00:28:40 ◼   ► But I genuinely would love to hear what you have to say because I'm looking at these pictures that are on the verge of the which

00:28:45 ◼   ► One is this moto 360 and I don't see an issue with the circular display

00:28:50 ◼   ► Gigantic that's the round one right okay? Well hold yes, it's around one now hold on now

00:28:53 ◼   ► The one thing I was gonna say is I have the tiniest

00:28:56 ◼   ► Risks that any man has ever had in in the history of mankind and so I think this thing would look ridiculous on me

00:29:02 ◼   ► But let's assume for a moment that I didn't have little teeny tiny wrists. I don't see what's so bad about this

00:29:08 ◼   ► I think it looks okay. It looks a lot better than a pebble.

00:29:10 ◼   ► We are also sponsored this week by our friends at Squarespace. They are back once again.

00:29:15 ◼   ► Now we're going to do something a little bit different this week. Squarespace recognizes

00:29:19 ◼   ► that they have supported lots of podcasts, big and small. They really fund a lot of them

00:29:25 ◼   ► and we all thank them very much for that. They want to be in the forefront of helping

00:29:29 ◼   ► this medium reach the next level. But for this ad read, they wanted to try something

00:29:32 ◼   ► different, something fun. Now our friend Jonathan Mann, also known as Song of the Day Mann,

00:29:37 ◼   ► Jonathan Mann, who wrote our theme song,

00:29:39 ◼   ► which you've possibly heard before,

00:29:41 ◼   ► if you've ever listened to the end of our show,

00:29:42 ◼   ► or let's be honest, the middle of our show.

00:29:45 ◼   ► If you've ever listened,

00:29:46 ◼   ► so Jonathan Mann wrote our awesome theme song.

00:29:49 ◼   ► He also recently, he was tired of hearing

00:29:51 ◼   ► the same Squarespace reads over and over again.

00:29:53 ◼   ► So he wrote a Squarespace sponsorship song.

00:29:57 ◼   ► ♪ It's the all in one platform ♪

00:30:02 ◼   ► ♪ Makes it fast and easy to create ♪

00:30:05 ◼   ► You can start with 20 highly customizable

00:30:09 ◼   ► 10 plays to make your own professional website

00:30:13 ◼   ► Or online portfolio

00:30:15 ◼   ► Industry leading support

00:30:18 ◼   ► At just $8 a month, whoa

00:30:21 ◼   ► You know the drill, you know where to go

00:30:24 ◼   ► Squarespace, get started today

00:30:26 ◼   ► Make the website that you wanna make

00:30:29 ◼   ► Squarespace, so easy and fast

00:30:32 ◼   ► They fund all your favorite podcasts

00:30:34 ◼   ► They fund all your favorite podcasts to start your free trial

00:30:40 ◼   ► No credit card required or responsive design

00:30:45 ◼   ► Every device, every time, all the options you need

00:30:50 ◼   ► To create a unique website, they're constantly improving

00:30:56 ◼   ► The platform and the tools, and it's awesome

00:31:00 ◼   ► ♪ Squarespace, get started today ♪

00:31:03 ◼   ► ♪ Make the website that you wanna make ♪

00:31:06 ◼   ► ♪ Squarespace, so easy and fast ♪

00:31:09 ◼   ► ♪ They fund all your favorite podcasts ♪

00:31:12 ◼   ► ♪ They fund all your favorite podcasts ♪

00:31:17 ◼   ► - You can start a free trial with no credit card required.

00:31:19 ◼   ► Start building your website today.

00:31:21 ◼   ► When you decide to sign up for Squarespace,

00:31:23 ◼   ► make sure to go to squarespace.com

00:31:25 ◼   ► and use the offer code ATP to get 10% off

00:31:28 ◼   ► your first purchase and to show your support for our show.

00:31:30 ◼   ► Once again, use Koopa code ATP to get 10% off.

00:31:34 ◼   ► Thank you very much to Squarespace and to Jonathan Mann.

00:31:37 ◼   ► Thanks to Squarespace for sponsoring our show.

00:31:38 ◼   ► Thanks to Jonathan Mann for being awesome.

00:31:40 ◼   ► Squarespace, a better web starts with your website.

00:31:43 ◼   ► Now, John, why do smartwatches suck?

00:31:47 ◼   ► - I don't know what smartwatches in general,

00:31:49 ◼   ► but the ones they showed at this Google thing,

00:31:51 ◼   ► and I didn't watch all the smartwatch demo,

00:31:53 ◼   ► but I watched enough to see what they're doing essentially.

00:31:56 ◼   ► And I had just talked about how it was a good idea

00:31:57 ◼   ► that Google had a platform that spanned

00:32:00 ◼   ► little screens to big screens and how that was a strength for them. But I remain unconvinced

00:32:06 ◼   ► that the correct way to do a smartwatch is to take your user interface that you have

00:32:09 ◼   ► on your phones and your tablets and your TVs and continue to shrink it until it's on your

00:32:13 ◼   ► wrist and then tap and swipe your way through a series of UIs that are custom made to fit

00:32:16 ◼   ► on a very tiny screen. Because that just doesn't look like a good time for me. That doesn't

00:32:21 ◼   ► look like something that's useful. You have to compromise. Certain UI elements and staples

00:32:26 ◼   ► just don't work on a small screen, like table views and stuff start to become ridiculous

00:32:30 ◼   ► when you can see two items at once.

00:32:32 ◼   ► And you know, it's just, I don't think that's the right solution for a screen that small.

00:32:36 ◼   ► In the same way that the right solution for a screen the size of a television isn't merely

00:32:40 ◼   ► like a tablet UI made larger, right?

00:32:44 ◼   ► It's something entirely different, never mind that you're not even touching it.

00:32:47 ◼   ► It just doesn't seem like there's enough room down there if you just say, "Oh, I'll just

00:32:49 ◼   ► take my regular Android OS and just make it smaller.

00:32:52 ◼   ► And I'll keep the elements the same size so they're still touchable, but if there's not

00:32:57 ◼   ► room for a particular element, I just won't put that on there and I'll just have small

00:33:00 ◼   ► things and you'll swipe and you'll tap.

00:33:02 ◼   ► Swiping and tapping on something that's small just looks like a non-starter to me.

00:33:06 ◼   ► I mean, I've had the small iPod Nanos with the little touch screen and everything and

00:33:10 ◼   ► it's just not, it doesn't work for me.

00:33:12 ◼   ► So I think there is another solution to things that big.

00:33:16 ◼   ► Maybe it doesn't involve screens at all.

00:33:17 ◼   ► If it does, maybe they behave in a different way.

00:33:20 ◼   ► it's just a matter of putting different UI elements

00:33:22 ◼   ► on that screen that don't exist in any form on any

00:33:24 ◼   ► of the larger screens.

00:33:26 ◼   ► So that's why I think these watches are duds.

00:33:30 ◼   ► To some extent, I can see why Google

00:33:32 ◼   ► pushes this whole one interface scalable to every device size

00:33:36 ◼   ► thing, because they have to.

00:33:37 ◼   ► Because that's the environment of Android hardware.

00:33:39 ◼   ► They kind of have to do that in general.

00:33:44 ◼   ► I do agree, though.

00:33:45 ◼   ► It's going to be a pretty painful approach for developers

00:33:49 ◼   ► to try to actually fulfill the promise of that

00:33:51 ◼   ► and try to actually make like one interface

00:33:54 ◼   ► that magically scales to all these different sizes

00:33:55 ◼   ► and doesn't suck on any of them.

00:33:56 ◼   ► - I think it's custom UI for the phone.

00:33:59 ◼   ► I'm just saying like the elements that are involved,

00:34:01 ◼   ► buttons, regions that you scroll,

00:34:03 ◼   ► controls for doing things.

00:34:05 ◼   ► I mean, I guess they don't have text input

00:34:06 ◼   ► because it's mostly speech or whatever,

00:34:08 ◼   ► but just I'm assuming that you have to write a custom UI

00:34:11 ◼   ► for this and that they have custom controls for it,

00:34:13 ◼   ► certainly for things like the circular screen

00:34:14 ◼   ► and all that stuff.

00:34:15 ◼   ► just the elements that are involved in the user interface,

00:34:20 ◼   ► things that you tap, things that you slide,

00:34:22 ◼   ► things that you scroll through,

00:34:23 ◼   ► I don't think there's enough room

00:34:25 ◼   ► for that type of interface in a thing that small.

00:34:27 ◼   ► And I'm basing this mostly actually

00:34:29 ◼   ► by using the touchscreen iPods

00:34:31 ◼   ► that have the very small touchscreens.

00:34:33 ◼   ► It just doesn't feel good at that size.

00:34:36 ◼   ► - The big problem that we've seen

00:34:37 ◼   ► with almost all of the smartwatches

00:34:38 ◼   ► that have come out so far,

00:34:39 ◼   ► from the Pebble to these new ones,

00:34:41 ◼   ► it's all about the screen.

00:34:44 ◼   ► And the screen is never big enough to be useful,

00:34:49 ◼   ► but never small enough to make for a good watch.

00:34:51 ◼   ► And that's why I think that really,

00:34:53 ◼   ► the whole idea of a smartwatch,

00:34:55 ◼   ► it might not be possible to make a good one.

00:34:59 ◼   ► Certainly not with today's technology,

00:35:01 ◼   ► but maybe even ever.

00:35:02 ◼   ► Like there's just fundamental limits of like,

00:35:05 ◼   ► the ideal watch does not have a giant screen,

00:35:08 ◼   ► but the ideal touch screen is big.

00:35:10 ◼   ► And so it's very hard to rectify that conflict design-wise.

00:35:14 ◼   ► You know, even if you could make it like infinitely thin

00:35:18 ◼   ► and light and give it infinite battery life,

00:35:20 ◼   ► you still have the issue of, you know,

00:35:22 ◼   ► we need to somehow maximize it,

00:35:24 ◼   ► but also minimize the size of the screen.

00:35:25 ◼   ► And--

00:35:26 ◼   ► - See, I don't know if you're right about that.

00:35:27 ◼   ► Because, so I have a couple of friends

00:35:30 ◼   ► that are watch collectors,

00:35:32 ◼   ► and I think I probably would be one of those people

00:35:36 ◼   ► if A, I wasn't cheap,

00:35:38 ◼   ► And B, I didn't have the tiny wrists

00:35:41 ◼   ► that we spoke about earlier.

00:35:42 ◼   ► But like, for example, a Rolex is a relative,

00:35:45 ◼   ► well, the average stereotypical Rolex is fairly large.

00:35:49 ◼   ► And like my one friend really, really loved Panerai watches,

00:35:53 ◼   ► which I'd never heard of until I'd spoken to him about it,

00:35:55 ◼   ► but they're very pretty, I believe Italian watches.

00:35:57 ◼   ► And they're huge, they're freaking enormous.

00:36:00 ◼   ► And like Clarkson and Hammond on top here,

00:36:02 ◼   ► if memory serves, they're both big into watches.

00:36:04 ◼   ► And typically wear these physically very, very large watches.

00:36:08 ◼   ► So...

00:36:09 ◼   ► Right, because Top Gear presenters are the real fashion leaders of the world.

00:36:12 ◼   ► But that's the point, though, that all these people who are wearing these watches are wearing

00:36:16 ◼   ► them for fashion reasons, not for utilitarian reasons, and they don't... how long do they

00:36:21 ◼   ► spend looking at the face of those watches?

00:36:24 ◼   ► Let alone pawing at the face of those watches.

00:36:27 ◼   ► Zero time pawing at the face of the watches.

00:36:29 ◼   ► Very short amount of times looking at the face of the watches.

00:36:31 ◼   ► They're mostly wearing them as a piece of jewelry, as a fashion accessory, not as a

00:36:36 ◼   ► utilitarian thing.

00:36:37 ◼   ► So none of these things qualify as fashion accessories, because they're ugly, especially

00:36:40 ◼   ► the square one looks terrible, the circle one looks humongous, I guess if you are a

00:36:44 ◼   ► giant person it is proportional to you, but then you'll have equivalently giant sausage-like

00:36:49 ◼   ► fingers and won't be able to use it anyway.

00:36:51 ◼   ► But the idea that anyone's going to spend any amount of time turning their wrist towards

00:36:54 ◼   ► themselves and staring at their wrist and pawing at it with their finger to get stuff

00:36:57 ◼   ► done, it's like they'll just turn their wrist back down, take out their phone.

00:37:05 ◼   ► ago people on the street weren't holding a rectangle staring at it with their

00:37:08 ◼   ► head down. Now you walk around a city street everyone's got little rectangles

00:37:11 ◼   ► out and they're staring at them. So that is a change in behavior. So it's

00:37:13 ◼   ► conceivable that a couple years from now instead of everyone holding little

00:37:16 ◼   ► rectangles everyone is staring at their wrists as if they're trying to tell what

00:37:18 ◼   ► time it is but all can't tell time. Like boy I can only tell time in a digital closet

00:37:22 ◼   ► and they're just staring at it and they're studying it but really what they're

00:37:24 ◼   ► doing is like reading Twitter on their wrist. I guess that's conceivable but it

00:37:27 ◼   ► still seems to me that that's not the... the smartwatch is not just a phone

00:37:32 ◼   ► strapped to your wrist smaller. I think that is the wrong solution for smartwatches and

00:37:36 ◼   ► no matter how good technology gets, what if we can make it as thin as a piece of paper?

00:37:40 ◼   ► If it's still watch size, I don't want to be holding it up looking at it or pawing at

00:37:44 ◼   ► it with my finger. I think there is a role for something smart that's on your wrist.

00:37:47 ◼   ► I'm just, I just don't think the role is like a tiny little phone on your wrist.

00:37:51 ◼   ► Right, so maybe, maybe the solution then, you know, because I think you're right. You

00:37:55 ◼   ► know, so maybe the solution really is not to leave the interaction to the watch, to

00:38:00 ◼   ► leave the watch really just be like a very, you know, as small as possible, a

00:38:04 ◼   ► just a display. It could be an output device for notifications. "Oh, I'm late

00:38:09 ◼   ► for my meeting" or you know voice input quickly and then it would start sounding

00:38:13 ◼   ► off directions to your Bluetooth headset to tell you where to turn as you walk

00:38:15 ◼   ► through. Like there are uses that I can see for it. I'm not saying a smart

00:38:19 ◼   ► watch is dumb. A smart watch is a good idea. It's just that what these guys keep

00:38:22 ◼   ► making is tiny phone on my wrist. Right, whereas if like if you if you give up on

00:38:27 ◼   ► the idea that you should be pawing at your watch all the time. If the watch's primary

00:38:32 ◼   ► purpose is to give you information at a quick glance and then you leave the interaction

00:38:37 ◼   ► up to taking the phone into your pocket, which is better suited for the job in almost every

00:38:41 ◼   ► case anyway, then you can make the watch substantially simpler and you can make the display much

00:38:46 ◼   ► smaller and you can then, I mean it doesn't even need to be a touch screen.

00:38:50 ◼   ► I'm not getting one.

00:38:52 ◼   ► You don't even have an iPhone yet.

00:38:55 ◼   ► I don't have a watch.

00:38:58 ◼   ► Well, that's true.

00:38:59 ◼   ► Of the three of us, I'm the only one who actually wears

00:39:00 ◼   ► a watch, aren't I?

00:39:02 ◼   ► I wore a watch in middle school.

00:39:03 ◼   ► I wore a watch up until around the time I got an iPhone,

00:39:06 ◼   ► and then I stopped wearing a watch,

00:39:08 ◼   ► and then I just recently started again.

00:39:10 ◼   ► I remembered my second thing.

00:39:12 ◼   ► Oh, good.

00:39:12 ◼   ► Tell us about your second thing.

00:39:14 ◼   ► We're also sponsored-- just kidding.

00:39:16 ◼   ► Too early.

00:39:17 ◼   ► So we were talking about the material UI,

00:39:20 ◼   ► and I was talking about the metaphor,

00:39:22 ◼   ► taking too much prominence, both in a Google and Apple thing.

00:39:24 ◼   ► The second thing is that's unique to what Google showed for their material thing, they

00:39:27 ◼   ► only showed a little bit of it, was that they've decided to do something that I thought more

00:39:34 ◼   ► touch user interfaces would do, and the fact that no one has done it that much until Google

00:39:41 ◼   ► demoed it is surprising to me, but maybe everybody knows something that Google doesn't, and that

00:39:45 ◼   ► thing is showing feedback for your touch as a matter of course, as a matter of like, with

00:39:52 ◼   ► the expectation that when you touch or do anything

00:39:54 ◼   ► in the interface, the interface response

00:39:55 ◼   ► lets you know you've done it.

00:39:57 ◼   ► Now, that type of feedback is really important

00:39:59 ◼   ► in regular user interfaces with a mouse and everything

00:40:02 ◼   ► because it's indirect in a way.

00:40:05 ◼   ► So you put your cursor over a button, you click the button,

00:40:07 ◼   ► you want the button to highlight,

00:40:08 ◼   ► and you want it to highlight on mouse down,

00:40:10 ◼   ► and you want it to do something different on mouse up.

00:40:12 ◼   ► You want to feel like you're pressing it.

00:40:13 ◼   ► So they used to have 3D type interfaces

00:40:16 ◼   ► where the buttons look puffy in earlier versions

00:40:18 ◼   ► of Windows and Mac, and even today to some degree as well.

00:40:22 ◼   ► and it lets you know that you were successful, that something was happening.

00:40:25 ◼   ► If you just had a user interface where there were buttons and you clicked them and nothing happened

00:40:29 ◼   ► and then eventually the dialogue went away, you might not be sure which button you clicked.

00:40:32 ◼   ► The same thing with the menus that come down on the Mac.

00:40:35 ◼   ► When you select a menu item on the original Mac, the menu item you selected would flash on and off a few times

00:40:41 ◼   ► before the menu went away because they want you to know, yeah, you were trying to get that menu item,

00:40:44 ◼   ► you did get that menu item, in fact it was adjustable on the original Mac to be like one flash, two flash, or three flashes or whatever.

00:40:50 ◼   ► Visual feedback, what's going on.

00:40:52 ◼   ► Touch elements do the same thing,

00:40:53 ◼   ► like in iOS when you touch a button,

00:40:55 ◼   ► it may invert or whatever like that.

00:40:57 ◼   ► But the material UI seems to go much farther

00:41:00 ◼   ► in that it's almost giving you the kind of thing

00:41:02 ◼   ► you see on a screen in presentations

00:41:03 ◼   ► where they want you to show where the person is touching.

00:41:05 ◼   ► You can't see their finger 'cause they're using a device,

00:41:07 ◼   ► but the device's screen is being projected.

00:41:09 ◼   ► So they have like those little circles

00:41:10 ◼   ► like that appear in the iOS simulator or whatever.

00:41:12 ◼   ► But this is part of the OS,

00:41:14 ◼   ► that you get a little circle

00:41:15 ◼   ► with like little ripply lines coming out of it.

00:41:17 ◼   ► And then when you select an element,

00:41:18 ◼   ► a little ripple goes across the element to show that it's selected.

00:41:21 ◼   ► Very heavy-handed feedback to let people know that,

00:41:25 ◼   ► "Yes, I registered your touch. Yes, it touched this item, and here it is."

00:41:29 ◼   ► And not just on individual items or buttons, but if they touch almost anywhere,

00:41:32 ◼   ► like they were shown on the dial pad, you see the little ripples appear where you hit the dial pad.

00:41:36 ◼   ► Not just like the one-button ripples, but where your finger touched.

00:41:39 ◼   ► If you touched in the upper left of the one, a little ripple appears there.

00:41:42 ◼   ► And I can't decide if this is brilliant or terrible.

00:41:45 ◼   ► Part of me that makes me think it might be brilliant is I've seen a lot of people use

00:41:51 ◼   ► touch interfaces and not be sure whether their touches are doing anything.

00:41:55 ◼   ► Now, granted, most of the time that's because they're using a touch device that is not as

00:41:58 ◼   ► responsive as a top-end iOS device, like say some cruddy Android thing where the interface

00:42:03 ◼   ► is slow and they'll stab at it a few times or hit the same button multiple times or try

00:42:09 ◼   ► it and then take their finger off and try it again because it didn't register that time.

00:42:13 ◼   ► That must be frustrating for them.

00:42:15 ◼   ► So if Android is the OS of choice for underpowered devices with non-responsive UIs, having really

00:42:22 ◼   ► heavy-handed visual feedback to let people know when their touch was registered and where

00:42:28 ◼   ► the device thinks they touched and what thing they just selected might be an excellent idea.

00:42:33 ◼   ► But on the other hand, I think it would drive me insane because the whole point of a great

00:42:37 ◼   ► touch interface is that it should feel like manipulating a physical thing.

00:42:41 ◼   ► Scrolling should stick to my finger, touching the button should immediately highlight it

00:42:44 ◼   ► like it should be direct manipulation.

00:42:47 ◼   ► I don't need this indirection.

00:42:48 ◼   ► But if the indirection is there because everything

00:42:49 ◼   ► is too slow, then maybe this kind of interface

00:42:52 ◼   ► is a good idea.

00:42:53 ◼   ► And what it makes me think is that if the world

00:42:55 ◼   ► of Android users gets used to this eventually,

00:42:57 ◼   ► in four years when everybody's using this interface,

00:43:00 ◼   ► they will find a device that does not do this,

00:43:03 ◼   ► even if the device is super responsive to be inferior,

00:43:05 ◼   ► because they'd be like, oh, I like the one

00:43:06 ◼   ► that shows me where I touched.

00:43:08 ◼   ► Does that sound crazy that that would be something

00:43:10 ◼   ► that eventually people could latch onto and think is great?

00:43:13 ◼   ► No, I mean, I think what we're seeing this year,

00:43:16 ◼   ► what we saw a lot from Apple,

00:43:18 ◼   ► and I think what Google has always been doing to some degree

00:43:22 ◼   ► and is continuing to do like this,

00:43:24 ◼   ► we're seeing the platforms try to differentiate

00:43:28 ◼   ► themselves further so that they lock people in

00:43:31 ◼   ► more effectively because, you know,

00:43:34 ◼   ► not a lot of people leave iOS for Android,

00:43:36 ◼   ► but a lot of people have left Android for iOS,

00:43:39 ◼   ► and certainly Google wants to stop that,

00:43:41 ◼   ► and certainly Apple wants to make the reverse

00:43:43 ◼   ► less likely to happen in the future.

00:43:45 ◼   ► And so we're seeing things like Apple building up

00:43:50 ◼   ► a whole bunch of hype around things like CloudKit

00:43:53 ◼   ► and the cloud services,

00:43:54 ◼   ► the things that don't appear on Android,

00:43:56 ◼   ► Google doing similar things with the levels of integration

00:43:59 ◼   ► they can get, what they can permit app developers to do,

00:44:01 ◼   ► and now something like that,

00:44:03 ◼   ► certainly it could be a strategic thing like that.

00:44:06 ◼   ► It probably wasn't, I mean it's probably like,

00:44:09 ◼   ► I'm sure somebody thought about that

00:44:10 ◼   ► after they came up with it and said,

00:44:11 ◼   ► "Oh, this also has a side benefit of being, you know, some potential lock-in."

00:44:15 ◼   ► I wouldn't view it as lock-in. It's just like, if it's a feature that people like,

00:44:20 ◼   ► and they come to associate it with that category of product, right? In the same way that essentially

00:44:26 ◼   ► people came to associate a rectangle with a screen on it as what a smartphone looks

00:44:30 ◼   ► like, and everyone else had to make rectangles with screens on them because that's what

00:44:34 ◼   ► people thought of a smartphone because the iPhone defined the category. Giving people

00:44:38 ◼   ► something that they react to strongly that makes them feel comfortable with the device,

00:44:43 ◼   ► makes them feel comfortable using the device, makes them feel familiar and friendly.

00:44:47 ◼   ► It's not lock-in like, "Oh, I wish I could leave, but I can't because the other devices

00:44:51 ◼   ► don't have this feature."

00:44:53 ◼   ► It's that they like it, and they try to go to something else and say, "I missed that

00:44:57 ◼   ► thing.

00:44:58 ◼   ► I missed the ripples.

00:44:59 ◼   ► It makes me feel..."

00:45:00 ◼   ► They might not be able to articulate it, but it's weird because, like I said, I think I

00:45:05 ◼   ► I would hate that feature, but I think a lot of people might like it, and I think Apple

00:45:10 ◼   ► would never do anything like that, never that heavy-handed.

00:45:14 ◼   ► And so Google may have just done something brilliant, or people will hate it, and then

00:45:17 ◼   ► Google will turn it off.

00:45:19 ◼   ► Or no apps will ever use this new UI except for the five things that Google makes, and

00:45:22 ◼   ► it will continue to be a crazy fragmented world over there, but we'll see.

00:45:25 ◼   ► I think you're reading way too much into this.

00:45:27 ◼   ► Aaron had a touchscreen phone with a slide-out keyboard, which is not a smartphone.

00:45:32 ◼   ► It wasn't like a Blackberry or anything like that.

00:45:34 ◼   ► It was just a phone that had a touch screen and a slide out keyboard.

00:45:37 ◼   ► This is right before she got her first iPhone, uh, around the same time.

00:45:40 ◼   ► I was begging her to let me get her an iPhone, but she didn't think it was worth it.

00:45:44 ◼   ► That's a different discussion for another time.

00:45:45 ◼   ► Anyway, the point is that thing had tactic feedback in so far as I think that's the right word, but anyway, it would vibrate a little bit when you touched it.

00:45:54 ◼   ► And I believe it like had a little white spot on the screen where you touch the screen.

00:46:00 ◼   ► And she didn't think anything of it as soon as she got her iPhone that neither of those

00:46:05 ◼   ► "features" air quotes were there.

00:46:07 ◼   ► But that was so long ago.

00:46:09 ◼   ► That phone must have been so awful and so unresponsive.

00:46:12 ◼   ► And the vibration is just pointless because it's not telling you anything because it's

00:46:15 ◼   ► not telling you where you did it.

00:46:16 ◼   ► But that's a bigger leap from pre-iPhone smartphone to iPhone yet.

00:46:21 ◼   ► No matter what the old ones had, even the physical keyboards that people held on for

00:46:24 ◼   ► the longest time, eventually it's like, "All right, just give up.

00:46:27 ◼   ► No more physical keyboards."

00:46:28 ◼   ► So everyone was one over with that.

00:46:30 ◼   ► But I think the gap between a modern Android device and a modern iPhone is small enough

00:46:35 ◼   ► that this is like, especially with all the things that I kept showing, I know they say

00:46:38 ◼   ► this every year, but hey look we made our user interface more responsive.

00:46:42 ◼   ► Eventually it's going to be true just because hardware gets better and better in these things.

00:46:45 ◼   ► And everything they showed looked pretty darn smooth.

00:46:47 ◼   ► So I'm thinking that the gap is small enough that differentiators like this, if they prove

00:46:54 ◼   ► popular may be a problem for Apple in terms of getting people to come over. Just like

00:47:00 ◼   ► the big screens are, in the same way like the big gigantic screens that we thought,

00:47:03 ◼   ► "Oh, I don't ever want to screen like that." People love them. They love the big

00:47:06 ◼   ► screens. So Apple is essentially forced to field larger screen phones, we all assume,

00:47:10 ◼   ► this fall because that's what people love.

00:47:13 ◼   ► You know, you're right. It's going to be just like the BlackBerry keyboard and the

00:47:16 ◼   ► millions upon millions of people that are clinging to that. Also, a real-time follow-up.

00:47:20 ◼   ► I think I might have said "tactic." I meant "haptics," so thanks to the chatroom

00:47:23 ◼   ► for correcting me, and thank you for the 35 people that are listening to this after the

00:47:27 ◼   ► fact and have already emailed me to correct me.

00:47:29 ◼   ► I thought you meant tactile, but anyway.

00:47:31 ◼   ► That too. I think I kind of combined those in my head, but anyways.

00:47:35 ◼   ► We are also sponsored by our friends at lynda.com. Go to lynda.com/atp to learn more. lynda.com

00:47:44 ◼   ► helps you learn and keep up to date with your software, pick up brand new skills, or explore

00:47:48 ◼   ► new hobbies with easy to follow, professionally produced video tutorials.

00:47:52 ◼   ► Whether you want to learn a new programming language, create a graceful user experience

00:47:56 ◼   ► for your website, or get your first code up and running with Objective C, Linza.com offers

00:48:01 ◼   ► thousands of video courses in a variety of topics.

00:48:04 ◼   ► They have over 2,400 courses, they're taught by industry experts, and they add more every

00:48:08 ◼   ► week.

00:48:10 ◼   ► They have courses for all experience levels, whether you're beginner or advanced.

00:48:14 ◼   ► They have general and specialty topics,

00:48:16 ◼   ► and you get all of this for one low monthly price

00:48:19 ◼   ► of just $25, and that gives you unlimited access

00:48:22 ◼   ► to the entire lynda.com library,

00:48:24 ◼   ► just 25 bucks a month for unlimited access.

00:48:27 ◼   ► So they have all sorts of things.

00:48:28 ◼   ► They have things like programming languages.

00:48:30 ◼   ► You can learn PHP if you really want to.

00:48:32 ◼   ► I would advise against it, but you can do it.

00:48:35 ◼   ► The good thing is it's much easier than Node, Casey,

00:48:38 ◼   ► 'cause my PHP Showbot has stayed up.

00:48:40 ◼   ► - It's easier to create something functional.

00:48:42 ◼   ► it's not easier to actually learn.

00:48:45 ◼   ► - Okay, so if you wanna learn Node, you can do that too.

00:48:49 ◼   ► You can even learn Perl if you're completely crazy.

00:48:51 ◼   ► And if you, otherwise, if you wanna learn applications,

00:48:54 ◼   ► you can learn some of the Adobe Creative Cloud apps.

00:48:56 ◼   ► You know, Adobe just released updates

00:48:58 ◼   ► to the Creative Cloud stuff with new versions

00:49:00 ◼   ► of their apps like Photoshop and Illustrator

00:49:01 ◼   ► and stuff like that.

00:49:03 ◼   ► Lynda.com works with software companies

00:49:05 ◼   ► to get you updated video training the same time

00:49:07 ◼   ► that the updated versions are released.

00:49:09 ◼   ► So they probably, I haven't checked tonight,

00:49:11 ◼   ► but they probably already have all the new Adobe stuff up there already.

00:49:14 ◼   ► You can also learn Final Cut Pro, Logic Pro, you know, you can learn video editing, learn

00:49:18 ◼   ► audio editing.

00:49:19 ◼   ► If you want to make your own podcast, go into the Logic stuff and see.

00:49:22 ◼   ► It's really cool.

00:49:23 ◼   ► They have, and they probably even have other stuff on podcasting if you don't want to use

00:49:26 ◼   ► Logic.

00:49:27 ◼   ► They have a huge library.

00:49:28 ◼   ► So these courses are produced by professionals at the top of their field, and you can watch

00:49:32 ◼   ► them anywhere.

00:49:33 ◼   ► You can watch them on your computer, on your tablet, on your mobile device, and they're

00:49:37 ◼   ► broken up into these bite-sized pieces.

00:49:39 ◼   ► So if you only have 15 minutes at a time to watch something,

00:49:42 ◼   ► you can do that.

00:49:43 ◼   ► You can watch a 15 minute chunk.

00:49:44 ◼   ► As you're watching, the transcript scrolls behind the side

00:49:47 ◼   ► and you can click to different points in the transcript.

00:49:49 ◼   ► It'll jump to that point in the video.

00:49:51 ◼   ► So it's very easy to find what you need to skim,

00:49:53 ◼   ► to pause, to slow down, to go back,

00:49:55 ◼   ► if you miss something or you want some clarification.

00:49:58 ◼   ► The presentation here is simply fantastic.

00:50:00 ◼   ► So check it out.

00:50:01 ◼   ► You can get a seven day free trial

00:50:03 ◼   ► by going to lynda.com/atp.

00:50:07 ◼   ► That is linda with a Y dot com slash ATP.

00:50:10 ◼   ► Thanks a lot to Linda for sponsoring our show once again.

00:50:13 ◼   ► - We need to get Apple to send WWDC videos to linda.com

00:50:16 ◼   ► 'cause I would love to be able to click on a spot

00:50:17 ◼   ► in a transcript, 'cause Apple's got the transcripts, right?

00:50:20 ◼   ► I mean, there's that guy who took the transcripts

00:50:21 ◼   ► and made that ASCII WWDC site where you can search them.

00:50:24 ◼   ► We just need to put it all together.

00:50:25 ◼   ► Linda style, I want a transcript on the left,

00:50:27 ◼   ► a video on the right, and we're able to click

00:50:28 ◼   ► on the transcript and have it jump to the spot

00:50:29 ◼   ► in the video, that would make my life so much easier.

00:50:31 ◼   ► - Oh yeah, or even like I was thinking,

00:50:32 ◼   ► I've been like noodling in my head

00:50:34 ◼   ► on another idea I'll never have time to do,

00:50:36 ◼   ► but I would love to just make an app,

00:50:38 ◼   ► just make probably a Mac app

00:50:40 ◼   ► that it would be like you're watching the videos

00:50:42 ◼   ► and you could like start the ones you want to watch,

00:50:45 ◼   ► it would keep track of the ones you did watch,

00:50:47 ◼   ► you could search for topics, search for APIs.

00:50:50 ◼   ► - The WWDC app does that now, doesn't it?

00:50:52 ◼   ► - Yeah.

00:50:53 ◼   ► - The official app keeps track of what you watch,

00:50:54 ◼   ► keep track of your playback position across devices.

00:50:56 ◼   ► - Oh really?

00:50:57 ◼   ► Well I guess only if you watch in the app,

00:50:58 ◼   ► I never even tried.

00:51:00 ◼   ► - Yeah.

00:51:01 ◼   ► - Crap.

00:51:01 ◼   ► All right, well I'm glad I didn't make it.

00:51:02 ◼   ► - But it doesn't do the transcript thing,

00:51:04 ◼   ► that's what I'm saying, it's the next step.

00:51:05 ◼   ► Yeah, like why can't you just hit Command F

00:51:07 ◼   ► and go right to something?

00:51:10 ◼   ► Like you have to like browse through the titles

00:51:11 ◼   ► and figure out what do they call the, you know,

00:51:13 ◼   ► the accessibility section this year?

00:51:14 ◼   ► Like what do they call that?

00:51:15 ◼   ► You know?

00:51:16 ◼   ► - That's why note taking is still a big thing for me, WWDC,

00:51:18 ◼   ► because the slides have like seven words on them

00:51:20 ◼   ► and the person on stage speaks important information

00:51:23 ◼   ► that's not in the slides.

00:51:24 ◼   ► And it was particularly bad this year, I thought,

00:51:26 ◼   ► where all the real information was spoken.

00:51:28 ◼   ► It wasn't even like hinted at in the slides.

00:51:30 ◼   ► The slide would have like one word on it

00:51:32 ◼   ► and then the guy would talk for 10 minutes,

00:51:33 ◼   ► like, oh, this is the stuff.

00:51:34 ◼   ► So I had to write that down.

00:51:35 ◼   ► because you can't, for research purposes,

00:51:38 ◼   ► I can't go back to the video and watch it in real time.

00:51:40 ◼   ► It takes forever, I have to have the notes.

00:51:43 ◼   ► - Well, that's the other thing too.

00:51:44 ◼   ► One thing that's extremely valuable

00:51:46 ◼   ► with watching these videos is the variable speed playback

00:51:49 ◼   ► in QuickTime Player 7.

00:51:51 ◼   ► And I'm probably like VLC and everything else does too,

00:51:52 ◼   ► but I think QuickTime X does not do it.

00:51:55 ◼   ► So you can, just like a podcast,

00:51:58 ◼   ► you can play these videos at like 1.5x and it helps a lot

00:52:01 ◼   ► 'cause the WVDC sessions are pretty slowly paced

00:52:04 ◼   ► because they want everyone in a room full of people,

00:52:07 ◼   ► many of whom English is not their first language,

00:52:09 ◼   ► they want everyone to understand it

00:52:11 ◼   ► and to be able to keep up in a giant room.

00:52:14 ◼   ► And that's very different when you're watching a video

00:52:16 ◼   ► at home, and especially if you're looking

00:52:19 ◼   ► for something specific or waiting for something specific

00:52:21 ◼   ► that you know they mentioned or that you think

00:52:22 ◼   ► they might have mentioned and you wanna skip around a bit

00:52:24 ◼   ► and play through sections fast,

00:52:26 ◼   ► and it's so nice to be able to do that.

00:52:30 ◼   ► - Yeah, I remember the earlier I said it wasn't,

00:52:33 ◼   ► Making fun of Google's inability to do presentations is not a productive avenue, but since we're

00:52:37 ◼   ► talking about WWDC, the most obscure, out of the way, in the tiny little room in the

00:52:43 ◼   ► corner of Moscone about some API and framework that nobody uses except 10 people, that person's

00:52:49 ◼   ► presentation and demos were better than everything at Google I/O.

00:52:53 ◼   ► If they're an engineer who is not a professional presenter at WWDC, at the very least goes

00:52:59 ◼   ► through some sort of regime where they make them make your slides comprehensible to the

00:53:02 ◼   ► point where they work on everything they say, where they make sure the demos are tight,

00:53:06 ◼   ► where they get them done.

00:53:08 ◼   ► It just amazed me how the Google I/O presenters, for the most part, did not even get the basics

00:53:13 ◼   ► right.

00:53:14 ◼   ► They rambled, their slides had too much stuff on them, they tried demos that didn't work

00:53:17 ◼   ► well.

00:53:18 ◼   ► Even if the demos had worked well, they wouldn't be demonstrating anything worth demonstrating.

00:53:22 ◼   ► It was not a good showing.

00:53:24 ◼   ► I mean, I don't think that's important except for in the sort of, you know, fun, giggly

00:53:28 ◼   ► Twitter snark-type nature of the thing, but it's at a certain point Google should get better at that.

00:53:33 ◼   ► Do you think they really care?

00:53:35 ◼   ► They do. They're trying. You can tell. The early parts of the presentation, I thought,

00:53:39 ◼   ► were together. Like when—what's his name? Sundar? I can't remember his last name,

00:53:44 ◼   ► such as the P. When he was up there talking about Android, the slides had bullet points

00:53:48 ◼   ► that were important. He would address each one of them. There wasn't too much going on.

00:53:52 ◼   ► Like, it was straightforward and to the point, but it just started meandering and things

00:53:58 ◼   ► started going wrong.

00:53:59 ◼   ► And like I said, even if every demo that had gone wrong had gone perfectly, I still don't

00:54:03 ◼   ► think those are the right demos to have, especially not in the keynote.

00:54:06 ◼   ► Hey, real time follow up from Sam the Geek in the chat room.

00:54:12 ◼   ► Apparently, QuickTime Player X does have variable speed playback.

00:54:16 ◼   ► It's in the extremely discoverable position of option clicking the fast forward button.

00:54:22 ◼   ► Yeah. How does anybody even know that? I have no idea. I saw Underscore do it on the plane,

00:54:27 ◼   ► and I was like, "Wait, how did that just happen?" And then he had to show me, because, like

00:54:31 ◼   ► you said, I had no idea what it was. QuickTime Player X doesn't have the most important feature,

00:54:34 ◼   ► which is get the freaking controller off of my video! The most important feature. Not

00:54:42 ◼   ► still missing, which is why I still have QuickTime Player 7 installed, and that's what I still

00:54:46 ◼   ► use. Alright, is there anything else on Google I/O? They say 60 frames per second this year.

00:54:52 ◼   ► They also say this year is the year of desktop Linux.

00:54:55 ◼   ► - Right, and Duke Nukem Forever finally came out.

00:54:59 ◼   ► - Yeah, actually it did. - It did.

00:55:00 ◼   ► (laughing)

00:55:02 ◼   ► - And then Android TV iteration nine is here,

00:55:05 ◼   ► and so that's gonna set the world aflame.

00:55:07 ◼   ► - I mean, eventually they're gonna have to

00:55:09 ◼   ► get those in some TVs.

00:55:10 ◼   ► I mean, man, the previous Google TV,

00:55:14 ◼   ► and somebody in the chat, I'm sorry, I forget who,

00:55:16 ◼   ► and it's too far up to scroll now,

00:55:17 ◼   ► but somebody in the chat pointed out,

00:55:19 ◼   ► it's kinda confusing, like the branding between,

00:55:21 ◼   ► okay, what's Google, what's Android, what's Chrome?

00:55:24 ◼   ► You know, they have, and you know, John,

00:55:26 ◼   ► you mentioned earlier that Google is better

00:55:28 ◼   ► at having this like cohesive cross-device experience,

00:55:31 ◼   ► and honestly, I don't think that's the case.

00:55:32 ◼   ► I mean, if you look at things like, you know,

00:55:34 ◼   ► the Chromecast and Chromebooks, and versus Android,

00:55:38 ◼   ► versus Google services, like it's pretty fragmented,

00:55:41 ◼   ► actually.

00:55:42 ◼   ► - The naming of the things is bad, but first of all,

00:55:45 ◼   ► if we're just comparing against Apple,

00:55:46 ◼   ► which is what I'm doing, they win on TV

00:55:47 ◼   ► because Apple doesn't have a way for third parties

00:55:49 ◼   ► to do anything on TV, so Google wins by default,

00:55:51 ◼   ► Right? Even if you're ignoring, like, that I think also Google's interfaces that they showed on their television are better than Apple TV ones.

00:55:57 ◼   ► Apple TV is not a platform for anybody except for selected Apple partners, so they went there.

00:56:02 ◼   ► And the second thing is, Google's big thing is web apps and stuff.

00:56:06 ◼   ► And so that's their platform. You may not like it, you may think native apps are better,

00:56:10 ◼   ► but they're working hard to make, you know, like this new UI, for example, is available to web apps at 60 frames per second in Chrome,

00:56:17 ◼   ► and Chrome runs on all of their devices from the Chromebooks too. You can run it on your phone,

00:56:21 ◼   ► you can run on your tablet, it runs on your television. Like that's their unifying force.

00:56:25 ◼   ► And Android runs on most of these things except for the Chromebooks, but their whole thing is

00:56:29 ◼   ► web app, native app, doesn't matter. It's going to look the same if it comes from Google.

00:56:33 ◼   ► We're telling you that we think it's going to perform the same with 60 frames per second

00:56:37 ◼   ► animation. That's their strategy. And I give them the win over Apple because Apple has nothing on

00:56:42 ◼   ► television except for this box that only does selected things and they don't just

00:56:48 ◼   ► don't have that unification across platforms. Like I said, the iOS OS X split

00:56:52 ◼   ► is going to get a lot better in Yosemite and iOS 8 but that's not quite here yet

00:56:56 ◼   ► but even there this split is much larger than the split between I think the

00:57:01 ◼   ► Chrome OS and Android simply because Google is a web company and their whole

00:57:04 ◼   ► big thing is web apps and they shouldn't they shouldn't be second-class citizens

00:57:08 ◼   ► to native apps they continue to be but Google is really hammering on making

00:57:12 ◼   ► that not be the case. And if it's gonna not be the case somewhere, the first place

00:57:16 ◼   ► it's gonna not be like that is on Google's platforms, because Google is highly motivated

00:57:19 ◼   ► to make web apps feel and look just as good as native apps.

00:57:23 ◼   ► You know, something we skipped before we leave Google I/O is apparently Gmail has a RESTful

00:57:29 ◼   ► API now. Yeah, I put that on the notes because everyone's

00:57:32 ◼   ► freaking out about it. Yeah, everyone's freaking out saying that

00:57:35 ◼   ► this is going to replace IMAP, and I'm the first person to say that, yeah, I would not

00:57:41 ◼   ► assume that Gmail IMAP support will be there for very much longer. In fact, I made a prediction.

00:57:47 ◼   ► I forget exactly what time interval I said. I think within two or five years, I was pretty

00:57:51 ◼   ► sure that CalDAV and Gmail IMAP would both be discontinued or sunset or whatever phrase

00:57:57 ◼   ► they would use. But they say, I know with this particular case of the Gmail API, I know

00:58:02 ◼   ► that Google has actually explicitly said this is not supposed to replace IMAP.

00:58:06 ◼   ► Exactly.

00:58:07 ◼   ► Right.

00:58:08 ◼   ► Of course, they can say whatever they want. But I think in this case, they're probably

00:58:10 ◼   ► telling the truth that they probably do not intend this thing to replace IMAP. But what

00:58:14 ◼   ► this probably will do though is maybe hasten the ability for them to just IMAP in a marketable

00:58:24 ◼   ► way. Because they hate IMAP access, they really do. I'm sure they can't wait to get rid of

00:58:30 ◼   ► it. I mean there's really like, if you think about all the ways that Google operates, makes

00:58:38 ◼   ► money, innovates, you know, Gmail and IMAP have never gotten along very well.

00:58:43 ◼   ► It's, IMAP support in Gmail has always been pretty flaky and unreliable and slow and very

00:58:48 ◼   ► limited because a lot of Gmail's features just don't fit in the model of what IMAP is

00:58:53 ◼   ► and, and how IMAP has to represent the mailboxes and everything.

00:58:56 ◼   ► And there's always like the hack of like the, the all messages mailbox and all sorts of

00:59:00 ◼   ► crazy stuff that just, it, it just causes problems.

00:59:03 ◼   ► And, and so, uh,

00:59:04 ◼   ► You say all that and I know that there's some amount of truth there, but I use Google apps for my domain and I use IMAP and maybe I'm just not a Gmail power user, but I almost never have any problems.

00:59:18 ◼   ► I really don't.

00:59:19 ◼   ► And I agree with you that that it's contrary encounter to the way they make money, which is for me to be on the website looking at their ads.

00:59:27 ◼   ► But I'm never on the website.

00:59:30 ◼   ► Very rarely on the website, on the Gmail website,

00:59:33 ◼   ► because I have no particular need for it.

00:59:35 ◼   ► I don't particularly fancy the web interface.

00:59:38 ◼   ► I know, or last I heard, Jon, I know you do, and that's fine.

00:59:41 ◼   ► But I am just fine with the iOS Mail app.

00:59:45 ◼   ► I'm just fine with Mailbox on the Mac.

00:59:47 ◼   ► And I use IMAP constantly for Google Apps,

00:59:51 ◼   ► and I really don't have any big problems.

00:59:55 ◼   ► I think, like Marco said, IMAP has never

00:59:57 ◼   ► been a good fit for the way Google does email.

00:59:59 ◼   ► Oh, certainly not.

01:00:00 ◼   ► So when I first saw this API, I was excited

01:00:02 ◼   ► because of what I thought it meant

01:00:04 ◼   ► was that Google was finally getting rid of IMAP.

01:00:06 ◼   ► And I think the reason Google should get rid of IMAP

01:00:09 ◼   ► or slowly phase it out is not to cut off third party clients

01:00:12 ◼   ► or whatever.

01:00:13 ◼   ► In fact, that's the reason they'll probably

01:00:14 ◼   ► have to keep it around forever just

01:00:16 ◼   ► if they want to continue to support customers and clients

01:00:19 ◼   ► that use IMAP.

01:00:20 ◼   ► But just because it's a poor fit for their mail service.

01:00:24 ◼   ► Their mail acts in a different way

01:00:27 ◼   ► than IMAP expects mail to act.

01:00:29 ◼   ► and I like the way Gmail acts.

01:00:30 ◼   ► So I was like, all right, well, so fine.

01:00:32 ◼   ► Keep IMAP around for the legacy clients,

01:00:34 ◼   ► make a new fancier API that works the way Gmail works,

01:00:37 ◼   ► and they make it faster,

01:00:39 ◼   ► make it not just a better match semantically,

01:00:41 ◼   ► but you'll be able to do things with higher performance

01:00:44 ◼   ► like search or bulk operations and all this good stuff.

01:00:47 ◼   ► But then I looked at documentation,

01:00:49 ◼   ► and in the first couple paragraphs of documentation,

01:00:52 ◼   ► it says, "Note, the Gmail API should not be used

01:00:54 ◼   ► "to replace IMAP for full-fledged email client access."

01:00:58 ◼   ► So that's straightforward right there

01:01:00 ◼   ► and the very first thing in the Gmail API documentation.

01:01:02 ◼   ► If you're writing what they consider it,

01:01:03 ◼   ► what they call a full fledged email client,

01:01:05 ◼   ► don't use this, use IMAP.

01:01:07 ◼   ► So that's a shame, like then now just like,

01:01:09 ◼   ► oh, this is just a way for applications

01:01:11 ◼   ► that wanna do something with mail

01:01:13 ◼   ► to be able to send mail through your Gmail account.

01:01:15 ◼   ► And it's nice because you can only ask for permission

01:01:17 ◼   ► to send, not to read, and then your app can send out

01:01:20 ◼   ► through Gmail using this API instead of doing, you know,

01:01:23 ◼   ► like I think it's a good idea to have this API,

01:01:25 ◼   ► but it becomes much less interesting

01:01:27 ◼   ► when they're saying write out.

01:01:28 ◼   ► it is not for making an email client.

01:01:29 ◼   ► So that alone means that IMAP has to,

01:01:32 ◼   ► either IMAP has to stay around for a much longer time,

01:01:34 ◼   ► or eventually Google phases out IMAP and says,

01:01:37 ◼   ► no, you have to go through the web UI.

01:01:38 ◼   ► But I think it would be difficult for Google

01:01:41 ◼   ► to go back on IMAP at this point.

01:01:44 ◼   ► - You know, this is kind of a left turn here,

01:01:46 ◼   ► and I had a possibly different thought the other day.

01:01:50 ◼   ► You look at things like the proliferation of apps

01:01:55 ◼   ► taking over from websites for where modern interaction

01:01:58 ◼   ► and computing is really happening these days.

01:02:01 ◼   ► Combine that with Android with its Intents,

01:02:04 ◼   ► Windows 8 with its contract,

01:02:05 ◼   ► and now iOS 8 with its extension system.

01:02:09 ◼   ► Are APIs necessary anymore?

01:02:13 ◼   ► - Yes.

01:02:16 ◼   ► - Why?

01:02:17 ◼   ► - Because, I mean, for web services,

01:02:19 ◼   ► if you want to interact with something

01:02:21 ◼   ► that's not on the same device as you are,

01:02:24 ◼   ► Like HTTP APIs for things like everything.

01:02:27 ◼   ► Reading Twitter, posting to Twitter, getting email.

01:02:32 ◼   ► Any of the existing native code systems

01:02:34 ◼   ► for allowing one application on the same machine

01:02:38 ◼   ► to communicate to another don't apply to--

01:02:40 ◼   ► I mean, the unifying principle of Google

01:02:43 ◼   ► is that they would instead say the opposite,

01:02:45 ◼   ► and that everything should be like a web app,

01:02:47 ◼   ► and everything should communicate

01:02:48 ◼   ► through RESTful APIs, even if it's on the same machine.

01:02:50 ◼   ► And really, it shouldn't matter where your thing is hosting it.

01:02:52 ◼   ► everything should all be the web and blah, blah, blah.

01:02:54 ◼   ► That's obviously not the path that Apple's going down

01:02:56 ◼   ► or Google that matter for Android,

01:02:58 ◼   ► but APIs are definitely still a thing,

01:03:01 ◼   ► both remote and local.

01:03:03 ◼   ► - Well, think about how many of those instances

01:03:05 ◼   ► you just mentioned.

01:03:06 ◼   ► I mean, certainly, there's always gonna be some

01:03:08 ◼   ► that can't be done this way,

01:03:10 ◼   ► but think about how many of the things you just mentioned

01:03:12 ◼   ► could be like, rather than call in the Gmail API,

01:03:16 ◼   ► just the user will probably have the Gmail app on their phone

01:03:19 ◼   ► 'cause they use Gmail, so just call it to the Gmail app

01:03:21 ◼   ► and have it do something and then kick back to you

01:03:23 ◼   ► or whatever.

01:03:24 ◼   ► - What does the Gmail app do?

01:03:25 ◼   ► It calls the Gmail API 'cause the Gmail servers

01:03:27 ◼   ► are on the other side of an HTTP connection.

01:03:29 ◼   ► - Well sure, okay, I mean public APIs obviously.

01:03:32 ◼   ► Like public web service APIs,

01:03:34 ◼   ► do those really need to be a major thing anymore?

01:03:38 ◼   ► Could you plausibly launch a new web service today

01:03:42 ◼   ► that has some kind of social everything

01:03:45 ◼   ► without an API, I mean people do all the time,

01:03:47 ◼   ► but how far could you go without having an API

01:03:50 ◼   ► And are we at a point now where having an API

01:03:54 ◼   ► is the exception, not the rule?

01:03:55 ◼   ► Because five or 10 years ago, everything had to have an API.

01:03:59 ◼   ► That was what people did.

01:04:00 ◼   ► And you wouldn't become big if you didn't have an API.

01:04:03 ◼   ► I do think that's still true, though.

01:04:05 ◼   ► Twitter is a great example, which got big based on its API

01:04:07 ◼   ► and now wants to essentially cut everybody off from it.

01:04:09 ◼   ► But they wouldn't have gotten big without the API.

01:04:11 ◼   ► So I don't know.

01:04:12 ◼   ► I think that avenue to getting big,

01:04:15 ◼   ► I think it's still required to get big.

01:04:17 ◼   ► If you have some great thing, but you say,

01:04:20 ◼   ► but there's no API, but we've made selected private libraries

01:04:23 ◼   ► that use an API that you're not allowed to use,

01:04:25 ◼   ► and you can put those libraries or apps on your devices

01:04:27 ◼   ► and kind of like, I don't think you would get big like that.

01:04:29 ◼   ► It would be like not being free in the beginning

01:04:32 ◼   ► and charging everybody tons of money.

01:04:33 ◼   ► I think the tractor to get big is to try to at least

01:04:36 ◼   ► make a show of, look, we're part of the community

01:04:38 ◼   ► and you can interoperate with us and we have this great API

01:04:40 ◼   ► and really encouraging people to build on you.

01:04:42 ◼   ► Yeah, sure, if you've got a service and we've got a service,

01:04:45 ◼   ► our services should talk to each other, we should integrate,

01:04:47 ◼   ► it'll be great, we'll have these great synergies,

01:04:49 ◼   ► And then when you get big, then you can start turning the screws and cutting everybody off

01:04:51 ◼   ► and charging money for API access and all those wonderful things that we love to hate.

01:04:56 ◼   ► So are you saying Marco that, let's take an example, that you're in a Twitter app and

01:05:02 ◼   ► or let's take Instagram perhaps, you're in Instagram and you want to tag a photo with

01:05:07 ◼   ► a location and you want to do that using the Foursquare API rather than have some sort

01:05:14 ◼   ► of view within the Instagram app, you could dump out to the Foursquare extension that

01:05:22 ◼   ► lets you search and then the Foursquare extension will take the location that you've selected

01:05:27 ◼   ► and punt it back to Instagram.

01:05:29 ◼   ► Is that sort of what you're envisioning?

01:05:30 ◼   ► Basically, yeah.

01:05:31 ◼   ► Like, I'm looking at this from the perspective not of, you know, what's best for everybody

01:05:36 ◼   ► technically but what's most likely to be best for everyone business-wise and what are

01:05:40 ◼   ► they most likely to do.

01:05:42 ◼   ► And you can look, you know, John, what you just said about how APIs are kind of the requirement

01:05:48 ◼   ► for good growth, I'm not sure that's true anymore. I mean, look at big services that

01:05:53 ◼   ► have launched in the last five years. Many of them don't have an API. Many of them launched

01:05:58 ◼   ► without one and now have one that's kind of half-assed or even like extremely restricted.

01:06:04 ◼   ► Like even Google Plus, Google's own service, I mean, this is not a good example because

01:06:07 ◼   ► 'cause it kind of failed, but even Google+

01:06:11 ◼   ► launched with a very limited read-only API.

01:06:14 ◼   ► And if it, did it even have that at first?

01:06:18 ◼   ► Anyway, I know when they launched the API,

01:06:19 ◼   ► whether it was at launch or not,

01:06:20 ◼   ► when they launched the API, it was read-only,

01:06:22 ◼   ► and I think it might still be.

01:06:24 ◼   ► Instagram, perfect example, got huge,

01:06:27 ◼   ► and they had a very limited API

01:06:28 ◼   ► that I believe was usually read-only

01:06:30 ◼   ► for almost everybody at the beginning.

01:06:32 ◼   ► And it's easy, you know, APIs have a big problem.

01:06:35 ◼   ► This is the problem Twitter faced.

01:06:37 ◼   ► which is it becomes very hard to monetize

01:06:40 ◼   ► if you become a dumb pipe, unless you do,

01:06:44 ◼   ► sometimes you can do creepy things,

01:06:45 ◼   ► but for the most part, if your API is mostly

01:06:50 ◼   ► an accessory to your service and people still keep coming

01:06:53 ◼   ► to you and using your apps and your website

01:06:55 ◼   ► for the primary interaction with your service, that's fine.

01:06:58 ◼   ► But if the API becomes your service and people are really

01:07:01 ◼   ► only interacting with you through the API,

01:07:03 ◼   ► it's very challenging to run a business that way

01:07:05 ◼   ► for certain business models and certainly anything free

01:07:08 ◼   ► and ad-based.

01:07:09 ◼   ► And so, I think we can look back at the golden era

01:07:13 ◼   ► of web APIs in the mid-2000s when everything had an API

01:07:16 ◼   ► and everyone was talking about them as being

01:07:19 ◼   ► the big requirement.

01:07:20 ◼   ► We can look back at that time and we can say,

01:07:22 ◼   ► actually in retrospect, that was kind of a problem.

01:07:25 ◼   ► A lot of those APIs that used to be free and naive

01:07:29 ◼   ► are now super locked down and limited.

01:07:32 ◼   ► And it's pretty easy to see that that was kind of

01:07:35 ◼   ► giving away too much of the farm.

01:07:37 ◼   ► Whereas now, I'm sorry if I'm mixing metaphors there.

01:07:40 ◼   ► Whereas now we have this other way where you,

01:07:45 ◼   ► the service provider, can have these apps

01:07:47 ◼   ► on these different platforms.

01:07:48 ◼   ► You don't need to cover that many of them.

01:07:50 ◼   ► You can have these apps on these different platforms

01:07:52 ◼   ► that all have these ways to kind of offer API-like services

01:07:56 ◼   ► to other apps without actually giving up the farm,

01:07:59 ◼   ► without actually losing that much control.

01:08:00 ◼   ► and while keeping everything locked down in private

01:08:04 ◼   ► for the most part behind the scenes.

01:08:05 ◼   ► - Well, there's a line between not having an API

01:08:09 ◼   ► and becoming an API only pipe.

01:08:11 ◼   ► Like, and we see Twitter at that continuum

01:08:14 ◼   ► and in the beginning it was like, yeah, sure,

01:08:15 ◼   ► everybody build on Twitter,

01:08:17 ◼   ► everyone make your own crazy clients.

01:08:18 ◼   ► We want all sorts of different clients.

01:08:19 ◼   ► We want, you know, any place you can talk to our API,

01:08:24 ◼   ► it'll do, and then they, you know, becoming the dumb pipe

01:08:26 ◼   ► where most people's interaction with Twitter

01:08:27 ◼   ► was not through anything that Twitter controlled.

01:08:29 ◼   ► That's one extreme, but the other extreme

01:08:30 ◼   ► is not having one at all.

01:08:31 ◼   ► Twitter still has an API, right?

01:08:34 ◼   ► At the very least, they would have some kind of API

01:08:36 ◼   ► for like embedding tweets

01:08:38 ◼   ► and putting little controls and buttons.

01:08:39 ◼   ► I mean, you could say, "Oh, that's not an API,"

01:08:40 ◼   ► but it is, it's a public API.

01:08:41 ◼   ► I put this mark down on your page,

01:08:43 ◼   ► so post to this URL,

01:08:45 ◼   ► make these buttons run this JavaScript.

01:08:47 ◼   ► Like there has to be an API,

01:08:50 ◼   ► just doesn't have to be like,

01:08:52 ◼   ► you want to encourage people

01:08:53 ◼   ► to integrate with your product.

01:08:55 ◼   ► You don't necessarily want to encourage people

01:08:56 ◼   ► to become your product.

01:08:58 ◼   ► And so I think the API use,

01:09:00 ◼   ► People have learned, like you said, don't become a faceless API because then you become

01:09:04 ◼   ► app.net, right?

01:09:06 ◼   ► Don't let everyone else define the experience of using your product.

01:09:09 ◼   ► It's the same way as Apple taking control of its dev tools.

01:09:12 ◼   ► Don't let MetroWorks and CodeWarrior and Powerplant become the face of your platform because then

01:09:17 ◼   ► you've lost control.

01:09:19 ◼   ► But I think you have to have some kind of web-based API if you want to interoperate

01:09:23 ◼   ► with the wider world because you're never going to hit every platform.

01:09:26 ◼   ► And realistically speaking, the little libraries and apps that you make for all the different

01:09:30 ◼   ► platforms are going to have to be hitting an API anyway.

01:09:32 ◼   ► And if they can hit it, then other people are going to hit it.

01:09:34 ◼   ► And do you really want to get into some kind of security war

01:09:37 ◼   ► about having secret API endpoints that people have to figure out how to hack into?

01:09:41 ◼   ► And so they're just going to use OAuth or something anyway.

01:09:43 ◼   ► Anyone can do it.

01:09:44 ◼   ► You know, it's just a matter of getting an API key and then they extract it.

01:09:47 ◼   ► It's just I think APIs will still be here.

01:09:50 ◼   ► But I think you're right that the lesson has been learned by several people in a painful way.

01:09:54 ◼   ► Don't make your API the only thing you offer,

01:09:57 ◼   ► because then other people will become your product for you.

01:09:59 ◼   ► But is that so bad? I mean, there's sponsored posts in Instagram and Twitter and whatnot.

01:10:05 ◼   ► I haven't seen them pushed on me in Tweetbot, for example, but there's nothing stopping

01:10:09 ◼   ► them from being pushed on me, right?

01:10:11 ◼   ► I think we're in the minority of people who are not using the official—as crazy as it

01:10:15 ◼   ► is for us to think about—

01:10:16 ◼   ► Sure. No, you're right.

01:10:17 ◼   ► —that we don't use the official Twitter app, but I bet—what did you say? What do

01:10:22 ◼   ► you think? Most people who use Twitter at all use the official Twitter app on their

01:10:26 ◼   ► mobile devices?

01:10:27 ◼   ► No question.

01:10:28 ◼   ► Like we are an oddity because we were there early, we don't look at Twitter that way,

01:10:32 ◼   ► and Twitter thus far to Twitter's credit has been like, okay, you know, they shut the

01:10:38 ◼   ► door on us.

01:10:39 ◼   ► We are in a little room together with our limited API tokens from the apps that were

01:10:42 ◼   ► there in the beginning and no one bothers us and they just don't have to worry about

01:10:47 ◼   ► us and all our growth is with those other people.

01:10:49 ◼   ► They could have said, you know what, third party stuff is turned off, now you have to

01:10:53 ◼   ► use the official client.

01:10:54 ◼   ► And I don't think it actually would have hurt them that much because all of us would have

01:10:57 ◼   ► left and been pissed. Maybe the problem is all of us might have like all gone to App.net

01:11:00 ◼   ► and actually made that a viable platform or something, but in the grand scheme of things,

01:11:04 ◼   ► we don't matter. And so I'm glad that Twitter is not shoving stupid crap down our throats,

01:11:09 ◼   ► but I'm kind of sad that like we're never going to get like multiple images or these

01:11:13 ◼   ► other features they're adding. And now...

01:11:15 ◼   ► Well, they got that already. That's in Tweetbot now.

01:11:18 ◼   ► Is it?

01:11:19 ◼   ► Yep.

01:11:20 ◼   ► I thought that wasn't even available to third-party clients.

01:11:21 ◼   ► Well, you can view multiple images. I don't know if you can post them.

01:11:24 ◼   ► Yeah, well, anyway, they're adding features, and they don't care if it's available for

01:11:28 ◼   ► their legacy third-party ones.

01:11:30 ◼   ► So it doesn't surprise me that they're not making us choke down ads, because who cares

01:11:34 ◼   ► about us?

01:11:35 ◼   ► We're off in the corner somewhere, and it's probably the best move for them not to anger

01:11:38 ◼   ► us anymore and just allow us to stew in our little private third-party Twitter clients.

01:11:43 ◼   ► All right, anything else we need to talk about?

01:11:46 ◼   ► Oh, there's a little bit of talk that we kind of skipped over about Swift and Apple.

01:11:52 ◼   ► I think, Jon, this was mostly you.

01:11:53 ◼   ► Do you want to touch on that?

01:11:55 ◼   ► - Actually, I want to talk about ART briefly first,

01:11:58 ◼   ► before the Swift thing.

01:11:59 ◼   ► ART was in the thing.

01:12:00 ◼   ► ART is not a new thing.

01:12:01 ◼   ► It's something that they introduced in KitKat,

01:12:03 ◼   ► but now it's official for their new OS.

01:12:06 ◼   ► This will be their new runtime that they're using

01:12:08 ◼   ► instead of the previous Dalvik virtual machine.

01:12:11 ◼   ► This is them refining.

01:12:12 ◼   ► I mean, not that I'm saying this is their answer

01:12:15 ◼   ► to Swift and iOS and the A7 and all that stuff,

01:12:19 ◼   ► but they're feeling pressure to have a more performant,

01:12:23 ◼   ► less battery-sucking engine underneath their platform.

01:12:27 ◼   ► So the language they use is Java for development.

01:12:30 ◼   ► They had their own Java virtual machine

01:12:31 ◼   ► that they wrote themselves,

01:12:32 ◼   ► which is kind of novel called Dalvik

01:12:34 ◼   ► that they've had for many, many years.

01:12:36 ◼   ► This new one is a new virtual machine

01:12:39 ◼   ► that is better about memory management

01:12:41 ◼   ► and has fewer stalls for garbage collection,

01:12:44 ◼   ► shorter stalls for garbage collection,

01:12:46 ◼   ► produces better code that runs faster

01:12:48 ◼   ► on all the CPUs they target.

01:12:50 ◼   ► I think they listed ARM, X86, and MIPS.

01:12:53 ◼   ► And they showed a bunch of performance figures

01:12:55 ◼   ► showing how this is better.

01:12:56 ◼   ► So I'm glad to see that Google is making progress

01:13:00 ◼   ► on sort of the fundamental lowest level of that platform

01:13:03 ◼   ► to make their applications faster.

01:13:06 ◼   ► And it shows the advantages that they

01:13:09 ◼   ► have of having a memory safe language in a virtual machine,

01:13:12 ◼   ► and that this change, this fairly radical change

01:13:14 ◼   ► under the cover, does not require any changes in anyone

01:13:18 ◼   ► who wrote their application using Java.

01:13:20 ◼   ► If you use their API and wrote the thing,

01:13:22 ◼   ► You don't have to know or care about this.

01:13:23 ◼   ► They just made your runtime faster.

01:13:24 ◼   ► Whereas compare this to Apple,

01:13:26 ◼   ► which has made the Objective-C runtime faster

01:13:29 ◼   ► many times over, but you don't have to relink your app

01:13:31 ◼   ► against it or use certain features like fast enumeration.

01:13:34 ◼   ► You have to change your source code to use them.

01:13:36 ◼   ► I guess, you know, when they improve Objective-C message

01:13:38 ◼   ► and everyone gets the benefit when they recompile

01:13:40 ◼   ► against the new libraries,

01:13:41 ◼   ► but then it was only available at 64-bit and blah, blah, blah.

01:13:44 ◼   ► Anyway, I'm glad to see Google making progress there,

01:13:47 ◼   ► mostly because I like the idea

01:13:49 ◼   ► of virtual machine-based languages.

01:13:52 ◼   ► I guess I'll probably have more to say about that when I do the Swift section of my OS X review.

01:13:56 ◼   ► How's that coming, by the way?

01:14:00 ◼   ► Slowly, as always. Slowly and painfully.

01:14:04 ◼   ► Thanks a lot to our three sponsors this week. Raiz Labs, Squarespace, and

01:14:08 ◼   ► Lynda.com. And we will see you next week.

01:14:12 ◼   ► Now the show is over

01:14:16 ◼   ► They didn't even mean to begin, cause it was accidental

01:14:20 ◼   ► Oh it was accidental John didn't do any research

01:14:26 ◼   ► Marco and Casey wouldn't let him Cause it was accidental

01:14:30 ◼   ► It was accidental And you can find the show notes at ATP.FM

01:14:39 ◼   ► And if you're into Twitter You can follow them at

01:14:44 ◼   ► C-A-S-E-Y-L-I-S-S, so that's Casey Liss, M-A-R-C-O-A-R-M

01:14:52 ◼   ► E-N-T, Marco Arment, S-I-R-A-C-U-S-A, Syracuse

01:15:00 ◼   ► It's accidental (It's accidental)

01:15:03 ◼   ► They didn't mean to, accidental (Accidental)

01:15:08 ◼   ► Tech podcast, so long

01:15:13 ◼   ► I could have fit the Swift thing in before the song.

01:15:15 ◼   ► You know, you can tell how unprofessional we are because here it is, I queue up

01:15:20 ◼   ► Jon to talk about A, he talks about B, and then before we get back to A, we end the show.

01:15:26 ◼   ► Can it fit in the after show? It can be like, follow down?

01:15:29 ◼   ► I can throw it in. It's a reward for the people who keep listening. This is still on topic,

01:15:35 ◼   ► but hey, you made it through the song and here we are on the other side.

01:15:38 ◼   ► This is your reward.

01:15:39 ◼   ► Yeah. It was something I've been thinking about since WWDC, about how Apple is being more open

01:15:46 ◼   ► with things. And I've seen things from Apple since WWDC that I had not seen from Apple in years and

01:15:53 ◼   ► years and years, maybe not ever in the second Steve Jobs era, like after '97. And that is the

01:16:00 ◼   ► the phenomenon of Apple employees saying, in a more or less official capacity, something

01:16:09 ◼   ► that Apple is going to do in the future.

01:16:11 ◼   ► Yeah, we saw that today, which I think you're about to bring up.

01:16:14 ◼   ► Right.

01:16:15 ◼   ► And not just today.

01:16:16 ◼   ► I've seen it many times since WWDC.

01:16:19 ◼   ► And I keep seeing it, which is blowing my mind.

01:16:21 ◼   ► The one today was Mike Ash did a blog post about Swift.

01:16:24 ◼   ► Chris Latner responded to the blog post and said, "That thing you were complaining about,

01:16:29 ◼   ► we're gonna change that.

01:16:30 ◼   ► Which is basically talking about an unannounced product.

01:16:33 ◼   ► And I've seen that multiple times about nerdy technology

01:16:37 ◼   ► is not like, oh, we're making a watch.

01:16:38 ◼   ► They're not gonna say that, right?

01:16:39 ◼   ► But about nerdy technology is the only developers

01:16:42 ◼   ► care about, but developers are willing to say,

01:16:44 ◼   ► oh yeah, that API doesn't exist for whatever,

01:16:47 ◼   ► but we're gonna introduce it before GM.

01:16:50 ◼   ► Or that feature you asked for, we're doing that right now,

01:16:53 ◼   ► not sure when it's gonna be done.

01:16:55 ◼   ► That's, you know, Apple does not comment on future products.

01:16:57 ◼   ► but apparently Apple now comments on future technologies.

01:17:00 ◼   ► I mean, WWC being open,

01:17:01 ◼   ► anyone being able to watch the videos,

01:17:02 ◼   ► and actual Apple engineers saying what is,

01:17:06 ◼   ► this is not exciting or surprising

01:17:09 ◼   ► to anyone who deals with any company other than Apple,

01:17:11 ◼   ► but historically Apple engineers would never say anything,

01:17:14 ◼   ► even in like the most obscure little thing,

01:17:16 ◼   ► like I think this argument to this method

01:17:19 ◼   ► should accept nil and it shouldn't be an error.

01:17:22 ◼   ► And you just have to sit there and wait

01:17:23 ◼   ► until eventually your bug was closed

01:17:25 ◼   ► or just a release comes out

01:17:26 ◼   ► and that's in the release notes.

01:17:28 ◼   ► Instead today, an Apple engineer will say,

01:17:30 ◼   ► yeah, we're in the process of doing that.

01:17:32 ◼   ► It'll be in the next build.

01:17:34 ◼   ► I guess that has happened to some degree,

01:17:35 ◼   ► like on the dev forums and past builds and stuff like that.

01:17:38 ◼   ► But this is about something big,

01:17:39 ◼   ► like Swift is bigger than just one obscure API.

01:17:41 ◼   ► Swift is a whole language.

01:17:42 ◼   ► And on the dev forums, for example,

01:17:45 ◼   ► people are complaining about missing features

01:17:46 ◼   ► in the Swift language and people who are writing Swift

01:17:49 ◼   ► are coming on the dev forums and saying,

01:17:51 ◼   ► you're right, that feature is missing.

01:17:52 ◼   ► We're adding it now.

01:17:53 ◼   ► It will be there soon.

01:17:54 ◼   ► Like, talking about future products,

01:17:56 ◼   ► it's just blowing my mind that this is happening.

01:17:58 ◼   ► And any second I expect a black helicopter to come in

01:18:00 ◼   ► and close the thread and delete the post

01:18:03 ◼   ► and nuke everything.

01:18:04 ◼   ► And so that's the Dev Forum,

01:18:05 ◼   ► so we're technically under an NDA,

01:18:06 ◼   ► which is why I wasn't talking about details.

01:18:08 ◼   ► This was on a public blog post.

01:18:10 ◼   ► I forget, what was the thing that he was talking about

01:18:12 ◼   ► in there, was the, oh, array semantics being crazy,

01:18:14 ◼   ► which they are.

01:18:15 ◼   ► I mean, it was vague, it was like,

01:18:17 ◼   ► we know they're crazy, we're gonna try to fix it.

01:18:20 ◼   ► Yay, thumbs up, see, was that that hard apple?

01:18:22 ◼   ► Did the world end?

01:18:23 ◼   ► You know, and like if they don't fix it,

01:18:25 ◼   ► is everyone gonna go on there,

01:18:26 ◼   ► "Well, I totally expected you to fix

01:18:28 ◼   ► "the crazy array semantics because I saw that comment

01:18:30 ◼   ► "in that blog post, but you didn't fix it, I hate you Apple."

01:18:32 ◼   ► Like that's the thing that they're protecting against.

01:18:34 ◼   ► And I suppose that could happen if Yosemite ships

01:18:38 ◼   ► and iOS 8 ships and Swift's array semantics

01:18:40 ◼   ► are still crazy pants, then people are gonna like cite

01:18:42 ◼   ► that blog post and say, "We can't trust you Apple,

01:18:44 ◼   ► "you say things, but then don't do them."

01:18:45 ◼   ► I don't know, I just assume they're just gonna do it

01:18:48 ◼   ► and everything will be fine.

01:18:49 ◼   ► But it is definitely weird to see that

01:18:53 ◼   ► and definitely a change for Apple.

01:18:54 ◼   ► - So what's the downside to it for them?

01:18:57 ◼   ► - I just said the downside.

01:18:58 ◼   ► The downside is if they don't do this thing,

01:19:00 ◼   ► then crazy people will be all cranky.

01:19:02 ◼   ► - But is that really why they didn't do it

01:19:05 ◼   ► for all this time?

01:19:06 ◼   ► - Yeah, 'cause you can't predict the future.

01:19:08 ◼   ► They don't do it for all this time

01:19:09 ◼   ► because if they say something

01:19:10 ◼   ► and then they're not able to deliver it,

01:19:11 ◼   ► it breaks trust, so they just say nothing.

01:19:13 ◼   ► - Yeah, I guess, but to your point

01:19:17 ◼   ► about developer tools that are coming, who cares?

01:19:22 ◼   ► Like I just, I don't really see the need

01:19:26 ◼   ► for all the secrecy up until this point.

01:19:28 ◼   ► I applaud the opening up that they've been doing lately,

01:19:32 ◼   ► but I don't know, it just seems like a pretty weak reason

01:19:35 ◼   ► to be so unbelievably secretive.

01:19:38 ◼   ► It seems to me like the reason they were secretive

01:19:39 ◼   ► is because they felt like it was cool to be secretive.

01:19:42 ◼   ► If you're secretive about products,

01:19:43 ◼   ► you're gonna be secretive about everything.

01:19:44 ◼   ► - Well, it's not just about, it's not a cool factor,

01:19:47 ◼   ► but like, it's, you know, like someone just put

01:19:49 ◼   ► in the chat room, under-promise and over-deliver.

01:19:51 ◼   ► It's the safe bet.

01:19:52 ◼   ► You will not disappoint people, you will only surprise them.

01:19:57 ◼   ► Because the only way you disappoint somebody

01:19:59 ◼   ► is by saying you're gonna do something

01:20:00 ◼   ► and then not doing it.

01:20:01 ◼   ► If you never say anything and you don't do it,

01:20:03 ◼   ► you haven't disappointed anyone

01:20:04 ◼   ► because they should have had no reason

01:20:05 ◼   ► to expect that you were going to do something.

01:20:07 ◼   ► But if you say you're gonna do something and don't do it,

01:20:09 ◼   ► then people are disappointed.

01:20:10 ◼   ► - But is that really true?

01:20:11 ◼   ► I mean, I know the market isn't really

01:20:13 ◼   ► the best judge of anything.

01:20:15 ◼   ► However, anytime Apple doesn't release a TV or a watch,

01:20:20 ◼   ► the market has a fit about it,

01:20:22 ◼   ► and they've never said anything

01:20:23 ◼   ► about doing any of those things.

01:20:25 ◼   ► - I think that would be a counter example,

01:20:26 ◼   ► because Tim Cook kept saying,

01:20:27 ◼   ► "We're gonna enter a new product category."

01:20:29 ◼   ► So yeah, as soon as he says that, like a year ago,

01:20:31 ◼   ► every time Apple does anything

01:20:32 ◼   ► and doesn't enter a new product category,

01:20:34 ◼   ► people will say, "You said you're gonna enter

01:20:36 ◼   ► "a new product category, and you did something, anything,

01:20:39 ◼   ► "and the thing involved in that

01:20:41 ◼   ► "did not enter a new product category,

01:20:43 ◼   ► "therefore I hate you now, Apple."

01:20:44 ◼   ► Who cares?

01:20:45 ◼   ► The larger the feature,

01:20:49 ◼   ► the less you'd want to say stuff like this.

01:20:51 ◼   ► If you're talking about this API is available,

01:20:56 ◼   ► but it's iOS 7 only.

01:20:59 ◼   ► And if someone from Apple were to say,

01:21:01 ◼   ► actually we're gonna backport that to iOS 6 too.

01:21:03 ◼   ► People would be like, oh yeah, that's awesome,

01:21:05 ◼   ► I can't wait until that happens.

01:21:06 ◼   ► My app will be able to run on iOS 6 and 7

01:21:08 ◼   ► and use this cool new API.

01:21:09 ◼   ► And then the OS comes out and they say,

01:21:11 ◼   ► sorry, we didn't get time to backport that to iOS 6

01:21:13 ◼   ► and now we're never going to.

01:21:14 ◼   ► People would hate Apple, they'd be like,

01:21:15 ◼   ► oh, you said you were going to,

01:21:17 ◼   ► I planned my business around it,

01:21:18 ◼   ► you've destroyed my livelihood, so on.

01:21:20 ◼   ► Or so they just say nothing, and they say,

01:21:22 ◼   ► file a bug if you'd like to see that,

01:21:23 ◼   ► and it's on iOS 6 or whatever.

01:21:25 ◼   ► They don't make any promises, they just don't say anything.

01:21:28 ◼   ► Every time you ask them a question,

01:21:29 ◼   ► they say this API is available for iOS 7.

01:21:31 ◼   ► But is it gonna be on iOS 6?

01:21:33 ◼   ► This API is available for iOS 7.

01:21:34 ◼   ► That's the old Apple way,

01:21:35 ◼   ► and there are serious upsides to that.

01:21:38 ◼   ► But at a certain point, it becomes ridiculous.

01:21:40 ◼   ► As you get tinier and tinier,

01:21:41 ◼   ► like are you gonna fix this typo in the documentation?

01:21:44 ◼   ► It's no skin off Apple's back to say,

01:21:46 ◼   ► yes, we're going to fix that typo in the documentation.

01:21:48 ◼   ► In fact, I'm fixing it right now.

01:21:49 ◼   ► You should see it in the next build.

01:21:50 ◼   ► Like that's always been under the line, like no big deal.

01:21:53 ◼   ► But once you move from typos up until, you know,

01:21:56 ◼   ► API features, API availability, language features,

01:22:00 ◼   ► that's starting to get into some serious territory.

01:22:02 ◼   ► And you know, this is the new Apple, I think.

01:22:06 ◼   ► - And I applaud it.

01:22:07 ◼   ► And I think Marco had said,

01:22:09 ◼   ► or one of us had said right before WWDC

01:22:13 ◼   ► that we didn't really know crap about what was coming.

01:22:15 ◼   ► We knew HealthKit, which we thought was HealthBook,

01:22:19 ◼   ► and there were like one or two other things,

01:22:20 ◼   ► but certainly nobody knew Swift was coming,

01:22:22 ◼   ► and that made it so much more enjoyable.

01:22:24 ◼   ► I'm not saying Apple shouldn't be secretive

01:22:27 ◼   ► about product launches.

01:22:28 ◼   ► I'm talking like you are, John, about this,

01:22:30 ◼   ► and I'm gonna call it minutia, but perhaps it isn't,

01:22:34 ◼   ► but stuff that, for the most part,

01:22:36 ◼   ► really isn't gonna make or break anyone.

01:22:37 ◼   ► And yes, you just had an example

01:22:40 ◼   ► of where it could break someone,

01:22:41 ◼   ► but I don't know, I'm surprised it took this long

01:22:44 ◼   ► for them to open up? Well, it's a continuum, like the one I think of also, a 64-bit carbon,

01:22:48 ◼   ► which they said they were going to have and then changed their mind on. And that's just like a

01:22:53 ◼   ► bummer. It wasn't like they didn't have it almost all done, is my understanding, and it wasn't like

01:22:57 ◼   ► they didn't plan on doing it. They did plan on doing it. They did say they were going to do it,

01:23:01 ◼   ► but they changed their mind the next year, and that did really seriously affect people.

01:23:05 ◼   ► And, you know, secrecy wouldn't have saved them there, because that was sort of like they said

01:23:10 ◼   ► said at WWDC that they're going to have OS 1010 and iOS 8. Those are speaking about future

01:23:16 ◼   ► products, but we assume that those will actually arrive, that they won't say, "You know what,

01:23:20 ◼   ► never mind about iOS 8." It seems like a safe bet, but technically that's exactly the same

01:23:25 ◼   ► thing. "We do not have this for you now. It is not completed, but we will." And making

01:23:29 ◼   ► a comment about a feature in Swift, like saying, "We agree that the array semantics are stupid.

01:23:36 ◼   ► We are working on them, and we plan to have the better version of them available before

01:23:39 ◼   ► or any of our operating systems ship.

01:23:43 ◼   ► That's a pretty concrete statement about something that's going to happen.

01:23:46 ◼   ► It's probably not much more concrete than saying iOS 8 is coming and we're going to

01:23:50 ◼   ► ship it and here's the rough timeframe.

01:23:53 ◼   ► But it is definitely a change.

01:23:55 ◼   ► Like normally they would just let the blogs all complain about stuff in Swift and secretly

01:24:00 ◼   ► be over there saying all these people are complaining about, you know, feature X, whereas

01:24:04 ◼   ► we know that feature X has been checked in two weeks ago and we're just like testing

01:24:08 ◼   ► it out now and it'll ship in the next seed and won't those people be pleasantly surprised.

01:24:11 ◼   ► But now those people can actually go onto the internet and tweet at the people like,

01:24:15 ◼   ► "I just totally did that. Don't worry, it's coming."

01:24:16 ◼   ► And what else is going on? I think there's an M3 at the local dealer. I haven't actually

01:24:24 ◼   ► gone by yet, but I—

01:24:25 ◼   ► Why not?

01:24:26 ◼   ► Yeah, because my car's actually going in Monday anyway. So I'll see you then. And then I'll

01:24:31 ◼   ► probably steal it and then get arrested and that'll be the end of ATP.

01:24:34 ◼   ► Why do you keep doing it with you in jail?

01:24:37 ◼   ► All I know is I want an M3 really bad.

01:24:40 ◼   ► Sorry.

01:24:41 ◼   ► Luigi follow only the Ferrari.

01:24:44 ◼   ► What?

01:24:45 ◼   ► I didn't do my pop culture reference to this show.

01:24:47 ◼   ► I stuck it in at the end.

01:24:48 ◼   ► Oh.

01:24:49 ◼   ► I get it.

01:24:50 ◼   ► Because I've seen that movie a million times.

01:24:51 ◼   ► Yay!

01:24:52 ◼   ► Marco has children.

01:24:53 ◼   ► Soon Casey will too.

01:24:55 ◼   ► A million times.

01:24:57 ◼   ► I know every line of that movie because I've seen it a million times.

01:25:01 ◼   ► You want to scream it from the top someplace very high.

01:25:05 ◼   ► I hear you now.

01:25:06 ◼   ► You see, I was going to say that how could that movie possibly get old, but I know enough

01:25:11 ◼   ► to know that any movie could probably get old.

01:25:13 ◼   ► Well, it's actually a pretty good movie.

01:25:15 ◼   ► I mean, I think that's one of the reasons why adults love Pixar movies so much is because

01:25:19 ◼   ► if your kids are going to make you watch the same movie every single day for three months,

01:25:23 ◼   ► it might as well be a pretty decent one.

01:25:25 ◼   ► Yeah, you don't know how bad it can get.

01:25:27 ◼   ► I mean, you're probably protecting yourself from it.

01:25:29 ◼   ► And the thing is, Cars, people say it's not one of the better Pixar movies, and maybe

01:25:35 ◼   ► I kind of agree there, but lots of people who don't have kids dislike it much more than I do because now in retrospect

01:25:40 ◼   ► the memory of cars is entirely tied up with the memory of my son when he was young and watching that movie a lot and

01:25:45 ◼   ► I think the same thing will happen to Marco and that

01:25:46 ◼   ► That gives the movie a fondness that it wouldn't have had if you had just seen it on your own

01:25:50 ◼   ► Just wait until Adam gets older and you remember when he was a little peanut and he would watch the movie over and over again

01:25:55 ◼   ► I love cars cars - is freaking terrible though. I haven't seen cars - because I heard it was terrible

01:26:01 ◼   ► So I'm just like I'm not even buying that on the Apple TV. I'm just leaving that off.

01:26:05 ◼   ► Don't do it. And the worst part is Michael Caine is in it, and I love Michael Caine, but the movie was still terrible.

01:26:12 ◼   ► The movie's not terrible. Like you don't know terrible until you've seen like Dora the Explorer or something like that.

01:26:17 ◼   ► I mean terrible, just a whole other thing. The movie is just, meh. It's just there. It's alright.

01:26:20 ◼   ► Yeah, that's alright.

01:26:22 ◼   ► I'll have to put that one in the parking lot for now.

01:26:24 ◼   ► Exactly. You want to do titles on one of the functional show bots, which means not mine?

01:26:29 ◼   ► Yeah, how about put that in the parking lot for now?

01:26:31 ◼   ► Obsessed with the business speak terminology.

01:26:36 ◼   ► Oh, it's just I can't like what planet is everyone on?

01:26:40 ◼   ► Marco to put things in perspective I

01:26:43 ◼   ► Went to a client today at what time was it about?

01:26:48 ◼   ► 9

01:26:50 ◼   ► For a 10 o'clock demo that demo lasted half an hour. I spent half an hour

01:26:55 ◼   ► dealing with

01:26:59 ◼   ► security-related things because it's a new client, so I had to get fingerprinted.

01:27:03 ◼   ► I had to go swear that I had antivirus on my computer. Then I needed to prove that I had

01:27:08 ◼   ► antivirus on my computer. Then I spent from 1130 till 5 in consecutive meetings talking about the

01:27:19 ◼   ► work that has been done and the work that needs to be done. My God. That was from 1130 until 5

01:27:24 ◼   ► in the evening.

01:27:26 ◼   ► When does the ScrummerFall standoff happen?

01:27:29 ◼   ► Actually the end of, so it was a retrospective, which is part of Agile, and then it was sprint

01:27:35 ◼   ► planning, which is part of Agile.

01:27:37 ◼   ► But the problem is this is for a large government entity and I don't think most of the business

01:27:43 ◼   ► people in the room, these are our own internal business people, had had a lot of experience

01:27:48 ◼   ► with doing Agile software projects.

01:27:51 ◼   ► And so it's really kind of scrummerful at best.

01:27:56 ◼   ► And that's just bad.

01:27:58 ◼   ► But anyway.

01:27:59 ◼   ► So back to titles.

01:28:01 ◼   ► Did they have a parking lot?

01:28:02 ◼   ► No, not today actually.

01:28:04 ◼   ► How about a basement?

01:28:05 ◼   ► Do you like put things in the basement ever?

01:28:07 ◼   ► Nope.

01:28:08 ◼   ► Just the parking lot?

01:28:09 ◼   ► What about like, you know, back behind the dumpster?

01:28:11 ◼   ► Like is there…

01:28:12 ◼   ► Nope.

01:28:13 ◼   ► The alley?

01:28:14 ◼   ► Is there an alley even?

01:28:15 ◼   ► Nope.

01:28:16 ◼   ► You can't like throw something off the fire escape?

01:28:17 ◼   ► No, Marco.

01:28:18 ◼   ► You've got the same metaphor as an iOS development basement UI, you know, just speaking of basement.

01:28:23 ◼   ► Same, it's the same stuff.

01:28:25 ◼   ► The hamburger basement metaphor.

01:28:26 ◼   ► Exactly, it's the same exact thing. Why is that terminology okay, but this terminology is not?

01:28:30 ◼   ► Because we are right.

01:28:31 ◼   ► Oh my god, that is the most Marco statement I've ever heard.

01:28:34 ◼   ► In my defense, I don't like the hamburger basement metaphor.

01:28:37 ◼   ► But you use it because it's a way to communicate with other people a shorthand.

01:28:40 ◼   ► That's exactly what buzzwords and lingo are supposed to do.

01:28:43 ◼   ► you can say this and then be assured that everyone who you're talking to knows what you mean without you having to explain it the long way.

01:28:48 ◼   ► There was some time where I mentioned Hamburger Basement on Twitter a few months back

01:28:53 ◼   ► and I got the best responses from people who didn't know what that was.

01:28:58 ◼   ► And they were fulfilling your role now saying, "Is there an alley?" Blah, blah, blah. Anyway.

01:29:03 ◼   ► I actually like Breaking Bots. I don't think it should necessarily be the show title, but it is pretty funny.

01:29:08 ◼   ► necessarily be the show title, but it is pretty funny.

01:29:10 ◼   ► - I'm also a big fan of I'm Not Getting One.

01:29:13 ◼   ► There's actually two of them, One With A Period,

01:29:15 ◼   ► One Without, if you combine their ratings,

01:29:16 ◼   ► it's probably even better.

01:29:17 ◼   ► - So you could up the working show bot's features

01:29:20 ◼   ► by doing better normalization

01:29:22 ◼   ► and getting rid of trailing periods.

01:29:24 ◼   ► (laughing)

01:29:26 ◼   ► - Fair enough.

01:29:26 ◼   ► I'll get to that as soon as I can keep the thing running

01:29:29 ◼   ► for more than 10 frickin' minutes.

01:29:30 ◼   ► - You got one more show, Casey.

01:29:33 ◼   ► This is like that old website, Give Up and Use Tables,

01:29:37 ◼   ► which is like, start a timer for you

01:29:39 ◼   ► to try to do things back in the bad old days of CSS

01:29:41 ◼   ► when you couldn't do lots of stuff with CSS.

01:29:44 ◼   ► You get one more show and then Marco and I

01:29:46 ◼   ► are gonna force you to stop using WebSockets.

01:29:48 ◼   ► - And then four shows after that, you gotta use Perl.

01:29:51 ◼   ► - 'Cause realistically speaking,

01:29:53 ◼   ► we should've stopped using WebSockets

01:29:56 ◼   ► before you started using them for a show bot,

01:29:58 ◼   ► 'cause there's no reason to use them

01:29:59 ◼   ► except for technical curiosity.

01:30:01 ◼   ► So we'll give you now, we'll give you a couple weeks

01:30:02 ◼   ► to say, okay, you just wanna do this,

01:30:03 ◼   ► 'cause you're just playing with things,

01:30:04 ◼   ► you wanna use WebSockets 'cause they're neat and cool,

01:30:06 ◼   ► fine, go ahead.

01:30:07 ◼   ► But at a certain point, we just say, look, just make it work.

01:30:10 ◼   ► Stop using WebSockets.

01:30:11 ◼   ► But if you think about it, it's the right answer.

01:30:14 ◼   ► Leave--

01:30:14 ◼   ► No, it is not.

01:30:15 ◼   ► A persistent connection to the clients is like, no,

01:30:18 ◼   ► it is not the right answer.

01:30:19 ◼   ► Well, it actually is useful because it gives you

01:30:21 ◼   ► the immediate feedback when new stuff comes in.

01:30:23 ◼   ► You don't need immediate-- people

01:30:25 ◼   ► are staring at the show about, I need

01:30:26 ◼   ► to see if someone has changed a vote right now.

01:30:28 ◼   ► You don't.

01:30:29 ◼   ► The latency on people looking at show voting

01:30:33 ◼   ► does not need to be real time.

01:30:34 ◼   ► This is not like a game or a simulation

01:30:37 ◼   ► where we need feedback constantly.

01:30:39 ◼   ► It's not the appropriate technology for this purpose.

01:30:41 ◼   ► You could have a five minute refresh interval

01:30:44 ◼   ► and it would be fine.

01:30:45 ◼   ► It's just a show bot.

01:30:46 ◼   ► It's not a real time 3D application.

01:30:49 ◼   ► - John, the last time I said it's just a show bot,

01:30:52 ◼   ► it was about hardening said show bot

01:30:54 ◼   ► and we all saw how that ended.

01:30:55 ◼   ► - But the WebSockets are fighting against you in that area.

01:30:58 ◼   ► Like they're making it worse.

01:31:00 ◼   ► It's a technology that either is not mature enough or,

01:31:03 ◼   ► I mean, it seems like the libraries we're dealing with

01:31:05 ◼   ► aren't mature enough because if they were,

01:31:06 ◼   ► you wouldn't be having all these problems.

01:31:08 ◼   ► - I just can't imagine what the heck is going on

01:31:11 ◼   ► behind the scenes here that's causing even the worst,

01:31:15 ◼   ► crappiest, slowest VPS in the universe

01:31:18 ◼   ► to overload and crash.

01:31:20 ◼   ► - It's not overloading, it's just throwing an exception

01:31:21 ◼   ► that nobody catches and then it kills it.

01:31:23 ◼   ► - Well, so then, well, then WebSockets aren't the problem.

01:31:25 ◼   ► - But it is because the exceptions are coming

01:31:27 ◼   ► from within WebSockets.

01:31:28 ◼   ► - Exactly.

01:31:29 ◼   ► - As a third-party library, it's throwing an exception

01:31:32 ◼   ► that I guess you didn't expect.

01:31:33 ◼   ► I forgot what the specifics of the bug were,

01:31:34 ◼   ► Wasn't it a bug in the actual WebSockets library?

01:31:36 ◼   ► - I just repasted the gist,

01:31:38 ◼   ► and it's very vague where the actual problem is,

01:31:42 ◼   ► but that's all right.

01:31:45 ◼   ► - All right, does C# have exceptions case?

01:31:47 ◼   ► Are you just not accustomed to having to catch exceptions

01:31:49 ◼   ► and deal with them?

01:31:50 ◼   ► - You know, there's no need to be cruel, John.

01:31:52 ◼   ► - I'm just saying like,

01:31:53 ◼   ► - Jeez.

01:31:54 ◼   ► - Just wrap the whole thing and try catching,

01:31:56 ◼   ► at least keep the thing from going down.

01:31:58 ◼   ► - Well, generally, I would prefer for this situation

01:32:03 ◼   ► to die violently and tell me exactly what's going on.

01:32:05 ◼   ► And I think actually we got in a pretty big fight

01:32:08 ◼   ► with Marco about this.

01:32:09 ◼   ► - Yes, well no, it's like,

01:32:11 ◼   ► turning it into, yes, turning it into fatal errors.

01:32:14 ◼   ► You're not turning warnings into fatal errors,

01:32:16 ◼   ► you're not doing anything with fatal errors.

01:32:19 ◼   ► And I think it's fine, for example,

01:32:20 ◼   ► if you have a multi-process model

01:32:21 ◼   ► to let your Apache child die because it had a fatal error,

01:32:24 ◼   ► because the whole server doesn't go away then.

01:32:26 ◼   ► - Right, you don't lose all of your data.

01:32:28 ◼   ► - The parent will just spawn another child

01:32:30 ◼   ► and the day will go on.

01:32:31 ◼   ► But when it's single process,

01:32:33 ◼   ► and you're not catching exceptions,

01:32:35 ◼   ► and one comes along, your single process goes away.

01:32:38 ◼   ► And that's--

01:32:39 ◼   ► - Oh, we agree, we agree.

01:32:40 ◼   ► But my point is just that

01:32:42 ◼   ► if the error was something more specific,

01:32:44 ◼   ► like oh, somebody tried to send

01:32:46 ◼   ► 10,000 byte thing over this web socket,

01:32:50 ◼   ► then I could take action on that,

01:32:53 ◼   ► and thus harden the system a little better.

01:32:55 ◼   ► Then what I'm going to do, however,

01:32:57 ◼   ► since I didn't get useful feedback is,

01:32:59 ◼   ► I'm going to add a try catch, if you will,

01:33:02 ◼   ► or at least handle this error message, or error event,

01:33:06 ◼   ► and then call it a day, because clearly I'm not

01:33:09 ◼   ► getting anything useful from it.

01:33:11 ◼   ► Well, it's like when, I mean, in any web server,

01:33:13 ◼   ► if the client sends invalid method type, or whatever,

01:33:17 ◼   ► you could make an HTTP request that's malformed,

01:33:20 ◼   ► and your server should handle, yeah, garbage client connected

01:33:22 ◼   ► to me, he sent me something that looked kind of like an HTTP

01:33:24 ◼   ► request, but actually was invalid,

01:33:26 ◼   ► because the method it used doesn't actually exist,

01:33:28 ◼   ► and this header, or it sent this method,

01:33:31 ◼   ► but it didn't have the required headers,

01:33:32 ◼   ► but it claimed it was HTTP 1.1.

01:33:34 ◼   ► Like, either your library, or if you're not your library,

01:33:38 ◼   ► then at least your app has to be resilient

01:33:40 ◼   ► to people sending you garbage,

01:33:41 ◼   ► and you would think that would be the job of the library.

01:33:43 ◼   ► Like, if you're writing something on Apache platform

01:33:46 ◼   ► or using mod PHP or something like that,

01:33:48 ◼   ► you're assuming that Apache's gonna handle

01:33:50 ◼   ► like the crazy invalid request,

01:33:51 ◼   ► and it's never even gonna get to the point

01:33:53 ◼   ► where it executes your PHP,

01:33:54 ◼   ► 'cause Apache's gonna return a 500 error

01:33:56 ◼   ► and trigger your error page handling

01:33:57 ◼   ► or whatever you want to do before it even gets to your thing.

01:33:59 ◼   ► But the WebSockets library is not doing that for you.

01:34:01 ◼   ► And we don't even know if it's because people are sending

01:34:03 ◼   ► malformed WebSocket requests.

01:34:05 ◼   ► It could just be a bug in the library

01:34:06 ◼   ► and people are sending perfectly valid WebSocket requests

01:34:09 ◼   ► and this is choking on it.

01:34:10 ◼   ► Either way, it's not good for your server

01:34:13 ◼   ► and if you just did everything the old fashioned way

01:34:14 ◼   ► with HTTP and Ajax, you wouldn't be having this problem.

01:34:18 ◼   ► - That's possibly true.

01:34:19 ◼   ► And I'd like to address something from the chat.

01:34:21 ◼   ► Somebody said, "I don't understand how Casey

01:34:24 ◼   ► "could be a professional programmer."

01:34:26 ◼   ► And I think it's important to realize that,

01:34:29 ◼   ► A, I'm working in technologies

01:34:31 ◼   ► that I'm not typically used to working in,

01:34:33 ◼   ► insofar as node and web sockets,

01:34:35 ◼   ► but B, and more importantly,

01:34:36 ◼   ► this is something I threw together for fun

01:34:38 ◼   ► in not a lot of time.

01:34:40 ◼   ► I'm not being paid to do this,

01:34:43 ◼   ► and I'm not doing this for my job.

01:34:46 ◼   ► I'm doing this just for grins and giggles,

01:34:48 ◼   ► and just to learn.

01:34:50 ◼   ► And a lot of the things that I'm fighting,

01:34:52 ◼   ► like people deliberately being malicious,

01:34:54 ◼   ► are things that I don't often run into

01:34:57 ◼   ► in my day-to-day work.

01:34:58 ◼   ► And so I would have put in a crap load more time

01:35:02 ◼   ► being defensive in my programming

01:35:05 ◼   ► instead of being defensive right now.

01:35:07 ◼   ► And making sure all of these things

01:35:10 ◼   ► were considered and taken care of

01:35:11 ◼   ► and things of that nature.

01:35:13 ◼   ► But A, I didn't spend the time on it.

01:35:16 ◼   ► B, I still don't think I should,

01:35:18 ◼   ► but the chat room is a bunch of pains in my butt.

01:35:21 ◼   ► And C, this is not like my normal job.

01:35:24 ◼   ► normal job, I'm paid to consider all of these possibilities and to spend the time to get all

01:35:31 ◼   ► this right. And this is something I threw together in a sum total of like three or four hours.

01:35:36 ◼   ► So it's very different. I would say, let's not pretend this is not the way that—the person who

01:35:41 ◼   ► said that comment strikes me as someone who is not a programmer, because that's not to pretend

01:35:44 ◼   ► this isn't the way that all programming happens. It just may not happen in public, but this is how

01:35:48 ◼   ► you write a program, guys. You try it, you find out how it's broken, you fix it. Like, this is the

01:35:53 ◼   ► the process of programming is just that he's doing it sort of in public, where

01:35:57 ◼   ► it was normally all this would be happening on your local computer as you

01:36:00 ◼   ► write it and try to use it and it crashes and you write something else

01:36:02 ◼   ► and you try to use it and it screws up and like that's called programming. Do

01:36:05 ◼   ► you think it would work better if you were running antivirus software on your

01:36:09 ◼   ► Mac? Yeah that antivirus thing like I mean I understand why people do that but

01:36:14 ◼   ► that's so insane to me that like people would insist that you have antivirus

01:36:18 ◼   ► software on your Mac. I wonder if they make this if the same requirement

01:36:21 ◼   ► Do you have antivirus software on that iPhone?

01:36:23 ◼   ► I'm sorry, it's not qualified.

01:36:25 ◼   ► We can't use that.

01:36:26 ◼   ► Well, I mean, again, this is a government entity, and I don't know if you—well,

01:36:30 ◼   ► Jon, you should know better than me even that government entities are things that are associated

01:36:34 ◼   ► with the government.

01:36:35 ◼   ► They tend to have just piles and piles and piles and piles and piles of red tape, much of which

01:36:40 ◼   ► is not understood by the people that enforce it.

01:36:43 ◼   ► Yeah, but they do change.

01:36:44 ◼   ► Like, my wife works in a place that has crazy requirements, and it used to be that you couldn't

01:36:48 ◼   ► You couldn't bring any device that had a camera anywhere.

01:36:51 ◼   ► You couldn't bring a camera or anything that had a camera on it.

01:36:53 ◼   ► And then when phones started to have cameras, you couldn't bring any of the cameras, any

01:36:56 ◼   ► phones with cameras in because that's a camera, right?

01:36:59 ◼   ► But at a certain point, all phones have cameras.

01:37:01 ◼   ► And then it's untenable to tell people, "I'm sorry, you can't bring your phone to work."

01:37:05 ◼   ► And so they had to change the rules and say, "Okay, well, it's obvious that we can't..."

01:37:08 ◼   ► It was an in-between period.

01:37:09 ◼   ► They'd be like, "Well, BlackBerry makes a special model that doesn't have phones in

01:37:12 ◼   ► them for enterprise, and that's what we're going to force everyone to use."

01:37:15 ◼   ► Yeah, whatever.

01:37:17 ◼   ► But now it's like, even the government has to eventually recognize, you know, and so

01:37:22 ◼   ► they did.

01:37:23 ◼   ► And they said, "Okay, well, there's certain areas where you can't bring your phone or

01:37:26 ◼   ► any camera, because we assume your phone has a camera, but you can bring your phone to

01:37:29 ◼   ► work and send and receive phone calls with it."

01:37:32 ◼   ► So eventually, you know, they'll catch up.

01:37:34 ◼   ► Like, I bet they don't require you to have antivirus software on your iOS device, but

01:37:37 ◼   ► I bet in 2007 they sure did, and were sad when you told them that makes no sense.

01:37:43 ◼   ► Yeah, but a place that I worked that did a lot of government contracting, for a long

01:37:48 ◼   ► time the official stance was you may not have a camera phone.

01:37:51 ◼   ► And this is right when, just like you said, when phones with cameras started becoming

01:37:55 ◼   ► prevalent and I believe they changed the policy.

01:37:59 ◼   ► But yeah, it's a tough thing.

01:38:00 ◼   ► It's a lot of stuff that Marco doesn't have to deal with and probably doesn't have

01:38:04 ◼   ► the patience for.

01:38:05 ◼   ► And sometimes I wonder if I do too.

01:38:07 ◼   ► Yeah, I don't think I could do that.

01:38:10 ◼   ► I've never been in a job that had that kind.

01:38:12 ◼   ► except for my internship at Nationwide in college. But otherwise, I've never been

01:38:17 ◼   ► at a job that had—because I've always been at these small companies where I could

01:38:20 ◼   ► pretty much have whatever I wanted on my computer.

01:38:22 ◼   ► Well, but that's the thing is for my company, I found it extremely egregious when they instituted

01:38:29 ◼   ► a "you have to change your password every 90 days" policy. And I'm not trying to

01:38:34 ◼   ► get into a security discussion about why that's important or good or bad.

01:38:36 ◼   ► I'm at 60 days, Casey, right now, in 2014.

01:38:40 ◼   ► Right, so I was really upset when that happened, but I mean my computer is wide open.

01:38:47 ◼   ► I can do whatever the crap I want with it.

01:38:49 ◼   ► The problem is that because I do consulting, when we work for and with clients, we have

01:38:55 ◼   ► to, generally speaking, not always, we usually roll with their rules.

01:38:59 ◼   ► And their rules, when you work with either large government entities or large financial

01:39:03 ◼   ► services companies as my company tends to do have tremendously strict and difficult

01:39:10 ◼   ► rules. So it's not that all the real world is bad Marco it's just some parts.

01:39:15 ◼   ► Just the parking lots. Just the parking lots. Are we done here? Yeah so buy me an M3. Let's

01:39:23 ◼   ► go back to the important stuff. Get right on that. You know I'll suffer through black

01:39:29 ◼   ► just for you. Yeah. What other color would you pick? Mustard, mustard yellow. It's the

01:39:36 ◼   ► official metallic mustard. It's the official German color. Yeah, I think that should be

01:39:41 ◼   ► the deal is if I get to buy you an M3, I get to pick the color and you have to drive it.

01:39:46 ◼   ► Oh no, that's fine. Just give me the right transmission for Christ's sakes. Did you see,

01:39:50 ◼   ► by the way, and speaking of the most recent car and driver, more stuff for you, Casey,

01:39:53 ◼   ► was that they have the 30 cars under $30,000 section. I don't know if I've gotten this

01:39:57 ◼   ► one yet. It's got the white car snark, 30 cars under 30. What the hell's on the cover?

01:40:03 ◼   ► It's got hot hatchback story. I don't remember what's on the cover. Nothing interesting.

01:40:07 ◼   ► But anyway, my car's right in there and 30 cars under 30. You should read what they say

01:40:10 ◼   ► about it. They love it. No, they're wrong. They're not. I think they called it nearly

01:40:16 ◼   ► perfect. They're definitely wrong. Not even you agree with that. They said nearly. Alright,

01:40:25 ◼   ► I've built my M3, I think.

01:40:27 ◼   ► - Is it like 75 grand?

01:40:29 ◼   ► - 75, 250, Marco.

01:40:31 ◼   ► (laughing)

01:40:33 ◼   ► - There are too many options on these BMWs.

01:40:35 ◼   ► How do you get like zero choices for anything?

01:40:38 ◼   ► So it's like, well, I guess I'm getting this interior color

01:40:40 ◼   ► and this and that, like now looking at these leather colors,

01:40:43 ◼   ► trim colors, BMW individual leather and trim,

01:40:46 ◼   ► it's like, I don't know what combinations look good.

01:40:47 ◼   ► This is the problem with supercars.

01:40:48 ◼   ► They let you pick everything

01:40:49 ◼   ► 'cause they're gonna hand build it for you anyway

01:40:50 ◼   ► and you're paying them half a million dollars.

01:40:52 ◼   ► But I'd be like, I don't know what looks good together.

01:40:54 ◼   ► It's your job to decide what colors and trims look good together because then you end up

01:40:58 ◼   ► with rich people just picking random combinations and now you've got a half a million dollar

01:41:02 ◼   ► car with nothing that matches in it.

01:41:04 ◼   ► All right, now that I'm depressed because I don't want to spend $73,825 or $968 a month

01:41:12 ◼   ► on a M3, I'm going to go to bed.

01:41:14 ◼   ► Also, you would never actually pay their listed lease price.

01:41:17 ◼   ► You can negotiate way lower than that.

01:41:18 ◼   ► Yeah, I know, but still.

01:41:22 ◼   ► Just Marco, go ahead and buy one for me.

01:41:23 ◼   ► I'll drive it in black.

01:41:24 ◼   ► I might even I might even accept it if it had the stupid DCT

01:41:29 ◼   ► That sounds like you're changing your mind a little bit on the DCT that see that sounds a lot like

01:41:33 ◼   ► No, I'd be willing to suffer through is what I'm saying. I would not choose it myself

01:41:38 ◼   ► No, but I'm saying like that that sounds a lot like you know, this fish isn't really that bad

01:41:42 ◼   ► I kind of like this one song like it sounds like you're changing finally like I'm winning you over there

01:41:47 ◼   ► I was I'm proud to tell you that I

01:41:50 ◼   ► Continue to not know and have never known the title of any fish song would not recognize any fish songs

01:41:56 ◼   ► Have I heard them and despite you two continuing to discuss fish songs by title now?

01:42:00 ◼   ► I also do not remember any of the fish songs. What are you talking about? I don't won by title

01:42:04 ◼   ► I I wouldn't recognize fish if I heard them on the radio. I do not know a single title of a single song

01:42:09 ◼   ► Dave Matthews, unfortunately, I know they're fear their top 40 hits you you've mispronounced fortunately is my curse

01:42:17 ◼   ► What mispronouncing fortunately?

01:42:20 ◼   ► No, and knowing that Dave Matthews exists and knowing some of their songs.

01:42:24 ◼   ► [BLANK_AUDIO]