Security By Guilt
John:
If you'd only put feet on the Fast Tech logo, that would have been your ticket to financial freedom.
Casey:
Oh, God, you're the worst.
Casey:
I hate you so much.
John:
It's so obvious now that Casey's error was making Fast Techs have too many features.
John:
If it had just simply sent the word yo to everybody, he'd be a millionaire now.
Casey:
Little did I know.
John:
You thought too big.
John:
You're like, oh, I got to have a way to configure different messages and send them all on buttons.
John:
No, just send the word yo.
John:
Push notification.
John:
Done and done.
Casey:
Seriously, how can the Valley take themselves seriously?
Casey:
I mean, that was a product of the Valley, I assume, right?
John:
I think Marco was the one who compared it to Million Dollar Homepage.
John:
Million Dollar Homepage still wins because of that venture capital money.
John:
He has to actually spend that to try to grow the business or whatever.
John:
The Million Dollar Homepage guy just got the money and it's his free and clear.
John:
He does not have to invest it into a business.
John:
He's not expected to hire employees to get office space.
John:
The venture capital money this guy got comes with massive strings attached and he will never be able to fulfill what these people want because he's stupid and his business is stupid.
John:
So...
John:
The Million Dollar Homepage guy still wins for the best business plan of any business in the entire universe.
John:
I continue to try to think of some equivalent.
John:
Many have tried.
John:
God, that guy.
John:
He's the smartest person in the world.
John:
In case he had to come up with the idea, he would have tried to do it with WebSockets, then it wouldn't have worked.
John:
It's just a web page.
John:
That's it.
John:
Your financial investment risk is, even when he did it, like in 1995, like his total financial investment in a static web page, like hosting it and paying for bandwidth, which must have been like, let's say $100.
Marco:
against a million in income can we make this the intro oh i was already planning on doing that yeah that guy man even if the intro is like five minutes long before we actually get to the real show that i'm okay with that yeah no one knows what million dollar homepages though do they these days of course they can look it up for god's sakes it is it isn't that hard to find is it still up i hope it was guaranteed to be up for a certain amount of time right
Marco:
Yep, it's still up.
Marco:
It's still fast.
Marco:
He's selling posters of it.
Marco:
It's a genius.
Marco:
Yeah, it probably doesn't lose all of its data if the server crashed.
Casey:
You guys are so mean to me.
Casey:
My goodness.
John:
I have to admit, there's one aspect of it that I guess he had to do something.
John:
Assuming he didn't program this, he would have to put in the pixels that they paid for in their places, right?
Yeah.
Marco:
Yeah, I'm pretty sure he did it manually because otherwise it's kind of a layout issue.
Marco:
The box packing problem, right?
John:
Right.
John:
So there is some small component of labor, but I'm sure the bed of money he was laying on made that labor more bearable.
John:
Wow.
John:
God, this is so old.
John:
And he had to make the image map and the links to it, I guess.
John:
So he had to write HTML and click buttons in an image editor.
Marco:
Oh, yeah, because this was long before anything more useful than that.
John:
Oh, he's got a mouse over on it now, too.
John:
This is advanced technology.
John:
He really put a lot of time and effort into this.
Casey:
So I just expanded the... I did...
John:
inspect element on safari and i expanded the map element and i think i just crashed the best part he's got like fake tool tips for i guess the days before browsers didn't do automatic tool tips and you see the fake one and the real one like the fake one follows the cursor but the real one lags behind it and it's just how many hits a day do you think this gets i mean the only bad thing is that i guess he thought kind of small because a million dollars doesn't really last that long like i'm sure he's already gone through this money or whatever but it's a hell of a start for like starting your adult life at 20 whatever years old he was oh yeah
John:
And so like and unfortunately, he's now in the same situation as the rest of the world is like, I need another idea that's like that.
John:
If he had done $10 million homepage, he would have been a lot more comfortable.
Casey:
Wait, so you see this layout and you see how it's like all loud because he didn't control who bought.
Casey:
So it's like visually very loud.
John:
Right.
John:
Looks like the web in the 90s.
Casey:
Yeah.
Casey:
His new web, his new venture, com.com.
John:
C-O-M or C-A-L-M?
Casey:
C-A-L-M.
Casey:
They probably spent a million dollars in that domain.
Casey:
Probably.
Casey:
As per his Twitter account, he is the founder and CEO of Calm.
Marco:
I'll bet he is.
Marco:
It's not loading as quickly as the million dollar homepage.
Marco:
No, it isn't.
Marco:
Did we just take it down with three simultaneous requests?
Casey:
Oh.
John:
It's got a little water background.
Casey:
No, I'm seeing a cloud background.
John:
I got water.
John:
Prepare for your two-minute session.
John:
Choose your preferred nature.
John:
Some BS relaxation thing.
John:
Your other day idea was better.
John:
We're both BS.
John:
Yeah, but one makes people send him money.
Marco:
The site was guaranteed to be online at least through August 26, 2010.
Marco:
However, the aim is to keep the site online forever or as long as humanly possible.
John:
i love how he still got the sold out banner yeah right just in case you still wanted to buy things sold out and the minimum purchase was 10 by 10 or 100 yeah it was a dollar pixel so he that's that was his only thing is that he thought a little bit small because anyone who bought this like i guess he probably did get some private individuals but mostly it's going to be businesses and businesses are willing to spend way more than 100 on bs boondoggles like this
John:
Yeah, but back then, were they?
John:
Oh, yeah, definitely.
John:
Like, I mean, I'm not saying you could have got thousands, but you could have got, you know, 300 or 500 easy.
John:
Because 100 is under the petty cash threshold, even of most businesses in the 90s, you know?
Casey:
Type of site, pixel advertising.
Casey:
It's on Wikipedia.
Casey:
That's...
Casey:
Were there many others?
John:
As opposed to non-pixel advertising.
Casey:
Oh, so you click on pixel advertising and you end up back on the million dollar homepage.
Casey:
Redirected from pixel advertising.
Casey:
Marco, buy me an M3.
Casey:
All right, let me do some extraordinarily quick follow-up.
Casey:
The Showbot is back.
Casey:
And if I was more prepared, which I'm not because the show is accidental, I've had some people contributing to it.
Casey:
And I know Jeremy Banks put a lot of work into it.
Casey:
Kyle Cronin did and Brad Choate, who runs the Showbot that actually works.
Casey:
He has also contributed.
Casey:
And I'm probably forgetting some people here and there.
Casey:
And for that, I'm deeply sorry.
Casey:
And I really mean that because I didn't pull up the...
Casey:
I didn't pull up GitHub before we started.
Casey:
But yes, the showbot is back.
Casey:
We've, and by we, I mean everyone but me, has made some pretty good improvements to it.
Casey:
We'll see how long it lasts.
Casey:
We are currently about two minutes into recording, and it hasn't quite died yet.
Casey:
But it's been a really, all kidding aside, it's been a really, really cool thing to see people issuing poll requests.
Casey:
The only bad thing about putting something that's semi-popular on the internet and open sourcing it is that, unbeknownst to me, when people actually pay attention, which I'm not used to, you actually have some sort of implied time commitment to look at poll requests and figure things out.
John:
That's a good topic for a show.
John:
Do you have an implied time commitment to do that?
John:
Obviously, you think you do, but do you actually?
John:
That's not for today's topic, but save it.
Casey:
I was going to say, we could use the standard consulting term, and we could put that in the parking lot for now.
Casey:
What?
Casey:
Wait, hold on.
Casey:
That's a real thing?
Casey:
Oh, I spent all day in meetings, and I'm...
Casey:
I'm about to cry.
Casey:
What is wrong with you people?
John:
I regret to say that I do know about the parking lot.
John:
Only Marco doesn't know.
Marco:
Oh, my God.
Marco:
What?
Marco:
Oh, you've already broken my brain.
Marco:
We're like three minutes into the show.
Marco:
That's it.
Marco:
I'm done.
Marco:
I can't say anything else.
Casey:
Wait, Google I.O.
Casey:
didn't do it?
Marco:
No, that you just broke my brain more than Google IO did.
Marco:
That's really saying something.
Casey:
You're welcome.
John:
You know, you should have been doing Casey all this time and you haven't figured it out.
John:
Now I will give you the hint to help you along that path, even though you're being dragged down it by other people is as soon as you had the chat room filled with people who were attacking your bot and everything.
John:
And,
John:
how it's going to help improve it and help you improve your code and be educational and entertaining for everyone involved.
John:
You should have immediately tried to enlist a faction of people who are 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 people are attacking this program.
John:
Help me make it stronger.
John:
At least half of the people who are attacking probably would have said, oh, I'd like to be on the defense side of this game.
John:
You know what I mean?
John:
In gaming parlance, do you want to be attackers or defenders?
John:
You haven't done that.
John:
It's been happening to you.
John:
People have been saying, here, let me help you out with your bot.
John:
But I think you would have been successful even on the very first show saying, I know people are going to attack this.
John:
And if you want to be on the defense side, join me.
John:
And then you could get sort of a power dynamic going.
John:
And I bet it would be a much more fair fight.
Casey:
Well, and that's true, but we've had, like I said, some volunteers come out of the woodwork and make some really excellent changes.
Casey:
A couple of them have started looking at putting Memcached in front of it or some equivalent thereof.
Casey:
I haven't had the time to look into the specifics of the more invasive, but I mean that in a good way, edits that have been made to the show.
Casey:
Oh, there are automated tests now, which I also haven't looked into yet.
Casey:
But one of my cronies, and again, I mean that in a good way, has added automated testing.
Casey:
And at some point, I plan on turning that on so that as things get checked into master and pushed into master and so on, automated tests will run.
Casey:
We did have somebody contribute some regex and specifically call you out in a happy way saying, oh, I don't know if this is up to John quality, but nevertheless, I did something.
Casey:
checking, checking for the exclamation point S. By the way, do you guys say bang S or would you say exclamation point?
Marco:
Wait, why does it have to be a regex?
Marco:
It's just two characters that always are the same.
Casey:
Well, but it could be exclamation point S or it could be exclamation point suggest.
Casey:
Yeah, but they both begin with exclamation point S. Well, that's the way I looked at it, but apparently if you find yourself in the presence of anyone who's ever touched Pearl in their lives, then their hammer is made of regex and everything looks like a nail.
John:
You want to be permissive in what kind of input you take in because humans are writing it, so you have to allow for variable amounts of spacing.
John:
And inevitably, you have to extract the part that is not the command, and that is the title.
John:
And you're going to want to do things with the title, like normalize it for deduplication purposes and trim out multiple space runs for the official version that you display and all that good stuff.
John:
And that's exactly what regular expressions are for.
John:
If you're a C programmer and you're stepping through the string of a character at a time, I feel bad for you, son, as they say.
Marco:
Now, I have two questions with with all these improvements to the show bot.
Marco:
Question number one.
Marco:
Is it rate limited?
Casey:
Yes.
Casey:
Somebody added some modicum of rate limiting.
Casey:
I've been I haven't been paying super close attention, which comes back to what John said we should put in the parking lot or what I said we should put the parking lot.
Casey:
But anyways, there is a modicum of rate limiting and there's still no persistence.
Casey:
So when this inevitably goes, that was question number two.
Casey:
When this inevitably goes down, we're going to lose all our titles.
Casey:
So I hope the actual show bot is still around, Brad Choate's show bot.
Casey:
But anyway, so I've turned a new leaf.
Casey:
A friend of the show, Chris Harris, originally from the other media, now he's with Glide Publishing.
Casey:
He wrote me a very nice email saying in so many words, yes, it's annoying, but it makes for good programming.
Casey:
So, you know, deal with it.
Casey:
So I'm going to try to put on my happy face when the showbot inevitably goes down in like 10 minutes.
Casey:
I'm going to probably end up really ticked off again.
Casey:
But standing here now, I'm going to put on my happy face.
John:
See, I bet the guy who wrote you in with like the we were IMing about a particular known bug that could take out the showbot very quickly.
John:
The person who wrote into you about that probably now feels bad about exploiting it and won't.
John:
So you've sort of got that person on your side because it's no fun anymore.
John:
Because if you know about the bug and he told you about the bug and he knows it's not fixed, it's not as fun to exploit it to bring the thing down.
Marco:
Right.
Marco:
Security by guilt.
John:
Someone on the chat room said, well, attacking is always more fun than defending.
John:
That's like level one.
John:
Level two is that defending is more fun than attacking because the attackers all think they're hot.
John:
But really, if you're a defender that shows you're better than all the attackers, you know, it's...
John:
the white hat black hat thing i i feel like white hat uh is the next level up from black hat because everyone wants to be black hat i'm going to crack into things but to be a white hat you you are saying that you are better than any potential black hat which is a even more boastful statement oh and we died gone that was it uh let me see if it doesn't mean that other people didn't also know that known bug and weren't on your side
Casey:
Let's see.
Casey:
Where did I?
Casey:
I see a stack trace.
Casey:
Unspecified error.
Casey:
Oh, apparently there was just some sort of error in the WebSocket.
Casey:
All right.
Casey:
You guys stall while I put up a gist so people who actually know what the crap they're doing can diagnose this.
Marco:
Our first sponsor this week is a new sponsor.
Marco:
Yeah, right?
Marco:
I'm getting good at this sometimes, maybe occasionally.
Marco:
Yeah.
Marco:
Our new sponsor this week is Ray's Labs.
Marco:
It's R-A-I-Z-L-A-B-S, Ray's Labs.
Marco:
They are a full-service development firm with offices in Boston and San Francisco.
Marco:
They've been around for about 10 years now, and they've been crafting great mobile products for a variety of companies, big and small.
Marco:
It's up from well-known brands like Macy's and Bloomingdale's and B&H Photo Video to local startups like SunSprite, the creator of the first solar-powered personal sun exposure tracker,
Marco:
The company got its start by shipping one of the very first several hundred apps in the App Store called Runkeeper.
Marco:
It's actually been there since the beginning.
Marco:
It's a Boston-based GPS fitness tracking app.
Marco:
Anyway, Raise Labs wants to change the world with great software.
Marco:
They care about crafting quality products, and they are looking for others that share this mentality.
Marco:
See, this sponsorship is actually a job listing.
Marco:
They are actively hiring for experienced mobile developers iOS and Android in both Boston and San Francisco to engineer beautiful apps and influence product direction for well-known Fortune 500 companies and exciting new startups.
Marco:
They're also looking for talented designers to help craft a memorable experience for users as well as product managers.
Marco:
You'll be working with enthusiastic and supportive peers in a trust-based work environment.
Marco:
I wonder if they have a parking lot.
Marco:
If a place doesn't have a parking lot, can they still use that phrase?
Marco:
Sure.
Marco:
Because there are major metro areas.
Marco:
They might not even have a parking lot because they're in a dense area.
Marco:
Anyway, we'll just assume they don't use that phrase because they seem like good people.
Marco:
So, you'll be working with enthusiastic and supportive peers in a trust-based work environment.
Marco:
They also have unique vacation and referral programs.
Marco:
Their vacation policy is...
Marco:
unlimited unmetered it can be summed up in four words in team we trust how much time you take off is up to you they also have this referral program where anyone who refers a talented individual to raise labs will receive a four-day all expenses paid vacation for two and you can learn about that at raiselabs.com slash trip they also have hack days every two weeks the only requirement is that you must demo or present whatever you've learned and they're involved in the ios community with sponsoring events such as alt conf and drinks on tap
Marco:
So check out Ray's Labs.
Marco:
They're looking for good people.
Marco:
If you want to work there, get in touch.
Marco:
Go to Ray's Labs, R-A-I-Z-L-A-B-S dot com slash ATP.
Marco:
Once again, that's Ray's with a Z, Ray's Labs dot com slash ATP.
Marco:
Thanks a lot to Ray's Labs for sponsoring the show and check them out if you want a good job.
Casey:
All right.
Casey:
So Jeremy Banks in the chat is one of the people who has dedicated not insignificant amount of time to improving the show bot.
Casey:
And apparently one of the many branches and pull requests that is out there that I haven't had a chance to look at.
Casey:
fixes this problem, which is to say that I wasn't catching or handling errors in WebSockets.
Casey:
And of course that error probably shouldn't have happened in the first place, but eventually that exception just bubbled up and brought everything to its knees.
Casey:
So that I believe is what happened.
Casey:
But it's event-driven.
Casey:
Right.
Marco:
And it's scalable.
Marco:
This is how it scales.
Casey:
Well, WebSockets are a little bit weird, but your point is not unreasonable.
Casey:
But anyway, we don't need to talk about the show about it anymore.
Casey:
It lasted, what, 10 minutes?
Casey:
That's not bad.
Marco:
Not even.
Casey:
It's an improvement.
John:
It's getting worse every week.
John:
It lasted 15 last week.
Casey:
Oh, yeah, you're right.
John:
I did my best trying to stall for time by guilting people into not bringing it down.
John:
It only worked for so long.
Marco:
Do we have any actual other follow up?
Marco:
I mean, we have like this, you know, four pages worth in the document, but are we actually going to read this or what?
John:
I put one item at the very top.
John:
I mean, it could be a topic, too.
John:
It's just I figured we would talk about Google I.O., but then Casey said he didn't even watch it.
John:
So I'm not sure what we'll talk about today.
John:
But I had one Apple WWDC sort of related topic.
John:
So it's kind of follow up.
Marco:
Well, you know, follow-up is the essence of experience design.
Marco:
The primary actions are inflection points that transform the whole design.
Marco:
Their emphasis makes core functionality immediately apparent and provides waypoints for the user.
John:
That's not the worst one, though.
John:
The one that DHH tweeted, I think that was... Because I read that like six times, and I'm like, there's not even... Is there a verb in this sentence anywhere?
John:
It was just...
Casey:
Well, for what it's worth, I did at least look at a couple of recaps to see the general gist of what was said.
Casey:
And I watched one of their, like, what is this silly term they have for design?
Casey:
Material-based design or something like that?
Marco:
A material metaphor is the unifying theory of a rationalized space and a system of motion.
Marco:
Our material is grounded in tactile reality, inspired by our study of paper and ink, yet open to imagination and magic.
John:
The thing that scared me when he tweeted that, because the tweet was something like, Apple has some high-minded knowledge or BS language, essentially, in their copy sometimes.
John:
But this really takes the cake.
John:
And I'm like, that's from an Apple website?
John:
Because I thought he was saying that, yeah, Apple says some crazy stuff sometimes.
John:
But look at this.
John:
This is the worst thing they've ever done.
John:
And I was looking at it.
John:
I'm like...
John:
What web page could that possibly be from?
John:
That can't be from an Apple site.
John:
And I was relieved to learn that it was not from an Apple site, but it was from a Google site.
John:
Yeah, not great.
Casey:
No, but I will say the literally two or two and a half minute video that they have on their new design site where they don't really say much of anything, I don't think, but they show the kind of...
John:
idea behind the look and feel of what is this android l um but anyway so that actually looked good to me and a lot of it looked a lot like ios and some of it didn't but i thought it looked good i thought the apple video they're a little intro ready for ios that would look better but it's not like i we could talk do the whole show talking about how google is worse at giving keynotes than apple but really it doesn't matter that much how good the keynote is or how
John:
I guess how good the copy and marketing on their site matters a little bit more because that's persistent.
John:
But in terms of like, why do this thing?
John:
Why do this material UI?
John:
Google has been trying for the past several years to address its perceived and I think actual shortcoming in user interface.
John:
by saying it should look less like a bunch of programmers slapped something together and more like there were designers involved.
John:
And it's been a slow, long process, and this is the next step in it, to try to unify Google's user interface across all the things that have user interface to give a family resemblance or whatever.
John:
Don't you think that's a good idea?
John:
I mean, you can argue whether it should be unified across everything from watches to televisions, but Apple kind of has a...
Marco:
common design language across everything that it does even if they're not as as similar as this material ui is supposed to be yeah i mean i definitely think it's they're going in a good direction they're going in a direction they need to go in um a lot of the things they talked about while they were full of this you know blowhard in the clouds language um and who knows what they were sniffing over there when they came up with some of this but
Marco:
The design, the actual design below all this BS looks pretty good to me.
Marco:
But we can't really judge yet.
Marco:
It's way too early to judge because we don't really know how this will be in practice.
Marco:
And the three of us will probably never know because we'll probably never use it regularly to even see it.
Marco:
But it's easy to give a good demo.
Casey:
Well, is it easy?
Marco:
Is it easy to give a good demo?
Marco:
Fair point.
Marco:
There's going to be some challenges with this, like every design language, especially every trendy-looking design language.
Marco:
One of the things I noticed immediately was it seems extremely reliant on fairly undiscoverable gestures.
Marco:
And you can say that about a lot of iOS stuff as well, but it seems like this was especially so in that direction.
Marco:
Yeah.
Marco:
that that's a little bit scary to me from just from a usability perspective anything that revolves around like oh well you can you can just pinch this out and drag here and move this thing around well it has to be pretty clear to people you know what can move what can't what is draggable what can't if this if there's something like a pinch or a drag that can expose pretty good functionality how do you ever figure that out um that that's always tricky with gesture based interfaces and and that's going to be a challenge here too
Marco:
That being said, again, I think it's too early to tell because anybody can, well, almost anybody can make a good demo.
Marco:
It's even easier to make a good video.
Marco:
It's much harder to actually predict how this will be once it's integrated through the whole system and once apps start integrating it.
Marco:
And none of the three of us know enough about Android to even know what the main problems these days are.
John:
Well, not having used it is no reason to not pick up things that you don't like about it.
John:
So at least two things to complain about from the end.
John:
The first complaint is to actually complain about all recent visual redesign things.
John:
Is that iOS does it?
John:
You know, Google's doing it with this.
John:
Everybody who does some sort of UI refresh...
John:
Feels this need.
John:
Is it peer pressure or is it just like, you know, this is not new to computer interfaces.
John:
I guess this has always been there.
John:
They want some kind of theme or metaphor to anchor their design, which is a common thing.
John:
But in in in user interfaces on mobile devices and stuff like.
John:
The metaphor that Google used was, don't just think of it as a bunch of pixels.
John:
Think of the pixels not just having x and y coordinates, but also z coordinates.
John:
And down to the point where in the demo, they're like, in your UI, you'll essentially give z layering to all of your things.
John:
And then our user interface library will make them look like they have that z layering by applying shadows and rendering them real time and all this stuff or whatever.
John:
But that metaphor like that you need this metaphor that's like pieces of paper and they're stacked and they have a Z index or like Apple where it's like translucent things sliding past each other and it's a layered thing.
John:
Those metaphors are important in that they inform the user interface, but it seems like
John:
Maybe, I don't know who's worse about this, Apple or Google.
John:
Like, they take that design and they go beyond just having this be a way that humans who look at the screen can understand what's supposed to happen.
John:
And they just get lost in it and think that everything in their user interface...
John:
has to inform and reinforce that metaphor for the sake of the metaphor.
John:
It flips.
John:
Instead of the metaphor being, this is how we're going to get people to understand how to use our device, it becomes, the metaphor is the goal, and every part of our user interface has to reinforce and build on that metaphor, right down to being clever expansions of that metaphor and doing stuff like that.
John:
And it's like they lose the forest for the trees.
John:
So every time I see one of these videos that explains what the underlying thing is and then spends the rest of the video showing how everything...
John:
folds into an underlying thing i'd rather have them show me how the metaphor makes the interface more understandable to people instead of showing me how every part of the user interface conforms to the metaphor so that's one thing and again you can't tell until we use it but you can i can tell from the presentations that this is this is how they're presenting their ui um and the second thing what is the second thing i feel like what's his name uh the guy who forgot the third thing but i can't remember the second thing
Marco:
nice it'll come to me in a second go on i'll get in a second so they they only spent about the first 45 minutes or so talking about new stuff that was going into android right do i have that roughly right and then like the rest of it was some of these new initiatives like the the android wear android tv android in your vehicles whatever the android car android drive what are they calling it
Casey:
Auto Android, is that right?
Marco:
Yeah.
Casey:
Android Auto, other way.
Marco:
Okay.
Marco:
It seemed like, you know, so the first 45 minutes, here's what's new in Android, basically.
Marco:
Good.
Marco:
You know, that's, if you're into Android, that's probably very relevant.
Marco:
And I think what got people to say it was so boring, because in the first part of it, everybody was quite interested in all that.
Marco:
And, you know, I wasn't watching it live, but I was watching the Twitter response.
Marco:
And, yeah, the first part of it seemed pretty strong.
Marco:
And then they get into this, you know, hour and a half more, two hours more,
Marco:
of talking about various new hardware integration initiatives.
Marco:
What's bad about that is that none of these things are actual products yet, or very few of them are.
Marco:
And it's all about the promise of what you can maybe do with this in the future.
Marco:
When Apple...
Marco:
You know, Apple unveiled the health book, health kit thing, home kit, and they didn't even mention CarPlay.
Marco:
Or if they did, it was very quick in this keynote.
Marco:
Because, you know, I think it was... Didn't it launch last year?
Marco:
Didn't it initially launch CarPlay last year?
Marco:
Mm-hmm.
Marco:
anyway but they had a ferrari right but but they didn't give it a whole lot of time in the keynote because there's not much really to say yet it's hey we have this new thing we're gonna you know we hope people make devices for it basically and we hope you make apps for it once these devices exist uh good luck with that and you know moving on and that's what they did this year with health kit and home kit because there really was not much to say
Marco:
Google devoted three quarters of their keynote to that.
Marco:
And so I think that's why it was so boring because it's a lot like a CES keynote at that point.
Marco:
CES keynotes are famously... Especially when Microsoft would give them our HP or whoever...
Marco:
they would always be famously full of vaporware.
Marco:
It would always be like this crazy stuff that kind of maybe sounds interesting during the demo and kind of sounds possibly impossible or stretching the limits of what consumer products can be or can do realistically.
Marco:
And then six months later, they get canceled and they were never released.
Marco:
Or they come out and they're really disappointing and they flop badly in the market because they were nothing like what they were going to be demoed like in the keynote.
Marco:
And it's hard to look at Google's rest of their keynote and not make a parallel there because it seems like almost everything they announced after the first 45 minutes was like, here's a bunch of new stuff.
Marco:
that, in the best case scenario, might come out fairly soon and might be kind of cool.
Marco:
But we're depending on a lot of other people for that to happen.
Marco:
And in the meantime, here's some pretty terrible smartwatches to tide you over.
John:
I think that's a little bit harsh because, I mean, A, this is part of Google's strategy is that they make a platform that other people can build products on.
John:
That's their thing.
John:
I mean, you can say you don't like that thing as much as Apple's thing, but that is certainly their thing.
John:
So to expect Google to come out and have...
John:
products behind every single one of these things that their software platform provides uh is probably expecting them to be too much like apple but the things that they the things that they show like the idea that we've got this platform we platform works obviously on phones and tablets here's how the platform works on television here's how it work might work on a watch uh i didn't like the watches either but it is showing that their platform
John:
works there and the tv stuff look pretty good to me certainly they they have shown an ability to have a single platform that split that spans all those devices better than apple has because apple has its platform it's got its desktop platform and its tablet and phone platform and its tv platform and there's no unified story that includes all of them uh i mean and you could you could say well we don't want it to be unified across the mac and ios devices which is fine but
John:
The TV thing already runs iOS, but it doesn't even run apps like they're not extending that platform out there.
John:
So I think that Google is out ahead of Apple in terms of having a unified platform across all their products.
John:
It just so happens that they're not responsible for making all their products because their whole deal is they let other people build on them and so on and so forth.
John:
But the TV stuff that they showed, that looks a hell of a lot better than the Apple TV UI.
John:
Don't you guys think?
Casey:
I didn't see very much of it, but the one or two images I saw looked very good, and the Apple TV is starting to look a little dated.
Casey:
But to go back just a step, what's so bad about these watches?
Casey:
I'll tell you what's bad about the watches.
Casey:
So let me finish my thought, 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 one is this, Moto 360, and I don't see an issue with the circular display.
Marco:
It's gigantic.
Marco:
That's the round one, right?
Casey:
Okay, well, hold on.
Casey:
Yes, it's the round one.
Casey:
Now, hold on.
Casey:
Now, the one thing I was going to say is I have the tiniest wrists that any man has ever had in the history of mankind.
Casey:
And so I think this thing would look ridiculous on me.
Casey:
But let's assume for a moment that I didn't have little teeny tiny wrists.
Casey:
I don't see what's so bad about this.
Casey:
I think it looks okay.
Casey:
It looks a lot better than a pebble.
Marco:
We are also sponsored this week by our friends at Squarespace.
Marco:
They are back once again.
Marco:
Now, we're going to do something a little bit different this week.
Marco:
Squarespace recognizes that they have supported lots of podcasts, big and small.
Marco:
They really fund a lot of them, and we all thank them very much for that.
Marco:
They want to be on the forefront of helping this medium reach the next level.
Marco:
But for this ad read, they wanted to try something different, something fun.
Marco:
Now, our friend Jonathan Mann,
Marco:
uh also known as song and day man uh jonathan man who wrote our theme song which you've possibly heard before if you've ever listened to the end of our show or let's be honest the middle of our show um if you've ever listened so jonathan man wrote our awesome theme song he also recently uh he was tired of hearing the same squarespace reads over and over again so uh he wrote a squarespace sponsorship song
John:
makes it fast and easy to create you can start with 20 highly customizable templates to make your
Industry leading support at just $8 a month.
You know the drill, you know where to go.
Squarespace, get started today.
Marco:
Make the website that you want to make.
Marco:
Squarespace, so easy and fast.
Marco:
They fund all your favorite podcasts.
Marco:
They fund all your favorite podcasts.
Marco:
So start your free trial.
No credit card required.
Marco:
all responsive design every device every time all the options you need to create a unique website they're constantly improving the platform and the tools and it's awesome squarespace get started today make the website that you
John:
They fund all your favorite podcasts.
Marco:
You can start a free trial with no credit card required.
Marco:
Start building your website today.
Marco:
When you decide to sign up for Squarespace, make sure to go to squarespace.com and use the offer code ATP to get 10% off your first purchase and to show your support for our show.
Marco:
Once again, use coupon code ATP to get 10% off.
Marco:
Thank you very much to Squarespace and to Jonathan Mann.
Marco:
Thanks to Squarespace for sponsoring our show.
Marco:
Thanks to Jonathan Mann for being awesome.
Marco:
Squarespace, a better web, starts with your website.
Marco:
Now, John, why do smartwatches suck?
John:
I don't know what smartwatches in general, but the ones they showed at this Google thing, and I didn't watch all the smartwatch demo, but I watched enough to see what they're doing essentially.
John:
And I had just talked about how it was a good idea that Google had a platform that spanned, you know, little screens to big screens and how that was a strength for them.
John:
But I remain unconvinced that the correct way to do a smartwatch is to take your user interface that you have on your phones and your tablets and your TVs and continue to shrink it until it's on your wrist and then tap and swipe your way through a series of UIs that are custom made to fit on a very tiny screen.
John:
Because that just doesn't look like a good time for me.
John:
That doesn't look like something that's useful.
John:
You have to compromise certain UI elements and staples just don't work on a small screen like
John:
table views and stuff start to become ridiculous when you can see two items at once and you know it's just i don't think that's the right solution for a screen that small in the same way that the right solution for a screen the size of a television isn't merely like a tablet ui made larger right it's something entirely different never mind that you're not even touching it it just doesn't seem like there's enough room down there if you just say i'll just i'll just take my regular android os and just make it smaller and
John:
And I'll keep the elements the same size so they're still touchable.
John:
But I don't, you know, but if there's not room for a particular element, I just won't put that on there.
John:
And I'll just have, you know, small things.
John:
And you'll swipe and you tap.
John:
Swiping and tapping on something that's small just looks like a non-starter to me.
John:
I mean, I've had, you know, the small iPod Nanos with the little touchscreen and everything.
John:
And, you know, it's just not, it doesn't work for me.
John:
So I think there is another solution to things that big.
John:
Maybe it doesn't involve screens at all.
John:
If it does, maybe they behave in a different way.
John:
Maybe it's just a matter of putting different UI elements on that screen that don't exist in any form on any of the larger screens.
John:
So that's why I think these watches are duds.
Marco:
To some extent, I can see why Google pushes this whole like one interface scalable to every device size thing because they have to.
Marco:
Because that's the environment of Android hardware.
Marco:
They kind of have to do that in general.
Marco:
I do agree, though.
Marco:
It's going to be a pretty painful approach for developers to try to actually fulfill the promise of that and try to actually make one interface that magically scales to all these different sizes and doesn't suck on any of them.
John:
I think it's custom UI for the phone.
John:
I'm just saying like the elements that are involved, buttons, regions that you scroll, controls for doing things.
John:
I mean, I guess they don't have text input because it's mostly speech or whatever, but just I'm assuming that you have to write a custom UI for this and that they have custom controls for it, certainly for things like the circular screen and all that stuff.
John:
But it's just...
John:
The elements that are involved in the user interface, things that you tap, things that you slide, things that you scroll through, I don't think there's enough room for that type of interface in a thing that small.
John:
And I'm basing this mostly by using the touchscreen iPods that have the very small touchscreens.
John:
It just doesn't feel good at that size.
Marco:
The big problem that we've seen with almost all of the smartwatches that have come out so far, from the Pebble to these new ones, it's all about the screen.
Marco:
And the screen is never big enough to be useful, but never small enough to make for a good watch.
Marco:
And that's why I think that really...
Marco:
The whole idea of a smartwatch might not... It might not be possible to make a good one.
Marco:
Certainly not with today's technology, but maybe even ever.
Marco:
Like, there's just fundamental limits of, like, the ideal watch does not have a giant screen, but the ideal touchscreen is big.
Marco:
And so, it's very hard to rectify that conflict design-wise.
Marco:
You know, it...
Marco:
Even if you could make it infinitely thin and light and give it infinite battery life, you still have the issue of we need to somehow maximize but also minimize the size of the screen.
Casey:
See, I don't know if you're right about that.
Casey:
So I have a couple of friends that are watch collectors, and...
Casey:
I think I probably would be one of those people if A, I wasn't cheap, and B, I didn't have the tiny wrists that we spoke about earlier.
Casey:
But for example, the average stereotypical Rolex is fairly large.
Casey:
And my one friend really, really loved Panerai watches, which I'd never heard of until I'd spoken to him about it.
Casey:
But they're very pretty, I believe, Italian watches.
Casey:
And they're
John:
huge they're freaking enormous and like clarkson and uh hammond on top gear if memory serves are both big into watches and typically wear these physically very very large watches so right because top gear presenters are the the the real fashion leaders of the world but that's the point though that they're all these people who are wearing these watches are wearing them for fashion reasons not for utilitarian reasons and they don't how long do they spend looking at the face of those watches
John:
Let alone pawing at the face of those watches.
John:
Zero time pawing at the face of the watches.
John:
Very short amount of times looking at the face of the watches.
John:
They're mostly wearing them as a piece of jewelry, as a fashion accessory, not as a utilitarian thing.
John:
So none of these things qualify as fashion accessories.
John:
They're ugly, especially the square one looks terrible.
John:
The circle one looks humongous.
John:
I guess if you are a giant person, it is proportional to you.
John:
But then you'll have equivalently giant sausage-like fingers and won't be able to use it anyway.
John:
But the idea that anyone's going to spend any amount of time turning their wrist towards themselves and staring at their wrist and pawing at it with their finger to get stuff done, it's like they'll just turn their wrist back down, take out their phone.
John:
Like...
John:
You know, a decade ago, people on the street weren't holding a rectangle, staring at it with their head down.
John:
Now you walk around a city street, everyone's got little rectangles out and they're staring at them.
John:
So that is a change in behavior.
John:
So it's conceivable that a couple of years from now, instead of everyone holding little rectangles, everyone is staring at their wrists as if they're trying to tell what time it is, but all can't tell time.
John:
Like, boy, I can only tell time in a digital clock.
John:
And they're just staring at it in their study.
John:
But really what they're doing is like reading Twitter on their wrist.
John:
I guess that's conceivable, but it still seems to me that that's not the smartwatch is not just a phone strapped to your wrist smaller.
John:
I think that is the wrong solution for smartwatches.
John:
And no matter how good technology gets, what if we can make it as thin as a piece of paper?
John:
If it's still watch size, I don't want to be holding it up, looking at it or pulling at it with my finger.
John:
I think there is a role for something smart that's on your wrist.
John:
I'm just I just don't think the role is like a tiny little phone on your wrist.
Marco:
Right, so maybe the solution then, you know, because I think you're right, you know, so maybe the solution really is not to leave the interaction to the watch, to leave the watch really just be like a very, you know, as small as possible, just a display.
John:
It could be an output device for notifications.
John:
Oh, I'm late for my meeting or, you know, voice input quickly.
John:
And then it would start sounding off directions to your Bluetooth headset to tell you where to turn as you walk.
John:
Like there are uses that I can see for.
John:
I'm not saying a smartwatch is dumb.
John:
A smartwatch is a good idea.
John:
It's just that what these guys keep making is tiny phone on my wrist.
Marco:
Right.
Marco:
Whereas if you give up on the idea that you should be pawing at your watch all the time, if the watch's primary purpose is to give you information at a quick glance and then you leave the interaction up to taking the phone into your pocket, which is better suited for the job in almost every case anyway, then you can make the watch substantially simpler and you can make the display much smaller.
Marco:
And you can then, I mean, it doesn't even need to be a touch screen.
John:
I'm not getting one.
John:
You don't even have an iPhone yet.
John:
I don't have a watch.
Casey:
Well, that's true.
Casey:
Of the three of us, I'm the only one who actually wears a watch, aren't I?
Casey:
I wore a watch in middle school.
Casey:
I wore a watch up until around the time I got an iPhone and then I stopped wearing a watch and then I just recently started again.
John:
I remembered my second thing.
Casey:
Oh, good.
Casey:
Tell us about your second thing.
John:
We're also sponsored.
John:
Just kidding.
John:
Too early.
John:
So we were talking about the material UI, and I was talking about the metaphor taking too much prominence, both in Google and Apple's thing.
John:
The second thing is that's unique to what Google showed for their material thing.
John:
They only showed a little bit of it, was that they've decided to do something that I thought more touch user interfaces would do.
John:
And the fact that no one has done it that much until Google demoed it is surprising to me.
John:
But maybe everybody knows something Google doesn't.
John:
And that thing is showing feedback for your touch as a matter of course, as a matter of like the expectation that when you touch or do anything in the interface, the interface response lets you know you've done it.
John:
Now, that type of feedback is really important in regular user interfaces with a mouse and everything.
John:
uh because it's it's indirect in a way so you put your cursor of a button you click the button you want the button to highlight and you want it to highlight on mouse down and you want to do something different on mouse up like you want to feel like you're pressing it so though you know they used to have 3d type interfaces where the buttons look puffy and early versions of windows and mac and even to this uh today to some degree as well and it lets you know that that you were successful that something was happening
John:
If you just had a user interface where there were buttons and you click them and nothing happened and then eventually the dialog went away, you might not be sure which button you click.
John:
The same thing with the menus that come down on the Mac.
John:
When you select a menu item on the original Mac, the menu item you selected would flash on and off a few times before the menu went away because they want you to know, yeah, you were trying to get that menu item.
John:
You did get that menu.
John:
In fact, it was adjustable in the original Mac to be like one flash, two flash or three flashes or whatever.
John:
Visual feedback, what's going on?
John:
Touch elements do the same thing.
John:
Like an iOS, when you touch a button, it may invert or whatever like that.
John:
But the material UI seems to go much farther in that it's almost giving you the kind of thing you see on a screen in presentations where they want you to show where the person is touching.
John:
You can't see their finger because they're using a device, but the device's screen is being projected.
John:
So they have like those little circles like that appear in the iOS simulator or whatever.
John:
But this is part of the OS, that you get a little circle with like little ripply lines coming out of it.
John:
And then when you select an element, a little ripple goes across the element to show that it's selected.
John:
Very heavy-handed feedback to let people know that, yes, I registered your touch.
John:
Yes, it touched this item.
John:
And here it is.
John:
And not just on like individual items or buttons, but if they touch almost anywhere, like they were showing on the dial pad, you see the little ripples appear where you hit the dial pad.
John:
Not just like the one button ripples, but where your finger touched.
John:
If you touch it in the upper left of the one, a little ripple appears there.
John:
And I can't decide if this is brilliant or terrible.
John:
Part of me that makes me think it might be brilliant is I've seen a lot of people use touch interfaces and not be sure whether their touches are doing anything.
John:
Now, granted, most of the time that's because they're using a touch device that is not as responsive as a top end iOS device, like say some cruddy Android thing where the interface is slow and they'll stab at it a few times or hit the same button multiple times or try it and then take their finger off and try it again because it didn't register that time.
John:
that must be frustrating for them.
John:
So if Android is the OS of choice for underpowered devices with non-responsive UIs, having really heavy-handed visual feedback to let people know when their touch was registered and where the device thinks they touched and what thing they just selected might be an excellent idea.
John:
But on the other hand, I think it would drive me insane because the whole point of a great touch interface is that
John:
It should feel like manipulating like a physical thing.
John:
Scrolling should stick to my finger.
John:
Touching the button should immediately highlight it like it should be direct manipulation.
John:
I don't need this indirection.
John:
But if the indirection is there because everything is too slow, then maybe this kind of interface is a good idea.
John:
And what makes me think is that if the world of Android users gets used to this eventually in four years when everybody's using this interface...
John:
they will find a device that does not do this even if the device is super responsive to be inferior because they'd be like oh i like the one that shows me where i touched does that sound crazy that that would be something that that eventually people could latch on to and think is great no i mean that's i i think what we're seeing this year we saw a lot from apple and and i think what google is is uh has always been been doing to some degree and is continuing to do like this
Marco:
we're seeing the platforms try to differentiate themselves further so that they lock people in more effectively.
Marco:
Because not a lot of people leave iOS for Android, but a lot of people have left Android for iOS.
Marco:
And certainly Google wants to stop that, and certainly Apple wants to make the reverse less likely to happen in the future.
Marco:
And so...
Marco:
We're seeing things like Apple building up a whole bunch of hype around things like CloudKit and the cloud services, the things that don't appear on Android.
Marco:
Google doing similar things with the levels of integration they can get, what they can permit app developers to do.
Marco:
And now something like that, certainly it could be a strategic thing like that.
Marco:
It probably wasn't.
Marco:
I mean, it's probably like, I'm sure somebody thought about that after they came up with it and said, oh, this also has a side benefit of being some potential lock-in.
John:
I wouldn't view it as lock-in.
John:
It's just like if it's a feature that people like and they come to associate it with like that category of product, right?
John:
In the same way that essentially people came to associate a rectangle with a screen on it as what a smartphone looks like.
John:
And everyone else had to make rectangles with screens on them because that's what people thought of a smartphone because iPhone defined the category.
John:
Giving people something that they react to strongly that makes them feel comfortable with the device, makes them feel comfortable using the device, makes it feel familiar and friendly.
John:
It's not lock-in like, oh, I wish I could leave, but I can't because the other devices don't have this feature.
John:
It's that they like it and that they try to go to something else and they say, I miss that thing.
John:
I miss the ripples.
John:
It makes me feel... They might not be able to articulate it, but...
John:
it's weird because like i said i think i would hate that feature but i think a lot of people might like it and i think apple would never do anything like that never never that heavy-handed and so uh google may have just done something brilliant or people will hate it and then google will like turn it off or no apps will ever use this new ui except for the five things that google makes and it will continue to be a crazy fragmented world over there but we'll see
Casey:
Yeah.
Casey:
The point is that thing had tactic feedback insofar as I think that's the right word.
Casey:
But anyway, it would vibrate a little bit when you touched it.
Casey:
And I believe it like had a little white spot on the screen where you touch the screen.
Casey:
And she didn't think anything of it as soon as she got her iPhone that that neither of those features air quotes were there.
John:
But that was so long ago that that phone must have been so awful and so unresponsive.
John:
And the vibration is just pointless because it's not telling you anything.
John:
Because it's not telling you where you did it, but that's a bigger leap from pre-iPhone smartphone to iPhone yet.
John:
No matter what the old ones had, even the physical keyboards that people hold on for the longest time, eventually it's like, all right, just give up.
John:
No more physical keyboards.
John:
Everyone was one over that.
John:
But I think the gap between...
John:
a modern Android device and a modern iPhone is small enough that this is like, especially with all the things they kept showing.
John:
I know they say this every year, but hey, look, we made our user interface more responsive.
John:
Eventually it's going to be true just because hardware gets better and better in these things.
John:
And everything they showed looked pretty darn smooth.
John:
So I'm thinking that the gap is small enough that differentiators like this
John:
uh if they prove popular uh may be a problem for apple in terms of getting people to uh come over just like the big screens are in the same way like the big gigantic screens that we thought oh i don't want everyone to screen like but people love them they love the big screens and so apple is essentially forced to field larger screen phones we all assume this fall uh because that's what people love
Casey:
You know, you're right.
Casey:
It's going to be just like the BlackBerry keyboard and the millions upon millions of people that are clinging to that.
Casey:
Also, a real-time follow-up.
Casey:
I think I might have said tactic.
Casey:
I meant haptic, so thanks to the chat room for correcting me.
Casey:
And thank you for the 35 people that are listening to this after the fact and have already emailed me to correct me.
John:
I thought you meant tactile, but anyway.
Casey:
That too.
Casey:
I think I kind of combined those in my head, but anyways.
Marco:
We are also sponsored by our friends at lynda.com.
Marco:
Go to lynda.com slash ATP to learn more.
Marco:
lynda.com helps you learn and keep up to date with your software, pick up brand new skills, or explore new hobbies with easy-to-follow, professionally-produced video tutorials.
Marco:
Whether you want to learn a new programming language, create a graceful user experience for your website, or get your first code up and running with Objective-C, Linza.com offers thousands of video courses and a variety of topics.
Marco:
They have over 2,400 courses they're taught by industry experts, and they add more every week.
Marco:
They have courses for all experience levels, whether you're beginner or advanced.
Marco:
They have general and specialty topics.
Marco:
And you get all of this for one low monthly price of just $25.
Marco:
And that gives you unlimited access to the entire Lynda.com library, just $25 a month for unlimited access.
Marco:
So they have all sorts of things.
Marco:
They have things like programming languages.
Marco:
You can learn PHP if you really want to.
Marco:
I would advise against it, but you can do it.
Marco:
The good thing is it's much easier than Node, Casey, because my PHP show bot stayed up.
Casey:
It's easier to create something functional.
Casey:
It's not easier to actually learn.
Marco:
Okay.
Marco:
So if you want to learn Node, you can do that too.
Marco:
You can even learn Perl if you're completely crazy.
Marco:
And if you otherwise, if you want to learn applications, you can learn some of the Adobe Creative Cloud apps.
Marco:
You know, Adobe just released updates to the Creative Cloud stuff with new versions of their apps like Photoshop and Illustrator and stuff like that.
Marco:
Lynda.com works with software companies to get you updated video training the same time that the updated versions are released.
Marco:
So they probably... I haven't checked tonight, but they probably already have all the new Adobe stuff up there already.
Marco:
You can also learn Final Cut Pro, Logic Pro.
Marco:
You can learn video editing, learn audio editing.
Marco:
If you want to make your own podcast, go into the Logic stuff and see.
Marco:
It's really cool.
Marco:
They probably even have other stuff on podcasting if you don't want to use Logic.
Marco:
They have a huge library.
Marco:
So...
Marco:
These courses are produced by professionals at the top of their field.
Marco:
And you can watch them anywhere.
Marco:
You can watch them on your computer, on your tablet, on your mobile device.
Marco:
And they're broken into these bite-sized pieces.
Marco:
So if you only have 15 minutes at a time to watch something, you can do that.
Marco:
You can watch a 15-minute chunk.
Marco:
As you're watching, the transcript scrolls by on the side.
Marco:
And you can click to different points in the transcript.
Marco:
It'll jump to that point in the video.
Marco:
So it's very easy to find what you need to skim, to pause, to slow down, to go back if you miss something or you want some clarification.
Marco:
The presentation here is simply fantastic.
Marco:
So check it out.
Marco:
You can get a seven-day free trial by going to lynda.com slash ATP.
Marco:
That is lynda.com slash ATP.
Marco:
Thanks a lot to Lynda for sponsoring our show once again.
John:
We need to get Apple to send WWDC videos to lynda.com because I would love to be able to click on a spot and a transcript because Apple's got the transcripts, right?
John:
And there's that guy who took the transcripts and made that ASCII WWDC site where you can search them.
John:
We just need to put it all together, Lynda style.
John:
I want the transcript on the left, the video on the right, and we're able to click on the transcript and have it jump to the spot of the video.
John:
That would make my life so much easier.
Marco:
oh yeah or even like i was thinking i've i've been like noodling in my head another idea i'll never have time to do but i would love to just make an app just make them like probably a mac app that it would be like you're watching the videos and it would you know you could like you know star the ones you want to watch it would keep track of the ones you did watch you could search you know search for topics search for apis the wwdc app does that now doesn't it yeah the official app keeps track of what you watch keep track of your playback position across devices oh really well i guess only if you watch in in the app i've never tried
Marco:
Yeah.
Marco:
Crap.
Marco:
All right.
Marco:
Well, I'm glad I didn't make it.
John:
But it doesn't do the transcript thing.
John:
That's what I'm saying.
John:
It's the next step.
Marco:
Yeah.
Marco:
Like, why can't you just hit Command-F and go right to something?
Marco:
Like, you have to, like, browse through the titles and figure out, what do they call the, you know, the accessibility section this year?
John:
Like, what do they call that?
John:
Yeah.
John:
That's why note taking is still a big thing for me, WWDC, because the slides have like seven words on them and the person on stage speaks important information that's not in the slides.
John:
And it was particularly bad this year, I thought, where all the real information was spoken.
John:
It wasn't even like hinted at in the slides.
John:
The slide would have like one word on it and then the guy would talk for 10 minutes like, oh, this is the stuff.
John:
So I had to write that down because you can't when I can't for research purposes, I can't go back to the video and watch it in real time because it takes forever.
John:
I have to have the notes.
John:
Well, that's the other thing too.
Marco:
The one thing that's extremely valuable with watching these videos is the variable speed playback in a quick time player seven.
Marco:
And I'm probably like VLC and everything else does too, but, but I think quick time X does not do it.
Marco:
But, uh, so you can, you know, it just like, just like a podcast, you can play these videos at like 1.5 X and it helps a lot because the, the WBDC sessions are pretty slowly paced because, you know, they want everyone in a room full of people, many of whom English, not their first language.
Marco:
They want everyone to understand it and to keep, to be able to keep up.
Marco:
In a giant room.
Marco:
And that's very different when you're watching a video at home.
Marco:
And especially if you're looking for something specific or waiting for something specific that you know they mentioned or that you think they might have mentioned and you want to skip around a bit and play through sections fast.
Marco:
And it's so nice to be able to do that.
John:
I remember the earlier I said it wasn't making fun of Google's inability to do presentations is not a productive avenue.
John:
But since we're talking about WWC, the most obscure out of the way in the tiny little room in the corner of Moscone about some API and framework that nobody uses except 10 people, that person's presentation and demos were better than everything at Google I.O.
John:
Like if they're somewhat an engineer who is not a professional presenter at WWDC, at the very least goes through some sort of regime where they make them make your slides comprehensible to the point where they work on everything they say, where they make sure the demos are tight, where they get them done.
John:
And it just amazed me how...
John:
the google i o presenters for the most part did not even get the basics right they they rambled their slides had too much stuff on them they tried demos that didn't work well even if the demos had work well they wouldn't be demonstrating anything worth demonstrating it was not a good showing i mean i don't think that's important except for in the sort of you know fun giggly twitter snark type nature of the thing but it's at a certain point google should get better at that
John:
Do you think they really care?
John:
They do.
John:
They're trying.
John:
You can tell... The early parts of the presentation, I thought, were together.
John:
Like, when... What's his name?
John:
Sundar.
John:
I can't remember his last name.
John:
When he was up there talking about Android, the slides had bullet points that were important.
John:
He would address each one of them.
John:
There wasn't too much going on.
John:
Like...
John:
It was straightforward and to the point, but it just started meandering and things started going wrong.
John:
And like I said, even if every demo that had gone wrong had gone perfectly, I still don't think those were the right demos to have, especially not in a keynote.
Marco:
Hey, a real-time follow-up from Sam the Geek in the chat room.
Marco:
Apparently, QuickTimePlayerX does have variable speed playback.
Marco:
It's in the extremely discoverable position of option-clicking the fast-forward button.
Casey:
Yeah.
Casey:
How does anybody even know that?
Casey:
I have no idea.
Casey:
I saw Underscore do it on the plane, and I was like, wait, how did that just happen?
Casey:
And then he had to show me because, like you said, I had no idea what it was.
John:
QuickTime Player X doesn't have the most important feature, which is get the freaking controller off of my video.
Oh.
John:
The most important feature.
John:
Still missing, which is why I still have QuickTime Player 7 installed, and that's what I still use.
Casey:
All right.
Casey:
Is there anything else on Google I.O.?
Casey:
They say 60 frames per second this year.
Casey:
They also say this year is the year of desktop Linux.
Marco:
Right.
Marco:
And Duke Nukem Forever finally came out.
Casey:
Actually, it did.
Casey:
It did.
Casey:
And then Android TV iteration 9 is here, and so that's going to set the world aflame.
Marco:
I mean, eventually, they're going to have to, you know, get those in some TVs.
Marco:
I mean, man, the previous Google TV... And somebody in the chat, I'm sorry, I forget who, and it's too far up to scroll now, but somebody in the chat pointed out, like, it's kind of confusing, like, the branding between, like, okay, what's Google, what's Android, what's Chrome, you know, they have... And, you know, John, you mentioned earlier that Google is better at having this, like, cohesive cross-device experience, and honestly, I don't think that's the case.
Marco:
I mean, if you look at things like, you know, the Chromecast...
Marco:
And Chromebooks versus Android versus Google services.
John:
It's pretty fragmented, actually.
John:
The naming of the things is bad.
John:
But first of all, if we're just comparing it to Apple, which is what I'm doing, they win on TV because Apple doesn't have a way for third parties to do anything on TV.
John:
So Google wins by default, right?
John:
Even if you're ignoring that I think also Google's interfaces they showed on their television are better than Apple TV ones.
John:
Apple TV is not a platform for anybody except for selected Apple partners.
John:
So they went in there.
John:
And the second thing is Google's big thing is web apps and stuff.
John:
And so that's their platform.
John:
You may not like it.
John:
You may think native apps are better.
John:
But they're working hard to make this new UI, for example –
John:
is available to web apps at 60 frames per second in Chrome, and Chrome runs on all of their devices, from the Chromebooks to you can run it on your phone, you can run it on your tablet, it runs on your television.
John:
Like, that's their unifying force.
John:
And Android runs on most of these things, except for the Chromebooks.
John:
But their whole thing is...
John:
Web app, native app, doesn't matter.
John:
It's going to look the same if it comes from Google.
John:
We're telling you that we think it's going to perform the same with 60 frames per second animation.
John:
That's their strategy.
John:
And I give them the win over Apple because Apple has nothing on television except for this box that only does selected things.
John:
And they just don't have that unification across platforms.
John:
Like I said, the iOS OS 10 split
John:
is going to get a lot better in Yosemite and iOS 8, but that's not quite here yet.
John:
But even there, the split is much larger than the split between, I think, the Chrome OS and Android, simply because Google is a web company, and their whole big thing is web apps.
John:
And they shouldn't be second-class citizens to native apps.
John:
They continue to be, but Google is really hammering on making that not be the case.
John:
And if it's going to not be the case somewhere, the first place it's going to not be like that is on Google's platforms, because Google is highly motivated to make web apps feel and look just as good as native apps.
Casey:
You know, something we skipped before we leave Google I.O.
Casey:
is apparently Gmail has a RESTful API now.
John:
Yeah, I put that in the notes because everyone's freaking out about it.
Marco:
Yeah, everyone's freaking out saying that this is going to replace IMAP.
Marco:
And I'm the first person to say that...
Marco:
Yeah, I would not assume that Gmail IMAP support will be there for very much longer.
Marco:
In fact, I made a prediction.
Marco:
I forget exactly what time interval I said.
Marco:
I think within two or five years, I was pretty sure that Caldav and Gmail IMAP would both be discontinued or sunset or whatever phrase they would use.
Marco:
But they say, I know with this particular case of the Gmail API, I know that Google has actually explicitly said this is not supposed to replace IMAP.
Casey:
Exactly.
Marco:
Right.
Marco:
Of course, they can say whatever they want, but I think in this case, they're probably telling the truth that they probably do not intend this thing to replace IMAP.
Marco:
But what this probably will do, though, is maybe hasten the ability for them to disconnect IMAP in a marketable way.
Marco:
Because they hate IMAP access.
Marco:
They really do.
Marco:
I'm sure they can't wait to get rid of it.
Marco:
I mean, there's really like...
Marco:
If you think about all the ways that Google operates, makes money, innovates, Gmail and IMAP have never gotten along very well.
Marco:
IMAP support in Gmail has always been pretty flaky and unreliable and slow and very limited because a lot of Gmail's features just don't fit in the model of what IMAP is and how IMAP has to represent the mailboxes and everything.
Marco:
There's always the hack of the all-messages mailbox and all sorts of crazy stuff that...
Marco:
It just causes problems.
Casey:
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.
Casey:
I really don't.
Casey:
And I agree with you that it's contrary and counter to the way they make money, which is for me to be on the website looking at their ads, but
Casey:
I'm never on the website, very rarely on the website anyway, on the Gmail website, because I have no particular need for it.
Casey:
I don't particularly fancy the web interface.
Casey:
I know, or last I heard, John, I know you do, and that's fine.
Casey:
But I am just fine with the iOS Mail app.
Casey:
I'm just fine with Mailbox on the Mac.
Casey:
And I use IMAP constantly for Google Apps, and I really don't have any big problems.
John:
I think, like Marco said, IMAP has never been a good fit for the way Google does email.
Casey:
Oh, certainly not.
John:
So, like, when I first saw this API, I was excited because what I thought it meant was that Google was finally getting rid of IMAP.
John:
And I think the reason Google should get rid of IMAP, like, or, you know, slowly phase it out, is not to, like, cut off third-party clients or whatever.
John:
In fact, that's the reason they'll probably have to keep it around forever just to –
John:
If they want to continue to support customers and clients that use IMAP.
John:
But just because it's a poor fit for their mail service.
John:
Their mail acts in a different way than IMAP expects mail to act.
John:
And I like the way Gmail acts.
John:
So I was like, all right, well, so fine.
John:
Keep IMAP around for the legacy clients.
John:
Make a new fancier API that works the way Gmail works.
John:
And, you know, they make it faster, make it not just a better match semantically, but make it be able to do things with, you know, higher performance like search or bulk operations and all this good stuff.
John:
But then I look at the documentation and in the first couple of paragraphs of documentation, it says, note, the Gmail API should not be used to replace IMAP for full fledged email client access.
John:
so that's straightforward right there and the very first thing in the gmail api documentation if you're writing what they consider what they call a full-fledged email client don't use this use imap so that's a shame like then now just like oh this is just a way for applications that want to do something with mail to be able to send mail through your gmail account and it's nice because you can only you can only ask for permission to send not to read and then your app can send out through gmail using this api instead of doing you know like
John:
I think it's a good idea to have this API, but it becomes much less interesting when they're saying right out.
John:
It is not for making an email client.
John:
So that that alone means that IMAP has to either IMAP has to stay around for a much longer time or eventually Google phases out IMAP and says, no, you have to go through the Web UI.
John:
But it's I think it would be difficult for Apple for Google to go back on IMAP at this point.
Marco:
You know, this is kind of a left turn here, but I had a possibly different thought the other day.
Marco:
You look at things like the proliferation of apps taking over from websites for where modern interaction and computing is really happening these days.
Marco:
Combine that with Android with its intents, Windows 8 with its contract, and now iOS 8 with its extension system.
Marco:
Are APIs necessary anymore?
John:
yes why because i mean for web services if you if you want to interact with something that's not on the same device as you are like http apis for things like everything reading twitter posting to twitter getting email uh
John:
any of the existing native code systems for allowing one application on the same machine to communicate to another don't apply to I mean like that that's the unifying principle of Google is that they would instead say the opposite and that like everything should be like a web app and everything should communicate through RESTful APIs even if it's on the same machine and really it shouldn't matter where your thing is hosting it everything should all be the web and blah blah blah that's obviously not the path that Apple's going down or or Google that matter for Android but
John:
So APIs are definitely still a thing, both remote and local.
Marco:
Well, think about how many of those instances you just mentioned.
Marco:
I mean, certainly, you know, there's always going to be some that can't be done this way.
Marco:
But think about how many of the things you just mentioned could be, like, rather than calling the Gmail API...
Marco:
Just, you know, the user will probably have the Gmail app on their phone because they use Gmail.
Marco:
So just call out to the Gmail app and have it do something and then, you know, kick back to you or whatever.
Marco:
What does the Gmail app do?
John:
It calls the Gmail API because the Gmail server is on the other side of an HTTP connection.
Marco:
Well, sure.
Marco:
Well, OK, I mean public APIs, obviously, like public web service APIs.
Marco:
You know, do those really need to be a major thing anymore?
Marco:
Like, you know, could you plausibly launch a new web service today with, you know, that has some kind of social everything?
Marco:
without an API, I mean, people do all the time, but how far could you go without having an API?
Marco:
And are we at a point now where having an API is the exception, not the rule?
Marco:
Because five or 10 years ago, everything had to have an API.
Marco:
That was what people did.
Marco:
And you wouldn't become big if you didn't have an API.
John:
I do think that's still true, though.
John:
Twitter is a great example, which got big based on its API and now wants to essentially cut everybody off from it.
John:
But they wouldn't have gotten big without the API.
John:
So I don't know.
John:
I think that avenue to getting big
John:
Like I think it's still required to get big.
John:
No, if you, if you, if you have some great thing, but you say, but there's no API, but we've made selected private libraries that use an API that you're not allowed to use.
John:
And you can put those libraries or apps on your devices and kind of like, I don't think you would get big like that.
John:
It would be like not being free in the beginning and charging everybody tons of money.
John:
I,
John:
I think the tractor to get big is to try to at least make a show of, look, we're part of the community and you can interoperate with us and we have this great API and really encouraging people to build on you.
John:
Yeah, sure.
John:
If you've got a service and we've got a service, we should, our services should talk to each other.
John:
We should integrate.
John:
It'll be great.
John:
We'll have these great synergies.
John:
And then when you get big, then you can start turning the screws and cutting everybody off and charging money for API access and all those wonderful things that we love to hate.
Casey:
So are you saying, Marco, that let's take an example that you're in a Twitter app and – or let's take Instagram perhaps.
Casey:
You're in Instagram and you want to tag a photo with a location and you want to do that using the Foursquare API.
Casey:
Rather than have some sort of view within the Instagram app, you could dump out to the Foursquare extension –
Casey:
that lets you search, and then the Foursquare extension will take the location that you've selected and punt it back to Instagram.
Casey:
Is that sort of what you're envisioning?
Marco:
Basically, yeah.
Marco:
I'm looking at this from the perspective not of what's best for everybody technically, but what's most likely to be best for everyone business-wise and what are they most likely to do.
Marco:
And you can look... John, what you just said about how APIs are kind of the requirement for good growth, I'm not sure that's true anymore.
Marco:
I mean, it...
Marco:
Look at big services that have launched in the last five years.
Marco:
Many of them don't have an API.
Marco:
Many of them launched without one and now have one that's kind of half-assed or even extremely restricted.
Marco:
Even Google+, Google's own service.
Marco:
I mean, this is not a good example because it kind of failed, but even Google+, launched with a very limited read-only API.
Marco:
And did it even have that at first?
Marco:
Yeah.
Marco:
Anyway, I know when they launched the API, whether it was at launch or not, when they launched the API, it was read-only, and I think it might still be.
Marco:
Instagram, perfect example, got huge, and they had a very limited API that I believe was usually read-only for almost everybody at the beginning.
Marco:
And it's easy, you know, APIs have a big problem.
Marco:
This is the problem Twitter faced.
Marco:
Which is, it becomes very hard to monetize if you become a dumb pipe.
Marco:
Unless you do... Sometimes you can do creepy things.
Marco:
But for the most part, if your API is mostly an accessory to your service and people still keep coming to you and using your apps and your website for the primary interaction with your service, that's fine.
Marco:
But if the API becomes your service and people are really only interacting with you through the API...
Marco:
it's very challenging to run a business that way for certain business models and certainly anything free and ad-based.
Marco:
And so I think we can look back at the golden era of web APIs in the mid-2000s when everything had an API and everyone was talking about them as being the big requirement.
Marco:
We can look back at that time and we can say, you know, actually, in retrospect...
Marco:
That was kind of a problem.
Marco:
A lot of those APIs that used to be free and naive are now super locked down and limited.
Marco:
And it's pretty easy to see that that was kind of giving away too much of the farm.
Marco:
Whereas now, I'm sorry if I'm mixing metaphors there.
Marco:
Whereas now we have this other way where you, the service provider, can have these apps on these different platforms.
Marco:
You don't need to cover that many of them.
Marco:
You can have these apps on these different platforms that all have these ways to kind of offer API-like services to other apps without actually giving up the farm, without actually losing that much control, and while keeping everything locked down and private for the most part behind the scenes.
John:
Well, there's a line between not having an API and becoming an API-only pipe.
John:
And we see Twitter in that continuum.
John:
And in the beginning, it was like, yeah, sure, everybody build on Twitter.
John:
Everyone make your own crazy clients.
John:
We want all sorts of different clients.
John:
We want any place you can talk to our API.
John:
And then becoming the dumb pipe where most people's interaction with Twitter was not through anything that Twitter controlled.
John:
That's one extreme.
John:
But the other extreme is not having one at all.
John:
Twitter still has an API.
John:
Right.
John:
At the very least, they would have some kind of API for embedding tweets and putting little controls and buttons.
John:
I mean, you could say, oh, that's not an API, but it is.
John:
It's a public API.
John:
Put this mark down on your page, post to this URL, make these buttons run this JavaScript.
John:
There has to be an API.
John:
It just doesn't have to be...
John:
You want to encourage people to integrate with your product.
John:
You don't necessarily want to encourage people to become your product.
John:
And so I think the API use, people have learned, you know, like you said, don't become a faceless API because then you become app.net, right?
John:
Don't let everyone else define the experience of using your product.
John:
It's the same way as like Apple, you know, taking control of its dev tools.
John:
Don't let MetroWorks and CodeWarrior and PowerPlant become the face of your platform because then you've lost control.
John:
But I think you have to have some kind of web-based API if you want to interoperate with the wider world because you're never going to hit every platform.
John:
And realistically speaking, the little libraries and apps that you make for all the different platforms are going to have to be hitting an API anyway.
John:
And if they can hit it, then other people are going to hit it.
John:
And do you really want to get into some kind of security war about having secret API endpoints that people have to figure out how to hack into?
John:
And so they're just going to use OAuth or something anyway.
John:
Anyone can do it.
John:
It's just a matter of getting an API key and then they extract it.
John:
It's just...
John:
I think APIs will still be here, but I think you're right that the lesson has been learned by several people in a painful way.
John:
Don't make your API the only thing you offer because then other people will become your product for you.
Casey:
But is that so bad?
Casey:
I mean, there's sponsored posts in Instagram and Twitter and whatnot.
Casey:
I haven't seen them pushed on me in TweetBot, for example, but there's nothing stopping them from being pushed on me, right?
John:
I think we're in the minority of people who are not using the official – as crazy as it is for us to think about.
John:
No, you're right.
John:
We don't use the official Twitter app, but I bet – what do you think?
John:
Most people who use Twitter at all use the official Twitter app on their old devices?
John:
No question.
John:
And like, we are an oddity because we were there early.
John:
We don't look at Twitter that way.
John:
And Twitter, thus far to Twitter's credit, has been like, okay, you know, they shut the door on us.
John:
We are in a little room together with our limited API tokens from the apps that were there in the beginning.
John:
And no one bothers us.
John:
And they just don't have to worry about us.
John:
And all our growth is with those other people.
John:
They could have said, you know what?
John:
Third party stuff is turned off.
John:
Now you have to use this official client.
John:
And I don't think it actually would have hurt them that much because all of us would have left and been pissed.
John:
Maybe the problem is all of us might have like all gone to app.net and actually made that a viable platform or something.
John:
In the grand scheme of things, we don't matter.
John:
And so I'm glad that Twitter is not shoving stupid crap down our throats, but I'm kind of sad that we're never going to get multiple images or these other features they're adding.
John:
Oh, they got that already.
John:
That's in Tweetbot now.
John:
Is it?
John:
Yep.
John:
I thought that wasn't even available to third-party clients.
Marco:
Well, you can view multiple images.
Marco:
I don't know if you can post them.
John:
Yeah, well, anyway, they're adding features and they don't care if third party if it's available for their legacy third party ones.
John:
And so it doesn't surprise me that they're not making us choke down ads because who cares about us?
John:
We're off in the corner somewhere.
John:
And it's probably the best move for them not to anger us anymore and just allow us to stew in our in our little private third party Twitter clients.
Casey:
All right.
Casey:
Anything else we need to talk about?
Casey:
There's a little bit of talk that we kind of skipped over about Swift and Apple.
Casey:
I think, John, this was mostly you.
Casey:
Do you want to touch on that?
John:
Actually, I want to talk about art briefly first before the Swift thing.
John:
Art was in the thing.
John:
Art is not a new thing.
John:
It's something that they introduced in KitKat, but now it's official for their new OS.
John:
This will be their new runtime that they're using instead of the previous Dalvik virtual machine.
John:
This is them refining.
John:
I mean, not that I'm saying this is their answer to Swift and iOS and the A7 and all that stuff, but
John:
they're feeling pressure to have a more performant less battery sucking uh engine underneath their platform so the language they use is java for development they had their own java virtual machine that they wrote themselves which is kind of novel called dalvik that they've had for many many years
John:
This new one is a new virtual machine that is better about memory management and has fewer stalls for garbage collection, shorter stalls for garbage collection, produces better code that runs faster on all the CPUs they target.
John:
I think they listed ARM, x86, and MIPS.
John:
And they showed a bunch of performance figures showing how this is better.
John:
So I'm glad to see that Google is making progress on sort of the fundamental lowest level of that platform to make their applications faster.
John:
And it shows the advantages that they have of, you know, having a memory safe language in a virtual machine and that this change this fairly radical change under the cover does not require any changes.
John:
uh and anyone who wrote their application using java if you you know if you use their api and wrote the thing you don't have to know or care about this they just made your runtime faster whereas compare this to apple which has made the objective c runtime faster many times over but you know you have to relink your app against it or use certain features like fast enumeration you have to change your source code to use them uh i guess you know when they improve objective c message send everyone gets the benefit when they recompile against new libraries but then it was only available 64 bit and blah blah blah
John:
Anyway, I'm glad to see Google making progress there, mostly because I like the idea of virtual machine-based languages.
John:
I guess I'll probably have more to say about that when I do the Swift section of my OS X review.
John:
How's that coming, by the way?
John:
Slowly, as always.
John:
Slowly and painfully.
Marco:
Thanks a lot to our three sponsors this week, Ray's Labs, Squarespace, and Lynda.com.
Marco:
And we will see you next week.
Marco:
Now the show is over.
Marco:
They didn't even mean to begin because it was accidental.
Marco:
It was accidental.
Marco:
John didn't do any research.
Marco:
Marco and Casey wouldn't let him because it was accidental.
Marco:
It was accidental.
John:
And you can find the show notes at ATP.FM.
John:
And if you're into Twitter, you can follow them.
Marco:
At C-A-S-E-Y-L-I-S-S.
Marco:
So that's Casey Liss.
Marco:
M-A-R-C-O-A-R-M-E-N-T.
Casey:
Marco Arment.
Marco:
S-I-R-A-C-U-S-A Syracuse.
Marco:
It's accidental.
Casey:
Accidental.
Casey:
They didn't mean.
Casey:
i could have fit the swift thing in before the song you know you can tell how unprofessional we are because here it is i queue up john to talk about a he talks about b and then before we get back to a we end the show
Marco:
Can it fit in the after show?
Marco:
It can be like follow down.
John:
I can throw it in.
John:
It's a reward for the people who keep listening.
John:
This is still on topic, but hey, you made it through the song and here we are on the other side.
Marco:
This is your reward.
John:
Yeah.
John:
It was something I've been thinking about since WWDC.
John:
about how Apple is being more open with things.
John:
And I've seen things from Apple since WWDC that I had not seen from Apple in years and years and years, maybe not ever in the second Steve Jobs era, like after 97.
John:
And that is the phenomenon of Apple employees saying, in a more or less official capacity, something that Apple is going to do in the future.
Casey:
Yeah, we saw that today, which I think you're about to bring up.
John:
Right.
John:
And not just today.
John:
I've seen it many, many times since WWDC.
John:
The one just and I keep seeing it, which is blowing my mind.
John:
The one today was like Mike Ash did a blog post about Swift.
John:
Chris Latner responded to the blog post and said that thing you were complaining about.
John:
We're going to change that.
John:
which is basically talking about an unannounced product.
John:
And I've seen that multiple times about, you know, nerdy technology is not like, oh, we're making a watch.
John:
Like, they're not going to say that, right?
John:
But about nerdy technology is the only developers care about, but developers are willing to say like, oh, yeah, that API doesn't exist for whatever, but we're going to make it like we're going to introduce it before GM or that feature you asked for.
John:
We're doing that right now.
John:
Not sure when it's going to be done.
John:
That's, you know, Apple does not comment on future products, but apparently Apple now comments on future technologies.
John:
I mean, WWC being open, anyone being able to watch the videos and actual Apple engineers saying what is, you know, this is not exciting or surprising to anyone who has deals with any company other than Apple, but historically...
John:
Apple engineers would never say anything, even like the most obscure little thing like, I think this argument to this method should accept nil and it shouldn't be an error.
John:
And you just have to sit there and wait until eventually your bug was closed or just a release comes out and that's in the release notes.
John:
Instead, today, an Apple engineer will say...
John:
uh yeah we're in the process of doing that it'll be in the next build i guess that has happened to some degree like on the dev forums in past builds and stuff like that but this is about something big like swift is bigger than just one obscure api swift is a whole language and on the dev forums for example people are complaining about missing features in the swift language and people you know who are writing swift are coming on the dev forums and saying you're right that feature is missing we're adding it now it will be there soon like
John:
talking about future products it's just blowing my mind that this is happening at any second i expect a black helicopter to come in and like close the thread and delete the post and nuke everything and you know so that's the dev forum so you're technically under an nda which i wasn't which is why i wasn't talking about details this was on a public blog post uh i forget what was the thing that he was talking about in there was oh array semantics being crazy which they are i mean it was vague it was like we know they're crazy we're gonna try to fix it
John:
yay thumbs up see was that that hard apple did the world end you know and like if they don't fix it is everyone going to go on there well i totally expected you to fix the crazy eraser mantix because i saw that comment on that blog post but you didn't fix it i hate you apple like that's the that's the thing that they're protecting against and i suppose that could happen if uh yosemite ships and ios 8 ships and swift's eraser mantix are still crazy pants
John:
then people are going to cite that blog post and say, we can't trust you, Apple.
John:
You say things, but then don't do them.
John:
I don't know.
John:
I just assume they're just going to do it and everything will be fine.
John:
But it is definitely weird to see that and definitely a change for Apple.
John:
So what's the downside to it for them?
John:
I just said the downside.
John:
The downside is if they don't do this thing, then crazy people will be all cranky.
Casey:
But...
Casey:
Is that really why they didn't do it for all this time?
John:
Yeah, because you can't predict the future.
John:
You don't do it for all this time because if they say something and they're not able to deliver it, it breaks trust, so they just say nothing.
Casey:
I guess, but to your point about developer tools that are coming, who cares?
Casey:
Like, I just, I don't, I don't really see the need for all the secrecy up until this point.
Casey:
I applaud the, the opening up that they've been doing lately, but I don't know.
Casey:
It just seems like a pretty weak reason to be so unbelievably secretive.
Casey:
I, it seems to me like the reason they were secretive is because they felt like it was cool to be secretive.
Casey:
If you're secretive about products, you're going to be secretive about everything.
John:
Well, it's not just about, it's not a cool factor, but like, it's, you know, like someone just put in the chat room, uh, under promise and over deliver.
John:
It's,
John:
It's the safe bet.
John:
You will not disappoint people.
John:
You will only surprise them.
John:
Because the only way you disappoint somebody is by saying you're going to do something and then not doing it.
John:
If you never say anything and you don't do it, you haven't disappointed anyone because they should have had no reason to expect that you were going to do something.
John:
But if you say you're going to do something and don't do it, then people are disappointed.
Casey:
But is that really true?
Casey:
I mean, I know the market isn't really the best judge of anything.
Casey:
However, you know, anytime Apple doesn't release a TV or a watch, the market has a fit about it.
Casey:
And they've never said anything about doing any of those things.
John:
Yeah.
John:
that's i think that would be a counter example because tim cook kept saying we're going to enter new product categories so yeah as soon as he says that like a year ago every time apple does anything and doesn't enter a new product category you know people will say you said you're going to enter a new product category and you did something anything and the thing involved in that did not enter a new product category therefore i hate you now apple who cares like this is more of the larger the feature the less you'd want to say stuff like this like
John:
you know if you're talking about like uh this this api is uh is available but it's uh ios 7 only and if someone from apple were to say actually we're going to backport that to ios 6 too people would be like oh yeah that's awesome i can't wait until that happens my app will be able to run an ios 6 and 7 and use this cool new api and then like the os comes out and they say sorry we didn't get time to backport that to ios 6 and now we're never going to people would hate apple they were like
John:
oh, you said you were going to, I planned my business around it, you've, you know, destroyed my livelihood, so on.
John:
Whereas if they just say nothing, and they say, file a bug if you'd like to see it on iOS 6 or whatever, you know, they don't make any promises, they just don't say anything.
John:
They say, every time you ask them a question, they say, this API is available for iOS 7.
John:
But is it going to be on iOS 6?
John:
This API is available for iOS 7.
John:
Like, that's the old Apple way, and there are serious upsides to that.
John:
But at a certain point, it becomes ridiculous.
John:
As you get tinier and tinier, like, are you going to fix this typo in the documentation?
John:
No.
John:
It's no skin off Apple's back to say, yes, we're going to fix that typo in the documentation.
John:
In fact, I'm fixing it right now.
John:
You should see it in the next build.
John:
Like, that's always been under the line.
John:
Like, no big deal.
John:
But once you move from typos up until, you know, API features, API availability, language features, that's starting to get into some serious territory.
John:
And...
John:
This is the new Apple, I think.
Casey:
And I applaud it.
Casey:
And I think Marco had said, or one of us had said right before WWDC, that we didn't really know crap about what was coming.
Casey:
We knew HealthKit, which we thought was HealthBook,
Casey:
And there were like one or two other things, but certainly nobody knew Swift was coming.
Casey:
And that made it so much more enjoyable.
Casey:
I'm not saying Apple shouldn't be secretive about like product launches.
Casey:
I'm talking like you are, John, about this.
Casey:
I'm going to call it minutiae, but perhaps it isn't.
Casey:
But stuff that, for the most part, really isn't going to make or break anyone.
Casey:
And yes, you just had an example of where it could break someone.
Casey:
But I don't know.
Casey:
I'm surprised it took this long for them to open up.
John:
Well, it's a continuum like the one I think of also as 64-bit Carbon, which they said they were going to have and then changed their mind on.
John:
And that's just like a bummer.
John:
It wasn't like they didn't have it almost all done, is my understanding.
John:
And it wasn't like they didn't plan on doing it.
John:
They did plan on doing it.
John:
They did say they were going to do it, but they changed their mind the next year.
John:
And that did really seriously affect people.
John:
And, you know, secrecy wouldn't have saved them there because that was sort of like they said at WWDC that they're going to have...
John:
OS 10, 10, 10, and iOS 8.
John:
Those are speaking about future products, but we assume that those will actually arrive, that they won't say, you know what, never mind about iOS 8.
John:
Like, it seems like a safe bet, but technically that's exactly the same thing.
John:
Saying, we do not have this for you now, it is not completed, but we will.
John:
And making a comment about a feature in Swift, like saying, we agree that the array semantics are stupid.
John:
We are working on them and we plan to have the better version of them available before any of our whatever operating system ship.
John:
That's a pretty concrete statement about something that's going to happen.
John:
It's probably not much more concrete than saying iOS 8 is coming and we're going to ship it and here's the rough time frame.
John:
But it is definitely a change.
John:
Like normally they would just let the blogs all complain about stuff and Swift and
John:
and secretly be over there saying all these people are complaining about you know feature x whereas we know that feature x has been checked in two weeks ago and we're just like testing it out now and it'll ship in the next seat and won't those people be pleasantly surprised but now those people can actually go onto the internet and tweet at the people like i just totally did that don't worry it's coming and what else is going on
Casey:
I think there's a M3 at the local dealer.
Casey:
I haven't actually gone by yet, but I... Why not?
Casey:
Because my car's actually going on Monday anyway.
Casey:
So I'll see you then.
Casey:
And then I'll probably steal it and get arrested, and that'll be the end of ATP.
Casey:
Well, you keep doing it with you in jail.
Casey:
All I know is I want an M3 really bad.
John:
Sorry.
John:
Luigi follow only the Ferrari.
John:
What?
John:
I didn't do my pop culture reference to this show.
John:
I stuck it in at the end.
Marco:
Oh.
Marco:
I got it.
Marco:
I've seen that movie a million times.
John:
Yay!
John:
Marco has children.
John:
Soon Casey will too.
Marco:
A million times.
Marco:
I know every line of that movie because I've seen it a million times.
John:
You want to scream it from the top someplace very high.
Casey:
I hear you now.
Casey:
You see, I was going to say that how could that movie possibly get old, but I know enough to know that any movie could probably get old.
Marco:
Well, it's actually a pretty good movie.
Marco:
I mean, I think that's one of the reasons why adults love Pixar movies so much is because if your kids are going to make you watch the same movie every single day for three months...
Marco:
It might as well be a pretty decent one.
John:
Yeah, you don't know how bad it can get.
John:
Like, I mean, you're probably protecting yourself from it.
John:
And the thing is, like, Cars, people say it's not one of the better Pixar movies.
John:
And maybe I kind of agree there.
John:
But lots of people who don't have kids dislike it much more than I do.
John:
Because now, in retrospect, the memory of Cars is entirely tied up with the memory of my son when he was young and watching that movie a lot.
John:
And I think the same thing will happen to Marco.
John:
And that gives the movie a fondness that it wouldn't have had if you had just seen it on your own.
John:
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.
Casey:
God, I love Cars.
Casey:
Cars 2 was freaking terrible, though.
Marco:
I haven't seen Cars 2 because I heard it was terrible.
Marco:
So I'm just like, I'm not even buying that on the Apple TV.
Marco:
I'm just leaving that off.
Marco:
Don't do it.
Casey:
And the worst part is Michael Caine is in it.
Casey:
And I love Michael Caine, but the movie was still terrible.
John:
Movie's not terrible.
John:
Like, you don't know terrible until you've seen, like, Door of the Explorer or something like that.
John:
I mean, terrible, there's a whole other thing.
John:
The movie is just, meh.
John:
It's just there.
John:
It's all right.
Marco:
Yeah, that's all right.
Marco:
I'll have to put that one in the parking lot for now.
Casey:
Exactly.
Casey:
You want to do titles on one of the functional showbots, which means not mine?
Marco:
Yeah, how about put that in the parking lot for now?
John:
You're obsessed with business speak terminology.
Casey:
Oh, it's just, I can't, like, what planet is everyone on?
Casey:
Marco, to put things in perspective, I went to a client today at – what time was it?
Casey:
About 9 for a 10 o'clock demo.
Casey:
That demo lasted half an hour.
Casey:
I spent half an hour –
Casey:
dealing with security-related things because it's a new client.
Casey:
So I had to get fingerprinted.
Casey:
I had to go swear that I had antivirus on my computer.
Casey:
Then I needed to prove that I had antivirus on my computer.
Casey:
Then I spent from 11.30 till 5 in consecutive meetings talking about the work that has been done and the work that needs to be done.
Marco:
My God.
Casey:
That was from 1130 until five in the evening.
Marco:
When does the Scrum or Fall standoff happen?
Casey:
Actually, the end of... So it was a retrospective, which is part of Agile.
Casey:
And then it was sprint planning, which is part of Agile.
Casey:
But the problem is, this is for a large government entity.
Casey:
And I don't think most of the business people in the room...
Casey:
these are our own internal business people had had a lot of experience with like doing scrum, uh, agile software projects.
Casey:
And so it's really kind of scrum or fall at best.
Casey:
And that's just bad.
Casey:
But anyway, so, uh, back to titles.
Marco:
Did they have a parking lot?
Marco:
Uh, no, not today.
Marco:
Actually.
Marco:
How about a basement?
Marco:
Is there, do you like put things in the basement ever?
Marco:
Nope.
Marco:
Just the parking lot.
Marco:
What about like, you know, back behind the dumpster?
Marco:
Like, is there the alley?
Marco:
Is there an alley even?
Yeah.
John:
nope you can't like throw something off the fire escape is that no marco you've got the same metaphors in ios development basement ui you know just speaking of basement same it's the same stuff the hamburger basement metaphor exactly it's the same exact thing why is that terminology okay but this terminology is not because we are right oh my god that is the most marco statement i've ever heard in my defense i don't like the hamburger basement metaphor
John:
but you use it because it's a way to communicate with other people a shorthand that's exactly what buzzwords and lingo are supposed to do 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 there was there was some time where i mentioned hamburger basement on twitter a few months back and i got the best responses from people who didn't know what that was they're just like what and they're and they're they were fulfilling your role now saying is there an alley blah blah blah anyway
Casey:
I actually like Breaking Bots.
Casey:
I don't think it should necessarily be the show title, but it is pretty funny.
Marco:
I'm also a big fan of I'm Not Getting One.
Marco:
There's actually two of them.
Marco:
One with a period, one without.
Marco:
If you combine their ratings, it's probably even better.
John:
So you could, you could up the working show bots features by, uh, doing better normalization and getting rid of trailing periods.
Casey:
Fair enough.
Casey:
I'll, I'll, I'll get to that as soon as I can keep the thing running for more than 10 fricking minutes.
John:
You got one more show, Casey.
John:
This is like that, uh, that old website, uh, give up and use tables, which is like a timer for you to try to do things back in the bad old days of CSS when you couldn't do lots of stuff with CSS.
John:
Uh, you,
John:
You get one more show, and then Marco and I are going to force you to stop using WebSockets.
John:
And then four shows after that, you've got to use Perl.
John:
Realistically speaking, we should have stopped you from using WebSockets before you started using them for a show bot, because there's no reason to use them except for technical curiosity.
John:
So we'll give you an out.
John:
We'll give you a couple weeks to say, okay, you just want to do this because you're just playing with things.
John:
You want to use WebSockets because they're neat and cool.
John:
Fine, go ahead.
John:
But at a certain point, we'll just say, look, just...
John:
Make it work.
John:
Stop using WebSockets.
John:
But if you think about it, it's the right answer.
John:
No, it is not.
John:
A persistent connection to the clients is like, no, it is not the right answer.
Marco:
Well, it actually is useful because it gives you the immediate feedback when new stuff comes in.
John:
You don't need immediate feedback.
John:
People are staring at the show.
John:
I need to see if someone has changed a vote right now.
John:
You don't.
John:
The latency on people looking at show voting does not need to be real time.
John:
This is not like a game or a simulation where we need feedback constantly.
John:
It's like...
John:
it's not the appropriate technology for this purpose.
John:
You could have a five minute refresh interval and it would be fine.
John:
It's just a show bot.
John:
It's not a real time 3D application.
Casey:
John, the last time I said it's just a show bot, it was about hardening said show bot.
Casey:
And we all saw how that ended.
John:
But the web sockets are fighting against you in that area.
John:
Like they're making it worse.
John:
It's a technology that either is not mature enough or, I mean, it seems like the libraries we're dealing with aren't mature enough because if they were, you wouldn't be having all these problems.
Marco:
I just can't imagine what the heck is going on behind the scenes here that's causing even the worst, crappiest, slowest VPS in the universe to overload and crash.
John:
It's not overloading.
John:
It's just throwing an exception that nobody catches and then it kills it.
John:
Well, then web sockets aren't the problem.
John:
But it is because the exceptions are coming from within web sockets.
John:
Exactly.
John:
It's a third-party library that's throwing an exception that I guess you didn't expect.
John:
I forget what the specifics of the bug were, but wasn't it a bug in the actual WebSockets library?
Casey:
I just repasted the gist, and it's very vague where the actual problem is.
Casey:
But that's all right.
John:
Does C Sharp have exceptions, Casey?
John:
Are you just not accustomed to having to catch exceptions and deal with them?
Casey:
You know, there's no need to be cruel, John.
John:
I'm just saying, like, just wrap the whole thing and try catching.
John:
At least keep the thing from going down.
Casey:
Well, generally, I would prefer for this situation to die violently and tell me exactly what's going on.
Casey:
And I think, actually, we got in a pretty big fight with Marco about this.
John:
Yes.
John:
Well, no, it's like turning it into, yes, turning it into fatal errors.
John:
You're not turning warnings into fatal errors.
John:
You're not doing anything with fatal errors.
John:
And I think it's fine, for example, if you have a multi-process model to let your Apache child die because it had a fatal error because the whole server doesn't go away.
John:
Then you don't lose all of your data.
John:
The parent will just spawn another child and the day will go on.
John:
But when it's single process and you're not catching exceptions and one comes along, your single process goes away.
Casey:
And that's... Oh, we agree.
Casey:
We agree.
Casey:
But my point is just that if the error was something more specific, like, oh, somebody tried to send...
Casey:
10,000-byte thing over this WebSocket, then I could take action on that and thus harden the system a little better.
Casey:
What I'm going to do, however, since I didn't get useful feedback, is I'm going to add a try-catch, if you will, or at least handle this error message or error event and then call it a day because clearly I'm not getting anything useful from it.
John:
Well, it's like when, I mean, in any web server, if the client sends invalid, you know, invalid method type or, you know, whatever, like you could, you can make an HTTP request that's malformed and your server should handle.
John:
Yeah.
John:
Garbage client connected to me.
John:
He sent me something that looked kind of like an HTTP request, but actually it was invalid because the method it used doesn't actually exist in this header or it sent this method, but it didn't have the required headers, but it claimed it was HTTP 1.1.
John:
Like,
John:
You either your library or if you're not your library, then at least your app has to has to be resilient to people sending you garbage.
John:
And you would think that would be the job of library.
John:
Like you're writing something on Apache platform or using my PHP or something like that.
John:
You're assuming Apache is going to handle like.
John:
the crazy invalid request and it's never even going to get to the point where it executes your php because the patch is going to return a 500 error and trigger your error page handling or whatever you want to do before it even gets to your thing but the websockets library is not doing that for you and we don't even know if it's because people are sending malformed websocket requests it could just be a bug in the library and people are sending perfectly valid websocket requests and this is choking on it either way it's not good for your server and if you just did everything the old-fashioned way with http and ajax uh you wouldn't be having this problem
Casey:
That's possibly true.
Casey:
And I'd like to address something from the chat.
Casey:
Somebody said, I don't understand how Casey could be a professional programmer.
Casey:
And I think it's important to realize that, A, I'm working in technologies that I'm not typically used to working in, insofar as Node and WebSockets.
Casey:
But B, and more importantly, this is something I threw together for fun in not a lot of time.
Casey:
I'm not being paid to do this, and I'm not doing this for my job.
Casey:
I'm doing this just for grins and giggles and just to learn.
Casey:
And a lot of the things that I'm fighting, like people deliberately being malicious, are things that I don't often run into in my day-to-day work.
Casey:
And so I would have put in
Casey:
a crap load more time being defensive in my programming instead of being defensive right now and making sure all of these things were considered and taken care of and things of that nature.
Casey:
But A, I didn't spend the time on it.
Casey:
B, I still don't think I should, but the chat room is a bunch of pains in my butt.
Casey:
And C, this is not like my normal job.
Casey:
My normal job, I'm paid
Casey:
to consider all of these possibilities and to spend the time to get all this right.
Casey:
And this is something I threw together in a sum total of like three or four hours.
Casey:
So it's very different.
John:
I would say let's not pretend this is not the way that the person who said that comment strikes me as someone who is not a programmer because let's not pretend this isn't the way that all programming happens.
John:
It just may not happen in public, but this is how you write a program, guys.
John:
You try it, you find out how it's broken, you fix it.
John:
This is the process of programming.
John:
It's just that he's doing it sort of in public, where normally all this would be happening on your local computer as you write it and try to use it, and it crashes, and you write something else, and you try to use it, and it screws up.
John:
That's called programming.
Marco:
Do you think it would work better if you were running antivirus software on your Mac?
John:
Yeah, that antivirus thing, I mean, I understand why people do that, but that's so insane to me that people would insist that you have antivirus software on your Mac.
John:
I wonder if the same requirement applies to iPhones.
John:
Do you have antivirus software on that iPhone?
John:
I'm sorry, it's not qualified.
John:
We can't use that.
Casey:
Well, I mean, again, this is a government entity, and...
Casey:
I don't know if you – well, John, you should know better than me even that government entities are things that are associated with the government.
Casey:
They tend to have just piles and piles and piles and piles and piles of red tape, much of which is not understood by the people that enforce it.
John:
Yeah, but they do change.
John:
Like my wife works in a place that has crazy requirements, and it used to be that you couldn't bring any device that had a camera anywhere –
John:
you know you couldn't bring a camera or anything that had a camera on it and then when phones started to have cameras you couldn't bring any of the cameras any phones with cameras in because that's a camera right but at a certain point all phones have cameras and then it's untenable to tell people i'm sorry you can't bring your phone to work and so they had to change the rules and say okay well it's obvious that we can't you know and it was an in-between period they'd be like well blackberry makes a special model that doesn't have phones in them for enterprise and that's what we're going to force everyone to use or yeah whatever
John:
But now it's like, you know, even the government has to eventually recognize, you know, and so they did.
John:
And they said, OK, well, there's certain areas where you can't bring your phone or any camera because we assume your phone has a camera.
John:
But you can bring your phone to work and send and receive phone calls with it.
John:
So eventually, you know, they'll catch up.
John:
Like, I bet they don't require you to have antivirus software on your iOS device.
John:
But I bet in 2007 they sure did.
John:
And we're sad when you told them that makes no sense.
Casey:
A place that I worked that did a lot of government contracting for a long time, the official stance was you may not have a camera phone.
Casey:
And this is right when, just like you said, when phones with cameras started becoming prevalent, and I believe they changed the policy.
Casey:
But yeah, it's a tough thing.
Casey:
It's a lot of stuff that Marco doesn't have to deal with and probably doesn't have the patience for.
Casey:
And sometimes I wonder if I do, too.
Marco:
Yeah, I don't think I could do that.
Marco:
I've never been in a job that had that kind of – well, except for my internship at Nationwide in college.
Marco:
But otherwise, I've never been in a job that I had because I've always been at these small companies where I could pretty much have whatever I wanted on my computer.
Casey:
Well, but that's the thing is for my company, I found it extremely egregious when they instituted a you-have-to-change-your-password-every-90-days policy.
Casey:
And, well, I'm not trying to get into a security discussion about why that's important or good or bad.
John:
I'm at 60 days, Casey, right now in 2014.
Casey:
Right.
Casey:
So, yeah, so I was really upset when that happened.
Casey:
But, I mean, my computer, it's wide open.
Casey:
I can do whatever the crap I want with it.
Casey:
The problem is that because I do consulting, when we work for and with clients, we have to, generally speaking, not always, we usually roll with their rules.
Casey:
And their rules, when you work with either large government entities or large financial services companies, as my company tends to do, have tremendously strict and difficult rules.
Casey:
So it's not that all of the real world is bad, Marco.
Casey:
It's just some parts.
Marco:
Just the parking lots.
Casey:
Just the parking lots.
Casey:
Are we done here?
Casey:
Yeah.
Casey:
Yeah, so buy me an M3.
Casey:
Let's go back to the important stuff.
Casey:
Get right on that.
Casey:
I'll suffer through black just for you.
John:
What other color would you pick?
John:
Mustard yellow is the official metallic mustard.
John:
It's the official German color.
Marco:
I think that should be the deal.
Marco:
If I get to buy you an M3, I get to pick the color, and you have to drive it.
Casey:
Oh, no, that's fine.
Casey:
Just give me the right transmission, for Christ's sakes.
John:
Did you see, by the way, and speaking of the most recent car and driver, more stuff for you, Casey, was that they have the 30 cars under $30,000 section.
Casey:
I don't know if I've gotten this one yet.
John:
It's got the white car snark, 30 cars under 30.
John:
What the hell's on the cover?
John:
It's got hot hatchback story.
John:
I don't remember what's on the cover.
John:
Nothing interesting.
John:
But anyway, my car's right in there in 30 cars under 30.
John:
You should read what they say about it.
John:
They love it.
Casey:
No, they're wrong.
John:
They're not.
John:
I think they called it nearly perfect.
John:
They're definitely wrong.
John:
Not even you agree with that.
John:
I said nearly.
Casey:
All right.
Casey:
I've built my M3, I think.
Casey:
Is it like 75 grand?
Casey:
75 to 50, Marco.
Yeah.
John:
there are too many options on these bmws honda you got like zero choices for anything so it's like well i guess i'm getting this interior color and this like now looking at these leather colors trim colors bmw individual leather and trim it's like i don't know what combinations look good this is the problem with supercars they let you pick everything because they're going to hand build it for you anyway and you're paying them you know half a million dollars but i'll be like i don't know what looks good together it's your job to decide what colors and trims look good together because then you end up with rich people just picking like
John:
random combinations and now you've got a half a million dollar car with nothing that matches in it.
Casey:
All right.
Casey:
Now that I'm depressed because I don't want to spend $73,825 or $968 a month on a M3, I'm going to go to bed.
Marco:
Also, you would never actually pay their listed lease price.
Marco:
You can negotiate way lower than that.
Marco:
Yeah, I know.
Marco:
But still.
Casey:
Just, Marco, go ahead and buy one for me.
Casey:
I'll drive it in black.
Casey:
I don't care.
Casey:
I might even accept it if it had the stupid DCT.
Marco:
That sounds like you're changing your mind a little bit on the DCT.
Casey:
See, that sounds a lot like... No, I'd be willing to suffer through is what I'm saying.
Casey:
I would not choose it myself.
Marco:
No, but I'm saying that sounds a lot like, you know, this fish isn't really that bad.
Marco:
I kind of like this one song.
Marco:
Like, it sounds like you're changing, finally.
Marco:
Like, I'm winning you over there.
John:
I'm proud to tell you that I continue to have never known the title of any fish song.
John:
Would not recognize any fish songs if I heard them.
John:
And despite you two continuing to discuss fish songs by title, now I also do not remember any of the fish songs.
John:
What are you talking about?
John:
I know one by title.
John:
I wouldn't recognize Phish if I heard them on the radio.
John:
I do not know a single title of a single song.
John:
Dave Matthews, unfortunately, I know a few of their top 40 hits.
Casey:
You mispronounced fortunately.
John:
It's my curse.
Casey:
What mispronouncing fortunately?
John:
No, and knowing that Dave Matthews exists and knowing some of their songs.